:root{--navy:#073653;--navy2:#062f49;--orange:#f47a22;--cream:#f6ecd8;--ink:#082f4b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Georgia,'Times New Roman',serif;background:var(--cream)}
.site-header{height:104px;background:var(--navy2);display:flex;align-items:center;padding:7px 5.4%;gap:28px;color:#fff;position:relative;z-index:10}.brand{width:320px;flex:0 0 320px;height:90px;display:flex;align-items:center;overflow:hidden}.brand img{width:100%;height:auto;display:block}.site-header nav{display:flex;gap:27px;align-items:center;margin-left:auto}.site-header nav a,.header-actions a{font:600 14px/1 Arial,sans-serif;color:#fff;text-decoration:none;white-space:nowrap}.site-header nav .active{padding-bottom:9px;border-bottom:2px solid #f2a21c}.header-actions{display:flex;align-items:center;gap:22px}.header-actions .quote,.quote,.primary{background:var(--orange);color:#fff!important;text-decoration:none;border-radius:9px;font-weight:800;font-family:Arial,sans-serif}.header-actions .quote{padding:17px 26px}
.hero{height:500px;background:var(--navy);display:grid;grid-template-columns:48% 52%;color:#fff;overflow:hidden}.hero-copy{padding:50px 2% 35px 7.1%;position:relative;z-index:3}.eyebrow{font:600 17px/1.2 Arial,sans-serif;letter-spacing:3px;margin-bottom:12px}.hero h1{font-size:66px;line-height:.91;margin:0 0 15px;letter-spacing:-2px;color:#fff}.hero h1 span{color:#ff8b27}.lead{font-size:25px;margin:0 0 24px}.mini-services{display:flex;gap:37px;margin-bottom:24px}.mini-services>div{display:flex;align-items:center;gap:10px}.mini-services b{font:32px Arial}.mini-services strong,.mini-services small{display:block;font-family:Arial,sans-serif}.mini-services strong{font-size:13px}.mini-services small{font-size:11px;margin-top:4px}.hero-buttons{display:flex;gap:18px}.hero-buttons a{padding:17px 27px;border-radius:9px;font:800 18px Arial;text-decoration:none}.secondary{color:#fff;border:2px solid #fff}.trust{display:flex;gap:31px;margin-top:20px;font:700 10px Arial;letter-spacing:1px}
.hero-photo{position:relative;background-image:linear-gradient(90deg,var(--navy) 0%,rgba(7,54,83,.72) 11%,rgba(7,54,83,.18) 34%,transparent 53%),url('hero-window.png');background-size:cover;background-position:center 50%;overflow:hidden}.hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,0) 60%);pointer-events:none}.scribble{position:absolute;left:25%;bottom:72px;width:47%;height:170px;background:url('hero-scribble.png') center/contain no-repeat;font-size:0;filter:drop-shadow(0 2px 2px rgba(0,0,0,.25))}.note{position:absolute;right:2.5%;bottom:24px;width:170px;height:255px;background:url('hero-note.png') center/contain no-repeat;font-size:0;filter:drop-shadow(0 4px 7px rgba(0,0,0,.24))}
.paper{background-color:var(--cream);background-image:radial-gradient(#9b7b4b12 1px,transparent 1px);background-size:8px 8px}.reviews{padding:29px 3.5% 33px}.section-head{display:grid;grid-template-columns:1fr auto auto;gap:50px;align-items:center}.section-head h2,.services h2,.about h2{font-size:47px;margin:0}.rating{display:grid;grid-template-columns:auto auto;column-gap:12px;align-items:center}.rating b{font:28px Arial;color:#efa000}.rating strong{font-size:16px}.rating small{grid-column:1/3}.section-head>a{color:var(--ink);font-weight:bold}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}.review-grid article{background:#fffaf1;border:1px solid #d9cbb5;border-radius:12px;min-height:175px;padding:10px;display:grid;grid-template-columns:1fr 42%;gap:12px}.review-grid p{font-size:17px;margin:8px 0 24px}.review-grid strong,.review-grid small{display:block;margin:6px 8px}.review-grid img{width:100%;height:100%;object-fit:cover;border-radius:9px}
.services{background:var(--navy);color:#fff;padding:42px 3.5%;display:grid;grid-template-columns:1.05fr repeat(2,1fr);gap:18px}.service-intro{padding:10px 12px}.services h2{color:#fff;line-height:.92}.services h2 span{color:var(--orange)}.service-intro p{text-align:center;font-size:17px}.service-card{background:#104667;border:1px solid #3a6681;border-radius:12px;text-align:center;padding:18px 12px}.service-card .icon{font-size:40px}.service-card h3{font-size:21px;margin:7px}.service-card p{font:14px/1.35 Arial}.service-card a{display:block;background:#fff5e5;color:var(--ink);padding:12px;border-radius:9px;text-decoration:none;font-weight:bold;margin-top:14px}
.about{display:grid;grid-template-columns:38% 38% 24%;gap:22px;padding:30px 4%;align-items:center}.owner-photo{position:relative}.owner-photo img{width:100%;height:360px;object-fit:cover;object-position:center;border:9px solid #fff;transform:rotate(-1deg)}.owner-photo span{position:absolute;left:0;bottom:-8px;background:#fff8e9;padding:12px;font:italic 17px Georgia;transform:rotate(-4deg)}.about-copy h2{font-size:39px;margin:2px 0 10px}.about-copy p{font-size:15px;line-height:1.3}.signature{font:italic 28px 'Segoe Print','Comic Sans MS',cursive;margin:8px 0}.about aside{display:flex;flex-direction:column;align-items:center;gap:35px}.polaroid{background:#fff;padding:22px 30px;text-align:center;font:700 16px/1.35 'Segoe Print';transform:rotate(5deg);box-shadow:0 4px 12px #0002}.blue-note{background:var(--navy);color:#fff;padding:18px 30px;font:700 18px/1.1 'Segoe Print';transform:rotate(4deg)}
footer{background:var(--navy2);color:#fff;padding:24px 5% 12px;display:grid;grid-template-columns:310px 1fr auto;align-items:center;gap:45px;font-family:Arial,sans-serif}footer img{width:300px;height:auto}.contact{line-height:2}.footer-bottom{grid-column:1/4;border-top:1px solid #ffffff44;margin-top:14px;padding-top:12px;font-size:11px}.footer-bottom span{float:right}
@media(max-width:1150px){.site-header{height:auto;flex-wrap:wrap}.brand{width:290px;flex-basis:290px}.site-header nav{order:3;width:100%;justify-content:center;flex-wrap:wrap;padding-bottom:10px}.hero{height:auto;min-height:500px}.hero h1{font-size:58px}}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-photo{min-height:420px}.review-grid,.services,.about{grid-template-columns:1fr 1fr}.service-intro{grid-column:1/3}.about aside{display:none}footer{grid-template-columns:1fr;text-align:center}footer img{margin:auto}.footer-bottom{grid-column:1}.scribble{left:28%;width:45%}}
@media(max-width:650px){.site-header{padding:8px 4%}.brand{width:245px;flex-basis:245px}.header-actions .phone{display:none}.hero-copy{padding:38px 6%}.hero h1{font-size:48px}.lead{font-size:20px}.mini-services,.trust{flex-direction:column;gap:12px}.hero-buttons{flex-direction:column}.hero-photo{min-height:350px}.scribble{left:12%;bottom:55px;width:55%}.note{width:120px;height:190px}.section-head,.review-grid,.services,.about{display:block}.section-head>*{margin-bottom:15px}.review-grid article,.service-card,.owner-photo,.about-copy{margin-bottom:18px}.service-intro{margin-bottom:24px}.section-head h2,.services h2{font-size:38px}.about{padding:25px 6%}footer{display:block}footer>*{margin:15px auto}.footer-bottom span{float:none;display:block;margin-top:8px}}
/* V7 usability layer — preserves the approved V5 visual bones */
section[id], .service-card[id]{scroll-margin-top:118px}
a,button{transition:transform .15s ease,filter .15s ease,background .15s ease}a:hover,button:hover{filter:brightness(1.06)}.primary:hover,.quote:hover,.service-card a:hover{transform:translateY(-1px)}
.quote-panel{padding:44px 5%;display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;border-top:1px solid #d9cbb5}.quote-intro small{font:700 13px Arial;letter-spacing:2px}.quote-intro h2{font-size:44px;line-height:1;margin:8px 0 15px}.quote-intro p{font-size:17px;line-height:1.45;max-width:520px}.quote-panel form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.quote-panel label{font:700 12px Arial;letter-spacing:.4px}.quote-panel input,.quote-panel select,.quote-panel textarea{display:block;width:100%;margin-top:6px;padding:13px 14px;border:1px solid #cbbda8;border-radius:8px;background:#fffdf8;color:var(--ink);font:15px Arial}.quote-panel textarea{resize:vertical}.quote-panel .wide{grid-column:1/3}.quote-panel button{grid-column:1/3;border:0;border-radius:9px;padding:16px 22px;background:var(--orange);color:#fff;font:800 16px Arial;cursor:pointer}.form-note{grid-column:1/3;margin:0;font:12px Arial}.owner-photo img{object-position:center}
@media(max-width:900px){.quote-panel{grid-template-columns:1fr}.quote-panel form{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.quote-panel{display:block;padding:32px 6%}.quote-panel form{display:block}.quote-panel label,.quote-panel button{display:block;margin-top:13px}.quote-panel .wide{grid-column:auto}.quote-intro h2{font-size:36px}}
/* V9 guided quote builder */
.quote-builder{grid-template-columns:.72fr 1.28fr;align-items:start;padding-top:54px;padding-bottom:54px}.quote-perks{display:flex;flex-direction:column;gap:10px;margin-top:24px;font:700 13px Arial;color:#31546a}.guided-form{display:block!important;background:#fffaf1;border:1px solid #d8c7aa;border-radius:16px;padding:26px 28px;box-shadow:0 8px 30px #082f4b12;min-height:450px}.progress{font:700 11px Arial;letter-spacing:1px;margin-bottom:24px}.progress>div{height:6px;background:#eadfcd;border-radius:9px;margin-top:8px;overflow:hidden}.progress i{display:block;width:25%;height:100%;background:var(--orange);border-radius:9px;transition:width .25s}.form-step{display:none}.form-step.active{display:block}.step-kicker{font:800 11px Arial;letter-spacing:1.8px;color:#6a7e89}.form-step h3{font-size:32px;margin:5px 0 22px}.choice-grid{display:grid;gap:14px}.choice-grid.two{grid-template-columns:1fr 1fr}.choice{border:2px solid #d8c7aa;background:#fffdf8;border-radius:13px;padding:23px 18px;color:var(--ink);cursor:pointer;text-align:left}.choice b{font:34px Arial;display:block;margin-bottom:8px}.choice strong,.choice small{display:block}.choice strong{font:700 19px Georgia}.choice small{font:13px Arial;margin-top:5px}.choice.selected,.chip.selected{border-color:var(--orange);box-shadow:0 0 0 2px #f47a2220;background:#fff4e9}.question{display:block!important;margin:0 0 18px!important;font:700 13px Arial!important}.question>span{display:block;margin-bottom:8px}.guided-form input,.guided-form select,.guided-form textarea{font-size:15px!important}.chip-grid{display:flex;flex-wrap:wrap;gap:9px}.chip{background:#fffdf8;border:1.5px solid #cbbda8;border-radius:999px;padding:10px 14px;color:var(--ink);font:700 13px Arial;cursor:pointer}.step-actions{display:flex;justify-content:space-between;align-items:center;margin-top:26px}.step-actions.right{justify-content:flex-end}.step-actions button{border:0;cursor:pointer;font:800 14px Arial;border-radius:9px;padding:13px 20px}.next,.submit-quote{background:var(--orange);color:#fff}.back{background:transparent;color:var(--ink)}.photo-prompt{display:flex;gap:15px;align-items:center;background:#eef5f7;border:1px dashed #7c9aac;border-radius:12px;padding:17px}.photo-prompt .photo-icon{font-size:31px}.photo-prompt strong{font:700 15px Arial}.photo-prompt p{font:13px/1.4 Arial;margin:5px 0 0}.photo-prompt a{color:var(--ink);font-weight:bold}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-grid label{font:700 12px Arial}.privacy-note{font:12px Arial;text-align:right;color:#536b78;margin:13px 0 0}.storefront-fields[hidden],.residential-fields[hidden]{display:none!important}
@media(max-width:900px){.quote-builder{grid-template-columns:1fr}.guided-form{min-height:0}.quote-perks{flex-direction:row;flex-wrap:wrap}}
@media(max-width:650px){.guided-form{padding:20px 16px;margin-top:25px}.choice-grid.two,.contact-grid{grid-template-columns:1fr}.form-step h3{font-size:27px}.step-actions{gap:10px}.step-actions button{flex:1}.quote-perks{display:block}.quote-perks span{display:block;margin:8px 0}}

/* v10: keep selected property cards fully legible */
.choice.selected {
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
  box-shadow: 0 6px 18px rgba(244,122,34,.20);
}
.choice.selected strong,
.choice.selected small,
.choice.selected b {
  color: #fff;
  opacity: 1;
}

/* v11: property selector — unselected stays light, selected stays solid orange */
.quote-panel button.choice:not(.selected) {
  background: #fffdf8;
  border: 2px solid #d8c7aa;
  color: var(--ink);
  box-shadow: none;
}
.quote-panel button.choice:not(.selected) strong,
.quote-panel button.choice:not(.selected) small,
.quote-panel button.choice:not(.selected) b {
  color: var(--ink);
  opacity: 1;
}
.quote-panel button.choice.selected {
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
  box-shadow: 0 6px 18px rgba(244,122,34,.20);
}
.quote-panel button.choice.selected strong,
.quote-panel button.choice.selected small,
.quote-panel button.choice.selected b {
  color: #fff;
  opacity: 1;
}

/* V18 — full-width moving customer review wall */
.reviews{padding:38px 0 28px;overflow:hidden}.reviews-top{padding:0 4.2%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end}.reviews-top h2{font-size:48px;margin:3px 0 7px}.reviews-top>div:first-child>p{max-width:720px;margin:0;font-size:16px;line-height:1.4}.review-kicker{font:800 11px Arial;letter-spacing:2px;color:#647d8b}.review-actions{display:flex;align-items:flex-end;gap:25px}.review-links{display:flex;gap:9px}.review-cta{font:800 12px Arial;text-decoration:none;border-radius:999px;padding:11px 15px;white-space:nowrap}.review-cta.google{background:var(--navy);color:#fff}.review-cta.yelp{background:var(--orange);color:#fff}.review-marquee{margin-top:25px;overflow-x:auto;scrollbar-width:none;cursor:grab;padding:2px 0 10px;overscroll-behavior-x:contain}.review-marquee::-webkit-scrollbar{display:none}.review-marquee:active{cursor:grabbing}.review-track{display:flex;width:max-content;gap:16px;padding:0 4.2%}.review-card{width:390px;min-height:215px;box-sizing:border-box;background:#fffaf1;border:1px solid #d9cbb5;border-radius:15px;padding:22px 23px;box-shadow:0 5px 18px #082f4b0c;display:flex;flex-direction:column;justify-content:space-between}.review-card.feature{width:465px}.review-card.short{width:300px}.review-stars{font:20px Arial;color:#efa000;letter-spacing:2px}.review-card p{font-size:17px;line-height:1.32;margin:14px 0 20px}.review-person strong,.review-person span{display:block}.review-person strong{font-size:16px}.review-person span{font:12px Arial;color:#5d707b;margin-top:4px}.review-controls{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:8px}.review-controls span{font:11px Arial;color:#657984}.review-arrow{width:38px;height:38px;border:1px solid #bda98a;border-radius:50%;background:#fffaf1;color:var(--ink);font-size:18px;cursor:pointer}
@media(max-width:900px){.reviews-top{grid-template-columns:1fr}.review-actions{align-items:center;justify-content:space-between}.reviews-top h2{font-size:42px}}
@media(max-width:650px){.reviews{padding-top:30px}.reviews-top{padding:0 6%;gap:20px}.reviews-top h2{font-size:37px}.review-actions{display:block}.review-links{margin-top:14px;flex-wrap:wrap}.review-track{padding:0 6%;gap:12px}.review-card,.review-card.feature{width:82vw;min-height:225px}.review-card.short{width:70vw}.review-controls span{display:none}}
