@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Barlow:wght@400;500;600;700&display=swap');

:root{
  --forest:#1f3d30;
  --forest-deep:#16281f;
  --clay:#c65a2c;
  --clay-deep:#a8481f;
  --linen:#f3ecdb;
  --cream:#fbf7ec;
  --sage:#dde5d6;
  --band:#e7dfc9;
  --line:#d6cbaf;
  --ink:#1f3d30;
  --paper:#f3ecdb;
  --head:"Barlow Condensed",Arial Narrow,Arial,sans-serif;
  --body:"Barlow",Arial,Helvetica,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;object-fit:cover}
a{color:inherit}
h1,h2,h3{font-family:var(--head);font-weight:800;line-height:1;letter-spacing:-.01em;margin:0}
.skip{position:fixed;left:12px;top:-80px;z-index:200;background:#fff;color:var(--forest);padding:12px 16px;font-weight:700;border:2px solid var(--forest)}
.skip:focus{top:12px}

/* ============================================================
   HOMEPAGE — utility-first field service (.kx-home)
   ============================================================ */
.kx-home{padding-bottom:0}
.kx-kicker{margin:0 0 12px;font-family:var(--head);font-weight:700;font-size:.9rem;letter-spacing:.18em;text-transform:uppercase;color:var(--clay)}

/* shared call button (homepage) */
.kx-call{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:14px 30px;background:var(--clay);color:#fff;font-family:var(--head);font-weight:800;font-size:1.15rem;letter-spacing:.02em;text-transform:uppercase;text-decoration:none;border:0;border-radius:4px;box-shadow:0 6px 0 var(--clay-deep);transition:transform .05s ease}
.kx-call:active{transform:translateY(3px);box-shadow:0 3px 0 var(--clay-deep)}
.kx-call--line{margin-top:30px}
.kx-note{display:block;margin-top:12px;font-size:.9rem;font-weight:500;color:#5c6b5f}

/* utility dispatch bar */
.kx-util{display:flex;align-items:center;justify-content:center;gap:10px 26px;flex-wrap:wrap;min-height:40px;padding:8px 20px;background:var(--forest-deep);color:#eaf0e6;font-size:.86rem;font-weight:500;text-align:center}
.kx-util a{font-family:var(--head);font-weight:800;letter-spacing:.03em;color:#fff;text-decoration:none;border-bottom:2px solid var(--clay);padding-bottom:1px}

/* header */
.kx-head{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px;padding:14px clamp(20px,5vw,64px);background:var(--forest);color:#fff}
.kx-brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.kx-mark{display:grid;place-items:center;width:46px;height:46px;flex:0 0 auto;background:var(--clay);color:#fff;font-family:var(--head);font-weight:800;font-size:1.6rem;border-radius:6px}
.kx-name{font-family:var(--head);font-weight:800;font-size:1.05rem;line-height:1.05;letter-spacing:.01em;text-transform:uppercase}
.kx-name em{display:block;font-family:var(--body);font-style:normal;font-weight:500;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#a9c2b3;margin-top:3px}
.kx-nav{display:flex;gap:24px}
.kx-nav a{font-family:var(--head);font-weight:700;font-size:.95rem;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;color:#dfeadf;padding-bottom:2px}
.kx-nav a:hover{color:#fff;border-bottom:2px solid var(--clay)}
.kx-headcall{display:inline-flex;align-items:center;min-height:44px;padding:8px 20px;background:var(--clay);color:#fff;font-family:var(--head);font-weight:800;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;border-radius:4px}

/* compact high-clarity hero (NOT a split hero) */
.kx-hero{padding:clamp(40px,6vw,72px) clamp(20px,6vw,64px);background:linear-gradient(180deg,var(--cream),var(--paper));border-bottom:1px solid var(--line)}
.kx-hero-inner{max-width:940px;margin:0 auto;text-align:center}
.kx-hero h1{font-size:clamp(2.1rem,5vw,3.6rem);margin:0 0 18px}
.kx-lede{max-width:760px;margin:0 auto 26px;font-size:clamp(1.02rem,1.5vw,1.2rem);color:#3d4c41}
.kx-hero-cta .kx-note{color:#5c6b5f}

/* wide crawlspace image band */
.kx-band{position:relative;background:var(--forest-deep)}
.kx-band img{width:100%;height:clamp(240px,34vw,440px)}
.kx-band-tag{position:absolute;left:0;right:0;bottom:0;margin:0;padding:16px clamp(20px,6vw,64px);background:linear-gradient(0deg,rgba(22,40,31,.92),rgba(22,40,31,0));color:#fff;font-family:var(--head);font-weight:700;font-size:clamp(1rem,1.8vw,1.35rem);letter-spacing:.01em}

/* what happens next (numbered) */
.kx-next{max-width:1180px;margin:0 auto;padding:clamp(52px,7vw,96px) clamp(20px,6vw,64px)}
.kx-next>header{max-width:760px;margin-bottom:36px}
.kx-next h2,.kx-matrix h2,.kx-local h2,.kx-standards h2,.kx-claim h2,.kx-outcome h2,.kx-faq h2,.kx-final h2{font-size:clamp(1.8rem,3.6vw,3rem)}
.kx-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:none}
.kx-steps li{display:flex;flex-direction:column;gap:14px;padding:26px 24px 26px 0;border-top:3px solid var(--forest)}
.kx-steps li+li{padding-left:24px;border-left:1px solid var(--line)}
.kx-steps li>span{display:grid;place-items:center;width:44px;height:44px;background:var(--clay);color:#fff;font-family:var(--head);font-weight:800;font-size:1.4rem;border-radius:50%}
.kx-steps h3{font-size:1.3rem;margin:0}
.kx-steps p{margin:0;font-size:.98rem;color:#3d4c41}

/* service matrix by water path */
.kx-matrix{background:var(--forest);color:#eaf0e6}
.kx-matrix{padding:clamp(52px,7vw,96px) clamp(20px,6vw,64px)}
.kx-matrix>*{max-width:1180px;margin-inline:auto}
.kx-matrix>header{margin-bottom:40px;max-width:820px}
.kx-matrix h2{color:#fff}
.kx-matrix .kx-kicker{color:#f0a877}
.kx-matrix .kx-sub{margin:16px 0 0;font-size:1.06rem;color:#cdd9cf}
.kx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.14)}
.kx-grid article{padding:28px 26px;background:var(--forest);display:flex;flex-direction:column;gap:8px}
.kx-grid b{font-family:var(--head);font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#f0a877}
.kx-grid h3{font-size:1.35rem;color:#fff}
.kx-grid p{margin:0;font-size:.97rem;color:#cdd9cf}
.kx-matrix .kx-call--line{display:inline-flex}

/* East Tennessee local module */
.kx-local{display:grid;grid-template-columns:.9fr 1.1fr;align-items:stretch;background:var(--cream);border-block:1px solid var(--line)}
.kx-local figure{margin:0}
.kx-local figure img{width:100%;height:100%;min-height:320px}
.kx-local>div{padding:clamp(40px,6vw,84px) clamp(24px,5vw,64px)}
.kx-local h2{margin-bottom:16px}
.kx-local p{font-size:1.06rem;color:#3d4c41}
.kx-risks{list-style:none;margin:22px 0 0;padding:0}
.kx-risks li{position:relative;padding:12px 0 12px 34px;border-top:1px solid var(--line);font-weight:500}
.kx-risks li:before{content:"";position:absolute;left:4px;top:19px;width:12px;height:12px;background:var(--clay);border-radius:2px;transform:rotate(45deg)}

/* company standards checklist (over drying bg) */
.kx-standards{padding:clamp(56px,8vw,110px) clamp(20px,6vw,64px);background-image:linear-gradient(90deg,rgba(22,40,31,.95),rgba(22,40,31,.55)),var(--bg);background-size:cover;background-position:center;color:#fff}
.kx-standards>div{max-width:720px}
.kx-standards h2{color:#fff;margin-bottom:20px}
.kx-standards .kx-kicker{color:#f0a877}
.kx-checks{list-style:none;margin:0;padding:0}
.kx-checks li{position:relative;padding:14px 0 14px 40px;border-top:1px solid rgba(255,255,255,.2);font-size:1.05rem;font-weight:500}
.kx-checks li:before{content:"";position:absolute;left:2px;top:16px;width:20px;height:11px;border-left:3px solid var(--clay);border-bottom:3px solid var(--clay);transform:rotate(-45deg)}

/* insurance coordination */
.kx-claim{max-width:1180px;margin:0 auto;padding:clamp(52px,7vw,96px) clamp(20px,6vw,64px)}
.kx-claim>header{margin-bottom:32px;max-width:760px}
.kx-claim-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.kx-claim-cols ul{list-style:none;margin:0;padding:0}
.kx-claim-cols li{padding:14px 0;border-top:1px solid var(--line);font-weight:500}
.kx-claim-cols li:first-child{border-top:0}
.kx-claim-cols>p{margin:0;padding:26px;background:var(--sage);border-left:5px solid var(--forest);font-size:1.02rem;color:#33423a}

/* restoration outcome + closing */
.kx-outcome{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--band)}
.kx-outcome figure{margin:0}
.kx-outcome figure img{width:100%;height:100%;min-height:340px}
.kx-outcome>div{padding:clamp(40px,6vw,84px) clamp(24px,5vw,64px)}
.kx-outcome h2{margin-bottom:16px}
.kx-outcome p{font-size:1.06rem;color:#3d4c41}

/* FAQ */
.kx-faq{max-width:900px;margin:0 auto;padding:clamp(52px,7vw,96px) clamp(20px,6vw,64px)}
.kx-faq>header{margin-bottom:28px}
.kx-faq-list details{border:1px solid var(--line);border-left:4px solid var(--clay);background:var(--cream);margin:12px 0;padding:18px 22px}
.kx-faq-list summary{font-family:var(--head);font-weight:700;font-size:1.14rem;cursor:pointer;list-style:none;color:var(--forest)}
.kx-faq-list summary::-webkit-details-marker{display:none}
.kx-faq-list summary:after{content:"+";float:right;color:var(--clay);font-weight:800;margin-left:16px}
.kx-faq-list details[open] summary:after{content:"\2013"}
.kx-faq-list p{margin:12px 0 0;color:#3d4c41}

/* final call */
.kx-final{text-align:center;padding:clamp(56px,8vw,110px) clamp(20px,6vw,64px);background:var(--forest-deep);color:#fff}
.kx-final .kx-kicker{color:#f0a877}
.kx-final h2{color:#fff;max-width:820px;margin:0 auto 30px}
.kx-final .kx-note{color:#a9c2b3}

/* footer */
.kx-foot{display:grid;grid-template-columns:1fr auto;gap:16px 48px;padding:52px clamp(20px,6vw,64px) 64px;background:var(--forest);color:#dfeadf}
.kx-foot strong{font-family:var(--head);font-weight:800;font-size:1.15rem;text-transform:uppercase;letter-spacing:.02em;color:#fff}
.kx-foot p{margin:8px 0 0;max-width:520px;font-size:.95rem}
.kx-footlinks{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:start}
.kx-footlinks a{font-family:var(--head);font-weight:700;font-size:.9rem;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;color:#c6d6c8}
.kx-footlinks a:hover{color:#fff}
.kx-credit{grid-column:1/-1;margin:12px 0 0;font-size:.72rem;color:#93aa98;max-width:none}
.kx-credit a{color:#c6d6c8}

/* sticky mobile call bar */
.kx-sticky{display:none}

@media(max-width:960px){
  .kx-steps{grid-template-columns:1fr 1fr}
  .kx-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .kx-home{padding-bottom:70px}
  .kx-util{font-size:.78rem;gap:6px 16px;padding:7px 14px}
  .kx-head{grid-template-columns:1fr auto;gap:12px;padding:12px 16px}
  .kx-nav{display:none}
  .kx-headcall{min-height:40px;padding:7px 14px;font-size:.9rem}
  .kx-name{font-size:.92rem}
  .kx-name em{display:none}
  .kx-hero{padding:34px 18px 40px}
  .kx-hero h1{font-size:clamp(1.7rem,7.5vw,2.15rem)}
  .kx-lede{font-size:1rem}
  .kx-call{width:100%;font-size:1.05rem}
  .kx-band img{height:190px}
  .kx-band-tag{font-size:1rem;padding:12px 18px}
  .kx-next,.kx-matrix,.kx-claim,.kx-faq{padding:44px 18px}
  .kx-standards{padding:48px 18px}
  .kx-steps{grid-template-columns:1fr}
  .kx-steps li,.kx-steps li+li{padding:22px 0;border-left:0}
  .kx-grid{grid-template-columns:1fr}
  .kx-local,.kx-outcome{grid-template-columns:1fr}
  .kx-local figure img,.kx-outcome figure img{min-height:0;height:210px}
  .kx-local figure,.kx-outcome figure{order:-1}
  .kx-local>div,.kx-outcome>div{padding:36px 18px}
  .kx-claim-cols{grid-template-columns:1fr;gap:24px}
  .kx-foot{grid-template-columns:1fr;padding:40px 18px 34px}
  .kx-call--line{width:100%}
  .kx-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:120;min-height:60px;align-items:center;justify-content:center;gap:12px;background:var(--clay);color:#fff;text-decoration:none;font-family:var(--head);border-top:3px solid var(--clay-deep)}
  .kx-sticky span{font-weight:700;letter-spacing:.04em;text-transform:uppercase}
  .kx-sticky strong{font-size:1.15rem;font-weight:800}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.kx-call{transition:none}}

/* ============================================================
   SHARED SUBPAGE CHROME (.knoxville) — service, guide, legal pages
   Used by water-removal / structural-drying / water-damage-guide /
   privacy / terms. Kept usable and on-palette.
   ============================================================ */
body.knoxville:not(.kx-home){padding-bottom:0}
.knoxville .top-call{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 18px;background:var(--forest-deep);color:#eaf0e6;text-align:center;font-size:.86rem;font-weight:500}
.knoxville .top-call a{font-family:var(--head);font-weight:800;letter-spacing:.03em;color:#fff;text-decoration:none;border-bottom:2px solid var(--clay)}
.knoxville .site-header{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px;padding:14px clamp(20px,5vw,64px);background:var(--forest);color:#fff}
.knoxville .brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-family:var(--head);font-weight:800;font-size:1.05rem;text-transform:uppercase;letter-spacing:.01em;color:#fff}
.knoxville .brand-badge{display:grid;place-items:center;width:46px;height:46px;flex:0 0 auto;background:var(--clay);color:#fff;font-family:var(--head);font-weight:800;font-size:1.6rem;border-radius:6px}
.knoxville .site-header nav{display:flex;gap:24px}
.knoxville .site-header nav a{font-family:var(--head);font-weight:700;font-size:.95rem;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;color:#dfeadf;padding-bottom:2px}
.knoxville .site-header nav a:hover{color:#fff;border-bottom:2px solid var(--clay)}
.knoxville .header-call{display:inline-flex;align-items:center;min-height:44px;padding:8px 20px;background:var(--clay);color:#fff;font-family:var(--head);font-weight:800;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;border-radius:4px}
.knoxville .eyebrow{display:inline-block;margin-bottom:14px;font-family:var(--head);font-weight:700;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:var(--clay)}
.knoxville .kicker{display:block;margin:0 0 12px;font-family:var(--head);font-weight:700;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:var(--clay)}
.knoxville h1,.knoxville h2,.knoxville h3{font-family:var(--head);font-weight:800;line-height:1.02;letter-spacing:-.01em;margin:0}
.knoxville .button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:14px 30px;background:var(--clay);color:#fff;font-family:var(--head);font-weight:800;font-size:1.1rem;letter-spacing:.02em;text-transform:uppercase;text-decoration:none;border:0;border-radius:4px;box-shadow:0 6px 0 var(--clay-deep)}
.knoxville .button.primary{background:var(--clay)}

.knoxville .inner-hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;background:var(--cream);border-bottom:1px solid var(--line)}
.knoxville .inner-hero>div{padding:clamp(40px,6vw,88px) clamp(24px,5vw,64px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.knoxville .inner-hero h1{font-size:clamp(2.1rem,4.6vw,3.5rem);margin:0 0 16px}
.knoxville .inner-hero p{font-size:1.1rem;color:#3d4c41;max-width:560px;margin:0 0 24px}
.knoxville .inner-hero>img{width:100%;height:100%;min-height:320px}
.knoxville .breadcrumb{display:inline-block;margin-bottom:18px;font-family:var(--head);font-weight:700;letter-spacing:.03em;text-transform:uppercase;font-size:.85rem;text-decoration:none;color:var(--forest)}

.knoxville .article{max-width:1180px;margin:0 auto;padding:clamp(52px,7vw,96px) clamp(20px,6vw,64px);display:grid;grid-template-columns:1fr 340px;gap:clamp(36px,6vw,72px);align-items:start}
.knoxville .article h2{font-size:clamp(1.8rem,3.4vw,2.7rem);margin:0 0 18px}
.knoxville .article p{color:#3d4c41}
.knoxville .article-steps{margin-top:26px}
.knoxville .article-steps section{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:22px 0;border-top:2px solid var(--line)}
.knoxville .article-steps section>span{font-family:var(--head);font-weight:800;font-size:1.6rem;color:var(--clay)}
.knoxville .article-steps h3{font-size:1.25rem;margin:0 0 6px}
.knoxville .article-steps p{margin:0}
.knoxville .local-detail{margin-top:46px;padding-top:34px;border-top:2px solid var(--line)}
.knoxville .local-detail h2{font-size:clamp(1.6rem,3vw,2.3rem)}
.knoxville .local-detail h3{margin:26px 0 10px;font-size:1.3rem}
.knoxville .local-detail ul{padding-left:20px}
.knoxville .local-detail li{margin:8px 0}
.knoxville .article aside{position:sticky;top:20px;align-self:start;padding:30px;background:var(--forest);color:#fff;border-radius:6px}
.knoxville .article aside .kicker{color:#f0a877}
.knoxville .article aside h2{font-size:1.6rem;margin:0 0 14px;color:#fff}
.knoxville .article aside ul{padding-left:20px;margin:0 0 22px}
.knoxville .article aside li{margin:8px 0;color:#dfeadf}
.knoxville .article aside .button{width:100%}

.knoxville .final-call{text-align:center;padding:clamp(52px,8vw,100px) clamp(20px,6vw,64px);background:var(--forest-deep);color:#fff}
.knoxville .final-call>span{display:block;margin-bottom:12px;font-family:var(--head);font-weight:700;letter-spacing:.14em;color:#f0a877}
.knoxville .final-call h2{font-size:clamp(1.8rem,3.4vw,2.7rem);color:#fff;max-width:820px;margin:0 auto 28px}

.knoxville .legal{max-width:820px;margin:0 auto;padding:clamp(48px,7vw,90px) clamp(20px,6vw,64px)}
.knoxville .legal h1{font-size:clamp(2.2rem,5vw,3.4rem)}
.knoxville .legal h2{margin-top:34px;font-size:1.5rem}
.knoxville .legal p,.knoxville .legal li{color:#3d4c41}

.knoxville .site-footer{display:grid;grid-template-columns:1fr auto;gap:16px 48px;padding:52px clamp(20px,6vw,64px) 64px;background:var(--forest);color:#dfeadf}
.knoxville .site-footer strong{font-family:var(--head);font-weight:800;font-size:1.15rem;text-transform:uppercase;color:#fff}
.knoxville .site-footer p{margin:8px 0 0;max-width:520px;font-size:.95rem}
.knoxville .footer-links{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:start}
.knoxville .footer-links a{font-family:var(--head);font-weight:700;font-size:.9rem;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;color:#c6d6c8}
.knoxville .footer-links a:hover{color:#fff}
.knoxville .credit{grid-column:1/-1;margin:12px 0 0;font-size:.72rem;color:#93aa98}
.knoxville .credit a{color:#c6d6c8}
.knoxville .mobile-call{display:none}

@media(max-width:760px){
  body.knoxville{padding-bottom:66px}
  .knoxville .site-header{grid-template-columns:1fr auto;gap:12px;padding:12px 16px}
  .knoxville .site-header nav{display:none}
  .knoxville .header-call{min-height:40px;padding:7px 14px;font-size:.9rem}
  .knoxville .brand{font-size:.92rem}
  .knoxville .top-call{font-size:.78rem}
  .knoxville .inner-hero{grid-template-columns:1fr}
  .knoxville .inner-hero>img{order:-1;min-height:0;height:210px}
  .knoxville .inner-hero>div{padding:34px 18px 40px}
  .knoxville .inner-hero h1{font-size:clamp(1.7rem,7.5vw,2.15rem)}
  .knoxville .inner-hero p{font-size:1rem}
  .knoxville .article{grid-template-columns:1fr;padding:44px 18px;gap:30px}
  .knoxville .article aside{position:static}
  .knoxville .button{width:100%}
  .knoxville .final-call{padding:48px 18px}
  .knoxville .legal{padding:44px 18px}
  .knoxville .site-footer{grid-template-columns:1fr;padding:40px 18px 34px}
  .knoxville .mobile-call{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:120;min-height:60px;align-items:center;justify-content:center;gap:12px;background:var(--clay);color:#fff;text-decoration:none;font-family:var(--head);border-top:3px solid var(--clay-deep)}
  .knoxville .mobile-call span{font-weight:700;letter-spacing:.04em;text-transform:uppercase}
  .knoxville .mobile-call strong{font-size:1.15rem;font-weight:800}
}
