:root{--r:#e10600;--rd:#b80000;--b:#0b0b0b;--w:#fff;--g:#f5f5f5;--t:#252525;--m:#686868;--bd:#e5e5e5;--sh:0 12px 35px #00000012}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.6 Arial,Helvetica,sans-serif;color:var(--t)}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}.top{background:var(--b);color:#fff;font-size:13px;padding:7px 0}.top .container{display:flex;justify-content:space-between}header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--bd)}nav{min-height:78px;display:flex;align-items:center;justify-content:space-between}.logo{width:185px}.links{display:flex;align-items:center;gap:6px}.links>a,.drop{padding:11px 12px;font-weight:700;font-size:14px}.links>a:hover,.drop:hover{color:var(--r)}.drop{position:relative}.drop-menu{display:none;position:absolute;right:0;top:42px;background:#fff;border:1px solid var(--bd);box-shadow:var(--sh);width:280px;padding:8px;border-radius:10px}.drop:hover .drop-menu{display:block}.drop-menu a{display:block;padding:8px;border-radius:7px;font-size:13px}.drop-menu a:hover{background:#fff0f0;color:var(--r)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;padding:12px 17px;border-radius:9px;font-weight:800;border:1px solid transparent;cursor:pointer}.red{background:var(--r);color:#fff}.red:hover{background:var(--rd)}.outline{border-color:#777;color:#fff}.menu{display:none;background:var(--b);color:#fff;border:0;border-radius:7px;padding:10px;font-size:20px}.hero{background:linear-gradient(115deg,#080808,#191919 65%,#350000);color:#fff}.hero .container{min-height:590px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:50px}.badge,.eyebrow{color:var(--r);font-weight:900;text-transform:uppercase;letter-spacing:1px;font-size:13px}.badge{display:inline-block;background:#e1060022;border:1px solid #e1060066;padding:7px 12px;border-radius:99px;margin-bottom:15px}.hero h1{font-size:clamp(42px,6vw,72px);line-height:1.03;letter-spacing:-2px;margin:0 0 20px}.hero h1 span{color:#ff2b25}.hero p{font-size:18px;color:#ddd;max-width:650px}.actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:25px}.hero-card,.card{background:#fff;border:1px solid var(--bd);border-radius:18px;padding:25px;box-shadow:var(--sh)}.hero-card img{border-radius:12px}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.quick a{background:#f3f3f3;padding:10px 5px;text-align:center;border-radius:8px;font-size:12px;font-weight:800}.quick a:hover{background:#fff0f0;color:var(--r)}section{padding:80px 0}.light{background:var(--g)}h2{font-size:clamp(30px,4vw,46px);line-height:1.15;color:var(--b);margin:8px 0 15px}.head{max-width:720px;margin-bottom:32px}.head p,p{color:var(--m)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{padding:23px;border:1px solid var(--bd);border-radius:16px;background:#fff;transition:.2s}.service:hover{transform:translateY(-4px);box-shadow:var(--sh);border-color:#ffb4b1}.icon{width:46px;height:46px;border-radius:12px;background:#fff0f0;display:grid;place-items:center;color:var(--r);font-size:21px;margin-bottom:15px}.service h3{margin:0 0 7px;color:var(--b);font-size:19px}.service p{font-size:14px;margin:0}.learn{display:block;color:var(--r);font-weight:800;font-size:13px;margin-top:13px}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.checks{display:grid;gap:12px;margin-top:22px}.check{display:flex;gap:10px}.check b{color:var(--r)}.dark{background:var(--b);color:#fff}.dark h2{color:#fff}.dark p{color:#ccc}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.stat{background:#171717;border:1px solid #333;border-radius:12px;padding:20px}.stat strong{display:block;color:#ff332d;font-size:27px}.cta{background:linear-gradient(100deg,var(--r),#850000);border-radius:20px;padding:38px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:25px}.cta h2{color:#fff;margin:0 0 7px}.pagehero{background:var(--b);color:#fff;padding:70px 0}.pagehero h1{font-size:clamp(38px,5vw,58px);margin:5px 0 10px;line-height:1.1}.pagehero p{color:#ddd;max-width:750px}.detail{display:grid;grid-template-columns:1fr 320px;gap:45px}.side{height:max-content;background:#111;color:#fff;padding:25px;border-radius:16px;position:sticky;top:100px}.side p{color:#ccc}.form{max-width:900px;margin:auto}.formbox{background:#fff;border:1px solid var(--bd);border-radius:18px;padding:28px;box-shadow:var(--sh)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:6px}.full{grid-column:1/-1}label{font-size:14px;font-weight:800}input,select,textarea{font:inherit;padding:12px;border:1px solid #d4d4d4;border-radius:8px;outline:none}textarea{min-height:130px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--r);box-shadow:0 0 0 3px #e1060014}.notice{background:#fff8e8;border-left:4px solid #d49b00;padding:12px 14px;font-size:13px;margin-bottom:18px}.help{font-size:12px;color:#777}footer{background:#080808;color:#fff;padding:50px 0 90px}.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px}.foot p,.foot a{color:#bbb;font-size:14px}.foot a{display:block;margin:6px 0}.bottom{border-top:1px solid #292929;margin-top:30px;padding-top:15px;color:#888;font-size:12px}.mobilebar{display:none}
@media(max-width:950px){.links{display:none;position:absolute;top:78px;left:4%;right:4%;background:#fff;padding:10px;border:1px solid var(--bd);border-radius:10px;box-shadow:var(--sh);flex-direction:column;align-items:stretch}.links.open{display:flex}.links>a,.drop{width:100%}.drop-menu{position:static;width:auto;box-shadow:none;border:0}.drop:hover .drop-menu{display:none}.drop.open .drop-menu{display:block}.menu{display:block}.hero .container{grid-template-columns:1fr;padding:65px 0}.grid{grid-template-columns:repeat(2,1fr)}.split,.detail{grid-template-columns:1fr}.side{position:static}.foot{grid-template-columns:1fr 1fr}.mobilebar{display:grid;position:fixed;bottom:0;left:0;right:0;z-index:100;background:#090909;padding:6px;grid-template-columns:repeat(3,1fr);gap:5px}.mobilebar a{color:#fff;text-align:center;padding:8px 2px;font-size:11px;font-weight:900;border-radius:6px}.mobilebar a:nth-child(2){background:#178b3b}.mobilebar a:nth-child(3){background:var(--r)}body{padding-bottom:60px}}
@media(max-width:600px){.top .container{justify-content:center}.top .hide{display:none}.logo{width:155px}.hero h1{letter-spacing:-1px}.hero p{font-size:16px}.actions .btn{width:100%}section{padding:60px 0}.grid,.stats,.fields{grid-template-columns:1fr}.full{grid-column:auto}.cta{display:block;padding:27px}.cta .btn{width:100%;margin-top:18px}.foot{grid-template-columns:1fr}}

/* ZiffySquad fixes */
html,body{overflow-x:hidden}
.hero-card{overflow:hidden}
.hero-card img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
.notice.error{background:#fff0f0;border-left-color:var(--r)}
.formbox .help{display:block}
@media(max-width:600px){.formbox{padding:20px}.hero-card{padding:18px}.hero-card img{max-height:260px;object-fit:contain}}
/* Mobile overflow and responsive image fixes */
img{max-width:100%;height:auto}
.split > div{min-width:0}
.split > div img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
h1,h2,h3,p{overflow-wrap:break-word}
@media(max-width:600px){
  .split{gap:28px}
  .split > div img{max-height:320px;object-fit:contain}
  h2{font-size:32px;line-height:1.15;letter-spacing:-.5px}
  .pagehero h1{font-size:38px}
}



/* Final site-wide overflow protection */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}
body {
  position: relative;
}
header, .top, main, footer, section, .pagehero, .hero, .light, .dark {
  width: 100%;
  max-width: 100%;
}
.container {
  width: min(1180px, 92%);
  max-width: 100%;
  min-width: 0;
}
.container > *, .split > *, .grid > *, .stats > *, .foot > *, .hero .container > *, .detail > * {
  min-width: 0;
  max-width: 100%;
}
img, video, iframe, canvas, svg {
  max-width: 100%;
}
h1, h2, h3, h4, p, a, span, label, button {
  max-width: 100%;
}
@media (max-width: 600px) {
  .container { width: calc(100% - 32px); }
  .pagehero, .hero { overflow: hidden; }
  .pagehero h1, .hero h1, h2, h3, p { max-width: 100%; }
  .split, .detail, .grid, .stats, .fields { width: 100%; }
  .actions { width: 100%; }
}


/* ===== FINAL RESPONSIVE OVERFLOW FIX ===== */
html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  margin-left: 0;
  margin-right: 0;
}

*, *::before, *::after {
  box-sizing: border-box;
  max-width: 100%;
}

img, video, iframe, svg, canvas {
  max-width: 100%;
  height: auto;
}

.container, .section, .hero, .hero-content, .hero-inner,
.header, .topbar, .navbar, .nav, .footer, main, section, article {
  max-width: 100%;
  min-width: 0;
}

.row, .grid, .cards, .services-grid, .service-grid {
  max-width: 100%;
  min-width: 0;
}

h1, h2, h3, h4, h5, h6, p, a, li, span, div {
  overflow-wrap: anywhere;
}

table {
  max-width: 100%;
  display: block;
  overflow-x: auto;
}

input, select, textarea, button {
  max-width: 100%;
}

@media (max-width: 768px) {
  html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
  }

  .container, .section, .hero, .hero-content, .hero-inner,
  .header, .navbar, main, section {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .hero img, .about img, .about-image img, .content img,
  img.responsive, .logo img {
    width: auto;
    max-width: 100%;
    height: auto;
  }

  .hero h1, .page-title, .section-title {
    max-width: 100%;
    word-break: break-word;
  }

  .grid, .services-grid, .service-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .row {
    flex-wrap: wrap !important;
  }

  .footer, .footer * {
    max-width: 100%;
  }
}
/* ===== END FINAL RESPONSIVE OVERFLOW FIX ===== */


/* ===== ZIFFYSQUAD FINAL MOBILE LAYOUT ===== */
html, body {
  overflow-x: hidden !important;
  width: 100%;
}
body {
  min-width: 0;
}
img {
  max-width: 100% !important;
}

/* Header */
header {
  width: 100%;
}
nav {
  min-width: 0;
}
.logo {
  display: block;
  width: 185px;
  max-width: 48vw !important;
  height: auto;
}

/* Home hero image/card */
.hero-card {
  min-width: 0;
  width: 100%;
}
.hero-card img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 360px;
  object-fit: contain;
}

/* About page logo */
.about-logo {
  display: block;
  width: min(100%, 480px) !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain;
}

/* Mobile */
@media (max-width: 600px) {
  .top {
    padding: 10px 0;
    font-size: 16px;
  }
  .top .container {
    width: calc(100% - 32px);
  }

  header {
    position: relative;
  }
  nav {
    min-height: 168px;
    padding: 16px 0;
    align-items: center;
  }
  .logo {
    width: 205px;
    max-width: 58vw !important;
  }
  .menu {
    width: 56px;
    height: 56px;
    padding: 0;
    font-size: 29px;
    line-height: 1;
    display: grid;
    place-items: center;
    border-radius: 12px;
    flex: 0 0 auto;
  }

  .links {
    top: 168px;
    left: 16px;
    right: 16px;
    width: auto;
    max-width: none;
  }

  /* Service/About hero matches the reference: clean black block */
  .pagehero {
    padding: 105px 0 100px;
    min-height: 500px;
  }
  .pagehero .container {
    width: calc(100% - 48px);
  }
  .pagehero h1 {
    font-size: 42px;
    line-height: 1.08;
    letter-spacing: -1px;
    margin: 10px 0 28px;
  }
  .pagehero p {
    font-size: 22px;
    line-height: 1.65;
    margin: 0;
  }

  /* Home hero */
  .hero .container {
    width: calc(100% - 48px);
    min-height: auto;
    padding: 70px 0 80px;
    grid-template-columns: 1fr;
  }
  .hero h1 {
    font-size: 44px;
    line-height: 1.08;
  }
  .hero p {
    font-size: 18px;
    line-height: 1.6;
  }
  .hero-card {
    padding: 14px;
  }
  .hero-card img {
    max-height: 250px;
  }

  /* Service details */
  section {
    padding: 88px 0;
  }
  .detail, .split {
    gap: 35px;
  }
  .detail .container {
    width: calc(100% - 48px);
  }
  .detail h2 {
    font-size: 42px;
    line-height: 1.12;
  }
  .detail p {
    font-size: 21px;
    line-height: 1.65;
  }
  .checks {
    font-size: 18px;
  }

  .about-logo {
    width: 230px !important;
    max-width: 70% !important;
    margin: 0 auto;
  }

  .formbox {
    padding: 20px;
  }

  /* Fixed bottom action bar */
  .mobilebar {
    padding: 8px 6px;
    height: 76px;
    gap: 6px;
  }
  .mobilebar a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    font-size: 13px;
    line-height: 1.2;
  }
}

