/* EPOXY FLOORING HARBOR SPRINGS */

.vpc-hs-eyebrow{margin-bottom:18px;color:var(--vpc-red);}
.vpc-hs-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(590px,75vh,790px);overflow:hidden;background:var(--vpc-black);color:var(--vpc-white);}
.vpc-hs-hero-media{position:absolute;inset:0;z-index:-1;}
.vpc-hs-hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.vpc-hs-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,11,.97),rgba(10,10,11,.84) 44%,rgba(10,10,11,.42) 73%,rgba(10,10,11,.12)),linear-gradient(0deg,rgba(10,10,11,.5),transparent 65%);}
.vpc-hs-hero-inner{width:min(100% - 48px,1200px);max-width:1200px;margin:0 auto;padding:clamp(98px,10vw,145px) 0 clamp(76px,8vw,115px);}
.vpc-hs-hero-inner>*{max-width:770px;}
.vpc-hs-hero-eyebrow{margin:0 0 18px;color:var(--vpc-red);}
.vpc-hs-hero h1{margin:0 0 24px;color:var(--vpc-white);font-size:clamp(48px,6.4vw,84px);line-height:.97;letter-spacing:-.025em;}
.vpc-hs-hero p{max-width:700px;margin:0 0 30px;color:var(--vpc-steel-light);font-size:var(--vpc-fs-lead);line-height:1.6;}
.vpc-hs-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:32px;}
.vpc-hs-hero-actions .vpc-btn-secondary{border-color:rgba(255,255,255,.55);color:var(--vpc-white);}
.vpc-hs-hero-trust{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding-top:22px;border-top:1px solid var(--vpc-line);color:var(--vpc-steel);font-size:13px;letter-spacing:.04em;}
.vpc-hs-hero-trust i{width:3px;height:3px;border-radius:50%;background:var(--vpc-steel);}

.vpc-hs-intro h2,.vpc-hs-waterfront h2,.vpc-hs-section-header h2,.vpc-hs-downtown h2,.vpc-hs-route h2,.vpc-hs-winter h2,.vpc-hs-process h2,.vpc-hs-nearby h2{margin:0;color:var(--vpc-white);font-size:clamp(34px,4.8vw,58px);line-height:.97;}
.vpc-hs-intro{padding:clamp(68px,8vw,108px) 0;border-top:1px solid var(--vpc-line);background:var(--vpc-charcoal);color:var(--vpc-white);}
.vpc-hs-intro-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(42px,7vw,90px);align-items:end;}
.vpc-hs-intro-copy p,.vpc-hs-waterfront-copy p,.vpc-hs-downtown-copy p,.vpc-hs-route-copy p,.vpc-hs-winter-copy p,.vpc-hs-process-heading p,.vpc-hs-nearby p{margin:0 0 18px;color:var(--vpc-steel-light);font-size:var(--vpc-fs-body);line-height:1.78;}
.vpc-hs-intro-copy p:last-child,.vpc-hs-route-copy p:last-child{margin-bottom:0;}
.vpc-hs-intro-copy a{color:var(--vpc-white);text-decoration-color:var(--vpc-red);text-underline-offset:3px;}

