@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&family=Inter:wght@400;500;600&display=swap");:root{--orange:#ff5c00;--orange-hover:#e85400;--steel:#2f3e46;--steel-light:#4a5e68;--surface:#f2f2f2;--white:#fff;--green:#22c55e;--yellow:#eab308;--red:#ef4444;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background:var(--surface);color:var(--steel);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5{font-family:"Source Serif 4",serif;color:var(--steel)}.page{min-height:100vh;display:flex;flex-direction:column}.hero{background:var(--steel);padding:60px 24px 80px;text-align:center}.hero,.hero h1{color:var(--white)}.hero h1{font-size:2.8rem;font-weight:700;margin-bottom:16px;letter-spacing:-.5px}.hero h1 span{color:var(--orange)}.hero p{font-size:1.15rem;color:hsla(0,0%,100%,.75);max-width:560px;margin:0 auto 40px;line-height:1.6}.search-form{max-width:560px;margin:0 auto;flex-direction:column}.input-row,.search-form{display:flex;gap:12px}.search-form input{flex:1 1;padding:16px 20px;border:2px solid transparent;border-radius:10px;font-size:1rem;font-family:Inter,sans-serif;background:var(--white);color:var(--steel);outline:none;transition:border-color .2s}.search-form input:focus{border-color:var(--orange)}.search-form input::placeholder{color:var(--gray-400)}.btn-scan{padding:16px 40px;background:var(--orange);color:var(--white);border:none;border-radius:10px;font-size:1.05rem;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:background .2s,transform .1s}.btn-scan:hover{background:var(--orange-hover)}.btn-scan:active{transform:scale(.98)}.btn-scan:disabled{background:var(--gray-400);cursor:not-allowed;transform:none}.loading-section{padding:80px 24px;text-align:center}.loading-spinner{width:48px;height:48px;border:4px solid var(--gray-300);border-top-color:var(--orange);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 24px}@keyframes spin{to{transform:rotate(1turn)}}.loading-signals{max-width:400px;margin:32px auto 0;text-align:left}.loading-signal{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:.95rem;color:var(--gray-500);opacity:0;animation:fadeInSignal .4s ease forwards}.loading-signal.active{color:var(--steel);font-weight:500}.loading-signal.done{color:var(--green)}.loading-signal .dot{width:8px;height:8px;border-radius:50%;background:var(--gray-300);flex-shrink:0}.loading-signal.active .dot{background:var(--orange)}.loading-signal.done .dot{background:var(--green)}@keyframes fadeInSignal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.results-section{padding:0 24px 80px;margin-top:-40px}.results-container{max-width:720px;margin:0 auto}.score-card{background:var(--white);border-radius:16px;padding:48px 40px;text-align:center;box-shadow:0 4px 24px rgba(0,0,0,.08);margin-bottom:24px}.business-name{font-size:1.1rem;color:var(--gray-500);margin-bottom:8px;font-weight:500}.business-address{font-size:.9rem;color:var(--gray-400);margin-bottom:32px}.score-ring{position:relative;width:180px;height:180px;margin:0 auto 24px}.score-ring svg{transform:rotate(-90deg);width:180px;height:180px}.score-ring .bg{fill:none;stroke:var(--gray-300);stroke-width:10}.score-ring .progress{fill:none;stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset 1.5s ease}.score-number{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:"Source Serif 4",serif;font-size:3.2rem;font-weight:700;color:var(--steel)}.score-label{font-size:.85rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px}.tier-badge{display:inline-block;padding:6px 20px;border-radius:100px;font-size:.9rem;font-weight:600}.tier-A{background:#fee2e2;color:#b91c1c}.tier-B{background:#fef3c7;color:#a16207}.tier-C{background:#dcfce7;color:#166534}.niche-tag{display:inline-block;margin-top:12px;padding:4px 14px;background:var(--surface);border-radius:100px;font-size:.8rem;color:var(--gray-500)}.signals-grid{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.signal-card{background:var(--white);border-radius:12px;padding:20px 24px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 4px rgba(0,0,0,.05);transition:transform .15s}.signal-card:hover{transform:translateY(-1px)}.signal-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.signal-icon.pass{background:#dcfce7}.signal-icon.fail{background:#fee2e2}.signal-icon.warning{background:#fef3c7}.signal-icon.unknown{background:var(--surface)}.signal-info{flex:1 1}.signal-name{font-weight:600;font-size:.95rem;margin-bottom:4px}.signal-detail{font-size:.85rem;color:var(--gray-500);line-height:1.4}.signal-score{font-family:"Source Serif 4",serif;font-size:1.1rem;font-weight:700;flex-shrink:0}.signal-score.pass{color:var(--green)}.signal-score.fail{color:var(--red)}.signal-score.warning{color:var(--yellow)}.cta-card{background:var(--steel);border-radius:16px;padding:40px;text-align:center;color:var(--white)}.cta-card h3{color:var(--white);font-size:1.6rem;margin-bottom:12px}.cta-card p{color:hsla(0,0%,100%,.7);margin-bottom:24px;line-height:1.6}.btn-cta{display:inline-block;padding:16px 40px;background:var(--orange);color:var(--white);border:none;border-radius:10px;font-size:1.05rem;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;text-decoration:none;transition:background .2s}.btn-cta:hover{background:var(--orange-hover)}.btn-secondary{display:block;margin-top:16px;color:hsla(0,0%,100%,.5);font-size:.85rem;cursor:pointer;background:none;border:none;font-family:Inter,sans-serif;text-decoration:underline}.error-message{text-align:center;padding:40px 24px;color:var(--red);font-weight:500}.footer{text-align:center;padding:32px 24px;font-size:.8rem;color:var(--gray-400);margin-top:auto}.footer a{color:var(--orange);text-decoration:none}@media (max-width:600px){.hero{padding:40px 20px 60px}.hero h1{font-size:1.9rem}.hero p{font-size:1rem}.input-row{flex-direction:column}.score-card{padding:32px 24px}.score-ring,.score-ring svg{width:140px;height:140px}.score-number{font-size:2.4rem}.signal-card{padding:16px 18px}.cta-card{padding:32px 24px}}