/* Slightly smaller phones */
@media (max-width: 380px) {
  .logo { width: 185px; }
  nav { min-height: 150px; }
  .menu { width: 52px; height: 52px; }
  .links { top: 150px; }
  .pagehero h1 { font-size: 38px; }
  .pagehero p { font-size: 19px; }
  .detail h2 { font-size: 36px; }
  .detail p { font-size: 18px; }
}
/* ===== END ZIFFYSQUAD FINAL MOBILE LAYOUT ===== */

/* ===== HERO IMAGE SIZE CORRECTION ===== */
.hero .container {
  grid-template-columns: minmax(0, 1fr) 420px;
}
.hero-card {
  width: 100%;
  max-width: 420px;
  justify-self: end;
  padding: 18px;
}
.hero-card img {
  width: 100% !important;
  max-width: 100% !important;
  max-height: 280px !important;
  height: auto !important;
  object-fit: contain !important;
}
@media (max-width: 950px) {
  .hero .container {
    grid-template-columns: 1fr;
  }
  .hero-card {
    max-width: 520px;
    width: 100%;
    justify-self: center;
  }
  .hero-card img {
    max-height: 300px !important;
  }
}
@media (max-width: 600px) {
  .hero-card {
    max-width: 100%;
    padding: 12px;
  }
  .hero-card img {
    max-height: 220px !important;
  }
}