.vpc-hs-waterfront{padding:clamp(72px,8vw,120px) 0;border-top:1px solid var(--vpc-line);background:var(--vpc-black);color:var(--vpc-white);}
.vpc-hs-waterfront-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.8fr);gap:clamp(48px,7vw,90px);align-items:center;}
.vpc-hs-waterfront-copy p{margin-top:20px;margin-bottom:0;}
.vpc-hs-waterfront-copy .vpc-btn{margin-top:28px;}
.vpc-hs-waterfront-card{padding:clamp(28px,4vw,42px);border:1px solid rgba(224,30,43,.3);border-radius:var(--vpc-radius-lg);background:radial-gradient(circle at top right,rgba(224,30,43,.12),transparent 50%),var(--vpc-charcoal);}
.vpc-hs-card-kicker{display:block;margin-bottom:20px;color:var(--vpc-red);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.vpc-hs-waterfront-card ul{display:grid;gap:0;margin:0;padding:0;list-style:none;}
.vpc-hs-waterfront-card li{display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:center;padding:17px 0;border-bottom:1px solid var(--vpc-line);}
.vpc-hs-waterfront-card li:last-child{border-bottom:0;}
.vpc-hs-waterfront-card b{color:var(--vpc-red);font-family:var(--vpc-font-head);font-size:25px;}
.vpc-hs-waterfront-card span{color:var(--vpc-white);font-size:14px;line-height:1.45;}

.vpc-hs-spaces,.vpc-hs-finishes,.vpc-hs-faq{padding:clamp(72px,8vw,120px) 0;border-top:1px solid var(--vpc-line);color:var(--vpc-white);}
.vpc-hs-spaces,.vpc-hs-faq{background:var(--vpc-charcoal);}
.vpc-hs-finishes{background:var(--vpc-black);}
.vpc-hs-section-inner{display:flex;flex-direction:column;gap:clamp(44px,6vw,60px);}
.vpc-hs-section-header p{max-width:720px;margin:16px 0 0;color:var(--vpc-steel-light);font-size:var(--vpc-fs-lead);line-height:1.65;}
.vpc-hs-space-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;}
.vpc-hs-space-feature{display:flex;flex-direction:column;justify-content:space-between;min-height:520px;padding:clamp(30px,4vw,44px);border:1px solid rgba(224,30,43,.4);border-radius:var(--vpc-radius-lg);background:radial-gradient(circle at bottom right,rgba(224,30,43,.13),transparent 48%),var(--vpc-black);color:var(--vpc-white);text-decoration:none;box-shadow:inset 0 3px 0 var(--vpc-red);}
.vpc-hs-space-num{color:var(--vpc-red);font-family:var(--vpc-font-head);font-size:46px;font-weight:700;}
.vpc-hs-space-feature small,.vpc-hs-space-stack small{display:block;margin-bottom:10px;color:var(--vpc-red);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.vpc-hs-space-feature h3{margin:0;color:var(--vpc-white);font-family:var(--vpc-font-head);font-size:clamp(30px,4vw,48px);line-height:1;text-transform:uppercase;}
.vpc-hs-space-feature p{margin:16px 0 24px;color:var(--vpc-steel-light);font-size:15px;line-height:1.75;}
.vpc-hs-space-feature strong{color:var(--vpc-white);font-size:14px;letter-spacing:.04em;text-transform:uppercase;}
.vpc-hs-space-stack{display:grid;gap:18px;}
.vpc-hs-space-stack a{display:grid;grid-template-columns:48px 1fr auto;gap:18px;align-items:center;padding:26px;border:1px solid var(--vpc-line);border-radius:var(--vpc-radius-lg);background:var(--vpc-black);color:var(--vpc-white);text-decoration:none;}
.vpc-hs-space-stack a:hover,.vpc-hs-space-feature:hover{border-color:rgba(224,30,43,.55);}
.vpc-hs-space-stack>a>span{color:var(--vpc-red);font-family:var(--vpc-font-head);font-size:30px;font-weight:700;}
.vpc-hs-space-stack h3{margin:0;color:var(--vpc-white);font-family:var(--vpc-font-head);font-size:21px;line-height:1.1;text-transform:uppercase;}
.vpc-hs-space-stack p{margin:9px 0 0;color:var(--vpc-steel-light);font-size:13px;line-height:1.6;}
.vpc-hs-space-stack>a>b{color:var(--vpc-red);font-size:22px;}

.vpc-hs-downtown{padding:clamp(72px,8vw,120px) 0;border-top:1px solid var(--vpc-line);background:var(--vpc-black);color:var(--vpc-white);}
.vpc-hs-downtown-inner{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);gap:clamp(48px,7vw,90px);align-items:center;}
.vpc-hs-downtown-image{overflow:hidden;border:1px solid var(--vpc-line);border-radius:var(--vpc-radius-lg);}
.vpc-hs-downtown-image img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;}
.vpc-hs-downtown-copy p{margin-top:20px;margin-bottom:0;}
.vpc-hs-downtown-copy .vpc-btn{margin-top:28px;}

