*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--primary-50:#eff6ff;--primary-100:#dbeafe;--primary-200:#bfdbfe;--primary-300:#93c5fd;--primary-400:#60a5fa;--primary-500:#3b82f6;--primary-600:#2563eb;--primary-700:#1d4ed8;--primary-800:#1e40af;--primary-900:#1e3a5f;--primary-950:#0c1e3a;--accent-50:#fff7ed;--accent-100:#ffedd5;--accent-200:#fed7aa;--accent-300:#fdba74;--accent-400:#fb923c;--accent-500:#f97316;--accent-600:#ea580c;--accent-700:#c2410c;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--red-50:#fef2f2;--red-500:#ef4444;--red-600:#dc2626;--green-50:#f0fdf4;--green-100:#dcfce7;--green-500:#22c55e;--green-600:#16a34a;--green-700:#15803d;--amber-50:#fffbeb;--amber-500:#f59e0b;--amber-600:#d97706;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0,0,0,0.04);--shadow-sm:0 1px 3px rgba(0,0,0,0.06),0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.07),0 2px 4px -2px rgba(0,0,0,0.05);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.07),0 4px 6px -4px rgba(0,0,0,0.04);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.08),0 8px 10px -6px rgba(0,0,0,0.03);--font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--font-mono:'SF Mono','Fira Code',monospace}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font);color:var(--gray-300);background:var(--primary-950);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent-400);text-decoration:none;transition:color 0.15s ease}a:hover{color:var(--accent-300)}img{max-width:100%;display:block}h1,h2,h3,h4{color:var(--accent-400);line-height:1.25;font-weight:700;letter-spacing:-0.02em}h1{font-size:2.25rem;margin-bottom:0.75rem}h2{font-size:1.5rem;margin-bottom:0.625rem;margin-top:2.5rem}h3{font-size:1.2rem;margin-bottom:0.5rem}h4{font-size:1.05rem;margin-bottom:0.4rem}p{margin-bottom:1rem;color:var(--gray-300);line-height:1.7}ul,ol{margin-bottom:1rem;padding-left:1.5rem;color:var(--gray-300)}li{margin-bottom:0.35rem;line-height:1.65}strong{color:#fff;font-weight:600}small{font-size:0.85rem;color:var(--gray-400)}.container{max-width:1120px;margin:0 auto;padding:0 1.5rem}main.container{padding-top:0.5rem}section{margin-bottom:3.5rem}hr{border:none;border-top:1px solid rgba(255,255,255,0.08);margin:2rem 0}button,[role="button"],.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.7rem 1.5rem;font-size:0.95rem;font-weight:600;font-family:var(--font);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all 0.15s ease;text-decoration:none;line-height:1.4}button,[role="button"]:not(.outline),.btn-primary{background:var(--accent-500);color:#fff}button:hover,[role="button"]:not(.outline):hover,.btn-primary:hover{background:var(--accent-600);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgba(249,115,22,0.25)}.outline,.btn-outline{background:transparent;color:var(--primary-600);border:1.5px solid var(--primary-200);box-shadow:none}.outline:hover,.btn-outline:hover{background:var(--primary-50);color:var(--primary-700);border-color:var(--primary-300)}input,select,textarea{width:100%;padding:0.7rem 0.95rem;font-size:0.95rem;font-family:var(--font);border:1.5px solid rgba(255,255,255,0.12);border-radius:var(--radius-md);background:rgba(255,255,255,0.06);color:#fff;transition:border-color 0.15s ease,box-shadow 0.15s ease;margin-bottom:1rem}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-400);box-shadow:0 0 0 3px rgba(249,115,22,0.15)}label{display:block;font-size:0.9rem;font-weight:600;color:var(--gray-300);margin-bottom:0.35rem}label input,label select,label textarea{margin-top:0.3rem}.grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}input[type="checkbox"]{width:auto;margin-bottom:0;accent-color:var(--accent-500)}table{width:100%;border-collapse:separate;border-spacing:0;margin-bottom:1.5rem;font-size:0.93rem;border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.04)}th,td{text-align:left;padding:0.8rem 1.1rem}th{background:rgba(255,255,255,0.06);font-weight:600;color:var(--accent-400);font-size:0.82rem;text-transform:uppercase;letter-spacing:0.04em;border-bottom:1px solid rgba(255,255,255,0.08)}td{border-bottom:1px solid rgba(255,255,255,0.05);color:var(--gray-300)}tr:last-child td{border-bottom:none}tr:hover td{background:rgba(255,255,255,0.04)}header{position:sticky;top:0;z-index:100;background:rgba(12,30,58,0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,0.08)}header .container{display:flex;align-items:center;justify-content:space-between;padding-top:0;padding-bottom:0}header nav{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0.75rem 0}header nav ul{display:flex;align-items:center;gap:0.15rem;list-style:none;padding:0;margin:0}header nav li{margin-bottom:0}header nav a{padding:0.45rem 0.8rem;border-radius:var(--radius-md);font-size:0.88rem;font-weight:500;color:var(--gray-300);transition:all 0.15s ease}header nav a:hover{color:#fff;background:rgba(255,255,255,0.08)}.site-logo{font-size:1.15rem !important;font-weight:700 !important;color:var(--accent-400) !important;letter-spacing:-0.02em}.site-logo strong{color:var(--accent-400);-webkit-text-fill-color:var(--accent-400)}.site-logo:hover{background:transparent !important}.cta-btn{background:var(--accent-500) !important;color:#fff !important;font-weight:600 !important;border-radius:var(--radius-md) !important;padding:0.45rem 1.1rem !important;font-size:0.85rem !important}.cta-btn:hover{background:var(--accent-600) !important;color:#fff !important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(249,115,22,0.2) !important}.menu-toggle{display:none;background:none !important;border:none;padding:0.5rem;cursor:pointer;color:var(--gray-300);box-shadow:none !important;transform:none !important}.menu-toggle:hover{background:rgba(255,255,255,0.08) !important;border-radius:var(--radius-md);box-shadow:none !important;transform:none !important}.menu-toggle svg{display:block;width:24px;height:24px}.hero{background:linear-gradient(160deg,var(--primary-950) 0%,var(--primary-900) 40%,var(--primary-800) 100%);color:#fff;padding:5rem 2rem 4.5rem;text-align:center;border-radius:var(--radius-2xl);margin:1.25rem 0 2.5rem;position:relative;overflow:hidden}.hero::before{content:'';position:absolute;top:-40%;right:-15%;width:500px;height:500px;background:radial-gradient(circle,rgba(249,115,22,0.08) 0%,transparent 65%);border-radius:50%}.hero::after{content:'';position:absolute;bottom:-35%;left:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(59,130,246,0.1) 0%,transparent 65%);border-radius:50%}.hero h1{color:#fff;font-size:2.75rem;font-weight:800;letter-spacing:-0.03em;margin-bottom:0.75rem;position:relative;z-index:1;line-height:1.15}.hero p{color:rgba(255,255,255,0.8);font-size:1.15rem;margin-bottom:2rem;position:relative;z-index:1;max-width:560px;margin-left:auto;margin-right:auto;line-height:1.6}.hero-image{background:linear-gradient(160deg,rgba(12,30,58,0.93) 0%,rgba(30,58,95,0.9) 40%,rgba(30,64,175,0.85) 100%),url('/img/hero-grease-trap.jpg');background-size:cover;background-position:center;padding:5.5rem 2rem 5rem}.hero-trust{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:1.75rem;position:relative;z-index:1;flex-wrap:wrap}.hero-trust span{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.82rem;color:rgba(255,255,255,0.65);font-weight:500}.search-box{max-width:560px;margin:0 auto;display:flex;gap:0;background:#fff;border-radius:var(--radius-lg);padding:0.35rem;box-shadow:0 20px 40px -12px rgba(0,0,0,0.2);position:relative;z-index:1}.search-box input{flex:1;border:none;background:transparent;padding:0.8rem 1.1rem;font-size:1rem;margin-bottom:0;color:var(--gray-800)}.search-box input:focus{outline:none;box-shadow:none;border:none}.search-box input::placeholder{color:var(--gray-400)}.search-box button{background:var(--accent-500);color:#fff;border:none;border-radius:var(--radius-md);padding:0.75rem 1.5rem;font-weight:600;font-size:0.95rem;cursor:pointer;margin-bottom:0;white-space:nowrap;box-shadow:none}.search-box button:hover{background:var(--accent-600);box-shadow:none;transform:none}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin:2rem 0 3rem}.stats-row > div{text-align:center;padding:1.75rem 1rem;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-lg);box-shadow:none;transition:all 0.2s ease}.stats-row > div:hover{background:rgba(255,255,255,0.07);transform:translateY(-2px)}.stat-number{display:block;font-size:2.5rem;font-weight:800;color:var(--accent-400);line-height:1.1;letter-spacing:-0.02em}.stat-label{display:block;font-size:0.78rem;font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:0.06em;margin-top:0.35rem}.section-header{text-align:center;margin-bottom:2rem}.section-header h2{margin-top:0;margin-bottom:0.5rem}.section-header p{max-width:520px;margin:0 auto;font-size:1rem}.how-it-works{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:1.5rem 0}.step{text-align:center;padding:2.25rem 1.5rem;background:rgba(255,255,255,0.04);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,0.08);transition:all 0.2s ease}.step:hover{background:rgba(255,255,255,0.07);transform:translateY(-3px);border-color:var(--accent-500)}.step-num{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--accent-500);color:#fff;border-radius:14px;font-size:1.2rem;font-weight:800;margin-bottom:1rem}.step h3{font-size:1.1rem;margin-bottom:0.5rem;color:#fff}.step p{font-size:0.9rem;color:var(--gray-400);margin-bottom:0;line-height:1.6}.link-grid{display:flex;flex-wrap:wrap;gap:0.45rem;margin:1rem 0}.link-grid a{display:inline-block;padding:0.4rem 0.85rem;background:rgba(255,255,255,0.05);border-radius:var(--radius-full);font-size:0.84rem;font-weight:500;color:var(--gray-300);transition:all 0.15s ease;border:1px solid rgba(255,255,255,0.1)}.link-grid a:hover{background:var(--accent-500);color:#fff;border-color:var(--accent-500)}.cta-section{background:rgba(249,115,22,0.08);padding:3.5rem 2rem;border-radius:var(--radius-2xl);text-align:center;margin:3.5rem 0;border:1px solid rgba(249,115,22,0.15)}.cta-section h2,.cta-section h3{margin-bottom:0.5rem;margin-top:0;color:var(--accent-400)}.cta-section p{margin-bottom:1.25rem;color:var(--gray-300);max-width:480px;margin-left:auto;margin-right:auto;font-size:1rem}.company-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1rem;transition:all 0.2s ease}.company-card:hover{border-color:var(--accent-400);background:rgba(255,255,255,0.07);transform:translateY(-2px)}.card-header{margin-bottom:0.75rem}.card-header h3{font-size:1.15rem;margin-bottom:0.15rem}.card-header h3 a{color:#fff;transition:color 0.15s ease}.card-header h3 a:hover{color:var(--accent-400)}.card-location{font-size:0.85rem;color:var(--gray-400)}.company-years{margin-left:0.5rem;font-size:0.78rem;color:var(--gray-500);font-style:italic}.star-rating{display:flex;align-items:center;gap:0.35rem;margin-top:0.3rem}.stars{display:inline-flex;gap:1px}.star{display:inline-block;width:16px;height:16px;background-repeat:no-repeat;background-size:contain}.star.full{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f59e0b'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E")}.star.half{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3ClinearGradient id='h'%3E%3Cstop offset='50%25' stop-color='%23f59e0b'/%3E%3Cstop offset='50%25' stop-color='%23d1d5db'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z' fill='url(%23h)'/%3E%3C/svg%3E")}.star.empty{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23d1d5db'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E")}.rating-num{font-size:0.85rem;font-weight:600;color:var(--gray-200)}.review-count{font-size:0.8rem;color:var(--gray-400)}.company-subtitle + .star-rating{margin-bottom:1rem}.card-services{margin:0.75rem 0 0.5rem}.card-availability{margin:0.5rem 0}.card-actions{display:flex;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.08)}.company-phone{font-size:1.05rem;font-weight:700;color:var(--accent-400);letter-spacing:-0.01em;transition:color 0.15s ease}.company-phone:hover{color:var(--accent-300)}.cta-sm{font-size:0.82rem !important;padding:0.4rem 1rem !important;margin-bottom:0 !important;font-weight:600 !important}.badge{display:inline-block;padding:0.25rem 0.6rem;border-radius:var(--radius-full);font-size:0.73rem;font-weight:600;background:rgba(59,130,246,0.12);color:var(--primary-300);margin:0.15rem;letter-spacing:0.01em;border:1px solid rgba(59,130,246,0.2)}.badge-emergency{background:rgba(239,68,68,0.12);color:#f87171;border-color:rgba(239,68,68,0.2)}.badge-avail{background:rgba(249,115,22,0.12);color:var(--accent-300);border-color:rgba(249,115,22,0.2)}.badge-trust{background:rgba(22,163,74,0.12);color:#4ade80;border-color:rgba(22,163,74,0.2)}.company-subtitle{font-size:1.05rem;color:var(--gray-400);margin-top:-0.25rem;margin-bottom:1.5rem}.company-contact{background:rgba(255,255,255,0.04);padding:1.5rem;border-radius:var(--radius-lg);margin:1.5rem 0;border:1px solid rgba(255,255,255,0.08)}.company-contact p{margin-bottom:0.5rem;color:var(--gray-300)}.company-contact p:last-child{margin-bottom:0}.company-contact a{font-weight:600}.search-filters{background:rgba(255,255,255,0.04);padding:1.5rem;border-radius:var(--radius-lg);margin-bottom:2rem;border:1px solid rgba(255,255,255,0.08)}.search-main input{font-size:1.05rem;padding:0.85rem 1.1rem;margin-bottom:0.75rem;border-radius:var(--radius-md)}.filter-row{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.filter-row select{max-width:240px;margin-bottom:0;padding:0.5rem 0.8rem;font-size:0.9rem;border-radius:var(--radius-md)}.filter-row label{display:flex;align-items:center;gap:0.4rem;font-size:0.88rem;font-weight:500;white-space:nowrap;margin-bottom:0;cursor:pointer;color:var(--gray-400);transition:color 0.15s ease}.filter-row label:hover{color:#fff}.filter-row input[type="checkbox"]{margin-bottom:0}#results-count{font-size:0.9rem;font-weight:500;color:var(--gray-500);margin-bottom:1rem}details{border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-md);padding:0;margin-bottom:0.5rem;background:rgba(255,255,255,0.04);transition:border-color 0.15s ease,box-shadow 0.15s ease}details[open]{border-color:var(--accent-500)}details summary{cursor:pointer;font-weight:600;font-size:0.95rem;color:var(--gray-200);padding:1rem 1.25rem;list-style:none;display:flex;align-items:center;transition:color 0.15s ease}details summary:hover{color:var(--accent-400)}details summary::-webkit-details-marker{display:none}details summary::before{content:'+';display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:rgba(255,255,255,0.08);color:var(--gray-400);font-size:0.95rem;font-weight:700;margin-right:0.75rem;flex-shrink:0;transition:all 0.15s ease}details[open] summary::before{content:'\2212';background:rgba(249,115,22,0.15);color:var(--accent-400)}details p{padding:0 1.25rem 1rem;margin-top:0;color:var(--gray-400);font-size:0.93rem;line-height:1.7}footer{background:rgba(0,0,0,0.2);margin-top:4rem;padding-top:3rem;padding-bottom:2rem;border-top:1px solid rgba(255,255,255,0.06)}footer hr{border-top-color:rgba(255,255,255,0.06);margin:0 0 2.5rem}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2.5rem;margin-bottom:2.5rem}.footer-grid h4{font-size:0.78rem;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:0.85rem}.footer-grid ul{list-style:none;padding:0;margin:0}.footer-grid li{margin-bottom:0.45rem}.footer-grid a{font-size:0.9rem;color:var(--gray-400);font-weight:400;transition:color 0.15s ease}.footer-grid a:hover{color:#fff}footer small{display:block;text-align:center;color:var(--gray-500);padding-top:2rem;border-top:1px solid rgba(255,255,255,0.08);font-size:0.8rem}footer small a{color:var(--gray-500)}footer small a:hover{color:var(--accent-400)}article{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.25rem;transition:all 0.15s ease}article:hover{background:rgba(255,255,255,0.07);border-color:var(--accent-400)}article h3 a{color:#fff}article h3 a:hover{color:var(--accent-400)}blockquote{border-left:4px solid var(--accent-400);padding:1rem 1.25rem;margin:1.25rem 0;background:rgba(249,115,22,0.08);border-radius:0 var(--radius-md) var(--radius-md) 0}blockquote p{margin:0;color:var(--gray-300)}code{background:rgba(255,255,255,0.08);padding:0.15em 0.4em;border-radius:4px;font-size:0.88em;font-family:var(--font-mono);color:var(--accent-400)}nav[aria-label="breadcrumb"] ul{list-style:none;display:flex;gap:0;padding:0;margin:0 0 1.5rem;font-size:0.84rem}nav[aria-label="breadcrumb"] li{margin-bottom:0}nav[aria-label="breadcrumb"] a{color:var(--gray-500);font-weight:500;transition:color 0.15s ease}nav[aria-label="breadcrumb"] a:hover{color:var(--accent-400)}@media (max-width:768px){.menu-toggle{display:block}header nav{position:relative}header nav > ul:first-child{}header nav > ul:last-child{display:none;position:absolute;top:100%;left:-1.5rem;right:-1.5rem;background:var(--primary-950);border-bottom:1px solid rgba(255,255,255,0.08);box-shadow:0 10px 30px rgba(0,0,0,0.3);flex-direction:column;padding:0.75rem 1.5rem 1rem;gap:0.1rem;z-index:200}header nav > ul:last-child.open{display:flex}header nav > ul:last-child li{width:100%}header nav > ul:last-child a{display:block;padding:0.6rem 0.5rem;font-size:0.92rem;border-radius:var(--radius-md)}header nav > ul:last-child .cta-btn{text-align:center;margin-top:0.35rem}.hero,.hero-image{padding:3.5rem 1.5rem 3rem;border-radius:var(--radius-xl);margin:0.75rem 0 2rem}.hero h1{font-size:1.85rem;line-height:1.15}.hero p{font-size:1rem}.search-box{flex-direction:column;padding:0.4rem;border-radius:var(--radius-md)}.search-box input{padding:0.75rem}.search-box button{width:100%;justify-content:center}.stats-row{grid-template-columns:repeat(2,1fr);gap:0.75rem}.stats-row > div{padding:1.25rem 0.75rem}.stat-number{font-size:2rem}.how-it-works{grid-template-columns:1fr;gap:0.85rem}.step{padding:1.5rem 1.25rem}.card-actions{flex-direction:column;align-items:stretch}.card-actions a[role="button"]{text-align:center}.filter-row{flex-direction:column;align-items:stretch}.filter-row select{max-width:100%}.grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.cta-section{padding:2.5rem 1.5rem}h1{font-size:1.65rem}h2{font-size:1.3rem}section{margin-bottom:2.5rem}.hero-trust{gap:0.75rem}.hero-trust span{font-size:0.75rem}}@media (max-width:480px){.stats-row{grid-template-columns:1fr 1fr}.stat-number{font-size:1.75rem}.hero h1{font-size:1.5rem}.footer-grid{grid-template-columns:1fr}.company-card{padding:1.25rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}