:root{--navy:#11334a;--deep:#082536;--blue:#147fb4;--teal:#167e76;--cream:#f7f8f4;--ink:#183545;--line:#dce6e9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}.wrap{width:min(1160px,calc(100% - 44px));margin:auto}.topbar{background:var(--deep);color:#d8ecf1;padding:7px 0;font-size:12px;letter-spacing:.09em}.topbar .wrap{display:flex;justify-content:space-between;gap:20px}.site-header{background:#fff;position:sticky;top:0;z-index:10;box-shadow:0 4px 24px #052c4213}.nav{display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:20px}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand img{width:62px;height:62px}.brand-text{font-family:Georgia,serif;font-size:25px;font-weight:bold;color:#114364;line-height:1}.brand-text small{display:block;font:700 10px/1.8 system-ui;letter-spacing:.16em;color:#5298b3;margin-top:5px}.nav-links{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:650}.nav-links a:hover{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:6px;font-size:14px;font-weight:760;letter-spacing:.015em;transition:transform .2s,background .2s;border:2px solid transparent;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-blue{background:#147fb4;color:white}.btn-blue:hover{background:#075e88}.btn-outline{border-color:#fff;color:white;background:#ffffff16}.btn-light{background:white;color:var(--navy)}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#2689b2}.hero{background:linear-gradient(90deg,#062837ec 0%,#062837b9 41%,#06283732 100%),url('landscape.svg') center/cover;min-height:610px;display:flex;align-items:center;color:white}.hero .wrap{padding:76px 0}.hero h1{font:normal clamp(42px,6vw,76px)/1.08 Georgia,serif;letter-spacing:-.03em;max-width:790px;margin:18px 0 20px}.hero p{max-width:580px;color:#ebf3f6;font-size:18px}.hero .eyebrow{color:#a4e5ef}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:29px}.features{background:#fff;box-shadow:0 12px 30px #09253312;position:relative}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.feature{padding:27px;text-align:center;border-right:1px solid var(--line)}.feature:last-child{border:0}.feature strong{display:block;color:var(--navy)}.feature span{font-size:13px;color:#667b88}.section{padding:90px 0}.section.alt{background:var(--cream)}.section-heading{text-align:center;max-width:680px;margin:0 auto 38px}.section h2,.cta h2{font:normal clamp(34px,4vw,49px)/1.18 Georgia,serif;color:var(--navy);margin:12px 0}.section-heading p{color:#58707b}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.service-card{background:white;border:1px solid #e7ece9;border-radius:12px;padding:28px;box-shadow:0 8px 25px #09253309}.service-card .symbol{font-size:32px;display:block;margin-bottom:15px}.service-card h3{margin:0 0 8px;color:var(--navy);font-size:20px}.service-card p{margin:0;color:#627984;font-size:14px}.split{display:grid;grid-template-columns:1fr 1fr;gap:62px;align-items:center}.image-panel{background:linear-gradient(0deg,#032a3d58,#032a3d10),url('landscape.svg') center/cover;border-radius:14px;min-height:420px;box-shadow:0 25px 50px #0a293026}.checklist{padding:0;list-style:none}.checklist li{padding:8px 0}.checklist li:before{content:'✓';font-weight:900;color:var(--teal);margin-right:11px}.cta{background:linear-gradient(120deg,#082f45,#0f6d8e);color:white;padding:65px 0;text-align:center}.cta h2{color:white}.cta p{color:#d8eaf0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact p{color:#5f7480}.contact-info{padding:20px 0}.contact-info strong{display:block;font-size:24px;color:var(--navy)}.contact-form{background:#f7f9f9;border:1px solid var(--line);border-radius:12px;padding:27px}.contact-form label{display:block;font-size:13px;font-weight:800;margin:0 0 6px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:12px;border:1px solid #cbd9de;background:#fff;border-radius:6px;margin-bottom:15px;color:#183545}.contact-form textarea{min-height:112px;resize:vertical}.contact-form button{width:100%}.fine{font-size:12px;color:#71838b}.footer{background:#062737;color:#d9e5eb;padding:43px 0 20px}.footer-grid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer a:hover{color:#81d1f0}.footer small{color:#a4bac4}.footer-bottom{border-top:1px solid #426071;margin-top:25px;padding-top:17px;font-size:12px}.chooser{min-height:100vh;background:linear-gradient(90deg,#052b40ec,#052b40a5),url('landscape.svg') center/cover;display:flex;flex-direction:column;color:white}.chooser-nav{display:flex;align-items:center;justify-content:space-between;padding:24px 0}.chooser .brand-text{color:white}.chooser .brand-text small{color:#b6dee8}.chooser-main{text-align:center;margin:auto;max-width:1000px;padding:46px 0 80px}.chooser-main h1{font:normal clamp(45px,6vw,77px)/1.04 Georgia,serif;margin:14px 0}.chooser-main>p{font-size:19px;color:#dcebf0;margin-bottom:39px}.location-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:21px}.location-card{background:#fff;color:var(--navy);border-radius:15px;padding:38px 28px;display:block;box-shadow:0 18px 45px #041b2b48;transition:transform .2s,box-shadow .2s}.location-card:hover{transform:translateY(-6px);box-shadow:0 25px 60px #041b2b88}.location-card .emoji{font-size:49px}.location-card h2{font:normal 38px Georgia,serif;margin:10px 0 5px}.location-card p{color:#647885;margin:0 0 20px}.location-card .go{display:inline-block;background:#147fb4;color:white;border-radius:5px;padding:10px 22px;font-weight:800;font-size:13px}.chooser-bottom{margin-top:23px;color:#c9e3ed;font-size:13px}.mobile-link{display:none}@media(max-width:800px){.nav-links{gap:11px}.nav-links a:not(.btn){display:none}.mobile-link{display:block!important}.grid-3{grid-template-columns:repeat(2,1fr)}.split,.contact{grid-template-columns:1fr;gap:26px}.section{padding:63px 0}.hero{min-height:570px}.hero h1{font-size:51px}}@media(max-width:570px){.wrap{width:min(100% - 28px,1160px)}.brand img{width:47px;height:47px}.brand-text{font-size:19px}.brand-text small{font-size:8px}.nav{min-height:72px}.nav-links .btn{padding:10px 12px;font-size:11px}.topbar .wrap{font-size:10px}.hero h1{font-size:43px}.hero p{font-size:16px}.hero{min-height:560px;background-position:60% center}.feature-grid{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid var(--line);padding:17px}.feature:last-child{border:0}.grid-3,.location-grid{grid-template-columns:1fr}.chooser-nav{padding:17px 0}.chooser-main{padding:30px 0 55px}.chooser-main h1{font-size:46px}.location-card{padding:24px}.location-card .emoji{font-size:34px}.location-card h2{font-size:29px}.section h2{font-size:34px}.footer-grid{display:block}}

/* Regional refresh: same page layout, distinct state character */
.topbar a{color:#f4fbff;font-weight:700}.nav-links{gap:16px}.nav-links a{white-space:nowrap}.florida{--navy:#064f57;--deep:#053842;--blue:#008f9d;--teal:#1f9184;--cream:#f3faf5}.florida .brand-text{color:#096c73}.florida .brand-text small{color:#20a3a3}.florida .btn-blue{background:#008f9d}.florida .btn-blue:hover{background:#006b78}.hero-florida{background:linear-gradient(90deg,#053943ed 0%,#053943b4 48%,#05394323 100%),url('florida-landscape.svg') center /cover}.hero-michigan{background:linear-gradient(90deg,#092d3bed 0%,#092d3bb3 48%,#092d3b28 100%),url('landscape.svg') center /cover}.about-expanded{background:#fff}.about-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.about-columns article{padding:27px 23px;border-top:4px solid var(--blue);background:#f8fbfa;border-radius:0 0 12px 12px}.about-columns h3{font:normal 24px/1.25 Georgia,serif;color:var(--navy)}.about-columns p{color:#526a72}.about-number{font-size:12px;font-weight:800;letter-spacing:.2em;color:var(--blue)}.gallery-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:19px}.gallery-card{min-height:300px;border-radius:12px;position:relative;overflow:hidden;background-position:center;background-size:cover;box-shadow:0 12px 30px #1639431c}.gallery-card:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#001d30cd)}.gallery-card span{position:absolute;bottom:24px;left:23px;color:#fff;z-index:1;font-size:20px;font-weight:700;text-shadow:0 2px 8px #0008}.gallery-card.garden{background-image:url('florida-landscape.svg')}.michigan .gallery-card.garden{background-image:url('landscape.svg')}.gallery-card.pavers{background-image:linear-gradient(35deg,#bd9d78a0,#f5e9d800),url('landscape.svg')}.gallery-card.lights{background-image:linear-gradient(90deg,#071d3aa3,#03304b33),url('holiday-lights.svg')}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.blog-card{background:white;padding:30px;border:1px solid #e3e9e8;border-radius:12px}.blog-card h3{font:normal 25px/1.2 Georgia,serif;color:var(--navy)}.blog-card p{color:#5a7178}.blog-card a{color:var(--blue);font-weight:800}.blog-kicker{font-size:11px;letter-spacing:.15em;font-weight:800;color:var(--blue)}.florida .image-panel{background-image:linear-gradient(0deg,#06495544,#06495511),url('florida-landscape.svg')}.florida .cta{background:linear-gradient(115deg,#03424d,#06919a)}@media(max-width:1100px){.nav-links{gap:10px;font-size:12px}}@media(max-width:860px){.about-columns,.blog-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-card:first-child{grid-column:span 2}.nav-links a:not(.btn){display:none}}@media(max-width:570px){.about-columns,.blog-grid,.gallery-grid{grid-template-columns:1fr}.gallery-card:first-child{grid-column:span 1}.gallery-card{min-height:230px}}

/* Florida-only seasonal feature */
.florida .christmas-spotlight{padding:92px 0;background:radial-gradient(circle at 95% 2%,#eff8f0 0%,transparent 42%),linear-gradient(115deg,#fffaf2,#f0faf7)}
.florida .christmas-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);align-items:center;gap:clamp(28px,5vw,75px)}
.florida .christmas-photo{position:relative;min-height:490px;border-radius:22px;background:linear-gradient(0deg,#06253f30,#06253f05),url('holiday-lights.svg') center/cover;box-shadow:0 25px 65px #0d3a3b2d;overflow:hidden}
.florida .christmas-photo-label{position:absolute;left:22px;bottom:22px;background:#ffffffea;color:#0b4850;padding:12px 18px;border-radius:50px;font-weight:800;font-size:13px}
.florida .christmas-copy h2{font:normal clamp(35px,4.1vw,58px)/1.12 Georgia,serif;color:#073d42;margin:12px 0 19px}
.florida .christmas-copy p{line-height:1.75;color:#4b6567}.florida .christmas-copy .christmas-lede{font-size:20px;color:#176a6c;font-weight:650;line-height:1.5}
.florida .christmas-points{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:25px 0 28px;color:#124d50;font-weight:700;font-size:14px}
.florida .christmas-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.florida .christmas-call{color:#0c6970;font-weight:800}.florida .christmas-copy .christmas-note{font-size:12px;margin-top:18px;color:#677b7d}
@media(max-width:860px){.florida .christmas-layout{grid-template-columns:1fr}.florida .christmas-photo{min-height:340px}}
@media(max-width:570px){.florida .christmas-spotlight{padding:52px 0}.florida .christmas-points{grid-template-columns:1fr}.florida .christmas-photo{min-height:260px}.florida .christmas-copy h2{font-size:37px}}

/* Florida-only holiday estimate calculator */
.florida .lights-calculator{background:linear-gradient(125deg,#e6f6ef 0%,#f8fcf9 45%,#e6f3f6 100%)}
.florida .calc-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;max-width:1050px;margin:auto;align-items:start}
.florida .calc-inputs,.florida .calc-results{background:white;border:1px solid #d6e9df;border-radius:20px;padding:clamp(22px,3vw,36px);box-shadow:0 12px 34px #083c3b14}
.florida .calc-inputs h3{color:#154f4b;margin:0 0 22px;font:normal 29px Georgia,serif}
.florida .calc-field{display:flex;flex-direction:column;gap:7px;margin-bottom:19px}.florida .calc-field label,.florida .calc-rates label{font-weight:750;color:#194d4e}
.florida .calc-field input,.florida .calc-field select,.florida .calc-rates input{width:100%;background:#fbfefa;border:1px solid #b8d0c7;border-radius:9px;padding:12px;font:inherit;color:#204a4e}
.florida .calc-field small,.florida .calc-small{font-size:12px;color:#617674}.florida .calc-check{display:flex;align-items:center;gap:10px;color:#194d4e;font-weight:700}.florida .calc-check input{width:19px;height:19px;accent-color:#167f79}
.florida .calc-rates{margin-top:22px;border-top:1px solid #e3e9e7;padding-top:15px}.florida .calc-rates summary{cursor:pointer;font-weight:750;color:#176b6c}.florida .calc-rates p{font-size:13px}.florida .calc-rates-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.florida .calc-rates-grid label{font-size:12px;display:grid;gap:5px}
.florida .calc-results{background:#073d42;color:white;position:sticky;top:22px}.florida .calc-results .eyebrow{color:#9de1bf}.florida .calc-total-label{margin-top:22px;color:#d1eae7}.florida .calc-total{font-size:clamp(45px,6vw,64px);font-weight:850;letter-spacing:-2px;margin:0 0 20px}.florida .calc-line{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #ffffff30;padding:15px 0}.florida .calc-warning{font-size:13px;line-height:1.6;color:#e4f1ee}.florida .calc-results .btn{display:block;text-align:center;margin:22px 0 14px}.florida .calc-results .calc-small{color:#bbd7d3;text-align:center}.florida .calc-results a:not(.btn){color:#ffffff}
@media(max-width:760px){.florida .calc-layout{grid-template-columns:1fr}.florida .calc-results{position:static}.florida .calc-rates-grid{grid-template-columns:1fr 1fr}}

/* Simple, four-question holiday quote form */
.florida .holiday-quote-form{max-width:680px;margin:0 auto;padding:clamp(22px,4vw,42px);border-radius:22px;background:white;border:1px solid #cfe7dd;box-shadow:0 16px 44px #073d4218}
.florida .holiday-quote-form .calc-field{margin:0 0 24px}
.florida .holiday-choice{border:0;padding:0;margin:0 0 24px;display:flex;gap:12px 25px;flex-wrap:wrap}
.florida .holiday-choice legend{font-weight:800;color:#194d4e;margin-bottom:10px}
.florida .holiday-choice label{display:flex;align-items:center;gap:9px;cursor:pointer;padding:11px 13px;border:1px solid #cddfd8;border-radius:10px;background:#f9fcfa;color:#194d4e}
.florida .holiday-choice input{accent-color:#008f9d;width:17px;height:17px}
.florida .holiday-calculate{width:100%;font:inherit;font-weight:800;cursor:pointer;border:0}
.florida .holiday-result{margin-top:24px;padding:25px 18px;text-align:center;background:#073d42;color:white;border-radius:15px}
.florida .holiday-result[hidden]{display:none}
.florida .holiday-result span{display:block;color:#d5e9e6;font-size:14px}
.florida .holiday-result strong{display:block;font-size:clamp(38px,6vw,60px);margin:6px 0}
.florida .holiday-result p{font-size:13px;line-height:1.5;color:#d5e9e6}
.florida .holiday-result .btn-outline{border:1px solid #fff;color:white;display:inline-block;margin-top:9px}
/* User-managed project galleries and external links */
.managed-links-section{padding:35px 0;background:#f5faf8}.managed-links-grid{display:flex;gap:12px;flex-wrap:wrap}.managed-link{display:inline-block;padding:12px 20px;border-radius:10px;background:#e6f2f0;color:#125d6b;text-decoration:none;font-weight:700}.managed-link:hover{background:#cbe9e4}.gallery-grid .gallery-card{min-height:200px}

/* Refined hover outlines — Florida teal / Michigan blue via --blue. */
.service-card,.about-columns article,.blog-card,.gallery-card,.location-card,.managed-link,.holiday-choice label,.rating-summary,.nav-links a,.btn{
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease, background-color .22s ease, color .22s ease;
}
.service-card,.blog-card,.about-columns article,.gallery-card{outline:2px solid transparent;outline-offset:3px}
.service-card:hover,.blog-card:hover,.about-columns article:hover,.gallery-card:hover{
  outline-color:var(--blue);box-shadow:0 16px 36px #092b3a20;transform:translateY(-3px)
}
.location-card:hover,.location-card:focus-visible{outline:3px solid #90e9ee;outline-offset:4px}
.nav-links a:not(.btn){border-radius:5px;padding:6px 3px;outline:2px solid transparent;outline-offset:2px}
.nav-links a:not(.btn):hover,.nav-links a:not(.btn):focus-visible{outline-color:var(--blue)}
.btn:hover,.managed-link:hover,.rating-summary:hover,.holiday-choice label:hover{outline:2px solid var(--blue);outline-offset:3px}
.holiday-choice label:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 2px #008f9d44}
input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,button:focus-visible{
  outline:3px solid var(--blue);outline-offset:3px
}
@media (prefers-reduced-motion:reduce){
  .service-card,.about-columns article,.blog-card,.gallery-card,.location-card,.managed-link,.holiday-choice label,.rating-summary,.nav-links a,.btn{transition:none}
  .service-card:hover,.blog-card:hover,.about-columns article:hover,.gallery-card:hover{transform:none}
}

/* Optional, completely hidden when no active promotion exists */
.sales-live:not([hidden]){padding:54px 18px;background:linear-gradient(120deg,#eff8f3,#e4f4f8);text-align:center;border-top:1px solid #d7e6e6;border-bottom:1px solid #d7e6e6}.sales-live[hidden]{display:none!important}.sales-live h2{font-size:clamp(1.7rem,3vw,2.6rem);margin:12px auto;max-width:750px;color:#13374b}.sales-live p{max-width:690px;margin:12px auto 22px;line-height:1.7;white-space:pre-wrap}.michigan .sales-live:not([hidden]){background:linear-gradient(120deg,#f0f5f9,#e0edfa)}

/* Estimate form veteran option & discount terms */
.estimate-discount-info{margin:14px 0 18px;padding:18px 20px;background:#f4f8fa;border:1px solid #dce7ed;border-radius:12px;}
.estimate-discount-info .veteran-option{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:1rem;font-weight:650;color:#13384b;cursor:pointer;}
.estimate-discount-info .veteran-option input{width:19px;height:19px;flex:none;margin:0;accent-color:#147fb4;}
.estimate-discount-info .discount-disclaimer{font-size:.87rem;line-height:1.6;color:#4f6470;margin:0;}
.florida .estimate-discount-info .veteran-option input{accent-color:#168c83;}

/* Florida holiday feature mirrors the third featured gallery tile by default. */
.florida .christmas-photo{background-image:linear-gradient(90deg,#071d3aa3,#03304b33),url('holiday-lights.svg')}

/* Public static launch: hide controls that need connected backend */
.managed-links-section:has(.managed-links-grid:empty){display:none}
