@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--navy:#092c38;--deep:#06242e;--teal:#087f89;--mint:#bde9d9;--cream:#fbf8ee;--line:#d8e4df;--orange:#f8ad57}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);background:#fff;font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Outfit,Arial,sans-serif;line-height:1.12;letter-spacing:-.025em}h1{font-size:clamp(2.9rem,6vw,5.5rem);max-width:12ch;margin-bottom:1.5rem}h2{font-size:clamp(2rem,3.8vw,3.5rem);margin-bottom:1.1rem}h3{font-size:1.4rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.78rem;color:var(--teal);margin-bottom:1rem}.wrap{max-width:1200px;margin:auto;padding:0 28px}.skip{position:absolute;top:-80px;left:12px;background:#fff;padding:12px;z-index:100}.skip:focus{top:8px}.top{background:var(--deep);color:#fff;font-size:.84rem}.top .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:7px;padding-bottom:7px}.top a{text-decoration:none}.header{position:relative;z-index:10;background:#fff;border-bottom:1px solid var(--line)}.header .wrap{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:82px}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;line-height:1.06;font-family:Outfit,sans-serif;font-weight:800;font-size:1.4rem}.brand img{width:54px;height:54px;object-fit:contain}.brand small{display:block;font:600 .7rem/1.3 'DM Sans';letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}.nav{display:flex;align-items:center;gap:28px}.nav a{text-decoration:none;font-weight:700;font-size:.93rem}.nav a:hover,.nav a[aria-current]{color:var(--teal)}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:14px 22px;border-radius:4px;font-weight:800;line-height:1.2;min-height:50px;background:var(--orange);color:var(--deep);transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px);background:#ffc37f}.btn.outline{background:transparent;color:#fff;border:1px solid #b8d7d4}.btn.outline:hover{background:#ffffff20}.btn.dark{background:var(--deep);color:#fff}.menu{display:none}.hero{background:var(--cream);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:620px}.hero-copy{align-self:center;padding:70px 40px 78px 0}.hero p.lead{font-size:1.13rem;max-width:52ch;color:#3b555c}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero .btn.outline{color:var(--deep);border-color:var(--deep)}.hero-visual{position:relative;background:linear-gradient(145deg,#0a7b83,#0b3946);min-height:440px;display:flex;align-items:center;justify-content:center;padding:34px}.hero-visual:before{content:'';position:absolute;inset:23px;border:1px solid #ffffff50}.hero-visual img{max-width:100%;max-height:470px;object-fit:cover;position:relative;z-index:1;border-radius:2px;box-shadow:22px 22px 0 #f8ad57}.hero-visual .photo{width:100%;height:90%;object-fit:cover}.hero-visual .caption{position:absolute;bottom:20px;left:20px;background:#fff;padding:10px 15px;z-index:2;font-weight:700;font-size:.84rem}.bar{background:var(--deep);color:#fff}.bar .wrap{display:flex;gap:40px;justify-content:space-between;padding-top:17px;padding-bottom:17px;font-size:.89rem;font-weight:700;flex-wrap:wrap}.section{padding:90px 0}.section.soft{background:#eef7f3}.intro{max-width:680px;color:#426069;font-size:1.07rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.card{padding:30px;border:1px solid var(--line);background:#fff;min-height:230px;display:flex;flex-direction:column}.card .num{font:700 .8rem Outfit;color:var(--teal);margin-bottom:27px}.card p{color:#48636c;margin-bottom:24px}.card a{margin-top:auto;font-weight:800;text-decoration-color:var(--teal);text-underline-offset:5px}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:start}.checklist{list-style:none;padding:0;margin:0}.checklist li{padding:15px 0 15px 31px;border-bottom:1px solid var(--line);position:relative}.checklist li:before{content:'✓';position:absolute;left:0;color:var(--teal);font-weight:800}.areas{font-family:Outfit;font-size:1.3rem;line-height:1.8;max-width:800px}.quote{background:var(--deep);color:#fff;padding:38px;max-width:830px;font:500 clamp(1.35rem,2.4vw,2rem)/1.4 Outfit}.quote cite{display:block;font:700 .86rem DM Sans;color:var(--mint);font-style:normal;margin-top:18px}.faqs{max-width:820px}.faqs details{border-bottom:1px solid var(--line);padding:20px 0}.faqs summary{cursor:pointer;font:700 1.15rem Outfit}.faqs p{padding:15px 0 0;color:#426069;margin:0}.cta{background:#087f89;color:#fff;padding:75px 0}.cta h2{max-width:660px}.footer{background:var(--deep);color:#d2e3df;padding:50px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer a{display:block;text-decoration:none;margin:8px 0}.footer a:hover{text-decoration:underline}.footer .brand{color:#fff}.footer-bottom{border-top:1px solid #ffffff30;margin-top:45px;padding-top:17px;font-size:.82rem}.inner-hero{background:var(--cream);padding:85px 0}.inner-hero h1{max-width:850px}.inner-hero p{max-width:650px;font-size:1.13rem;color:#426069}.steps{counter-reset:item;list-style:none;padding:0}.steps li{padding:20px 0 20px 60px;border-bottom:1px solid var(--line);position:relative}.steps li:before{counter-increment:item;content:'0' counter(item);position:absolute;left:0;color:var(--teal);font:800 1.2rem Outfit}.note{background:#fff9ed;border-left:4px solid var(--orange);padding:23px 27px;margin-top:28px}.photo-panel{width:100%;max-height:440px;object-fit:cover}.mobile-call{display:none}@media(max-width:850px){.nav{gap:13px}.nav a{font-size:.82rem}.header .btn{display:none}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:60px 0}.hero-visual{min-height:300px;max-height:470px}.cards{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr;gap:30px}}@media(max-width:600px){.wrap{padding:0 20px}.top .wrap span:last-child{display:none}.header .wrap{min-height:70px}.brand{font-size:1.08rem}.brand img{width:44px;height:44px}.menu{display:block;background:none;border:1px solid var(--line);font:700 .9rem DM Sans;padding:10px;color:var(--deep)}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 12px 20px #092c3822;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{font-size:1rem;padding:5px}.hero-copy{padding:46px 0 55px}.hero-visual{min-height:300px;padding:20px}.hero-visual img{max-height:300px}.hero-visual:before{inset:12px}.bar .wrap{gap:4px;flex-direction:column}.section{padding:64px 0}.cards{grid-template-columns:1fr}.card{min-height:0}.inner-hero{padding:60px 0}.footer-grid{grid-template-columns:1fr;gap:25px}.mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--orange);text-align:center;font-weight:800;padding:12px;text-decoration:none;box-shadow:0 -3px 15px #0002}body{padding-bottom:47px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Tropicool's truck-wrap colors and established site direction */
:root{--navy:#102d3a;--deep:#0c2d39;--teal:#087f89;--mint:#cceac6;--cream:#fff;--line:#dce7e0;--orange:#ffc928;--green:#288f45}
body{color:#182d33;background:#fff}h1,h2,h3{font-weight:700}.eyebrow{color:#258349}.top{background:#116b76}.header{box-shadow:0 3px 18px #12392312;border-bottom:0}.header .wrap{min-height:94px}.brand{gap:5px;color:#133e4b}.brand-logo{display:block;position:relative;width:77px;height:72px;overflow:hidden;flex:none}.brand-logo img{position:absolute;max-width:none;width:135px;height:135px;top:-42px;left:-68px;object-fit:contain}.brand-name{font-weight:800;letter-spacing:.015em}.brand small{color:#398649;letter-spacing:.12em}.nav a{text-transform:uppercase;letter-spacing:.035em}.nav a:hover,.nav a[aria-current]{color:#258349}
.btn,.mobile-call{background:linear-gradient(105deg,#278f49 0%,#79aa33 55%,#ffc928 100%);color:#fff;border:0;border-radius:5px;box-shadow:0 6px 18px #0b543e24}.btn:hover{background:linear-gradient(105deg,#1d7542 0%,#6b9b30 55%,#f5b91d 100%);color:#fff}.btn.dark{background:linear-gradient(105deg,#278f49,#ffc928);color:#fff}.btn.outline{box-shadow:none}
.hero{position:relative;background:#143d48;color:#fff}.hero-grid{display:block;position:relative;min-height:650px;max-width:none;padding:0}.hero-copy{position:relative;z-index:2;min-height:650px;padding:105px max(28px,calc((100vw - 1144px)/2)) 90px;background:linear-gradient(90deg,rgba(5,30,40,.87) 0%,rgba(5,30,40,.68) 45%,rgba(5,30,40,.12) 100%);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hero h1{font-size:clamp(3rem,6.4vw,6rem);max-width:11ch;text-shadow:0 3px 25px #092c3880}.hero p.lead{color:#fff;max-width:50ch;text-shadow:0 2px 8px #092c38a0}.hero .eyebrow{color:#d3f4bc}.hero .btn.outline{color:#fff;border:1px solid #fff;background:#052a3860}.hero-visual{position:absolute;inset:0;min-height:0;padding:0;background:none;display:block}.hero-visual:before,.hero-visual .caption{display:none}.hero-visual img.photo{height:100%;width:100%;max-height:none;box-shadow:none;object-fit:cover;object-position:center 54%;border-radius:0}
.bar{background:#126d75}.section.soft{background:#f1f8f2}.card{border-radius:8px;border-top:5px solid #4ba14b;box-shadow:0 10px 35px #1239230a}.card:nth-child(3n+2){border-top-color:#f2b526}.card:nth-child(3n){border-top-color:#14869b}.card a{color:#216f4a;text-decoration-color:#216f4a}.checklist li:before{color:#329044}.quote{background:linear-gradient(130deg,#0c4b58,#158d80);border-radius:8px}.cta{background:linear-gradient(110deg,#087f89,#278f49);color:#fff}.cta .btn.outline{border:1px solid #fff}.inner-hero{background:linear-gradient(115deg,rgba(6,43,54,.94),rgba(8,105,112,.86)),url('/hero-trucks.jpg') center 58%/cover;color:#fff}.inner-hero .eyebrow{color:#d3f4bc}.inner-hero p{color:#fff}.footer{background:#0d3948}.mobile-call{border-radius:0;color:#fff}
@media(max-width:980px){.brand-name{font-size:1.1rem}.nav{gap:14px}.nav a{font-size:.78rem}}@media(max-width:850px){.hero-grid,.hero-copy{min-height:590px}.hero-copy{padding:75px 32px}.hero-visual{max-height:none}.brand-logo{width:58px}.brand-logo img{left:-77px}}@media(max-width:600px){.header .wrap{min-height:76px}.nav{top:76px}.top{display:none}.brand-logo{width:54px;height:57px}.brand-logo img{width:116px;height:116px;top:-36px;left:-61px}.brand-name{font-size:1rem}.hero-grid,.hero-copy{min-height:620px}.hero-copy{padding:68px 20px;background:linear-gradient(180deg,rgba(5,30,40,.82),rgba(5,30,40,.52) 73%,rgba(5,30,40,.2))}.hero h1{font-size:clamp(2.8rem,12vw,4rem)}.hero-visual img.photo{object-position:55% center}.hero .actions{gap:8px}.hero .btn{font-size:.9rem}.inner-hero{padding:68px 0}}
/* Tropicool island palette: coastal color and open space, no floral graphics */
:root{--sea:#087c88;--deepsea:#0b5366;--sand:#fff8e9;--sun:#f2c43c;--palm:#178d68}
body{background:#fffefa}
.top{background:var(--deepsea)}
.header{background:#fffefa}
.brand-name{color:#0a5266}
.brand small{color:var(--palm)}
.nav a:hover,.nav a[aria-current]{color:var(--sea)}
.btn,.btn.dark,.mobile-call{background:linear-gradient(105deg,#087c88 0%,#20a38d 50%,#efba2d 100%);color:#fff;box-shadow:0 7px 22px #087c8830}
.btn:hover,.btn.dark:hover{background:linear-gradient(105deg,#086878 0%,#188e7b 50%,#dba525 100%)}
.hero{background:#0b5366}
.hero-copy{background:linear-gradient(90deg,rgba(3,40,55,.91),rgba(6,89,103,.68) 55%,rgba(4,86,99,.10))}
.hero .eyebrow,.inner-hero .eyebrow{color:#ffdf83}
.hero-visual img.photo{object-position:center 52%}
.bar{background:linear-gradient(90deg,#0a6375,#15968e)}
.section.soft{background:var(--sand)}
.card{border:1px solid #dae8e2;border-top:5px solid #118c91;border-radius:14px;background:#fffefa;box-shadow:0 13px 32px #0d627016}
.card:nth-child(3n+2){border-top-color:#efba2d}
.card:nth-child(3n){border-top-color:#289c75}
.card .num,.card a{color:#087883}
.checklist li:before{color:#178d68}
.areas{color:#0d6677}
.quote{background:linear-gradient(120deg,#0b5366,#0b8d8e);border-radius:10px}
.cta{background:linear-gradient(105deg,#0b5366,#0b8d8e);color:#fff}
.cta .btn.outline{border-color:#fff}
.inner-hero{background:linear-gradient(110deg,rgba(2,46,62,.94),rgba(8,115,123,.76)),url('/hero-trucks.jpg') center 56%/cover;color:#fff}
.footer{background:#0c4356}
@media(max-width:600px){.hero-copy{background:linear-gradient(180deg,rgba(3,40,55,.91),rgba(6,89,103,.69) 73%,rgba(4,86,99,.19))}.hero-visual img.photo{object-position:center 55%}}
/* One-per-session service offer */
.offer-dialog{width:min(520px,calc(100vw - 32px));max-height:min(88vh,760px);padding:38px;border:0;border-radius:18px;color:#123c48;background:#fffefa;box-shadow:0 25px 90px #082d3a66;overflow:auto}
.offer-dialog::backdrop{background:rgba(4,34,45,.65)}
.offer-dialog:before{content:'';display:block;height:8px;position:absolute;inset:0 0 auto;background:linear-gradient(90deg,#087c88,#1aa689,#efba2d)}
.offer-dialog h2{font-size:clamp(1.7rem,4vw,2.5rem);margin:10px 25px 16px 0}
.offer-dialog p{color:#365c63;font-size:1rem;margin-bottom:24px}
.offer-topline{text-transform:uppercase;letter-spacing:.14em;color:#087c88;font-size:.8rem;font-weight:800}
.offer-close{position:absolute;right:16px;top:15px;width:38px;height:38px;border:0;background:#eaf5f2;color:#154956;border-radius:50%;font:500 1.7rem/1 Arial;cursor:pointer}
.offer-close:hover,.offer-close:focus-visible{background:#cce8e0}
.offer-actions{display:flex;align-items:center;gap:17px;flex-wrap:wrap}
.offer-secondary{font-weight:800;text-underline-offset:4px;color:#087482}
@media(max-width:600px){.offer-dialog{padding:30px 22px}.offer-actions{align-items:stretch;flex-direction:column}.offer-actions .btn{width:100%}}
/* Service directory and dedicated pages */
.services-hero{background:#edf8f5;overflow:hidden}
.services-hero-grid{min-height:520px;display:grid;grid-template-columns:1fr .9fr;gap:8%;align-items:center;padding-top:64px;padding-bottom:64px}
.services-hero h1{max-width:12ch}
.services-hero p:not(.eyebrow){font-size:1.13rem;max-width:47ch;color:#365d62}
.services-hero .btn{margin-top:14px}
.services-hero img{display:block;width:100%;height:390px;object-fit:cover;border-radius:18px;box-shadow:18px 18px 0 #f2d580}
.services-directory{background:#fffefa}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:32px}
.service-card{background:#fff;border:1px solid #d8e8e3;border-radius:15px;padding:30px;min-height:290px;display:flex;flex-direction:column;box-shadow:0 12px 34px #0d62700d;transition:transform .2s,box-shadow .2s}
.service-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px #0d627024}
.service-card:nth-child(3n+2){background:#f7fbf8}
.service-card:nth-child(3n){background:#fff9eb}
.service-card:first-child{background:#0b6a77;color:#fff}
.service-index{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800;color:#087a82;margin-bottom:34px}
.service-card:first-child .service-index{color:#fbe5a3}
.service-card h2{font-size:clamp(1.5rem,2.1vw,2rem);margin-bottom:13px}
.service-card p{color:#46666b;margin-bottom:24px}
.service-card:first-child p{color:#e9f6f1}
.service-card a{font-weight:800;color:#087782;text-decoration:none;margin-top:auto;display:inline-flex;gap:8px;align-items:center}
.service-card:first-child a{color:#fff}
.service-card a:hover{text-decoration:underline;text-underline-offset:5px}
.service-detail-hero{min-height:380px;display:flex;align-items:center}
.service-detail-hero .btn.outline{background:transparent;border:1px solid #fff;color:#fff}
.service-photo{display:block;width:100%;max-height:460px;object-fit:cover;border-radius:14px;box-shadow:16px 16px 0 #f2d580}
.service-visual{min-height:380px;border-radius:14px;background:linear-gradient(135deg,#0b5b70,#0e9690 70%,#e0b645);display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;text-align:center;padding:35px;box-shadow:16px 16px 0 #f2d580}
.service-visual strong{font:800 clamp(2.5rem,5vw,4.5rem)/1 Outfit;letter-spacing:-.05em}
.service-visual span{font:600 1.35rem Outfit;margin-top:8px}
.service-visual small{font:700 .8rem DM Sans;text-transform:uppercase;letter-spacing:.12em;margin-top:35px}
.related-services{background:#edf8f5}
.related-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.related-links a{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-width:240px;background:#fff;border:1px solid #d5e6dd;border-radius:8px;padding:17px 20px;text-decoration:none;font-weight:800;color:#076e78}
.related-links a:hover{border-color:#087c88;box-shadow:0 8px 22px #0d62701b}
.cards .card:first-child{background:linear-gradient(90deg,rgba(4,54,67,.95),rgba(5,80,87,.78)),url('/work.jpg') center/cover;color:#fff;border-top-color:#e8bb3f}
.cards .card:first-child .num,.cards .card:first-child p,.cards .card:first-child a{color:#fff}
@media(max-width:850px){.services-hero-grid{grid-template-columns:1fr;gap:35px}.services-hero img{height:320px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.services-hero-grid{padding-top:52px;padding-bottom:60px}.services-hero img{height:240px;box-shadow:9px 9px 0 #f2d580}.service-grid{grid-template-columns:1fr}.service-card{min-height:235px}.service-index{margin-bottom:20px}.service-photo,.service-visual{box-shadow:9px 9px 0 #f2d580}.service-visual{min-height:280px}.service-detail-hero{min-height:0}}
/* A relevant photograph behind every service entry */
.cards .card:nth-child(1){--card-photo:url('/work.jpg')}
.cards .card:nth-child(2){--card-photo:url('/pool-service.webp')}
.cards .card:nth-child(3){--card-photo:url('/photo-2432.jpg')}
.cards .card:nth-child(4){--card-photo:url('/hvac-work.jpg')}
.cards .card:nth-child(5){--card-photo:url('/gallery-1.jpg')}
.cards .card:nth-child(6){--card-photo:url('/photo-2720.jpg')}
.cards .card:nth-child(7){--card-photo:url('/pool-service.webp')}
.cards .card:nth-child(8){--card-photo:url('/photo-2432.jpg')}
.cards .card:nth-child(9){--card-photo:url('/refrigeration-service.webp')}
.cards .card,.cards .card:first-child{background-image:linear-gradient(90deg,rgba(3,39,53,.89),rgba(4,55,65,.58)),var(--card-photo);background-color:#0b5366;background-position:center;background-size:cover;color:#fff;min-height:270px}
.cards .card .num,.cards .card p,.cards .card a{color:#fff}
.cards .card a{text-decoration-color:#f2ce64}
.cards .card a:hover{color:#fbe6a5}
.service-grid .service-card{background-image:linear-gradient(90deg,rgba(2,36,48,.88),rgba(3,52,63,.59)),var(--service-photo);background-color:#0b5366;background-position:center;background-size:cover;color:#fff;min-height:310px}
.service-grid .service-card p,.service-grid .service-card a{color:#fff}
.service-grid .service-card .service-index{color:#fce3a0}
.service-grid .service-card a:hover{color:#fce3a0}
.inner-hero{background-image:linear-gradient(110deg,rgba(2,42,56,.91),rgba(5,96,105,.66)),var(--detail-photo,url('/hero-trucks.jpg'));background-position:center,center;background-size:cover,cover}
@media(max-width:600px){.cards .card,.cards .card:first-child{min-height:250px}.service-grid .service-card{min-height:260px}}

/* Reveal service photography when a visitor explores a card. */
.cards .card,.cards .card:first-child,.service-grid .service-card{background-image:linear-gradient(135deg,#0a6878,#0c4a5b);position:relative;overflow:hidden}
.cards .card::before,.service-grid .service-card::before{content:"";position:absolute;inset:0;z-index:0;background-position:center;background-size:cover;opacity:0;transition:opacity .35s ease;pointer-events:none}
.cards .card::before{background-image:linear-gradient(90deg,rgba(3,39,53,.86),rgba(4,55,65,.5)),var(--card-photo)}
.service-grid .service-card::before{background-image:linear-gradient(90deg,rgba(2,36,48,.86),rgba(3,52,63,.5)),var(--service-photo)}
.cards .card>*,.service-grid .service-card>*{position:relative;z-index:1}
.cards .card:hover::before,.cards .card:focus-within::before,.service-grid .service-card:hover::before,.service-grid .service-card:focus-within::before{opacity:1}
@media(hover:none){.cards .card::before,.service-grid .service-card::before{opacity:1}}

/* Larger, predictable controls and a menu that has room for every link. */
.menu{min-width:54px;min-height:46px;cursor:pointer}
.nav a{display:inline-flex;align-items:center;min-height:44px}
.faqs summary{font-size:1.17rem;line-height:1.45;min-height:44px}
.footer a{padding:4px 0;line-height:1.5}
@media(min-width:861px) and (max-width:1100px){
  .menu{display:block}
  .nav,.nav.open{display:none;position:absolute;top:112px;left:0;right:0;background:#f8fdfc;padding:20px 28px;box-shadow:0 12px 20px #092c3822;flex-direction:column;align-items:stretch;gap:4px}
  .nav.open{display:flex}
  .header-actions .btn.booking{display:inline-flex}
}

/* Tropicool Blog */
.blog-index-head,.blog-article-head{padding:68px 0;background:#e6f5f2}
.blog-index-head h1,.blog-article-head h1{max-width:17ch;margin-bottom:20px}
.blog-index-head p:not(.eyebrow),.blog-lead{max-width:65ch;font-size:1.13rem;color:#355c64}
.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.blog-card{overflow:hidden;border:1px solid #c9e3e0;border-radius:16px;background:#fff;box-shadow:0 12px 30px #0d627016}
.blog-card-photo{display:block;overflow:hidden;background:#0b5668}
.blog-card-photo img{display:block;width:100%;height:250px;object-fit:cover}
.blog-card-body{padding:27px}
.blog-meta,.blog-byline{font-size:.91rem;font-weight:700;color:#355c64}
.blog-card h2{font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.2}
.blog-card h2 a{text-decoration:none;color:#123743}.blog-card h2 a:hover{text-decoration:underline}
.blog-card-body>p:not(.blog-meta){color:#355c64}
.blog-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:26px}
.blog-heading h2{margin:0}.blog-heading .text-link{white-space:nowrap}
.blog-preview{background:#f3faf8}.blog-preview-card{max-width:760px}
.blog-preview-card .blog-card{display:grid;grid-template-columns:.85fr 1.15fr}
.blog-preview-card .blog-card-photo img{height:100%;min-height:275px}
.blog-back{display:inline-block;margin-bottom:30px;color:#075d6d;font-weight:800;text-underline-offset:4px}
.blog-article-head{padding-bottom:58px}.blog-article-head h1{max-width:21ch;font-size:clamp(2.4rem,5vw,4.5rem)}
.blog-article-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:55px;padding-top:60px;padding-bottom:75px}
.blog-article-copy{max-width:73ch;font-size:1.08rem;line-height:1.75}
.blog-article-copy h2{font-size:clamp(1.6rem,2.7vw,2.3rem);margin:34px 0 14px}
.blog-article-copy li{margin:0 0 12px}.blog-article-copy a{color:#075d6d;font-weight:700;text-underline-offset:4px}
.blog-disclaimer{padding:18px 22px;background:#e6f5f2;border-left:4px solid #d49e24}
.blog-article-aside{align-self:start;padding:23px;border:1px solid #c9e3e0;border-radius:16px;background:#fff}
.blog-article-aside img{display:block;width:100%;height:220px;object-fit:cover;border-radius:9px;margin-bottom:25px}
.blog-article-aside h2{font-size:1.6rem}.blog-article-aside p{color:#355c64}
.blog-article-aside .text-link{display:block}
@media(min-width:1101px) and (max-width:1220px){.menu{display:block}.nav,.nav.open{display:none;position:absolute;top:112px;left:0;right:0;background:#f8fdfc;padding:20px 28px;box-shadow:0 12px 20px #092c3822;flex-direction:column;align-items:stretch;gap:4px}.nav.open{display:flex}.header-actions .header-call{display:none}}
@media(max-width:800px){.blog-grid,.blog-article-layout{grid-template-columns:1fr}.blog-article-aside{max-width:560px}}
@media(max-width:650px){.blog-index-head,.blog-article-head{padding:50px 0}.blog-heading{display:block}.blog-heading .text-link{display:inline-block;margin-top:16px}.blog-preview-card .blog-card{display:block}.blog-preview-card .blog-card-photo img{height:220px;min-height:0}.blog-card-body{padding:22px}.blog-article-layout{padding-top:42px;gap:30px}.blog-article-copy{font-size:1rem}}

@media(prefers-reduced-motion:reduce){.cards .card::before,.service-grid .service-card::before{transition:none}}

/* Carry the turquoise truck-wrap color through the site surfaces. */
:root{--sand:#e9f7f5;--line:#c9e3e0;--sea:#087f89;--deepsea:#0d5361}
body{background:#f3fbfa}
.header{background:#f8fdfc}
.section:not(.soft),.services-directory{background:#f3fbfa}
.section.soft,.services-hero,.related-services{background:linear-gradient(135deg,#d9f1ee,#eaf8f7 60%,#f3fbfa)}
.hero-copy{background:linear-gradient(90deg,rgba(5,39,48,.89),rgba(7,103,113,.66) 55%,rgba(5,91,105,.12))}
.bar{background:linear-gradient(90deg,#086978,#0d9a9c)}
.cards .card,.cards .card:first-child,.service-grid .service-card{background-image:linear-gradient(135deg,#078b94,#0b6272);border-color:#4cc1bd;border-top-color:#f4c43e}
.cards .card:nth-child(3n),.service-grid .service-card:nth-child(3n){border-top-color:#78c59e}
.cta{background:linear-gradient(110deg,#0b5668,#078b94)}
.footer{background:#0a3d4c}
@media(max-width:600px){.hero-copy{background:linear-gradient(180deg,rgba(5,39,48,.88),rgba(7,103,113,.67) 73%,rgba(5,91,105,.22))}}

/* Fit the complete supplied logo artwork, including its lettering and mascot. */
.brand{gap:0}
.brand-logo{width:198px;height:104px;overflow:hidden;flex:none}
.brand-logo img{position:absolute;max-width:none;width:277px;height:277px;top:-87px;left:-39px;object-fit:contain}
.brand-name{display:none}
.header .wrap{min-height:112px}
@media(max-width:600px){.brand-logo{width:160px;height:84px}.brand-logo img{width:223px;height:223px;top:-70px;left:-32px}.header .wrap{min-height:90px}.nav{top:90px}}

/* Service-area directory and location pages. */
.areas-hero{padding:95px 0;background:linear-gradient(115deg,#d8f1ef,#f3fbfa)}
.areas-hero h1{max-width:13ch}.areas-hero p:not(.eyebrow){max-width:60ch;font-size:1.13rem;color:#355c64}
.area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px}
.area-card{display:flex;flex-direction:column;padding:32px;border:1px solid #c9e3e0;border-top:5px solid #f4c43e;border-radius:14px;background:#fff;box-shadow:0 12px 30px #0d627016}
.area-card h2{font-size:1.75rem}.area-card p{color:#355c64}.area-card a,.area-more{font-weight:800;color:#086978;text-underline-offset:5px}.area-card a{margin-top:auto}
.area-note{margin:28px 0 0;color:#355c64}.area-detail-hero h1{max-width:850px}
@media(max-width:1100px){.header .btn{display:none}.menu{display:block;background:none;border:1px solid var(--line);font:700 .9rem 'DM Sans',Arial,sans-serif;padding:10px;color:var(--deep)}.nav{display:none;position:absolute;top:112px;left:0;right:0;background:#f8fdfc;padding:20px 28px;box-shadow:0 12px 20px #092c3822;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{font-size:1rem;padding:5px}}
@media(max-width:600px){.nav{top:90px}.areas-hero{padding:60px 0}.area-grid{grid-template-columns:1fr}}

/* The three primary links fit comfortably across medium desktop widths. */
@media(min-width:861px) and (max-width:1100px){.header .btn{display:inline-flex}.menu{display:none}.nav,.nav.open{display:flex;position:static;flex-direction:row;align-items:center;background:transparent;box-shadow:none;padding:0;gap:25px}.nav a{font-size:.93rem;padding:0}}

/* Direct visitors to the existing Tropicool online scheduler. */
.header-actions{display:flex;align-items:center;gap:10px;flex:none}
.header-actions .btn{padding:13px 16px;white-space:nowrap}
.btn.booking,.header-actions .btn.booking{background:#f4c43e;color:#123c48;box-shadow:0 6px 18px #0b543e24}
.btn.booking:hover,.header-actions .btn.booking:hover{background:#ffda68;color:#123c48}
.mobile-actions{display:none}
@media(min-width:861px) and (max-width:1100px){.header-actions .header-call{display:none}}
@media(min-width:601px) and (max-width:860px){.header-actions .header-call{display:none}.header-actions .btn.booking{display:inline-flex}}
@media(max-width:600px){.header-actions{display:none}}
@media(max-width:600px){.mobile-actions{display:flex;position:fixed;inset:auto 0 0;z-index:20;box-shadow:0 -3px 15px #0002}.mobile-actions a{display:flex;align-items:center;justify-content:center;flex:1;min-height:54px;text-align:center;text-decoration:none;font-weight:800}.mobile-actions .mobile-call{position:static;box-shadow:none;padding:10px;background:#0b6878;color:#fff}.mobile-book{background:#f4c43e;color:#123c48}body{padding-bottom:54px}}
/* Google review destination */
.reviews-section{background:linear-gradient(135deg,#d9f1ee,#f3fbfa)}
.reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:30px}
.reviews-heading h2{margin-bottom:0}
.reviews-heading>p{max-width:390px;margin:0;color:#355c64}
.reviews-shell{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;border:1px solid #c9e3e0;border-radius:18px;background:#fff;box-shadow:0 14px 35px #0d627016}
.reviews-copy strong{display:block;color:#123c48;font-size:1.25rem;line-height:1.3}
.reviews-copy p{max-width:540px;margin:8px 0 0;color:#355c64;line-height:1.5}
.reviews-link{flex-shrink:0;text-align:center}
@media(max-width:700px){.reviews-heading{display:block}.reviews-heading>p{margin-top:12px}.reviews-shell{display:block;padding:22px}.reviews-link{display:block;margin-top:20px}}

/* About and contact pages */
.about-preview{background:#f8fdfc}.about-preview .photo-panel{aspect-ratio:16/10;max-height:390px;object-fit:cover}
.text-link{display:inline-block;margin-top:18px;color:#087784;font-weight:800;text-underline-offset:5px}
.about-license{padding:36px;border-radius:18px;background:linear-gradient(135deg,#0b5668,#078b94);color:#fff;box-shadow:14px 14px 0 #f2d580}
.about-license span{display:block;font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#c7f1e9}
.about-license strong{display:block;margin:12px 0 18px;font:800 clamp(2rem,5vw,3.6rem)/1 Outfit,Arial,sans-serif;letter-spacing:-.04em}
.about-license p{margin:0;color:#fff}
.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:34px}
.values-grid article{padding:30px;border:1px solid #c9e3e0;border-top:5px solid #f4c43e;border-radius:14px;background:#fff}
.values-grid span{font-weight:900;color:#078b94}.values-grid h3{margin:15px 0 8px}.values-grid p{margin:0;color:#355c64}
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.contact-card{display:flex;flex-direction:column;align-items:flex-start;min-height:310px;padding:32px;border:1px solid #c9e3e0;border-top:5px solid #78c59e;border-radius:16px;background:#fff;box-shadow:0 12px 30px #0d627016}
.contact-card.featured{border-top-color:#f4c43e;background:linear-gradient(145deg,#e4f6f3,#fff)}
.contact-card>span{font-size:.8rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#087784}.contact-card h2{margin:18px 0 10px;font-size:1.9rem}.contact-card p{color:#355c64}.contact-card .btn,.contact-card .text-link{margin-top:auto}
.contact-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px}.contact-bottom>div{max-width:760px}.contact-bottom p{color:#355c64}
@media(max-width:850px){.values-grid,.contact-grid{grid-template-columns:1fr}.contact-card{min-height:0}.contact-bottom{display:block}.contact-bottom .text-link{margin-top:10px}}

/* Recent projects gallery */
.projects-preview{background:#e8f6f4}.projects-preview-heading,.projects-intro{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:30px}
.projects-preview-heading h2,.projects-intro h2{margin-bottom:0}.projects-preview-heading .text-link{white-space:nowrap}
.preview-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.preview-projects a{position:relative;display:block;min-height:330px;overflow:hidden;border-radius:16px;background:#0b5668;box-shadow:0 12px 30px #0d62701c}
.preview-projects img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.preview-projects a::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#062e3bea)}
.preview-projects span{position:absolute;z-index:1;left:24px;right:24px;bottom:22px;color:#fff;font:800 1.35rem Outfit,Arial,sans-serif}
.preview-projects a:hover img{transform:scale(1.035)}
.projects-intro>p{max-width:520px;margin:0;color:#355c64}
.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.project-card{overflow:hidden;border:1px solid #c9e3e0;border-radius:18px;background:#fff;box-shadow:0 14px 35px #0d627018}
.project-media{height:420px;background:#0b5668}.project-media.pair{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.project-media img{display:block;width:100%;height:100%;object-fit:cover}
.project-copy{padding:28px}.project-copy>span{font-size:.78rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#087784}
.project-copy h2{margin:12px 0 9px;font-size:1.65rem}.project-copy p{margin:0;color:#355c64}
.project-copy h2 a{color:inherit;text-decoration:none}.project-copy h2 a:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:850px){.projects-preview-heading,.projects-intro{display:block}.preview-projects,.project-gallery{grid-template-columns:1fr}.projects-intro>p{margin-top:14px}.preview-projects a{min-height:280px}.project-media{height:370px}}
@media(max-width:520px){.project-media{height:320px}.project-copy{padding:23px}.project-copy h2{font-size:1.45rem}}
@media(prefers-reduced-motion:reduce){.preview-projects img{transition:none}}

/* Location-specific project articles */
.project-article-hero{position:relative;min-height:520px;display:flex;align-items:end;padding:95px 0 75px;background-image:linear-gradient(110deg,rgba(2,37,49,.94),rgba(5,91,99,.69)),var(--article-photo);background-position:center;background-size:cover;color:#fff}
.project-article-hero .wrap{width:100%}.project-article-hero h1{max-width:900px;color:#fff}.project-article-hero p:not(.eyebrow){max-width:720px;font-size:1.12rem;color:#eefbfa}
.article-back{display:inline-block;margin-bottom:28px;color:#fff;font-weight:800;text-underline-offset:5px}
.article-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:55px;align-items:start}
.article-copy{font-size:1.06rem}.article-copy h2{margin-top:38px}.article-copy h2:first-of-type{margin-top:0}.article-copy p{color:#355c64}
.article-aside{position:sticky;top:25px}.article-photos{display:grid;gap:5px;overflow:hidden;border-radius:16px;background:#0b5668;box-shadow:14px 14px 0 #f2d580}
.article-photos.pair{grid-template-columns:1fr 1fr}.article-photos img{display:block;width:100%;height:520px;object-fit:cover}.article-photos.pair img{height:470px}
.article-links{display:flex;flex-direction:column;gap:12px;margin-top:38px;padding:25px;border:1px solid #c9e3e0;border-radius:14px;background:#edf8f5}
.article-links a{color:#087784;font-weight:800;text-underline-offset:4px}.article-note{margin-top:34px;padding:22px 24px;border-left:5px solid #f4c43e;background:#edf8f5}.article-note p{margin:7px 0 0}
@media(max-width:900px){.project-article-hero{min-height:440px}.article-layout{grid-template-columns:1fr}.article-aside{position:static}.article-photos img,.article-photos.pair img{height:430px}}
@media(max-width:560px){.project-article-hero{min-height:390px;padding:65px 0 55px}.article-photos img,.article-photos.pair img{height:330px}.article-photos.pair{grid-template-columns:1fr 1fr}}

/* Maintenance reward page */
.reward-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);align-items:center;gap:60px}
.reward-card{position:relative;overflow:hidden;padding:34px;border-radius:22px;background:linear-gradient(145deg,#0b5668,#078b94);color:#fff;box-shadow:16px 16px 0 #f2d580}
.reward-card::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-95px;top:-105px;border:28px solid #ffffff15}
.reward-card-top{display:flex;flex-direction:column;gap:6px;position:relative;z-index:1}.reward-card-top span{font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#c7f1e9}.reward-card-top strong{font:800 2rem/1.05 Outfit,Arial,sans-serif}
.punch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:32px 0}.punch-grid span{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border:2px dashed #f8d76f;border-radius:50%;font-weight:900;color:#ffe898;background:#083f4b66}
.reward-card p{margin:0;color:#fff}.reward-steps{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.reward-steps ol{list-style:none;margin:0;padding:0}.reward-steps li{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid #c9e3e0}.reward-steps li>span{font-weight:900;color:#078b94}.reward-steps strong{font:800 1.2rem Outfit,Arial,sans-serif}.reward-steps p{margin:6px 0 0;color:#355c64}
@media(max-width:850px){.reward-grid,.reward-steps{grid-template-columns:1fr}.reward-card{max-width:600px}.reward-steps{gap:25px}}
@media(max-width:520px){.reward-card{padding:25px;box-shadow:9px 9px 0 #f2d580}.punch-grid{gap:9px}.reward-card-top strong{font-size:1.7rem}}

/* Trust, warranty and credentials */
.trust-preview{background:#0a4d5d;color:#fff}.trust-preview h2{color:#fff}.trust-preview .eyebrow{color:#c7f1e9}.trust-preview .text-link{color:#ffe18a}
.trust-preview-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:30px}.trust-preview-heading h2{margin:0}.trust-preview-heading .text-link{white-space:nowrap}
.trust-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;border-radius:16px;overflow:hidden;background:#ffffff24}
.trust-points span{padding:24px;background:#0b5b6b;color:#c7f1e9;font-size:.82rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.trust-points strong{display:block;margin-top:5px;color:#fff;font:800 1.08rem/1.25 Outfit,Arial,sans-serif;letter-spacing:0;text-transform:none}
.credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:35px}.credential-grid article{padding:30px;border:1px solid #c9e3e0;border-top:5px solid #f4c43e;border-radius:16px;background:#fff}.credential-grid span{font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#087784}.credential-grid h3{margin:14px 0 5px}.credential-grid strong{display:block;color:#0b5668;font-size:1.1rem}.credential-grid p{margin-bottom:0;color:#355c64}
.warranty-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.warranty-card{position:relative;overflow:hidden;min-height:360px;padding:38px;border-radius:20px;color:#fff}.warranty-card.labor{background:linear-gradient(145deg,#0b5668,#078b94)}.warranty-card.parts{background:linear-gradient(145deg,#075a64,#0a887d)}.warranty-card .eyebrow{color:#c7f1e9}.warranty-number{display:block;font:900 7rem/.85 Outfit,Arial,sans-serif;color:#ffe18a}.warranty-card h2{margin:12px 0;color:#fff}.warranty-card p:last-child{color:#fff}.warranty-note{margin-top:30px;padding:23px;border-left:5px solid #f4c43e;background:#edf8f5}.warranty-note p{margin:7px 0 0;color:#355c64}
@media(max-width:800px){.trust-preview-heading{display:block}.trust-points,.credential-grid,.warranty-grid{grid-template-columns:1fr}.trust-preview-heading .text-link{white-space:normal}.trust-points span{padding:20px}.warranty-card{min-height:0}}

/* Symptom guides */
.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}
.guide-card{display:flex;flex-direction:column;padding:30px;border:1px solid #c9e3e0;border-top:5px solid #f4c43e;border-radius:15px;background:#fff;box-shadow:0 12px 30px #0d627016}
.guide-card h3{font-size:1.6rem}.guide-card p{color:#355c64}.guide-card a{margin-top:auto;color:#087784;font-weight:800;text-underline-offset:5px}
.guide-hero{min-height:410px}.guide-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);align-items:start;gap:55px}
.guide-steps{margin-top:28px}.guide-steps article{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid #c9e3e0}
.guide-steps article>span{font-weight:900;color:#087784}.guide-steps h3{margin:0 0 8px}.guide-steps p{margin:0;color:#355c64}
.guide-alert{margin-top:30px;padding:23px;border-left:5px solid #f4c43e;background:#e6f5f2}.guide-alert p{margin:7px 0 0}
.guide-layout aside{padding:25px;border:1px solid #c9e3e0;border-radius:16px;background:#fff}.guide-layout aside img{display:block;width:100%;height:290px;object-fit:cover;border-radius:10px;margin-bottom:25px}.guide-layout aside p:not(.eyebrow){color:#355c64}
@media(max-width:820px){.guide-layout,.guide-grid{grid-template-columns:1fr}.guide-layout aside{max-width:650px}}

/* HVAC cost guide */
.calc-intro{padding:60px 0;background:linear-gradient(120deg,#d9f1ee,#f3fbfa)}
.calc-intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.calc-intro h1{max-width:14ch}.calc-intro p:not(.eyebrow){max-width:55ch;color:#355c64;font-size:1.1rem}
.calc-intro img{display:block;width:100%;height:320px;object-fit:cover;border-radius:18px;box-shadow:14px 14px 0 #f2d580}
.calc-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:34px;align-items:start}
.calc-card{padding:clamp(24px,4vw,46px);border:1px solid #c9e3e0;border-radius:20px;background:#fff;box-shadow:0 16px 35px #0d627016}
.calc-top{margin-bottom:34px}.calc-top .eyebrow{margin:0 0 5px}.calc-top strong{font-size:1.08rem;color:#143d47}
.calc-progress{height:12px;margin-top:18px;border-radius:100px;background:#e3eeed;overflow:hidden}.calc-progress span{display:block;height:100%;width:14.28%;border-radius:100px;background:#087f89;transition:width .2s}
.calc-step[hidden]{display:none}.calc-step{margin:0;padding:0;border:0;min-width:0}.calc-step legend{padding:0;margin-bottom:24px;font:800 clamp(1.45rem,3vw,2.1rem)/1.2 Outfit,Arial,sans-serif;color:#0b4356}
.calc-options{display:grid;gap:11px}.calc-option{display:block;position:relative;cursor:pointer}.calc-option input{position:absolute;opacity:0;width:1px;height:1px}.calc-option span{display:block;padding:15px 18px;border:2px solid #c9e3e0;border-radius:11px;background:#fbfefd;color:#173e4a;font-size:1rem;font-weight:700;transition:background .2s,border-color .2s}
.calc-option:hover span{border-color:#087f89;background:#eaf7f5}.calc-option input:checked+span{border-color:#087f89;background:#d8f1ee}.calc-option input:focus-visible+span{outline:3px solid #f4c43e;outline-offset:2px}
.calc-hint{color:#4f6a70;font-size:.94rem;margin:17px 0 0}.calc-controls{display:flex;gap:12px;margin-top:29px;flex-wrap:wrap}.calc-controls button,.calc-restart{min-height:48px;padding:12px 21px;border-radius:8px;border:1px solid #0b5668;background:#fff;color:#0b5668;font:800 1rem 'DM Sans',Arial,sans-serif;cursor:pointer}.calc-controls .calc-next{background:#0b5668;color:#fff}.calc-controls button:hover,.calc-restart:hover{filter:brightness(.92)}
.calc-aside{padding:29px;border-radius:17px;background:#0a4d5d;color:#fff}.calc-aside h2{color:#fff}.calc-aside .eyebrow{color:#f2d580}.calc-aside p{color:#e7f6f4}.calc-aside>div{border-top:1px solid #ffffff38;margin-top:22px;padding-top:22px}.calc-aside h3{font-size:1.15rem;color:#fff}
.calc-result h2{margin:0 0 10px}.calc-range{font:800 clamp(1.8rem,4vw,2.8rem)/1.2 Outfit,Arial,sans-serif;color:#087f89;margin:14px 0}.calc-context{font-weight:700;color:#164b57}.calc-source{padding:17px 19px;border-left:4px solid #f4c43e;background:#f0f8f6;color:#355c64;font-size:.94rem}.calc-source a{color:#086978;font-weight:800}.calc-summary{margin:25px 0;padding:20px;border-radius:12px;background:#e9f7f5}.calc-summary p{margin:6px 0;color:#355c64}.calc-result-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.calc-restart{margin-top:5px}
@media(max-width:860px){.calc-intro-grid,.calc-layout{grid-template-columns:1fr}.calc-intro img{max-width:650px;height:250px}.calc-aside{max-width:700px}}
@media(max-width:600px){.calc-intro{padding:48px 0}.calc-intro img{height:210px;box-shadow:8px 8px 0 #f2d580}.calc-result-actions .btn{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.calc-progress span,.calc-option span{transition:none}}

/* Consistent coastal surfaces and readable text across every page. */
:root{--site-ink:#123743;--site-deep:#0a4656;--site-teal:#075d6d;--site-sand:#f2d580;--site-light:#f3faf8}
body{color:var(--site-ink);background:var(--site-light)}
.section:not(.soft),.services-directory,.about-preview{background:var(--site-light)}
.section.soft,.services-hero,.related-services,.areas-hero,.calc-intro{background:#e6f5f2}
h1,h2,h3,.brand,.calc-step legend{overflow-wrap:break-word}
.eyebrow,.service-index,.card .num,.area-card a,.area-more,.text-link,.guide-card a,.project-copy>span,.contact-card>span,.credential-grid span,.reward-steps li>span,.guide-steps article>span{color:#075d6d}
.header,.nav{background:#f8fdfc}
.top,.bar{background:#0b5668;color:#fff}
.btn,.btn.dark,.header-actions .btn.dark{background:#0b5668;color:#fff;box-shadow:0 5px 16px #0b56682a}
.btn:hover,.btn.dark:hover,.header-actions .btn.dark:hover{background:#084656;color:#fff}
.btn.booking,.header-actions .btn.booking{background:#f2d580;color:#143743}
.btn.booking:hover,.header-actions .btn.booking:hover{background:#ffe3a0;color:#143743}
.btn.outline{background:transparent;color:#fff;border:2px solid #fff;box-shadow:none}
.btn.outline:hover{background:#fff;color:#0b4656}
.hero .btn.outline:hover,.service-detail-hero .btn.outline:hover{background:#fff;color:#0b4656}
.hero,.inner-hero,.project-article-hero{background-color:#0b4656}
.hero-copy{background:linear-gradient(90deg,rgba(3,36,49,.97) 0%,rgba(4,47,60,.89) 48%,rgba(4,47,60,.44) 100%)}
.inner-hero{background-image:linear-gradient(90deg,rgba(3,36,49,.96),rgba(3,44,56,.83)),var(--detail-photo,url('/hero-trucks.jpg'))}
.project-article-hero{background-image:linear-gradient(90deg,rgba(3,36,49,.96),rgba(3,44,56,.8)),var(--article-photo)}
.hero .eyebrow,.inner-hero .eyebrow,.project-article-hero .eyebrow{color:#ffe5a1}
.hero p.lead,.inner-hero p,.project-article-hero p:not(.eyebrow){color:#fff}
.cards .card,.cards .card:first-child,.service-grid .service-card{background:#0c5060;border-color:#237a84;border-top-color:var(--site-sand);color:#fff}
.cards .card::before,.service-grid .service-card::before{background-image:linear-gradient(90deg,rgba(2,30,42,.95),rgba(2,37,48,.83)),var(--card-photo);opacity:0}
.service-grid .service-card::before{background-image:linear-gradient(90deg,rgba(2,30,42,.95),rgba(2,37,48,.83)),var(--service-photo)}
.cards .card .num,.cards .card p,.cards .card a,.service-grid .service-card .service-index,.service-grid .service-card p,.service-grid .service-card a{color:#fff}
.cards .card a,.service-grid .service-card a{text-decoration:underline;text-decoration-color:#ffe5a1;text-underline-offset:4px}
.cards .card a:hover,.service-grid .service-card a:hover{color:#ffe5a1}
.cta{background:#0b5668;color:#fff}.cta h2,.cta p{color:#fff}.cta .eyebrow{color:#ffe5a1!important}
.cta .btn:not(.outline){background:#f2d580;color:#143743}.cta .btn:not(.outline):hover{background:#ffe3a0;color:#143743}
.footer,.trust-preview,.calc-aside{background:#0a3d4c;color:#fff}
.calc-aside p,.footer p{color:#e7f6f4}
.service-visual{background:linear-gradient(135deg,#0b5668,#0a6972);color:#fff}
.mobile-actions .mobile-call{background:#0b5668;color:#fff}.mobile-actions .mobile-book{background:#f2d580;color:#143743}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e6ad32;outline-offset:3px}
@media(max-width:600px){.hero-copy{background:linear-gradient(180deg,rgba(3,36,49,.96),rgba(3,36,49,.87) 72%,rgba(3,36,49,.75))}.hero h1{font-size:clamp(2.45rem,11vw,4rem)}.hero .actions .btn{max-width:100%}}
@media(hover:none){.cards .card::before,.service-grid .service-card::before{opacity:1}}

/* The original Tropicool green-to-yellow shaded booking button. */
.btn.booking,.header-actions .btn.booking,.cta .btn.booking{
  background:linear-gradient(105deg,#4eaf52 0%,#8abd38 54%,#ffc928 100%);
  color:#082b2d;
  border:0;
  box-shadow:0 6px 18px #145e342b;
}
.btn.booking:hover,.header-actions .btn.booking:hover,.cta .btn.booking:hover{
  background:linear-gradient(105deg,#43a24d 0%,#80b332 54%,#edb91d 100%);
  color:#082b2d;
}
.mobile-actions .mobile-book{
  background:linear-gradient(105deg,#4eaf52 0%,#8abd38 54%,#ffc928 100%);
  color:#082b2d;
}

/* Match the mobile menu to Tropicool's shaded booking button. */
.menu{
  background:linear-gradient(105deg,#4eaf52 0%,#8abd38 54%,#ffc928 100%);
  color:#082b2d;
  border:0;
  border-radius:5px;
  box-shadow:0 5px 15px #145e342b;
  font:800 1rem/1.2 'DM Sans',Arial,sans-serif;
}
.menu:hover{background:linear-gradient(105deg,#43a24d 0%,#80b332 54%,#edb91d 100%)}

/* Keep the credentials panel dark enough for its white heading on every screen. */
body .section.trust-preview{background:#0a4d5d;color:#fff}
body .section.trust-preview h2{color:#fff}
body .section.trust-preview .eyebrow{color:#c7f1e9}
body .section.trust-preview .text-link{color:#ffe18a}

/* Give the main customer actions clear visual priority. */
.actions .btn,.header-actions .btn,.contact-card .btn,.blog-article-aside .btn{
  min-height:54px;
  padding:15px 24px;
  font-weight:900;
  letter-spacing:.01em;
  box-shadow:0 9px 22px rgba(5,45,54,.28);
}
.hero .actions .btn:not(.outline):not(.booking),
.inner-hero .actions .btn:not(.outline):not(.booking),
.cta .actions .btn:not(.outline):not(.booking),
.blog-article-aside .btn:not(.booking){
  background:#ffc928;
  color:#082b2d;
  border:2px solid #ffe178;
}
.hero .actions .btn:not(.outline):not(.booking):hover,
.inner-hero .actions .btn:not(.outline):not(.booking):hover,
.cta .actions .btn:not(.outline):not(.booking):hover,
.blog-article-aside .btn:not(.booking):hover{background:#ffda55;color:#082b2d}
.btn.booking,.header-actions .btn.booking,.cta .btn.booking{box-shadow:0 10px 24px rgba(20,94,52,.34)}
.actions .btn:hover,.header-actions .btn:hover,.contact-card .btn:hover,.blog-article-aside .btn:hover{transform:translateY(-3px)}
.mobile-actions{box-shadow:0 -6px 22px rgba(5,45,54,.25)}
.mobile-actions a{font-weight:900;letter-spacing:.01em}
@media(max-width:600px){.actions .btn{min-height:56px}.hero .actions .btn{flex:1 1 170px}}

/* Light, readable credentials panel inspired by the supplied Tropicool reference. */
body .section.trust-preview{
  color:#173b47;
  background:radial-gradient(ellipse at 96% 10%,rgba(112,188,194,.19),transparent 43%),linear-gradient(145deg,#f9fefe,#e9f7f8 65%,#f3fbf8);
  padding-top:52px;
  padding-bottom:52px;
}
body .section.trust-preview .eyebrow{color:#087985}
body .section.trust-preview h2{color:#092f47}
body .section.trust-preview .text-link{display:inline-block;color:#087985;text-decoration:underline;text-decoration-color:#7ac942;text-decoration-thickness:3px;text-underline-offset:7px;font-weight:800}
body .section.trust-preview .text-link:hover{color:#064c58}
.trust-preview-heading{display:block;max-width:920px;margin-bottom:25px}
.trust-preview-heading .eyebrow{margin-bottom:10px;letter-spacing:.16em}
.trust-preview-heading h2{max-width:850px;margin:0 0 12px;line-height:1.08}
.trust-preview-heading p:not(.eyebrow){max-width:760px;margin:0 0 16px;color:#263f48;font-size:1.05rem;line-height:1.5}
.trust-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible;border-radius:0;background:transparent}
.trust-points article{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:16px;min-width:0;padding:17px 20px;border:1px solid #188496;border-radius:15px;background:linear-gradient(115deg,#075b70 0%,#034e64 100%);box-shadow:0 8px 19px rgba(7,65,77,.13);color:#fff}
.trust-points .trust-mark{display:grid;place-items:center;box-sizing:border-box;width:58px;height:58px;padding:0;border:2px solid rgba(255,255,255,.5);border-radius:50%;background:#003f57;color:#fff;letter-spacing:0;text-transform:none}
.trust-points .trust-mark img{display:block;width:30px;height:30px;filter:brightness(0) invert(1)}
.trust-points .epa-emblem{display:flex;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;width:49px;height:49px;padding:0;border:2px solid #fff;border-radius:50%;background:transparent;color:#fff;line-height:1}
.trust-points .epa-emblem img{width:23px;height:23px;margin-top:2px}
.trust-points .epa-emblem b{display:block;margin-top:1px;color:#fff;font:900 11px/1 Outfit,Arial,sans-serif;letter-spacing:0;text-transform:uppercase}
.trust-points .trust-label{display:block;padding:0;background:none;color:#8af0eb;font-size:.82rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.trust-points h3{margin:4px 0;color:#fff;font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.2}
.trust-points p{margin:0;color:#e4f6f7;line-height:1.5}
@media(max-width:800px){.trust-points{grid-template-columns:1fr}}
@media(max-width:600px){body .section.trust-preview{padding-top:38px;padding-bottom:38px}.trust-preview-heading{margin-bottom:22px}.trust-preview-heading .eyebrow{font-size:.8rem}.trust-points article{grid-template-columns:44px minmax(0,1fr);gap:12px;padding:15px 14px;border-radius:13px}.trust-points .trust-mark{width:42px;height:42px}.trust-points .trust-mark img{width:24px;height:24px}.trust-points h3{font-size:1.2rem}.trust-points p{font-size:.96rem}}
@media(max-width:600px){.trust-points .epa-emblem{width:35px;height:35px;border-width:1.5px}.trust-points .epa-emblem img{width:15px;height:15px;margin-top:1px}.trust-points .epa-emblem b{font-size:8px;margin-top:0}}
