.hero{padding:40px 44px}.hero h1{font-size:48px}.hero-actions{display:flex;gap:12px;align-items:center;margin:25px 0}.hero-actions a{display:inline-block;text-decoration:none;border-radius:7px;padding:13px 20px;background:var(--accent);color:var(--ink);font-weight:bold}.hero-actions small{color:#d5e1d8}.journey{margin:0 5vw;display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#62776a}.journey span{display:flex;gap:8px;align-items:center}.journey b{width:24px;height:24px;display:inline-grid;place-items:center;border-radius:50%;border:1px solid var(--line);color:var(--green)}.goal-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.goal-tabs button{font-size:12px;border-radius:30px}.goal-tabs .active{background:var(--green);color:white}.collection-note{font-size:13px;color:#62776a;max-width:750px;margin:8px 0 18px}.grid.grouped{display:block}.collection-group{margin-bottom:36px}.group-title{display:flex;justify-content:space-between;gap:16px;align-items:baseline;border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:12px}.group-title h3{font:normal 25px Georgia;margin:0}.group-title p{font-size:12px;color:#62776a;margin:0}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card h3{min-height:44px}.card-benefit{font-size:13px;min-height:38px;margin:10px 0;color:#536b5c}.selected-color{font-size:12px;margin:12px 0 0;color:#536b5c}.selected-color b{color:var(--ink)}.swatches{flex-wrap:wrap;gap:9px}.swatch{width:29px;height:29px;flex:none}.all-colors{flex-basis:100%;text-align:left;padding:8px 0;font-size:12px}.estimate-card{padding:13px;font-size:13px}.cardfoot{font-size:12px}.detail{grid-template-columns:1.05fr 1fr}.detail-visual{align-self:start;position:sticky;top:12px}.detail-visual img{height:390px;object-fit:contain;background:white;border:1px solid var(--line)}#detailimage[data-view=house]{object-fit:cover}.photo-tabs{display:flex;gap:8px;margin-top:12px}.photo-tabs button{flex:1;font-size:12px}.photo-tabs button:disabled{opacity:.45;cursor:not-allowed}.eyebrow.dark{color:var(--green);margin-bottom:12px}.product-benefit{font-size:15px;color:#536b5c}.detail .color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:300px;overflow:auto;padding:4px}.color-choice{display:flex;flex-direction:column;gap:8px;text-align:left;padding:7px;font-size:11px;line-height:1.3;border-radius:7px}.color-preview{width:100%;height:54px;background-size:cover;border-radius:3px}.color-choice.selected{outline:2px solid var(--green);background:#eef4e4}.color-choice small{display:block;margin-top:3px;color:#836443}.missing-photo{background:#f4f2ed}.detail-cta{background:var(--paper);padding:15px 0}.detail-cta .primary{display:block;width:100%;margin-top:8px;padding:15px}.detail-cta small{color:#62776a}.detail-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:12px}.detail-tools button{font-size:12px}.product-specs{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.product-specs summary{cursor:pointer;font-size:14px;font-weight:bold}.specs .wide{grid-column:1/-1}.specs p{margin:6px 0}.specs small{font-size:11px}.roof-compare td{vertical-align:top}.roof-compare small{font-size:11px}.comparison-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#e8eedd;padding:18px;border-radius:9px;margin-top:22px}.comparison-cta p{margin:0}.comparebar{bottom:0;border-radius:12px 12px 0 0;max-width:100%;width:900px}.comparebar>span{flex:1;max-width:450px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comparebar button{white-space:nowrap}.foot{padding-bottom:100px}.setup-note{padding:14px 18px;border:1px solid #d3ddca;background:#edf2e7;border-radius:8px;font-size:13px}.estimate-progress{gap:4px}.estimate-progress span{padding:8px 3px;font-size:11px;text-align:center}.estimate-progress .done{color:var(--green);border-color:#b1c59e}.measurement-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#e8eedd;padding:17px;border-radius:9px;margin:18px 0}.measurement-summary small{display:block;font-size:11px;color:#62776a}.measurement-summary b{font-size:15px}.estimate-option .option-rating{padding:8px 0;border-top:1px solid var(--line)}.estimate-option .option-warranty{margin-bottom:16px;font-size:11px}.estimate-option .option-warranty p{font-size:11px}.estimate-option small{color:#62776a}.estimate-breakdown{border:1px solid var(--line);padding:14px;border-radius:9px;margin:20px 0;background:white}.estimate-breakdown summary{font-weight:bold;cursor:pointer}.scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:12px}.scope-grid ul{padding-left:18px}.estimate-option strong{font-size:23px}.estimate-option img{height:135px}.estimate-option h3{margin:6px 0}.measurement-help{font-size:13px;padding:14px;background:white;border:1px solid var(--line);border-radius:8px}.estimate-actions{align-items:center}.estimate-product img{object-fit:cover}.compact-link{font-size:12px}.inspection-success{background:#e8eedd;padding:20px;border-radius:9px}.primary:disabled{opacity:.5}
@media(min-width:1500px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-visual img{height:330px}.detail .color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-title{display:block}.group-title p{margin-top:5px}}
@media(max-width:700px){.hero{padding:28px}.hero h1{font-size:37px}.hero-actions{align-items:flex-start;flex-direction:column}.journey{gap:10px 15px;font-size:10px}.journey b{width:20px;height:20px}.subbar{align-items:flex-start;gap:12px}.subbar h2{font-size:23px}.detail{grid-template-columns:1fr}.detail-visual{position:static}.detail-visual img{height:300px}.detail .color-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:240px}.detail-cta{position:sticky;bottom:-18px;padding:12px 0 18px;z-index:3;box-shadow:0 -10px 20px var(--paper)}.detail-cta .primary{font-size:14px}.comparison-cta{flex-direction:column;align-items:stretch}.comparebar{left:0;transform:none;gap:7px;padding:12px;max-width:100vw;width:100%;font-size:11px}.comparebar>span{max-width:none}.comparebar button{font-size:11px;padding:10px}.scope-grid{grid-template-columns:1fr}.measurement-summary{gap:8px;padding:12px}.measurement-summary b{font-size:13px}.estimate-progress span{font-size:9px}.goal-tabs{gap:6px}.goal-tabs button{padding:9px 12px}.toast{right:10px;left:10px;top:78px;font-size:13px}}
@media(max-width:520px){.grid:not(.grouped),.product-grid{grid-template-columns:1fr}.picture{height:230px}.cardbody{padding:18px}.card h3{min-height:0;font-size:19px}.card-benefit{min-height:0}.swatch{width:34px;height:34px}.color-preview{height:60px}.cardfoot{padding:14px 0 0}.estimate-card{font-size:14px}.hero-actions a{width:100%;text-align:center}}
dialog[open]{display:flex;flex-direction:column;overflow:hidden}.modalhead{flex-shrink:0}.modalbody{overflow-y:auto;min-height:0}.modalaction{display:none}.detail-visual{top:0}@media(max-width:700px){.modalaction:not(.hidden){display:block;padding:12px 18px;background:var(--paper);border-top:1px solid var(--line);flex-shrink:0}.modalaction small{display:block;margin-bottom:6px;color:#62776a;font-size:12px}.modalaction .primary{width:100%;padding:14px}.detail-cta{display:none}}
.estimate-option .textbtn{margin-top:0;margin-bottom:14px}.estimate-option .primary{margin-top:auto}

.card .cardbody{padding-top:10px}.card .cardbody>.swatches{margin:0 0 6px}.card .cardbody>.swatches .all-colors{padding:5px 0}.card .cardbody>.selected-color{margin:0 0 14px}

/* Give roof photography the largest share of each catalog card. */
.layout{grid-template-columns:210px minmax(0,1fr);gap:24px;margin:28px 3vw 80px}.layout>section{min-width:0}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.picture{height:auto;aspect-ratio:3/2}.picture img{display:block}.cardbody{padding:16px 18px}.card h3{min-height:0;margin:5px 0 8px;font-size:20px}.card-benefit{min-height:0;margin:6px 0;font-size:12px}.card .estimate-card{margin-top:14px;padding:11px}.card .cardbody>.swatches{gap:10px}.card .swatch{width:38px;height:38px;border-radius:6px}.card .all-colors{flex-basis:auto;margin-left:auto}.card .cardbody>.selected-color{margin-bottom:10px}.hero{margin:24px 3vw;padding:28px 32px;gap:24px}.hero h1{font-size:40px;margin:10px 0 14px}.hero-art{min-height:190px}.hero-art img{height:175px}.hero-actions{margin:18px 0}.hero-tag{margin-top:15px}.journey{margin:0 3vw}dialog{width:min(1260px,96vw)}.detail{grid-template-columns:1.4fr 1fr}.detail-visual img{height:auto;aspect-ratio:3/2;max-height:65vh}.detail .color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(min-width:1600px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.layout{grid-template-columns:1fr}.side{display:none}.side.open{display:block}.mobilefilters{display:block}.detail{grid-template-columns:1fr}.detail-visual{position:static}.detail-visual img{max-height:none}}
@media(max-width:700px){.layout{margin:24px 4vw 65px;gap:16px}.grid{grid-template-columns:1fr;gap:22px}.hero{margin:18px 4vw;padding:24px}.hero h1{font-size:34px}.journey{margin:0 4vw}.card h3{font-size:20px}.cardbody{padding:14px 16px}.card .swatch{width:40px;height:40px}.card .cardbody>.swatches{gap:9px}.card .all-colors{font-size:12px}.detail{grid-template-columns:1fr}.detail .color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.draft-banner{background:#e9b85b;color:#17332e;padding:12px;text-align:center;font-size:13px;font-weight:bold}.draft-banner a{margin-left:15px}

/* Full product pages use the document scroll; dialogs remain for estimates and comparison. */
[hidden]{display:none!important}.product-page{margin:24px 3vw 80px}.product-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;margin-bottom:24px}.product-breadcrumb a{text-decoration:underline}.product-main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:40px}.product-gallery{min-width:0}.product-gallery>#detailimage{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:white;border:1px solid var(--line);border-radius:12px}.product-gallery .color-heading{font-size:18px;margin:24px 0 12px}.product-gallery .color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin:0}.product-gallery .color-preview{height:68px}.product-gallery .photo-tabs{max-width:460px}.product-summary{align-self:start;position:sticky;top:24px}.product-summary h1{font-size:clamp(30px,3.2vw,50px);margin:12px 0 20px;max-width:none}.product-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.product-tags span{font-size:11px;padding:6px 9px;background:#e8eedd;border-radius:6px}.product-overview{font-size:16px;line-height:1.7}.product-highlights{padding-left:20px;color:#536b5c}.product-highlights li{margin:9px 0}.product-estimate{margin:24px 0}.product-estimate small{display:block;margin-bottom:9px;color:#62776a}.product-estimate button{width:100%;padding:17px;font-size:15px}.product-tools{display:flex;gap:8px;flex-wrap:wrap}.product-tools button{font-size:12px}.product-section-nav{display:flex;flex-wrap:wrap;gap:8px 25px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:35px 0 0;position:sticky;top:0;background:var(--paper);z-index:3}.product-section-nav a{font-size:13px;text-decoration:none}.product-sections{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:0 40px}.product-sections section{grid-column:1/-1;padding:30px 0;border-bottom:1px solid var(--line);scroll-margin-top:80px}.product-sections h2{font:normal 28px Georgia;margin:0 0 20px}.product-sections h3{font-size:16px}.product-spec-table{margin:20px 0;background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.product-spec-table>div{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);padding:14px 18px;gap:20px}.product-spec-table>div:last-child{border-bottom:0}.product-spec-table dt{color:#62776a;font-size:13px}.product-spec-table dd{margin:0;font-size:14px}.product-sections p{max-width:1000px}.resource-links{display:flex;flex-wrap:wrap;gap:12px}.resource-links a{display:block;padding:14px 18px;background:white;border:1px solid var(--line);border-radius:7px;font-size:13px}.warranty-panel{background:white;border:1px solid var(--line);border-radius:8px;padding:20px}.product-mobile-action{display:none}@media(max-width:900px){.product-main,.product-sections{grid-template-columns:1fr;gap:24px}.product-summary{position:static}.product-summary h1{font-size:36px}.product-gallery .color-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.product-main{display:flex;flex-direction:column}.product-summary{order:0}.product-overview{font-size:14px}.product-summary .product-highlights{display:none}.product-summary .product-estimate{margin:14px 0}.product-section-nav{gap:12px 18px}.product-page{margin:20px 4vw 100px}}@media(max-width:700px){.product-summary h1{font-size:31px}.product-gallery .color-preview{height:54px}.product-summary .product-estimate{display:none}.product-mobile-action{display:flex;gap:15px;align-items:center;position:fixed;bottom:0;left:0;width:100%;padding:12px 4vw;background:var(--paper);border-top:1px solid var(--line);z-index:4}.product-mobile-action span{font-size:12px;flex:1}.product-mobile-action button{padding:13px 18px}.product-spec-table>div{padding:12px;gap:12px}.product-spec-table dt,.product-spec-table dd{font-size:12px}.product-section-nav{position:static}.product-sections section{padding:25px 0}.product-tools{gap:6px}.product-tools button{padding:8px 10px}.product-page .scope-grid{grid-template-columns:1fr}}

@media(max-width:700px){.product-gallery .color-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;padding:5px 3px 12px;gap:10px}.product-gallery .color-choice{width:105px;flex:none}.product-gallery .color-preview{height:62px}}

/* Photo-led product layout and progressive disclosure. */
.product-page{max-width:1480px;margin:26px auto 85px;padding:0 32px}.product-breadcrumb{margin-bottom:22px;color:#62776a}.product-main{grid-template-columns:minmax(0,1.8fr) minmax(320px,1fr);gap:32px;align-items:start}.photo-frame{position:relative;background:#e8eae3;border-radius:14px;overflow:hidden}.photo-enlarge{display:block;padding:0;border:0;border-radius:0;width:100%;background:none;cursor:zoom-in}.photo-enlarge img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:#e8eae3}.photo-enlarge img[data-view=house]{object-fit:cover}.enlarge-hint{position:absolute;right:15px;bottom:15px;background:#ffffffec;border-radius:20px;padding:6px 10px;font-size:11px;pointer-events:none}.product-gallery .photo-tabs{max-width:none;margin-top:12px;justify-content:center}.product-gallery .photo-tabs button{flex:none;border:0;background:transparent;padding:8px 13px;color:#62776a}.product-gallery .photo-tabs button[aria-pressed=true]{background:#e8eedd;color:var(--green);font-weight:bold}.color-selector-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:22px 0 12px}.color-selector-heading h2{font-size:15px;margin:0}.color-selector-heading>span{font-size:11px;color:#62776a}.product-gallery .color-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin:0;padding:3px}.product-gallery .color-choice{min-width:0;padding:4px;border-color:#e0e5dc;border-radius:7px;text-align:center;gap:6px;font-size:10px;line-height:1.3;background:white}.product-gallery .color-preview{height:42px}.product-gallery .color-choice.selected{outline:2px solid var(--green);background:#edf2e6}.product-gallery .color-grid:not(.expanded) .color-choice:nth-child(n+9):not(.selected){display:none}.color-expand{display:block;margin:12px 0;font-size:12px;color:var(--green)}.product-gallery #photo-note{font-size:11px;margin:12px 3px 0;max-width:700px;line-height:1.5}.product-summary{background:white;border:1px solid var(--line);border-radius:14px;padding:26px;position:sticky;top:24px}.summary-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.summary-heading .brand{font-size:11px;letter-spacing:1.3px}.popular-pill{font-size:10px;background:#e8eedd;border-radius:20px;padding:5px 9px;color:var(--green)}.product-summary h1{font-size:clamp(28px,2.8vw,40px);line-height:1.14;margin:14px 0 10px;letter-spacing:-.5px}.product-summary #detailmeta{font-size:12px;color:#62776a;margin:0 0 24px}.product-key-facts{margin:0}.product-key-facts>div{padding:12px 0;border-top:1px solid #e7ebe2;display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;align-items:baseline}.product-key-facts dt{font-size:11px;color:#62776a}.product-key-facts dd{margin:0;font-size:13px;line-height:1.5}.product-summary .product-estimate{margin:22px 0 14px;border-top:1px solid #e7ebe2;padding-top:18px}.summary-color{font-size:11px;color:#62776a;margin:0 0 12px}.summary-color b{display:block;font-size:15px;color:var(--ink);margin-top:3px}.product-summary .product-estimate button{padding:15px;font-size:16px;font-weight:bold;border-radius:8px}.product-summary .product-estimate small{margin:10px 0 0;font-size:10px;text-align:center}.product-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.product-tools button{background:none;border:0;padding:8px 3px;font-size:12px;color:#536b5c}.product-tools button:hover{text-decoration:underline}.availability-label{font-size:11px;color:#62776a;margin:14px 0 0}.product-sections{display:block;margin-top:40px;max-width:none}.product-sections .product-short-overview{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:28px 0 34px;border-top:1px solid var(--line);border-bottom:0}.product-short-overview h2{font-size:29px}.product-short-overview p{margin-top:0;font-size:14px;line-height:1.75}.overview-features{display:grid;grid-template-columns:1fr 1fr;gap:9px 25px;padding-left:18px;font-size:13px;color:#536b5c}.awards-note{font-size:12px!important;margin:18px 0 0!important}.product-accordion{border-top:1px solid var(--line)}.product-accordion:last-child{border-bottom:1px solid var(--line)}.product-accordion>summary{display:flex;align-items:center;gap:20px;list-style:none;cursor:pointer;padding:24px 0}.product-accordion>summary::-webkit-details-marker{display:none}.product-accordion>summary>span{font:normal 23px Georgia;min-width:255px}.product-accordion>summary>small{font-size:12px;color:#62776a;flex:1}.product-accordion>summary:after{content:'+';font-size:24px;font-weight:normal}.product-accordion[open]>summary:after{content:'−'}.accordion-body{padding:0 0 28px;max-width:1100px}.accordion-body p{font-size:13px;line-height:1.7}.accordion-body .notice{font-size:11px}.product-spec-table{margin:16px 0}.product-spec-table>div{padding:12px 16px}.warranty-panel{padding:18px;background:#f1f4ec;border:0}.resource-links{max-width:none}.photozoom{width:min(1500px,96vw)}#photozoom{width:min(1500px,96vw);max-height:94vh;background:#122923;color:white;padding:14px}#photozoom[open]{display:flex;flex-direction:column;overflow:auto}.zoomhead{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;padding:0 0 12px}.zoomhead button{background:none;color:white;border:1px solid #ffffff55;font-size:25px;padding:1px 12px}#zoomimage{display:block;max-width:100%;width:100%;height:75vh;object-fit:contain}.product-active .comparebar{z-index:6}@media(max-width:1100px){.product-main{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:22px}.product-page{padding:0 24px}.product-gallery .color-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.product-summary{padding:22px}.product-gallery .color-preview{height:48px}}@media(max-width:900px){.product-main{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:20px}.product-summary{position:static;order:0}.product-summary h1{font-size:28px}.product-key-facts>div{grid-template-columns:1fr;gap:3px}.product-summary .product-estimate{display:block}.product-short-overview{gap:25px!important}}@media(max-width:700px){.product-page{padding:0 16px;margin-top:18px}.product-main{grid-template-columns:1fr;gap:24px}.product-gallery .color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;gap:8px;padding:3px}.product-gallery .color-choice{width:auto;flex:initial}.product-gallery .color-preview{height:45px}.product-summary{padding:22px}.product-summary .product-estimate{display:none}.product-summary h1{font-size:30px}.product-key-facts>div{grid-template-columns:105px minmax(0,1fr);gap:12px}.product-summary #detailmeta{margin-bottom:18px}.product-tools{margin-top:12px}.product-sections{margin-top:25px}.product-sections .product-short-overview{grid-template-columns:1fr;gap:8px!important;padding-top:25px}.overview-features{grid-template-columns:1fr}.product-accordion>summary{padding:21px 0;gap:12px;flex-wrap:wrap}.product-accordion>summary>span{font-size:21px;min-width:0;flex:1}.product-accordion>summary>small{display:none}.product-mobile-action{box-shadow:0 -5px 20px #17332e0c}.product-active .comparebar{bottom:77px}.enlarge-hint{right:10px;bottom:10px;font-size:10px}.photo-enlarge img{aspect-ratio:4/3}#zoomimage{height:70vh}}

.manufacturer-page{max-width:1480px;margin:26px auto 80px;padding:0 32px}.manufacturer-link{text-decoration:none;display:inline-block}.manufacturer-link:hover{text-decoration:underline}.manufacturer-hero{display:grid;grid-template-columns:1fr 1.4fr;gap:32px;align-items:center;padding:25px 0 35px;border-bottom:1px solid var(--line)}.manufacturer-hero h1{font-size:clamp(36px,4vw,60px);margin:12px 0 20px}.manufacturer-hero p{font-size:15px;max-width:430px;color:#536b5c}.manufacturer-materials{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.manufacturer-materials span{font-size:11px;background:#e8eedd;border-radius:20px;padding:6px 11px}.manufacturer-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.manufacturer-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.manufacturer-toolbar{display:flex;align-items:center;gap:16px;margin:26px 0}.maker-search-label{flex:1;max-width:520px}.manufacturer-toolbar select{padding:12px;border:1px solid var(--line);border-radius:7px;background:white}.manufacturer-toolbar>span{margin-left:auto;white-space:nowrap;font-size:12px;color:#62776a}.manufacturer-bottom{margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}.manufacturer-bottom>a{font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.manufacturer-hero{grid-template-columns:1fr 1fr;gap:20px}.manufacturer-page{padding:0 24px}.manufacturer-photos{grid-template-columns:1fr}.manufacturer-photos img:nth-child(2){display:none}}@media(max-width:700px){.manufacturer-page{padding:0 16px;margin-top:18px}.manufacturer-hero{grid-template-columns:1fr;padding-top:10px}.manufacturer-hero h1{font-size:38px}.manufacturer-photos{grid-template-columns:1fr 1fr}.manufacturer-photos img:nth-child(2){display:block}.manufacturer-toolbar{flex-wrap:wrap;gap:12px}.maker-search-label{flex-basis:100%;max-width:none}.manufacturer-toolbar select{flex:1}.manufacturer-toolbar>span{margin-left:0}}

.hero .journey{margin:22px 0 0;color:#d5e1d8;font-size:11px;gap:10px 16px}.hero .journey b{color:var(--accent);border-color:#658779;width:22px;height:22px}.subbar{justify-content:flex-end;margin:12px 0 14px}.chips:empty{margin-bottom:0}@media(max-width:700px){.hero .journey{font-size:10px;gap:9px 12px}.hero .journey b{width:20px;height:20px}.subbar{margin:10px 0 12px}}

.cardfoot .all-colors{flex-basis:auto;margin-left:auto;padding:0;text-align:right;white-space:nowrap;font-size:12px}.cardfoot{gap:12px}

.filter-head-actions{display:flex;gap:14px;align-items:center}.filter-close{display:none}.card .cardbody>.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px;margin:0 0 10px}.card .cardbody>.swatches .swatch{width:100%;height:auto;aspect-ratio:1;max-width:72px;border-radius:7px;background-size:cover;background-position:center}.card .swatch.selected{outline-offset:2px}@media(max-width:1000px){.filter-close{display:inline-block;padding:10px 13px;font-size:12px}.side.open{background:white;border:1px solid var(--line);border-radius:10px;padding:18px;scroll-margin-top:15px}.filter-head{gap:15px;flex-wrap:wrap;align-items:center}.filter-head-actions{margin-left:auto}.filter-done{display:block;width:100%;margin-top:18px;padding:13px;background:var(--green);color:white}.filter-head b{font-size:14px}}@media(max-width:380px){.filter-head-actions{width:100%;justify-content:space-between;margin-left:0}}

.card-benefit:empty{display:none}
.estimate-field{position:relative}.address-popup{background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 16px #17332e18;margin-top:4px;overflow:hidden}.address-popup [role=option]{padding:12px 14px;cursor:pointer;border-bottom:1px solid var(--line)}.address-popup [role=option]:hover,.address-popup [aria-selected=true]{background:#edf3e8}.google-attribution{padding:8px 14px;color:#5e5e5e;font:400 12px Arial,sans-serif;white-space:nowrap}
.logo .brand-logo{width:48px;height:48px;object-fit:contain;flex-shrink:0}@media(max-width:700px){.logo .brand-logo{width:40px;height:40px}}
.installation-overview{align-items:start}.installation-overview .scope-grid{gap:24px}.installation-overview h3{margin-top:0;font-size:17px}.installation-overview ul{padding-left:18px;margin-bottom:20px}.installation-overview li{margin:8px 0}.installation-overview .primary{margin-top:10px}.installation-overview>div>p{max-width:320px}
header .logo{gap:11px;color:var(--green);letter-spacing:normal;font-weight:400}.logo .brand-wordmark{display:flex;flex-direction:column;gap:3px}.logo .brand-name{font-family:Georgia,'Times New Roman',serif;font-size:29px;font-weight:700;line-height:1;letter-spacing:-.7px}.logo .brand-trade{font-family:Arial,sans-serif;font-size:10px;font-weight:600;line-height:1;letter-spacing:3.5px;text-transform:uppercase;padding-left:2px}.logo .brand-custom{font-size:24px}@media(max-width:700px){header .logo{gap:9px}.logo .brand-name{font-size:25px}.logo .brand-trade{font-size:9px;letter-spacing:3px}.logo .brand-custom{font-size:20px}}
@font-face{font-family:Teko;src:url('/assets/teko-semibold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}header .logo .brand-wordmark{gap:0}header .logo .brand-name,header .logo .brand-trade{font-family:Teko,Arial,sans-serif;font-size:28px;font-weight:600;line-height:.88;letter-spacing:.3px;text-transform:uppercase;padding:0}header .logo .brand-custom{line-height:1}.roof-configurator{padding:24px 4vw 70px}.config-top{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:32px;font-size:12px}.config-top nav{display:flex;gap:28px;color:#7b8b80}.config-top nav span{padding:8px 0;border-bottom:2px solid transparent}.config-top nav b{font-weight:400;margin-right:5px}.config-top nav .current{color:var(--green);border-color:var(--green)}.config-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(360px,1fr);gap:5vw;align-items:start;max-width:1600px;margin:auto}.config-visual{position:sticky;top:24px}.config-home{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;background:#e4e9e0}.config-roof-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0 12px}.config-roof-caption h2{font:28px Georgia;margin:5px 0}.config-roof-caption p{margin:5px 0}.config-roof-caption img{width:85px;height:65px;object-fit:cover;border-radius:8px;border:4px solid white}.config-panel{max-width:540px;padding:8px 0}.config-panel h1{font:38px/1.1 Georgia;margin:12px 0 20px}.config-panel h2{font:26px/1.2 Georgia}.config-panel>p{color:#667b6d}.config-panel .estimate-fields{grid-template-columns:1fr}.config-panel .primary{width:100%;padding:16px;margin:16px 0 8px}.config-panel .textbtn{display:block;margin:14px 0}.config-panel details{padding:18px 0;border-top:1px solid var(--line);margin-top:15px}.config-panel summary{cursor:pointer;font-weight:600}.config-price{padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:28px 0}.config-price small{display:block}.config-price strong{display:block;font-size:36px;letter-spacing:-1px;margin:8px 0}.config-price p{font-size:12px;color:#62776a;max-width:350px}.config-scope{margin:28px 0}.config-scope ul{padding-left:18px}.config-scope li{margin:10px 0}.config-verification,.reservation-unavailable{background:#e9eee1;padding:16px;border-radius:10px;font-size:13px}.reservation-amount{display:flex;flex-direction:column;padding:24px 0;border-block:1px solid var(--line);margin:25px 0}.reservation-amount strong{font-size:46px;line-height:1.3}.reservation-amount small{color:#62776a}.reservation-steps{padding-left:24px}.reservation-steps li{padding:8px 0 18px 8px}.reservation-steps b,.reservation-steps span{display:block}.reservation-steps span{font-size:13px;color:#62776a;margin-top:5px}.config-panel button:disabled{opacity:.55;cursor:not-allowed}.config-panel .measurement-summary{grid-template-columns:1fr}.config-panel .measurement-help{margin:20px 0}.config-panel .estimate-actions{flex-wrap:wrap}@media(max-width:800px){.config-layout{grid-template-columns:1fr;gap:24px}.config-visual{position:static}.config-home{aspect-ratio:16/10}.config-panel{max-width:none}.config-top{align-items:flex-start;flex-direction:column;gap:15px}.config-top nav{gap:15px;flex-wrap:wrap;font-size:11px}.config-panel h1{font-size:34px}header .logo .brand-name,header .logo .brand-trade{font-size:25px}}
.schedule-picker{padding:0;border:0;margin:28px 0}.schedule-picker legend{font-size:17px;font-weight:600;margin-bottom:15px}.schedule-weeks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.schedule-week{position:relative;cursor:pointer}.schedule-week input{position:absolute;opacity:0;width:1px;height:1px}.schedule-week span{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;min-height:78px;border:1px solid var(--line);border-radius:10px;background:white;padding:10px}.schedule-week small{font-size:11px;color:#62776a}.schedule-week b{font-size:17px}.schedule-week input:checked+span{border:2px solid var(--green);background:#edf3e8;padding:9px}.schedule-week input:focus-visible+span{outline:2px solid var(--green);outline-offset:3px}.schedule-flexible{grid-column:1/-1}.schedule-flexible span{min-height:65px}.config-panel #schedule-request{width:100%;padding:15px;border:1px solid var(--green);color:var(--green);background:white}
.schedule-later{display:flex;flex-direction:column;gap:8px;margin-top:18px;font-size:13px}.schedule-later input{padding:12px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}
@media(max-width:700px){.installation-overview>div:first-child{display:contents}.installation-overview #product-installation{order:1}.installation-overview>div:first-child>.primary{order:2;width:100%;margin-top:18px}.installation-overview>div:first-child>p{max-width:none}}
.installation-summary-card{align-self:start;background:white;border:1px solid var(--line);border-radius:14px;padding:26px}.installation-summary-card .eyebrow{font-size:10px;letter-spacing:1.2px}.installation-summary-card h2{font:30px/1.15 Georgia;margin:12px 0 16px}.installation-summary-card>div>p{font-size:13px;color:#62776a;line-height:1.6}.installation-summary-card .scope-grid{grid-template-columns:1fr;gap:10px;margin-top:24px}.installation-summary-card h3{font-size:14px;margin:0 0 10px}.installation-summary-card ul{padding-left:18px;font-size:13px;line-height:1.55;margin:0 0 14px}.installation-summary-card li{margin:7px 0}.installation-summary-card .notice{font-size:11px;line-height:1.5}.installation-summary-card>.primary{display:block;width:100%;padding:16px;margin-top:22px}.installation-summary-card>small{display:block;text-align:center;font-size:10px;color:#62776a;margin-top:10px}.product-sections>.product-details-summary{position:static;padding:26px;margin-bottom:28px;border:1px solid var(--line)}.product-details-summary .product-key-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.product-details-summary .product-key-facts>div{grid-template-columns:1fr;gap:5px}.product-details-summary .product-tools{max-width:420px}.product-details-summary .product-estimate{max-width:420px}.product-details-summary .product-estimate button{padding:15px}@media(max-width:700px){.installation-summary-card{padding:22px}.installation-summary-card h2{font-size:29px}.product-details-summary .product-key-facts{grid-template-columns:1fr;gap:0}.product-details-summary .product-key-facts>div{grid-template-columns:105px minmax(0,1fr);gap:12px}.product-sections>.product-details-summary{padding:22px}.product-details-summary .product-estimate{display:block}}
.product-details-summary .summary-color-block{margin:20px 0 10px;padding-top:18px;border-top:1px solid var(--line)}.product-details-summary .summary-color-block .summary-color{margin-bottom:0}
@font-face{font-family:Teko;src:url('/assets/teko-medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}header .logo .brand-name,header .logo .brand-trade{font-size:24px;font-weight:500}@media(max-width:700px){header .logo .brand-name,header .logo .brand-trade{font-size:21px}}
.gallery-selection-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:18px 3px 0;padding-top:16px;border-top:1px solid var(--line)}.gallery-selection-tools .summary-color{margin:0;font-size:11px}.gallery-selection-tools .summary-color b{font-size:15px}.gallery-selection-tools .product-tools{min-width:240px;max-width:320px;flex:1}.gallery-selection-tools .product-tools button{padding:10px 5px}@media(max-width:450px){.gallery-selection-tools .product-tools{min-width:0;flex-basis:100%}.gallery-selection-tools{gap:10px}}
.product-gallery .color-selector-heading{justify-content:flex-end;margin-top:18px;margin-bottom:10px}
.gallery-selection-tools{justify-content:center}.gallery-selection-tools .product-tools{flex:0 1 360px;min-width:0;max-width:360px;width:100%;margin:0 auto}.gallery-selection-tools .product-tools button{padding:12px 8px}
#mobile-selected-color{font-weight:700}

/* Address-first quote: keep the task above the manufacturer preview on phones. */
.quote-reuse{padding:14px 16px;background:#edf3e8;border-radius:10px;font-size:13px;margin:18px 0}.quote-reuse p{margin:6px 0 0}.quote-area-help{width:100%;min-height:48px;text-align:left;padding:13px 16px;border:1px solid var(--green);background:white;color:var(--green);border-radius:8px;margin:4px 0 16px}.quote-extra-details summary small{display:block;font-size:12px;font-weight:400;color:#62776a;margin-top:5px}.quote-shortlist .estimate-options{grid-template-columns:1fr}.quote-shortlist .estimate-option{display:block}.quote-shortlist .estimate-option img{height:160px}.config-panel [data-quote-heading]:focus{outline:none}
@media(max-width:800px){.roof-configurator{padding:16px 16px 50px}.config-top{margin-bottom:20px;gap:12px}.config-top nav{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;font-size:11px}.config-top nav span{line-height:1.5}.config-top nav b{display:block}.config-layout{display:flex;flex-direction:column;gap:28px}.config-panel{order:0;width:100%;min-width:0;padding:0}.config-visual{order:1;width:100%;padding-top:20px;border-top:1px solid var(--line)}.config-home{aspect-ratio:16/7;max-height:200px}.config-roof-caption{margin:14px 0 8px}.config-roof-caption h2{font-size:23px}.config-panel h2{font-size:29px;margin:8px 0 14px}.config-panel input,.config-panel select{font-size:16px;min-height:48px}.config-panel .estimate-actions{position:sticky;bottom:0;z-index:3;background:var(--paper);padding:12px 0 calc(12px + env(safe-area-inset-bottom));margin:20px 0 0;box-shadow:0 -8px 15px #17332e08;flex-wrap:nowrap;align-items:center}.config-panel .estimate-actions .primary{flex:1;width:auto;margin:0}.config-panel .estimate-actions>button:first-child{font-size:12px;min-height:48px}.config-layout[data-quote-step="0"] .config-home{display:none}.config-layout[data-quote-step="0"] .config-visual{padding-top:14px}.config-layout[data-quote-step="0"] .config-visual>.notice{display:none}.config-panel #property-form .primary{min-height:52px}.config-panel #manual-next,.config-panel #inspection-without-measurements{min-height:48px;text-align:left}.configurator-active .comparebar{display:none}.config-panel .measurement-note{padding:12px}.config-panel .satellite-map{height:220px}}

.payment-price{padding-top:0}.payment-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:20px}.payment-tabs button{flex:1;border:0;border-bottom:2px solid transparent;border-radius:0;padding:15px;background:transparent;color:#62776a;margin:0;font-size:14px}.payment-tabs button.active{color:var(--green);border-color:var(--green);font-weight:600}.payment-tabs button:focus-visible{outline:2px solid var(--green);outline-offset:-4px}.payment-context{background:#edf0e9;border-radius:8px;padding:15px 16px;margin-bottom:20px;font-size:13px}.payment-context p{margin:5px 0 0}.payment-selected{border:1px solid var(--green);border-radius:9px;padding:20px}.payment-selected strong span{font-size:17px;font-weight:400;letter-spacing:0}.payment-selected p{margin-bottom:0}.payment-assumptions{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:#62776a;margin-top:16px}.finance-breakdown dl{margin:18px 0}.finance-breakdown dl>div{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.finance-breakdown dd{margin:0;text-align:right;font-weight:600}.config-panel .finance-terms button{width:100%;min-height:48px;background:var(--green);color:white}.finance-terms .estimate-field{margin:12px 0}.payment-price .payment-disclaimer{margin-top:16px}.config-panel .payment-price details{padding:14px 0}@media(max-width:800px){.payment-selected{padding:18px}.payment-price{margin-top:22px}.payment-price strong{font-size:34px}.payment-tabs button{min-height:48px}}

/* Persistent end-of-quote pricing summary. */
.roof-configurator.has-pricing-summary{padding-bottom:160px}.quote-pricing-summary{position:fixed;bottom:0;left:0;right:0;z-index:20;padding:0 24px max(12px,env(safe-area-inset-bottom));background:white;border-top:1px solid var(--line);box-shadow:0 -6px 24px #17332e0d}.quote-summary-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:0 28px;max-width:1000px;margin:auto;padding-top:14px;position:relative}.quote-summary-details{margin:0;padding:0;min-width:0}.quote-summary-details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:18px;min-height:54px;width:fit-content}.quote-summary-details>summary::-webkit-details-marker{display:none}.quote-summary-details>summary strong{display:block;font-size:25px;line-height:1.2;letter-spacing:-.6px}.quote-summary-details>summary strong small{display:inline;font-size:15px;font-weight:400}.quote-summary-details>summary span>small{display:block;font-size:11px;margin-top:4px;color:#62776a}.quote-summary-chevron{font-size:20px;transition:transform .15s}.quote-summary-details[open] .quote-summary-chevron{transform:rotate(180deg)}.quote-summary-details>summary:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:4px}.quote-summary-inner>.primary{align-self:center;width:100%;padding:15px;min-height:50px}.quote-summary-note{grid-column:1/-1;font-size:10px;color:#62776a;margin:8px 0 0}.quote-summary-breakdown{position:absolute;bottom:calc(100% + 12px);left:0;right:0;max-height:55vh;overflow:auto;overscroll-behavior:contain;background:white;border:1px solid var(--line);box-shadow:0 -8px 30px #17332e15;border-radius:14px;padding:24px}.quote-summary-breakdown h2{font:26px Georgia;margin:0 0 16px}.quote-summary-breakdown p{font-size:13px;color:#62776a}.quote-summary-breakdown dl>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.quote-summary-breakdown dd{margin:0;text-align:right;font-weight:600}.quote-summary-breakdown .notice{font-size:11px;line-height:1.6}@media(max-width:800px){.roof-configurator.has-pricing-summary{padding-bottom:145px}.quote-pricing-summary{padding-inline:16px}.quote-summary-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px;padding-top:12px}.quote-summary-details>summary{gap:10px;width:100%}.quote-summary-details>summary strong{font-size:22px}.quote-summary-inner>.primary{font-size:12px;padding:13px 10px}.quote-summary-breakdown{padding:20px;max-height:60vh}.quote-summary-breakdown dl>div{font-size:12px}}@media(max-width:360px){.quote-summary-details>summary strong{font-size:19px}.quote-summary-details>summary span>small{font-size:10px}.quote-summary-inner>.primary{font-size:11px}}

/* Compact roof confirmation, with four essentials and expandable guidance. */
.compact-roof-details h2{margin:0 0 10px}.config-panel .compact-roof-details>p{margin:4px 0}.roof-property-line{font-size:13px;color:var(--ink);line-height:1.4}.roof-source-line{font-size:11px;color:#62776a}.roof-property-check{margin:16px 0 10px;border:1px solid var(--line);border-radius:9px;padding:12px 14px;background:white}.config-panel .roof-map-details{padding:0;margin:0;border:0}.roof-map-details summary{font-size:12px}.config-panel .compact-roof-details .satellite-map{height:140px;margin:10px 0 4px;border-radius:6px}.roof-map-meta{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#62776a}.roof-map-meta a{color:var(--green)}.roof-confirm{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.4;margin-top:12px}.roof-confirm input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:none;accent-color:var(--green)}.config-panel .compact-roof-details .estimate-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.compact-roof-details .estimate-field{margin:10px 0;font-size:12px;gap:5px}.compact-roof-details .estimate-field input,.compact-roof-details .estimate-field select{padding:10px;min-height:44px}.roof-area-note{font-size:11px;color:#62776a;margin:2px 0 12px;line-height:1.5}.config-panel .compact-roof-details .quote-extra-details{padding:12px 0;margin:10px 0 0}.quote-extra-details summary{display:flex;justify-content:space-between;gap:10px;font-size:13px}.quote-extra-details summary small{display:inline;margin:0;font-size:11px}.config-panel .compact-roof-details .estimate-actions{margin:12px 0 0;align-items:center;gap:12px}.compact-roof-details .estimate-actions .primary{margin:0;flex:1;width:auto;padding:14px}.compact-roof-details #roof-status:empty{display:none}.config-panel .roof-measure-help{font-size:12px;min-height:44px;margin:8px 0 0;padding:8px 0}.config-panel .roof-measure-guide{padding:12px 0;margin:0;font-size:12px}.roof-measure-guide p{font-size:12px;color:#62776a;line-height:1.6}@media(max-width:800px){.compact-roof-details .estimate-field input,.compact-roof-details .estimate-field select{font-size:16px}.config-panel .compact-roof-details .estimate-actions{padding-top:8px}.compact-roof-details .roof-property-check{margin-top:12px}.compact-roof-details .quote-extra-details .estimate-fields{grid-template-columns:1fr}.config-panel .compact-roof-details h2{font-size:28px}.roof-confirm{min-height:32px}}@media(max-width:350px){.config-panel .compact-roof-details .estimate-fields{gap:0 8px}.compact-roof-details .estimate-field select{padding-inline:6px}.roof-property-check{padding:10px}}

/* Keep quote review focused; installation scope stays available on demand. */
.config-panel .compact-quote-review h1{font-size:32px;margin:0 0 10px;line-height:1.12}.quote-review-address{font-size:12px;color:#62776a;margin:0 0 16px;line-height:1.5}.compact-quote-review .config-price{margin:0 0 12px;padding:0 0 12px;border-top:0}.compact-quote-review .payment-tabs{margin-bottom:14px}.compact-quote-review .payment-tabs button{padding:12px}.compact-quote-review .payment-selected{padding:16px}.compact-quote-review .payment-selected strong{font-size:34px;margin:6px 0}.compact-quote-review .payment-selected p{font-size:11px;line-height:1.5;margin:6px 0 0}.compact-quote-review .config-verification{padding:0;background:none;border-radius:0;font-size:11px;margin:10px 0;color:#62776a}.config-panel .compact-quote-review>.config-scope,.config-panel .compact-quote-review>.config-alternatives,.config-panel .compact-quote-review>.quote-review-measurements{padding:14px 0;margin:0;border-top:1px solid var(--line)}.compact-quote-review>details>summary{font-size:13px}.compact-quote-review .config-scope ul{font-size:13px;line-height:1.5;margin:14px 0}.compact-quote-review .config-scope li{margin:7px 0}.config-panel .compact-quote-review>#config-inspection{font-size:12px;margin:8px 0 0;padding:8px 0;min-height:40px}.compact-quote-review .payment-assumptions{margin-top:12px}.compact-quote-review .payment-disclaimer{font-size:10px;line-height:1.5}.compact-quote-review .finance-terms,.compact-quote-review .finance-breakdown{font-size:12px}.compact-quote-review .finance-terms summary,.compact-quote-review .finance-breakdown summary{font-size:12px}.compact-quote-review .quote-shortlist{margin-top:18px}.config-layout[data-quote-step="2"] .config-visual>.notice{font-size:10px;line-height:1.5}@media(max-width:800px){.config-panel .compact-quote-review h1{font-size:30px}.compact-quote-review .payment-selected strong{font-size:32px}.config-layout[data-quote-step="2"] .config-visual{padding-top:14px}.config-layout[data-quote-step="2"] .config-home{max-height:160px;aspect-ratio:16/6}.config-layout[data-quote-step="2"] .config-roof-caption h2{font-size:21px}.config-layout[data-quote-step="2"] .config-visual>.textbtn{font-size:12px;margin:8px 0}}

/* Quote panels fill their column independently of collapsed form content. */
.roof-configurator .config-panel.estimator{width:100%;min-width:0;margin:0;justify-self:stretch}.config-panel .compact-quote-review,.config-panel .compact-roof-details{width:100%;min-width:0}.config-panel .estimate-field{min-width:0}.config-panel .estimate-field input,.config-panel .estimate-field select{min-width:0;max-width:100%}

/* Clean summary sheet with synchronized payment controls. */
.summary-sheet-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.summary-sheet-heading h2{margin:0;font-size:25px}.summary-sheet-heading button{width:36px;height:36px;border:0;border-radius:50%;background:#f4f6f2;font-size:24px;line-height:1;color:var(--green);padding:0}.summary-sheet-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.summary-roof-product{display:flex;align-items:center;gap:12px}.summary-roof-product img{width:56px;height:56px;object-fit:cover;border-radius:7px;flex:none}.summary-roof-product div{display:flex;flex-direction:column;gap:5px;min-width:0}.summary-roof-product small{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#62776a}.summary-roof-product b{font-size:14px}.summary-roof-product span{font-size:12px;color:#62776a}.summary-sheet-grid .summary-property{font-size:12px;margin:16px 0 10px}.summary-sheet-grid .summary-roof-metrics{margin:0}.quote-summary-breakdown .summary-roof-metrics>div{font-size:12px;padding:9px 0}.summary-sheet-grid .summary-source{font-size:10px;margin:10px 0 16px;line-height:1.5}.summary-installation,.summary-payment-totals{border-top:1px solid var(--line);padding:12px 0;font-size:12px}.summary-installation summary,.summary-payment-totals summary{cursor:pointer;font-weight:600}.summary-installation ul{font-size:12px;line-height:1.5;padding-left:18px;margin:12px 0}.summary-installation li{margin:6px 0}.summary-installation h3{font-size:12px;margin:16px 0 8px}.summary-payment-info .payment-tabs{margin-bottom:16px}.summary-payment-info .payment-tabs button{padding:10px 12px;min-height:44px;font-size:13px}.summary-payment-headline small{font-size:11px;color:#62776a}.summary-payment-headline strong{display:block;font-size:32px;letter-spacing:-.8px;margin-top:6px}.summary-payment-headline strong span{font-size:16px;font-weight:400;letter-spacing:0}.summary-sheet-grid .summary-loan-terms{font-size:11px;margin:12px 0 16px}.quote-summary-breakdown .summary-payment-totals dl>div{font-size:11px;padding:8px 0}.summary-sheet-grid .summary-price-disclaimer,.summary-sheet-grid .summary-cash-note{font-size:11px;line-height:1.6}.quote-summary-breakdown .summary-scheduling-note{border-top:1px solid var(--line);padding-top:12px;margin:16px 0 0;font-size:10px;line-height:1.5}@media(max-width:600px){.summary-sheet-grid{grid-template-columns:1fr;gap:18px}.summary-payment-info{order:-1}.summary-sheet-heading{margin-bottom:14px}.summary-sheet-heading h2{font-size:23px}.summary-roof-info{border-top:1px solid var(--line);padding-top:16px}.quote-summary-breakdown{max-height:65vh}.summary-payment-info .payment-tabs{margin-bottom:12px}}

/* Make installation scope and measurements stand out without expanding them. */
.config-panel .compact-quote-review>.config-scope,.config-panel .compact-quote-review>.quote-review-measurements{background:#edf2e9;border:1px solid #bdcfc0;border-left:3px solid var(--green);border-radius:9px;margin:10px 0;padding:0}.compact-quote-review>.config-scope>summary,.compact-quote-review>.quote-review-measurements>summary{padding:15px;min-height:50px;font-size:15px;font-weight:700;color:var(--green);cursor:pointer;line-height:1.4}.compact-quote-review>.config-scope[open],.compact-quote-review>.quote-review-measurements[open]{padding-bottom:14px}.compact-quote-review>.config-scope>ul,.compact-quote-review>.config-scope>details,.compact-quote-review>.quote-review-measurements>.measurement-summary,.compact-quote-review>.quote-review-measurements>.notice,.compact-quote-review>.quote-review-measurements>.textbtn{margin-left:16px;margin-right:16px}.compact-quote-review>.config-scope>summary:focus-visible,.compact-quote-review>.quote-review-measurements>summary:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:6px}.config-panel .compact-quote-review>.config-alternatives{border-top:0;padding:10px 0}

/* Included installation work is visible above the quote. */
.config-panel .compact-quote-review>.visible-installation{padding:14px 16px;margin:14px 0 18px}.visible-installation h2{font:600 15px/1.4 Arial,sans-serif;margin:0 0 10px}.compact-quote-review>.visible-installation>ul{margin:0;padding-left:18px;font-size:12px;line-height:1.45}.compact-quote-review>.visible-installation li{margin:5px 0}.compact-quote-review>.visible-installation>details{margin:10px 0 0;padding:10px 0 0;font-size:11px}.compact-quote-review>.visible-installation>details summary{font-size:11px}.payment-selected .price-inclusions,.summary-payment-headline .price-inclusions{font-size:11px;color:var(--green);font-weight:600;margin:8px 0}.summary-installation>h3{font-size:13px;margin:0 0 10px}.summary-installation>details{font-size:11px;margin-top:10px}

.config-top nav button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#62776a;padding:8px 0;font:inherit;cursor:pointer}.config-top nav button.current{color:var(--green);border-bottom-color:var(--green);font-weight:600}.config-top nav button:not(:disabled):hover{color:var(--green);text-decoration:underline}.config-top nav button:disabled{opacity:.45;cursor:default}.config-top nav button:focus-visible{outline:2px solid var(--green);outline-offset:4px}@media(max-width:800px){.config-top nav button{text-align:left;min-height:44px;line-height:1.5}}

/* Merge roof scope and measurements; give the quoted price priority. */
.config-panel .compact-quote-review>.visible-installation{background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:14px 0;margin:14px 0 18px}.visible-installation h2{font-size:14px;color:var(--ink)}.package-roof-metrics{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;margin:12px 0 4px}.package-roof-metrics dt{font-size:10px;color:#62776a}.package-roof-metrics dd{font-size:14px;font-weight:600;margin:4px 0}.package-measurement-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.package-measurement-tools small{font-size:10px;color:#62776a}.config-panel .package-measurement-tools .textbtn{margin:0;padding:8px 0;font-size:11px;min-height:36px}.compact-quote-review>.visible-installation>ul,.compact-quote-review>.visible-installation>details{margin-left:0;margin-right:0}.compact-quote-review>.visible-installation>ul{padding-left:18px}.compact-quote-review .payment-selected{background:var(--green);color:white;border-color:var(--green);box-shadow:0 5px 18px #17332e14;padding:20px}.compact-quote-review .payment-selected strong{font-size:40px;letter-spacing:-1px;margin:8px 0}.compact-quote-review .payment-selected small,.compact-quote-review .payment-selected p,.compact-quote-review .payment-selected .price-inclusions{color:#e2eadf}.compact-quote-review .payment-selected .price-inclusions{font-weight:600}.compact-quote-review .payment-selected strong span{color:white}@media(max-width:800px){.compact-quote-review .payment-selected strong{font-size:36px}.package-measurement-tools{flex-wrap:wrap;gap:4px 12px}}

/* Compact date selection and deposit review. */
.config-panel .compact-scheduling h1{font-size:30px;margin:0 0 10px}.compact-scheduling>p{font-size:12px;margin:0 0 18px;color:#62776a}.compact-scheduling .schedule-picker{margin:16px 0}.compact-scheduling .schedule-picker legend{font-size:13px;margin-bottom:10px}.compact-scheduling .schedule-weeks{gap:8px}.compact-scheduling .schedule-week span{min-height:54px;padding:7px;gap:3px}.compact-scheduling .schedule-week input:checked+span{padding:6px}.compact-scheduling .schedule-week b{font-size:15px}.compact-scheduling .schedule-flexible span{min-height:44px;flex-direction:row;justify-content:space-between;padding-inline:12px;gap:10px}.compact-scheduling .schedule-flexible small{font-size:10px}.compact-scheduling .schedule-later{margin-top:12px;font-size:12px;gap:6px}.compact-scheduling .schedule-later input{min-height:42px;padding:9px 12px}.compact-scheduling .schedule-picker>.notice{font-size:10px;line-height:1.5;margin:10px 0 0}.compact-scheduling .reservation-amount{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:14px 0;margin:16px 0 8px}.compact-scheduling .reservation-amount span{font-size:13px;align-self:center}.compact-scheduling .reservation-amount strong{font-size:30px;grid-column:2;grid-row:1/3}.compact-scheduling .reservation-amount small{font-size:10px}.compact-scheduling .reservation-policy{font-size:10px;line-height:1.5;margin:8px 0 12px}.compact-scheduling .reservation-unavailable{padding:0;background:transparent;font-size:11px;margin:0}.compact-scheduling .reservation-unavailable p{font-size:10px;margin:5px 0 0;line-height:1.5}.config-panel .compact-scheduling>.primary{margin:12px 0 8px;padding:13px;min-height:46px;font-size:13px}.config-panel .compact-scheduling>#schedule-request{padding:12px;min-height:44px;font-size:12px}.config-panel .compact-scheduling>.textbtn{margin:5px 0;padding:8px 0;min-height:36px;font-size:11px}@media(max-width:800px){.compact-scheduling .schedule-later input{font-size:16px}.compact-scheduling .schedule-week span{min-height:54px}.compact-scheduling .schedule-flexible span{min-height:44px}}

.detected-roof{background:#edf2e9;border:1px solid var(--line);border-radius:8px;padding:14px;margin:14px 0}.detected-roof>b{font-size:22px;display:block}.detected-roof>span{font-size:12px}.detected-roof p{font-size:11px;margin:8px 0 0}.config-panel .roof-technical-edits{font-size:12px;margin:10px 0;padding:12px 0}.optional-deposit{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:8px;font-size:12px}.optional-deposit legend{font-weight:600}.optional-deposit label{display:flex;align-items:center;gap:9px;margin:10px 0}.optional-deposit input{width:18px;min-height:18px;flex:none}.optional-deposit p{font-size:11px;color:#62776a;line-height:1.5}.request-confirmation h1{font-size:30px}.request-confirmation dl>div{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;font-size:12px}.request-confirmation dd{margin:0;text-align:right}.confirmation-number{font-size:11px;overflow-wrap:anywhere}.request-confirmation #print-confirmation{min-height:44px;padding:12px}.request-confirmation .notice{font-size:11px}.roof-configurator.has-pricing-summary{padding-bottom:160px}

.config-panel .contact-address-fields{margin:10px 0 16px;padding:12px 0;font-size:13px}.contact-address-fields summary small{display:block;font-size:11px;font-weight:400;color:#62776a;margin-top:5px}.contact-address-fields input[readonly]{background:#f4f6f2}.contact-address-fields .estimate-fields{margin-top:12px}

/* Selected shingle stays recognizable without repeating a full gallery on mobile. */
.config-selected-label,.config-mobile-preview{display:none}.quote-footer-swatch{width:44px;height:44px;object-fit:cover;border-radius:6px;flex:none}.quote-summary-details>summary{gap:12px}.quote-summary-details>summary>span:first-of-type{min-width:0}.quote-summary-details>summary .quote-footer-color{font-size:10px;line-height:1.3;color:#62776a;margin-top:3px}.quote-summary-chevron{margin-left:2px}.quote-summary-inner>.primary{font-size:13px}@media(max-width:800px){.config-layout .config-visual{padding:14px;border:1px solid var(--line);border-radius:10px;background:white;margin-top:2px}.config-visual>.config-home{display:none}.config-selected-label{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#62776a;margin-bottom:10px}.config-layout .config-roof-caption{gap:12px;margin:0 0 8px;align-items:center}.config-layout .config-roof-caption>img{order:-1;width:64px;height:64px;border:0;border-radius:7px}.config-layout .config-roof-caption>div{flex:1;min-width:0}.config-layout .config-roof-caption .brand{font-size:9px;letter-spacing:.7px}.config-layout .config-roof-caption h2{font:600 15px/1.35 Arial,sans-serif;margin:4px 0;overflow-wrap:anywhere}.config-layout .config-roof-caption p{font-size:11px;line-height:1.4;margin:4px 0}.config-layout .config-visual>#change-roof-color{font-size:12px;margin:0;padding:8px 0;min-height:36px}.config-mobile-preview{display:block;margin:6px 0 0;border-top:1px solid var(--line);padding-top:10px;font-size:12px}.config-mobile-preview>summary{cursor:pointer;padding:4px 0;min-height:30px}.config-mobile-home{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px;margin-top:12px}.config-mobile-preview>p{font-size:10px;color:#62776a;line-height:1.5}.config-visual>.notice{display:none}.quote-summary-details>summary{gap:8px}.quote-footer-swatch{width:38px;height:38px}.quote-summary-details>summary strong{font-size:21px}.quote-summary-chevron{font-size:16px;margin-left:0}.quote-summary-inner>.primary{font-size:13px;padding:13px 10px}.roof-configurator.has-pricing-summary{padding-bottom:175px}}@media(max-width:380px){.quote-footer-swatch{width:32px;height:32px}.quote-summary-details>summary strong{font-size:18px}.quote-summary-details>summary span>small{font-size:9px}.quote-summary-inner{gap:0 8px}.quote-summary-details>summary{gap:6px}.quote-summary-chevron{font-size:14px}}

/* Center the two-line wordmark against the icon, including the font's optical offset. */
header .logo{align-items:center}header .logo .brand-wordmark{height:48px;justify-content:center;gap:0;transform:translateY(2px)}@media(max-width:700px){header .logo .brand-wordmark{height:40px}}
.configurator-active header #saved{display:none}.config-mobile-progress{display:none}@media(max-width:800px){.config-top>nav{display:none}.config-mobile-progress{display:block;width:100%;font-size:12px;color:var(--green);font-weight:600}.config-mobile-progress progress{display:block;width:100%;height:4px;margin-top:12px;border:0;border-radius:3px;overflow:hidden;accent-color:var(--green);background:var(--line)}.config-mobile-progress progress::-webkit-progress-bar{background:var(--line)}.config-mobile-progress progress::-webkit-progress-value{background:var(--green)}.config-mobile-progress progress::-moz-progress-bar{background:var(--green)}.config-top{margin-bottom:24px}.config-layout[data-quote-step="0"] .config-panel [data-quote-heading]{font-size:30px;line-height:1.15}.config-layout[data-quote-step="0"] .config-panel>p{font-size:14px;line-height:1.6}.config-layout[data-quote-step="0"] .config-panel #measure-button{min-height:50px;font-size:16px}.config-layout[data-quote-step="0"] .config-panel #manual-next{min-height:44px;font-size:13px}}
.save-quote-panel{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:10px;background:white}.save-quote-panel h2{margin:0 0 8px;font:24px Georgia}.save-quote-panel>p{font-size:12px;color:#62776a}.saved-quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:16px 0}.saved-quote-fields label{font-size:11px;display:block}.saved-quote-fields input{display:block;width:100%;padding:11px;border:1px solid var(--line);border-radius:6px;margin-top:6px;font-size:16px;color:var(--ink)}.save-quote-button{background:var(--green);color:white;border-color:var(--green);font-size:12px;padding:12px 17px}.save-quote-panel>a{display:block;margin-top:14px;font-size:12px}.save-quote-button:disabled{opacity:.6;cursor:wait}@media(max-width:650px){.saved-quote-fields{grid-template-columns:1fr}.save-quote-button{width:100%}.save-quote-panel{padding:17px}}
