@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&family=Roboto+Slab:wght@700&display=swap');
:root{
  --red:#1CA7E0;
  --red-dark:#1583B3;
  --dark:#282828;
  --gray-bg:#f4f4f4;
  --footer-dark:#282828;
  --footer-mid:#312e33;
  --accent:#FFC72C;
  --accent-dark:#D9A812;
  --c-blue:#1CA7E0;
  --c-yellow:#FFC72C;
  --c-green:#3CB043;
  --c-red:#ED1C24;
}
*,*::before,*::after{box-sizing:border-box;}
body{
  margin:0;
  font-family:Roboto, Arial, sans-serif;
  color:#282828;
  line-height:1.5;
}
h1,h2,h3,h4{font-family:"Roboto Slab", serif; font-weight:700; margin:0 0 20px;}
h1{font-size:2.5rem;}
h2{
  font-size:2rem; position:relative; display:inline-block;
  color:var(--dark);
}
h2::after{display:none;}
h3{
  font-size:1.5rem;
  color:var(--dark);
}
p{font-size:1.1rem;margin:0 0 1rem;}
a{color:var(--red);text-decoration:none;}
a:hover{color:var(--red-dark);}
img{max-width:100%;display:block;}
.row{max-width:1200px;margin:0 auto;padding:0 20px;}
.button{
  display:inline-block;
  background:var(--red);
  color:#fff;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
  padding:14px 28px;
  border:none;
  cursor:pointer;
  transform:skew(-13deg);
  font-size:.95rem;
}
.button span{display:block;transform:skew(13deg);}
.button:hover{background:var(--red-dark);color:#fff;box-shadow:0 10px 20px -8px rgba(0,0,0,.35);}

/* Shared arrow-style text link (blog "Learn More") — uses accent to match the tag badge in the same card */
.arrow-link{
  display:inline-block;
  color:var(--accent);
  font-weight:700;
  text-transform:uppercase;
  font-size:.8rem;
  letter-spacing:1px;
}
.arrow-link:hover{color:var(--accent-dark);text-decoration:underline;}

/* ---------- Header (transparent/black, sits over hero) ---------- */
header{
  position:fixed;top:0;left:0;right:0;
  z-index:100;
  background:rgba(0,0,0,.55);
}
.header-main{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;max-width:1200px;margin:0 auto;
  position:relative;z-index:150;
}
.logo img{width:130px;}

nav.main-nav{position:relative;}
.main-nav > ul{list-style:none;display:flex;gap:32px;margin:0;padding:0;}
.main-nav > ul > li{position:relative;}
.main-nav > ul > li > button,
.main-nav > ul > li .nav-item-row > a{
  background:none;border:none;cursor:pointer;
  font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:.95rem;
  color:#fff;
  padding:10px 0;
  display:flex;align-items:center;gap:6px;
  font-family:Roboto, sans-serif;
  transition:color .25s;
}
/* .main-nav > ul > li > button::after,
.main-nav > ul > li .nav-item-row > a::after{
  content:"";
  width:0;height:0;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:6px solid currentColor;
  margin-top:2px;
  transition:transform .2s;
} */
.main-nav > ul > li.open > button::after{transform:rotate(180deg);}
.main-nav > ul > li.open > button{color:var(--red) !important;}

.header-right{display:flex;align-items:center;}

.menu-toggle{
  display:none;background:none;border:none;cursor:pointer;margin-left:16px;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}.menu-toggle span{display:block;width:26px;height:3px;background:#fff;margin:5px 0;transition:.2s;}
@media (max-width:900px){
  header{background:#fff;}
  header::before{
    content:"";
    position:absolute;
    top:0;right:0;bottom:0;
    width:clamp(90px,26%,160px);
    background:var(--red);
    clip-path:polygon(30px 0, 100% 0, 100% 100%, 0 100%);
    z-index:0;
  }
  .menu-toggle{display:block;position:relative;z-index:2;}
  .main-nav > ul{
    display:none;
    position:fixed;
    top:64px;
    left:0;right:0;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    background:#fff;
    padding:16px 20px 24px;
    box-shadow:0 12px 24px rgba(0,0,0,.15);
    z-index:150;
    max-height:calc(100vh - 64px);
    overflow-y:auto;
  }
  .main-nav > ul.mobile-open{
    display:flex;
  }
  .main-nav > ul > li{width:100%;}
  .main-nav > ul > li > button{
    width:100%;
    justify-content:space-between;
    padding:14px 4px;
    border-bottom:1px solid #eee;
    color:var(--dark);
  }
  nav.main-nav{position:relative;}
.main-nav > ul{list-style:none;display:flex;gap:32px;margin:0;padding:0;}
.main-nav > ul > li{position:relative;}
.main-nav > ul > li > button,
.main-nav > ul > li .nav-item-row > a{
  color: #000;
}
  .mega{
    max-height:calc(100vh - 64px);
    overflow-y:auto;
  }
}
/* ---------- Mega dropdown ---------- */
.mega{
  display:block;
  position:fixed;
  top:0;
  left:0;
  background:#fff;
  box-shadow:0 12px 24px rgba(0,0,0,.15);
  z-index:99;
  border-top:1px solid #eee;
  min-width:220px;
  opacity:0;
  transform:translateY(-8px);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.mega.show{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.mega.show{display:block;}
.mega-inner{
  display:flex;align-items:flex-start;padding:24px 20px;
}
.mega-heading{display:none;}
.mega-columns{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  gap:14px;
  list-style:none;
  margin:0;
  padding:0;
  max-width:280px;
}
.mega-columns a{color:var(--dark);font-weight:700;font-size:.95rem;display:block;}
.mega-columns a:hover{color:var(--c-blue);text-decoration:underline;}

.mega-backdrop{
  display:none;
  position:fixed;inset:0;
  background:rgba(0,0,0,.35);
  z-index:98;
}
.mega-backdrop.show{display:block;}

/* ---------- Mobile nav ---------- */
@media (max-width:900px){
  .menu-toggle{display:block;}
  .main-nav > ul{
    display:none;
    position:fixed;
    top:64px;
    left:0;right:0;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    background:#fff;
    padding:16px 20px 24px;
    box-shadow:0 12px 24px rgba(0,0,0,.15);
    z-index:150;
    max-height:calc(100vh - 64px);
    overflow-y:auto;
  }
  .main-nav > ul.mobile-open{
    display:flex;
  }
  .main-nav > ul > li{width:100%;}
  .main-nav > ul > li > button{
    width:100%;
    justify-content:space-between;
    padding:14px 4px;
    border-bottom:1px solid #eee;
    color:var(--dark);
  }
  .mega{
    max-height:calc(100vh - 64px);
    overflow-y:auto;
  }
}
.visually-hidden-file{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
input[type="file"]{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
/* ---------- Hero ---------- */
.mainstage{
  position:relative;
  background:#000;
  color:#fff;
  min-height:600px;
  display:flex;
  align-items:center;
  padding-top:70px;
  padding-bottom:40px;
  overflow:hidden;
}
.mainstage img.bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:15% 40%;
}
.mainstage::after{
  content:"";position:absolute;inset:0;
  background:rgba(0,0,0,.2);
  z-index:1;
}
.mainstage::before{
  content:"";position:absolute;inset:0;
  background:rgba(0,0,0,.35);
  z-index:1;
}
.hero-content{position:relative;z-index:2;width:100%;padding:40px 0 40px;}
.hero-content .row{max-width:1600px;}
.hero-grid{display:flex;flex-wrap:wrap;gap:70px;align-items:center;justify-content:center;text-align:center;}
.hero-text{flex:1 1 100%;max-width:640px;margin:0 auto;}
.hero-text p{margin-left:auto;margin-right:auto;}
.quick-quote-row{margin-left:auto;margin-right:auto;}
.hero-text h1{
  color:#fff;font-size:2.6rem;line-height:1.25;margin-bottom:24px;
  text-shadow:0 2px 10px rgba(0,0,0,.6);
}
.hero-text p{
  color:#f2f2f2;font-size:1.1rem;max-width:420px;
  text-shadow:0 1px 6px rgba(0,0,0,.6);
}

/* Simple quick-quote row inside hero-text (single email field, links to full contact form) */
.quick-quote-label{
  display:block;color:#eee;font-size:.75rem;text-transform:uppercase;
  letter-spacing:1px;margin-bottom:10px;margin-top:6px;
  text-shadow:0 1px 6px rgba(0,0,0,.6);
}
.quick-quote-row{
  display:flex;
  align-items:stretch;
  border:2px solid rgba(255,255,255,.6);
  max-width:420px;
  border-radius:8px;
  overflow:hidden;
}
.quick-quote-row input{
  flex:1;min-width:0;background:rgba(0,0,0,.4);border:none;color:#fff;
  padding:14px 16px;font-size:.9rem;line-height:1.2;
  box-sizing:border-box;
  position:relative;z-index:1;
}
.quick-quote-row input::placeholder{color:#ddd;}
.quick-quote-row button{
  flex:0 0 auto;
  background:var(--red);
  color:#fff;border:none;padding:0 26px;
  font-weight:700;text-transform:uppercase;letter-spacing:1px;
  cursor:pointer;font-size:.85rem;
  box-sizing:border-box;
}
.quick-quote-row button:hover{background:var(--red-dark);}
.quick-quote-link{
  display:block;margin-top:36px;color:#fff;font-size:.85rem;
  text-decoration:underline;
}
.quick-quote-link:hover{color:var(--accent);}
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* Smaller "banner" style hero used on inner pages like About */
.mainstage.mainstage--banner{
  min-height:400px;
  padding-top:70px;
  padding-bottom:40px;
}
.mainstage--banner .hero-grid{align-items:center;justify-content:center;text-align:center;}
.mainstage--banner .hero-text{max-width:1200px;margin:0 auto;text-align:center;}
.mainstage--banner .hero-text h1{margin-bottom:12px;}
.mainstage--banner .hero-text p{margin-left:auto;margin-right:auto;}
/* ---------- Split section ---------- */
.split-section{margin:80px 0 60px;padding-top:60px;background:#fff;}
.split-section .row{display:flex;flex-wrap:wrap;align-items:center;gap:0;}
.split-section .image{flex:1 1 400px;min-height:340px;position:relative;overflow:hidden;}
.split-section .image img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center center;
  position:absolute;inset:0;
}.split-section .content{flex:1 1 400px;background:var(--gray-bg);padding:50px;}

/* ---------- Services heading ---------- */
.content-section{background:var(--gray-bg);padding-top:45px;}
.content-section .row{padding-bottom:0;}

/* ---------- Service blocks ---------- */
.service-blocks{background:var(--gray-bg);padding-bottom:80px;}
.service-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:20px;
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
}
.service-card{
  background:#fff;
  display:flex;flex-direction:column;
  text-decoration:none;
  border-top:4px solid var(--c-yellow);
  box-shadow:0 4px 12px rgba(0,0,0,.08);
  transition:box-shadow .25s, transform .25s;
}
.service-card:hover{box-shadow:0 16px 32px -12px var(--accent);transform:translateY(-3px);}
.service-grid .service-card:nth-child(3n+1){border-top-color:var(--c-red);}
.service-grid .service-card:nth-child(3n+2){border-top-color:var(--c-yellow);}
.service-grid .service-card:nth-child(3n+3){border-top-color:var(--c-green);}
.service-grid .service-card:nth-child(3n+1):hover{box-shadow:0 16px 32px -12px var(--c-red);}
.service-grid .service-card:nth-child(3n+2):hover{box-shadow:0 16px 32px -12px var(--c-yellow);}
.service-grid .service-card:nth-child(3n+3):hover{box-shadow:0 16px 32px -12px var(--c-green);}
.service-grid .service-card:nth-child(3n+1) .button:hover{background:var(--c-red);}
.service-grid .service-card:nth-child(3n+2) .button:hover{background:var(--c-yellow);}
.service-grid .service-card:nth-child(3n+3) .button:hover{background:var(--c-green);}
.service-card .thumb{aspect-ratio:4/3;overflow:hidden;}
.service-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.service-card:hover .thumb img{transform:scale(1.05);}
.service-card .body{padding:20px 24px;flex:1;display:flex;flex-direction:column;}
.service-card h3{color:var(--dark);margin-bottom:10px;}
.service-card p{font-size:.9rem;flex:1;}
.service-card .button{
  margin-top:auto;
  align-self:flex-start;
}

/* ---------- Blog / resources ---------- */
.resources{padding:60px 0;background:#f7f7f7;}
.resources .row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}
.post-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:24px;
}
.post-card{background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.08);transition:box-shadow .25s, transform .25s;}
.post-card:hover{box-shadow:0 14px 30px -12px var(--c-blue);transform:translateY(-3px);}
.post-card .thumb{aspect-ratio:16/9;overflow:hidden;}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;}
.post-card .body{padding:20px;}
.post-card .tag{
  display:inline-block;background:var(--accent);color:#fff;font-size:.7rem;
  text-transform:uppercase;letter-spacing:1px;padding:4px 10px;margin-bottom:10px;
}
.post-grid .post-card:nth-child(3n+1) .tag{background:var(--c-red);}
.post-grid .post-card:nth-child(3n+2) .tag{background:var(--c-yellow);}
.post-grid .post-card:nth-child(3n+3) .tag{background:var(--c-green);}
.post-card h4{
  margin:0 0 12px;font-size:1.1rem;font-family:Roboto,sans-serif;font-weight:600;
  color:var(--dark);
}

/* ================= ABOUT PAGE SECTIONS ================= */

/* Quote section with background photo */
.quote-section{
  position:relative;
  min-height:340px;
  display:flex;
  align-items:center;
  overflow:hidden;
  color:#fff;
}
.quote-section img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.quote-section::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.55) 45%, rgba(0,0,0,.15) 100%);
  z-index:1;
}
.quote-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:60px 20px;}
.quote-inner blockquote{
  margin:0;
  border-left:4px solid var(--red);
  padding-left:24px;
  max-width:900px;
  font-family:Roboto, sans-serif;
  font-size:18px;
  font-weight:700;
  color:var(--dark);
  line-height:1.4;
}
.quote-inner cite{
  display:block;margin-top:16px;
  font-style:normal;
  font-weight:700;
  color: #0c89bd;
  font-size:.85rem;
  letter-spacing:1px;
  text-transform:uppercase;
}

