/* AirPlease Missouri Chimney Services — inner pages (PPC light theme) */
.page-hero{
  padding:3.6rem 6vw 3rem;position:relative;color:#fff;
  background:linear-gradient(115deg,#0b0b0e 0%,#17171c 55%,#26160a 100%);
}
.page-hero h1{font-size:clamp(2rem,4vw,3.2rem);max-width:22ch;margin:.35em 0;color:#fff;text-transform:uppercase}
.page-hero .lede{font-size:1.15rem;max-width:62ch;color:#d8d8e0}
.crumb{font-family:var(--font-display);font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#a9a9b4}
.crumb a{color:#a9a9b4;text-decoration:none}
.crumb a:hover{color:var(--orange)}

.page-body{padding:1.5rem 6vw 5rem;background:var(--paper)}
.prose{max-width:74ch}
.prose h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-top:2.4em}
.prose h3{font-size:1.22rem;margin-top:1.7em}
.prose ul{color:var(--ink-soft);padding-left:1.2em;line-height:1.7}
.prose li{margin:.35em 0}
.section-mark{font-family:var(--font-display);font-weight:800;font-size:.85rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--orange);margin:3.2rem 0 .4rem;display:flex;align-items:center;gap:.8em}
.section-mark::after{content:"";flex:1;max-width:120px;height:2px;background:var(--orange-soft)}

.figure{margin:2.4rem 0;max-width:880px}
.figure img{border-radius:14px;border:1px solid var(--line);width:100%;height:auto;box-shadow:var(--shadow)}
.figure figcaption{font-size:.85rem;color:var(--ink-soft);margin-top:.7em;font-weight:500}
.figure-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;max-width:980px}
@media (max-width:720px){.figure-pair{grid-template-columns:1fr}}

.cta-band{
  margin:3.2rem 0;padding:2.2rem 2.4rem;border-radius:16px;max-width:880px;
  background:var(--black);color:#fff;border:0;box-shadow:var(--shadow);
}
.cta-band h2,.cta-band h3{margin-top:0;font-size:1.5rem;color:#fff;text-transform:uppercase}
.cta-band p{max-width:58ch;color:#c9c9d2}
.cta-band .band-cta{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.2rem}
.cta-band .btn-ghost{color:#fff}

.price-tag{font-family:var(--font-display);font-size:2.9rem;font-weight:900;color:var(--orange);line-height:1;margin:.2em 0}

.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:2.5rem}
.gallery-grid a{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;
  box-shadow:var(--shadow);transition:transform .25s var(--ease-out)}
.gallery-grid a:hover{transform:translateY(-3px)}
.gallery-grid img{width:100%;height:100%;object-fit:cover}

.before-after{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:2.4rem 0;max-width:980px}
.before-after .figure{margin:0}
@media (max-width:720px){.before-after{grid-template-columns:1fr}}
.tag-before,.tag-after{position:absolute;top:.8rem;left:.8rem;z-index:2;font-family:var(--font-display);
  font-weight:800;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.4em .9em;border-radius:7px;background:var(--ink);color:#fff}
.tag-after{background:var(--orange)}
.ba-wrap{position:relative}

/* faq items on inner pages */
.faq-item{border:1px solid var(--line);border-radius:12px;margin-bottom:.8rem;background:var(--paper);
  box-shadow:var(--shadow);max-width:74ch}
.faq-item summary{cursor:pointer;padding:1.05rem 3rem 1.05rem 1.3rem;font-weight:700;color:var(--ink);
  list-style:none;position:relative;font-family:var(--font-display);font-size:1rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);
  color:var(--orange);font-size:1.4rem;font-weight:800;transition:transform .25s var(--ease-out)}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-item p{padding:0 1.3rem 1.1rem;max-width:66ch}

/* project hub cards reuse */
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.6rem}
@media (max-width:980px){.proj-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.proj-grid{grid-template-columns:1fr}}
.proj-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden;
  text-decoration:none;color:inherit;display:flex;flex-direction:column;box-shadow:var(--shadow);
  transition:transform .25s var(--ease-out)}
.proj-card:hover{transform:translateY(-5px)}
.proj-img{aspect-ratio:4/3;background:var(--paper-alt) center/cover no-repeat}
.proj-card h3{font-size:1.12rem;margin:1.2rem 1.4rem .3rem}
.proj-card p{margin:0 1.4rem .6rem;font-size:.93rem}
.proj-card .insp-link{margin:0 1.4rem 1.3rem;color:var(--orange);text-decoration:none;font-weight:700}
.proj-more{margin-top:2.4rem}
.insp-link{color:var(--orange);text-decoration:none;font-weight:700}
.insp-link:hover{text-decoration:underline}

/* styled writing: PPC scannability */
.prose h2{position:relative;padding-bottom:.35em}
.prose h2::after{content:"";position:absolute;left:0;bottom:0;width:64px;height:4px;background:var(--orange);border-radius:2px}
.prose ul{list-style:none;padding-left:0}
.prose ul li{position:relative;padding-left:1.7em}
.prose ul li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--orange);font-weight:800}
.prose>p:first-of-type{font-size:1.12rem;color:var(--ink)}
.price-tag+p{font-weight:600;color:var(--ink)}