/* ===== HERO CARD FINAL SIZE FIX ===== */
.hero .container {
  min-width: 0 !important;
  width: min(1180px, 92%) !important;
}
.hero .container > * {
  min-width: 0 !important;
}
.hero-card {
  width: min(100%, 430px) !important;
  max-width: 430px !important;
  min-width: 0 !important;
  justify-self: end;
  overflow: hidden !important;
}
.hero-card img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  max-height: 240px !important;
  height: auto !important;
  object-fit: contain !important;
  margin: 0 auto;
}
.quick {
  width: 100% !important;
  min-width: 0 !important;
}
.quick a {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}
@media (max-width: 950px) {
  .hero .container {
    width: 92% !important;
  }
  .hero-card {
    width: 100% !important;
    max-width: 700px !important;
    justify-self: stretch !important;
  }
  .hero-card img {
    max-height: 260px !important;
  }
}
@media (max-width: 600px) {
  .hero-card {
    max-width: 100% !important;
    padding: 18px !important;
  }
  .hero-card img {
    max-height: 220px !important;
  }
}
/* ===== END HERO CARD FINAL SIZE FIX ===== */
/* ==================================================
   ZIFFYSQUAD - SERVICE IMAGES
   ================================================== */

.service .icon {
    width: 58px;
    height: 58px;

    margin-bottom: 18px;

    border-radius: 12px;

    background: #fff1f1;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    flex-shrink: 0;
}


