/* Waste oil content layouts using the existing demo theme. */
.navigation{gap:22px}.waste-oil-audiences{background:#f5f4ef}.waste-oil-audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.waste-oil-audience-grid>article{padding:35px;border:1px solid #deded5;border-radius:7px;background:#fff}.waste-oil-audience-grid h3{font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.2}.waste-oil-audience-grid p{margin:20px 0;line-height:1.75}.waste-oil-audience-grid .text-link{margin-top:4px}.waste-oil-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.waste-oil-service-card{border:1px solid #deded5;border-top:3px solid #bd5a2e;border-radius:6px;padding:32px;scroll-margin-top:120px;background:#fff;transition:transform .25s,box-shadow .25s}.waste-oil-service-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #4532220d}.waste-oil-service-card h3{font-size:clamp(1.6rem,2.3vw,2rem);line-height:1.2}.waste-oil-service-card p{margin:19px 0;line-height:1.75}.waste-oil-service-card ul,.waste-oil-audience-grid ul{list-style:disc;padding-left:21px;margin:20px 0;color:#62665d}.waste-oil-service-card li,.waste-oil-audience-grid li{padding-left:3px;margin:11px 0;font-size:16px;line-height:1.6}.waste-oil-service-card .text-link{margin-top:8px}.waste-oil-property-section{background:#f1f1ec}.waste-oil-property-section article{scroll-margin-top:120px}.waste-oil-property-section h2{font-size:clamp(2rem,3.2vw,3rem)}.waste-oil-property-section .button{margin-top:9px}.waste-oil-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.waste-oil-process-grid article{border-top:1px solid #d7d8cf;padding-top:24px}.waste-oil-process-grid h3{font-size:1.5rem}.waste-oil-process-grid p{margin-top:16px;line-height:1.75}.waste-oil-specialty-heading{background:#efeee8;padding-bottom:45px}.waste-oil-specialty-heading>p{max-width:760px;margin:24px 0 12px}.waste-oil-faq{border-top:1px solid #deded5;background:#f5f4ef}.waste-oil-faq h2{margin-bottom:32px}.waste-oil-faq details{border-bottom:1px solid #d5d7cd;padding:21px 0;max-width:960px}.waste-oil-faq summary{cursor:pointer;font-size:18px;font-weight:550;line-height:1.5;padding-right:15px}.waste-oil-faq details p{max-width:820px;margin:17px 0 4px;line-height:1.75}.contact-form select{display:block;width:100%;min-height:49px;color:#282826;background:#fff;border:1px solid #c7c7bf;border-radius:4px;padding:12px;font:inherit;font-size:15px}.contact-form select:focus-visible{outline:2px solid #b85124;outline-offset:3px}.image-hero-copy{animation:arrive .7s ease-out both}.service-jump{flex-wrap:wrap}.waste-oil-faq summary:focus-visible{outline:2px solid #b85124;outline-offset:5px}@media(max-width:1080px){.navigation{gap:18px}}@media(max-width:720px){.waste-oil-audience-grid,.waste-oil-service-grid,.waste-oil-process-grid{grid-template-columns:1fr;gap:22px}.waste-oil-audience-grid>article,.waste-oil-service-card{padding:25px}.waste-oil-service-card,.waste-oil-property-section article{scroll-margin-top:110px}.waste-oil-faq summary{font-size:16px}.waste-oil-audiences .section-heading>p{max-width:none}}@media(prefers-reduced-motion:reduce){.waste-oil-service-card,.image-hero-copy{animation:none!important;transition:none!important}.waste-oil-service-card:hover{transform:none}}

/* Workshop and waste oil service imagery. */
.waste-oil-category-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:4px;margin-bottom:28px}
.waste-oil-service-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:4px;margin-bottom:25px}
.waste-oil-contact-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:6px;margin-bottom:32px}
.services-page .page-intro:before{background-image:url('/images/scenes/workshop-hero.png');background-position:center 60%}
.contact-page .page-intro:before{background-image:none}
.about-page .page-intro:before{background-image:none}
.image-hero .hero-backdrop{object-position:center}
@media(max-width:720px){.image-hero .hero-backdrop{object-position:65% center}.waste-oil-category-photo{margin-bottom:23px}.waste-oil-contact-photo{margin-bottom:25px}}

