/* Shared typography and palette: Bebas Neue, Poppins, DEN & FILS greens. */
.quote-page{color:#203022;font-family:"Poppins",sans-serif;line-height:1.8}
.quote-container{max-width:1240px;margin:auto;padding:64px 24px 48px}
.quote-hero{position:relative;isolation:isolate;overflow:hidden;min-height:460px;padding:220px 24px 140px;background:#000c2d;border-radius:0 0 120px 0}
.quote-banner{position:absolute;inset:0;z-index:-2;display:block;width:100%;max-width:none;height:100%;object-fit:cover;object-position:center;margin:0;border-radius:0}
.quote-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,12,45,.82),rgba(0,12,45,.62))}
.quote-intro{position:relative;text-align:center;margin:0 auto;max-width:1192px}
.quote-intro h1{font-family:"Bebas Neue",sans-serif;font-size:clamp(44px,7vw,100px);font-weight:400;line-height:1.15;color:#fff;margin:0 0 14px;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.quote-intro p{color:#fff;margin:0;font-size:16px}
.quote-form{max-width:880px;margin:auto}
.quote-progress{height:5px;overflow:hidden;background:#e7eddc;border-radius:5px;margin:0 0 26px}
.quote-progress>span{display:block;width:25%;height:100%;background:#86b615;transition:width .25s ease}
.quote-card{padding:36px 40px;background:#fff;border:1px solid #e6ebdf;border-radius:8px;box-shadow:0 8px 28px rgba(16,24,32,.05);min-width:0}
.quote-eyebrow{color:#056700;font-size:11px;font-weight:600;letter-spacing:1.8px;margin:0 0 8px}
.quote-card h2{font-family:"Poppins",sans-serif;color:#056700;font-size:26px;font-weight:600;line-height:1.4;margin:0 0 12px}
.quote-card section>p:not(.quote-eyebrow){color:#6b6e78;font-size:14px;margin-bottom:24px}
.quote-card h2:focus{outline:none}
.quote-field{display:grid;gap:7px;font-size:13px;font-weight:600;min-width:0;color:#203022}
.quote-fields{display:grid;gap:18px}.quote-information{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-wide{grid-column:1/-1}
.quote-page .quote-field input,.quote-page .quote-field select,.quote-page .quote-field textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;border:1px solid #d5decb;border-radius:4px;padding:12px 14px;font:400 14px "Poppins",sans-serif;background:white;color:#203022;min-height:48px}
.quote-page .quote-field input:focus,.quote-page .quote-field select:focus,.quote-page .quote-field textarea:focus{outline:2px solid #86b615;outline-offset:2px}
.quote-page .quote-field textarea{resize:vertical;line-height:1.8}.quote-page select:disabled{background:#f7faf2;color:#6b6e78}
.quote-lines{display:grid;gap:16px}.quote-line{padding:18px 16px 14px;margin:0;border:1px solid #e1e8d8;border-radius:6px;min-width:0;background:#fafcf7}
.quote-line-fields{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(0,1fr) 85px 30px;gap:12px;align-items:end}
.quote-line .quote-field select,.quote-line .quote-field input{padding:10px;font-size:12px}
.quote-page .quote-remove{height:46px;padding:0;background:none;border:0;box-shadow:none;color:#6b6e78;font:400 24px "Poppins",sans-serif;cursor:pointer}
.quote-page .quote-remove:hover{color:#a02a2a}.quote-page .quote-remove:disabled{opacity:.25;cursor:default}
.quote-line-detail{margin:10px 0 0;font-size:11px;line-height:1.8;color:#526350;overflow-wrap:anywhere}
.quote-page .quote-add{margin-top:18px;border:1px solid #056700;border-radius:4px;background:#fff;color:#056700;padding:10px 18px;font:600 13px "Poppins",sans-serif;cursor:pointer;box-shadow:none}
.quote-page .quote-add:hover{background:#f1f7e9}.quote-summary{margin-top:26px;padding-top:20px;border-top:1px solid #e1e8d8;font-size:13px}.quote-summary>p{margin:0 0 8px}
.quote-estimate{display:flex;justify-content:space-between;gap:16px;align-items:center;color:#526350}.quote-estimate strong{color:#056700;font-size:22px;line-height:1.5}
.quote-card .quote-hint{font-size:11px;color:#6b6e78;margin-top:16px}.quote-review{margin-top:22px;padding:14px 18px;background:#f7faf2;border-left:3px solid #86b615;font-size:13px;overflow-wrap:anywhere}
.quote-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #e6ebdf;padding-top:24px;margin-top:28px}
.quote-page .quote-next,.quote-page .quote-submit,.offer-quote-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;border:1px solid #056700;border-radius:4px;background:#056700;color:white;padding:13px 25px;font:600 13px "Poppins",sans-serif;cursor:pointer;box-shadow:0 12px 24px -8px rgba(5,103,0,.25);min-height:46px}
.quote-page .quote-next,.quote-page .quote-submit{margin-left:auto}.quote-page .quote-next:hover,.quote-page .quote-submit:hover,.offer-quote-button:hover{background:#045300;color:white}
.quote-page .quote-back{background:none;border:0;box-shadow:none;color:#056700;padding:10px 0;font:600 13px "Poppins",sans-serif;cursor:pointer}
.quote-page button:disabled{opacity:.5;cursor:wait}.quote-page button:focus-visible{outline:2px solid #86b615;outline-offset:4px}
.quote-card .quote-save{font-size:11px;color:#78806f;margin:20px 0 0;line-height:1.6}.quote-success .quote-next{margin:0}
.quote-page [hidden]{display:none!important}[data-quote-status]{padding:12px 16px;border-radius:4px;margin:18px 0 0;overflow-wrap:anywhere;font-size:13px}[data-quote-status][data-state=success]{background:#eaf4df;color:#23501b}[data-quote-status][data-state=error]{background:#fff0ee;color:#942c24}
.offer-price-list{padding-left:20px;margin-top:18px;font-size:15px;color:#056700}.offer-price-note{font-size:12px!important}.offer-quote-button{margin-top:16px;font-size:14px}
body.quote-site #page{position:relative}body.quote-site #masthead{position:absolute;inset:0 0 auto;z-index:20;background:transparent}body.quote-site #masthead .ast-primary-header-bar,body.quote-site #masthead .ast-main-header-wrap{background:transparent}body.quote-site #masthead #ast-desktop-header .main-header-menu a.menu-link{color:#fff}body.quote-site #masthead #ast-desktop-header .main-header-menu a.menu-link[aria-current=page]{color:#ffd811}body.quote-site #masthead .ast-builder-social-element{color:#fff}body.quote-site #masthead .ast-builder-social-element svg{fill:#fff}
@media(min-width:769px) and (max-width:1100px){body.quote-site #masthead #ast-desktop-header .main-header-menu .menu-link{padding-inline:8px;font-size:13px}}
@media(max-width:1024px){.quote-hero{padding:220px 40px 104px;border-bottom-right-radius:80px}}
@media(max-width:700px){.quote-hero{min-height:400px;padding:220px 24px 80px;border-bottom-right-radius:40px}.quote-container{padding:40px 16px 32px}.quote-intro p{font-size:14px}.quote-card{padding:26px 22px}.quote-card h2{font-size:23px}.quote-information{grid-template-columns:minmax(0,1fr)}.quote-line-fields{grid-template-columns:minmax(0,1fr) 84px 28px}.quote-line-fields .quote-field:first-child{grid-column:1/-1}.quote-line{padding:14px 12px}.quote-line-fields{gap:10px}.quote-actions{gap:10px}.quote-page .quote-next,.quote-page .quote-submit{padding:12px 18px;font-size:12px}.quote-estimate{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.quote-progress>span{transition:none}}
