/* Complete campaign artwork; no live text covers the hero images. */
.ap-campaigns{padding-top:22px;padding-bottom:10px}
.ap-campaigns__stage{position:relative;aspect-ratio:3/1;overflow:hidden;border-radius:5px;background:#141713;touch-action:pan-y pinch-zoom}
.ap-campaign{height:100%;width:100%;animation:ap-campaign-reveal .38s ease-out}
.ap-campaign__link,.ap-campaign__link picture{display:block;width:100%;height:100%}
.ap-campaign__link{outline-offset:-5px}
.ap-campaign__image{display:block;width:100%;height:100%;object-fit:contain;border:0;padding:0;user-select:none}
.ap-campaigns__navigation{display:flex;justify-content:center;align-items:center;min-height:38px;gap:0}
.ap-campaigns__navigation button{display:grid;place-items:center;width:34px;height:38px;padding:0;background:transparent;border:0;box-shadow:none;transform:none!important;cursor:pointer}
.ap-campaigns__navigation button>span{display:block;width:7px;height:7px;border-radius:10px;background:#cdd3c5;transition:width .18s,background .18s}
.ap-campaigns__navigation button[aria-pressed=true]>span{width:22px;background:#526629}
.ap-campaigns__navigation button:hover>span{background:#526629}
@keyframes ap-campaign-reveal{from{opacity:.65}to{opacity:1}}

/* Opaque product colors over genuinely transparent image backgrounds. */
.ap-promo-eyebrow{font-size:11px;font-weight:750;letter-spacing:.1em;line-height:1.4;margin:0 0 12px}
.ap-promo-cta{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:44px;padding:11px 19px;background:#183e2b;color:#fff;border-radius:5px;font-size:14px;font-weight:750;line-height:1.3;white-space:nowrap}
.ap-delivery-promo{padding-top:22px;padding-bottom:0}
.ap-delivery-promo__link{position:relative;isolation:isolate;display:grid;grid-template-columns:310px minmax(0,1fr) auto;gap:24px;align-items:center;min-height:150px;padding:18px 28px;border-radius:9px;outline-offset:5px;background:repeating-linear-gradient(130deg,transparent 0 120px,#fff2 120px 172px,transparent 172px 252px),linear-gradient(115deg,#d6ff58,#cbff00 60%,#c6f14c)}
.ap-delivery-promo__truck{position:relative;z-index:1;display:block;width:100%;height:auto;max-width:100%;object-fit:contain;mix-blend-mode:normal;filter:drop-shadow(0 8px 5px #29431924)}
.ap-delivery-promo__copy{min-width:0}
.ap-delivery-promo__copy h2{color:#143723;font-size:clamp(23px,2.3vw,34px);font-weight:850;line-height:1.08;letter-spacing:-.035em}
.ap-delivery-promo__copy h2 span{white-space:nowrap}
.ap-delivery-promo__copy p{font-size:16px;font-weight:750;line-height:1.4;margin-top:9px;color:#183e2b}
.ap-delivery-promo__copy small{display:block;font-size:12px;line-height:1.45;margin-top:3px;color:#294932}
.ap-delivery-promo__link:hover .ap-promo-cta{background:#102d1e}
.ap-delivery-promo__note{font-size:11px;line-height:1.5;text-align:right;margin:9px 2px 0;color:#626760}
.ap-delivery-promo__note a{font-weight:650;text-decoration:underline;text-underline-offset:3px;color:#2c4a28}

.ap-departments{padding-top:32px;padding-bottom:30px}
.ap-departments__panel{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;padding:26px 24px 23px;border-radius:10px;background:repeating-linear-gradient(132deg,transparent 0 136px,#efffa314 136px 200px,transparent 200px 308px),linear-gradient(110deg,#31562b,#558337 60%,#789d45)}
.ap-department{position:relative;display:block;min-width:0;height:224px;outline-offset:5px;border-radius:7px;isolation:isolate}
.ap-department:before{content:'';position:absolute;z-index:0;inset:0 0 31px;border-radius:7px;background:#f6f7ee;border:2px solid transparent;transition:border-color .15s}
.ap-department__name{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:5px;font-size:16px;font-weight:800;line-height:1.25;letter-spacing:-.035em;padding:15px 12px 0;color:#183a28}
.ap-department__name>span{font-size:24px;line-height:.75;font-weight:500}
.ap-department>img{position:absolute;z-index:3;width:calc(100% + 16px);max-width:none;height:194px;object-fit:contain;left:-8px;bottom:-5px;mix-blend-mode:normal;filter:drop-shadow(0 7px 3px #182a1926);pointer-events:none}
.ap-department.ap-department--ventilation>img{bottom:-23px}.ap-department.ap-department--skylights>img,.ap-department.ap-department--accessories>img{bottom:-17px}
.ap-department:hover:before,.ap-department:focus-visible:before{border-color:#cbff00}
.ap-department:focus-visible{outline-color:#fff}

.ap-service-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;margin-top:12px;margin-bottom:38px}
.ap-yard-card{display:grid;grid-template-rows:auto minmax(0,1fr) auto;aspect-ratio:5/3;overflow:hidden;border-radius:9px;background:#f3f5ed;border:1px solid #dae3d4;min-width:0}
.ap-yard-card>header{display:grid;grid-template-columns:125px minmax(0,1fr) auto;align-items:center;gap:17px;padding:19px 22px;background:#183e2b;color:#f5f6e9}
.ap-yard-card__logo{display:block;width:125px;height:auto;object-fit:contain}
.ap-yard-card .ap-promo-eyebrow{color:#cbff00;margin-bottom:6px;font-size:10px;letter-spacing:.04em}
.ap-yard-card h2{font-size:25px;font-weight:750;line-height:1.1;letter-spacing:-.04em}
.ap-yard-card__directions{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:12px 13px;background:#cbff00;color:#153922;border-radius:5px;font-size:11px;font-weight:800;white-space:nowrap;outline-offset:4px}
.ap-yard-card__directions:hover{background:#e0ff64}
.ap-yard-card iframe{display:block;border:0;width:100%;height:100%;min-height:0;background:#e9eedf}
.ap-yard-card__address{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 22px;background:#f5f7ef}
.ap-yard-card__address strong,.ap-yard-card__address small{display:block}
.ap-yard-card__address strong{font-size:14px;font-weight:700}.ap-yard-card__address small{font-size:12px;color:#5c6d58;margin-top:3px}
.ap-yard-card__address>span:last-child{font-size:12px;font-weight:750;display:flex;gap:10px;color:#254a30;white-space:nowrap}
.ap-yard-card__address:hover>span:last-child{text-decoration:underline;text-underline-offset:4px}
.ap-roof-help-card{display:block;aspect-ratio:5/3;overflow:hidden;border-radius:9px;background:#183e2b;outline-offset:5px}
.ap-roof-help-card picture,.ap-roof-help-card img{display:block;width:100%;height:100%}
.ap-roof-help-card img{object-fit:contain;mix-blend-mode:normal}
.ap-roof-help-card:hover{box-shadow:0 0 0 2px #86a446}

.ap-brand-shop{padding-top:8px;padding-bottom:16px;scroll-margin-top:175px}
.ap-brand-shop__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ap-brand-shop__card{display:grid;grid-template-rows:86px auto;gap:18px;padding:22px 24px 17px;border:1px solid #dce2d5;border-radius:7px;background:#fff;min-width:0;outline-offset:4px;transition:border-color .15s}
.ap-brand-shop__card:hover{border-color:#6a8551;background:#fafcf6}
.ap-brand-shop__mark{display:flex;align-items:center;justify-content:center;min-width:0}
.ap-brand-shop__mark img{width:100%;height:80px;max-width:210px;object-fit:contain;mix-blend-mode:normal}
.ap-brand-shop__label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;font-weight:650;color:#234a30}
.ap-brand-shop__label>span{font-size:20px;font-weight:400}

@media(max-width:1200px){
 .ap-delivery-promo__link{grid-template-columns:250px minmax(0,1fr) auto;padding:20px;gap:19px}.ap-delivery-promo__copy h2{font-size:28px}
 .ap-departments__panel{gap:15px;padding-inline:18px}.ap-department{height:196px}.ap-department>img{height:168px}.ap-department__name{font-size:14px;padding-inline:9px}
 .ap-service-cards{grid-template-columns:1fr}.ap-yard-card{aspect-ratio:auto;grid-template-rows:auto 260px auto}
 .ap-brand-shop__card{padding:20px 20px 15px}.ap-brand-shop__label{font-size:13px}
}
@media(max-width:980px){
 .ap-delivery-promo__link{grid-template-columns:210px minmax(0,1fr);gap:8px 20px}.ap-delivery-promo__truck{grid-row:1/3}.ap-delivery-promo__link>.ap-promo-cta{grid-column:2;justify-self:start}.ap-delivery-promo__copy h2{font-size:27px}.ap-delivery-promo__copy p{font-size:14px;margin-top:7px}
 .ap-departments__panel{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px}.ap-department{height:224px}.ap-department>img{height:194px}.ap-department__name{font-size:17px;padding-inline:13px}
 .ap-service-cards{grid-template-columns:1fr;gap:22px}.ap-yard-card{aspect-ratio:auto;grid-template-rows:auto 240px auto}.ap-yard-card>header{grid-template-columns:145px minmax(0,1fr) auto;padding:20px 24px;gap:22px}.ap-yard-card__logo{width:145px;grid-row:auto}.ap-yard-card__heading{grid-column:auto}.ap-yard-card__directions{grid-column:auto;min-height:44px;padding:12px 14px}.ap-yard-card h2{font-size:28px}.ap-yard-card .ap-promo-eyebrow{font-size:10px}
 .ap-brand-shop__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ap-brand-shop__card{grid-template-rows:68px auto;padding:16px 13px 13px;gap:13px}.ap-brand-shop__mark img{height:64px}.ap-brand-shop__label{font-size:12px}
}
@media(max-width:700px){
 .ap-campaigns{padding-top:14px;padding-bottom:5px}.ap-campaigns__stage{aspect-ratio:1;border-radius:4px}.ap-campaigns__navigation{min-height:36px}.ap-campaigns__navigation button{height:36px}
 .ap-brand-shop__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ap-brand-shop__card{grid-template-rows:76px auto;padding:18px 17px 13px;gap:12px}.ap-brand-shop__mark img{height:72px}.ap-brand-shop__label{font-size:13px}
}
@media(max-width:600px){
 .ap-delivery-promo{padding-top:20px}.ap-delivery-promo__link{grid-template-columns:minmax(0,1fr) 45%;gap:16px 7px;padding:22px 18px 18px;min-height:220px}.ap-delivery-promo__copy{grid-column:1/-1;grid-row:1}.ap-delivery-promo__copy h2{font-size:27px;max-width:320px}.ap-delivery-promo__copy p{font-size:14px}.ap-delivery-promo__copy small{font-size:11px;max-width:300px}.ap-delivery-promo__truck{grid-column:2;grid-row:2;width:100%;justify-self:end}.ap-delivery-promo__link>.ap-promo-cta{grid-column:1;grid-row:2;font-size:13px;padding:11px 14px}.ap-delivery-promo__note{font-size:10px;text-align:left}
 .ap-departments{padding-top:27px;padding-bottom:20px}.ap-departments .mix-section__head{align-items:flex-start}.ap-departments .mix-section__head h2{font-size:25px;max-width:250px}.ap-departments .mix-section__link{padding-top:5px;font-size:12px;gap:8px}.ap-departments__panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 17px;padding:20px 17px}.ap-department{height:181px}.ap-department:before{bottom:26px}.ap-department__name{font-size:14px;padding:13px 9px 0}.ap-department>img{height:152px;bottom:-5px;width:calc(100% + 12px);left:-6px}
 .ap-service-cards{margin-block:2px 28px;gap:18px}.ap-yard-card>header{grid-template-columns:minmax(0,1fr) auto;gap:15px;padding:19px}.ap-yard-card__logo{width:140px}.ap-yard-card__heading{grid-column:1/-1;grid-row:2}.ap-yard-card__directions{grid-column:2;grid-row:1;font-size:10px;gap:7px;padding:12px}.ap-yard-card h2{font-size:27px}.ap-yard-card .ap-promo-eyebrow{margin-bottom:5px}.ap-yard-card__address{padding:17px 19px;gap:10px}.ap-yard-card__address strong{font-size:12px}.ap-yard-card__address small{font-size:11px}.ap-yard-card__address>span:last-child{font-size:11px;gap:6px}.ap-roof-help-card{aspect-ratio:1}
}
@media(max-width:360px){
 .ap-delivery-promo__link{padding:20px 15px 16px}.ap-delivery-promo__copy h2{font-size:24px}.ap-delivery-promo__link>.ap-promo-cta{font-size:12px;gap:8px;padding-inline:12px}
 .ap-departments__panel{gap:18px 13px;padding:17px 13px}.ap-department{height:157px}.ap-department__name{font-size:12px;padding:12px 7px 0}.ap-department__name>span{font-size:18px}.ap-department>img{height:130px}.ap-department:before{bottom:23px}
 .ap-yard-card>header{padding:16px;gap:12px}.ap-yard-card__logo{width:110px}.ap-yard-card__directions{font-size:9px;padding-inline:9px;gap:6px}.ap-yard-card__address{align-items:flex-start;flex-direction:column;gap:8px}.ap-brand-shop__card{padding-inline:12px;grid-template-rows:62px auto}.ap-brand-shop__mark img{height:60px}.ap-brand-shop__label{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.ap-campaign{animation:none}.ap-campaigns__navigation button>span{transition:none}}
