/*
Theme Name: FreshStart Junk
Description: Custom FreshStart Junk website with editable pages and job gallery.
Version: 1.3.18
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: freshstart-junk
*/

:root{--ink:#092b43;--blue:#007fac;--lime:#c5ed38;--paper:#f6f7f1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:var(--paper)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.wrap{max-width:1240px;margin:auto;padding:0 6%}.top{background:var(--ink);color:white;text-align:center;padding:10px;font-size:12px;letter-spacing:.08em}header{background:var(--paper);position:sticky;top:0;z-index:10;border-bottom:1px solid #092b4318}.nav{height:95px;display:flex;align-items:center;gap:28px}.logo{width:105px;height:80px;object-fit:contain;margin-right:auto}nav{display:flex;gap:26px;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:17px 22px;border-radius:5px;background:var(--lime);font-weight:700;border:0;cursor:pointer}.btn.dark{background:var(--ink);color:white}.btn.outline{border:1px solid #092b4340;background:transparent}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';width:24px;height:3px;background:var(--blue)}h1{font-size:clamp(48px,6.6vw,88px);line-height:1.01;letter-spacing:-.055em;margin:25px 0}h1 span{color:var(--blue)}p{line-height:1.7;color:#516572;font-size:16px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:6%;padding-top:55px;padding-bottom:60px;align-items:center}.hero p{max-width:450px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.small{font-size:12px}.heroPhoto{position:relative}.heroPhoto img{width:100%;height:550px;object-fit:cover;border-radius:110px 8px 8px 8px;object-position:center 20%}.badge{position:absolute;bottom:24px;left:-26px;background:var(--lime);padding:23px 27px;border-radius:5px;box-shadow:0 8px 30px #092b4320;font-size:14px;line-height:1.5}.badge strong{display:block;font-size:21px;letter-spacing:-.03em}.bar{background:var(--ink);color:white;padding:25px 0}.bar .wrap{display:flex;justify-content:space-between;gap:20px;font-size:13px}.bar span:before{content:'✓';color:var(--lime);margin-right:12px}section{padding:85px 0}h2{font-size:clamp(32px,4vw,50px);line-height:1.1;letter-spacing:-.045em;margin:18px 0 25px}h3{font-size:21px;letter-spacing:-.025em}.sectionHead{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.sectionHead p{max-width:340px}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #092b4325;border-left:1px solid #092b4325}.service{padding:30px;border-right:1px solid #092b4325;border-bottom:1px solid #092b4325}.num{font-size:12px;color:var(--blue);font-weight:bold}.service p{font-size:14px;margin-bottom:0}.work{background:#e9eee9}.compare{position:relative;height:500px;overflow:hidden;border-radius:8px;background:var(--ink)}.compare img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:center 50%}.compare .before{clip-path:inset(0 50% 0 0)}.compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}.compare .divider{position:absolute;left:50%;height:100%;width:3px;background:white;pointer-events:none}.handle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--lime);border-radius:50%;width:53px;height:53px;display:grid;place-items:center;font-weight:bold}.label{position:absolute;top:20px;background:var(--ink);color:white;font-size:12px;padding:9px 15px;border-radius:4px}.label.left{left:20px}.label.right{right:20px}.tabs{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.tab{padding:12px 18px;border:1px solid #092b4330;border-radius:30px;background:transparent;cursor:pointer}.tab[aria-selected=true]{background:var(--ink);color:white}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.step b{width:45px;height:45px;border-radius:50%;background:var(--lime);display:grid;place-items:center}.step p{font-size:14px}.about{background:var(--ink);color:white}.aboutGrid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about p{color:#c0d1da}.about img{width:100%;height:430px;object-fit:cover;border-radius:8px}.about .eyebrow:before{background:var(--lime)}.about h2{max-width:430px}.quoteGrid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact{display:block;color:var(--blue);font-size:25px;font-weight:bold;margin:24px 0 8px}.area{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.area span{font-size:12px;border:1px solid #092b4325;padding:9px 12px;border-radius:20px}form{padding:30px;background:white;border-radius:8px;border:1px solid #092b4315}label{font-size:12px;font-weight:bold;display:block;margin-bottom:8px}input,textarea,select{width:100%;background:var(--paper);border:1px solid #092b4325;border-radius:4px;padding:13px;margin-bottom:18px;color:var(--ink)}textarea{min-height:100px;resize:vertical}form .btn{width:100%}.faq{max-width:800px;margin:60px auto 0}details{border-bottom:1px solid #092b4325;padding:21px 0}summary{cursor:pointer;font-weight:bold;font-size:16px}details p{font-size:14px}footer{background:var(--ink);color:white;padding:35px 0}footer .wrap{display:flex;justify-content:space-between;gap:20px;font-size:12px;align-items:center}.mobileCall{display:none}@media(max-width:760px){.nav{height:80px;gap:10px}nav{display:none}.nav .btn{padding:12px;font-size:12px}.logo{height:65px;width:86px}.hero{grid-template-columns:1fr;padding-top:30px;gap:25px}.heroPhoto img{height:420px;border-radius:70px 6px 6px 6px}.badge{left:12px;bottom:18px;padding:16px 20px}.hero h1{margin:20px 0}.bar .wrap{display:grid;grid-template-columns:1fr 1fr;font-size:11px;gap:17px}.sectionHead{display:block}.services{grid-template-columns:1fr 1fr}.service{padding:22px}h3{font-size:18px}.steps,.aboutGrid,.quoteGrid{grid-template-columns:1fr;gap:30px}section{padding:55px 0}.compare{height:400px}.about img{height:380px}.steps{gap:24px}.step{position:relative;padding-left:65px}.step b{position:absolute;left:0;top:12px}.step h3{margin-bottom:8px}.step p{margin-top:0}footer .wrap{display:block;line-height:2}form{padding:23px}.mobileCall{display:block;position:fixed;bottom:12px;right:12px;z-index:20;background:var(--lime);padding:15px 21px;border-radius:30px;font-size:13px;font-weight:bold;box-shadow:0 4px 20px #092b4330}footer{padding-bottom:70px}}

.brand{display:flex;align-items:center;gap:15px;margin-right:auto}.nav .logo{width:125px;height:100px;margin:0}.nav{height:115px}.brandName{font-weight:800;font-size:27px;letter-spacing:-1px;line-height:1.1}.brandName span{display:block;font-size:11px;letter-spacing:2.5px;margin-top:7px;color:var(--blue)}.about img{height:auto;aspect-ratio:0.94;object-fit:cover;object-position:top}footer strong{font-size:18px}@media(max-width:1000px){nav{gap:15px}.brandName{font-size:23px}.nav{gap:15px}}@media(max-width:760px){.nav{height:100px}.brand{gap:7px}.nav .logo{width:85px;height:85px}.brandName{font-size:21px}.brandName span{font-size:8px;letter-spacing:1.4px}.nav .btn{font-size:11px;padding:12px 9px}}@media(max-width:380px){.brandName{font-size:18px}.nav .logo{width:65px}.nav{gap:7px}}
.brandName{white-space:nowrap}@media(max-width:760px){.brandName{font-size:19px}.nav .logo{width:70px}.nav{gap:8px}}@media(max-width:380px){.brandName{font-size:16px}.nav .logo{width:55px}.nav .btn{font-size:10px;padding:11px 7px}}
.pricingLink{font-size:14px;font-weight:bold;align-self:center;padding:8px 0}.capacity{background:var(--ink);color:white;border-radius:10px;padding:40px;display:grid;grid-template-columns:1fr 2fr;gap:45px;margin:35px 0}.capacity p{color:#c0d1da}.capacity .big{font-size:80px;font-weight:bold;letter-spacing:-5px;line-height:1}.capacity .unit{color:var(--lime);margin-top:10px}.capacity .track{height:30px;background:#ffffff20;border-radius:4px;margin:12px 0 24px}.capacity .fill{height:100%;background:var(--lime);border-radius:4px}.capacity .reference{background:#9cb3bf}.priceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.priceCard{background:white;border:1px solid #092b4325;padding:28px;border-radius:7px}.priceCard .price{font-size:32px;font-weight:bold;color:var(--blue);letter-spacing:-1px;margin:20px 0}.priceCard p{font-size:14px}.notice{padding:20px;background:#e7eddd;border-radius:5px;line-height:1.6;font-size:14px;margin:25px 0}.fees{display:grid;grid-template-columns:1fr 1fr;gap:25px}.pricingHero{padding-bottom:25px}.pricingHero h1{font-size:clamp(45px,6vw,74px)}@media(max-width:1000px){nav{gap:12px;font-size:12px}.nav{gap:15px}.nav .logo{width:95px}.brandName{font-size:23px}}@media(max-width:760px){.capacity,.priceGrid,.fees{grid-template-columns:1fr}.capacity{padding:25px;gap:25px}.capacity .big{font-size:65px}.nav .logo{width:65px}.brandName{font-size:19px}.priceGrid{gap:12px}}

.serviceMenu{position:relative;border:0;padding:0}.serviceMenu summary{font-size:14px;font-weight:400;list-style:none;display:flex;gap:7px;align-items:center}.serviceMenu summary::-webkit-details-marker,.mobileMenu summary::-webkit-details-marker{display:none}.dropdown{position:absolute;top:30px;left:-20px;min-width:255px;background:white;padding:10px;border:1px solid #092b4320;border-radius:8px;box-shadow:0 12px 30px #092b4320}.dropdown a{display:block;padding:13px;border-radius:4px}.dropdown a:hover,.dropdown a:focus{background:var(--paper)}.mobileMenu{display:none}.pageHero{padding:65px 0;background:#e9eee9}.pageHero h1{font-size:clamp(43px,5.6vw,74px);max-width:850px}.pageHero p{max-width:650px}.pageColumns{display:grid;grid-template-columns:1.3fr 1fr;gap:70px}.pageColumns ul{padding-left:20px;line-height:2;color:#516572}.asideBox{background:#e9eee9;border-radius:8px;padding:30px;height:fit-content}.asideBox h3{margin-top:0}.serviceLinks{display:flex;gap:12px;flex-wrap:wrap}.serviceLinks a{border:1px solid #092b4325;border-radius:30px;padding:12px 18px;font-size:14px}.aboutFeature{width:100%;border-radius:8px;max-height:600px;object-fit:cover;object-position:top}.nav{gap:20px}nav{gap:20px}.nav .logo{width:110px}.brandName{font-size:25px}@media(max-width:1050px){.nav .logo{width:85px}.brandName{font-size:21px}.brand{gap:8px}.nav{gap:12px}nav{gap:13px;font-size:13px}.serviceMenu summary{font-size:13px}.nav>.btn{padding:14px;font-size:12px}}@media(max-width:850px){.nav nav{display:none}.mobileMenu{display:block;border:0;padding:0;position:static}.mobileMenu>summary{list-style:none;font-size:25px;padding:10px;cursor:pointer}.mobilePanel{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:12px 6% 22px;box-shadow:0 12px 20px #092b4320;max-height:75vh;overflow:auto}.mobilePanel>a,.mobilePanel details>a{display:block;padding:13px 0;border-bottom:1px solid #092b4315;font-size:15px}.mobilePanel details{padding:13px 0}.mobilePanel details>a{padding-left:15px}.mobilePanel summary{font-size:15px}.pageColumns{grid-template-columns:1fr;gap:30px}.nav .logo{width:70px}.brandName{font-size:20px}.nav>.btn{padding:12px;font-size:11px}}@media(max-width:500px){.nav>.btn{display:none}.nav .brand{margin-right:auto}.nav .logo{width:85px}.brandName{font-size:23px}.pageHero{padding:40px 0}}

.galleryGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.galleryCard{margin:0;background:white;border:1px solid #092b4320;border-radius:9px;overflow:hidden}.galleryCard button{border:0;background:none;display:block;padding:0;width:100%;cursor:zoom-in}.galleryCard img{width:100%;height:300px;object-fit:cover;display:block}.galleryCard figcaption{padding:20px;line-height:1.6}.galleryCard figcaption strong{display:block}.photoPair{display:grid;grid-template-columns:1fr 1fr}.photoPair img{height:340px}.galleryCard.wide{grid-column:span 3}.galleryGrid .compare{height:500px}.galleryText{max-width:720px}.privacyCopy{max-width:800px;margin:auto}.privacyCopy h2{font-size:28px;margin-top:36px}.photoDialog{border:0;border-radius:8px;padding:15px;background:var(--ink);max-width:95vw;max-height:95vh;color:white}.photoDialog::backdrop{background:#001321df}.photoDialog img{display:block;max-width:85vw;max-height:78vh;object-fit:contain}.photoDialog button{background:var(--lime);border:0;border-radius:5px;padding:10px 18px;cursor:pointer;float:right;margin-bottom:10px}.photoDialog p{color:white;margin:10px 0 0}.nav nav{gap:14px}.nav .brandName{font-size:23px}.nav .logo{width:90px}@media(max-width:1100px){.nav nav{gap:11px;font-size:12px}.nav .brandName{font-size:21px}.nav .logo{width:75px}.nav .btn{font-size:11px;padding:13px}}@media(max-width:950px){.nav nav{display:none}.mobileMenu{display:block;position:static;border:0;padding:0}.mobileMenu>summary{list-style:none;font-size:25px;padding:10px}.mobilePanel{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:12px 6% 22px;box-shadow:0 12px 20px #092b4320;max-height:75vh;overflow:auto}.mobilePanel>a,.mobilePanel details>a{display:block;padding:13px 0;border-bottom:1px solid #092b4315}.mobilePanel details{padding:13px 0}.mobilePanel details>a{padding-left:15px}}@media(max-width:760px){.galleryGrid{grid-template-columns:1fr}.galleryCard.wide{grid-column:auto}.galleryGrid .compare{height:410px}.photoPair img{height:280px}.nav .brandName{font-size:23px}.nav .logo{width:80px}}

body.admin-bar header{top:32px}.wpContent{min-height:45vh}.wpContent .wp-block-image img{max-width:100%;height:auto}.fsGalleryUploads{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.fsGalleryUploads img{width:100%;height:300px;object-fit:cover}.fsGalleryUploads figure{margin:0}.fsGalleryUploads figcaption{padding:15px}.fs-form-placeholder{border:1px solid #092b4325;padding:25px;border-radius:8px;background:white} @media(max-width:760px){.fsGalleryUploads{grid-template-columns:1fr}}

.galleryGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.galleryCard{margin:0;background:white;border:1px solid #092b4320;border-radius:9px;overflow:hidden}.galleryCard button{border:0;background:none;display:block;padding:0;width:100%;cursor:zoom-in}.galleryCard img{width:100%;height:300px;object-fit:cover;display:block}.galleryCard figcaption{padding:20px;line-height:1.6}.galleryCard figcaption strong{display:block}.photoPair{display:grid;grid-template-columns:1fr 1fr}.photoPair img{height:340px}.galleryCard.wide{grid-column:span 3}.galleryGrid .compare{height:500px}.galleryText{max-width:720px}.privacyCopy{max-width:800px;margin:auto}.privacyCopy h2{font-size:28px;margin-top:36px}.photoDialog{border:0;border-radius:8px;padding:15px;background:var(--ink);max-width:95vw;max-height:95vh;color:white}.photoDialog::backdrop{background:#001321df}.photoDialog img{display:block;max-width:85vw;max-height:78vh;object-fit:contain}.photoDialog button{background:var(--lime);border:0;border-radius:5px;padding:10px 18px;cursor:pointer;float:right;margin-bottom:10px}.photoDialog p{color:white;margin:10px 0 0}.nav nav{gap:14px}.nav .brandName{font-size:23px}.nav .logo{width:90px}@media(max-width:1100px){.nav nav{gap:11px;font-size:12px}.nav .brandName{font-size:21px}.nav .logo{width:75px}.nav .btn{font-size:11px;padding:13px}}@media(max-width:950px){.nav nav{display:none}.mobileMenu{display:block;position:static;border:0;padding:0}.mobileMenu>summary{list-style:none;font-size:25px;padding:10px}.mobilePanel{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:12px 6% 22px;box-shadow:0 12px 20px #092b4320;max-height:75vh;overflow:auto}.mobilePanel>a,.mobilePanel details>a{display:block;padding:13px 0;border-bottom:1px solid #092b4315}.mobilePanel details{padding:13px 0}.mobilePanel details>a{padding-left:15px}}@media(max-width:760px){.galleryGrid{grid-template-columns:1fr}.galleryCard.wide{grid-column:auto}.galleryGrid .compare{height:410px}.photoPair img{height:280px}.nav .brandName{font-size:23px}.nav .logo{width:80px}}

.fsGalleryUploads .fsJobPair{grid-column:1 / -1}.fsGalleryUploads .compare{height:500px}.fsGalleryUploads .compare img{position:absolute;width:100%;height:100%;object-fit:cover}.fsJobPair figcaption{background:white}.fsGalleryUploads .compare .label{z-index:2}.fsGalleryUploads .compare input{z-index:3}@media(max-width:760px){.fsGalleryUploads .compare{height:400px}}

/* Touch-friendly comparisons and clear mobile quote choices. */
.compare{touch-action:none;user-select:none;-webkit-user-select:none;cursor:ew-resize;isolation:isolate}.compare img{pointer-events:none;-webkit-user-drag:none}.compare input[type=range]{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;padding:0;border:0;touch-action:none;cursor:ew-resize;z-index:4}.compare .divider{z-index:3;pointer-events:none}.compare:focus-within{outline:3px solid var(--blue);outline-offset:4px}
.quoteGrid{grid-template-areas:"intro form" "details form";grid-template-rows:auto 1fr;column-gap:10%;row-gap:15px;align-items:start}.quoteIntro{grid-area:intro}.quoteDetails{grid-area:details}.quoteForm{grid-area:form;min-width:0;scroll-margin-top:150px}.quoteForm>h3{margin-top:0}.quoteChoices{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.quoteChoices .btn{font-size:13px;padding:13px 16px}.quoteIntro p{margin-bottom:12px}.quoteForm form{padding:24px}.quoteDetails .contact{font-size:22px}
@media(max-width:760px){.quoteGrid{grid-template-areas:"intro" "form" "details";grid-template-rows:auto;gap:22px}.quoteIntro h2{margin:14px 0}.quoteForm{scroll-margin-top:120px}.quoteChoices{gap:7px;margin:15px 0}.quoteChoices .btn{padding:12px;font-size:12px}.quoteDetails{border-top:1px solid #092b4325;padding-top:20px}}

/* Stronger phone number and readable crew CTA. */
#quote .contact{font-size:clamp(30px,4vw,42px);line-height:1.2;letter-spacing:-.035em;font-weight:800;display:inline-block}#quote .quoteIntro>p a[href^="tel:"]{font-size:1.2em;font-weight:800;white-space:nowrap}.about .btn,.about .btn:visited,.about .btn:hover,.about .btn:focus,.about .btn span{color:#000;background:var(--lime)}@media(max-width:380px){#quote .contact{font-size:28px}}

.fsReviews{background:#f3f7fa}.fsReviewGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.fsReviewGrid figure{margin:0;padding:28px;background:#fff;border:1px solid #dce5ed;border-radius:18px;display:flex;flex-direction:column}.fsStars{color:#936500;letter-spacing:3px;font-size:22px}.fsReviewGrid blockquote{margin:18px 0 24px;line-height:1.7;font-size:17px}.fsReviewGrid figcaption{margin-top:auto}.fsReviewGrid figcaption strong,.fsReviewGrid figcaption span{display:block}.fsReviewGrid figcaption span{font-size:13px;margin-top:5px;color:#526173}footer .wrap{flex-wrap:wrap}@media(max-width:760px){.fsReviewGrid{grid-template-columns:1fr}.fsReviews .sectionHead{align-items:flex-start;gap:22px}.fsReviewGrid figure{padding:24px}}

.fsPhotoPicker{border:1px solid #b8c8d4;border-radius:12px;padding:20px;margin:22px 0}.fsPhotoPicker input{max-width:100%}.fsPhotoPicker ul{list-style:none;padding:0}.fsPhotoPicker li{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #dce5ed}.fsPhotoPicker li span{overflow-wrap:anywhere;min-width:0}.fsPhotoPicker button{background:#102b40;color:white;border:0;border-radius:6px;padding:8px 12px;cursor:pointer}.fsPhotoPicker button:disabled{opacity:.5}

/* Original CF7 fields still carry the attachments; only the enhanced picker is visible. */
.wpcf7 .fsOriginalPhotoSlot{display:none!important}

/* Comparison photos must fill the comparison frame, overriding gallery thumbnail heights. */
.galleryGrid .galleryCard .compare > img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;object-fit:cover}
.galleryGrid .galleryCard .compare{height:auto;aspect-ratio:2 / 1}
/* Regular photos retain the entire frame, including portrait job uploads. */
.galleryGrid .galleryCard > button > img,.fsPhotoCatalogue .galleryCard > button > img{width:100%;height:auto;max-height:none;object-fit:contain;display:block}
.fsPhotoCatalogue{margin-top:24px;align-items:start}.galleryGrid{align-items:start}
@media(max-width:760px){.galleryGrid .galleryCard .compare{height:auto;aspect-ratio:4 / 3}}

/* Consistent catalogue frames and paired columns; retain full photos on enlargement. */
.galleryGrid.fsRegularGallery,.fsGalleryUploads.fsPhotoCatalogue{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px}
.fsRegularGallery .galleryCard,.fsPhotoCatalogue .galleryCard{display:flex;flex-direction:column}
.galleryGrid.fsRegularGallery .galleryCard > button,.fsPhotoCatalogue .galleryCard > button{aspect-ratio:3 / 4;background:#e8ede9;display:flex;align-items:center;justify-content:center;overflow:hidden}
.galleryGrid.fsRegularGallery .galleryCard > button > img,.fsPhotoCatalogue .galleryCard > button > img{width:100%;height:100%;object-fit:contain;max-height:none}
.fsRegularGallery .galleryCard figcaption,.fsPhotoCatalogue .galleryCard figcaption{flex:1;padding:20px}
@media(max-width:600px){.galleryGrid.fsRegularGallery,.fsGalleryUploads.fsPhotoCatalogue{grid-template-columns:1fr}}

.quoteForm .wpcf7 input[type="submit"],.quoteForm .wpcf7 button[type="submit"]{background:var(--lime);color:var(--ink);font-weight:700;border:2px solid transparent;border-radius:7px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
@media(hover:hover){.quoteForm .wpcf7 input[type="submit"]:not(:disabled):hover,.quoteForm .wpcf7 button[type="submit"]:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 7px 16px #092b4328;background:#d2f358}}
.quoteForm .wpcf7 input[type="submit"]:focus-visible,.quoteForm .wpcf7 button[type="submit"]:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.quoteForm .wpcf7 input[type="submit"]:active,.quoteForm .wpcf7 button[type="submit"]:active{transform:translateY(0);box-shadow:none}
.quoteForm .wpcf7 input[type="submit"]:disabled{cursor:wait;opacity:.65}
.quoteForm .wpcf7 form.sent .wpcf7-response-output{background:#edf6df;border:1px solid #7ca23a;border-radius:8px;padding:18px;margin:24px 0 0;line-height:1.6}
@media(prefers-reduced-motion:reduce){.quoteForm .wpcf7 input[type="submit"],.quoteForm .wpcf7 button[type="submit"]{transition:none;transform:none!important}}

.aboutGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:6%;align-items:center}
.aboutGrid > img{grid-column:1;grid-row:1;min-width:0;width:100%}
.aboutGrid > div{grid-column:2;grid-row:1;min-width:0}
.aboutGrid > p:empty{display:none}
@media(max-width:760px){.aboutGrid{grid-template-columns:minmax(0,1fr);gap:30px}.aboutGrid > img,.aboutGrid > div{grid-column:1;grid-row:auto}}

/* Brand accents: lime for primary quotes, blue for selected secondary actions. */
.hero .btn.outline,.work .btn.outline,.fsReviews .btn.outline{background:var(--blue);border-color:var(--blue);color:#fff}
.quoteChoices .btn[href^="tel:"]{background:var(--blue);border-color:var(--blue);color:#fff}
.quoteChoices .btn[href^="sms:"]{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.btn{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.btn:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(hover:hover){.btn:hover{transform:translateY(-2px);box-shadow:0 6px 15px #092b4325}.hero .btn.outline:hover,.work .btn.outline:hover,.fsReviews .btn.outline:hover,.quoteChoices .btn[href^="tel:"]:hover{background:#006e96;border-color:#006e96;color:#fff}}
.btn:active{transform:translateY(0);box-shadow:none}
@media(prefers-reduced-motion:reduce){.btn{transition:none;transform:none!important}}

.fsHeroReviews{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;font-weight:700;margin-top:12px;text-decoration:underline;text-underline-offset:4px}.fsHeroReviews span{color:#936500;letter-spacing:2px;font-size:20px}.fsHeroReviews:focus-visible,.fsSocialLinks a:focus-visible,.fsSocialLink:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.fsReviewAction{text-align:center;margin-top:28px}.fsSocialCallout{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px;margin-top:35px;background:#e0f0f6;border:1px solid #badbe8;border-radius:12px}.fsSocialCallout h3{margin:0 0 8px}.fsSocialCallout p{margin:0;max-width:560px}.fsSocialLinks{display:flex;gap:12px;flex-wrap:wrap}.fsSocialLinks a{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:12px 15px;background:var(--ink);color:#fff;border-radius:6px;font-weight:700;font-size:14px}.fsSocialLinks a:hover{background:#006e96}.fsSocialLinks svg,.fsSocialLink svg{width:21px;height:21px;flex-shrink:0}.fsSocialLink{display:inline-flex;align-items:center;gap:8px;min-height:44px}@media(max-width:760px){.fsSocialCallout{align-items:flex-start;flex-direction:column;padding:22px}.fsHeroReviews{font-size:13px}.fsSocialLinks{width:100%}}

/* Filled secondary buttons across pricing, about, gallery and every service page. */
.btn.outline{background:var(--blue);border-color:var(--blue);color:#fff}
.btn.outline[href^="sms:"]{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.serviceLinks a{background:var(--blue);border:1px solid var(--blue);color:#fff;font-weight:700;transition:background-color .2s ease,box-shadow .2s ease}
.serviceLinks a:nth-child(even){background:var(--lime);border-color:var(--lime);color:var(--ink)}
.serviceLinks a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(hover:hover){.btn.outline:hover,.serviceLinks a:hover{background:#006e96;border-color:#006e96;color:#fff}.btn.outline[href^="sms:"]:hover,.serviceLinks a:nth-child(even):hover{background:#d2f358;border-color:#d2f358;color:var(--ink)}}
@media(prefers-reduced-motion:reduce){.serviceLinks a{transition:none}}

/* Pair green quote actions with blue photo-text actions on service pages. */
.pageHero .btn.outline[href^="sms:"]{background:var(--blue);border-color:var(--blue);color:#fff}
@media(hover:hover){.pageHero .btn.outline[href^="sms:"]:hover{background:#006e96;border-color:#006e96;color:#fff}}

/* Keep the persistent quote action prominent in the brand lime. */
header .headerQuote{background:var(--lime);color:var(--ink)}
@media(hover:hover){header .headerQuote:hover{background:#d2f358;color:var(--ink)}}

/* Blue photo-text actions, including the pricing hero. */
.btn.outline[href^="sms:"],.quoteChoices .btn[href^="sms:"],.pageHero .btn.outline[href^="sms:"]{background:var(--blue);border-color:var(--blue);color:#fff}
@media(hover:hover){.btn.outline[href^="sms:"]:hover,.quoteChoices .btn[href^="sms:"]:hover,.pageHero .btn.outline[href^="sms:"]:hover{background:#006e96;border-color:#006e96;color:#fff}}
/* Give footer items explicit rows instead of inline text on small screens. */
footer .wrap{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;line-height:1.5}
footer .wrap > strong{flex-basis:100%}
footer .wrap > a{display:inline-flex;align-items:center;gap:8px;min-height:44px}
footer .wrap > span{flex-basis:100%;color:#c0d1da}
@media(max-width:760px){footer .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 20px;text-align:left}footer .wrap > strong,footer .wrap > span{grid-column:1 / -1}footer .wrap > strong{line-height:1.5;margin-bottom:8px}footer .wrap > a{min-width:0;overflow-wrap:anywhere}.serviceLinks{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.serviceLinks a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px}}

.mobileCall{background:var(--ink);color:#fff;border:1px solid #ffffff40;box-shadow:0 4px 18px #092b4330}
.mobileCall:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(hover:hover){.mobileCall:hover{background:#123e58;color:#fff}}

/* Clear, balanced homepage actions and quote choices. */
.hero .actions{align-items:stretch}
.hero .actions > .btn{min-height:56px;padding:16px 20px;line-height:1.3;text-align:center}
.pricingLink{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;border:2px solid var(--blue);border-radius:6px;background:#e0f0f6;color:var(--ink);align-self:stretch;line-height:1.3;text-align:center;transition:background-color .2s ease,box-shadow .2s ease}
.pricingLink:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.tabs .tab{background:#fff;border:2px solid var(--blue);color:var(--ink);border-radius:8px;font-weight:700;min-height:48px;box-shadow:0 2px 5px #092b4310;transition:background-color .2s ease,box-shadow .2s ease}
.tabs .tab[aria-selected="true"]{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 3px 10px #092b4320}
.tabs .tab:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
#quote .quotePhone{display:inline-block;font-size:clamp(28px,4vw,38px);font-weight:800;line-height:1.3;color:var(--ink);margin:8px 0;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
#quote .quoteChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}
#quote .quoteChoices .btn{min-height:52px;font-size:15px;padding:14px 12px;text-align:center;line-height:1.3}
#quote .quoteChoices .btn[href^="tel:"]{background:var(--lime);border-color:var(--lime);color:var(--ink)}
@media(hover:hover){.pricingLink:hover{background:#cce9f3;box-shadow:0 4px 12px #092b4320}.tabs .tab:not([aria-selected="true"]):hover{background:#e0f0f6}#quote .quoteChoices .btn[href^="tel:"]:hover{background:#d2f358;border-color:#d2f358;color:var(--ink)}}
@media(max-width:760px){.hero .actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.hero .actions > .btn,.hero .actions > .pricingLink{width:100%;margin:0;min-height:54px;padding:15px 18px;font-size:16px;gap:10px}.tabs{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.tabs .tab{width:100%;border-radius:8px}#quote .quoteChoices{grid-template-columns:minmax(0,1fr);gap:10px}#quote .quoteChoices .btn{font-size:16px;min-height:52px}#quote .quoteLead{font-size:17px;line-height:1.6}#quote .quotePhone{font-size:32px;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.pricingLink,.tabs .tab{transition:none}}

/* Filled brand treatments at every viewport size. */
.hero .pricingLink{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 3px 10px #092b4320}
.work .tabs .tab{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.work .tabs .tab[aria-selected="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
@media(hover:hover){.hero .pricingLink:hover{background:#006e96;border-color:#006e96;color:#fff}.work .tabs .tab:not([aria-selected="true"]):hover{background:#d2f358;border-color:#d2f358;color:var(--ink)}}
@media(max-width:760px){.hero .pricingLink{display:flex;background:var(--blue);color:#fff}.work .tabs .tab{background:var(--lime);color:var(--ink)}.work .tabs .tab[aria-selected="true"]{background:var(--blue);color:#fff}}

/* Navy estimate action at all screen sizes. */
.hero .pricingLink{background:var(--ink);border-color:var(--ink);color:#fff}
@media(hover:hover){.hero .pricingLink:hover{background:#123e58;border-color:#123e58;color:#fff}}
