*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#fffaf1;color:#2b2420;line-height:1.6}
a{color:#b45309}.wrap{max-width:1100px;margin:0 auto;padding:0 20px}img{max-width:100%}
header{position:sticky;top:0;z-index:10;background:rgba(255,250,241,.95);backdrop-filter:blur(8px);border-bottom:1px solid #f0e2c8}
.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;max-width:1100px;margin:0 auto;flex-wrap:wrap}
.logo{font-weight:800;font-size:1.3rem;text-decoration:none;color:#1f1a17}.logo span{color:#e8590c}
nav{display:flex;flex-wrap:wrap;align-items:center;row-gap:6px}nav a{color:#3b302a;text-decoration:none;margin-left:14px;font-size:.95rem;white-space:nowrap}nav a:hover{color:#c2410c}
nav .states{display:inline-flex;margin-left:14px;border:1px solid #f0c98a;border-radius:999px;overflow:hidden;background:#fff}
nav .states a{margin:0;padding:3px 12px;font-weight:700;color:#c2410c}nav .states a+a{border-left:1px solid #f0c98a}
nav .states a.on{background:linear-gradient(90deg,#ffb020,#ff7a1a);color:#1f1a17}nav a.call{font-weight:800;color:#c2410c}
.btn{display:inline-block;padding:13px 22px;border-radius:999px;font-weight:700;text-decoration:none;background:linear-gradient(90deg,#ffb020,#ff7a1a);color:#1f1a17;border:0;cursor:pointer;font-size:1rem;box-shadow:0 6px 24px rgba(255,140,30,.4)}
.btn.ghost{background:rgba(255,255,255,.9);border:2px solid #ff9a2e;color:#c2410c;box-shadow:none}
.hero{position:relative;min-height:min(80vh,700px);display:flex;align-items:center;padding:80px 0;background:linear-gradient(90deg,rgba(40,24,10,.62),rgba(40,24,10,.15) 65%),var(--bg) center/cover no-repeat;color:#fff}
.hero h1{font-size:clamp(2rem,5.5vw,3.3rem);line-height:1.1;margin:.2em 0;max-width:780px;text-wrap:balance;text-shadow:0 2px 16px rgba(0,0,0,.45)}
.hero .lead{font-size:1.15rem;max-width:620px;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:.8rem;font-weight:700;color:#d9480f}.hero .eyebrow{color:#ffd27a}
.sr-img{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
section{padding:56px 0}h2{font-size:clamp(1.6rem,4vw,2.3rem);color:#1f1a17;margin:0 0 .4em;line-height:1.2}h3{color:#1f1a17}
.alt{background:#fff1dc}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:#fff;border:1px solid #f3dfbf;border-radius:16px;padding:20px;box-shadow:0 4px 18px rgba(180,120,40,.1)}.card h3{margin:.2em 0}.ico{font-size:1.8rem}
.statecards{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:760px){.statecards{grid-template-columns:1fr}}
.statecard{background:#fff;border:2px solid #f3d29b;border-radius:20px;padding:26px;box-shadow:0 8px 30px rgba(200,130,40,.15)}.statecard h3{font-size:1.5rem;line-height:1.2;margin:.1em 0 .3em}
.statecard .tel{display:block;font-size:1.45rem;font-weight:800;color:#c2410c;text-decoration:none;margin:.3em 0 .6em}
.compare{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 18px rgba(180,120,40,.1)}
.compare th,.compare td{padding:14px 16px;text-align:left;border-bottom:1px solid #f3e3c8;vertical-align:top}.compare thead th{background:#ffe2b0;color:#1f1a17}.compare td:first-child{font-weight:700;color:#1f1a17;width:28%}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:760px){.twocol{grid-template-columns:1fr}}
.yes li::marker{content:"✓  ";color:#2f9e44;font-weight:800}.no li::marker{content:"✕  ";color:#c92a2a;font-weight:800}.yes,.no{padding-left:22px}
.warranty{display:flex;gap:18px;align-items:center;background:linear-gradient(135deg,#fff3d6,#ffe0b3);border:2px solid #ffc14d;border-radius:20px;padding:24px}.warranty .big{font-size:2.6rem}
.note{font-size:.88rem;color:#6b5a4c}
details{border-bottom:1px solid #f0dcbc;padding:14px 0}summary{cursor:pointer;font-weight:700;color:#1f1a17}
form{display:grid;gap:12px;max-width:640px}label{font-size:.9rem;color:#5a4a3f}
input,select,textarea{width:100%;padding:12px;border-radius:10px;border:1px solid #e9cfa5;background:#fff;color:#1f1a17;font-size:1rem}
.hidden{display:none}.areas{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}.areas li{border:1px solid #f0c98a;background:#fff;border-radius:999px;padding:6px 14px;font-size:.9rem}.areas a{text-decoration:none;color:inherit}.areas li:has(a){border-color:#ff9a2e;font-weight:600}
footer{background:#fff1dc;border-top:1px solid #f0dcbc;padding:30px 0;color:#6b5a4c;font-size:.92rem}footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}footer h4{margin:.2em 0;color:#1f1a17}footer a{color:#c2410c}
.placeholder-note{background:#fff;border:2px dashed #e8590c;color:#c2410c;padding:8px 12px;border-radius:10px;font-size:.85rem;display:inline-block}
@media(max-width:640px){.compare th,.compare td{padding:10px 8px;font-size:.88rem;word-break:break-word}.compare{table-layout:fixed}nav a{font-size:.85rem;margin:0 10px 0 0}nav .states{margin:0 10px 0 0}.hero{min-height:auto;padding:60px 0;background-position:center,62% center}.statecard{padding:22px}}

.avdx{padding:28px 0}.avdbox{background:#fff;border:2px solid #f3d29b;border-left:6px solid #ff9a2e;border-radius:18px;padding:22px 26px;box-shadow:0 6px 22px rgba(200,130,40,.12)}
.avdbox.avdmulti{display:block}.avdgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px 28px;margin-top:6px}
.avditem{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.avditem h3{margin:.1em 0;color:#1f1a17;font-size:1.25rem}.avditem p{margin:0 0 6px;color:#5a4a3f}.avditem .btn{margin-top:auto}

.trust-rating{display:flex;flex-wrap:wrap;align-items:center;gap:24px;background:linear-gradient(135deg,#fff3d6,#fff);border:2px solid #f3d29b;border-radius:20px;padding:24px}
.trust-score{font-size:3.2rem;font-weight:800;color:#1f1a17;line-height:1}.rv-stars{color:#f59f00;font-size:1.4rem;letter-spacing:2px}
.trust-text{flex:1 1 320px}.trust-text h3{margin:0;color:#1f1a17}.trust-text p{margin:.35em 0 0;color:#5a4a3f}
.reviews-carousel{margin-top:24px;background:#fff;border:1px solid #f3dfbf;border-radius:20px;box-shadow:0 4px 18px rgba(180,120,40,.1);padding:26px 26px 20px}
.carousel-viewport{position:relative;min-height:220px}.review-slide{margin:0;display:flex;flex-direction:column;gap:12px;min-height:200px;max-height:320px}
.review-slide[hidden]{display:none!important}.review-quote{margin:0;color:#2b2420;font-size:1.05rem;line-height:1.65;overflow-y:auto;flex:1 1 auto;padding-right:4px}
.review-meta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;border-top:1px solid #f3e3c8;padding-top:12px;margin-top:auto}
footer.review-meta{background:none;border-left:0;border-right:0;border-bottom:0;padding:12px 0 0;font-size:inherit;color:inherit}
.review-name{font-style:normal;font-weight:800;color:#1f1a17}.review-date,.review-service{font-size:.9rem;color:#6b5a4c;font-weight:600}.review-service{color:#c2410c}
.carousel-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.carousel-btn{appearance:none;background:#fff1dc;border:1px solid #f0c98a;color:#c2410c;font:inherit;font-weight:700;font-size:.92rem;padding:8px 14px;border-radius:10px;cursor:pointer}
.carousel-btn:hover,.carousel-btn:focus-visible{background:#ff9a2e;color:#1f1a17;border-color:#ff9a2e;outline:none}
.carousel-dots{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;flex:1 1 auto}
.carousel-dot{width:10px;height:10px;padding:0;border-radius:50%;border:2px solid #c2410c;background:transparent;cursor:pointer}
.carousel-dot.is-active,.carousel-dot[aria-current="true"]{background:#ffb020;border-color:#e8590c}
.review-attribution{margin:12px 0 0;font-size:.88rem;color:#6b5a4c;text-align:center}.review-attribution a{font-weight:700}
@media(max-width:720px){.trust-rating{padding:20px}.reviews-carousel{padding:18px 14px 14px}.carousel-viewport{min-height:240px}.review-slide{min-height:220px;max-height:360px}.carousel-controls{justify-content:center}.carousel-btn{flex:1 1 auto;min-width:110px}}
