/* Homepage art direction: grounded photographic service design. */
.home-page{--space:clamp(44px,5vw,72px);background:#fffdf8}
.home-page h1,.home-page h2,.home-page h3{font-family:Bahnschrift,"Segoe UI",Arial,sans-serif;letter-spacing:-.025em}
.home-page .home-hero{background:#173f35;padding:42px 0;color:#fff;overflow:hidden}
.home-page .home-hero .hero-grid{grid-template-columns:1.08fr 1fr;gap:52px;align-items:center}
.home-page .home-hero h1{color:#fff;font-size:clamp(42px,4.1vw,62px);line-height:1.06;margin-bottom:20px;max-width:12ch}
.home-page .hero-promise{color:#f3c4a5;font-size:24px;line-height:1.3;margin:0 0 22px;font-weight:600;max-width:22ch}
.home-page .home-hero p:not(.hero-promise):not(.hero-note){font-size:16px;line-height:1.55;margin-bottom:10px;color:#e8eee9;max-width:48ch}
.home-page .home-hero .hero-actions{margin-top:26px;gap:24px}
.home-page .home-hero .hero-actions .button{min-height:58px;font-size:16px;padding-inline:26px;box-shadow:0 5px 18px #0002}
.home-page .home-hero .text-link{color:#fff}
.home-page .home-hero .hero-note{color:#d5e2da;font-size:13px;margin-top:18px;max-width:48ch}
.home-page .home-hero figure{min-height:510px;height:100%;border-radius:8px 8px 60px 8px;border-bottom:7px solid #b9472f;overflow:hidden}
.home-page .home-hero figure img{object-position:65% center}
.home-page .home-hero figcaption{left:18px;right:18px;bottom:20px;background:#fffdf8;color:#173f35;border-radius:5px;font-size:14px;padding:13px 18px;box-shadow:0 6px 20px #0002}
.home-page .facts-band{background:#edf0e8;border:0;border-bottom:1px solid #d5dfd2}
.home-page .facts-band .container{padding-block:22px;font-size:14px}
.home-page .section h2{font-size:clamp(28px,3vw,42px);line-height:1.13;margin-bottom:26px;max-width:25ch}
.home-page #services{background:#fffdf8}
.home-page #services>.container>p{max-width:78ch}
.home-page .photo-service-grid{gap:24px;margin-top:30px}
.home-page .photo-service-card{border:1px solid #d6ded2;border-radius:8px;box-shadow:0 7px 25px #173f3509;background:#f8f8f1;transition:box-shadow .18s}
.home-page .photo-service-card:hover{box-shadow:0 12px 30px #173f3516}
.home-page .service-photo picture,.home-page .service-photo img{height:185px}
.home-page .service-card-body{padding:23px}
.home-page .photo-service-card h3{font-size:23px;line-height:1.17;margin-bottom:15px;min-height:54px}
.home-page .service-card-body p{color:#43584c;font-size:15px;line-height:1.55;margin-bottom:8px}
.home-page .service-card-links a{padding:10px 0;font-size:13px}
.home-page .photo-service-card:nth-child(9) .service-card-links{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.home-page .photo-service-card:nth-child(9) .service-card-links a{font-size:12px;line-height:1.4;min-height:52px}
.home-page .section-end{padding:24px;background:#edf0e8;border-left:4px solid #b9472f;border-radius:0 7px 7px 0;justify-content:space-between}
.home-page .section:not(.coverage-section):not(.final-cta):nth-of-type(even){background:#edf0e8}
.home-page .two-column{gap:52px}
.home-page .two-column>div:first-child{max-width:65ch}
.home-page .decision-panel{background:#fffdf8;border:0;border-left:4px solid #b9472f;border-top:0;border-radius:0 8px 8px 0;box-shadow:0 10px 30px #173f3508;padding:30px}
.home-page .decision-panel h3{font-size:24px;max-width:20ch}
.home-page .split{gap:52px;grid-template-columns:1fr 1.08fr}
.home-page .split figure{border-radius:8px;min-height:440px;max-height:720px;border-bottom:6px solid #b9472f}
.home-page .split picture,.home-page .split img{height:100%;object-fit:cover}
.home-page .split>div>p{font-size:16px;line-height:1.55;margin-bottom:12px}
.home-page .inline-links a,.home-page .split>div>a{font-weight:700}
.home-page .comparison-panels{gap:22px}
.home-page .comparison-panels article{background:#fffdf8;border:1px solid #d6ded2;border-top:5px solid #173f35;border-radius:5px;padding:30px}
.home-page .comparison-panels article+article{border-top-color:#b9472f}
.home-page .coverage-section{background:#173f35!important;border-block:1px solid #173f35}
.home-page .coverage-section .zip-grid{grid-template-columns:repeat(7,1fr);gap:12px}
.home-page .coverage-section .zip-grid span{background:#fffdf8;color:#173f35;border:0;border-radius:4px;font-size:17px;font-weight:700;padding:16px}
.home-page .coverage-section .coverage-callout{background:#244b40;border:1px solid #ffffff30;border-radius:6px}
.home-page .faqs{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:0 44px;align-items:start}
.home-page .faqs details{padding:20px 0}
.home-page .article-cards{gap:24px}
.home-page .article-cards article{border-radius:8px;box-shadow:0 6px 25px #173f3507}
.home-page .article-cards h3{font-size:22px}
.home-page .final-cta{background:#173f35!important;border-top:7px solid #b9472f}
.home-page .final-cta h2{color:#fff;max-width:26ch}
@media(min-width:901px) and (max-width:1150px){.home-page .home-hero .hero-grid{gap:32px}.home-page .home-hero h1{font-size:50px}.home-page .hero-promise{font-size:22px}.home-page .home-hero figure{min-height:510px}.home-page .split{gap:32px}.home-page .photo-service-card h3{font-size:20px}}
@media(max-width:900px){.home-page .home-hero .hero-grid{grid-template-columns:1fr;gap:28px}.home-page .home-hero h1{max-width:18ch}.home-page .home-hero figure{min-height:0;height:330px;border-radius:8px 8px 35px 8px}.home-page .home-hero figure img{object-position:center 60%}.home-page .split{grid-template-columns:1fr;gap:28px}.home-page .split figure{min-height:0;height:360px}.home-page .coverage-section .zip-grid{grid-template-columns:repeat(5,1fr)}.home-page .faqs{grid-template-columns:1fr}}
@media(max-width:760px){.home-page .home-hero{padding:30px 0}.home-page .home-hero h1{font-size:42px;margin-bottom:18px}.home-page .hero-promise{font-size:22px;max-width:26ch;margin-bottom:18px}.home-page .home-hero .hero-actions .button{width:100%}.home-page .home-hero .hero-actions .text-link{margin-top:14px}.home-page .home-hero figure{height:300px}.home-page .facts-band .container{font-size:12px}.home-page .service-photo picture,.home-page .service-photo img{height:210px}.home-page .photo-service-card h3{min-height:0;font-size:24px}.home-page .section h2{font-size:30px;max-width:28ch}.home-page .decision-panel{padding:24px}.home-page .section-end{padding:22px;gap:18px}.home-page .coverage-section .zip-grid{grid-template-columns:repeat(4,1fr);gap:8px}.home-page .coverage-section .zip-grid span{padding:12px 5px;font-size:15px}.home-page .comparison-panels article{padding:24px}.home-page .article-cards h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.home-page .photo-service-card{transition:none}}
.home-page .customer-reviews-section{background:#edf0e8!important}
.home-page .team-gallery-section{background:#fffdf8!important}
.gallery-intro{max-width:65ch}
.team-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}
.team-gallery-photo{margin:0;min-width:0;border:1px solid #d6ded2;border-radius:8px;overflow:hidden;background:#edf0e8}
.team-gallery-photo a{display:block}
.team-gallery-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.team-gallery-photo figcaption{padding:16px 20px;font-size:16px;font-weight:600;color:#173f35}
.team-gallery-photo.gallery-featured{grid-column:1/-1}
.gallery-featured img{aspect-ratio:16/9;object-position:center 65%}
.team-gallery-photo a:focus-visible{outline:4px solid #b9472f;outline-offset:-4px}
@media(min-width:761px) and (max-width:1000px){.team-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.team-gallery{grid-template-columns:1fr;gap:20px}.team-gallery-photo img{aspect-ratio:auto}.team-gallery-photo figcaption{padding:14px 18px}}
.customer-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.customer-review{display:flex;flex-direction:column;background:#fffdf8;border:1px solid #d6ded2;border-radius:8px;padding:30px;border-top:4px solid #b9472f}
.review-rating{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.review-stars{display:inline-flex;gap:4px;font-size:23px;line-height:1}
.star-filled{color:#a45213}.star-empty{color:#8a938b}
.rating-value{font-size:14px;font-weight:700;color:#173f35}
.customer-review blockquote{margin:0 0 22px;font-size:16px;line-height:1.6}
.customer-review blockquote p{margin-bottom:10px}
.review-author{margin-top:auto;padding-top:18px;border-top:1px solid #d6ded2}
.home-page .review-author h3{font-size:19px;margin-bottom:6px}
.review-author time{font-size:13px;color:#54635a}
.customer-reviews-section .section-end p{margin:0;max-width:42ch;font-weight:600}
@media(max-width:760px){.customer-review-grid{grid-template-columns:1fr}.customer-review{padding:24px}.customer-review blockquote{font-size:15px}}