.service .icon img {
    width: 48px;
    height: 48px;

    max-width: 100%;

    object-fit: cover;

    display: block;

    border-radius: 8px;
}


/* ==================================================
   SERVICE CARD
   ================================================== */

.service {
    overflow: hidden;
}


/* ==================================================
   TABLET
   ================================================== */

@media (max-width: 900px) {

    .service .icon {
        width: 58px;
        height: 58px;
    }

    .service .icon img {
        width: 48px;
        height: 48px;
    }

}


/* ==================================================
   MOBILE
   ================================================== */

@media (max-width: 700px) {

    .service .icon {
        width: 56px;
        height: 56px;

        margin-bottom: 16px;
    }

    .service .icon img {
        width: 46px;
        height: 46px;
    }

}


/* ==================================================
   SMALL MOBILE
   ================================================== */

@media (max-width: 420px) {

    .service .icon {
        width: 54px;
        height: 54px;

        margin-bottom: 15px;
    }

    .service .icon img {
        width: 44px;
        height: 44px;
    }

}/* ==================================================
   SERVICES DROPDOWN FIX
   ================================================== */

.drop {
    position: relative;
}

.drop-menu {
    position: absolute;
    top: 100%;
    left: 0;
    width: 280px;
    min-width: 280px;
    background: #ffffff;
    border: 1px solid #dddddd;
    border-radius: 12px;
    padding: 10px 0;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
    z-index: 9999;
}