/* Stats section */
.stats-section{padding:70px 0;background:#fff;}
.stats-section .stats-head{max-width:600px;margin-bottom:40px;}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:24px;
}
.stat-card{
  background:#fff;
  padding:32px 24px;
  text-align:center;
  border-top:4px solid var(--accent);
  box-shadow:0 10px 22px -14px var(--accent), 0 2px 8px rgba(0,0,0,.05);
  transition:box-shadow .25s, transform .25s;
}
.stat-card:hover{box-shadow:0 16px 30px -12px var(--accent);transform:translateY(-3px);}
.stats-grid .stat-card:nth-child(4n+1){border-top-color:var(--c-red);box-shadow:0 10px 22px -14px var(--c-red), 0 2px 8px rgba(0,0,0,.05);}
.stats-grid .stat-card:nth-child(4n+1):hover{box-shadow:0 16px 30px -12px var(--c-red);}
.stats-grid .stat-card:nth-child(4n+2){border-top-color:var(--c-yellow);box-shadow:0 10px 22px -14px var(--c-yellow), 0 2px 8px rgba(0,0,0,.05);}
.stats-grid .stat-card:nth-child(4n+2):hover{box-shadow:0 16px 30px -12px var(--c-yellow);}
.stats-grid .stat-card:nth-child(4n+3){border-top-color:var(--c-green);box-shadow:0 10px 22px -14px var(--c-green), 0 2px 8px rgba(0,0,0,.05);}
.stats-grid .stat-card:nth-child(4n+3):hover{box-shadow:0 16px 30px -12px var(--c-green);}
.stats-grid .stat-card:nth-child(4n+4){border-top-color:var(--c-blue);box-shadow:0 10px 22px -14px var(--c-blue), 0 2px 8px rgba(0,0,0,.05);}
.stats-grid .stat-card:nth-child(4n+4):hover{box-shadow:0 16px 30px -12px var(--c-blue);}
.stat-card .stat-number{
  font-family:Roboto, sans-serif;
  font-weight:700;
  font-size:2.4rem;
  color:var(--dark);
  display:block;
  margin-bottom:6px;
}
.stat-card .stat-label{
  font-size:.9rem;
  text-transform:uppercase;
  letter-spacing:1px;
  font-weight:700;
  color:var(--accent);
}
.stats-grid .stat-card:nth-child(4n+1) .stat-label{color:var(--c-red);}
.stats-grid .stat-card:nth-child(4n+2) .stat-label{color:var(--c-yellow);}
.stats-grid .stat-card:nth-child(4n+3) .stat-label{color:var(--c-green);}
.stats-grid .stat-card:nth-child(4n+4) .stat-label{color:var(--c-blue);}

