/*
Theme Name: Pristine Living Softwash
Theme URI: https://kypristineliving.com/
Author: Pristine Living
Description: A three-page WordPress theme for Pristine Living exterior cleaning in Louisville, Kentucky.
Version: 1.2.4
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: pristine-living-softwash
*/

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

:root{--ink:#10293a;--muted:#537082;--blue:#176eae;--blue-dark:#124e7e;--sky:#e8f5fb;--paper:#f8fbfc;--line:#dbe8ec;--white:#fff;--lime:#b8de72;--shadow:0 22px 60px rgba(17,61,84,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.15;letter-spacing:-.045em}h1{font-size:clamp(2.7rem,5.7vw,5.6rem)}h2{font-size:clamp(2rem,4vw,3.55rem)}h3{font-size:1.35rem}p{color:var(--muted)}.wrap{width:min(1180px,calc(100% - 44px));margin-inline:auto}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}.screen-reader-text:focus{position:fixed;top:12px;left:12px;z-index:1000;clip:auto;clip-path:none;height:auto;width:auto;background:white;padding:12px}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--blue);font-weight:800;font-size:.76rem;letter-spacing:.17em;text-transform:uppercase}.eyebrow:before{content:'';width:22px;height:2px;background:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;border-radius:7px;padding:15px 22px;min-height:52px;background:var(--blue);color:#fff;font-weight:800;font-size:.94rem;line-height:1.1;transition:transform .2s,background .2s,box-shadow .2s}.btn:hover,.btn:focus-visible{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 9px 22px rgba(23,110,174,.2)}.btn-outline{background:transparent;color:var(--ink);border-color:#aac7d5}.btn-outline:hover,.btn-outline:focus-visible{color:white}.btn-light{background:white;color:var(--blue-dark)}.btn-light:hover,.btn-light:focus-visible{background:#e8f5fb;color:var(--blue-dark)}.arrow{font-size:1.25em;line-height:0}.section{padding:100px 0}.section-head{max-width:700px;margin-bottom:38px}.section-head h2{margin:15px 0 16px}.section-head p{font-size:1.06rem}.site-header{position:relative;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.topbar{background:#103c59;color:#dceef8;font-size:.78rem}.topbar .wrap{display:flex;justify-content:space-between;gap:20px;padding-top:8px;padding-bottom:8px}.topbar a{color:#fff;font-weight:700}.header-main{display:flex;align-items:center;gap:32px;min-height:86px}.brand{display:flex;align-items:center;gap:10px;min-width:max-content}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--blue);color:white;font-size:22px;transform:rotate(-7deg)}.brand-text{font:800 1.18rem/1 Manrope,Arial,sans-serif;letter-spacing:-.05em}.brand-text small{display:block;margin-top:5px;color:var(--blue);font:800 .56rem/1 'DM Sans',Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase}.nav{display:flex;align-items:center;gap:32px;margin-left:auto}.nav a{font-size:.89rem;font-weight:800;color:#385568}.nav a:hover,.nav a:focus-visible,.nav .current-menu-item>a,.nav .current_page_item>a{color:var(--blue)}.header-call{padding:12px 17px;min-height:44px;font-size:.83rem}.menu-toggle{display:none;border:0;background:none;color:var(--ink);font-size:1.5rem;margin-left:auto}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f4f9fb 0%,#e5f3f9 100%)}.hero:after{content:'';position:absolute;width:420px;height:420px;border:1px solid rgba(38,117,168,.15);border-radius:50%;right:-190px;top:-140px;pointer-events:none}.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:62px;min-height:635px;padding-block:80px}.hero-copy{position:relative;z-index:1}.hero h1{max-width:760px;margin:20px 0}.hero h1 em{font-style:normal;color:var(--blue)}.hero-copy>p{max-width:570px;font-size:1.13rem;line-height:1.7}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 31px}.hero-proof{display:flex;gap:18px;align-items:center;color:#406176;font-size:.86rem;font-weight:700}.hero-proof span{display:flex;align-items:center;gap:8px}.hero-proof span:before{content:'✓';display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#d1edce;color:#276d42;font-size:.72rem}.hero-photo{position:relative}.hero-photo img{width:100%;height:490px;object-fit:cover;object-position:center 50%;border-radius:12px;box-shadow:var(--shadow)}.photo-note{position:absolute;left:-28px;bottom:26px;background:#fff;border-radius:9px;box-shadow:var(--shadow);padding:16px 20px;max-width:230px;font-size:.82rem;line-height:1.35;font-weight:700}.photo-note strong{display:block;color:var(--blue);font-size:1.02rem}.trust-strip{background:#103c59;color:white}.trust-strip .wrap{display:flex;justify-content:space-between;gap:28px;padding-block:21px}.trust-strip span{display:flex;align-items:center;gap:10px;font-size:.84rem;font-weight:700}.trust-strip b{color:var(--lime);font-size:1.18rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-card img{width:100%;height:230px;object-fit:cover}.service-card .body{padding:25px}.service-card h3{margin-bottom:10px}.service-card p{min-height:74px;margin-bottom:14px}.text-link{display:inline-flex;gap:8px;align-items:center;color:var(--blue);font-weight:800;font-size:.9rem}.text-link:hover{text-decoration:underline}.soft-bg{background:var(--paper)}.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.split-image{position:relative}.split-image img{width:100%;max-height:570px;object-fit:cover;border-radius:11px}.image-caption{position:absolute;right:-22px;bottom:-22px;background:var(--blue);color:white;border-radius:8px;padding:20px 25px;max-width:230px;font:800 1.04rem/1.35 Manrope,Arial,sans-serif;box-shadow:var(--shadow)}.split-copy h2{margin:17px 0}.check-list{list-style:none;margin:25px 0;padding:0}.check-list li{position:relative;padding:0 0 13px 31px;color:#3c596a;font-weight:600}.check-list li:before{content:'✓';position:absolute;left:0;top:1px;color:var(--blue);font-weight:800}.quote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:19px}.quote-card{padding:30px;background:#fff;border:1px solid var(--line);border-radius:10px}.quote-card .stars{color:#e4a635;letter-spacing:.15em}.quote-card blockquote{margin:14px 0 19px;font-size:1rem;line-height:1.7;color:#365367}.quote-card cite{font-style:normal;color:var(--ink);font-weight:800;font-size:.89rem}.cta-band{background:#126da9;color:white;overflow:hidden}.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-block:55px}.cta-band h2{max-width:650px;margin:8px 0;color:white;font-size:clamp(2rem,3.5vw,3.1rem)}.cta-band p{color:#e2f3fc;margin:0}.cta-band .eyebrow{color:#c1ea9d}.cta-band .eyebrow:before{background:#c1ea9d}.page-hero{background:#eaf5f9;padding:80px 0 74px}.page-hero .wrap{max-width:1180px}.page-hero h1{font-size:clamp(2.7rem,5vw,4.75rem);margin:17px 0}.page-hero p{max-width:690px;font-size:1.1rem}.service-detail{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px;padding-block:70px;border-bottom:1px solid var(--line)}.service-detail:last-child{border-bottom:0}.service-detail:nth-child(even) .service-detail-image{order:2}.service-detail-image img{width:100%;height:390px;object-fit:cover;border-radius:10px}.service-detail h2{margin:14px 0}.service-detail p{max-width:510px}.pill-list{display:flex;flex-wrap:wrap;gap:9px;margin:23px 0}.pill-list span{padding:7px 12px;background:#e7f4f9;border-radius:40px;color:#315a71;font-size:.79rem;font-weight:800}.contact-grid{display:grid;grid-template-columns:.83fr 1.17fr;gap:76px;align-items:start}.contact-card{padding:35px;background:#eaf5f9;border-radius:10px}.contact-card h2{font-size:2.25rem;margin:14px 0}.contact-method{padding:20px 0;border-bottom:1px solid #cbdfe8}.contact-method:last-child{border:0}.contact-method strong{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--blue)}.contact-method a,.contact-method span{display:block;font-size:1.11rem;font-weight:800;margin-top:5px}.form-panel h2{font-size:2.45rem;margin-bottom:10px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{margin-bottom:18px}.field label{display:block;font-weight:800;font-size:.86rem;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #bed2dc;border-radius:6px;background:#fff;color:var(--ink);padding:13px 15px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,110,174,.13)}.field textarea{min-height:135px;resize:vertical}.form-note{font-size:.8rem}.notice{padding:13px 16px;border-radius:6px;margin:20px 0;font-weight:700}.notice.success{background:#e7f5e6;color:#26633d}.notice.error{background:#fff0ec;color:#9c402d}.honeypot{position:absolute;left:-9999px}.site-footer{background:#102d42;color:#d3e1e9;padding:62px 0 22px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:45px}.site-footer .brand-text,.site-footer h3{color:white}.site-footer .brand-text small{color:#a8dcf5}.site-footer h3{font-size:1rem;letter-spacing:0}.site-footer p{color:#acc2d0;max-width:350px}.site-footer a{display:block;color:#d3e1e9;margin:7px 0}.site-footer a:hover{color:white;text-decoration:underline}.footer-bottom{border-top:1px solid #315064;margin-top:50px;padding-top:19px;color:#a2bccb;font-size:.79rem}.wp-block-image img{height:auto}.content-page{padding:75px 0;max-width:760px}.content-page h1{font-size:3rem}.content-page a{color:var(--blue);text-decoration:underline}
@media(max-width:960px){.hero-inner{gap:35px;min-height:0}.hero-photo img{height:440px}.split{gap:35px}.service-detail{gap:35px}.contact-grid{gap:35px}.header-main{gap:18px}.nav{gap:18px}}
@media(max-width:720px){.wrap{width:min(100% - 32px,1180px)}.section{padding:70px 0}.topbar .wrap{justify-content:center}.topbar .wrap span:last-child{display:none}.header-main{min-height:70px}.menu-toggle{display:block}.header-call{display:none}.nav{display:none;position:absolute;left:0;right:0;top:100%;margin:0;padding:16px 22px 23px;background:white;box-shadow:0 15px 25px rgba(16,41,58,.12);flex-direction:column;align-items:stretch;gap:0}.nav.is-open{display:flex}.nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}.hero-inner,.split,.contact-grid,.service-detail{grid-template-columns:1fr}.hero-inner{padding-block:60px;gap:35px}.hero h1{font-size:clamp(2.7rem,11vw,4.2rem)}.hero-photo img{height:345px}.photo-note{left:12px;bottom:12px}.hero-proof{flex-wrap:wrap}.trust-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:13px}.service-grid,.quote-grid{grid-template-columns:1fr}.service-card p{min-height:0}.split-image{order:0}.image-caption{right:10px;bottom:10px}.service-detail{padding-block:50px;gap:25px}.service-detail:nth-child(even) .service-detail-image{order:0}.service-detail-image img{height:300px}.cta-band .wrap{display:block}.cta-band .btn{margin-top:22px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:480px){.trust-strip .wrap{grid-template-columns:1fr}.hero-actions .btn{width:100%}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.photo-note{position:static;margin-top:-20px;margin-left:14px;max-width:90%;z-index:1;position:relative}.page-hero{padding:60px 0}.contact-card{padding:26px}}