.vpc-hs-route{padding:clamp(72px,8vw,112px) 0;border-top:1px solid var(--vpc-line);background:var(--vpc-charcoal);color:var(--vpc-white);}
.vpc-hs-route-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(42px,7vw,90px);align-items:end;}
.vpc-hs-route-copy p:first-child{margin-top:0;}
.vpc-hs-route-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:42px;}
.vpc-hs-route-tags span{padding:11px 16px;border:1px solid var(--vpc-line);border-radius:999px;background:var(--vpc-black);color:var(--vpc-steel-light);font-size:13px;}

.vpc-hs-finish-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;}
.vpc-hs-finish-grid a{display:flex;flex-direction:column;min-height:300px;padding:24px;border:1px solid var(--vpc-line);border-radius:var(--vpc-radius-lg);background:var(--vpc-charcoal);color:var(--vpc-white);text-decoration:none;}
.vpc-hs-finish-grid a:hover{transform:translateY(-3px);border-color:rgba(224,30,43,.45);}
.vpc-hs-finish-grid span{color:var(--vpc-red);font-family:var(--vpc-font-head);font-size:29px;font-weight:700;}
.vpc-hs-finish-grid h3{margin:42px 0 0;color:var(--vpc-white);font-family:var(--vpc-font-head);font-size:24px;text-transform:uppercase;}
.vpc-hs-finish-grid p{margin:12px 0 24px;color:var(--vpc-steel-light);font-size:13px;line-height:1.65;}
.vpc-hs-finish-grid b{margin-top:auto;color:var(--vpc-white);font-size:12px;letter-spacing:.05em;text-transform:uppercase;}

.vpc-hs-winter{padding:clamp(72px,8vw,120px) 0;border-top:1px solid var(--vpc-line);background:var(--vpc-charcoal);color:var(--vpc-white);}
.vpc-hs-winter-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);gap:clamp(48px,7vw,90px);align-items:center;}
.vpc-hs-winter-copy p{margin-top:20px;margin-bottom:0;}
.vpc-hs-winter-panel{display:grid;overflow:hidden;border:1px solid var(--vpc-line);border-radius:var(--vpc-radius-lg);background:var(--vpc-black);}
.vpc-hs-winter-panel div{display:grid;grid-template-columns:52px 1fr;gap:17px;align-items:center;padding:21px 23px;border-bottom:1px solid var(--vpc-line);}
.vpc-hs-winter-panel div:last-child{border-bottom:0;}
.vpc-hs-winter-panel span{color:var(--vpc-red);font-family:var(--vpc-font-head);font-size:27px;font-weight:700;}
.vpc-hs-winter-panel strong{color:var(--vpc-white);font-size:14px;line-height:1.45;}

.vpc-hs-process{padding:clamp(72px,8vw,120px) 0;border-top:1px solid var(--vpc-line);background:var(--vpc-black);color:var(--vpc-white);}
.vpc-hs-process-inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(48px,7vw,90px);align-items:start;}
.vpc-hs-process-heading p{margin-top:20px;}
.vpc-hs-process-steps{display:grid;gap:12px;}
.vpc-hs-process-steps article{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:22px 24px;border:1px solid var(--vpc-line);border-radius:var(--vpc-radius);background:var(--vpc-charcoal);}
.vpc-hs-process-steps span{color:var(--vpc-red);font-family:var(--vpc-font-head);font-size:28px;font-weight:700;}
.vpc-hs-process-steps h3{margin:0;color:var(--vpc-white);font-family:var(--vpc-font-head);font-size:19px;text-transform:uppercase;}
.vpc-hs-process-steps p{margin:6px 0 0;color:var(--vpc-steel-light);font-size:13px;line-height:1.6;}