.drop-menu a {
    display: block;
    width: 100%;
    padding: 10px 16px;
    color: #e10600;
    text-decoration: none;
    white-space: normal;
    box-sizing: border-box;
}

.drop-menu a:hover {
    background: #fff1f1;
    color: #e10600;
}
/* ==================================================
   ZIFFYSQUAD - FINAL SERVICES DROPDOWN FIX
   ================================================== */

header .drop {
    position: relative !important;
}

header .drop-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;

    width: 300px !important;
    min-width: 300px !important;
    max-width: 300px !important;

    display: none;
    background: #ffffff !important;
    border: 1px solid #dddddd !important;
    border-radius: 12px !important;
    padding: 8px 0 !important;
    margin: 0 !important;

    box-sizing: border-box !important;
    z-index: 99999 !important;

    box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
}

header .drop:hover .drop-menu {
    display: block !important;
}

header .drop-menu a {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    box-sizing: border-box !important;

    padding: 11px 16px !important;
    margin: 0 !important;

    color: #e10600 !important;
    background: #ffffff !important;

    text-decoration: none !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;

    line-height: 1.4 !important;
}

header .drop-menu a:hover {
    background: #fff1f1 !important;
    color: #e10600 !important;
}
/* ZiffySquad Social Media Icons */

.social-icons {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
}

.social-icons a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1px solid #444 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
}

.social-icons img {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    object-fit: contain !important;
}

.social-icons a:hover {
    transform: translateY(-2px);
}
/* =========================================
   ZIFFYSQUAD - FOOTER MOBILE ALIGNMENT
   ========================================= */

@media (max-width: 500px) {

    footer {
        width: 100% !important;
        padding: 50px 20px 100px !important;
        box-sizing: border-box !important;
    }

    footer .container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    footer .foot {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;

        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 35px !important;

        box-sizing: border-box !important;
    }

    footer .foot > div {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    footer .foot h3 {
        margin-top: 0 !important;
        margin-bottom: 15px !important;
    }

    footer .foot p {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    footer .foot a {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

}
/* ABOUT PAGE - WHO WE ARE */

.about-content .eyebrow {
    font-size: 20px !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
}

.about-content p {
    text-align: justify !important;
    line-height: 1.8 !important;
}