/* Career / CTA banner */
.career-banner{
  position:relative;
  background:var(--red);
  overflow:hidden;
  margin:0;
}
.career-banner .row{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;
  padding:36px 20px;
  position:relative;z-index:2;
}
.career-banner h2{color:#fff;font-size:1.6rem;margin:0;}
.career-banner h2::after{display:none;}
.career-banner .button{
  background:#000;
}
.career-banner .button:hover{background:var(--dark);}

/* ---------- Footer (full-bleed, 3-color diagonal) ---------- */
footer{background:#000;color:#878787;}
.main-footer{
  max-width:1200px;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
}
.footer-col{
  flex:1 1 280px;
  padding:44px 40px;
  position:relative;
  border-left:1px solid rgba(255,255,255,.08);
}
.footer-col:first-child{border-left:none;}
.footer-col--black{background:#000;}
.footer-col--dark{
  background:#000;
  clip-path:none;
  margin-left:0;
}
.footer-col--red{
  background:#000;
  clip-path:none;
  margin-left:0;
  margin-right:0;
  padding-right:40px;
}
.footer-col h2{color:#fff;font-size:1rem;text-transform:uppercase;letter-spacing:1.5px;}
.footer-col h2::after{display:none;}
.footer-col .footer-sub{color:#c9c9c9;font-size:.85rem;margin-bottom:16px;}
.footer-col--red .footer-sub{color:rgba(255,255,255,.85);}
.footer-links{list-style:none;margin:0;padding:0;}
.footer-links li{margin-bottom:10px;}
.footer-links a{color:#c9c9c9;font-size:.85rem;}
.footer-links a:hover{color:#fff;}
.footer-form{display:flex;align-items:stretch;margin-top:10px;border-radius:8px;overflow:hidden;}
.footer-form input{flex:1;min-width:0;border:2px solid rgba(255,255,255,.4);background:transparent;color:#fff;padding:10px 16px;line-height:1.2;box-sizing:border-box;position:relative;z-index:1;}
.footer-form input::placeholder{color:rgba(255,255,255,.75);}
.footer-form button{flex:0 0 auto;background:var(--red);color:#fff;border:none;padding:0 20px;cursor:pointer;font-weight:700;box-sizing:border-box;}
.footer-form button:hover{background:var(--red-dark);}
.footer-contact{margin:0 0 8px;}
.footer-contact a{color:#fff;font-weight:700;font-size:.95rem;}
.footer-contact a:hover{color: var(--c-blue);}

.sub-footer{border-top:1px solid #333;padding:20px;text-align:center;}
.sub-footer .row{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.8rem;}
.sub-footer a{color:#fff;text-decoration:underline;}
.social-icons{display:flex;gap:12px;margin-top:20px;}
.social-icons a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;text-decoration:none;transition:background .2s;}
.social-icons a:hover{background:var(--c-red);}

@media (max-width:800px){
  .footer-col--dark,.footer-col--red{clip-path:none;margin-left:0;}
  .footer-col--red{margin-right:0;padding-right:44px;}
  .mega-inner{flex-direction:column;}
  .mega-columns{grid-template-columns:repeat(2,1fr);}
  .quote-section::before{background:rgba(255,255,255,.88);}
}


@media (max-width:640px){
  .mainstage{min-height:520px;padding-top:90px;padding-bottom:40px;}
  .mainstage.mainstage--banner{min-height:320px;}
  .hero-text h1{font-size:2rem;}
  .hero-text p{font-size:1rem;}
    .split-section .image{min-height:240px;}

  .split-section .content{padding:32px 24px;}
  .service-grid{grid-template-columns:1fr;}
  .post-grid{grid-template-columns:1fr;}
  .footer-links{columns:1;}
  .mega-columns{grid-template-columns:1fr 1fr;}
  .quote-inner blockquote{font-size:14px;}
  .career-banner .row{flex-direction:column;align-items:flex-start;}

  /* center the hero text + quick-quote block on small screens */
  .hero-text{text-align:center;margin:0 auto;}
  .hero-text p{margin-left:auto;margin-right:auto;}
  .quick-quote-row{margin-left:auto;margin-right:auto;}
}

@media (max-width:420px){
  .mega-columns{grid-template-columns:1fr;}
  .header-main{padding:12px 16px;}
  .logo img{width:110px;}
}

@media (max-width:480px){
  .quick-quote-row{flex-direction:column;border:none;gap:8px;}
  .quick-quote-row input{border:2px solid rgba(255,255,255,.6);}
  .quick-quote-row button{padding:12px;}
  .footer-form{flex-direction:column;overflow:visible;gap:8px;border-radius:0;}
  .footer-form input{border-radius:8px;}
  .footer-form button{border-radius:8px;padding:12px;width:100%;}
}

/* ================= BLOG LISTING PAGE ================= */
.blog-listing{padding:60px 0;background:#f7f7f7;}
.blog-listing .post-grid{margin-bottom:50px;}

.pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  list-style:none;
  margin:0;padding:0;
}
.pagination li{margin:0;}
.pagination a,
.pagination span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:42px;
  padding:0 12px;
  font-weight:700;
  font-size:.9rem;
  color:var(--dark);
  background:#fff;
  border:1px solid #e2e2e2;
}
.pagination a:hover{background:var(--red);color:#fff;border-color:var(--red);}
.pagination .active span{background:var(--red);color:#fff;border-color:var(--red);}
.pagination .disabled span{color:#bbb;cursor:not-allowed;}

/* ================= CONTACT PAGE ================= */
.contact-page{padding:70px 0;background:#fff;}
.contact-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:50px;
  align-items:start;
}
.contact-form-card{
  background:var(--gray-bg);
  padding:36px;
  box-shadow:0 12px 26px -18px var(--accent), 0 4px 14px rgba(0,0,0,.05);
}
.contact-form-card h2{color:var(--dark);margin-bottom:8px;}
.contact-form-card .form-note{color:#555;margin-bottom:24px;}
.contact-form-card label{
  display:block;color:var(--dark);font-size:.8rem;text-transform:uppercase;
  letter-spacing:1px;margin-bottom:6px;font-weight:700;
}
.contact-form-card input[type=text],
.contact-form-card input[type=email],
.contact-form-card input[type="tel"],
.contact-form-card textarea{
  width:100%;
  background:#fff;
  border:2px solid #d8d8d8;
  color:var(--dark);
  padding:12px 14px;
  margin-bottom:18px;
  font-family:inherit;font-size:1rem;
}
.contact-form-card input::placeholder,
.contact-form-card textarea::placeholder{color:#999;}
.contact-form-card textarea{min-height:120px;resize:vertical;}
.contact-form-card .file-upload{
  border:2px dashed #c9c9c9;
  padding:16px;
  margin-bottom:22px;
  display:flex;align-items:center;gap:14px;
  cursor:pointer;
}
.contact-form-card .file-upload .file-btn{
  background:var(--dark);color:#fff;
  padding:8px 16px;font-weight:700;text-transform:uppercase;font-size:.8rem;
  letter-spacing:1px;flex:0 0 auto;
}
.contact-form-card .file-upload .file-label{color:#666;font-size:.9rem;}
.contact-form-card button[type=submit]{width:100%;text-align:center;}

.contact-side .side-card{
  background:#fff;
  color:var(--dark);
  padding:32px;
  margin-bottom:20px;
  border-top:4px solid var(--c-red);
  box-shadow:0 4px 12px rgba(0,0,0,.08);
  transition:box-shadow .25s, transform .25s;
}
.contact-side .side-card h3{color:var(--dark);font-size:1.2rem;margin-bottom:14px;}
.contact-side .side-card p{font-size:.95rem;color:#555;margin-bottom:10px;}
.contact-side .side-card a{color:var(--red);font-weight:700;}
.contact-side .side-card a:hover{color:var(--red-dark);}
.contact-side .hours-row{display:flex;justify-content:space-between;font-size:.9rem;color:#555;margin-bottom:6px;}
.contact-side .hours-row span:last-child{color:var(--dark);font-weight:700;}

.contact-side .side-card:nth-child(1){border-top-color:var(--c-red);}
.contact-side .side-card:nth-child(1):hover{box-shadow:0 16px 32px -12px var(--c-red);transform:translateY(-3px);}
.contact-side .side-card:nth-child(2){border-top-color:var(--c-yellow);}
.contact-side .side-card:nth-child(2):hover{box-shadow:0 16px 32px -12px var(--c-yellow);transform:translateY(-3px);}
.contact-side .side-card:nth-child(3){border-top-color:var(--c-green);}
.contact-side .side-card:nth-child(3):hover{box-shadow:0 16px 32px -12px var(--c-green);transform:translateY(-3px);}

@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr;}
}


/* ================= SERVICE DETAIL PAGE (Design/Print/Shipping category pages) ================= */
.service-banner{
  position:relative;
  background:#e9e9e9;
  overflow:hidden;
  padding-top:70px;
}
.service-banner::before{
  content:"";
  position:absolute;
  top:0;right:0;bottom:0;
  width:65%;
  background:#d4d4d4;
  clip-path:polygon(15% 0,100% 0,100% 100%,0 100%);
}
.service-banner .banner-inner{
  position:relative;z-index:2;
  max-width:1200px;margin:0 auto;
  padding:50px 20px 70px;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:20px;
}
.service-banner .eyebrow{
  color:var(--red);
  font-weight:700;text-transform:uppercase;letter-spacing:1.5px;font-size:.85rem;
  margin-bottom:10px;
}
.service-banner h1{font-size:2.4rem;margin:0;color:var(--dark);max-width:none;}
.service-banner .banner-cta{flex:0 0 auto;}

.service-detail{padding:70px 0 20px;background:#fff;}
.service-detail .detail-grid{display:flex;flex-wrap:wrap;gap:50px;align-items:flex-start;}
.service-detail .detail-text{flex:1 1 420px;}
.service-detail .detail-text h3{margin-top:28px;}
.service-detail .detail-text ul{list-style:none;margin:0;padding:0;}
.service-detail .detail-text ul li{
  position:relative;padding-left:20px;margin-bottom:14px;font-size:1rem;
}
.service-detail .detail-text ul li::before{
  content:"";position:absolute;left:0;top:9px;width:7px;height:7px;background:var(--accent);border-radius:50%;
}
.service-detail .detail-text ul li strong{color:var(--dark);}
.service-detail .detail-image{flex:1 1 300px;display:flex;justify-content:center;}
.service-detail .detail-image img{border-radius:4px;}

.service-quote-cta{text-align:center;padding:20px 0 60px;}
.service-quote-cta .button{transform:skew(0);}
.service-quote-cta .button span{transform:skew(0);}

.service-cta-banner{position:relative;background:var(--dark);overflow:hidden;}

.service-cta-banner .row{
  position:relative;z-index:2;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;
  padding:36px 20px;
}
.service-cta-banner h2{color:#fff;font-size:1.4rem;margin:0;max-width:600px;}
.service-cta-banner h2::after{display:none;}
.service-cta-banner .button{position:relative;z-index:3;}

@media (max-width:800px){
  .service-banner::before{width:100%;clip-path:none;background:#dcdcdc;}
  .service-banner h1{max-width:100%;}
}

/* ---------- Global overflow safety ---------- */
html{overflow-x:hidden;}
body{overflow-x:hidden;}
.hero-text h1,.hero-text p{overflow-wrap:break-word;word-break:break-word;}
.hero-grid > *{min-width:0;}

/* ================= BLOG SINGLE POST PAGE ================= */
.article-page{padding:70px 0;background:#fff;}
.article-wrap{max-width:800px;margin:0 auto;}
.article-meta{
  display:flex;align-items:center;gap:14px;margin-bottom:16px;
}
.article-meta .tag{
  display:inline-block;background:var(--accent);color:#fff;font-size:.7rem;
  text-transform:uppercase;letter-spacing:1px;padding:4px 10px;font-weight:700;
}
.article-meta .date{color:#777;font-size:.9rem;}
.article-page h1{font-size:2.2rem;margin-bottom:20px;}
.article-image{margin:0 0 32px;overflow:hidden;border-radius:4px;}
.article-image img{width:100%;height:auto;display:block;}
.article-body{font-size:1.1rem;line-height:1.8;color:#333;}
.article-body p{margin-bottom:20px;}
.article-body h2{font-size:1.5rem;margin-top:36px;margin-bottom:16px;}
.article-body h3{font-size:1.25rem;margin-top:28px;margin-bottom:14px;}
.article-body ul{margin:0 0 20px 20px;}
.article-body ul li{margin-bottom:10px;font-size:1.05rem;}
.article-body blockquote{
  border-left:4px solid var(--red);
  padding-left:20px;
  margin:28px 0;
  font-style:italic;
  font-size:1.2rem;
  color:#444;
}
.article-share{
  display:flex;align-items:center;gap:12px;margin:36px 0;
  padding:20px 0;border-top:1px solid #eee;border-bottom:1px solid #eee;
}
.article-share span{font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:1px;color:var(--dark);}
.article-share a{
  width:34px;height:34px;border-radius:50%;background:var(--gray-bg);
  display:flex;align-items:center;justify-content:center;color:var(--dark);font-size:.85rem;
}
.article-share a:hover{background:var(--red);color:#fff;}
.article-back{display:inline-block;margin-bottom:30px;font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:1px;}
.related-posts{padding:60px 0;background:#f7f7f7;}
.related-posts h2{margin-bottom:24px;}

/* ================= PRIVACY POLICY / LEGAL PAGE ================= */
.legal-page{padding:70px 0;background:#fff;}
.legal-wrap{max-width:800px;margin:0 auto;}
.legal-wrap .updated{color:#777;font-size:.9rem;margin-bottom:36px;}
.legal-wrap h2{font-size:1.4rem;margin-top:36px;margin-bottom:14px;}
.legal-wrap p{font-size:1.05rem;color:#333;line-height:1.75;margin-bottom:16px;}
.legal-wrap ul{margin:0 0 20px 20px;}
.legal-wrap ul li{margin-bottom:10px;font-size:1.02rem;color:#333;}
.legal-wrap a{text-decoration:underline;}

@media (max-width:640px){
  .article-page h1{font-size:1.7rem;}
  .article-body{font-size:1rem;}
}
/* ================= VALUES SECTION (What Drives Us) ================= */
.values-section{padding:70px 0;background:#fff;}
.values-section .section-head{max-width:700px;margin-bottom:40px;}
.values-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:32px;
}
.value-item{text-align:left;}
.value-item .icon-circle{
  width:56px;height:56px;border-radius:50%;
  background:var(--gray-bg);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:16px;
}
.value-item .icon-circle i{font-size:1.3rem;}
.value-item h3{font-size:1.15rem;margin-bottom:8px;}
.value-item p{font-size:.95rem;color:#555;margin:0;}

.values-grid .value-item:nth-child(4n+1) .icon-circle i{color:var(--c-red);}
.values-grid .value-item:nth-child(4n+2) .icon-circle i{color:var(--c-yellow);}
.values-grid .value-item:nth-child(4n+3) .icon-circle i{color:var(--c-green);}
.values-grid .value-item:nth-child(4n+4) .icon-circle i{color:var(--c-blue);}

/* ================= WHAT WE DO — QUICK OVERVIEW ================= */
.overview-section{padding:70px 0;background:var(--gray-bg);}
.overview-section .section-head{max-width:760px;}
.overview-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:20px;
  margin:36px 0 40px;
}
.overview-item{
  background:#fff;
  padding:28px 16px;
  text-align:center;
  box-shadow:0 4px 12px rgba(0,0,0,.06);
  border-top:4px solid var(--c-blue);
}
.overview-grid .overview-item:nth-child(4n+1){border-top-color:var(--c-red);}
.overview-grid .overview-item:nth-child(4n+2){border-top-color:var(--c-yellow);}
.overview-grid .overview-item:nth-child(4n+3){border-top-color:var(--c-green);}
.overview-grid .overview-item:nth-child(4n+4){border-top-color:var(--c-blue);}
.overview-item .icon-circle{
  width:56px;height:56px;border-radius:50%;
  background:var(--gray-bg);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 14px;
}
.overview-item .icon-circle img{width:28px;height:28px;object-fit:contain;}
.overview-item span{font-weight:700;font-size:.95rem;color:var(--dark);}

/* ================= STATS PHOTO STRIP ================= */
.stats-photo{margin-bottom:40px;border-radius:4px;overflow:hidden;max-height:320px;}
.stats-photo img{width:100%;height:100%;object-fit:cover;display:block;}

/* ================= VISIT US SECTION ================= */
.visit-section{padding:70px 0;background:#fff;}
.visit-grid{display:flex;flex-wrap:wrap;gap:40px;align-items:center;}
.visit-image{flex:1 1 320px;min-height:280px;border-radius:4px;overflow:hidden;}
.visit-image img{width:100%;height:100%;object-fit:cover;display:block;}
.visit-text{flex:1 1 320px;}
.visit-text .hours-row{
  display:flex;justify-content:space-between;max-width:340px;
  font-size:.95rem;color:#555;margin-bottom:6px;
}
.visit-text .hours-row span:last-child{color:var(--dark);font-weight:700;}
.visit-text .hours-block{margin:20px 0 24px;}

@media (max-width:640px){
  .values-grid{grid-template-columns:1fr 1fr;}
  .overview-grid{grid-template-columns:1fr 1fr;}
}
.nav-item-row{display:flex;align-items:center;gap:6px;}
.nav-item-row a {color: white; ;}
 .mobile-caret{
    display:flex;align-items:center;justify-content:center;
    background:none;border:none;cursor:pointer;color:var(--gray-bg);
    padding:14px 10px;font-size:.85rem;
    transition:transform .2s;
  }
  .mobile-caret.open{transform:rotate(180deg);}
@media (max-width:900px){
  .nav-item-row{width:100%;justify-content:space-between;}
  .nav-item-row a {color: var(--dark); ;}

  .mobile-caret{
    display:flex;align-items:center;justify-content:center;
    background:none;border:none;cursor:pointer;color:var(--dark);
    padding:14px 10px;font-size:.85rem;
    transition:transform .2s;
  }
  .mobile-caret.open{transform:rotate(180deg);}

  /* On mobile, the mega panel becomes an inline accordion instead of a fixed dropdown */
  .mega{
    position:static !important;
    opacity:1 !important;
    transform:none !important;
    pointer-events:auto !important;
    box-shadow:none;
    border-top:none;
    min-width:0;
    width:100%;
    display:none !important;
  }
  .mega.mobile-show{display:block !important;}
  .mega-inner{padding:8px 10px 16px 10px;}
}
/* ================= GOOGLE REVIEWS ================= */
.reviews-section{padding:60px 0;background:#fff;}
.reviews-section .row-head{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:20px;flex-wrap:wrap;gap:16px;
}

.review-badge{
  display:flex;align-items:center;gap:10px;margin-bottom:30px;
}
.review-badge .review-score{
  font-family:"Roboto Slab", serif;
  font-weight:700;font-size:1.6rem;color:var(--dark);
}
.review-badge .review-score i{color:var(--accent);margin-left:2px;}
.review-badge .review-count{color:#777;font-size:.9rem;}

.review-grid{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
}
.review-card{
  border-top:4px solid var(--c-yellow);
}
.review-grid .review-card:nth-child(3n+1){border-top-color:var(--c-red);}
.review-grid .review-card:nth-child(3n+2){border-top-color:var(--c-yellow);}
.review-grid .review-card:nth-child(3n+3){border-top-color:var(--c-green);}
.review-grid .review-card:nth-child(3n+1):hover{box-shadow:0 14px 30px -12px var(--c-red);}
.review-grid .review-card:nth-child(3n+2):hover{box-shadow:0 14px 30px -12px var(--c-yellow);}
.review-grid .review-card:nth-child(3n+3):hover{box-shadow:0 14px 30px -12px var(--c-green);}

.review-card .body{padding:24px;}
.review-card .stars{
  color:var(--accent);
  font-size:1rem;
  letter-spacing:2px;
  margin-bottom:12px;
}
.review-card p{font-size:.95rem;color:#333;margin-bottom:14px;line-height:1.6;}
.review-card .reviewer{
  display:block;
  font-weight:700;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--dark);
  opacity:.65;
}

@media (max-width:640px){
  .review-badge{margin-bottom:20px;}
}