/**
 * Your Hometown Plumber homepage (template-yht-homepage.php).
 * Uses the --site-* custom properties from header.php and the --yht-* tokens
 * from site-header-footer.css.
 */
.yht-home{font-family:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--yht-ink);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.yht-home *{box-sizing:border-box}
.yht-home a{text-decoration:none}
.yht-home img{max-width:100%}
.yht-wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.yht-home h1,.yht-home h2,.yht-home h3{font-family:'Archivo',sans-serif;color:var(--site-dark);text-wrap:balance;margin:0}
.yht-home h1{font-stretch:112%;font-weight:800;font-size:clamp(34px,4.1vw,56px);line-height:1.06;letter-spacing:-.015em}
.yht-home h2{font-stretch:110%;font-weight:800;font-size:clamp(30px,3vw,42px);line-height:1.12;letter-spacing:-.01em}
.yht-home h3{font-stretch:110%;font-weight:800;font-size:20px;line-height:1.2}
.yht-home a:focus-visible,.yht-home button:focus-visible,.yht-home input:focus-visible,.yht-home textarea:focus-visible{outline:3px solid var(--site-a2);outline-offset:3px;border-radius:8px}
.yht-ticks{display:flex;align-items:center;gap:6px}
.yht-ticks span{display:block}
.yht-ticks .t1{width:40px;height:6px;border-radius:3px;background:var(--yht-royal)}
.yht-ticks .t2{width:8px;height:12px;border-radius:2px;background:var(--site-dark)}
.yht-ticks .t3{width:22px;height:6px;border-radius:3px;background:var(--site-a2)}
.yht-ticks .t4{width:8px;height:12px;border-radius:2px;background:var(--site-dark)}
.yht-ticks .t5{width:12px;height:6px;border-radius:3px;background:var(--site-a1)}
.yht-ticks.on-dark .t1{background:var(--site-a1)}.yht-ticks.on-dark .t2{background:var(--yht-peri)}
.yht-kicker{font-family:'Archivo',sans-serif;font-stretch:115%;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--yht-royal)}
.yht-btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 24px;border-radius:12px;border:2px solid transparent;font-family:inherit;font-weight:700;font-size:16px;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.yht-btn-navy{background:var(--site-dark);color:#fff}.yht-btn-navy:hover{background:var(--yht-deep);color:#fff}
.yht-btn-aqua{background:var(--site-a1);color:var(--site-dark)}.yht-btn-aqua:hover{background:#1BC2C7;color:var(--site-dark)}
.yht-btn-line{background:#fff;border-color:var(--site-dark);color:var(--site-dark)}.yht-btn-line:hover{background:var(--site-dark);color:#fff}
.yht-btn-lg{min-height:56px;padding:0 28px;font-size:17px}
.yht-lift{transition:transform .18s ease,box-shadow .18s ease}
.yht-lift:hover{transform:translateY(-3px);box-shadow:0 14px 32px -16px rgba(17,18,81,.35)}

/* Hero */
.yht-hero{background-color:#fff;background-size:cover;background-position:center;background-repeat:no-repeat}
.yht-hero-in{max-width:1240px;margin:0 auto;padding:72px 24px 64px;display:flex;flex-wrap:wrap;align-items:center;gap:56px}
.yht-hero-copy{flex:1 1 540px;min-width:0;display:flex;flex-direction:column;gap:26px}
.yht-hero-sub{margin:0;font-size:21px;line-height:1.45;font-weight:600;color:var(--yht-royal);max-width:34ch}
.yht-points{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px;font-weight:600;color:var(--site-dark);font-size:16px}
.yht-points li{display:flex;align-items:center;gap:8px}
.yht-points li>span{width:24px;height:24px;border-radius:50%;background:var(--site-a1);display:inline-flex;align-items:center;justify-content:center}
.yht-callbox{display:flex;align-items:flex-start;gap:14px;background:var(--yht-mist);border:1px solid var(--yht-line);border-radius:14px;padding:18px 20px;max-width:600px}
.yht-callbox>span{flex:0 0 auto;width:40px;height:40px;border-radius:10px;background:var(--site-dark);display:inline-flex;align-items:center;justify-content:center}
.yht-callbox p{margin:0;font-size:16px;line-height:1.55}
.yht-callbox a{font-weight:700;color:var(--site-dark);white-space:nowrap}
.yht-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.yht-hero-media{flex:1 1 440px;min-width:0;position:relative}
.yht-hero-media>img{display:block;width:100%;height:600px;object-fit:cover;object-position:50% 40%;border-radius:22px}
.yht-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:200px;background:var(--yht-mist);border:2px dashed var(--yht-line);border-radius:inherit;color:var(--site-muted);font-weight:600;text-align:center;padding:16px}
.yht-hero-media>.yht-ph{height:600px;border-radius:22px}
.yht-badge{position:absolute;left:-24px;bottom:32px;background:#fff;border-radius:16px;padding:16px 18px;box-shadow:0 20px 44px -20px rgba(17,18,81,.45);display:flex;align-items:center;gap:14px;max-width:320px}
.yht-badge>span{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:var(--site-dark);display:inline-flex;align-items:center;justify-content:center}
.yht-badge div{display:flex;flex-direction:column;line-height:1.3}
.yht-badge strong{color:var(--site-dark);font-size:15px}
.yht-badge small{font-size:14px;color:var(--site-muted)}
.yht-pill{position:absolute;right:20px;top:20px;background:var(--site-dark);color:#fff;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.yht-pill:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--site-a1)}

/* Specialty services */
.yht-spec{background:var(--yht-mist)}
.yht-spec-in{max-width:1240px;margin:0 auto;padding:88px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.yht-car-ctrl{display:none}
.yht-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--yht-line);border-radius:18px;overflow:hidden;color:var(--yht-ink)}
.yht-card>img,.yht-card>.yht-ph{display:block;width:100%;height:200px;object-fit:cover;border-radius:0}
.yht-card-body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1 1 auto}
.yht-card-title{display:flex;align-items:center;gap:10px}
.yht-card-body p{margin:0;font-size:16px;line-height:1.6;flex:1 1 auto}
.yht-arrow{width:40px;height:40px;border-radius:50%;background:var(--yht-mist);display:inline-flex;align-items:center;justify-content:center}

/* Brand story */
.yht-story{background:#fff}
.yht-story-in{max-width:1240px;margin:0 auto;padding:104px 24px 96px;display:flex;flex-direction:column;gap:64px}
.yht-story-top{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.yht-story-media{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:20px}
.yht-story-media>img{display:block;width:100%;height:540px;object-fit:cover;object-position:50% 30%;border-radius:18px}
.yht-story-media>.yht-ph{height:540px;border-radius:18px}
.yht-story-actions{display:flex;flex-wrap:wrap;gap:12px}
.yht-story-copy{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:20px}
.yht-story-copy p{margin:0;font-size:18px;line-height:1.7;max-width:64ch}
.yht-story-copy p.is-hl{padding:18px 22px;background:var(--yht-mist);border-radius:14px;color:var(--site-dark)}
.yht-perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.yht-perk{display:flex;flex-direction:column;gap:12px;padding:28px;border:1px solid var(--yht-line);border-radius:18px;background:#fff}
.yht-perk>span{width:48px;height:48px;border-radius:12px;background:var(--site-a1);display:inline-flex;align-items:center;justify-content:center}
.yht-perk p{margin:0;font-size:16px;line-height:1.6}

/* Reviews */
.yht-rev{background-color:#fff;background-repeat:repeat-x;background-position:left bottom;background-size:auto 72px}
.yht-rev-in{max-width:1240px;margin:0 auto;padding:96px 24px 104px;display:flex;flex-direction:column;gap:40px}
.yht-rev-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.yht-rev-head>div{display:flex;flex-direction:column;gap:14px;max-width:720px}
.yht-stars{display:inline-flex;gap:2px;color:#F5A524}
.yht-rating{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--site-muted)}
.yht-rating strong{font-size:17px;font-weight:800;color:var(--site-dark)}
.yht-rev-nav{display:flex;gap:10px}
.yht-rev-nav button{width:48px;height:48px;border-radius:50%;border:1px solid var(--yht-line);background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--site-dark)}
.yht-rev-nav button:last-child{background:var(--site-dark);color:#fff;border-color:var(--site-dark)}
.yht-rev-grid{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;-webkit-overflow-scrolling:touch}
.yht-rev-card{scroll-snap-align:start;flex:0 0 min(360px,86%);margin:0;background:var(--yht-mist);border-radius:18px;padding:30px;display:flex;flex-direction:column;gap:18px}
@media(min-width:1100px){.yht-rev-card{flex:1 0 calc((100% - 48px)/3)}}
.yht-rev-card blockquote{margin:0;font-size:17px;line-height:1.65;color:var(--yht-ink);flex:1 1 auto;border:0;padding:0;background:none}
.yht-rev-card figcaption{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--yht-line)}
.yht-rev-card figcaption>span:first-child{width:40px;height:40px;border-radius:50%;background:var(--site-dark);color:var(--site-a1);display:inline-flex;align-items:center;justify-content:center;font-weight:700}
.yht-rev-card figcaption div{display:flex;flex-direction:column;line-height:1.3}
.yht-rev-card figcaption b{color:var(--site-dark)}
.yht-rev-card figcaption small{font-size:14px;color:var(--site-muted)}
.yht-rev-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

/* All services */
.yht-all{background:var(--yht-mist)}
.yht-all-in{max-width:1240px;margin:0 auto;padding:104px 24px;display:flex;flex-wrap:wrap;align-items:flex-start;gap:56px}
.yht-all-copy{flex:1 1 580px;min-width:0;display:flex;flex-direction:column;gap:16px}
.yht-all-intro{margin:0;font-size:19px;line-height:1.6;color:var(--site-muted);max-width:64ch}
.yht-svc-block{display:flex;align-items:center;gap:12px;margin-top:20px}
.yht-svc-block>span{width:40px;height:40px;border-radius:10px;background:var(--site-dark);display:inline-flex;align-items:center;justify-content:center}
.yht-all-copy p.yht-svc-text{margin:0;font-size:17px;line-height:1.7;max-width:66ch}
.yht-dir{flex:1 1 400px;min-width:0;background:#fff;border:1px solid var(--yht-line);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:14px}
.yht-dir-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 4px 0}
.yht-dir-head h3{font-stretch:115%;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.yht-dir-head span{font-size:13px;font-weight:600;color:var(--site-muted)}
.yht-dir ul{list-style:none;margin:0;padding:0 6px 0 0;display:flex;flex-direction:column;gap:8px;max-height:760px;overflow-y:auto;overscroll-behavior:contain}
.yht-dir li a{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 16px;background:var(--yht-mist);border:1px solid var(--yht-mist);border-radius:12px;color:var(--yht-ink);font-size:15.5px;font-weight:600;line-height:1.3;transition:border-color .15s ease,color .15s ease}
.yht-dir li a:hover{border-color:var(--site-a2);color:var(--site-dark)}

/* Guarantee */
.yht-guar{background:#fff}
.yht-guar-in{max-width:1240px;margin:0 auto;padding:104px 24px;display:flex;flex-direction:column;gap:48px}
.yht-guar-head{display:flex;flex-direction:column;gap:16px;max-width:820px}
.yht-guar-head p{margin:0;font-size:18px;line-height:1.7}
.yht-guar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px}
.yht-guar-item{display:flex;align-items:flex-start;gap:16px;padding:24px;border:1px solid var(--yht-line);border-radius:18px;background:var(--yht-mist)}
.yht-guar-item>span{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:var(--site-a1);display:inline-flex;align-items:center;justify-content:center}
.yht-guar-item h3{font-size:19px;margin-bottom:6px}
.yht-guar-item p{margin:0;font-size:16px;line-height:1.6}
.yht-actions-center{display:flex;flex-wrap:wrap;gap:12px}

/* Map + schedule */
.yht-sched{background:#fff}
.yht-sched-in{max-width:1240px;margin:0 auto;padding:96px 24px;display:flex;flex-wrap:wrap;align-items:stretch;gap:32px}
.yht-sched-left{flex:1 1 600px;min-width:0;display:flex;flex-direction:column;gap:24px}
.yht-map{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--yht-line);background:#EAF2EE;height:420px;line-height:0}
.yht-map iframe{width:100%;height:100%;border:0;display:block}
.yht-panel{background:#fff;border-radius:20px;border:1px solid var(--yht-line);border-top:6px solid var(--site-dark);padding:32px;display:flex;flex-direction:column;gap:18px}
.yht-panel h2{display:flex;align-items:center;gap:10px;font-size:26px;line-height:1.2}
.yht-panel p{margin:0;font-size:17px;color:var(--site-muted)}
.yht-zip{display:flex;flex-wrap:wrap;gap:12px}
.yht-zip input{flex:1 1 220px;min-width:0;min-height:52px;padding:0 16px;border:1px solid var(--yht-line);border-radius:12px;background:var(--yht-mist);font:inherit;font-size:16px;color:var(--site-dark)}
.yht-zip button{flex:0 0 auto;min-height:52px;padding:0 26px;border:0;border-radius:12px;background:var(--site-dark);color:#fff;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.yht-zip button:hover{background:var(--yht-deep)}
.yht-zip-msg{min-height:1.5em;font-weight:600;color:var(--site-dark)}
.yht-form{flex:1 1 420px;min-width:0;background:#fff;border-radius:20px;border:1px solid var(--yht-line);border-top:6px solid var(--site-dark);padding:40px 36px;box-shadow:0 24px 48px -32px rgba(17,18,81,.35);display:flex;flex-direction:column;gap:22px}
.yht-form h2{text-align:center;font-stretch:115%;font-size:26px;letter-spacing:.04em;text-transform:uppercase}
.yht-form iframe{width:100%;min-height:1135px;border:0;display:block;border-radius:4px}

/* Final CTA */
.yht-cta{background:#fff}
.yht-cta-in{max-width:1240px;margin:0 auto;padding:96px 24px}
.yht-cta-card{background:var(--site-dark);border-radius:26px;overflow:hidden;display:flex;flex-wrap:wrap;align-items:stretch}
.yht-cta-copy{flex:1 1 560px;min-width:0;padding:64px 56px;display:flex;flex-direction:column;gap:22px;color:#fff}
.yht-cta-copy h2{color:#fff;font-size:clamp(30px,3.2vw,44px);line-height:1.1}
.yht-cta-copy p{margin:0;font-size:18px;line-height:1.65;color:var(--yht-soft);max-width:60ch}
.yht-cta-actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:6px}
.yht-cta-actions .yht-btn{min-height:58px;font-size:18px}
.yht-btn-ghost{border-color:#fff;color:#fff;background:transparent}.yht-btn-ghost:hover{background:#fff;color:var(--site-dark)}
.yht-cta-media{flex:1 1 380px;min-width:0;min-height:360px;position:relative}
.yht-cta-media img,.yht-cta-media .yht-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}

@media (max-width:720px){
	.yht-hero-in{padding:48px 20px 48px;gap:40px}
	.yht-hero-media>img,.yht-hero-media>.yht-ph{height:360px}
	.yht-badge{left:12px;right:12px;max-width:none}
	.yht-story-in,.yht-all-in,.yht-guar-in,.yht-sched-in,.yht-cta-in,.yht-rev-in{padding-top:64px;padding-bottom:64px}
	.yht-cta-copy{padding:40px 28px}
	.yht-cta-media{display:none}
	.yht-form{padding:28px 20px}
	.yht-panel{padding:24px 20px}
	.yht-story-media>img,.yht-story-media>.yht-ph{height:340px}
	/* Mobile swipe carousels: specialty-service cards + USP boxes (controls injected by the inline script in template-yht-homepage.php).
	   .yht-story-in prefix on the perks rules beats a later .yht-perks grid rule in custom.css. */
	.yht-spec-in{display:flex;gap:24px;padding:48px 20px 28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
	.yht-spec-in::-webkit-scrollbar,.yht-story-in .yht-perks::-webkit-scrollbar{display:none}
	.yht-spec-in .yht-card{flex:0 0 100%;scroll-snap-align:start}
	.yht-story-in .yht-perks{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
	.yht-story-in .yht-perks .yht-perk{flex:0 0 100%;scroll-snap-align:start}
	.yht-story-in .yht-perks+.yht-car-ctrl{margin-top:-40px}
	.yht-car-ctrl{display:flex;align-items:center;justify-content:center;gap:18px}
	.yht-spec .yht-car-ctrl{padding:0 20px 48px}
	.yht-car-ctrl button{cursor:pointer;border:0;padding:0}
	.yht-car-prev,.yht-car-next{width:48px;height:48px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--yht-line)!important;background:#fff;color:var(--site-dark)}
	.yht-car-next{background:var(--site-dark);color:#fff;border-color:var(--site-dark)!important}
	.yht-car-ctrl button:disabled{opacity:.35;cursor:default}
	.yht-car-dots{display:flex;align-items:center;gap:8px}
	.yht-car-dots button{width:10px;height:10px;border-radius:50%;background:var(--yht-line)}
	.yht-car-dots button.is-active{width:24px;background:var(--site-dark)}
}
@media (prefers-reduced-motion:reduce){.yht-lift,.yht-btn{transition:none}.yht-lift:hover{transform:none}}
