/* ============================================================
   Fumigations.net — design system
   Warm / local / gold-forward.  Rokkitt slab headers + Mulish body.
   ============================================================ */
:root{
  --cream:#f7f1e6;
  --cream-2:#efe6d4;
  --white:#fffdf8;
  --ink:#23201b;
  --ink-soft:#4a443b;
  --muted:#6e6557;
  --navy:#1c2b46;
  --navy-2:#15203a;
  --navy-3:#24365a;
  --orange:#e3590f;
  --orange-d:#c44a09;
  --gold:#cf9c44;
  --gold-soft:#e7c987;
  --line:#e2d7c2;
  --line-dk:rgba(255,253,248,.16);
  --shadow:0 18px 40px -26px rgba(40,30,18,.5);
  --shadow-card:0 2px 0 rgba(40,30,18,.04), 0 14px 30px -22px rgba(40,30,18,.45);
  --rad:14px;
  --rad-sm:9px;
  --maxw:1180px;
  --hdr-h:72px;
  --font-head:"Rokkitt",Georgia,serif;
  --font-body:"Mulish","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr-h) + 46px);}
body{
  margin:0;
  font-family:var(--font-body);
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:700;line-height:1.08;letter-spacing:-.01em;margin:0;color:var(--ink);}
h2{font-size:clamp(30px,4vw,46px);}
h3{font-size:22px;}
p{margin:0 0 1em;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.eyebrow{font-family:var(--font-body);font-weight:800;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin:0 0 14px;display:flex;align-items:center;gap:10px;}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--orange);display:inline-block;}
.lede{font-size:19px;color:var(--ink-soft);max-width:62ch;}
.section{padding:84px 0;}
.section--tight{padding:60px 0;}
.center{text-align:center;}
.center .eyebrow{justify-content:center;}
.center .lede{margin-inline:auto;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--font-body);font-weight:800;font-size:16px;letter-spacing:.01em;
  padding:15px 26px;border-radius:10px;border:2px solid transparent;cursor:pointer;
  transition:transform .14s ease, box-shadow .14s ease, background .14s ease, color .14s ease;
  white-space:nowrap;line-height:1;
}
.btn svg{width:18px;height:18px;flex:none;}
.btn--primary{background:var(--orange);color:#fff;box-shadow:0 10px 22px -12px rgba(227,89,15,.8);}
.btn--primary:hover{background:var(--orange-d);transform:translateY(-2px);box-shadow:0 16px 28px -12px rgba(227,89,15,.8);}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn--ghost:hover{background:var(--ink);color:var(--cream);transform:translateY(-2px);}
.btn--ondark{background:transparent;color:var(--cream);border-color:rgba(255,253,248,.5);}
.btn--ondark:hover{background:var(--cream);color:var(--navy);border-color:var(--cream);transform:translateY(-2px);}
.btn--gold{background:var(--gold);color:var(--navy);}
.btn--gold:hover{background:var(--gold-soft);transform:translateY(-2px);}
.btn--block{width:100%;}
.btn--sm{padding:11px 18px;font-size:14px;}

/* ---------- top utility bar ---------- */
.topbar{background:var(--navy-2);color:#e7ddc9;font-size:13.5px;}
.topbar .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;padding-top:9px;padding-bottom:9px;}
.topbar b{color:#fff;font-weight:700;}
.topbar .sep{width:4px;height:4px;border-radius:50%;background:var(--gold);opacity:.7;}
.topbar a{color:#fff;font-weight:700;}
.topbar .es{margin-left:auto;color:var(--gold-soft);font-weight:700;}

/* ---------- header ---------- */
.header{position:sticky;top:0;z-index:60;background:rgba(247,241,230,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.header .wrap{height:var(--hdr-h);display:flex;align-items:center;gap:20px;}
.brand{display:flex;flex-direction:column;line-height:1;}
.brand .mark{font-family:var(--font-head);font-weight:800;font-size:25px;letter-spacing:-.02em;color:var(--ink);}
.brand .mark b{color:var(--orange);}
.brand .sub{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:3px;}
.nav{margin-left:auto;display:flex;align-items:center;gap:28px;}
.nav a{font-weight:700;font-size:15px;color:var(--ink-soft);position:relative;}
.nav a:hover{color:var(--orange);}
.nav a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--orange);transition:width .18s ease;}
.nav a:hover::after{width:100%;}
.header .btn{margin-left:4px;}
.navtoggle{display:none;}

/* ---------- hero ---------- */
.hero{position:relative;color:var(--cream);overflow:hidden;background:var(--navy-2);}
.hero__bg{position:absolute;inset:0;}
.hero__bg img{width:100%;height:100%;object-fit:cover;}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,21,34,.92) 0%,rgba(15,21,34,.74) 42%,rgba(15,21,34,.30) 75%,rgba(15,21,34,.45) 100%);}
.hero .wrap{position:relative;padding:92px 24px 84px;}
.hero__inner{max-width:660px;}
.hero h1{font-size:clamp(38px,6vw,68px);color:#fff;line-height:1.02;letter-spacing:-.02em;}
.hero h1 .accent{color:var(--gold-soft);}
.hero__sub{font-size:20px;line-height:1.5;color:#e9e0cf;margin:22px 0 30px;max-width:56ch;}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;}
.hero__bullets{display:grid;grid-template-columns:1fr 1fr;gap:12px 26px;margin-top:34px;max-width:600px;}
.hero__bullets li{list-style:none;display:flex;align-items:center;gap:11px;font-weight:700;font-size:15.5px;color:#f2ead9;}
.tick{width:22px;height:22px;border-radius:50%;background:rgba(207,156,68,.2);border:1.5px solid var(--gold);display:grid;place-items:center;flex:none;}
.tick svg{width:12px;height:12px;color:var(--gold-soft);}
ul{padding:0;margin:0;}

/* ---------- trust strip ---------- */
.trust{background:var(--navy);color:var(--cream);border-top:3px solid var(--gold);}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:22px 24px;}
.trust__item{display:flex;align-items:center;gap:13px;}
.trust__item .ic{width:40px;height:40px;border-radius:10px;background:rgba(207,156,68,.16);border:1px solid rgba(207,156,68,.4);display:grid;place-items:center;flex:none;color:var(--gold-soft);}
.trust__item .ic svg{width:20px;height:20px;}
.trust__item b{display:block;font-size:15px;color:#fff;line-height:1.2;}
.trust__item span{font-size:13px;color:#c4b89f;}

/* ---------- generic cards ---------- */
.cards{display:grid;gap:18px;}
.cols-2{grid-template-columns:repeat(2,1fr);}
.cols-3{grid-template-columns:repeat(3,1fr);}
.cols-4{grid-template-columns:repeat(4,1fr);}

/* "do you need" checklist */
.need{background:var(--white);}
.checklist{display:grid;grid-template-columns:1fr 1fr;gap:16px 30px;margin-top:30px;}
.checklist li{list-style:none;display:flex;gap:14px;align-items:flex-start;font-size:16.5px;color:var(--ink-soft);}
.checklist .dot{width:28px;height:28px;border-radius:8px;background:var(--cream-2);border:1px solid var(--line);color:var(--orange);display:grid;place-items:center;flex:none;margin-top:1px;}
.checklist .dot svg{width:15px;height:15px;}
.callout-soft{margin-top:32px;background:var(--cream);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:0 12px 12px 0;padding:18px 22px;font-size:16px;color:var(--ink-soft);}
.callout-soft b{color:var(--ink);}

/* service cards */
.services{background:var(--cream);}
.svc{background:var(--white);border:1px solid var(--line);border-radius:var(--rad);padding:24px 22px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;}
.svc:hover{transform:translateY(-4px);box-shadow:0 22px 40px -24px rgba(40,30,18,.5);border-color:var(--gold);}
.svc__ic{width:48px;height:48px;border-radius:12px;background:var(--navy);color:var(--gold-soft);display:grid;place-items:center;margin-bottom:16px;}
.svc__ic svg{width:25px;height:25px;}
.svc h3{font-size:20px;margin-bottom:8px;}
.svc p{font-size:15px;color:var(--muted);margin-bottom:18px;flex:1;}
.svc__link{font-weight:800;font-size:14px;color:var(--orange);display:inline-flex;align-items:center;gap:7px;}
.svc__link svg{width:15px;height:15px;transition:transform .15s ease;}
.svc:hover .svc__link svg{transform:translateX(4px);}

/* dark sections */
.dark{background:var(--navy);color:var(--cream);}
.dark h2{color:#fff;}
.dark .eyebrow{color:var(--gold-soft);}
.dark .eyebrow::before{background:var(--gold-soft);}
.dark .lede{color:#d6ccb8;}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;}
.split__media{border-radius:var(--rad);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line-dk);}
.split__media img{width:100%;height:100%;object-fit:cover;}
.why-points{margin-top:26px;display:grid;gap:14px;}
.why-points li{list-style:none;display:flex;gap:14px;align-items:flex-start;color:#e0d7c4;font-size:16.5px;}
.why-points .pin{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--gold);color:var(--gold-soft);display:grid;place-items:center;flex:none;margin-top:2px;font-size:13px;}
.why-points .pin svg{width:13px;height:13px;}

/* process timeline */
.process{background:var(--white);}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 24px;margin-top:42px;counter-reset:step;}
.step{position:relative;padding-top:8px;}
.step__n{width:46px;height:46px;border-radius:50%;background:var(--cream);border:2px solid var(--orange);color:var(--orange);font-family:var(--font-head);font-weight:700;font-size:22px;display:grid;place-items:center;margin-bottom:16px;position:relative;z-index:2;}
.step::before{content:"";position:absolute;top:31px;left:46px;right:-24px;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 7px,transparent 7px 14px);}
.step:nth-child(4n)::before,.step:last-child::before{display:none;}
.step h4{font-family:var(--font-head);font-size:19px;margin-bottom:6px;}
.step p{font-size:14.5px;color:var(--muted);margin:0;}
.timenote{margin-top:42px;background:var(--navy);color:var(--cream);border-radius:var(--rad);padding:24px 28px;display:flex;gap:18px;align-items:center;}
.timenote .ic{width:50px;height:50px;border-radius:12px;background:rgba(207,156,68,.18);color:var(--gold-soft);display:grid;place-items:center;flex:none;}
.timenote .ic svg{width:26px;height:26px;}
.timenote p{margin:0;font-size:16.5px;color:#e7ddc9;}
.timenote b{color:#fff;font-family:var(--font-head);font-size:19px;}

/* cost */
.cost{background:var(--cream);}
.cost__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start;margin-top:14px;}
.factorlist{display:grid;grid-template-columns:1fr 1fr;gap:12px 26px;margin-top:8px;}
.factorlist li{list-style:none;display:flex;gap:11px;align-items:center;font-size:16px;color:var(--ink-soft);}
.factorlist .b{width:8px;height:8px;border-radius:2px;background:var(--gold);flex:none;transform:rotate(45deg);}
.costcard{background:var(--navy);color:var(--cream);border-radius:var(--rad);padding:30px;box-shadow:var(--shadow);position:sticky;top:120px;}
.costcard h3{color:#fff;font-size:23px;margin-bottom:6px;}
.costcard p{font-size:15px;color:#cabd a4;color:#cabda4;margin-bottom:20px;}
.costcard .btn{margin-bottom:12px;}
.costcard .fine{font-size:13px;color:#a99d85;margin:6px 0 0;}

/* real estate */
.escrow{background:var(--white);}
.escrow .split__media{border:1px solid var(--line);}
.tags{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 26px;}
.tag{background:var(--cream);border:1px solid var(--line);border-radius:30px;padding:8px 16px;font-size:14px;font-weight:700;color:var(--ink-soft);}
.tag b{color:var(--orange);}

/* preparation */
.prep{background:var(--navy-2);color:var(--cream);}
.prepgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px;}
.prepcard{background:rgba(255,253,248,.05);border:1px solid var(--line-dk);border-radius:12px;padding:20px;}
.prepcard .ic{width:40px;height:40px;border-radius:10px;background:rgba(207,156,68,.16);color:var(--gold-soft);display:grid;place-items:center;margin-bottom:13px;}
.prepcard .ic svg{width:20px;height:20px;}
.prepcard b{display:block;color:#fff;font-size:16px;margin-bottom:4px;font-family:var(--font-head);}
.prepcard span{font-size:14px;color:#c4b89f;}
.prep .callout-soft{background:rgba(207,156,68,.12);border-color:rgba(207,156,68,.3);border-left-color:var(--gold);color:#e7ddc9;}

/* provider */
.provider{background:var(--cream);}
.provider .feat{display:grid;grid-template-columns:1fr 1fr;gap:14px 26px;margin-top:24px;}
.provider .feat li{list-style:none;display:flex;gap:12px;align-items:flex-start;font-size:16px;color:var(--ink-soft);}
.provider .feat .ic{color:var(--orange);flex:none;margin-top:2px;}
.provider .feat .ic svg{width:18px;height:18px;}
.licbadge{display:inline-flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:12px 18px;margin-top:26px;box-shadow:var(--shadow-card);}
.licbadge .seal{width:42px;height:42px;border-radius:50%;background:var(--navy);color:var(--gold-soft);display:grid;place-items:center;flex:none;}
.licbadge .seal svg{width:22px;height:22px;}
.licbadge b{display:block;font-size:15px;color:var(--ink);}
.licbadge span{font-size:13px;color:var(--muted);}

/* faq */
.faq{background:var(--white);}
.faqlist{max-width:860px;margin:36px auto 0;}
.qa{border-bottom:1px solid var(--line);}
.qa__q{width:100%;background:none;border:0;text-align:left;cursor:pointer;font-family:var(--font-head);font-weight:600;font-size:20px;color:var(--ink);padding:22px 50px 22px 0;position:relative;display:block;}
.qa__q:hover{color:var(--orange);}
.qa__q .ico{position:absolute;right:6px;top:24px;width:24px;height:24px;color:var(--orange);transition:transform .25s ease;}
.qa[open] .qa__q .ico{transform:rotate(45deg);}
.qa__q::-webkit-details-marker{display:none;}
.qa__a{padding:0 50px 24px 0;color:var(--ink-soft);font-size:16.5px;}
.qa__a p{margin:0;}

/* final cta */
.final{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 100%);color:var(--cream);text-align:center;position:relative;overflow:hidden;}
.final::before{content:"";position:absolute;top:-40%;right:-10%;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(207,156,68,.18),transparent 65%);}
.final .wrap{position:relative;}
.final h2{color:#fff;font-size:clamp(32px,4.5vw,52px);}
.final p{max-width:60ch;margin:18px auto 32px;font-size:19px;color:#d8cfbc;}
.final__cta{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;}
.final__phone{margin-top:26px;font-size:15px;color:#bcb09a;}
.final__phone a{color:var(--gold-soft);font-weight:800;}

/* footer */
.footer{background:#11192c;color:#aeb6c6;font-size:15px;}
.footer .wrap{padding:62px 24px 30px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;}
.footer .mark{font-family:var(--font-head);font-weight:800;font-size:24px;color:#fff;}
.footer .mark b{color:var(--orange);}
.footer p{color:#94a0b5;max-width:38ch;font-size:14.5px;margin-top:12px;}
.footer h4{font-family:var(--font-body);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#6f7c93;margin-bottom:16px;}
.footer ul li{list-style:none;margin-bottom:11px;}
.footer ul a{color:#cdd4e0;font-weight:600;}
.footer ul a:hover{color:var(--gold-soft);}
.footer .contactline{display:flex;align-items:center;gap:9px;margin-bottom:11px;color:#cdd4e0;}
.footer .contactline svg{width:16px;height:16px;color:var(--gold);flex:none;}
.footer .contactline a{color:#cdd4e0;}
.footbar{border-top:1px solid rgba(255,255,255,.08);}
.footbar .wrap{padding:18px 24px;display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:space-between;font-size:13px;color:#71809a;}
.footbar .disc{max-width:80ch;}

/* sticky mobile call bar */
.mobilebar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;gap:0;background:var(--navy-2);box-shadow:0 -8px 24px -10px rgba(0,0,0,.5);}
.mobilebar a{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;padding:15px 8px;font-weight:800;font-size:15.5px;}
.mobilebar .call{background:var(--orange);color:#fff;}
.mobilebar .insp{color:var(--cream);}
.mobilebar svg{width:18px;height:18px;}

/* mobile nav drawer */
.drawer{position:fixed;inset:0;z-index:70;background:rgba(20,16,12,.5);opacity:0;pointer-events:none;transition:opacity .2s ease;}
.drawer.open{opacity:1;pointer-events:auto;}
.drawer__panel{position:absolute;top:0;right:0;height:100%;width:min(82vw,340px);background:var(--cream);transform:translateX(100%);transition:transform .26s cubic-bezier(.4,.1,.2,1);padding:26px 24px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow);}
.drawer.open .drawer__panel{transform:none;}
.drawer__panel a{padding:15px 4px;font-family:var(--font-head);font-size:24px;font-weight:600;border-bottom:1px solid var(--line);}
.drawer__panel a:hover{color:var(--orange);}
.drawer__close{align-self:flex-end;background:none;border:0;font-size:30px;line-height:1;cursor:pointer;color:var(--ink);padding:4px 8px;}
.drawer__cta{margin-top:auto;}

/* ---------- responsive ---------- */
@media(max-width:1000px){
  .trust .wrap{grid-template-columns:1fr 1fr;}
  .steps{grid-template-columns:1fr 1fr;}
  .step:nth-child(4n)::before{display:block;}
  .step:nth-child(2n)::before{display:none;}
  .cols-4{grid-template-columns:1fr 1fr;}
}
@media(max-width:820px){
  .nav{display:none;}
  .header .btn--header{display:none;}
  .navtoggle{display:inline-grid;}
  .split{grid-template-columns:1fr;gap:30px;}
  .why-section .split__media{order:-1;}
  .cost__grid{grid-template-columns:1fr;gap:28px;}
  .costcard{position:static;}
  .footer .wrap{grid-template-columns:1fr 1fr;}
  .prepgrid{grid-template-columns:1fr 1fr;}
  .escrow .split__media{order:-1;}
}
@media(max-width:680px){
  body{font-size:16px;}
  .section{padding:60px 0;}
  .hero .wrap{padding:64px 24px 60px;}
  .hero__bullets{grid-template-columns:1fr;gap:10px;}
  .hero__bg::after{background:linear-gradient(180deg,rgba(15,21,34,.62) 0%,rgba(15,21,34,.84) 100%);}
  .checklist,.factorlist,.provider .feat{grid-template-columns:1fr;}
  .cols-2,.cols-3,.cols-4{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .step::before{display:none !important;}
  .footer .wrap{grid-template-columns:1fr;gap:28px;}
  .prepgrid{grid-template-columns:1fr;}
  .mobilebar{display:flex;}
  body{padding-bottom:54px;}
  .topbar{display:none;}
  .hero__cta .btn{flex:1;}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto !important;transition:none !important;}
}
