/* Homepage facelift additions. Depends on area-facelift.css and lead-form.css. */
.af-home .af-hero-bg img{object-position:center 30%}
.af-home .af-hero-grid{padding:64px 0 78px}
.af-home .af-hero .pin-lead-card{box-shadow:0 34px 80px rgba(0,0,0,.5);border-radius:16px}
.area-facelift .af-hero .af-rotate{display:block;height:1.3em;overflow:hidden;margin:0 0 12px;padding:0;max-width:none;font:800 clamp(15px,1.6vw,19px)/1.3 Archivo,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--af-gold)}
.area-facelift .af-hero .af-rotate span{display:block;height:1.3em;line-height:1.3;font-size:inherit;letter-spacing:inherit;animation:af-rot 7.5s cubic-bezier(.7,0,.3,1) infinite;will-change:transform}
@keyframes af-rot{0%,28%{transform:translateY(0)}33%,61%{transform:translateY(-100%)}66%,94%{transform:translateY(-200%)}100%{transform:translateY(-300%)}}
html:not(.af-motion) .af-rotate span{animation:none}
.af-hero-finance{margin:18px 0 0;font-size:14.5px}
.af-hero-finance a{color:var(--af-gold);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.af-hero-finance a:hover{color:#fff}
/* Completed jobs */
.af-jobs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.af-jobs a{position:relative;display:block;border-radius:12px;overflow:hidden;background:var(--af-plum);aspect-ratio:4/3;color:#fff;transition:transform .25s,box-shadow .25s}
.af-jobs a:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(36,23,51,.25)}
.af-jobs img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.af-jobs a:hover img{transform:scale(1.06)}
.af-jobs figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;background:linear-gradient(180deg,rgba(36,23,51,0),rgba(36,23,51,.9));font:700 13.5px Archivo,sans-serif;letter-spacing:.02em}
/* Why homeowners pick Pinnacle */
.af-why{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.af-why-photo{position:relative;border-radius:14px;overflow:hidden;background:var(--af-plum);aspect-ratio:1.25}
.af-why-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.af-why-photo:hover img{transform:scale(1.04)}
.af-why-photo span{position:absolute;left:20px;bottom:20px;background:rgba(36,23,51,.92);color:var(--af-cream);border-radius:6px;padding:12px 18px;font:700 13.5px Archivo,sans-serif;letter-spacing:.02em}
.af-why h2{margin-bottom:18px}
.af-why>div>p{font-size:16px;line-height:1.75;color:var(--af-muted);margin:0 0 24px}
.af-why-list{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.af-why-list li{display:flex;gap:14px;font-size:15px;line-height:1.6;color:var(--af-muted);padding:14px 16px;background:var(--af-white);border:1px solid var(--af-line);border-radius:10px;transition:transform .2s,border-color .2s}
.af-why-list li:hover{transform:translateX(4px);border-color:var(--af-teal)}
.af-why-list li b{color:var(--af-plum)}
.af-why-list li svg{width:22px;height:22px;flex:none;color:var(--af-teal);margin-top:2px}
/* Pricing cards */
.af-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.af-price{display:flex;flex-direction:column;gap:8px;padding:26px;background:var(--af-white);border:1px solid var(--af-line);border-radius:14px;color:var(--af-plum);transition:transform .25s,box-shadow .25s,border-color .25s}
.af-price:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(36,23,51,.12);border-color:var(--af-teal)}
.af-price h3{font:800 18px/1.25 Archivo,sans-serif;margin:0;color:var(--af-teal)}
.af-price strong{font:800 clamp(24px,2.4vw,30px)/1.1 Archivo,sans-serif;letter-spacing:-.03em;color:var(--af-plum)}
.af-price p{font-size:14px;line-height:1.6;color:var(--af-muted);margin:0;flex:1}
.af-price span{font:700 12px Archivo,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--af-plum)}
.af-price span:after{content:' →';color:var(--af-gold)}
.af-prices-note{font-size:14px;line-height:1.65;color:var(--af-muted);margin:26px 0 0;max-width:80ch}
.af-prices-note a{color:var(--af-teal);text-decoration:underline;text-underline-offset:3px}
/* Homepage FAQ with photo */
.af-faq-photo{border-radius:14px;overflow:hidden;margin-top:26px;aspect-ratio:1.35;background:var(--af-plum)}
.af-faq-photo img{width:100%;height:100%;object-fit:cover;display:block}
/* Callback / estimate */
.af-callback{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.af-callback h2{color:#fff}
.af-callback>div>p{font-size:16px;line-height:1.75;color:#CFC6BC;margin:0 0 24px}
.af-callback>div>p b{color:var(--af-gold)}
.af-callback ol{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.af-callback ol li{display:flex;gap:14px;align-items:center;font-size:15px;color:#E7DFD6}
.af-callback ol li span{width:32px;height:32px;border-radius:50%;background:var(--af-gold);color:var(--af-plum);display:grid;place-items:center;font:800 14px Archivo,sans-serif;flex:none}
.af-callback ol li a{color:var(--af-gold);font-weight:700}
.af-cb-card{background:var(--af-cream);color:var(--af-plum);border-radius:16px;padding:30px;box-shadow:0 30px 70px rgba(0,0,0,.35)}
.af-cb-card h3{font:800 24px/1.15 Archivo,sans-serif;letter-spacing:-.01em;margin:0 0 10px}
.af-cb-card p{margin:0 0 22px;font-size:15px;line-height:1.6;color:var(--af-muted)}
.af-cb-card .btn{width:100%;justify-content:center}
.af-cb-card small{display:block;margin-top:12px;font-size:12.5px;color:var(--af-muted);text-align:center;font-weight:600;line-height:1.5}
.af-cb-card small a{color:var(--af-teal);font-weight:700}
.af-home .prg-roof-module{margin:0}
.af-home-footer-lead .pin-lead-footer{background:#1B1027}
.af-tiles-5{grid-template-columns:repeat(5,1fr)}
@media(max-width:1150px){.af-prices{grid-template-columns:repeat(2,1fr)}.af-tiles-5{grid-template-columns:repeat(3,1fr)}.af-jobs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.af-why,.af-callback{grid-template-columns:1fr;gap:30px}.af-why-photo{aspect-ratio:1.5}.af-home .af-hero-grid{padding:44px 0 52px}}
@media(max-width:600px){.af-prices{grid-template-columns:1fr}.af-tiles-5{grid-template-columns:1fr 1fr}.af-cb-card{padding:22px 18px}.af-jobs{gap:10px}.af-jobs figcaption{font-size:12px;padding:26px 12px 10px}}
