/* Outsourcea Service Hub Builder v1.3 Responsive Pro */
.osshb-page{--osshb-bg:#F7F7F6;--osshb-card:#FFFFFF;--osshb-text:#111111;--osshb-muted:#6F7782;--osshb-accent:#00A651;--osshb-image-bg:#D7E9FF;--osshb-width:1320px;background:var(--osshb-bg);color:var(--osshb-text);font-family:inherit;padding:28px 18px 72px}
.osshb-page *{box-sizing:border-box}
.osshb-wrap{max-width:var(--osshb-width);width:100%;margin:0 auto;display:grid;gap:24px}
.osshb-section{background:var(--osshb-card);border:1px solid rgba(17,17,17,.08);border-radius:24px;overflow:hidden;box-shadow:0 16px 40px rgba(15,23,42,.04)}
.osshb-label{display:block!important;padding:22px 32px 0;margin:0;color:#707784;font-size:13px;line-height:1.2;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.osshb-label.centered{text-align:center}
.osshb-hide-labels .osshb-label{display:none!important}

.osshb-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);gap:48px;align-items:center;padding:18px 32px 34px}
.osshb-show-labels .osshb-hero-grid{padding-top:18px}
.osshb-hide-labels .osshb-hero-grid{padding-top:42px}
.osshb-hero-copy h1{margin:0 0 18px!important;color:var(--osshb-text);font-size:clamp(34px,4vw,64px);line-height:1.05;font-weight:750;letter-spacing:-.04em;max-width:8.5ch}
.osshb-hero-copy a,.osshb-guidance a,.osshb-closing a{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 30px;border:1px solid rgba(17,17,17,.14);border-radius:16px;background:#fff;color:#505866!important;text-decoration:none!important;font-size:18px;line-height:1;font-weight:500;transition:all .22s ease}
.osshb-hero-copy a:hover,.osshb-guidance a:hover,.osshb-closing a:hover{border-color:rgba(0,166,81,.4);color:var(--osshb-accent)!important;transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.07)}
.osshb-image-box{min-height:240px;border-radius:24px;overflow:hidden;background:var(--osshb-image-bg);display:flex;align-items:center;justify-content:center}
.osshb-image-box img,.osshb-wide-image img,.osshb-service-img img{width:100%;height:100%;display:block;object-fit:cover}
.osshb-placeholder{width:100%;min-height:170px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;text-align:center;background:var(--osshb-image-bg);color:#064b94;padding:22px}
.osshb-placeholder span{font-size:32px}.osshb-placeholder strong{font-size:16px;font-weight:500;line-height:1.35}

.osshb-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:20px 32px 34px}
.osshb-show-labels .osshb-services-grid,.osshb-show-labels .osshb-why-grid{padding-top:20px}
.osshb-hide-labels .osshb-services-grid,.osshb-hide-labels .osshb-why-grid{padding-top:32px}
.osshb-service-card{display:flex;flex-direction:column;align-items:center;color:inherit!important;text-decoration:none!important;border:1px solid rgba(17,17,17,.11);border-radius:22px;padding:24px;background:#fff;text-align:center;transition:all .24s ease;overflow:hidden;min-height:100%}
.osshb-service-card:hover{transform:translateY(-5px);border-color:rgba(0,166,81,.28);box-shadow:0 20px 48px rgba(2,8,23,.08)}
.osshb-service-img{width:100%;aspect-ratio:16/5.2;border-radius:16px;overflow:hidden;background:var(--osshb-image-bg);margin-bottom:20px}
.osshb-service-img .osshb-placeholder{min-height:100%;padding:12px}.osshb-service-img .osshb-placeholder span{font-size:24px}.osshb-service-img .osshb-placeholder strong{display:none}
.osshb-service-card h2{margin:0 0 8px!important;color:var(--osshb-text);font-size:clamp(24px,2.2vw,30px);line-height:1.08;font-weight:750;letter-spacing:-.03em}
.osshb-subtitle{margin:0 0 12px!important;color:#59616d;font-size:18px;line-height:1.3;font-weight:400}
.osshb-service-text{margin:0 0 16px!important;color:var(--osshb-muted);font-size:15px;line-height:1.62;display:none}
.osshb-service-card span{margin-top:auto;display:inline-flex;color:var(--osshb-accent);font-weight:800;font-size:14px;letter-spacing:.01em;opacity:0;transform:translateY(8px);transition:all .22s ease}
.osshb-service-card:hover .osshb-service-text{display:block}
.osshb-service-card:hover span{opacity:1;transform:none}

.osshb-guidance{text-align:center;padding:2px 20px 38px}
.osshb-show-labels .osshb-guidance,.osshb-show-labels .osshb-closing{padding-top:0}
.osshb-hide-labels .osshb-guidance,.osshb-hide-labels .osshb-closing{padding-top:40px}
.osshb-guidance h2{margin:12px 20px 18px!important;color:var(--osshb-text);font-size:clamp(28px,2.8vw,42px);line-height:1.12;font-weight:700;letter-spacing:-.03em}

.osshb-why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px 32px 32px}
.osshb-why-item{text-align:center;background:linear-gradient(180deg,#fff 0%,#fbfbfb 100%);border-radius:18px;padding:20px 18px 18px;min-height:112px;transition:all .22s ease;border:1px solid rgba(17,17,17,.06)}
.osshb-why-item:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(0,0,0,.05);border-color:rgba(0,166,81,.18)}
.osshb-why-icon{font-size:22px;line-height:1;margin-bottom:10px;color:var(--osshb-accent)}
.osshb-why-item h3{margin:0 0 8px!important;color:#454c57;font-size:17px;line-height:1.2;font-weight:650}
.osshb-why-item p{margin:0!important;color:var(--osshb-muted);font-size:13px;line-height:1.5;opacity:0;max-height:0;overflow:hidden;transition:all .22s ease}
.osshb-why-item:hover p{opacity:1;max-height:100px}

.osshb-closing{text-align:center;padding:2px 20px 36px}
.osshb-wide-image{margin:16px 32px 24px;min-height:160px;border-radius:22px;overflow:hidden;background:var(--osshb-image-bg)}
.osshb-wide-image .osshb-placeholder{min-height:160px}
.osshb-closing h2{margin:0 20px 18px!important;color:var(--osshb-text);font-size:clamp(28px,3vw,42px);line-height:1.12;font-weight:750;letter-spacing:-.03em}

.osshb-reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.osshb-reveal.is-visible{opacity:1;transform:none}

@media (max-width:1180px){
  .osshb-hero-grid{grid-template-columns:1fr;gap:24px}
  .osshb-hero-copy h1{max-width:unset}
  .osshb-image-box{min-height:220px}
  .osshb-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .osshb-page{padding:22px 14px 56px}
  .osshb-wrap{gap:18px}
  .osshb-label{padding:20px 24px 0;font-size:12px}
  .osshb-hero-grid,.osshb-services-grid,.osshb-why-grid{padding-left:24px;padding-right:24px}
  .osshb-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .osshb-wide-image{margin-left:24px;margin-right:24px}
  .osshb-service-text{display:block}
  .osshb-service-card span{opacity:1;transform:none}
  .osshb-why-item p{opacity:1;max-height:none}
}
@media (max-width:640px){
  .osshb-page{padding:16px 10px 44px}
  .osshb-section{border-radius:20px}
  .osshb-label{padding:18px 18px 0;font-size:11px;letter-spacing:.1em}
  .osshb-hero-grid,.osshb-services-grid,.osshb-why-grid{padding-left:18px;padding-right:18px}
  .osshb-show-labels .osshb-services-grid,.osshb-show-labels .osshb-why-grid{padding-top:16px}
  .osshb-hide-labels .osshb-services-grid,.osshb-hide-labels .osshb-why-grid{padding-top:24px}
  .osshb-hide-labels .osshb-hero-grid{padding-top:28px}
  .osshb-show-labels .osshb-hero-grid{padding-top:14px}
  .osshb-hero-grid{padding-bottom:22px}
  .osshb-hero-copy h1{font-size:clamp(30px,10vw,42px)}
  .osshb-hero-copy a,.osshb-guidance a,.osshb-closing a{width:100%;font-size:17px;min-height:54px;padding:0 20px}
  .osshb-services-grid,.osshb-why-grid{grid-template-columns:1fr;gap:16px}
  .osshb-service-card{padding:18px}
  .osshb-service-img{aspect-ratio:16/7}
  .osshb-service-card h2{font-size:22px}
  .osshb-subtitle{font-size:16px}
  .osshb-guidance h2,.osshb-closing h2{font-size:clamp(24px,7vw,32px)}
  .osshb-wide-image{margin-left:18px;margin-right:18px;min-height:130px}
  .osshb-wide-image .osshb-placeholder{min-height:130px}
}


/* v1.4 Professional section labels */
.osshb-label {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  max-width: max-content !important;
  margin: 24px 32px 0 !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: rgba(0,166,81,.08) !important;
  color: var(--osshb-accent) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  border: 1px solid rgba(0,166,81,.14) !important;
}

.osshb-label::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 999px;
  background: var(--osshb-accent);
  box-shadow: 0 0 0 4px rgba(0,166,81,.10);
}

.osshb-label.centered {
  display: flex !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.osshb-hide-labels .osshb-label {
  display: none !important;
}

/* Adjust spacing when labels are visible */
.osshb-show-labels .osshb-hero-grid {
  padding-top: 22px !important;
}

.osshb-show-labels .osshb-services-grid,
.osshb-show-labels .osshb-why-grid {
  padding-top: 22px !important;
}

.osshb-show-labels .osshb-guidance {
  padding-top: 0 !important;
}

.osshb-show-labels .osshb-guidance h2 {
  margin-top: 22px !important;
}

.osshb-show-labels .osshb-closing {
  padding-top: 0 !important;
}

.osshb-show-labels .osshb-wide-image {
  margin-top: 24px !important;
}

/* Make service cards feel more premium */
.osshb-service-card {
  border-radius: 26px !important;
  border-color: rgba(17,17,17,.09) !important;
}

.osshb-service-img {
  border-radius: 18px !important;
}

.osshb-service-card h2 {
  letter-spacing: -0.04em !important;
}

@media(max-width: 767px) {
  .osshb-label {
    margin: 20px 18px 0 !important;
    padding: 7px 12px !important;
    font-size: 10.5px !important;
  }

  .osshb-label.centered {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .osshb-show-labels .osshb-services-grid,
  .osshb-show-labels .osshb-why-grid {
    padding-top: 18px !important;
  }
}


/* v1.5 Pricing-style design applied to Service Hub */

/* Main section container like Pricing plugin */
.osshb-section {
  border-radius: 32px !important;
  border: 1px solid rgba(17,17,17,.08) !important;
  background: var(--osshb-card) !important;
  box-shadow: 0 20px 60px rgba(18,32,56,.04) !important;
  overflow: hidden !important;
}

/* Section labels: full-width top bar like HOW WE PRICE */
.osshb-label {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 24px 30px 22px !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #5f6675 !important;
  font-size: 14px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(17,17,17,.08) !important;
  box-shadow: none !important;
}

.osshb-label::before {
  display: none !important;
  content: none !important;
}

.osshb-label.centered {
  text-align: left !important;
  margin: 0 !important;
}

/* Keep the admin toggle behavior */
.osshb-hide-labels .osshb-label {
  display: none !important;
}

/* Hero section content spacing */
.osshb-show-labels .osshb-hero-grid,
.osshb-hide-labels .osshb-hero-grid {
  padding: 48px 38px 42px !important;
}

.osshb-hero-copy h1 {
  font-size: clamp(40px,5vw,74px) !important;
  line-height: .98 !important;
  letter-spacing: -.05em !important;
  font-weight: 500 !important;
  max-width: 900px !important;
  margin: 0 0 26px !important;
}

.osshb-hero-copy a,
.osshb-guidance a,
.osshb-closing a {
  min-height: 58px !important;
  padding: 0 34px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(17,17,17,.14) !important;
  color: #505866 !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}

.osshb-hero-copy a:hover,
.osshb-guidance a:hover,
.osshb-closing a:hover {
  border-color: rgba(0,166,81,.35) !important;
  color: var(--osshb-accent) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.07) !important;
}

/* Hero image polished */
.osshb-image-box {
  min-height: 260px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}

/* Services Overview section like pricing card spacing */
.osshb-show-labels .osshb-services-grid,
.osshb-hide-labels .osshb-services-grid {
  padding: 38px 38px 42px !important;
  gap: 22px !important;
}

.osshb-service-card {
  border-radius: 24px !important;
  border: 1px solid rgba(17,17,17,.08) !important;
  padding: 28px !important;
  box-shadow: none !important;
  background: #fff !important;
}

.osshb-service-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(0,166,81,.28) !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.08) !important;
}

.osshb-service-img {
  aspect-ratio: 16 / 5.4 !important;
  height: auto !important;
  border-radius: 18px !important;
  margin-bottom: 24px !important;
}

.osshb-service-card h2 {
  font-size: clamp(24px,2.3vw,32px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.04em !important;
  font-weight: 750 !important;
  margin-bottom: 10px !important;
}

.osshb-subtitle {
  color: #59616d !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
}

.osshb-service-text {
  font-size: 15px !important;
  line-height: 1.65 !important;
}

/* Guidance: align with pricing CTA style */
.osshb-show-labels .osshb-guidance,
.osshb-hide-labels .osshb-guidance {
  padding: 0 38px 48px !important;
}

.osshb-guidance h2 {
  margin: 46px 20px 24px !important;
  font-size: clamp(36px,4.2vw,64px) !important;
  line-height: 1 !important;
  letter-spacing: -.05em !important;
  font-weight: 500 !important;
}

/* Why section: pricing card grid style */
.osshb-show-labels .osshb-why-grid,
.osshb-hide-labels .osshb-why-grid {
  padding: 38px 38px 42px !important;
  gap: 18px !important;
}

.osshb-why-item {
  border-radius: 22px !important;
  border: 1px solid rgba(17,17,17,.08) !important;
  background: #fff !important;
  padding: 26px 20px !important;
  box-shadow: none !important;
}

.osshb-why-item:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(0,166,81,.22) !important;
  box-shadow: 0 20px 45px rgba(0,0,0,.06) !important;
}

.osshb-why-icon {
  width: 44px !important;
  height: 44px !important;
  margin: 0 auto 14px !important;
  border-radius: 999px !important;
  background: rgba(0,166,81,.11) !important;
  color: var(--osshb-accent) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.osshb-why-item h3 {
  color: var(--osshb-text) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
}

/* Closing section */
.osshb-show-labels .osshb-closing,
.osshb-hide-labels .osshb-closing {
  padding: 0 38px 48px !important;
}

.osshb-wide-image {
  margin: 38px 0 30px !important;
  min-height: 190px !important;
  border-radius: 24px !important;
}

.osshb-wide-image .osshb-placeholder {
  min-height: 190px !important;
}

.osshb-closing h2 {
  font-size: clamp(36px,4vw,58px) !important;
  line-height: 1 !important;
  letter-spacing: -.05em !important;
  font-weight: 500 !important;
  margin-bottom: 24px !important;
}

/* Responsive */
@media(max-width: 1024px) {
  .osshb-show-labels .osshb-hero-grid,
  .osshb-hide-labels .osshb-hero-grid,
  .osshb-show-labels .osshb-services-grid,
  .osshb-hide-labels .osshb-services-grid,
  .osshb-show-labels .osshb-why-grid,
  .osshb-hide-labels .osshb-why-grid {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  .osshb-services-grid {
    grid-template-columns: 1fr !important;
  }
}

@media(max-width: 767px) {
  .osshb-section {
    border-radius: 24px !important;
  }

  .osshb-label {
    padding: 18px 18px 16px !important;
    font-size: 12px !important;
  }

  .osshb-show-labels .osshb-hero-grid,
  .osshb-hide-labels .osshb-hero-grid,
  .osshb-show-labels .osshb-services-grid,
  .osshb-hide-labels .osshb-services-grid,
  .osshb-show-labels .osshb-why-grid,
  .osshb-hide-labels .osshb-why-grid {
    padding: 30px 18px 28px !important;
  }

  .osshb-hero-copy h1,
  .osshb-guidance h2,
  .osshb-closing h2 {
    font-size: clamp(30px,10vw,46px) !important;
    line-height: 1.03 !important;
  }

  .osshb-image-box {
    min-height: 220px !important;
  }

  .osshb-service-card {
    padding: 22px !important;
  }

  .osshb-service-img {
    aspect-ratio: 16 / 7 !important;
  }

  .osshb-show-labels .osshb-guidance,
  .osshb-hide-labels .osshb-guidance,
  .osshb-show-labels .osshb-closing,
  .osshb-hide-labels .osshb-closing {
    padding: 0 18px 34px !important;
  }

  .osshb-guidance h2 {
    margin-top: 32px !important;
  }

  .osshb-wide-image {
    margin-top: 28px !important;
    min-height: 140px !important;
  }
}


/* v1.6 FINAL FIX: force all section labels to match Pricing plugin style */
.osshb-page .osshb-section > .osshb-label,
.osshb-page .osshb-section > .osshb-label.centered {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 24px 30px 22px !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #5f6675 !important;
  font-size: 14px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(17,17,17,.08) !important;
  box-shadow: none !important;
}

.osshb-page .osshb-section > .osshb-label::before,
.osshb-page .osshb-section > .osshb-label.centered::before {
  display: none !important;
  content: none !important;
}

/* Respect the dashboard show/hide toggle */
.osshb-page.osshb-hide-labels .osshb-section > .osshb-label,
.osshb-page.osshb-hide-labels .osshb-section > .osshb-label.centered {
  display: none !important;
}

/* Content spacing after label bar */
.osshb-page.osshb-show-labels .osshb-guidance {
  padding-top: 0 !important;
}

.osshb-page.osshb-show-labels .osshb-guidance h2 {
  margin-top: 46px !important;
}

.osshb-page.osshb-show-labels .osshb-closing {
  padding-top: 0 !important;
}

.osshb-page.osshb-show-labels .osshb-closing .osshb-wide-image {
  margin-top: 38px !important;
}

.osshb-page.osshb-show-labels .osshb-why-grid {
  padding-top: 38px !important;
}

/* If labels are hidden, keep clean vertical spacing */
.osshb-page.osshb-hide-labels .osshb-guidance,
.osshb-page.osshb-hide-labels .osshb-closing {
  padding-top: 44px !important;
}

.osshb-page.osshb-hide-labels .osshb-why-grid,
.osshb-page.osshb-hide-labels .osshb-services-grid {
  padding-top: 38px !important;
}

@media(max-width: 767px) {
  .osshb-page .osshb-section > .osshb-label,
  .osshb-page .osshb-section > .osshb-label.centered {
    padding: 18px 18px 16px !important;
    font-size: 12px !important;
  }

  .osshb-page.osshb-show-labels .osshb-guidance h2 {
    margin-top: 32px !important;
  }

  .osshb-page.osshb-show-labels .osshb-why-grid,
  .osshb-page.osshb-show-labels .osshb-services-grid {
    padding-top: 30px !important;
  }
}