.sitemap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.sitemap-grid h2{font-size:1.6rem;margin-bottom:24px}.sitemap-grid ul{list-style:none;padding:0}.sitemap-grid li{margin:0;border-bottom:1px solid #deded5}.sitemap-grid li a{display:block;padding:14px 0;line-height:1.5}.sitemap-grid a:hover,.footer-bottom a:hover{text-decoration:underline}.sitemap-grid a:focus-visible,.footer-bottom a:focus-visible{outline:2px solid #bd5a2e;outline-offset:4px}.footer-bottom{gap:16px;flex-wrap:wrap}@media(max-width:720px){.sitemap-grid{grid-template-columns:1fr}}

/* Page-specific headers: imagery and copy match each page's purpose. */
.services-page .page-intro:before{background-image:url('/images/scenes/services-page-repair-camo-plain.png');background-position:right 42%;background-size:cover}
.furnaces-page .page-intro:before{background-image:url('/images/ce-440.jpg');background-position:90% center;background-size:auto 105%;background-repeat:no-repeat}
.about-page .page-intro:before{background-image:url('/images/scenes/about-team-shirts.png');background-position:center 38%;background-size:cover}
.contact-page .page-intro:before{background-image:url('/images/scenes/services-page-installation-camo-plain.png');background-position:right 42%;background-size:cover}
.sitemap-page .page-intro:before{background-image:url('/images/scenes/services-page-maintenance-camo-plain.png');background-position:right center;background-size:cover}
.page-intro:after{background:linear-gradient(90deg,#20271ff5 0%,#20271fee 38%,#20271f85 65%,#20271f35 100%)}
.page-intro h1{max-width:780px;text-wrap:balance;line-height:1.1}
.page-intro>p{max-width:590px;line-height:1.7}
.page-intro .eyebrow{max-width:650px;line-height:1.6}
@media(max-width:720px){
.page-intro:after{background:linear-gradient(90deg,#20271ff2,#20271fc9)}
.page-intro h1{font-size:clamp(2.15rem,8.5vw,2.9rem)}
.furnaces-page .page-intro:before{background-position:85% center;background-size:auto 100%}
.about-page .page-intro:before{background-position:60% center}
}

.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.contact-form button:disabled{opacity:.65;cursor:wait}.form-status{line-height:1.6;margin-top:16px}.form-status[data-state="error"]{color:#9b3427}.form-status[data-state="success"]{color:#386d33}

/* David Smith family story. */
.about-page .page-intro:before{background-image:none}
.family-story{align-items:start;gap:clamp(32px,5vw,80px)}
.family-photo{margin:0;min-width:0}
.family-photo img{display:block;width:100%;height:auto;border-radius:6px}
.family-photo figcaption{font-size:14px;line-height:1.6;margin-top:15px;color:#62665d}
.family-story p,.family-reading p{font-size:17px;line-height:1.85;margin:22px 0;color:#555b51}
.family-reading{max-width:800px;margin:0 auto}
.family-reading h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.15;margin:14px 0 30px;text-wrap:balance}
.family-heat{background:#f5f4ef;border-block:1px solid #deded5}
.family-chapter:last-of-type .family-reading p:last-child{border-left:3px solid #bd5a2e;padding-left:24px;margin-top:34px;color:#30382c}
@media(max-width:720px){.family-story{gap:32px}.family-story p,.family-reading p{font-size:16px}.family-photo{max-width:460px;margin-inline:auto}}

/* Display the selected edited family portrait without additional cropping. */
.family-photo img{aspect-ratio:auto;height:auto;object-fit:contain;object-position:center}
