html, body{overflow-x:hidden}
/* Sleek Modern Theme */
:root{
  --sleek-bg:#fff;
  --sleek-text:#111827;
  --sleek-muted:#6b7280;
  --sleek-card:#fff;
  --sleek-border:rgba(17,24,39,.08);
  --sleek-shadow:0 18px 50px rgba(17,24,39,.08);
  --sleek-radius:18px;
  --sleek-pad:24px;
  --sleek-max:1140px;

  --sleek-accent:#0ea5e9;
  --sleek-header-bg:#ffffff;
  --sleek-footer-bg:#0b1220;
  --sleek-overlay:.4;
}

*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--sleek-bg);color:var(--sleek-text);line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.container{max-width:var(--sleek-max);margin:0 auto;padding:0 20px}
.section{padding:84px 0}
.section-title{font-size:34px;line-height:1.2;margin:0 0 28px}
.muted{color:var(--sleek-muted)}
.meta{color:var(--sleek-muted);font-size:14px;margin:8px 0 0}
.btn{display:inline-block;padding:14px 22px;border-radius:999px;background:var(--sleek-accent);color:#fff;text-decoration:none;font-weight:800}
.btn:hover{filter:brightness(.95)}
.btn--light{background:#fff;color:#0f172a}

.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:20px;top:20px;width:auto;height:auto;padding:10px 12px;background:#111827;color:#fff;border-radius:10px;z-index:9999}
.sr-only{position:absolute;left:-9999px}

/* Header */
.site-header{position:sticky;top:0;border-bottom:1px solid var(--sleek-border);z-index:50;background:color-mix(in srgb, var(--sleek-header-bg) 86%, transparent);backdrop-filter:saturate(180%) blur(14px)}
.header-inner{display:flex;align-items:center;gap:18px;padding:16px 0}
.header-a{justify-content:space-between}
.header-b{flex-direction:column;justify-content:center}
.site-branding .site-title{font-weight:900;text-decoration:none;font-size:20px}
.site-branding.centered{text-align:center}
.custom-logo{max-height:54px;width:auto}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:18px;align-items:center}
.site-nav a{text-decoration:none;color:var(--sleek-text);font-weight:800;opacity:.86}
.site-nav a:hover{opacity:1}
.nav-toggle{display:none;border:1px solid var(--sleek-border);background:#fff;border-radius:14px;padding:10px 12px;font-size:18px}

@media (max-width: 860px){
  .nav-toggle{display:inline-flex;margin-left:auto}
  .header-b .nav-toggle{margin-left:0}
  .site-nav{display:none;width:100%}
  .site-nav.is-open{display:block}
  .site-nav ul{flex-direction:column;align-items:flex-start;padding:14px 0}

  /* Mobile nav panel */
  .header-a{flex-wrap:wrap}
  .header-a .site-branding{flex:1}
  .header-a .nav-toggle{order:2}
  .header-a .site-nav{order:3}

  .site-nav.is-open{
    margin-top:10px;
    padding:6px 0;
    border:1px solid var(--sleek-border);
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 40px rgba(17,24,39,.10);
  }
  .site-nav ul{gap:0;padding:8px}
  .site-nav li{width:100%}
  .site-nav a{display:block;width:100%;padding:12px 12px;border-radius:14px}
  .site-nav a:hover{background:rgba(17,24,39,.04)}

}

/* Grid + Cards */
.grid{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:26px}
@media (max-width: 980px){ .grid{grid-template-columns:repeat(2, minmax(0,1fr));} }
@media (max-width: 640px){ .grid{grid-template-columns:1fr;} }

.card{background:var(--sleek-card);border:1px solid var(--sleek-border);border-radius:var(--sleek-radius);padding:var(--sleek-pad);box-shadow:var(--sleek-shadow)}
.card--media{padding:0;overflow:hidden}
.card--media img{width:100%;aspect-ratio:3/2;object-fit:cover}
.card--media .card-body{padding:var(--sleek-pad)}
.card img{border-radius:14px;margin-bottom:14px;aspect-ratio:3/2;object-fit:cover}
.card-title{margin:0 0 10px;font-size:18px;line-height:1.3}
.card-title a{text-decoration:none}
.card-text{margin:0;color:var(--sleek-muted)}
.card-link{display:block;text-decoration:none}

/* Hero Slider */
.hero{position:relative;overflow:hidden}
.hero-track{display:flex;transition:transform .6s ease}
.hero-slide{min-width:100%;padding:120px 0;background:#0b1220;background-size:cover;background-position:center;position:relative}
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,var(--sleek-overlay))}
.hero-content{position:relative;color:#fff;text-align:left}
.hero-content h1{margin:0 0 10px;font-size:44px;line-height:1.1;max-width:780px}
.hero-content p{margin:0 0 22px;max-width:680px;opacity:.92}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);border:none;background:rgba(255,255,255,.18);color:#fff;border-radius:14px;width:44px;height:44px;font-size:28px;cursor:pointer}
.hero-arrow:hover{background:rgba(255,255,255,.28)}
.hero-arrow.prev{left:16px}
.hero-arrow.next{right:16px}
.hero-dots{position:absolute;left:0;right:0;bottom:18px;display:flex;justify-content:center;gap:10px}
.dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,.55);background:transparent;cursor:pointer}
.dot.is-active{background:#fff}

@media (max-width: 760px){
  .hero-slide{padding:84px 0}
  .hero-content h1{font-size:32px}
}

/* CTA */
.cta{padding:72px 0;background:linear-gradient(135deg, var(--sleek-accent), #22c55e);color:#fff}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}
.cta-title{margin:0 0 6px;font-size:30px}
.cta-text{margin:0;opacity:.95}
@media (max-width: 760px){ .cta-inner{flex-direction:column;align-items:flex-start} }

/* Testimonials */
.testimonials-grid{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:22px}
@media (max-width: 760px){ .testimonials-grid{grid-template-columns:1fr} }
.quote{margin:0;background:var(--sleek-card);border:1px solid var(--sleek-border);border-radius:var(--sleek-radius);padding:26px;box-shadow:var(--sleek-shadow)}
.quote-text{margin:0 0 14px;color:var(--sleek-text)}
.quote-footer{display:flex;flex-direction:column;gap:4px;color:var(--sleek-muted)}
.quote-name{color:var(--sleek-text)}
.quote-biz{font-size:14px}

/* Footer */
.site-footer{border-top:1px solid var(--sleek-border);background:var(--sleek-footer-bg);color:#e5e7eb}
.footer-widgets{padding:60px 0}
.footer-grid{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:22px}
@media (max-width: 980px){ .footer-grid{grid-template-columns:repeat(2, minmax(0,1fr));} }
@media (max-width: 640px){ .footer-grid{grid-template-columns:1fr;} }
.widget{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:18px}
.widget-title{margin:0 0 12px;font-size:16px}
.widget a{color:#e5e7eb}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0}
.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:14px}
.footer-menu{list-style:none;margin:0;padding:0;display:flex;gap:14px}
.footer-menu a{text-decoration:none;opacity:.9}
.footer-menu a:hover{opacity:1}
@media (max-width: 760px){ .footer-bottom-inner{flex-direction:column;align-items:flex-start} }


/* Submenus */
.site-nav .menu{position:relative}
.site-nav .menu-item{position:relative}
.site-nav .sub-menu{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:220px;
  background:#fff;
  border:1px solid var(--sleek-border);
  border-radius:14px;
  box-shadow:0 24px 60px rgba(17,24,39,.12);
  padding:10px;
  display:none;
  z-index:99;
}
.site-nav .sub-menu li{width:100%}
.site-nav .sub-menu a{display:block;padding:10px 12px;border-radius:10px;opacity:.92}
.site-nav .sub-menu a:hover{background:rgba(17,24,39,.04);opacity:1}
.site-nav .menu-item-has-children:hover > .sub-menu,
.site-nav .menu-item-has-children:focus-within > .sub-menu{
  display:block;
}
.site-nav .menu-item-has-children > a:after{
  content:"▾";
  font-size:12px;
  margin-left:8px;
  opacity:.7;
}

/* Mobile submenu behavior */
@media (max-width: 860px){
  .site-nav .sub-menu{
    position:static;
    box-shadow:none;
    border:none;
    padding:6px 0 0 14px;
    display:none;
    background:transparent;
  }
  .site-nav .menu-item-has-children.is-open > .sub-menu{display:block}
  .site-nav .menu-item-has-children > a:after{content:""}
  .site-nav .submenu-toggle{
    border:1px solid var(--sleek-border);
    background:#fff;
    border-radius:12px;
    padding:6px 10px;
    font-size:14px;
    margin-left:auto;
  }
  .site-nav li{display:flex;align-items:center;gap:10px;width:100%}
  .site-nav li > a{flex:1}
}


/* Testimonials carousel */
.tcarousel{position:relative}
.tcarousel-track{
  display:flex;
  gap:18px;
  transition:transform .5s ease;
  will-change:transform;
}
.tcarousel-item{flex:0 0 calc((100% - 36px) / 3);} /* 3 items, 2 gaps */
.tcarousel .quote{height:100%}
.tcarousel-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  border:none; background:rgba(17,24,39,.08);
  color:var(--sleek-text);
  border-radius:14px; width:44px; height:44px; font-size:28px;
  cursor:pointer;
}
.tcarousel-arrow:hover{background:rgba(17,24,39,.14)}
.tcarousel-arrow.prev{left:-10px}
.tcarousel-arrow.next{right:-10px}
.tcarousel-dots{display:flex;justify-content:center;gap:10px;margin-top:18px}
.tcarousel-dots .dot{border:1px solid rgba(17,24,39,.22);background:transparent}
.tcarousel-dots .dot.is-active{background:var(--sleek-text)}

@media (max-width: 980px){
  .tcarousel-item{flex:0 0 calc((100% - 18px) / 2);} /* 2 items */
}
@media (max-width: 640px){
  .tcarousel-item{flex:0 0 100%;} /* 1 item */
  .tcarousel-arrow.prev{left:6px}
  .tcarousel-arrow.next{right:6px}
}


/* Breadcrumb banner (Pages with featured image) */
.bcrumb{
  position:relative;
  background-size:cover;
  background-position:center;
  min-height:var(--sleek-bcrumb-h, 220px);
  display:flex;
  align-items:flex-end;
  padding:26px 0;
}
.bcrumb-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.bcrumb-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;position:relative;color:#fff}
.bcrumb-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-weight:800}
.bcrumb-nav a{color:#fff;text-decoration:none;opacity:.92}
.bcrumb-nav a:hover{opacity:1}
.bcrumb-sep{opacity:.7}
.bcrumb-current{opacity:1}

/* Submenu toggle button (mobile only) */
.site-nav .submenu-toggle{display:none}
@media (max-width: 860px){
  .site-nav .submenu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:transparent !important;
    border:0 !important;
    padding:4px 6px;
    font-size:16px;
    opacity:.8;
    cursor:pointer;
  }
}

/* Hero/Breadcrumb banner */
.bcrumb{position:relative;background-size:cover;background-position:center;min-height:240px;display:flex;align-items:flex-end;padding:26px 0}
.bcrumb-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.bcrumb-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;position:relative;color:#fff}
.bcrumb-title{margin:0;color:#fff;font-size:34px;line-height:1.15;letter-spacing:-.02em}
@media (max-width:760px){.bcrumb-title{font-size:28px}}


/* Slider core (rebuilt) */
.hero{position:relative;overflow:hidden}
.hero-viewport{width:100%;overflow:hidden}
.hero-track{display:flex;transition:transform .55s ease;will-change:transform}
.hero-slide{flex:0 0 100%;min-height:470px;background-size:cover;background-position:center;position:relative;display:flex;align-items:center}
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.35)}
.hero-content{position:relative;max-width:980px;color:#fff}
.hero-content h1{font-size:56px;line-height:1.05;letter-spacing:-.03em;margin:0 0 10px}
.hero-content p{font-size:18px;opacity:.92;margin:0 0 18px;max-width:680px}
.hero .btn{display:inline-block;padding:12px 18px;border-radius:999px;background:#0ea5e9;color:#fff;text-decoration:none;font-weight:800}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;border:none;background:rgba(255,255,255,.12);color:#fff;width:44px;height:44px;border-radius:14px;font-size:28px;cursor:pointer}
.hero-arrow:hover{background:rgba(255,255,255,.2)}
.hero-arrow.prev{left:18px}
.hero-arrow.next{right:18px}
.hero-dots{position:absolute;left:0;right:0;bottom:18px;display:flex;justify-content:center;gap:10px;z-index:5}
.hero-dots .dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,.55);background:transparent;cursor:pointer}
.hero-dots .dot.is-active{background:#fff}
@media (max-width:860px){
  .hero-slide{min-height:370px}
  .hero-content h1{font-size:40px}
}
@media (max-width:520px){
  .hero-content h1{font-size:34px}
  .hero-arrow.prev{left:10px}
  .hero-arrow.next{right:10px}
}

.site-header{overflow-x:clip}


/* Header spacing fix */
.site-header .container{padding-left:24px;padding-right:24px}
@media (max-width:860px){.site-header .container{padding-left:18px;padding-right:18px}}


/* Dropdown usability fixes */
.site-nav .menu-item-has-children{position:relative}

/* Remove hover gap so submenu doesn't vanish while moving mouse */
.site-nav .sub-menu{
  top:100% !important;
  margin-top:10px;
  max-width:calc(100vw - 40px);
}

/* Hover buffer so moving mouse to submenu doesn't close it */
.site-nav .menu-item-has-children > .sub-menu:before{
  content:"";
  position:absolute;
  left:0; right:0;
  top:-12px;
  height:12px;
}

/* Align last dropdowns to the right so they don't overflow off-screen */
.site-nav .menu > li:last-child > .sub-menu,
.site-nav .menu > li:nth-last-child(2) > .sub-menu{
  left:auto;
  right:0;
}

/* Products */
.product-price{font-weight:900;margin:8px 0 6px;font-size:18px}
.btn.btn-sm{padding:10px 14px;font-size:14px}


/* Testimonials slider (dots) */
.tcar-viewport{overflow:hidden}
.tcar-track{display:flex;gap:18px;transition:transform .55s ease;will-change:transform}
.tcar-item{flex:0 0 100%}
@media (min-width: 760px){.tcar-item{flex:0 0 calc((100% - 18px)/2)}}
@media (min-width: 1100px){.tcar-item{flex:0 0 calc((100% - 36px)/3)}}
.tcar-dots{display:flex;justify-content:center;gap:10px;margin-top:18px}
.tcar-dots .dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(17,24,39,.22);background:transparent;cursor:pointer}
.tcar-dots .dot.is-active{background:var(--sleek-text)}


/* Section header with View All link */
.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.section-head .section-title{margin:0}
.section-link{font-weight:800;text-decoration:none;opacity:.9}
.section-link:hover{opacity:1;text-decoration:underline}


/* Products carousel */
.pcar-viewport{overflow:hidden}
.pcar-track{display:flex;gap:18px;transition:transform .55s ease;will-change:transform}
.pcar-item{flex:0 0 100%}
@media (min-width: 760px){.pcar-item{flex:0 0 calc((100% - 18px)/2)}}
@media (min-width: 1100px){.pcar-item{flex:0 0 calc((100% - 36px)/3)}}
.pcar-dots{display:flex;justify-content:center;gap:10px;margin-top:18px}
.pcar-dots .dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(17,24,39,.22);background:transparent;cursor:pointer}
.pcar-dots .dot.is-active{background:var(--sleek-text)}


