
/* Jan-Care brand overrides for Arsha Pro */
:root {
  --jc-blue: #28649e;
  --jc-blue-dark: #173f6b;
  --jc-blue-deep: #102f52;
  --jc-orange: #f58220;
  --jc-orange-dark: #d96508;
  --jc-gold: #f4ce19;
  --jc-light: #f5f8fb;
  --jc-ink: #263746;
  --background-color: #ffffff;
  --default-color: #444444;
  --heading-color: #173f6b;
  --accent-color: #f58220;
  --surface-color: #ffffff;
  --contrast-color: #ffffff;
}
.light-background { --background-color: #f5f8fb; }
.dark-background { --background-color: #173f6b; --default-color:#fff; --heading-color:#fff; --surface-color:#245887; --contrast-color:#fff; }
.header { --background-color: rgba(16,47,82,.96); --heading-color:#fff; color:#fff; box-shadow:0 4px 20px rgba(0,0,0,.12); }
.header .logo img.jc-logo-mark { max-height:48px; width:48px; object-fit:cover; border-radius:8px; margin-right:10px; }
.jc-wordmark { line-height:1; color:#fff; display:flex; flex-direction:column; }
.jc-wordmark span { font-family:Jost,sans-serif; font-weight:700; font-size:28px; color:#f4ce19; letter-spacing:-.5px; }
.jc-wordmark small { font-size:10px; font-weight:800; letter-spacing:1.6px; color:#fff; margin-top:4px; }
.navmenu a, .navmenu a:focus { color:#fff; }
.navmenu li:hover>a, .navmenu .active, .navmenu .active:focus { color:#ffd44d; }
.header .btn-getstarted, .header .btn-getstarted:focus { background:var(--jc-orange); color:#fff; }
.header .btn-getstarted:hover { background:var(--jc-orange-dark); color:#fff; }
.hero.jc-hero { min-height:720px; background:linear-gradient(90deg, rgba(16,47,82,.97) 0%, rgba(23,63,107,.90) 47%, rgba(23,63,107,.48) 100%), url('../img/jancare-fleet.jpg') center/cover no-repeat; }
.hero.jc-hero h1 { font-size:54px; line-height:1.05; }
.hero.jc-hero .eyebrow { color:#ffd44d; text-transform:uppercase; letter-spacing:2px; font-weight:700; margin-bottom:14px; }
.hero.jc-hero p { max-width:680px; font-size:21px; }
.hero .btn-get-started { background:var(--jc-orange); }
.hero .btn-get-started:hover { background:var(--jc-orange-dark); }
.btn-jc { display:inline-flex; align-items:center; justify-content:center; background:var(--jc-orange); color:#fff; border:2px solid var(--jc-orange); border-radius:50px; padding:10px 24px; font-weight:600; transition:.3s; }
.btn-jc:hover { background:var(--jc-orange-dark); border-color:var(--jc-orange-dark); color:#fff; }
.btn-jc-outline { border:2px solid var(--jc-orange); color:var(--jc-orange); border-radius:50px; padding:8px 20px; font-weight:600; }
.btn-jc-outline:hover { background:var(--jc-orange); color:#fff; }
.jc-statbar { margin-top:-54px; position:relative; z-index:4; }
.jc-stat-card { height:100%; background:#fff; border-radius:14px; box-shadow:0 12px 35px rgba(16,47,82,.12); padding:26px 18px; text-align:center; border-bottom:4px solid var(--jc-orange); }
.jc-stat-card .number { font:700 34px Jost,sans-serif; color:var(--jc-blue-dark); }
.jc-stat-card .label { color:#667; font-size:14px; }
.jc-service-card { height:100%; background:#fff; padding:30px; border-radius:14px; box-shadow:0 6px 24px rgba(16,47,82,.08); transition:.25s; border-top:4px solid transparent; }
.jc-service-card:hover { transform:translateY(-5px); border-top-color:var(--jc-orange); box-shadow:0 12px 30px rgba(16,47,82,.14); }
.jc-service-card i { font-size:36px; color:var(--jc-orange); }
.jc-service-card h3 { font-size:21px; margin:14px 0 10px; }
.jc-feature-img { border-radius:16px; box-shadow:0 18px 44px rgba(0,0,0,.15); }
.jc-page-hero { padding:150px 0 70px; background:linear-gradient(110deg,var(--jc-blue-deep),var(--jc-blue)); color:#fff; }
.jc-page-hero h1 { color:#fff; font-size:46px; }
.jc-page-hero p { font-size:20px; max-width:760px; color:rgba(255,255,255,.88); }
.jc-content-card { background:#fff; border-radius:14px; padding:30px; box-shadow:0 5px 22px rgba(16,47,82,.07); height:100%; }
.jc-content-card h3 { font-size:22px; }
.jc-content-card i.icon { font-size:34px; color:var(--jc-orange); }
.jc-link-card { color:inherit; text-decoration:none; }
.jc-link-card:hover .jc-content-card { box-shadow:0 12px 30px rgba(16,47,82,.14); transform:translateY(-3px); }
.jc-content-card { transition:.25s; }
.jc-callout { background:linear-gradient(110deg,var(--jc-blue-dark),var(--jc-blue)); color:#fff; border-radius:18px; padding:36px; }
.jc-callout h2,.jc-callout h3 { color:#fff; }
.jc-callout a:not(.btn-jc) { color:#ffd44d; }
.jc-orange-line { width:70px; height:4px; background:var(--jc-orange); border-radius:4px; margin:14px 0 24px; }
.jc-list li { margin-bottom:10px; }
.jc-list i { color:var(--jc-orange); margin-right:8px; }
.jc-footer { border-top:5px solid var(--jc-orange); }
.jc-footer-logo { width:50px; height:50px; object-fit:cover; border-radius:8px; }
.jc-tagline-footer { color:var(--jc-orange); font-weight:700; }
.footer a { color:inherit; }
.footer a:hover { color:var(--jc-orange); }
.section-title h2:after { background:var(--jc-orange); }
@media (max-width: 991px) { .hero.jc-hero { min-height:650px; text-align:center; background-position:center; } .hero.jc-hero h1 { font-size:40px; } .hero.jc-hero p { font-size:18px; } .jc-statbar { margin-top:0; padding-top:30px; } }

/* Mobile navigation contrast */
@media (max-width: 991px) {
  .navmenu ul { background:#fff !important; }
  .navmenu a, .navmenu a:focus { color:var(--jc-blue-dark) !important; }
  .navmenu a:hover, .navmenu .active, .navmenu .active:focus { color:var(--jc-orange) !important; }
  .navmenu .dropdown ul a { color:var(--jc-blue-dark) !important; }
  .navmenu .dropdown ul a:hover { color:var(--jc-orange) !important; }
}
#request-coverage { scroll-margin-top: 90px; }


/* Keep the full desktop navigation available on laptops and landscape tablets. */
@media (min-width: 992px) {
  .header .container-xl { max-width: 100%; padding-left: 18px; padding-right: 18px; }
  .header .logo { margin-right: 12px !important; flex: 0 0 auto; }
  .header .logo img.jc-logo-mark { width: 42px; height: 42px; max-height: 42px; margin-right: 8px; }
  .jc-wordmark span { font-size: 24px; }
  .jc-wordmark small { font-size: 9px; letter-spacing: 1.25px; }
  .navmenu a, .navmenu a:focus { padding: 18px 9px; font-size: 14px; }
  .navmenu a i, .navmenu a:focus i { margin-left: 3px; }
  .header .btn-getstarted, .header .btn-getstarted:focus { margin-left: 10px; padding: 8px 14px; white-space: nowrap; }
}
@media (min-width: 1200px) {
  .navmenu a, .navmenu a:focus { padding-left: 12px; padding-right: 12px; font-size: 15px; }
}
.jc-legacy-image {
  display:block; max-width:100%; height:auto; margin:24px auto; border-radius:12px;
  box-shadow:0 8px 26px rgba(16,47,82,.12);
}
.jc-legacy-image.no-shadow { box-shadow:none; }


/* v8: wide header with logo left and menu group right */
.jc-header-inner {
  width: 100%;
  max-width: 100%;
  padding-left: 18px;
  padding-right: 18px;
}
#header .logo {
  flex: 0 0 auto;
  margin-right: 24px;
}
#header .navmenu {
  margin-left: auto !important;
}
#header .btn-getstarted {
  flex: 0 0 auto;
  margin-left: 14px;
}
@media (min-width: 992px) {
  #header .navmenu > ul {
    justify-content: flex-end;
    gap: 0;
  }
  #header .navmenu a,
  #header .navmenu a:focus {
    padding-left: 12px;
    padding-right: 12px;
  }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  #header .jc-wordmark span { font-size: 1.55rem; }
  #header .jc-wordmark small { font-size: .66rem; letter-spacing: .10em; }
  #header .jc-logo-mark { width: 54px; height: 54px; }
  #header .logo { margin-right: 10px; }
  #header .navmenu a,
  #header .navmenu a:focus {
    padding-left: 8px;
    padding-right: 8px;
    font-size: 15px;
  }
  #header .btn-getstarted {
    margin-left: 8px;
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* v8: compact legacy news/history card strip */
.jc-news-strip {
  padding: 46px 0 34px;
  background: #fff;
}
.jc-kicker {
  color: var(--accent-color);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .10em;
  font-size: .78rem;
  margin-bottom: 3px;
}
.jc-news-heading {
  color: var(--heading-color);
  font-size: clamp(1.75rem, 2.5vw, 2.25rem);
  font-weight: 700;
}
.jc-news-card {
  display: block;
  height: 100%;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(31, 65, 99, .12);
  box-shadow: 0 8px 24px rgba(31, 65, 99, .08);
  color: inherit;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
.jc-news-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(31, 65, 99, .14);
}
.jc-news-media {
  position: relative;
  height: 150px;
  overflow: hidden;
  background: #e9eef3;
}
.jc-news-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.jc-news-play {
  position: absolute;
  left: 14px;
  bottom: 12px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--accent-color);
  color: white;
  font-size: 1.45rem;
  box-shadow: 0 5px 16px rgba(0,0,0,.22);
}
.jc-news-body {
  padding: 15px 16px 17px;
}
.jc-news-type {
  color: var(--accent-color);
  text-transform: uppercase;
  letter-spacing: .07em;
  font-size: .72rem;
  font-weight: 700;
  margin-bottom: 5px;
}
.jc-news-card h3 {
  color: var(--heading-color);
  font-size: 1.05rem;
  line-height: 1.25;
  margin: 0 0 9px;
}
.jc-news-link {
  color: #506579;
  font-size: .86rem;
  font-weight: 600;
}
.jc-news-card:hover .jc-news-link {
  color: var(--accent-color);
}
@media (max-width: 767.98px) {
  .jc-news-strip { padding: 34px 0 26px; }
  .jc-news-media { height: 170px; }
}


/* v9: legacy Jan-Care video feature */
.jc-news-card[type="button"] {
  font: inherit;
  cursor: pointer;
}
.jc-news-video-preview {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: #0f2f4f;
}
.jc-video-modal {
  overflow: hidden;
  border: 0;
  border-radius: 12px;
}
.jc-video-modal .modal-header {
  border-bottom: 1px solid rgba(31, 65, 99, .12);
}
.jc-video-modal video {
  background: #000;
  max-height: 78vh;
}


/* v10: local news/history article pages */
.jc-article-hero { padding-bottom: 34px !important; }
.jc-article-page { padding-top: 42px; }
.jc-article-wrap {
  max-width: 980px;
  margin: 0 auto;
  font-size: 1.05rem;
  line-height: 1.8;
}
.jc-article-lead-image {
  width: 100%;
  max-height: 560px;
  object-fit: contain;
  background: #f4f6f8;
  border-radius: 12px;
  margin-bottom: 30px;
}
.jc-article-lead {
  font-size: 1.18rem;
  color: #34495e;
}
.jc-article-callout {
  border-left: 4px solid var(--accent-color);
  background: #f7f9fb;
  padding: 18px 22px;
  margin: 26px 0;
  border-radius: 0 8px 8px 0;
}
.jc-article-video {
  overflow: hidden;
  border-radius: 12px;
  background: #000;
  box-shadow: 0 10px 30px rgba(31,65,99,.12);
}
.jc-article-video video { width: 100%; height: 100%; object-fit: contain; background: #000; }
.jc-news-card-horizontal .jc-news-body { min-height: 120px; display:flex; flex-direction:column; justify-content:center; }

/* v13: 9/11 response team list */
.jc-response-team .col {
  padding: 8px 12px;
  border-bottom: 1px solid rgba(31,65,99,.10);
  font-weight: 600;
  color: var(--heading-color);
}

/* v15: richer historical article layouts */
.jc-article-photo-row {
  margin-top: 18px;
  margin-bottom: 34px;
}
.jc-article-inline-image {
  width: 100%;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(31,65,99,.12);
  background: #f4f6f8;
}
.jc-article-wrap h2 {
  margin-top: 34px;
  margin-bottom: 18px;
}

/* v16: keep scroll-to-top clear of Chaport chat widget */
.scroll-top {
  right: auto !important;
  left: 15px !important;
  bottom: 15px !important;
}








/* v27: size the media column from the actual thumbnail aspect ratios.
   At ~190px tall these source images need ~350px width to display in full. */
.jc-feature-row > [class*="col-"] {
  display: flex;
}

.jc-feature-wide {
  width: 100%;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(31, 65, 99, .12);
  box-shadow: 0 8px 24px rgba(31, 65, 99, .08);
  color: inherit;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

.jc-feature-wide:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(31, 65, 99, .14);
}

@media (min-width: 1400px) {
  .jc-feature-wide {
    display: grid;
    grid-template-columns: 350px minmax(0, 1fr);
    min-height: 190px;
    align-items: stretch;
  }

  .jc-feature-wide-media {
    position: relative;
    width: 350px;
    height: 190px;
    min-width: 350px;
    min-height: 190px;
    background: #fff;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .jc-feature-wide-media img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: contain;
    object-position: center center;
  }

  .jc-feature-wide-body {
    min-width: 0;
    min-height: 190px;
    padding: 22px 26px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

/* Once a half-width card cannot comfortably fit a ~350px thumbnail plus text,
   stop squeezing it: stack the full image above the copy. */
@media (max-width: 1399.98px) {
  .jc-feature-wide {
    display: block;
  }

  .jc-feature-wide-media {
    position: relative;
    width: 100%;
    height: auto;
    background: #fff;
    overflow: hidden;
  }

  .jc-feature-wide-media img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
  }

  .jc-feature-wide-body {
    padding: 20px 22px 24px;
  }
}

.jc-feature-wide-media .jc-news-play {
  left: 12px;
  bottom: 12px;
}

.jc-feature-wide-body h3 {
  color: var(--heading-color);
  font-size: 1.08rem;
  line-height: 1.35;
  margin: 6px 0 12px;
}




/* v29: wide feature cards — full thumbnail, no side cropping */
.jc-feature-row > [class*="col-"] {
  display: flex;
}

.jc-feature-wide {
  display: flex;
  align-items: stretch;
  overflow: hidden;
  width: 100%;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(31, 65, 99, .12);
  box-shadow: 0 8px 24px rgba(31, 65, 99, .08);
  color: inherit;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

.jc-feature-wide:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(31, 65, 99, .14);
}

.jc-feature-wide-media {
  flex: 0 0 55%;
  max-width: 55%;
  aspect-ratio: 16 / 9;
  height: auto;
  position: relative;
  background: #0b1f3a;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.jc-feature-wide-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
}

.jc-feature-wide-body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 22px 26px;
}

.jc-feature-wide-body h3 {
  color: var(--heading-color);
  font-size: 1.08rem;
  line-height: 1.35;
  margin: 6px 0 12px;
}

.jc-feature-wide-media .jc-news-play {
  left: 12px;
  bottom: 12px;
}

@media (max-width: 575.98px) {
  .jc-feature-wide {
    flex-direction: column;
  }

  .jc-feature-wide-media {
    flex: 0 0 auto;
    max-width: 100%;
    width: 100%;
  }
}


/* v30: definitive wide-feature thumbnail behavior */
.jc-feature-wide{
  display:flex;
  align-items:stretch;
  overflow:hidden;
}

.jc-feature-wide-media{
  flex:0 0 55%;
  max-width:55%;
  aspect-ratio:16 / 9;
  height:auto;
  position:relative;
  background:#0b1f3a;
}

.jc-feature-wide-media img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
}

.jc-feature-wide-body{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* Center play control on wide feature thumbnails */
.jc-feature-wide-media .jc-news-play{
  top:50% !important;
  left:50% !important;
  right:auto !important;
  bottom:auto !important;
  transform:translate(-50%,-50%) !important;
}

@media (max-width:575.98px){
  .jc-feature-wide{
    flex-direction:column;
  }

  .jc-feature-wide-media{
    flex:0 0 auto;
    max-width:100%;
    width:100%;
  }
}


/* v33: transparent JC mark is visually larger than the old JPG canvas;
   size it independently in header and footer. */
.jc-logo-mark {
  width: 52px !important;
  height: 52px !important;
  object-fit: contain !important;
}

.jc-footer-logo {
  width: 62px !important;
  height: 62px !important;
  object-fit: contain !important;
  flex: 0 0 62px !important;
}

@media (max-width: 575.98px) {
  .jc-logo-mark {
    width: 46px !important;
    height: 46px !important;
  }

  .jc-footer-logo {
    width: 54px !important;
    height: 54px !important;
    flex-basis: 54px !important;
  }
}
