/**
 * Harleys homepage (template-harleys-homepage.php).
 * Colors/fonts come from the :root custom properties set in header.php:
 * --site-dark, --site-a1 (primary), --site-a2 (accent), --site-muted (light gray),
 * --site-heading-font, --site-body-font.
 */
.hph{color:var(--site-dark);font-size:17px;line-height:1.55;font-family:var(--site-body-font,sans-serif);overflow-x:hidden}
.hph *{box-sizing:border-box}
.hph a{text-decoration:none;color:inherit}
.hph h1,.hph h2,.hph h3{margin:0;font-family:var(--site-heading-font,serif);color:inherit}
.hph p{margin:0}
.hph .hph-wrap{max-width:1280px;margin:0 auto;padding:0 32px}
.hph section{position:relative}

.hph .hph-kicker{font-weight:700;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--site-a1);margin-bottom:12px}
.hph .hph-kicker-light{color:var(--site-a2)}
.hph .hph-h2{font-size:38px;line-height:1.2;font-weight:800;max-width:820px;margin-bottom:40px}
.hph .hph-h2-wide{max-width:none}
.hph .hph-lead{font-size:18px;color:#3C4143}
.hph .hph-center{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:44px}

.hph .hph-btn{display:inline-block;font-weight:700;font-size:18px;padding:16px 30px;border-radius:10px;border:2px solid transparent;cursor:pointer;line-height:1.3;text-align:center}
.hph .hph-btn:hover{filter:brightness(1.08)}
.hph .hph-btn-primary{background:var(--site-a1);color:#fff;box-shadow:0 6px 16px rgba(184,90,34,.3)}
.hph .hph-btn-primary:hover{color:#fff}
.hph .hph-btn-dark{background:var(--site-dark);color:#fff}
.hph .hph-btn-dark:hover{color:#fff}
.hph .hph-btn-outline{background:#fff;color:var(--site-dark);border-color:var(--site-dark)}

/* Hero */
.hph .hph-hero{background-color:var(--site-muted);background-position:center;background-size:cover;background-repeat:no-repeat}
.hph .hph-hero-inner{max-width:1280px;margin:0 auto;padding:72px 32px;display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.hph .hph-hero-copy{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:24px}
.hph .hph-hero-badge{align-self:flex-start;display:flex;align-items:center;gap:10px;background:var(--site-dark);color:#fff;padding:8px 16px 8px 8px;border-radius:999px;font-weight:700;font-size:15px}
.hph .hph-pill{background:var(--site-a2);color:var(--site-dark);font-weight:800;padding:2px 12px;border-radius:999px;font-size:18px}
.hph .hph-hero h1{font-size:52px;line-height:1.1;font-weight:800;color:#000}
.hph .hph-checks{display:flex;flex-wrap:wrap;gap:10px 24px;font-weight:700;font-size:17px}
.hph .hph-checks div{display:flex;align-items:center;gap:8px}
.hph .hph-hero-text{font-size:18px;color:#3C4143;max-width:600px}
.hph .hph-btn-row{display:flex;flex-wrap:wrap;gap:14px}
.hph .hph-hero-media{flex:1 1 440px;min-width:0}
.hph .hph-photo{position:relative;aspect-ratio:5/4;border-radius:20px;background:linear-gradient(160deg,#6E7376,#3A3F41);box-shadow:0 18px 40px rgba(30,34,36,.28);overflow:hidden}
.hph .hph-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:40% 50%}
.hph .hph-float{position:absolute;left:20px;bottom:20px;background:#fff;border-radius:12px;padding:12px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.hph .hph-float strong{font-family:var(--site-heading-font,serif);font-weight:800;font-size:30px;color:var(--site-a1);line-height:1}
.hph .hph-float span{font-weight:700;font-size:14px;line-height:1.2}

/* Badge strip */
.hph .hph-strip{background:var(--site-dark);color:#fff}
.hph .hph-strip-inner{max-width:1280px;margin:0 auto;padding:22px 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px 24px;font-weight:600;font-size:15px;line-height:1.3}
.hph .hph-strip-item{display:flex;align-items:center;gap:10px}
.hph .hph-strip-lead{color:var(--site-a2);font-weight:800}
.hph .hph-strip-lead.is-big{font-family:var(--site-heading-font,serif);font-size:24px}

/* Cards */
.hph .hph-section{padding:88px 0}
.hph .hph-grid-250{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}
.hph .hph-card{background:#fff;border-radius:16px;box-shadow:0 4px 18px rgba(30,34,36,.10);padding:28px;display:flex;flex-direction:column;gap:14px}
.hph .hph-card h3{font-size:22px;font-weight:700}
.hph .hph-card p{color:#4A4F52}
.hph .hph-card-service{border-top:5px solid var(--site-a1)}
.hph .hph-svc-icon{position:relative;width:84px;height:87px;display:flex;align-items:center;justify-content:center}
.hph .hph-svc-icon img{position:absolute;inset:0;width:100%;height:100%}
.hph .hph-svc-icon .hph-svc-fallback{position:absolute;inset:6px;border-radius:50%;background:var(--site-a2)}
.hph .hph-svc-icon svg{position:relative;margin-top:6px}

/* Reviews */
.hph .hph-reviews{background-color:var(--site-muted);background-position:center;background-size:cover;background-repeat:no-repeat}
.hph .hph-grid-300{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.hph .hph-stars{color:var(--site-a1);font-size:22px;letter-spacing:3px}
.hph .hph-reviewer{display:flex;align-items:center;gap:12px;margin-top:auto}
.hph .hph-avatar{width:44px;height:44px;border-radius:50%;background:var(--site-dark);color:var(--site-a2);font-weight:800;display:flex;align-items:center;justify-content:center}
.hph .hph-reviewer-name{font-weight:700;font-size:15px}
.hph .hph-reviewer-area{font-weight:500;color:#5A5F62;font-size:14px}

/* Why */
.hph .hph-why-head{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start;margin-bottom:48px}
.hph .hph-why-head>div{flex:1 1 380px;min-width:0}
.hph .hph-why-head h2{font-size:40px;line-height:1.15;font-weight:800}
.hph .hph-why-head p{flex:1.5 1 520px;min-width:0;font-size:18px;color:#3C4143}
.hph .hph-card-dark{background:var(--site-dark);color:#fff;box-shadow:0 6px 20px rgba(30,34,36,.22);gap:12px}
.hph .hph-card-dark p{color:#D6D8D9}
.hph .hph-big{font-family:var(--site-heading-font,serif);font-weight:800;font-size:44px;line-height:1;color:var(--site-a2)}
.hph .hph-card-light{gap:12px}
.hph .hph-card-light h3,.hph .hph-card-dark h3{font-size:21px}

/* Capabilities */
.hph .hph-cap{background:#ECEDED}
.hph .hph-cap .hph-lead{max-width:1000px;margin-bottom:44px}
.hph .hph-cap-row{display:flex;flex-wrap:wrap;gap:28px;align-items:stretch}
.hph .hph-cap-panel{flex:1 1 480px;min-width:0;background:#fff;border-radius:16px;box-shadow:0 4px 18px rgba(30,34,36,.10);padding:32px}
.hph .hph-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;padding-bottom:20px;border-bottom:2px solid #ECEDED}
.hph .hph-tab{font-family:var(--site-heading-font,serif);font-weight:800;font-size:20px;padding:14px 28px;border-radius:10px;border:2px solid var(--site-a1);cursor:pointer;background:#fff;color:var(--site-a1)}
.hph .hph-tab.is-active{background:var(--site-a1);color:#fff}
.hph .hph-list{list-style:none;margin:0;padding:0;columns:2 230px;column-gap:32px}
.hph .hph-list li{display:flex;gap:10px;align-items:baseline;font-size:15px;padding:6px 0;break-inside:avoid}
.hph .hph-list li:before{content:"\2713";color:var(--site-a1);font-weight:800}
.hph .hph-list[hidden]{display:none}
.hph .hph-cap-photo{flex:1 1 480px;min-width:0;min-height:420px;position:relative;border-radius:16px;overflow:hidden;box-shadow:0 4px 18px rgba(30,34,36,.14);background:linear-gradient(160deg,#6E7376,#3A3F41)}
.hph .hph-cap-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:40% 50%}

/* Workmanship carousel */
.hph .hph-work .hph-lead{max-width:860px;margin-bottom:40px}
.hph .hph-work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.hph .hph-work-card{padding:32px;gap:16px}
.hph .hph-work-card[hidden]{display:none}
.hph .hph-work-icon{width:60px;height:60px;border-radius:14px;background:var(--site-dark);display:flex;align-items:center;justify-content:center}
.hph .hph-carousel-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:28px}
.hph .hph-arrow{flex:none;width:48px;height:48px;border-radius:50%;border:2px solid var(--site-dark);background:#fff;color:var(--site-dark);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.hph .hph-dots{display:flex;gap:10px}
.hph .hph-dot{width:14px;height:14px;border-radius:50%;border:0;padding:0;cursor:pointer;background:#B9BCBE}
.hph .hph-dot.is-active{background:var(--site-a1)}

/* Contact */
.hph .hph-contact{background:#ECEDED}
.hph .hph-contact-inner{display:flex;flex-direction:column;gap:56px}
.hph .hph-pin-label{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--site-a1);margin-bottom:20px}
.hph .hph-contact-row{display:flex;flex-wrap:wrap;gap:32px;align-items:stretch}
.hph .hph-map{flex:1.5 1 560px;min-width:0;min-height:560px;position:relative;border-radius:16px;overflow:hidden;box-shadow:0 4px 18px rgba(30,34,36,.14);background:#E6E8E6}
.hph .hph-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hph .hph-map-card{position:absolute;left:16px;top:16px;max-width:300px;background:#fff;border-radius:10px;box-shadow:0 4px 14px rgba(0,0,0,.2);padding:14px 18px}
.hph .hph-map-card strong{display:block;font-size:17px}
.hph .hph-map-card span{font-size:14px;color:#4A4F52}
.hph .hph-form{flex:1 1 400px;min-width:0;background:#fff;border-radius:16px;border-top:6px solid var(--site-a1);box-shadow:0 6px 24px rgba(30,34,36,.14);padding:36px;display:flex;flex-direction:column;gap:20px}
.hph .hph-form h2{font-size:34px;font-weight:800;line-height:1.15}
.hph .hph-form iframe{width:100%;flex:1;min-height:420px;border:0;border-radius:10px}
.hph .hph-areas-title{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:22px}
.hph .hph-cities{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.hph .hph-city{background:#fff;border:1px solid #D4D6D7;border-radius:8px;box-shadow:0 2px 8px rgba(30,34,36,.06);padding:16px;text-align:center;font-weight:700}

/* Trust + final CTA */
.hph .hph-trust{background:var(--site-dark);color:#fff;padding:88px 0}
.hph .hph-trust-inner{display:flex;flex-direction:column;gap:56px}
.hph .hph-trust-head{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}
.hph .hph-trust-head>div{flex:1 1 380px;min-width:0}
.hph .hph-trust-head h2{font-size:38px;line-height:1.2;font-weight:800}
.hph .hph-trust-head p{flex:1.5 1 520px;min-width:0;font-size:18px;color:#D6D8D9}
.hph .hph-final{background:linear-gradient(135deg,var(--site-a1),color-mix(in srgb,var(--site-a1) 70%,#000));border-radius:20px;padding:48px;box-shadow:0 14px 34px rgba(0,0,0,.35);display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between}
.hph .hph-final-copy{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:12px}
.hph .hph-final-pill{align-self:flex-start;background:#fff;color:var(--site-a1);font-weight:800;padding:2px 14px;border-radius:999px;font-size:18px}
.hph .hph-final-copy p{font-family:var(--site-heading-font,serif);font-weight:700;font-size:26px;line-height:1.35}
.hph .hph-final-btns{display:flex;flex-direction:column;gap:14px;flex:0 0 auto}
.hph .hph-btn-white{background:#fff;color:var(--site-dark);font-weight:800;font-size:20px;padding:18px 32px}
.hph .hph-btn-ghost{background:transparent;color:#fff;border-color:#fff;padding:16px 32px}

@media (max-width:767px){
	.hph .hph-hero h1{font-size:36px}
	.hph .hph-hero-inner{padding:48px 20px}
	.hph .hph-wrap,.hph .hph-strip-inner{padding-left:20px;padding-right:20px}
	.hph .hph-section,.hph .hph-trust{padding:56px 0}
	.hph .hph-h2,.hph .hph-trust-head h2{font-size:28px}
	.hph .hph-why-head h2{font-size:30px}
	.hph .hph-final{padding:28px}
	.hph .hph-final-copy p{font-size:21px}
	.hph .hph-form{padding:24px}
	.hph .hph-map{min-height:360px}
}