/* Contact form */
.contact-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:start}
.contact-card{background:#fff;border:1px solid var(--sleek-border);border-radius:22px;padding:22px;box-shadow:0 16px 40px rgba(17,24,39,.06)}
.notice{padding:12px 14px;border-radius:14px;margin:10px 0 16px;font-weight:700}
.notice.success{background:rgba(16,185,129,.10);border:1px solid rgba(16,185,129,.25)}
.notice.error{background:rgba(239,68,68,.10);border:1px solid rgba(239,68,68,.25)}
.sleek-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sleek-form .field{display:flex;flex-direction:column;gap:6px}
.sleek-form label{font-weight:800}
.sleek-form input,.sleek-form select,.sleek-form textarea{
  width:100%;
  border:1px solid var(--sleek-border);
  border-radius:14px;
  padding:12px 12px;
  font:inherit;
  background:#fff;
}
.sleek-form textarea{resize:vertical}
.sleek-form .field-full{grid-column:1 / -1}
.turnstile-wrap{margin:14px 0}
.hp-field{position:absolute;left:-9999px;opacity:0;pointer-events:none}
@media (max-width: 980px){.contact-wrap{grid-template-columns:1fr}}

/* Breadcrumb alignment refinement */
.bcrumb-title{margin:0;text-align:center}
.bcrumb-nav{margin-top:8px;justify-content:center}

/* Footer layout fix */
.site-footer .footer-widgets{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  align-items:start;
}
.site-footer .footer-widgets .widget{min-width:0}
@media (max-width: 980px){
  .site-footer .footer-widgets{grid-template-columns:1fr 1fr}
}
@media (max-width: 520px){
  .site-footer .footer-widgets{grid-template-columns:1fr}
}


/* Footer improvements + fix column shrink bug */
.site-footer .footer-widgets{display:block} /* undo accidental grid override */
.site-footer .footer-grid{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:32px}
@media (max-width: 980px){ .site-footer .footer-grid{grid-template-columns:repeat(2, minmax(0,1fr));} }
@media (max-width: 640px){ .site-footer .footer-grid{grid-template-columns:1fr;} }

/* Remove boxed widgets; keep it sleek */
.site-footer .widget{
  background:transparent;
  border:none;
  padding:0;
  border-radius:0;
  box-shadow:none;
}
.site-footer .widget-title{
  font-size:14px;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:0 0 14px;
  position:relative;
  padding-bottom:10px;
}
.site-footer .widget-title:after{
  content:'';
  position:absolute;
  left:0;
  bottom:0;
  width:46px;
  height:3px;
  border-radius:999px;
  background:var(--sleek-accent);
  opacity:.95;
}
.site-footer .widget ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.site-footer .widget a{color:rgba(229,231,235,.92);text-decoration:none}
.site-footer .widget a:hover{color:#fff;text-decoration:underline}
.site-footer .widget p{margin:0 0 10px;color:rgba(229,231,235,.88);line-height:1.7}


/* Footer mobile padding */
.site-footer .footer-widgets,
.site-footer .footer-bottom{
  padding-left:24px;
  padding-right:24px;
}

@media (min-width: 981px){
  .site-footer .footer-widgets,
  .site-footer .footer-bottom{
    padding-left:0;
    padding-right:0;
  }
}

@media (max-width: 520px){
  .site-footer .footer-widgets,
  .site-footer .footer-bottom{
    padding-left:20px;
    padding-right:20px;
  }
}


/* Contact form layout centering */
.contact-wrap{max-width:860px;margin-left:auto;margin-right:auto;grid-template-columns:1fr}
.contact-content{margin-top:18px}
.field-help{font-size:13px;opacity:.8;margin:6px 0 0}

/* Make services fully clickable */
.service-link{
  display:block;
  text-decoration:none;
  color:inherit;
}
.service-link:hover{
  opacity:.95;
}
