/*
Theme Name: Oliver Pest Control
Theme URI: https://www.oliverpestcontrol.com/
Author: Oliver Pest Control
Description: A People Service Company. Modern, high-converting theme for Oliver Pest Control, Austin TX since 1947.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: oliver
*/
:root{--navy:#0d2b45;--navy-deep:#081d30;--green:#1f9d5c;--green-soft:#e3f5ea;--gray:#f2f5f8;--line:#dfe5ec;--text:#1d3349;--muted:#5e7287;--r:16px;--shadow:0 1px 2px rgba(13,43,69,.06),0 12px 32px -12px rgba(13,43,69,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Figtree,system-ui,sans-serif;color:var(--text);background:#fafbfd;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Bricolage Grotesque",sans-serif;color:var(--navy);letter-spacing:-.02em;line-height:1.15;margin:0 0 .5em}
a{color:var(--green);text-decoration:none}img{max-width:100%;height:auto}
.wrap{max-width:1216px;margin:0 auto;padding:0 20px}
.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.btn{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;font:600 1rem Figtree,sans-serif;padding:14px 26px;border-radius:999px;transition:.2s}
.btn-cta{background:var(--green);color:#fff;box-shadow:0 10px 30px -10px rgba(31,157,92,.6)}.btn-cta:hover{transform:translateY(-2px);color:#fff}
.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.3)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,251,253,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.logo{display:flex;align-items:center;gap:10px;color:var(--navy)}.logo-mark{width:40px;height:40px;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center;font:700 1.1rem "Bricolage Grotesque"}
.logo strong{display:block;font-family:"Bricolage Grotesque"}.logo small{display:block;font-size:11px;color:var(--muted)}
.main-nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}.main-nav a{color:var(--text);font-weight:500;font-size:.92rem}.main-nav a:hover{color:var(--green)}
.nav-toggle{display:none;background:none;border:0;font-size:1.6rem}
@media(max-width:1100px){.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:16px 20px;border-bottom:1px solid var(--line)}.main-nav.open{display:block}.main-nav ul{flex-direction:column;gap:10px}.nav-toggle{display:block}.header-call .btn-text{display:none}}
.hero,.page-hero,.band{background:radial-gradient(ellipse at 80% 20%,#1a4a70 0,transparent 55%),linear-gradient(160deg,var(--navy),var(--navy-deep));color:#fff}
.hero h1,.page-hero h1,.band h2{color:#fff}.hero h1{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:800}.hero h1 span{color:#3fcf86}
.hero .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding:88px 20px}.hero p.lead{font-size:1.15rem;opacity:.85;max-width:560px}
.hero img{border-radius:24px;box-shadow:0 30px 60px rgba(0,0,0,.35)}.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.page-hero .wrap{padding:80px 20px}.page-hero p{opacity:.8;max-width:640px;font-size:1.1rem}
.trust{background:#fff;border-block:1px solid var(--line)}.trust ul{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none;margin:0;padding:24px 0}
.trust li{display:flex;align-items:center;gap:12px;font-weight:600;color:var(--navy);font-size:.92rem}.trust li span{width:40px;height:40px;border-radius:50%;background:var(--green-soft);display:grid;place-items:center}
section.block{padding:96px 0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow);transition:.2s}.card:hover{transform:translateY(-4px)}
.card .icon{width:56px;height:56px;border-radius:16px;background:var(--green-soft);display:grid;place-items:center;font-size:1.8rem}.card p{color:var(--muted);font-size:.95rem}
.step{background:var(--gray);border-radius:var(--r);padding:32px;position:relative}.step b{position:absolute;top:-16px;left:32px;width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center}
.band .wrap{padding:80px 20px}.stars{color:var(--green)}
.areas-faq{background:var(--gray)}.map-box{background:#fff;border-radius:24px;box-shadow:var(--shadow);aspect-ratio:1}
.chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0}.chips li{background:#fff;border-radius:999px;padding:4px 10px;font-size:.8rem}
details.faq{background:#fff;border-bottom:1px solid var(--line);padding:18px 22px}details.faq:first-child{border-radius:16px 16px 0 0}details.faq:last-child{border-radius:0 0 16px 16px}
details.faq summary{cursor:pointer;font-weight:600;color:var(--navy);list-style:none}details.faq p{color:var(--muted);margin:.8em 0 0}
.form{display:grid;gap:12px}.form input,.form select,.form textarea{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}
.notice{padding:12px 16px;border-radius:10px;background:var(--green-soft);color:var(--navy);font-weight:600;margin-bottom:16px}
.modal{position:fixed;inset:0;background:rgba(8,29,48,.6);display:none;align-items:center;justify-content:center;z-index:100;padding:20px}.modal.open{display:flex}
.modal-inner{background:#fff;border-radius:20px;padding:32px;max-width:480px;width:100%;position:relative}.modal-close{position:absolute;top:12px;right:16px;background:none;border:0;font-size:1.5rem;cursor:pointer}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.filters a{padding:6px 14px;border-radius:999px;border:1px solid var(--line);color:var(--navy);font-size:.88rem}.filters a.active{background:var(--navy);color:#fff}
.tag{background:var(--green-soft);color:var(--green);padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700}
.single-layout{display:grid;grid-template-columns:1fr 340px;gap:48px;padding:56px 0}.sticky-side{position:sticky;top:96px}
.takeaways{background:var(--green-soft);border-left:4px solid var(--green);border-radius:16px;padding:24px;margin:32px 0}
.mid-cta{background:var(--navy);color:#fff;border-radius:16px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:32px 0}.mid-cta p{margin:0;font:700 1.2rem "Bricolage Grotesque"}
.author-box{display:flex;gap:16px;border:1px solid var(--line);background:#fff;border-radius:16px;padding:24px;margin-top:48px}.author-box .av{width:56px;height:56px;flex-shrink:0;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700}
.entry-content{font-size:1.1rem}
.site-footer{background:var(--navy-deep);color:rgba(255,255,255,.8)}.site-footer .wrap{display:grid;grid-template-columns:repeat(5,1fr);gap:40px;padding:64px 20px}
.site-footer h3{color:#fff;font-size:1rem}.site-footer a{color:#fff}.site-footer .copy{text-align:center;font-size:.8rem;padding:20px;border-top:1px solid rgba(255,255,255,.1)}
.site-footer .logo{color:#fff}.site-footer .logo small{color:rgba(255,255,255,.6)}
@media(max-width:900px){.hero .wrap,.grid-2,.single-layout{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}.trust ul,.site-footer .wrap{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid-3{grid-template-columns:1fr}}

/* Glossy brand social badges */
.social-icons{display:flex;gap:6px;align-items:center}
.social-icons a{position:relative;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;overflow:hidden;box-shadow:inset 0 -2px 3px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.45),0 2px 6px -1px rgba(0,0,0,.3);transition:.2s}
.social-icons a::before{content:"";position:absolute;inset:1px 3px 50% 3px;border-radius:999px 999px 40% 40%;background:linear-gradient(rgba(255,255,255,.6),rgba(255,255,255,.05))}
.social-icons a:hover{transform:translateY(-2px) scale(1.06);color:#fff}
.social-icons svg{position:relative;width:14px;height:14px}
.sb-facebook{background:linear-gradient(#3b8cff,#1877f2 55%,#0e5ccc)}.sb-google{background:linear-gradient(#6aa3ff,#4285f4 55%,#2a66d1)}
.sb-nextdoor{background:linear-gradient(#2bd16a,#00b246 55%,#008f37)}.sb-yelp{background:linear-gradient(#f04848,#d32323 55%,#a81a1a)}
.sb-instagram{background:radial-gradient(circle at 30% 110%,#feda75 0,#fa7e1e 25%,#d62976 50%,#962fbf 75%,#4f5bd5 100%)}
.footer-nav a{display:block;margin:4px 0}
@media (max-width:600px){.header-call .social-icons{display:none}.main-nav .social-icons{display:flex;justify-content:center;margin-top:12px}}
/* Centered section headings + mobile polish */
.block>.wrap>.eyebrow,.block>.wrap>h2{text-align:center;margin-inline:auto;max-width:720px}
.page-hero .wrap{text-align:center}.page-hero p{margin-inline:auto}
.trust li{justify-content:center}
@media(max-width:900px){.hero .wrap{padding:56px 20px;gap:32px}section.block{padding:64px 0}}
@media(max-width:600px){.trust ul,.site-footer .wrap{grid-template-columns:1fr}.site-footer .wrap{text-align:center}.cta-row .btn{width:100%;justify-content:center}.hero h1{font-size:2.4rem}}
