/* Career Bloomer homepage redesign. Existing site styles remain unchanged for non-home pages. */
.home-page{--home-accent:#0b5f88;--home-accent-dark:#084765;--home-ink:#0f2433;--home-muted:#607487;--home-border:#dce8ef;--home-soft:#f5f9fb;--home-soft-blue:#eef7fb;--home-radius:16px;--home-shadow:0 12px 32px rgba(15,36,51,.08)}
.home-page .site-header{border-bottom:1px solid #e2ebf0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}
.home-page .header-inner{min-height:76px}.home-page .logo{height:62px;width:auto}
.home-page .main-nav{display:flex;align-items:center;gap:.15rem}.home-page .main-nav a{margin-left:0;padding:.55rem .75rem;border-radius:8px;color:#526779;font-size:.94rem;transition:background .2s ease,color .2s ease}.home-page .main-nav a:hover,.home-page .main-nav a.active{color:var(--home-accent);background:var(--home-soft-blue);text-decoration:none}
.home-page .hero{text-align:left;padding:5.25rem 1rem 5rem;background:radial-gradient(circle at 82% 25%,rgba(11,95,136,.10),transparent 34%),linear-gradient(135deg,#f6fbfd 0%,#fff 58%,#f2f8fb 100%);border-bottom:1px solid #edf3f6}
.home-page .hero-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:center;gap:4rem}.home-page .hero-copy{max-width:700px}
.home-page .eyebrow,.home-page .section-kicker{display:inline-block;color:var(--home-accent);font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.home-page .hero h1{margin:.85rem 0 1.2rem;color:var(--home-ink);font-size:clamp(2.55rem,5vw,4.55rem);line-height:1.04;letter-spacing:-.045em;font-weight:800}.home-page .hero h1 span{color:var(--home-accent)}
.home-page .lead{max-width:650px;margin:0;color:var(--home-muted);font-size:clamp(1.05rem,2vw,1.22rem);line-height:1.7}.home-page .hero-ctas{justify-content:flex-start;margin-top:1.8rem;gap:.8rem}.home-page .btn{min-height:48px;padding:.78rem 1.2rem;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-size:.94rem;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.home-page .btn:hover{opacity:1;text-decoration:none;transform:translateY(-2px)}
.home-page .btn-primary{background:var(--home-accent);color:#fff;box-shadow:0 8px 18px rgba(11,95,136,.20)}.home-page .btn-primary:hover{background:var(--home-accent-dark);box-shadow:0 12px 24px rgba(11,95,136,.24)}.home-page .btn-outline{border:1px solid #a9c6d5;background:#fff;color:var(--home-accent)}.home-page .btn-outline:hover{background:var(--home-soft-blue)}
.home-page .hero-note{margin:1.2rem 0 0;color:#738696;font-size:.82rem;font-weight:600;letter-spacing:.03em}
.home-page .hero-panel{padding:1.15rem;border:1px solid rgba(181,209,221,.9);border-radius:20px;background:rgba(255,255,255,.86);box-shadow:0 24px 60px rgba(11,95,136,.11)}.home-page .hero-panel-header{display:flex;align-items:center;gap:.5rem;padding:.25rem .3rem 1rem;color:#718493;font-size:.82rem;font-weight:700}.home-page .hero-panel-dot{width:9px;height:9px;border-radius:50%;background:var(--home-accent);box-shadow:0 0 0 5px rgba(11,95,136,.10)}
.home-page .hero-highlight{display:flex;gap:.9rem;align-items:flex-start;padding:1rem;margin-top:.55rem;border:1px solid #e2edf2;border-radius:13px;background:#fff}.home-page .hero-icon{flex:0 0 38px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--home-soft-blue);color:var(--home-accent);font-size:1.05rem;font-weight:800}.home-page .hero-highlight strong,.home-page .hero-highlight span{display:block}.home-page .hero-highlight strong{color:var(--home-ink);font-size:.94rem}.home-page .hero-highlight span{margin-top:.22rem;color:var(--home-muted);font-size:.82rem;line-height:1.45}
.home-page .section-heading{max-width:760px;margin:0 auto 2rem;text-align:center}.home-page .section-heading-left{display:flex;align-items:end;justify-content:space-between;gap:2rem;max-width:none;text-align:left}.home-page .section-heading h2{margin:.45rem 0;color:var(--home-ink);font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.15;letter-spacing:-.025em}.home-page .section-heading p{margin:0;color:var(--home-muted);font-size:1rem}.home-page .section-link{flex:0 0 auto;color:var(--home-accent);font-weight:750;font-size:.9rem;white-space:nowrap}.home-page .section-link:hover{text-decoration:none}
.home-page .jobs-feature{padding:2.4rem 0;background:var(--home-accent);color:#fff}.home-page .jobs-feature-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.home-page .jobs-feature .section-kicker{color:#bfe5f4}.home-page .jobs-feature h2{margin:.35rem 0 .5rem;color:#fff;font-size:clamp(1.55rem,3vw,2.2rem)}.home-page .jobs-feature p{max-width:720px;margin:0;color:#d9edf5;line-height:1.65}.home-page .jobs-feature .btn{flex:0 0 auto;background:#fff;color:var(--home-accent);box-shadow:none}.home-page .jobs-feature .btn:hover{background:#f2f8fb}
.home-page .platform-section{padding:5rem 0;background:#fff}.home-page .platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.home-page .platform-card{padding:1.65rem;border:1px solid var(--home-border);border-radius:var(--home-radius);background:#fff;box-shadow:0 6px 22px rgba(15,36,51,.045);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.home-page .platform-card:hover{transform:translateY(-4px);border-color:#bfd7e3;box-shadow:var(--home-shadow)}.home-page .platform-card-icon{width:46px;height:46px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;border-radius:12px;background:var(--home-soft-blue);color:var(--home-accent);font-size:1.25rem;font-weight:800}.home-page .platform-card h3{margin:0 0 .45rem;color:var(--home-ink);font-size:1.15rem}.home-page .platform-card p{min-height:68px;margin:0 0 1rem;color:var(--home-muted);line-height:1.6}.home-page .platform-card a{color:var(--home-accent);font-size:.9rem;font-weight:750}.home-page .platform-card a:hover{text-decoration:none}
.home-page .home-content-section{padding-top:1rem;padding-bottom:5rem}.home-page .featured-alt{padding:5rem 0;background:var(--home-soft);border-top:1px solid #edf3f6;border-bottom:1px solid #edf3f6}
.home-page .posts-scroll-wrap{gap:.7rem}.home-page .posts-scroll{gap:1.1rem;padding:.6rem .2rem 1rem}.home-page .posts-scroll article.card{flex:0 0 320px;min-width:320px}.home-page .card{border:1px solid #e0e9ee;border-radius:15px;box-shadow:0 5px 18px rgba(15,36,51,.055);transition:transform .2s ease,box-shadow .2s ease}.home-page .card:hover{transform:translateY(-4px);box-shadow:var(--home-shadow)}.home-page .card-thumb{height:178px;background:#eef4f7}.home-page .card-body{min-height:235px;padding:1rem 1.05rem 1.1rem;gap:.48rem}.home-page .card-category{color:var(--home-accent);font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.home-page .card h3{font-size:1.02rem;line-height:1.35}.home-page .card h3 a{color:var(--home-ink)}.home-page .card h3 a:hover{color:var(--home-accent);text-decoration:none}.home-page .card .meta{margin:0;font-size:.76rem}.home-page .card-body>p:not(.meta){margin:0;color:var(--home-muted);font-size:.86rem;line-height:1.55}.home-page .read-more{margin-top:auto;color:var(--home-accent);font-size:.84rem;font-weight:750}.home-page .read-more:hover{text-decoration:none}
.home-page .scroll-btn{z-index:2;width:42px;height:42px;background:var(--home-accent);box-shadow:0 6px 15px rgba(11,95,136,.18)}.home-page .scroll-btn:hover{background:var(--home-accent-dark);transform:scale(1.06)}
.home-page .subscribe{margin-top:0;padding:5rem 0;background:#fff}.home-page .subscribe-inner{max-width:760px;text-align:center}.home-page .subscribe h2{margin:.45rem 0 .5rem;color:var(--home-ink);font-size:clamp(1.8rem,3vw,2.5rem)}.home-page .subscribe p{color:var(--home-muted)}.home-page .subscribe-form{max-width:580px;margin:1.3rem auto 0;padding:.35rem;border:1px solid #d7e4eb;border-radius:11px;background:#fff;box-shadow:0 7px 22px rgba(15,36,51,.06)}.home-page .subscribe input[type=email]{width:100%;border:0;outline:0;padding:.7rem .8rem;border-radius:8px}.home-page .subscribe-form .btn{white-space:nowrap}.home-page .subscribe .small{margin-top:.7rem;font-size:.78rem}
.home-page .final-cta{padding:5rem 0;text-align:center;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.10),transparent 42%),var(--home-accent-dark)}.home-page .final-cta .section-kicker{color:#bfe5f4}.home-page .final-cta h2{max-width:720px;margin:.5rem auto .65rem;color:#fff;font-size:clamp(1.9rem,4vw,3rem);line-height:1.15;letter-spacing:-.025em}.home-page .final-cta p{max-width:650px;margin:0 auto 1.4rem;color:#d7e9f1}.home-page .btn-light{background:#fff;color:var(--home-accent-dark);box-shadow:none}.home-page .btn-light:hover{background:#f3f8fa}
.home-page .site-footer{padding:1.1rem 0;background:#fff;border-top:1px solid #dfe9ee}.home-page .footer-inner{min-height:50px}.home-page .site-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.1rem 1rem}.home-page .site-footer nav a{margin-left:0;color:#607487;font-size:.82rem}.home-page .site-footer nav a:hover{color:var(--home-accent);text-decoration:none}.home-page .footer-left{color:#718493;font-size:.82rem}.home-page .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}
@media(max-width:900px){.home-page .hero-inner{grid-template-columns:1fr;gap:2.4rem}.home-page .hero-panel{max-width:620px}.home-page .platform-grid{grid-template-columns:1fr}.home-page .platform-card p{min-height:auto}}
@media(max-width:700px){.home-page .header-inner{min-height:64px}.home-page .logo{height:54px}.home-page .main-nav{display:none;position:absolute;top:64px;left:0;right:0;padding:.7rem 1rem 1rem;background:#fff;border-bottom:1px solid #dfe9ee;box-shadow:0 8px 18px rgba(15,36,51,.08)}.home-page .main-nav.show{display:flex}.home-page .main-nav a{width:100%;margin:0;padding:.75rem .8rem}.home-page .menu-toggle{display:block;color:var(--home-ink)}.home-page .hero{padding:3.6rem 1rem 3.5rem}.home-page .hero h1{font-size:clamp(2.25rem,11vw,3.3rem)}.home-page .hero-ctas{flex-direction:column;align-items:stretch}.home-page .hero-ctas .btn{width:100%}.home-page .hero-panel{padding:.8rem}.home-page .jobs-feature{padding:2.2rem 0}.home-page .jobs-feature-inner{flex-direction:column;align-items:flex-start}.home-page .jobs-feature .btn{width:100%}.home-page .platform-section,.home-page .featured-alt,.home-page .subscribe,.home-page .final-cta{padding:3.7rem 0}.home-page .section-heading-left{display:block}.home-page .section-link{display:inline-block;margin-top:.8rem}.home-page .posts-scroll-wrap{display:block}.home-page .scroll-btn{display:none}.home-page .posts-scroll{padding-right:.2rem}.home-page .posts-scroll article.card{flex-basis:285px;min-width:285px}.home-page .subscribe-form{flex-direction:column;border:0;box-shadow:none;padding:0;background:transparent}.home-page .subscribe input[type=email]{border:1px solid #d7e4eb;box-shadow:0 4px 12px rgba(15,36,51,.04)}.home-page .subscribe-form .btn{width:100%}.home-page .footer-inner{align-items:flex-start}.home-page .site-footer nav{justify-content:flex-start;gap:.4rem 1rem}}
@media(max-width:420px){.home-page .container{padding-left:.9rem;padding-right:.9rem}.home-page .hero h1{font-size:2.2rem}.home-page .posts-scroll article.card{flex-basis:270px;min-width:270px}}

/* Homepage layout fixes */
.home-page .jobs-feature{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2.5rem;
  padding:2.5rem 3rem;
  border-radius:0;
}

.home-page .jobs-feature > div{
  min-width:0;
}

.home-page .jobs-feature > .btn{
  flex:0 0 auto;
  white-space:nowrap;
}

.home-page .article-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.5rem;
  margin-top:2rem;
}

.home-page .article-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--home-border);
  border-radius:var(--home-radius);
  box-shadow:var(--home-shadow);
  min-width:0;
}

.home-page .article-card > img{
  display:block;
  width:100%;
  height:220px;
  object-fit:cover;
}

.home-page .article-card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:1.35rem 1.4rem 1.45rem;
}

.home-page .article-card-body h3{
  margin:0 0 .65rem;
  color:var(--home-ink);
  font-size:1.2rem;
  line-height:1.3;
}

.home-page .article-card-body p{
  margin:0;
  color:var(--home-muted);
  line-height:1.65;
}

.home-page .article-card-body a{
  display:inline-block;
  margin-top:auto;
  padding-top:1rem;
  color:var(--home-accent);
  font-weight:700;
  text-decoration:none;
}

.home-page .article-card-body a:hover{
  text-decoration:underline;
}

@media(max-width:900px){
  .home-page .jobs-feature{
    padding:2.25rem;
  }

  .home-page .article-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .home-page .jobs-feature{
    flex-direction:column;
    align-items:flex-start;
    padding:2rem 1.5rem;
  }

  .home-page .jobs-feature > .btn{
    width:100%;
    text-align:center;
  }

  .home-page .article-grid{
    grid-template-columns:1fr;
    gap:1.25rem;
  }

  .home-page .article-card > img{
    height:210px;
  }
}

/* Newsletter layout fixes */
.home-page .newsletter-section{
  padding:4.5rem 0;
  background:var(--home-soft);
}

.home-page .newsletter-box{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
  align-items:center;
  gap:3rem;
  padding:3rem;
  background:#fff;
  border:1px solid var(--home-border);
  border-radius:var(--home-radius);
  box-shadow:var(--home-shadow);
}

.home-page .newsletter-box h2{
  margin:.35rem 0 .65rem;
  color:var(--home-ink);
  font-size:clamp(1.8rem,3vw,2.5rem);
  line-height:1.2;
}

.home-page .newsletter-box p{
  margin:0;
  color:var(--home-muted);
  line-height:1.65;
}

.home-page .newsletter-form{
  display:flex;
  align-items:stretch;
  gap:.7rem;
  margin:0;
}

.home-page .newsletter-form input[type=email]{
  flex:1;
  min-width:0;
  height:50px;
  padding:0 1rem;
  border:1px solid #cbdde6;
  border-radius:10px;
  background:#fff;
  color:var(--home-ink);
  font:inherit;
  outline:none;
}

.home-page .newsletter-form input[type=email]:focus{
  border-color:var(--home-accent);
  box-shadow:0 0 0 3px rgba(11,95,136,.10);
}

.home-page .newsletter-form .btn{
  flex:0 0 auto;
  min-height:50px;
}

.home-page .newsletter-note{
  margin-top:.75rem !important;
  font-size:.82rem;
}

@media(max-width:900px){
  .home-page .newsletter-box{
    grid-template-columns:1fr;
    gap:1.75rem;
    padding:2.5rem;
  }
}

@media(max-width:700px){
  .home-page .newsletter-section{
    padding:3.5rem 0;
  }

  .home-page .newsletter-box{
    padding:2rem 1.5rem;
  }

  .home-page .newsletter-form{
    flex-direction:column;
  }

  .home-page .newsletter-form input[type=email],
  .home-page .newsletter-form .btn{
    width:100%;
  }
}

/* Career article sliders */
.home-page .article-grid{
  display:flex;
  overflow-x:auto;
  gap:1.25rem;
  margin-top:1.75rem;
  padding:0.25rem 0.15rem 1rem;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:thin;
}

.home-page .article-card{
  flex:0 0 calc((100% - 2.5rem) / 3);
  scroll-snap-align:start;
  min-width:0;
}

.home-page .article-card > img{
  height:180px;
}

.home-page .article-card-body{
  padding:1.1rem 1.15rem 1.2rem;
}

.home-page .article-card-body h3{
  font-size:1.05rem;
  line-height:1.3;
  margin-bottom:.5rem;
}

.home-page .article-card-body p{
  font-size:.9rem;
  line-height:1.55;
}

.home-page .article-card-body a{
  padding-top:.8rem;
  font-size:.88rem;
}

@media(max-width:900px){
  .home-page .article-card{
    flex-basis:calc((100% - 1.25rem) / 2);
  }
}

@media(max-width:700px){
  .home-page .article-grid{
    gap:1rem;
    padding-bottom:.75rem;
  }

  .home-page .article-card{
    flex-basis:85%;
  }

  .home-page .article-card > img{
    height:175px;
  }
}

/* Article slider controls */
.home-page .slider-wrapper{
  position:relative;
}

.home-page .slider-controls{
  display:flex;
  justify-content:flex-end;
  gap:.65rem;
  margin:0 0 1rem;
}

.home-page .slider-btn{
  appearance:none;
  border:1px solid var(--home-border);
  border-radius:8px;
  padding:.55rem .85rem;
  background:#fff;
  color:var(--home-accent);
  font:inherit;
  font-size:.85rem;
  font-weight:700;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease,opacity .2s ease;
}

.home-page .slider-btn:hover:not(:disabled){
  background:var(--home-accent);
  border-color:var(--home-accent);
  color:#fff;
}

.home-page .slider-btn:disabled{
  opacity:.4;
  cursor:not-allowed;
}

.home-page .slider-wrapper .article-grid{
  display:flex;
  overflow-x:auto;
  gap:1.25rem;
  margin-top:0;
  padding:.25rem .15rem 1rem;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
}

.home-page .slider-wrapper .article-grid::-webkit-scrollbar{
  display:none;
}

.home-page .slider-wrapper .article-card{
  flex:0 0 calc((100% - 2.5rem) / 3);
  scroll-snap-align:start;
}

.home-page .slider-wrapper .article-card > img{
  height:175px;
}

.home-page .slider-wrapper .article-card-body{
  padding:1rem 1.1rem 1.1rem;
}

.home-page .slider-wrapper .article-card-body h3{
  font-size:1.05rem;
  margin-bottom:.45rem;
}

.home-page .slider-wrapper .article-card-body p{
  font-size:.88rem;
  line-height:1.5;
}

.home-page .slider-wrapper .article-card-body a{
  font-size:.86rem;
  padding-top:.7rem;
}

@media(max-width:900px){
  .home-page .slider-wrapper .article-card{
    flex-basis:calc((100% - 1.25rem) / 2);
  }
}

@media(max-width:700px){
  .home-page .slider-controls{
    justify-content:space-between;
  }

  .home-page .slider-btn{
    flex:1;
  }

  .home-page .slider-wrapper .article-card{
    flex-basis:85%;
  }

  .home-page .slider-wrapper .article-card > img{
    height:170px;
  }
}

/* Hero two-column layout fix */
.home-page .hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  align-items:center;
  gap:3.5rem;
}

.home-page .hero-content{
  min-width:0;
}

.home-page .hero-panel{
  min-width:0;
}

/* Tablet */
@media(max-width:900px){
  .home-page .hero-grid{
    grid-template-columns:1fr;
    gap:2rem;
  }
}

/* Mobile */
@media(max-width:700px){
  .home-page .hero-grid{
    gap:1.5rem;
  }
}

/* Mobile navigation toggle */
.home-page .menu-toggle{
  display:none;
  width:44px;
  height:44px;
  padding:.5rem;
  border:1px solid var(--home-border);
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
}

.home-page .menu-toggle span{
  display:block;
  width:24px;
  height:2px;
  background:var(--home-ink);
  border-radius:2px;
}

@media(max-width:700px){
  .home-page .menu-toggle{
    display:flex;
  }
}
/* Ensure mobile navigation stacks vertically */
@media(max-width:700px){
  .home-page .main-nav{
    flex-direction:column;
  }
}
