@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@700;800;900&family=Karla:wght@400;600;700&display=swap');
/* AttoBid S88 bath theme — Greenix-language redesign, teal+sand */
:root{--ink:#2b211b;--muted:#6e5f55;--green:#8a4b2f;--green-2:#a96a44;--lime:#e6c194;--cream:#f7f1e8;--mint:#f3edea;--white:#fff;--line:#ece2de;--danger:#8f2f2f;--deep:#613421;--shadow:0 18px 50px rgba(138,75,47,.14);--radius:20px;--container:1180px;--line-strong:#f0e8e4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Karla,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}img,svg{max-width:100%}a{color:var(--green);text-decoration-thickness:.08em;text-underline-offset:.16em}button,input,select,textarea{font:inherit}.container{width:min(calc(100% - 36px),var(--container));margin-inline:auto}.narrow{max-width:820px}.hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:absolute;left:12px;top:-80px;background:#fff;padding:10px 14px;z-index:1000}.skip-link:focus{top:12px}.staging-bar{font-size:.79rem;text-align:center;background:#7a3e00;color:#fff4df;padding:7px 16px;font-weight:800}.disclosure-bar{font-size:.79rem;text-align:center;background:var(--deep);color:#f0e8e4;padding:7px 16px}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(223,229,224,.9)}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;line-height:1.15;font-family:Archivo,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-weight:800}.brand strong{display:block;font-size:1.08rem}.brand small{display:block;color:var(--muted);font-size:.72rem;margin-top:3px;font-family:Karla,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-weight:600}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--green);color:var(--lime)}.brand-mark svg{width:26px;height:26px;fill:currentColor}.main-nav{display:flex;align-items:center;gap:23px;font-family:Archivo,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}.main-nav>a{font-weight:800;font-size:.93rem;text-decoration:none;color:var(--ink)}.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;background:var(--green);color:#fff!important;text-decoration:none;font-weight:800;font-family:Archivo,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;padding:13px 21px;cursor:pointer;box-shadow:0 8px 24px rgba(138,75,47,.16)}.button:hover{background:var(--green-2)}.button-small{padding:9px 15px!important;font-size:.86rem!important}.button-secondary{background:#fff;color:var(--green)!important;border:1px solid var(--green);box-shadow:none}.button-ghost{background:transparent;color:var(--green)!important;border:1px solid var(--line);box-shadow:none}.hero,.page-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--cream),#fff 52%,var(--mint));padding:72px 0}.hero-home{padding:60px 0 52px}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:64px}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:800;font-family:Archivo,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--green);margin-bottom:12px}h1,h2,h3{line-height:1.08;letter-spacing:-.035em;margin:0 0 16px;font-family:Archivo,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-weight:800}h1{font-size:clamp(2.55rem,5vw,4.45rem);max-width:16ch}h2{font-size:clamp(1.8rem,4vw,3.2rem)}h3{font-size:1.25rem}.lead{font-size:1.2rem;color:var(--muted);max-width:720px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.trust-row{display:flex;flex-wrap:wrap;gap:18px;font-weight:800;font-size:.86rem;color:var(--green)}.trust-row span{display:flex;align-items:center;gap:7px}.trust-row svg,.card-icon svg,.source-note svg{width:19px;height:19px;fill:currentColor}.hero-visual{position:relative;min-height:440px;border-radius:36px;background:linear-gradient(145deg,#613421,#8a4b2f 55%,#a96a44);overflow:hidden;box-shadow:var(--shadow)}.sun{position:absolute;width:180px;height:180px;border-radius:50%;background:var(--mint);right:-30px;top:-30px;opacity:.55;box-shadow:0 0 60px rgba(238,245,242,.45)}.florida-shape{display:none}.home-badge{position:absolute;left:30px;bottom:30px;right:30px;background:#fff;border-radius:22px;padding:22px;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:center}.home-badge .brand-mark{grid-row:1/3}.home-badge strong{font-size:1.05rem}.home-badge small{color:var(--muted)}.proof-strip{background:linear-gradient(120deg,var(--green),var(--deep));color:#fff}.proof-strip .container{display:grid;grid-template-columns:repeat(4,1fr)}.proof-strip .container>div{padding:22px;border-right:1px solid rgba(255,255,255,.16);display:flex;align-items:baseline;gap:9px}.proof-strip strong{font-size:1.8rem;color:var(--lime)}.proof-strip span{font-size:.85rem;color:#eadfda}.section{padding:88px 0}.section-tint{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px}.section-heading>p{max-width:500px;color:var(--muted)}.card-grid{display:grid;gap:20px}.cols-2{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:0 8px 28px rgba(138,75,47,.06)}.card p{color:var(--muted)}.city-card{display:grid;grid-template-columns:auto 1fr;gap:18px}.city-card .card-icon{width:42px;height:42px;border-radius:13px;background:var(--mint);display:grid;place-items:center;color:var(--green)}.pill{display:inline-block;font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;font-family:Archivo,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--lime);color:var(--green);border-radius:999px;padding:5px 8px;margin-bottom:10px}.text-link{font-weight:800;text-decoration:none}.pest-grid,.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.pest-tile,.project-tile{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;border:1px solid var(--line);border-radius:17px;padding:18px;background:#fff;text-decoration:none;color:var(--ink)}.pest-tile,.project-tile>span{grid-row:1/3;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--cream);font-size:1.3rem;color:var(--green)}.pest-tile,.project-tile small{color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.callout,.notice{background:var(--cream);border-left:5px solid var(--green-2);border-radius:0 var(--radius) var(--radius) 0;padding:26px}.check-list,.feature-list{list-style:none;padding:0;margin:20px 0}.check-list li,.feature-list li{position:relative;padding:8px 0 8px 29px}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}.feature-list li:before{content:"•";position:absolute;left:5px;color:var(--green);font-size:1.4rem;line-height:1}.feature-list.warning li:before{content:"!";font-size:1rem;font-weight:800;color:var(--danger)}.process-stack{display:grid;gap:13px}.process-stack>div{display:flex;gap:15px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}.process-stack>div>span,.question-list li>span,.number-list li>span{width:35px;height:35px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:800;flex:0 0 auto}.process-stack small{display:block;color:var(--muted)}.source-note{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;background:var(--green);color:#fff;border-radius:24px;padding:30px}.source-note>div:first-child{width:50px;height:50px;border-radius:15px;background:var(--lime);color:var(--green);display:grid;place-items:center}.source-note p{color:#eadfda}.source-note a{color:var(--lime)}.breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:.78rem;margin-bottom:25px;color:var(--muted)}.breadcrumbs a{color:var(--muted)}.market-score{background:linear-gradient(150deg,var(--green),var(--deep));color:#fff;border-radius:24px;padding:27px;box-shadow:var(--shadow)}.market-score>span{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:#e1d0c9}.market-score>strong{display:block;color:var(--lime);font-size:1.85rem;line-height:1.1;margin:5px 0 18px}.market-score dl{margin:0}.market-score dl div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-top:1px solid rgba(255,255,255,.14)}.market-score dt{color:#e1d0c9}.market-score dd{font-weight:800;margin:0}.metric-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric-panel div{border:1px solid var(--line);border-radius:16px;padding:17px;background:#fff}.metric-panel strong,.metric-panel span{display:block}.metric-panel span{color:var(--muted);font-size:.86rem}.market-list{list-style:none;padding:0}.market-list li a{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);text-decoration:none}.market-list span{color:var(--muted)}.number-list{list-style:none;padding:0}.number-list li{display:flex;gap:14px;margin:19px 0}.number-list p{margin:5px 0;color:var(--muted)}.link-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.link-grid a{display:block;border:1px solid var(--line);border-radius:16px;background:#fff;padding:19px;text-decoration:none;color:var(--ink)}.link-grid a strong,.link-grid a span{display:block}.link-grid a span{color:var(--muted);font-size:.9rem;margin-top:5px}.link-grid.compact{grid-template-columns:repeat(5,1fr)}.pest-symbol,.project-symbol{display:grid;place-items:center;width:70px;height:70px;border-radius:24px;background:var(--green);color:var(--lime);font-size:2rem;margin-bottom:20px}.question-list{list-style:none;padding:0}.question-list li{display:flex;gap:13px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.source-caption,.microcopy{font-size:.82rem;color:var(--muted)}.comparison-table{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}table{width:100%;border-collapse:collapse;min-width:760px}tbody tr:nth-child(even) td{background:var(--mint)}th,td{text-align:left;padding:16px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--green);color:#fff}.numbered-cards{display:grid;gap:20px}.numbered-cards article{display:grid;grid-template-columns:auto 1fr;gap:22px;border:1px solid var(--line);border-radius:20px;padding:28px;background:#fff}.numbered-cards article>span{font-size:2rem;font-weight:800;font-family:Archivo,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--green);background:var(--lime);width:55px;height:55px;border-radius:17px;display:grid;place-items:center}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.process-grid>div{background:var(--mint);border-radius:18px;padding:23px}.process-grid>div>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--green);color:#fff;font-weight:800;margin-bottom:18px}.quote-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;background:linear-gradient(140deg,var(--green),var(--deep));color:#fff;border-radius:28px;padding:34px;margin:44px auto 0;box-shadow:var(--shadow)}.quote-copy p,.quote-copy .microcopy{color:#eadfda}.quote-copy .eyebrow{color:var(--lime)}.quote-card .check-list li:before{color:var(--lime)}.quote-form{background:#fff;color:var(--ink);border-radius:21px;padding:27px}.quote-form fieldset{border:0;padding:0;margin:0}.quote-form legend{font-size:1.3rem;font-weight:800;font-family:Archivo,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;margin-bottom:18px}.form-progress{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;margin-bottom:22px;font-size:.75rem;font-weight:800;color:var(--green)}.form-progress>div{height:7px;background:var(--mint);border-radius:99px;overflow:hidden}.form-progress i{display:block;width:25%;height:100%;background:var(--green);border-radius:inherit;transition:width .25s}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:17px}.choice-grid label{cursor:pointer}.choice-grid input{position:absolute;opacity:0}.choice-grid span{display:block;border:1px solid var(--line);border-radius:12px;padding:11px 13px;font-weight:800}.choice-grid input:checked+span{border-color:var(--green);background:var(--mint);box-shadow:inset 0 0 0 1px var(--green)}.field{display:grid;gap:6px;margin:15px 0}.field>span{font-size:.85rem;font-weight:800}.field input,.field select,.field textarea{width:100%;border:1px solid #decdc5;border-radius:11px;padding:12px;background:#fff;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(143,214,203,.55);border-color:var(--green)}.field small{font-size:.75rem;color:var(--muted)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.consent{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;font-size:.73rem;color:var(--muted);margin:16px 0}.consent input{margin-top:4px}.consent-required{border:1px solid var(--line);background:var(--mint);border-radius:12px;padding:12px}.consent small{font-size:inherit}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.form-error{color:var(--danger);font-weight:800;font-size:.82rem;margin-top:10px}.support-form{box-shadow:none}.legal-copy{max-width:850px}.legal-copy h2{font-size:1.65rem;margin-top:42px}.thank-you{text-align:center;min-height:60vh;display:grid;place-items:center}.thank-you h1{margin-inline:auto}.success-mark{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:var(--lime);color:var(--green);font-size:2rem;font-weight:800;margin:0 auto 18px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details[open]{background:var(--cream);border-radius:14px}.faq-list summary{cursor:pointer;font-weight:800;padding:18px 36px 18px 0;position:relative}.faq-list summary:after{content:"+";position:absolute;right:8px;font-size:1.4rem}.faq-list details[open] summary:after{content:"−"}.faq-list details div{color:var(--muted);padding:0 30px 18px 0}.site-footer{background:var(--deep);color:#f0e8e4;margin-top:88px;padding:60px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:45px}.site-footer h2{font-size:1rem;color:#fff;margin-bottom:15px}.site-footer a{display:block;color:#f0e8e4;text-decoration:none;padding:4px 0}.site-footer p{color:#d3bbb0;font-size:.86rem}.brand-footer strong{color:#fff}.brand-footer small{color:#d3bbb0}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid rgba(255,255,255,.12);margin-top:38px;padding-top:20px}.mobile-cta{display:none}.quote-page-wrap{margin-top:-45px;position:relative;z-index:3}
/* S88 — full-bleed photo hero (guide pages carry .hero-media): cover image, left dark gradient, white bottom-left text, torn-paper edge */
.page-hero:has(.hero-media){min-height:72vh;display:flex;align-items:flex-end;padding:150px 0 90px;background:#3e2215}
.page-hero:has(.hero-media) .hero-media{position:absolute;inset:0;z-index:0;margin:0}
.page-hero:has(.hero-media) .hero-media img{width:100%;height:100%;object-fit:cover}
.page-hero:has(.hero-media)::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(9,28,26,.85) 25%,rgba(9,28,26,.38) 60%,rgba(9,28,26,.15))}
.hero::after,.page-hero:has(.hero-media)::after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:3;height:44px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 44' preserveAspectRatio='none'%3E%3Cpath d='M0 44 L0 26 L37 30 L73 21 L120 27 L188 18 L251 25 L318 16 L390 24 L455 19 L520 27 L590 15 L660 23 L730 18 L800 26 L875 17 L945 24 L1010 20 L1085 27 L1150 16 L1220 24 L1290 19 L1360 26 L1440 21 L1440 44 Z' fill='%23ffffff'/%3E%3C/svg%3E")}
.page-hero:has(.hero-media) .container{position:relative;z-index:2}
.page-hero:has(.hero-media) h1,.page-hero:has(.hero-media) .lead{color:#fff}
.page-hero:has(.hero-media) .eyebrow{color:var(--lime)}
.page-hero:has(.hero-media) .breadcrumbs,.page-hero:has(.hero-media) .breadcrumbs a{color:#eadfda}
.page-hero:has(.hero-media) .call-disclosure{color:#eadfda}
.hero{padding-bottom:96px}
.hero-home{padding-bottom:96px}
@media(max-width:980px){.main-nav{position:absolute;left:18px;right:18px;top:70px;display:none;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.nav-toggle{display:block}.hero-grid,.split,.quote-card{grid-template-columns:1fr}.hero-visual{min-height:390px}.cols-4{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.link-grid.compact{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.quote-card{gap:20px}.pest-grid,.project-grid{grid-template-columns:repeat(2,1fr)}.page-hero:has(.hero-media){min-height:62vh;padding:130px 0 84px}}
@media(max-width:680px){body{padding-bottom:70px}.container{width:min(calc(100% - 24px),var(--container))}.site-header .brand small{display:none}.header-inner{height:65px}.hero,.page-hero{padding:52px 0}.hero{padding-bottom:80px}.hero-home{padding:55px 0 80px}.page-hero:has(.hero-media){min-height:56vh;padding:120px 0 80px}h1{font-size:2.65rem}.lead{font-size:1.05rem}.hero-visual{min-height:330px}.proof-strip .container{grid-template-columns:1fr 1fr}.proof-strip .container>div{padding:15px}.section{padding:60px 0}.section-heading{display:block}.cols-2,.cols-3,.cols-4,.pest-grid,.project-grid,.link-grid,.link-grid.compact,.field-row,.choice-grid,.metric-panel,.process-grid,.footer-grid{grid-template-columns:1fr}.quote-card{padding:18px;margin-top:25px}.quote-form{padding:20px}.footer-bottom{display:block}.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:9px;background:rgba(255,255,255,.96);border-top:1px solid var(--line)}.mobile-cta .button{padding:11px 10px;font-size:.84rem}.market-list li a{display:block}.home-badge{left:18px;right:18px;bottom:18px}.florida-shape{right:0}.site-footer{margin-top:60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.phone-disabled{opacity:.62;cursor:not-allowed;box-shadow:none}.mobile-cta{transition:transform .2s ease}.mobile-cta.is-hidden{transform:translateY(120%)}@media(max-width:980px){.main-nav.open{max-height:68vh;overflow:auto}}
/* v6 — mid-page conversion + phone-gated slots */
[hidden]{display:none!important}
.cta-band{background:linear-gradient(120deg,var(--green),var(--deep));padding:26px 0;margin:6px 0}
.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.cta-band strong{display:block;color:#fff;font-size:1.28rem;letter-spacing:-.01em;font-family:Archivo,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-weight:800}
.cta-band span{color:#eadfda;font-size:.95rem}
.cta-band-actions{display:flex;gap:10px;flex-wrap:wrap}
.cta-band .button{background:var(--lime);color:var(--green);border-color:var(--lime)}
.cta-band .button.button-secondary,.cta-band .cta-band-quote.button-secondary{background:transparent;border:1.5px solid rgba(255,255,255,.7);color:#fff}
.section-bridge{margin:18px 0 0;padding:12px 16px;border-left:4px solid var(--green);background:var(--mint);border-radius:0 12px 12px 0;font-size:.98rem;color:var(--ink);line-height:1.55}
.section-bridge a{font-weight:700;margin-left:10px;white-space:nowrap}
.header-phone{font-weight:800;color:var(--green);white-space:nowrap;margin-right:6px;text-decoration:none}
.header-phone:hover{text-decoration:underline}
@media(max-width:960px){.header-phone{display:none}}
.thankyou-call{margin:16px auto;max-width:600px;background:var(--mint);border:1px solid var(--line);border-radius:14px;padding:14px 18px;font-size:1rem}
.thankyou-call a{font-weight:800;color:var(--green)}

/* v7.1 — recording disclosure (FL all-party consent) */
.call-disclosure{margin:8px 0 0;font-size:.8rem;color:var(--muted)}
.cta-band-disclosure{flex-basis:100%;font-size:.78rem;color:#dcc9c1;margin-top:2px}
/* ============================================================
   Phase 1 — homepage rebuild (exploration hub). Appended only.
   ============================================================ */
/* Hero text link alignment */
.hero-text-link{align-self:center}

.wi-b{background:linear-gradient(135deg,#ecdfc3,#d9c9a8)}
.wi-c{background:linear-gradient(135deg,var(--green),var(--deep))}
/* cursor */

/* Exploration grid */
.xgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.xcard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;color:var(--ink);text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.xcard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.xcard img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.xcard-body{flex:1;display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px}
.xcard-body strong{font-family:Archivo,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:1.02rem;letter-spacing:-.01em}
.xcard-body>span{flex:1;color:var(--muted);font-size:.88rem;line-height:1.5}
.xcard-body em{margin-top:6px;font-style:normal;font-size:.86rem;font-weight:800;color:var(--green)}
.xgrid-note{margin:22px 0 0;color:var(--muted);font-size:.95rem}

/* Featured guides */
.guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.gcard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;color:var(--ink);text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.gcard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.gcard img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.gcard-body{flex:1;display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px}
.gcard-tag{align-self:flex-start;padding:3px 10px;border-radius:99px;background:var(--mint);color:var(--green);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.gcard-body strong{font-family:Archivo,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:.98rem;line-height:1.3;letter-spacing:-.01em}
.gcard-excerpt{flex:1;color:var(--muted);font-size:.86rem;line-height:1.5}
.gcard-body em{font-style:normal;font-size:.86rem;font-weight:800;color:var(--green)}

/* Project showcase — honest empty state */
.showcase-empty{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;padding:44px;border-radius:28px;background:var(--mint)}
.showcase-copy>strong{display:block;margin-bottom:10px;font-family:Archivo,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:1.35rem;letter-spacing:-.02em;line-height:1.2}
.showcase-steps{display:grid;gap:12px;margin:20px 0 24px;padding:0;list-style:none}
.showcase-steps li{display:flex;align-items:center;gap:14px}
.showcase-steps li>span{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-weight:800}
.showcase-steps small{display:block;color:var(--muted)}
.showcase-visual{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.showcase-slot{display:grid;place-items:center;aspect-ratio:4/3;padding:10px;border:2px dashed #d0b7ac;border-radius:16px;background:rgba(255,255,255,.55);color:var(--green);font-size:.85rem;font-weight:700;text-align:center;line-height:1.4}

/* Cost strip keeps 2-up (appended class so reduced-motion media below can override) */
.link-grid-2{grid-template-columns:repeat(2,1fr)}

/* Footer now has 3 columns (dead geo columns removed) */
.footer-grid{grid-template-columns:1.6fr 1fr 1fr}

@media(max-width:980px){
  .xgrid,.guide-grid{grid-template-columns:repeat(2,1fr)}
  .showcase-empty{grid-template-columns:1fr;padding:30px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .xgrid,.guide-grid,.link-grid-2{grid-template-columns:1fr}
  .showcase-empty{padding:22px;gap:26px}
  .footer-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
}

/* Phase 2 — quote modal + sticky quote panel (append-only) */
.quote-modal-lock{overflow:hidden}
.quote-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:18px}
.quote-modal-backdrop{position:absolute;inset:0;background:rgba(10,61,59,.58);backdrop-filter:blur(3px)}
.quote-modal-panel{position:relative;width:min(660px,100%);max-height:88vh;overflow:auto;background:var(--mint);border-radius:22px;padding:14px;box-shadow:0 24px 70px rgba(10,61,59,.35);animation:quote-modal-in .28s ease}
.quote-modal-panel .quote-form{box-shadow:none}
.quote-modal-close{position:absolute;top:16px;right:16px;z-index:2;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:1.25rem;line-height:1;cursor:pointer}
.quote-modal-close:hover{background:var(--cream)}
.quote-modal-head{padding:12px 60px 4px 14px}
.quote-modal-head h2{font-size:1.45rem;margin:0}
@keyframes quote-modal-in{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.quote-panel{position:fixed;right:18px;bottom:18px;z-index:70;width:320px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 14px 44px rgba(138,75,47,.18);padding:18px 52px 18px 18px;display:grid;gap:12px;transform:translateY(calc(100% + 30px));visibility:hidden;transition:transform .3s ease,visibility .3s}
.quote-panel.is-on{transform:none;visibility:visible}
.quote-panel.is-parked{transform:translateY(calc(100% + 30px));visibility:hidden}
.quote-panel-title{margin:0;font-family:Archivo,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-weight:800;font-size:1.05rem;line-height:1.25;color:var(--ink)}
.quote-panel .quote-panel-cta{justify-self:start}
.quote-panel-dismiss{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:1rem;line-height:1;cursor:pointer}
.quote-panel-dismiss:hover{background:var(--cream)}
@media(max-width:680px){
  .quote-modal{padding:0}
  .quote-modal-panel{width:100%;max-height:100vh;height:100vh;border-radius:0;padding:12px}
  .quote-panel{left:0;right:0;bottom:0;width:auto;border-radius:16px 16px 0 0;border-left:0;border-right:0;border-bottom:0;padding:12px 52px 12px 16px;grid-template-columns:1fr auto;align-items:center;gap:10px;z-index:80}
  .quote-panel-title{font-size:.95rem}
  .quote-panel-dismiss{top:8px;right:8px}
}
@media(prefers-reduced-motion:reduce){
  .quote-modal-panel{animation:none}
  .quote-panel{transition:none}
}

/* Airbnb-style horizontal rails (homepage sections) */
.rail-nav{display:flex;gap:8px;flex:0 0 auto;margin-left:auto}
.rail-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;display:grid;place-items:center;padding:0;box-shadow:0 2px 8px rgba(21,38,37,.08);transition:box-shadow .2s ease,border-color .2s ease,opacity .2s ease}
.rail-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.rail-btn:hover:not([disabled]){border-color:var(--green);box-shadow:0 4px 14px rgba(138,75,47,.18)}
.rail-btn[disabled]{opacity:.32;cursor:default;box-shadow:none}
.rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:6px 2px 16px;scroll-padding-left:2px}
.rail::-webkit-scrollbar{display:none}
.rail>.xcard,.rail>.gcard{flex:0 0 296px;scroll-snap-align:start}
.rail.showcase-visual{display:flex}
.rail>.showcase-slot{flex:0 0 240px;scroll-snap-align:start;aspect-ratio:4/3}
@media (max-width:900px){.rail>.xcard,.rail>.gcard{flex-basis:258px}.rail>.showcase-slot{flex-basis:210px}}

/* Sketch → photo hover pan: card images start zoomed on the sketch (left)
   side; on hover/focus the view glides right, "building" the real bathroom */
.xcard img,.gcard img{transform:scale(1.42) translateX(13%);transition:transform 1.3s cubic-bezier(.25,.6,.25,1);will-change:transform}
.xcard:hover img,.xcard:focus-visible img,.gcard:hover img,.gcard:focus-visible img{transform:scale(1.42) translateX(-13%)}
.xcard-body,.gcard-body{position:relative;z-index:1;background:#fff}
@media (prefers-reduced-motion:reduce){.xcard img,.gcard img{transform:none;transition:none}}

/* ZIP entry screen */
/* question screens */
/* matches list + exclude */
/* phone reveal screen */




/* ---- T-guide-fix D3 (2026-08-24): guide hero — text and media STACK, never overlap.
   The builder template emits class "page-hero pest-hero" on bath guide pages (S102-era
   pest-port legacy). The shared .page-hero:has(.hero-media) rules turn such heroes into
   a full-bleed background photo with the H1 floating on top, where the media could
   overlap/cut the headline on published guides. Stacked layout below: H1/lead on the
   cream gradient, photo under the text in normal flow. Content/URLs/H1 text
   byte-identical on live pages — presentation only. Specificity ties with the
   :has(.hero-media) rules; this block WINS by source order (appended last). ---- */
.page-hero.pest-hero{display:block;min-height:0;padding:52px 0;background:linear-gradient(135deg,var(--cream),#fff 52%,var(--mint))}
.page-hero.pest-hero::before{content:none}
.page-hero.pest-hero::after{content:none}
.page-hero.pest-hero .hero-media{position:static;inset:auto;z-index:auto;margin:22px 0 0;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(15,94,92,.12)}
.page-hero.pest-hero .hero-media img{position:static;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
.page-hero.pest-hero h1{color:var(--ink)}
.page-hero.pest-hero .lead{color:var(--muted)}
.page-hero.pest-hero .eyebrow{color:var(--green-2)}
.page-hero.pest-hero .breadcrumbs,.page-hero.pest-hero .breadcrumbs a{color:var(--muted)}
.page-hero.pest-hero .call-disclosure{color:var(--muted)}

/* ---- S110 (2026-08-26, owner decision): direct-call widget — replaces the ZIP funnel
   entry on every ranking page. The anchor keeps funnel.css's proven .hbm-tel look;
   these rules style only the label/sub/callnote around it. Inert on pages without
   the widget (additive classes only). ---- */
.hbm-direct{margin:18px 0}
.hbm-direct .lp-call-label{font-weight:700;font-size:1.02rem;margin:0 0 8px;color:var(--ink)}
.hbm-direct .lp-call-sub{font-size:.85rem;color:var(--muted);margin:6px 0 0}
.hbm-direct .hbm-callnote{font-size:.78rem;color:var(--muted);display:block;text-align:center;margin-top:6px}
.funnel-sticky .hbm-direct-sticky{width:100%}
.funnel-sticky .hbm-callnote{display:none}
.funnel-sticky .hbm-tel{padding:11px 16px;font-size:1.05rem}


   mockup (which walked the retired ZIP funnel and ended on a fake number). Static card,
   no animation; values mirror the LP fold-3c cost section; the call block renders via
   HBM_FUNNEL.showDirectNumber (S110 wiring fills it — same pool-swapped .js-phone). ---- */
.home-cost{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:22px;display:grid;gap:10px;width:100%;max-width:560px;justify-self:end}
.home-cost h2{font-size:1.35rem;margin:0}
.home-cost-sub{font-size:.9rem;color:var(--muted);margin:0}
.home-cost-row{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--cream)}
.home-cost-row.home-cost-common{border-color:var(--green-2)}
.home-cost-label{font-weight:700;font-size:.98rem}
.home-cost-figure{font-size:1.45rem;font-weight:800;color:var(--ink)}
.home-cost-tag{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--green);background:#fff;border-radius:999px;padding:3px 10px;width:max-content}
.home-cost-bar{display:block;height:6px;border-radius:999px;background:var(--mint);overflow:hidden}
.home-cost-bar i{display:block;height:100%;background:linear-gradient(90deg,#d9b36a,#b8892f);border-radius:999px}
.home-cost-note{font-size:.85rem;color:var(--muted);margin:2px 0 0}
.home-cost-call .hbm-callnote{font-size:.78rem;color:var(--muted);display:block;text-align:center;margin-top:6px}
