:root{--red:#e30613;--red-dark:#c9000b;--black:#111;--charcoal:#1a1a1a;--white:#fff;--light:#f5f5f5;--text:#202020;--muted:#666;--border:#e2e2e2}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Poppins,sans-serif;color:var(--text);background:#fff}.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:10px;top:10px;z-index:9999;background:#fff;padding:.75rem 1rem}.topbar{background:#0d0d0d;color:#fff}.topbar i{color:var(--red);margin-right:.4rem}.navbar-brand{font-family:Montserrat,sans-serif;font-size:1.9rem;color:#111}.navbar-brand strong span{color:var(--red)}.brand-mark{color:var(--red);font-size:1.4rem}.nav-link{font-weight:500;color:#111!important;position:relative}.nav-link.active,.nav-link:hover{color:var(--red)!important}.nav-link.active:after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:-.45rem;height:2px;background:var(--red)}.hero{min-height:590px;background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.7) 38%,rgba(0,0,0,.08) 72%),url('../images/hero.jpg') center/cover no-repeat;color:#fff}.hero h1{font-family:Montserrat,sans-serif;font-size:clamp(3rem,6vw,5.4rem);line-height:.98;font-weight:800}.hero h1 em{font-style:italic;color:var(--red)}.hero p{max-width:560px;font-size:1.1rem;margin:1.5rem 0}.btn-danger{background:var(--red);border-color:var(--red)}.btn-danger:hover{background:var(--red-dark);border-color:var(--red-dark)}.benefits-section{margin-top:-55px;position:relative;z-index:3}.benefit-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:2rem 1.4rem;text-align:center;height:100%;box-shadow:0 12px 35px rgba(0,0,0,.12)}.benefit-card i{font-size:2.25rem;color:var(--red);margin-bottom:1rem}.benefit-card h3,.service-card h3,.process-step h3{font-family:Montserrat,sans-serif;font-size:1.05rem;font-weight:700}.benefit-card p{font-size:.93rem;color:var(--muted);margin:0}.section-pad{padding:90px 0}.eyebrow{text-transform:uppercase;color:var(--red);font-weight:700;font-size:.85rem;letter-spacing:.04em}.section-heading h2,#about h2{font-family:Montserrat,sans-serif;font-weight:800;font-size:clamp(2rem,4vw,3rem)}.feature-list i{color:var(--red);margin-right:.45rem}.service-card{border-radius:14px;overflow:hidden;border:1px solid var(--border);box-shadow:0 10px 28px rgba(0,0,0,.08);height:100%;background:#fff;transition:.25s}.service-card:hover{transform:translateY(-7px);box-shadow:0 18px 36px rgba(0,0,0,.14)}.service-card img{width:100%;height:170px;object-fit:cover}.service-card p{color:var(--muted);min-height:75px}.service-card a{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--red);color:#fff;text-decoration:none}.process-section{background:linear-gradient(rgba(10,10,10,.78),rgba(10,10,10,.84)),url('../images/process.jpg') center/cover no-repeat;color:#fff}.process-step{position:relative;padding:1rem}.process-step span{font-family:Montserrat;font-size:3rem;font-weight:800;color:#6a6a6a}.process-step i{display:block;width:64px;height:64px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-size:1.45rem;margin:.5rem 0 1rem}.process-step p{color:#ddd}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}.gallery-item{border:0;padding:0;overflow:hidden;border-radius:12px;background:#f1f1f1;aspect-ratio:16/9;display:block;width:100%}.gallery-item.featured{grid-row:span 2;grid-column:span 2;aspect-ratio:auto;min-height:100%}.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .25s ease}.gallery-item:hover img{transform:scale(1.035)}blockquote{background:#fff;border:1px solid var(--border);border-radius:14px;padding:1.7rem;height:100%;box-shadow:0 8px 24px rgba(0,0,0,.07)}.stars{color:var(--red);letter-spacing:.15rem}.testimonials footer{font-weight:700}.testimonials footer span{display:block;font-weight:400;color:var(--muted)}.cta-strip{background:linear-gradient(90deg,var(--red-dark),var(--red));color:#fff;padding:34px 0}.cta-strip h2{font-family:Montserrat;font-weight:800;margin:0}.cta-strip p{margin:0}.site-footer{background:#101010;color:#ddd}.site-footer h3{color:#fff;font-family:Montserrat;font-size:1rem}.site-footer a{color:#ddd;text-decoration:none;display:block;margin:.35rem 0}.site-footer a:hover{color:#fff}.footer-brand{color:#fff}.socials{display:flex;gap:.7rem}.socials a{width:38px;height:38px;border:1px solid #555;border-radius:50%;display:grid;place-items:center}.site-footer i{color:var(--red);margin-right:.45rem}.back-to-top{position:fixed;right:22px;bottom:22px;width:45px;height:45px;border:0;border-radius:50%;background:var(--red);color:#fff;display:none;z-index:1000}.back-to-top.show{display:block}
@media(max-width:991.98px){.hero{min-height:520px;background-position:65% center}.hero-copy{padding:4rem 0}.benefits-section{margin-top:0;padding-top:30px}.nav-link.active:after{display:none}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item.featured{min-height:0;aspect-ratio:16/9}}
@media(max-width:575.98px){.topbar .small span:nth-child(2){display:none}.hero{min-height:560px;background-position:62% center}.hero h1{font-size:2.8rem}.section-pad{padding:65px 0}.gallery-grid{grid-template-columns:1fr}.gallery-item,.gallery-item.featured{grid-column:auto;grid-row:auto;aspect-ratio:16/9;min-height:0}.cta-strip{text-align:center}.navbar-brand{font-size:1.45rem}}
.site-logo{width:210px;height:58px;object-fit:contain;object-position:left center}.footer-logo{filter:brightness(0) invert(1);background:#fff;padding:5px;border-radius:4px}.inner-hero{padding:110px 0 80px;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.38)),url('../images/hero.jpg') center/cover;color:#fff}.inner-hero h1{font-family:Montserrat,sans-serif;font-size:clamp(2.7rem,5vw,4.8rem);font-weight:800}.content-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:2rem;box-shadow:0 12px 30px rgba(0,0,0,.08)}.form-control,.form-select{min-height:52px;border-radius:8px}.form-control:focus,.form-select:focus{border-color:var(--red);box-shadow:0 0 0 .2rem rgba(227,6,19,.12)}


/* Homepage hero carousel */
.hero-slider{position:relative;background:#111;color:#fff}
.hero-slider .carousel-item{height:590px;position:relative;overflow:hidden}
.hero-slide-image{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 38%,rgba(0,0,0,.18) 72%,rgba(0,0,0,.06) 100%)}
.hero-caption{position:absolute;inset:0;display:flex;align-items:flex-start;text-align:left;padding:72px 0 58px}
.hero-caption .container{position:relative;z-index:2}
.hero-caption .hero-copy{width:min(760px,100%);padding:0;display:grid;grid-template-rows:auto 288px 92px auto;align-content:start}
.hero-kicker{display:inline-block;margin-bottom:1rem;color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-left:4px solid var(--red);padding-left:.75rem}
.hero-caption h1,.hero-caption h2{font-family:Montserrat,sans-serif;font-size:clamp(3rem,5vw,5rem);line-height:1;font-weight:800;color:#fff;margin:0;align-self:start}.hero-title span,.hero-title em{display:block}.hero-title span,.hero-title em{white-space:nowrap}
.hero-caption h1 em,.hero-caption h2 em{font-style:italic;color:var(--red)}
.hero-caption p{max-width:610px;font-size:1.1rem;line-height:1.65;margin:0;color:#fff;align-self:start}
.hero-slider .carousel-indicators{margin-bottom:1.25rem;z-index:5}
.hero-slider .carousel-indicators [data-bs-target]{width:36px;height:4px;border:0;border-radius:10px;background-color:#fff;opacity:.55}
.hero-slider .carousel-indicators .active{background-color:var(--red);opacity:1}
.hero-slider .carousel-control-prev,.hero-slider .carousel-control-next{width:5%;opacity:.75;z-index:5}
.hero-slider .carousel-control-prev-icon,.hero-slider .carousel-control-next-icon{width:2.5rem;height:2.5rem;background-size:55%;background-color:rgba(0,0,0,.45);border-radius:50%}

@media(max-width:991.98px){
  .hero-slider .carousel-item{height:560px}
  .hero-slide-image{object-position:64% center}
  .hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.73) 55%,rgba(0,0,0,.3) 100%)}
  .hero-caption{padding:58px 0 48px}
  .hero-caption .hero-copy{width:min(680px,100%);padding:0 1.25rem;grid-template-rows:auto 248px 90px auto}
  .hero-caption h1,.hero-caption h2{font-size:clamp(2.7rem,7vw,4.2rem)}
  .benefits-section{margin-top:0}
}
@media(max-width:575.98px){
  .hero-slider .carousel-item{height:610px}
  .hero-slide-image{object-position:68% center}
  .hero-overlay{background:rgba(0,0,0,.7)}
  .hero-caption{align-items:flex-start;padding:42px 0 36px}
  .hero-caption .hero-copy{padding:0 .3rem;grid-template-rows:auto 220px 118px auto}
  .hero-caption h1,.hero-caption h2{font-size:2.5rem}
  .hero-title span,.hero-title em{white-space:normal}
  .hero-caption p{font-size:1rem;margin:0}
  .hero-caption .btn{width:100%;justify-content:center}
  .hero-slider .carousel-control-prev,.hero-slider .carousel-control-next{display:none}
}

/* Official I Can Epoxy logo */
.site-logo{
  display:block;
  width:auto;
  height:64px;
  max-width:260px;
  object-fit:contain;
}
.navbar .site-logo{
  height:58px;
}
.footer-logo{
  height:72px;
  max-width:290px;
  background:#fff;
  border-radius:10px;
  padding:6px 10px;
}
@media (max-width:575.98px){
  .navbar .site-logo{height:46px;max-width:200px}
  .footer-logo{height:60px;max-width:240px}
}

/* White footer logo supplied by client */
.site-footer .footer-logo{filter:none!important;background:transparent!important;padding:0!important;border-radius:0!important;width:auto!important;height:72px!important;max-width:290px!important;object-fit:contain!important;object-position:left center!important}
.site-footer .footer-logo-compact{height:50px!important;max-width:205px!important}
@media(max-width:575.98px){.site-footer .footer-logo{height:58px!important;max-width:235px!important}.site-footer .footer-logo-compact{height:44px!important;max-width:180px!important}}
