/* Home page prototype (/lp-home-preview/). Tokens come from pages.css (:root --pg-*). Mobile first. */
.pg .pg-btn--primary{background:var(--pg-primary);color:#fff}
.pg .pg-btn--primary:hover{background:#000000;color:#fff}
.pg .hv-btn{min-height:54px;padding:12px 26px;font-size:18px}
.pg .hv-cta{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.pg .hv-link{font-weight:600;color:var(--pg-primary);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.pg .hv-link:hover{color:var(--pg-accent-dk)}

/* hero: one real photo, the offer, the action */
.pg .hv-hero{--hv-under:152px;position:relative;isolation:isolate;display:flex;align-items:flex-end;margin-top:calc(-1*var(--hv-under));padding-top:var(--hv-under);min-height:min(92svh,860px);color:#fff;background:var(--pg-dark);overflow:hidden}
.pg .hv-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;animation:hv-settle 14s cubic-bezier(.16,1,.3,1) both}
.pg .hv-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,5,5,.6) 0%,rgba(5,5,5,.3) 38%,rgba(5,5,5,.88) 100%)}
.pg .hv-hero__in{padding-top:56px;padding-bottom:44px}
.pg .hv-h1{max-width:19ch;margin:0 0 18px;font:600 clamp(2.15rem,6.2vw,4.1rem)/1.04 var(--pg-head);letter-spacing:-.02em;color:#fff;text-wrap:balance}
.pg .hv-lede{max-width:52ch;margin:0 0 26px;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.55;color:rgba(255,255,255,.94)}
.pg .hv-trust{display:flex;flex-wrap:wrap;gap:8px 26px;list-style:none;margin:26px 0 0;padding:0;font-size:15px;color:rgba(255,255,255,.92)}
.pg .hv-trust a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.pg .hv-ok{display:flex;align-items:center;gap:8px;font-weight:600}
.pg .hv-ok::before{content:"";flex:none;width:6px;height:11px;margin:-3px 3px 0 2px;border:solid var(--pg-accent);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.pg .hv-trust b{font-family:var(--pg-head);font-size:18px}
@keyframes hv-settle{from{transform:scale(1.07)}to{transform:scale(1)}}

/* shared section rhythm */
.pg .hv-sec{padding:56px 0}
.pg .hv-soft{background:var(--pg-soft)}
.pg .hv-head{margin:0 0 30px}
.pg .hv-h2{max-width:24ch;margin:0 0 12px;font:600 clamp(1.7rem,3.4vw,2.6rem)/1.12 var(--pg-head);letter-spacing:-.015em;color:var(--pg-dark);text-wrap:balance}
.pg .hv-h3{margin:0 0 22px;font:600 20px/1.3 var(--pg-head);color:var(--pg-muted);text-align:center}
.pg .hv-sub{max-width:62ch;margin:0;color:var(--pg-muted)}

/* recent work */
.pg .hv-work__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;list-style:none;margin:0;padding:0}
.pg .hv-work__i,.pg .hv-work__more{aspect-ratio:3/4;min-width:0}
.pg .hv-work__i a,.pg .hv-work__more a{position:relative;display:block;height:100%;border-radius:14px;overflow:hidden;text-decoration:none}
.pg .hv-work__i img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.pg .hv-work__i a:hover img{transform:scale(1.04)}
.pg .hv-work__cap{position:absolute;left:10px;bottom:10px;padding:5px 12px;border-radius:999px;background:rgba(5,5,5,.74);color:#fff;font:600 13px/1.3 var(--pg-body)}
.pg .hv-work__i--lead{grid-column:span 2;aspect-ratio:4/3}
.pg .hv-work__more a{display:flex;align-items:center;justify-content:center;padding:16px;background:var(--pg-primary);color:#fff;font:600 20px/1.2 var(--pg-head);text-align:center}
.pg .hv-work__more a:hover{background:#000000}
.pg .hv-work__more span::after{content:" →"}

/* services: photo tiles, two wide ones per row pair */
.pg .hv-svcs{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:230px;gap:10px;list-style:none;margin:0;padding:0}
.pg .hv-svc{min-width:0}
.pg .hv-svc--wide{grid-column:span 2}
.pg .hv-svc a{position:relative;display:flex;align-items:flex-end;height:100%;border-radius:14px;overflow:hidden;color:#fff;text-decoration:none;background:var(--pg-dark)}
.pg .hv-svc__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.pg .hv-svc a:hover .hv-svc__img{transform:scale(1.05)}
.pg .hv-svc a::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,5,5,.86) 0%,rgba(5,5,5,.1) 62%)}
.pg .hv-svc__body{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px;padding:16px}
.pg .hv-svc__name{font:600 21px/1.15 var(--pg-head)}
.pg .hv-svc__why{display:none;font-size:14px;line-height:1.45;color:rgba(255,255,255,.9)}

/* decision guide: rows, not cards */
.pg .hv-guide{display:grid;gap:30px}
.pg .hv-guide__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--pg-line)}
.pg .hv-guide__row{padding:20px 0;border-bottom:1px solid var(--pg-line)}
.pg .hv-guide__q{margin:0 0 6px;font:600 20px/1.3 var(--pg-head);color:var(--pg-dark)}
.pg .hv-guide__row p{margin:0 0 8px;max-width:62ch}
.pg .hv-guide__intro .pg-btn{margin-top:20px}

/* steps */
.pg .hv-steps{display:grid;gap:30px;align-items:center}
.pg .hv-steps__pic img{display:block;width:100%;height:auto;max-height:560px;object-fit:cover;border-radius:16px}
.pg .hv-steps__list{list-style:none;margin:8px 0 28px;padding:0}
.pg .hv-step{display:grid;grid-template-columns:52px 1fr;column-gap:16px;padding:18px 0;border-top:1px solid var(--pg-line)}
.pg .hv-step__n{grid-row:span 2;font:700 40px/1 var(--pg-head);color:var(--pg-accent)}
.pg .hv-step h3{margin:0 0 4px;font:600 20px/1.3 var(--pg-head);color:var(--pg-dark)}
.pg .hv-step p{margin:0;max-width:56ch}

/* social proof: real reviews on dark */
.pg .hv-proof{background:var(--pg-dark);color:#fff}
.pg .hv-head--light .hv-h2{color:#fff}
.pg .hv-head--light .hv-sub{color:rgba(255,255,255,.82)}
.pg .hv-proof .grv-head,.pg .hv-proof .grv-head *{color:#fff}
.pg .hv-proof .grv-link{border-color:rgba(255,255,255,.55);background:transparent}
.pg .hv-proof .grv-dots button{background:rgba(255,255,255,.35)}
.pg .hv-proof .grv-dots button.is-on{background:var(--pg-accent)}

/* brands */
.pg .hv-brands{padding:44px 0;background:#fff;border-top:1px solid var(--pg-line)}
.pg .hv-brands__row{max-width:800px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;list-style:none;padding:0}
.pg .hv-brand{display:block;width:100px;height:auto;filter:grayscale(1);opacity:.72;transition:opacity .2s,filter .2s}
.pg .hv-brand:hover{filter:none;opacity:1}

/* faq + area reuse pages.css; final call to action */
.pg .hv-faq .pg-faq{margin-bottom:22px}
.pg .hv-final{padding:64px 0;background:var(--pg-primary);color:#fff;text-align:left}
.pg .hv-final .hv-h2{color:#fff}
.pg .hv-final .hv-lede{margin-bottom:24px}
.pg .hv-final__lines{margin:26px 0 0;font-size:16px;color:rgba(255,255,255,.9)}
.pg .hv-final__lines a{color:#fff;text-decoration:underline;text-underline-offset:3px}

@media(min-width:768px){
 .pg .hv-hero{--hv-under:158px}
 .pg .hv-hero__in{padding-top:72px;padding-bottom:64px}
 .pg .hv-sec{padding:80px 0}
 .pg .hv-svcs{grid-auto-rows:280px;grid-template-columns:repeat(4,1fr);gap:12px}
 .pg .hv-svc__why{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .pg .hv-svc__body{padding:20px}
 .pg .hv-svc__name{font-size:24px}
 .pg .hv-work__grid{grid-template-columns:repeat(4,1fr);gap:12px}
 .pg .hv-work__i--lead{grid-row:span 2;aspect-ratio:auto}
 .pg .hv-guide{grid-template-columns:5fr 7fr;gap:64px;align-items:start}
 .pg .hv-guide__intro{position:sticky;top:120px}
 .pg .hv-steps{grid-template-columns:5fr 7fr;gap:64px}
 .pg .hv-final{padding:88px 0}
}
@media(min-width:1025px){.pg .hv-hero{--hv-under:176px}}
@media(prefers-reduced-motion:reduce){.pg .hv-hero__img{animation:none}.pg .hv-work__i img,.pg .hv-svc__img{transition:none}}

.pg .hv-area__cta{margin-top:28px}
.pg .hv-area{padding-bottom:36px}