/* Brand header */
.site-header{border-bottom:2px solid var(--blue)}
.site-header .header-main{min-height:160px;justify-content:space-between}
.header-logo{display:block;position:relative;flex:0 0 215px;width:215px;height:152px;overflow:hidden}
.header-logo-image{position:absolute;display:block;max-width:none;width:260px;height:260px;left:-25px;top:-55px}
.header-phone{display:inline-flex;align-items:center;gap:8px;padding:11px 21px;border-radius:99px;background:#ff960b;color:#fff;font-weight:800;white-space:nowrap;box-shadow:0 6px 16px rgba(255,150,11,.2);transition:background .2s,transform .2s}
.header-phone:hover,.header-phone:focus-visible{background:#e57c00;transform:translateY(-2px)}
.header-phone span{font-size:1.15rem}
.header-nav-wrap{border-top:1px solid #e2edf2;background:#fff}
.header-nav-inner{display:flex;align-items:center;min-height:48px;gap:20px}
.header-login{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 14px;border:1px solid #bdd4df;border-radius:20px;color:var(--blue-dark);background:#f2f9fc;font-size:.81rem;font-weight:800;white-space:nowrap}
.header-login:hover,.header-login:focus-visible{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff}
.header-login:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.header-local{color:#6f8997;font-size:.75rem;font-weight:700}
.site-header .nav{gap:28px}
.site-header .nav a{font-size:.82rem}
.footer-logo{display:block;position:relative;width:190px;height:138px;overflow:hidden;background:#fff;border-radius:9px;margin-bottom:16px}
.footer-logo img{position:absolute;display:block;max-width:none;width:225px;height:225px;left:-22px;top:-47px;filter:none;margin:0}
.service-grid .service-card img{height:330px}
.service-card img.roof-comparison{object-fit:contain;background:#f3f8fa}
.service-detail-image img.roof-comparison{height:510px;object-fit:contain;background:#f3f8fa}
.service-detail-concrete{grid-template-columns:1.15fr .85fr}
.service-comparison{margin:0}
.service-comparison img{height:auto;object-fit:contain}
.service-comparison figcaption{margin-top:9px;color:#6f8795;font-size:.75rem}
.service-detail-concrete .service-lead{font-size:1.2rem;letter-spacing:-.02em;margin:0 0 14px}
.service-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:24px}
@media(max-width:720px){.service-detail-concrete{grid-template-columns:1fr}.service-comparison img{height:auto}}
.estimator-gutter-type{grid-column:1/-1}
.estimator-gutter-type label{display:block;color:#657f8d;font-size:.72rem;font-weight:800;margin-bottom:4px}
.estimator-gutter-type select{width:100%;border:1px solid #bdd2dd;border-radius:5px;background:#fff;color:var(--ink);padding:9px;font-size:.84rem}
.estimator-gutter-type select:focus{outline:2px solid #80c0e0;outline-offset:1px}

/* Online price estimator */
.estimator-section{background:linear-gradient(135deg,#e8f5fb,#f7fbfd)}
.estimator-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:start}
.estimator-intro{padding-top:34px}
.estimator-intro h2{margin:18px 0}
.estimator-intro>p{font-size:1.04rem}
.estimator-intro .check-list{margin-top:27px}
.estimator-intro .estimator-small{font-size:.88rem;color:#647e8d;border-left:3px solid #a9d7ed;padding-left:15px;margin-top:29px}
.estimator-card{background:#fff;border:1px solid #cddfe7;border-radius:13px;padding:30px;box-shadow:var(--shadow)}
.estimator-card-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}
.estimator-card-head strong{font:800 1.23rem/1.2 Manrope,Arial,sans-serif}
.estimator-card-head span{display:inline-block;background:#e5f5db;color:#396a32;border-radius:30px;padding:6px 10px;font-size:.73rem;font-weight:800;white-space:nowrap}
.estimator-service{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;border:1px solid #d8e5eb;border-radius:9px;padding:17px;margin-bottom:11px}
.estimator-service:has(input[type=checkbox]:checked){background:#f0f9fd;border-color:#85c6e7}
.estimator-choice{display:flex;align-items:flex-start;gap:11px;cursor:pointer}
.estimator-choice input{width:19px;height:19px;flex:none;accent-color:var(--blue);margin:2px 0 0}
.estimator-choice strong,.estimator-choice small{display:block;line-height:1.35}
.estimator-choice strong{font-size:.94rem;color:var(--ink)}
.estimator-choice small{font-size:.75rem;color:#6f8795;margin-top:4px}
.estimator-area label{display:block;color:#657f8d;font-size:.72rem;font-weight:800;text-align:right;margin-bottom:4px}
.estimator-area>div{display:flex;align-items:center;gap:6px}
.estimator-area input{width:92px;border:1px solid #bdd2dd;border-radius:5px;background:#fff;color:var(--ink);padding:8px;text-align:right;font-weight:800}
.estimator-area input:focus{outline:2px solid #80c0e0;outline-offset:1px}
.estimator-area span{font-size:.74rem;color:#657f8d;white-space:nowrap}
.estimator-button{width:100%;margin:10px 0 18px}
.estimator-result{padding:22px;border-radius:8px;background:#edf7fb;border:1px solid #bfdfed}
.estimator-result>span{display:block;color:#527283;text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:.72rem}
.estimator-result>strong{display:block;color:var(--blue-dark);font:800 clamp(1.35rem,3vw,2.1rem)/1.25 Manrope,Arial,sans-serif;margin:9px 0 13px}
.estimator-result small{display:block;color:#597483;font-size:.72rem;line-height:1.5}
.estimator-breakdown{border-top:1px solid #cde3ed;padding:10px 0;color:#385a6d;font-size:.8rem;font-weight:700}
.estimator-breakdown div{margin:3px 0}
.estimator-result [data-discount]{color:#2d713e;font-weight:800;font-size:.79rem;margin:0 0 10px}
.estimator-card>.text-link{margin-top:15px}
@media(max-width:960px){.estimator-layout{gap:35px}.header-local{display:none}.site-header .nav{margin:auto}}
@media(max-width:720px){.site-header .header-main{min-height:125px}.header-logo{flex-basis:170px;width:170px;height:120px}.header-logo-image{width:205px;height:205px;left:-20px;top:-44px}.header-phone{padding:9px 13px;font-size:.82rem}.header-nav-inner{min-height:42px;justify-content:flex-end}.header-nav-inner .menu-toggle{display:block;margin:0}.site-header .nav{top:100%;margin:0;gap:0}.estimator-layout{grid-template-columns:1fr}.estimator-intro{padding-top:0}.estimator-card{padding:22px}}
@media(max-width:480px){.header-logo{flex-basis:145px;width:145px;height:103px}.header-logo-image{width:175px;height:175px;left:-17px;top:-37px}.header-phone{font-size:.69rem;padding:8px 10px;gap:5px}.header-phone span{font-size:.9rem}.estimator-card{padding:17px}.estimator-service{grid-template-columns:1fr;gap:12px}.estimator-area{display:flex;justify-content:space-between;align-items:center}.estimator-area label{margin:0;text-align:left}.estimator-card-head{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.header-login{font-size:.78rem;padding:5px 12px}.header-nav-inner{gap:12px}}