/* service-area block on service pages (local relevance) */
.svc-area{margin:3rem 0 0;padding:1.8rem 2rem;border:1px solid var(--line);border-radius:16px;
  background:linear-gradient(180deg,rgba(244,119,10,.045),rgba(244,119,10,0))}
.svc-area h2{margin:.2rem 0 .6rem;font-size:1.32rem;text-transform:none}
.svc-area p{max-width:70ch;margin:0 0 .9rem}
.svc-area .area-towns{display:flex;flex-wrap:wrap;gap:.4rem .5rem;margin:0 0 .9rem;padding:0;list-style:none}
.svc-area .area-towns li{font-size:.86rem;color:var(--ink-soft);background:var(--paper-2,#f6f6f8);
  border:1px solid var(--line);border-radius:999px;padding:.3em .85em}
.svc-area .area-more{font-size:.9rem;margin:0}
@media (max-width:720px){.svc-area{padding:1.4rem 1.2rem}}

/* wide landscape figure (About page truck photo) */
.figure-wide{max-width:100%}
.figure-wide img{width:100%;height:auto}

/* "all real photos" statement */

/* "On this job" narrative that introduces a page's photo sequence */
.job-story{margin:3rem 0 1.6rem;padding:1.6rem 1.9rem;border-left:4px solid var(--orange);
  background:linear-gradient(90deg,rgba(244,119,10,.06),rgba(244,119,10,0));border-radius:0 14px 14px 0}
.job-story .section-mark{margin:0 0 .5rem}
.job-story h2{margin:0 0 .7rem;font-size:1.28rem;text-transform:none}
.job-story p{max-width:72ch;margin:0 0 .8rem}
.job-story p:last-child{margin-bottom:0}
@media (max-width:720px){.job-story{padding:1.2rem 1.1rem;margin:2.2rem 0 1.2rem}.job-story h2{font-size:1.14rem}}


/* --- pricing list (chimney-cleaning-cost.html) --- */
.price-list{list-style:none;margin:1.4rem 0 .4rem;padding:0;max-width:62ch}
.price-list li{display:flex;justify-content:space-between;align-items:baseline;
  gap:1.4rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.prose .price-list li::before{content:none}
.prose .price-list li{padding-left:0}
.price-list li:last-child{border-bottom:0}
.price-list .pl-name{font-weight:600;color:var(--ink)}
.price-list .pl-note{display:block;font-weight:400;font-size:.88rem;
  color:var(--ink-soft);margin-top:.2rem;line-height:1.4}
.price-list .pl-price{font-family:var(--font-display);font-weight:900;
  font-size:1.4rem;color:var(--orange);white-space:nowrap}
@media (max-width:520px){
  .price-list li{gap:.9rem}
  .price-list .pl-price{font-size:1.15rem}
}