.vpc-hs-nearby{padding:clamp(68px,8vw,108px) 0;border-top:1px solid var(--vpc-line);background:var(--vpc-charcoal);color:var(--vpc-white);}
.vpc-hs-nearby-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,90px);align-items:end;}
.vpc-hs-nearby p{margin-top:0;}
.vpc-hs-text-link{display:inline-flex;gap:8px;align-items:center;color:var(--vpc-white);font-size:14px;font-weight:700;letter-spacing:.04em;text-decoration:none;text-transform:uppercase;}
.vpc-hs-text-link:hover{color:var(--vpc-red);}

.vpc-hs-faq-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.vpc-hs-faq-columns>div{display:grid;gap:14px;align-content:start;}
.vpc-hs-faq details{border:1px solid var(--vpc-line);border-radius:var(--vpc-radius);background:var(--vpc-black);}
.vpc-hs-faq summary{position:relative;padding:22px 56px 22px 22px;cursor:pointer;list-style:none;color:var(--vpc-white);font-family:var(--vpc-font-head);font-size:18px;font-weight:700;line-height:1.3;text-transform:uppercase;}
.vpc-hs-faq summary::-webkit-details-marker{display:none;}
.vpc-hs-faq summary::after{position:absolute;top:50%;right:22px;transform:translateY(-50%);color:var(--vpc-red);font-size:27px;content:"+";}
.vpc-hs-faq details[open] summary::after{content:"−";}
.vpc-hs-faq details p{margin:0;padding:0 22px 22px;color:var(--vpc-steel-light);font-size:14px;line-height:1.72;}

.vpc-hs-cta{position:relative;overflow:hidden;padding:clamp(80px,10vw,140px) 0;border-top:1px solid var(--vpc-line);background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(224,30,43,.14),transparent 70%),var(--vpc-charcoal);color:var(--vpc-white);text-align:center;}
.vpc-hs-cta-pattern{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;}
.vpc-hs-cta-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:22px;max-width:760px;margin:0 auto;}
.vpc-hs-cta-eyebrow{justify-content:center;color:var(--vpc-red);}
.vpc-hs-cta h2{margin:0;color:var(--vpc-white);font-size:clamp(36px,5.5vw,68px);line-height:.97;}
.vpc-hs-cta p{max-width:610px;margin:0;color:var(--vpc-steel-light);font-size:var(--vpc-fs-lead);line-height:1.65;}

@media(max-width:1080px){.vpc-hs-finish-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.vpc-hs-finish-grid a:nth-child(n+4){min-height:260px;}}
@media(max-width:900px){.vpc-hs-intro-inner,.vpc-hs-waterfront-inner,.vpc-hs-downtown-inner,.vpc-hs-route-inner,.vpc-hs-winter-inner,.vpc-hs-process-inner,.vpc-hs-nearby-inner{grid-template-columns:1fr;gap:38px;}.vpc-hs-downtown-image{max-width:600px;}}
@media(max-width:800px){.vpc-hs-space-layout,.vpc-hs-faq-columns{grid-template-columns:1fr;}.vpc-hs-space-feature{min-height:400px;}}
@media(max-width:720px){.vpc-hs-finish-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){.vpc-hs-hero{align-items:flex-end;min-height:650px;}.vpc-hs-hero-media img{object-position:60% center;}.vpc-hs-hero-overlay{background:linear-gradient(0deg,rgba(10,10,11,.98),rgba(10,10,11,.87) 58%,rgba(10,10,11,.35));}.vpc-hs-hero-inner{width:min(100% - 36px,1200px);padding:155px 0 52px;}.vpc-hs-hero h1{font-size:clamp(40px,11vw,58px);}.vpc-hs-hero p{font-size:17px;}.vpc-hs-hero-actions{gap:10px;}.vpc-hs-hero-actions .vpc-btn,.vpc-hs-cta .vpc-btn{width:100%;text-align:center;}}
@media(max-width:540px){.vpc-hs-finish-grid{grid-template-columns:1fr;}.vpc-hs-finish-grid a{min-height:235px;}.vpc-hs-space-stack a{grid-template-columns:40px 1fr auto;padding:22px 18px;}}
