@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#203c32;background:#f7f7f0;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #db9944;outline-offset:5px}button{cursor:pointer}button:disabled{cursor:default}img{max-width:100%}
.product-header{min-height:92px;background:#19352e;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:16px 5vw}.product-brand{width:128px;flex:none}.product-brand svg{width:100%;height:64px;display:block}.product-header nav{display:flex;gap:30px}.product-header a{text-decoration:none;font-size:13px}.product-header nav a[aria-current]{color:#e8d39b}.header-contact{border:1px solid #6f8a7b;padding:12px 18px;border-radius:3px}.header-contact span{margin-left:18px}
.page-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 5vw;font-size:12px}.page-intro a{text-decoration:none}.page-intro>span{color:#6c7970}
.product-explorer{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);margin:0 5vw 70px;border:1px solid #d7ddd1;align-items:stretch}
.finish-stage{--finish-color:#265a79;--finish-ink:#fff;background:var(--finish-color);color:var(--finish-ink);padding:30px;display:flex;flex-direction:column;min-width:0;transition:background-color .3s,color .3s}
.stage-topline{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.13em;line-height:1.5}.stage-heading{margin:50px 0 30px}.stage-heading p{margin:0 0 8px;font-size:14px;opacity:.8}.stage-heading h1{font-family:'Manrope',Arial,sans-serif;font-weight:500;font-size:clamp(34px,4.5vw,67px);line-height:1.06;letter-spacing:-.045em;margin:0;max-width:600px}
.sample-figure{margin:0 0 25px}.detail-sample{position:relative;aspect-ratio:16/10;overflow:hidden;background:#ffffff15;border:1px solid #ffffff20;box-shadow:0 20px 40px #00000016}.detail-sample img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.detail-sample.vertical img{inset:auto;left:18.75%;top:-30%;width:62.5%;height:160%;transform:rotate(90deg)}.detail-sample img[src*="matte-black-pvdf"]{transform:rotate(90deg) scale(1.28);object-position:center 49%}.detail-sample img[src*="chocolate-brown"]{transform:scale(1.35);object-position:65% center}.detail-sample img[src*="aqua-green"]{transform:scale(1.16)}.detail-sample.credited img{object-fit:contain;background:#e5e7e0}.sample-figure figcaption{font-size:10px;margin-top:12px;opacity:.85;line-height:1.5}.stage-foot{display:flex;justify-content:space-between;gap:20px;margin-top:auto;padding-top:20px;border-top:1px solid currentColor;font-size:12px;line-height:1.5}.screen-note{font-size:10px;opacity:.78;line-height:1.6;margin:12px 0 0}
.product-choices{background:#fffef8;padding:38px 35px}.eyebrow{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;margin:0 0 12px;color:#6f7c6c}.product-choices h2{font-family:'Manrope',Arial,sans-serif;font-size:36px;letter-spacing:-.045em;font-weight:500;margin:0 0 15px}.intro-copy{font-size:14px;color:#67756b;line-height:1.7;max-width:380px;margin:0 0 28px}fieldset{border:0;padding:0;margin:0 0 25px;min-width:0}legend{font-size:13px;font-weight:600;margin-bottom:14px}legend span{color:#8e9b8c;font-size:10px;margin-right:9px}.finish-options{display:flex;flex-wrap:wrap;gap:6px}.finish-options button{border:1px solid #d9dfd4;background:transparent;padding:10px 12px;color:#49604f;font-size:11px;border-radius:2px;min-height:38px}.finish-options button[aria-pressed="true"]{background:#254436;color:#fff;border-color:#254436}.finish-options button:hover{border-color:#345a42}.color-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 7px}.color-option{border:0;background:transparent;color:#4c6253;padding:4px 0;font-size:10px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:8px;line-height:1.4}.color-circle{display:block;width:40px;height:40px;border-radius:50%;background:var(--swatch);border:1px solid #00000020;box-shadow:0 0 0 3px #fffef8,0 0 0 4px transparent}.color-option[aria-pressed="true"] .color-circle{box-shadow:0 0 0 3px #fffef8,0 0 0 5px #294f3e}.color-option[aria-pressed="true"]{color:#1c3c2d;font-weight:700}.color-option small{font-weight:400;color:#7d897e;font-size:9px;margin-top:-5px}.gauge-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gauge-options button{border:1px solid #d5dcd0;padding:12px;background:transparent;color:#3f5546;border-radius:2px;text-align:left;font-size:17px;font-weight:600}.gauge-options button small{display:block;font-size:10px;font-weight:400;margin-top:5px;line-height:1.4}.gauge-options button[aria-pressed="true"]{border:1px solid #294f3e;box-shadow:inset 0 0 0 1px #294f3e;background:#edf1e7}.gauge-options button:disabled{color:#8b9389;background:repeating-linear-gradient(135deg,#f4f5ef,#f4f5ef 6px,#eff1e9 6px,#eff1e9 7px)}.selection-note{font-size:11px;color:#6f7e70;line-height:1.6;min-height:18px;margin:10px 0 0}.quote-block{border-top:1px solid #dbe0d3;padding-top:21px}.quote-block h3{font-size:17px;line-height:1.4;margin:0 0 7px}.quote-block>div>p:last-child{font-size:12px;color:#6c7b6c;margin:0 0 18px}.primary-button{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:#274a38;color:#fff;text-decoration:none;font-size:13px;border-radius:3px}.primary-button:hover{background:#376048}
.specifications{margin:0 5vw 75px;display:grid;grid-template-columns:1fr 1.1fr;gap:25px 80px;padding:0 30px}.specifications h2,.project-inspiration h2{font-family:'Manrope',Arial,sans-serif;font-size:36px;line-height:1.2;letter-spacing:-.035em;font-weight:500;margin:0 0 20px}.specifications>div>p:last-child{max-width:370px;font-size:14px;line-height:1.8;color:#6b786a}dl{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0}dt,dd{font-size:13px;padding:14px 0;margin:0;border-bottom:1px solid #d7ded1}dt{color:#75816f}dd{text-align:right;font-weight:500}.text-link{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:12px;width:fit-content}.specifications>.text-link{grid-column:2}
.project-inspiration{display:grid;grid-template-columns:1fr 1fr;background:#e9eee2;margin:0 5vw 70px}.project-inspiration>img{width:100%;height:100%;max-height:460px;object-fit:cover}.project-inspiration>div{padding:50px 40px}.project-inspiration p:not(.eyebrow){font-size:14px;line-height:1.8;color:#62745f}.project-inspiration .gallery-note{font-size:11px!important;margin-top:24px;color:#788471!important}footer{background:#1d392e;color:#dce7d7;padding:35px 5vw;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px}footer a{text-decoration:none}footer p{font-size:10px;width:100%;opacity:.65;margin:0}
@media(min-width:1450px){.product-explorer{max-width:1450px;margin-inline:auto}.finish-stage{padding:44px}.product-choices{padding:44px}.color-options{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1050px){.product-explorer{grid-template-columns:1fr 1fr;margin-inline:3vw}.finish-stage{padding:24px}.product-choices{padding:28px 23px}.stage-heading{margin-top:45px}.stage-heading h1{font-size:40px}.stage-foot{flex-direction:column;gap:8px}.color-options{grid-template-columns:repeat(3,minmax(0,1fr))}.specifications{gap:25px 40px;padding:0}.project-inspiration>div{padding:35px 25px}}
@media(max-width:740px){.product-header{min-height:80px;padding:12px 5vw;gap:15px}.product-brand{width:103px}.product-brand svg{height:54px}.product-header nav{gap:15px}.product-header nav a{font-size:11px}.product-header nav a:last-child,.header-contact{display:none}.page-intro{font-size:10px;padding-block:20px}.product-explorer{display:block;margin:0 4vw 45px}.finish-stage{padding:24px}.stage-heading{margin:25px 0}.stage-heading h1{font-size:43px}.stage-topline{font-size:9px}.sample-figure{margin-bottom:15px}.stage-foot{flex-direction:row;font-size:11px;gap:8px}.product-choices{padding:28px 24px}.product-choices h2{font-size:31px}.color-options{grid-template-columns:repeat(4,minmax(0,1fr))}.specifications{grid-template-columns:1fr;margin:0 7vw 45px;gap:12px}.specifications>.text-link{grid-column:1}.specifications h2,.project-inspiration h2{font-size:30px}.project-inspiration{grid-template-columns:1fr;margin:0 4vw 45px}.project-inspiration>img{max-height:270px}.project-inspiration>div{padding:30px}.screen-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.matched-project[hidden]{display:none}.project-photo-link{display:block;position:relative;align-self:center;line-height:0;overflow:hidden}.project-photo-link img{width:100%;height:auto;display:block}.project-photo-link span{position:absolute;bottom:16px;right:16px;background:#19352ee8;color:#fff;padding:11px 14px;font-size:11px;line-height:1.5}.project-photo-link:hover span{background:#345c47}.matched-project>div{align-self:center}
.product-explorer{position:relative;isolation:isolate;overflow:hidden;background:var(--finish-color,#185e87);transition:background-color .5s;border-radius:6px}.product-explorer>div{position:relative;z-index:1}.finish-stage{background:transparent;display:block}.product-choices{background:color-mix(in srgb,var(--finish-color) 13%,#fffdf7);transition:background-color .5s}.detail-sample{display:block;cursor:zoom-in;aspect-ratio:4/3}.detail-sample.normalized-sample img{transform:none!important;inset:0!important;left:0!important;top:0!important;width:100%!important;height:100%!important;object-fit:cover!important}.detail-sample.project-sample img{object-fit:contain;background:#172921;transform:none}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px}.gallery-controls button{background:#ffffff20;color:inherit;border:1px solid #ffffff55;border-radius:50%;width:35px;height:35px;cursor:pointer}.gallery-controls button:disabled{opacity:.35}.gallery-controls span{font-size:11px}.roof-thumbnails{display:flex;gap:10px;overflow:auto;padding:12px 3px}.roof-thumbnails button{background:#ffffff14;border:1px solid transparent;color:inherit;border-radius:3px;padding:5px;min-width:82px;max-width:115px;font-size:9px}.roof-thumbnails button[aria-pressed=true]{border-color:currentColor}.roof-thumbnails img{width:80px;height:55px;object-fit:cover;display:block}.roof-thumbnails span{display:block;padding-top:4px}.sample-figure figcaption{font-size:11px;min-height:34px}.sample-figure>a:not(.detail-sample){font-size:11px;text-underline-offset:4px}.stage-heading{margin:35px 0 25px}.stage-foot{margin-top:25px}.roof-price{padding:22px;background:#ffffffb8;border:1px solid #c6d1c4;border-radius:4px;margin:20px 0}.roof-price>strong{display:block;font-size:31px}.roof-price strong small{font-size:15px;font-weight:400}.roof-price p{font-size:13px;margin:10px 0}.roof-price>small{font-size:11px;color:#49644d}.finish-options button small{display:block;margin-top:6px;font-size:9px}.roof-comparison,.roof-gallery{margin:0 5vw 65px}.roof-gallery .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roof-gallery h2{font:400 36px Georgia,serif}.roof-comparison .price-band th{border-top-color:#f7f7f0}.product-choices .quote-mini{background:#fffc}.product-choices .eyebrow{color:#624927}.product-choices .color-option,.product-choices .intro-copy{color:#294836}.product-choices .color-option small{color:#4b6155}.product-choices .selection-note{color:#4b6155}.gauge-options{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.quote-measurements legend span{margin:0}.product-choices .quote-add-form .btn{display:block;text-align:center}.roof-gallery .gallery-grid img{height:auto}.project-inspiration{margin-bottom:0}footer.site-bottom{display:block}
@media(min-width:1000px){.finish-stage .sample-figure{position:sticky;top:20px}.finish-stage{padding:34px}.product-choices{padding:34px}}
@media(max-width:740px){.roof-gallery .gallery-grid{grid-template-columns:1fr}.roof-comparison,.roof-gallery{margin-inline:5vw}.finish-stage .sample-figure{position:static}.stage-heading h1{font-size:39px}.product-choices{padding:25px 20px}.roof-price>strong{font-size:28px}}
@media(prefers-reduced-motion:reduce){.product-explorer,.product-choices{transition:none}}
/* Keep controls readable while the surrounding finish tint changes. */
.product-explorer{grid-template-rows:auto;margin-bottom:32px}
.product-explorer>.finish-stage{grid-column:1;grid-row:1}
.product-explorer>.product-choices{grid-column:2;grid-row:1}
.roof-order{padding:24px;background:#fffdf7;border:1px solid #c6d1c4;border-radius:4px;color:#203c32}
.roof-order>div,.roof-accessories{min-width:0}
.roof-order #selection-name{font-size:1.4rem;margin:0 0 16px}
.roof-order .quote-add-form{margin-top:0}
.roof-accessories{margin:0 5vw 70px;padding:30px;background:#fffdf7;border:1px solid #d7ddd1;border-radius:4px}
.roof-accessories h2{font:600 1.6rem 'DM Sans',Arial,sans-serif;margin:0 0 12px}
.roof-accessory-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
.roof-accessory-photo{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:14px;margin:14px 0;padding:12px;background:#fff;border:1px solid #d7ddd1;border-radius:4px}
.roof-accessory-photo[hidden]{display:none}
.roof-accessory-photo img{display:block;width:112px;height:112px;object-fit:contain}
.roof-accessory-photo figcaption{font-size:.8125rem;line-height:1.45;color:#405951}
@media(min-width:1450px){.roof-accessories{max-width:1450px;margin-inline:auto}}
@media(min-width:741px) and (max-width:1050px){.roof-accessories{margin-inline:3vw}}
.roof-accessories h4{font-size:1.05rem;margin:20px 0 10px}
.roof-accessories p{font-size:.9375rem;line-height:1.55;margin:10px 0}
.roof-accessories label{display:block;font-size:.9375rem;margin:12px 0 6px}
.roof-accessories select,.roof-accessories input{display:block;width:100%;min-width:0;min-height:46px;padding:10px;background:#fffdf7;border:1px solid #aebfac;border-radius:3px;color:#203c32;font:inherit;font-size:1rem}
.roof-accessories .btn{width:100%;margin-top:14px;min-height:46px;white-space:normal}
.roof-accessories .btn:disabled{opacity:.55;cursor:default}
.roof-accessories select:focus-visible,.roof-accessories input:focus-visible{outline:3px solid #a3651d;outline-offset:2px}
.roof-accessory-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;min-height:48px;border-top:1px solid #ced8c7;text-decoration:none;font-size:1rem}
.roof-accessory-links a:hover{text-decoration:underline;text-underline-offset:4px}
.roof-accessory-links small{display:block;font-size:.875rem;color:#4b6155}
#roof-accessory-status{color:#1c5c3f}
@media(max-width:740px){.roof-order{padding:24px 20px}.roof-accessories{margin:0 4vw 48px;padding:20px}.roof-accessory-layout{grid-template-columns:1fr;gap:16px}.roof-order .quote-measurements{grid-template-columns:1fr}}
/* Photo descriptions stay available as image alt text; the page uses short labels. */
body:has(#roof-explorer) .photo-dialog .photo-caption{display:none}
.product-choices{background:color-mix(in srgb,var(--finish-color) 22%,#fffdf7)}.project-brand{display:block;width:215px;margin:0 0 22px}.project-brand svg{display:block;width:100%;height:130px}.roof-gallery .coastal-projects{grid-template-columns:1fr 1fr;gap:28px;margin:26px 0}.roof-gallery .coastal-projects img{height:100%;aspect-ratio:4/3;object-fit:cover}.roof-gallery .coastal-projects a{display:block}.roof-gallery .coastal-projects figcaption{line-height:1.6}
@media(max-width:740px){.roof-gallery .coastal-projects{grid-template-columns:1fr}.project-brand{width:190px}.project-brand svg{height:115px}}
/* Frame the supplied finish detail around the material; the viewer keeps the whole photo. */
.detail-sample.normalized-sample{overflow:hidden}
.detail-sample.normalized-sample img[src$="textured-black-detail-20260929.webp"]{transform:scale(1.55)!important;transform-origin:center top}

.photo-ripple{position:absolute;inset:0;pointer-events:none;opacity:0;background:var(--finish-color);z-index:1}
.replacement-notice{margin:0 5vw 18px;padding:14px 18px;border-left:3px solid #47848d;background:#e8eee7;color:#203c32;font-size:14px;line-height:1.6}
.finish-stage .screen-note,.finish-stage .stage-heading p,.finish-stage .sample-figure figcaption{opacity:1}
@media(prefers-reduced-motion:reduce){.photo-ripple{display:none}}
/* Keep both exact prices visible beside each option on a phone. */
@media(max-width:740px){
 .roof-comparison .price-table{width:100%;min-width:0;table-layout:fixed}
 .roof-comparison .price-table th,.roof-comparison .price-table td{padding:12px 5px;font-size:13px;overflow-wrap:anywhere}
 .roof-comparison .price-table thead th{font-size:12px}
 .roof-comparison .price-table th:first-child{width:35%}
 .roof-comparison .price-table th:nth-child(2){width:20%}
 .roof-comparison .price-table th:nth-child(3),.roof-comparison .price-table th:nth-child(4){width:22.5%}
 .roof-comparison .price-table td:nth-child(3),.roof-comparison .price-table td:nth-child(4){white-space:nowrap;overflow-wrap:normal}
}
