/* V7: Full-bleed, two-panel hero and balanced footer.
   This stylesheet intentionally comes last to replace legacy slide/card constraints. */
:root{--jf-navy:#091c30;--jf-navy-deep:#071424}

@media (min-width: 901px){
  .hero.jf-home-hero{
    display:block;
    position:relative;
    width:100%;
    height:clamp(560px,84svh,760px);
    min-height:560px;
    max-height:760px;
    padding:0;
    margin:80px 0 0;
    text-align:initial;
    overflow:hidden;
    background:var(--jf-navy-deep);
  }
  .jf-home-hero::before{display:none}
  .hero.jf-home-hero .jf-home-slide{
    position:absolute;
    inset:0;
    display:flex;
    width:100%;
    max-width:none;
    height:100%;
    min-height:0;
    padding:0;
    margin:0;
    grid-area:auto;
    align-self:stretch;
    transform:none;
  }
  .hero.jf-home-hero .jf-home-slide--team{
    display:block;
    text-align:left;
  }
  .hero.jf-home-hero .jf-team-split{
    position:relative;
    display:block;
    width:100%;
    height:100%;
    min-height:0;
    margin:0;
    padding:0;
    background:var(--jf-navy-deep);
    border-radius:0;
    box-shadow:none;
    overflow:hidden;
  }
  .hero.jf-home-hero .jf-team-photo-link{
    position:absolute;
    z-index:1;
    inset:0 0 0 30%;
    width:70%;
    height:100%;
    min-height:0;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    clip-path:none;
    overflow:hidden;
    background:linear-gradient(180deg,#05080d 0%,#09192b 100%);
  }
  .hero.jf-home-hero .jf-team-photo-link::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at center, rgba(18,38,61,.18) 0%, rgba(5,8,13,.72) 52%, rgba(5,8,13,.96) 100%);
  }
  .hero.jf-home-hero .jf-team-photo-link img{
    position:absolute;
    z-index:2;
    inset:0;
    width:100%;
    height:100%;
    min-height:0;
    object-fit:contain;
    object-position:center;
    transform:none;
  }
  .hero.jf-home-hero .jf-team-photo-link::after{
    z-index:2;
    background:linear-gradient(to top,rgba(0,0,0,.34),transparent 35%);
  }
  .hero.jf-home-hero .jf-team-photo-link__zoom{z-index:3;bottom:26px;right:clamp(22px,4vw,60px)}
  .hero.jf-home-hero .jf-team-copy--panel{
    position:absolute;
    z-index:2;
    inset:0 auto 0 0;
    width:36%;
    max-width:none;
    height:100%;
    min-height:0;
    box-sizing:border-box;
    margin:0;
    padding:clamp(34px,4vw,64px) clamp(34px,4.2vw,58px) clamp(44px,4.6vw,72px) clamp(34px,4.8vw,64px);
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    gap:0;
    border:0;
    border-radius:0;
    background:linear-gradient(150deg,#071526 0%,#0b2036 78%,#102942 100%);
    box-shadow:none;
    clip-path:polygon(0 0,100% 0,calc(100% - clamp(42px,4.6vw,78px)) 100%,0 100%);
    overflow:visible;
  }
  .hero.jf-home-hero .jf-home-slide--team h2{
    max-width:11ch;
    margin:0 0 14px;
    font-size:clamp(2rem,3vw,3.45rem);
    line-height:1.01;
    letter-spacing:-.052em;
    text-wrap:balance;
  }
  .hero.jf-home-hero .jf-slide-eyebrow{font-size:clamp(.61rem,.7vw,.74rem);margin-bottom:clamp(14px,2vw,24px)}
  .hero.jf-home-hero .jf-slide-lead{max-width:31ch;font-size:clamp(.93rem,.95vw,1.03rem);line-height:1.65;margin:0}
  .hero.jf-home-hero .jf-slide-actions{margin-top:clamp(18px,2.4vw,26px);gap:10px}
  .hero.jf-home-hero .jf-slide-actions .jf-btn{font-size:.7rem;min-height:44px;padding:12px 18px}

  /* Slide 2: visually centered vertically and horizontally. */
  .hero.jf-home-hero .jf-home-slide:not(.jf-home-slide--team){
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:clamp(38px,6vw,100px);
    box-sizing:border-box;
  }
  .hero.jf-home-hero .jf-home-slide:not(.jf-home-slide--team) .hero-title{
    width:100%;
    max-width:1180px;
    margin:0 auto;
    text-align:center;
  }
  .hero.jf-home-hero .jf-home-slide:not(.jf-home-slide--team) .hero-title h1{
    display:block;
    font-size:clamp(3.5rem,7.9vw,8rem);
    line-height:.96;
    letter-spacing:-.06em;
    margin:0 0 12px;
    text-align:center;
  }
  .hero.jf-home-hero .jf-home-slide:not(.jf-home-slide--team) .hero-sub{
    margin:20px auto 0;
    max-width:58ch;
    text-align:center;
  }
  .hero.jf-home-hero .jf-home-slide:not(.jf-home-slide--team) .jf-slide-link{margin-top:24px}
}

/* Controls remain part of the image, not an extra dark band under it. */
.jf-home-hero .jf-slider-controls{
  left:clamp(20px,4.8vw,76px);
  bottom:clamp(20px,3vw,36px);
  z-index:10;
  margin:0;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(5,11,17,.55);
  backdrop-filter:blur(14px);
}
.jf-home-hero .hero-scroll{display:none}

/* Footer: brand / two quick-link columns / contact CTA. */
.footer.jf-footer{
  position:relative;
  background:#080a0c;
  padding:clamp(56px,6vw,90px) 0 26px;
  color:#fff;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.08);
}
.footer.jf-footer::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:linear-gradient(90deg,transparent,#ffed00 20%,#ffed00 80%,transparent);
  opacity:.62;
}
.footer.jf-footer .jf-footer__container{max-width:1380px;width:min(90%,1380px);margin-inline:auto}
.jf-footer__top{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,1.08fr) minmax(0,.96fr);
  column-gap:clamp(28px,4vw,75px);
  align-items:start;
}
.jf-footer__brand{min-width:0}
.jf-footer__logo{
  display:inline-flex;
  gap:.2em;
  align-items:baseline;
  font-family:Inter,Arial,sans-serif;
  font-weight:900;
  font-size:clamp(2rem,2.9vw,3.25rem);
  letter-spacing:-.05em;
  line-height:1.03;
  text-decoration:none;
  color:#fff;
}
.jf-footer__logo span{color:#ffed00}
.jf-footer__brand > p{
  margin:24px 0 28px;
  max-width:35ch;
  color:#b4bcc3;
  font-size:clamp(.94rem,1.02vw,1rem);
  line-height:1.75;
}
.jf-footer__social{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#eceff1;
  text-decoration:none;
  font-size:.86rem;
  font-weight:700;
  border:1px solid rgba(255,255,255,.17);
  border-radius:50px;
  padding:11px 15px;
  transition:color .2s,border-color .2s,transform .2s;
}
.jf-footer__social:hover{color:#ffed00;border-color:rgba(255,237,0,.55);transform:translateY(-2px)}
.jf-footer__social .fa-arrow-up-right-from-square{font-size:.68em;opacity:.75}
.footer.jf-footer h3{
  color:#ffed00;
  margin:0 0 22px;
  font-family:'Space Grotesk',Arial,sans-serif;
  font-weight:700;
  font-size:.83rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.jf-footer__link-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.jf-footer__link-groups > div{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.jf-footer__navigation a{
  color:#c9cccf;
  line-height:1.35;
  text-decoration:none;
  font-size:clamp(.91rem,1vw,1rem);
  transition:color .2s ease;
}
.jf-footer__navigation a:hover,.jf-footer__navigation a:focus-visible{color:#ffed00}
.jf-footer__contact{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:13px;
  padding:23px clamp(20px,2.5vw,32px);
  border-radius:18px;
  border:1px solid rgba(255,255,255,.075);
  background:linear-gradient(140deg,#101c2a,#0c1219);
}
.footer.jf-footer .jf-footer__contact h3{margin-bottom:0}
.jf-footer__contact > p{color:#b4bec6;line-height:1.58;margin:0;font-size:.93rem}
.jf-footer__cta{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:44px;
  padding:10px 17px;
  border-radius:999px;
  background:#ffed00;
  color:#101010;
  text-decoration:none;
  font-weight:900;
  font-size:.84rem;
  margin:6px 0 5px;
  transition:transform .2s,box-shadow .2s;
}
.jf-footer__cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,237,0,.18)}
.jf-footer__email,.jf-footer__location{
  color:#e6e7e9;
  font-size:.86rem;
  line-height:1.55;
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-width:0;
  text-decoration:none;
  overflow-wrap:anywhere;
}
.jf-footer__email:hover{color:#ffed00}
.jf-footer__email i,.jf-footer__location i{color:#ffed00;margin-top:3px}
.jf-footer__bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-top:clamp(40px,5vw,66px);
  padding-top:21px;
  border-top:1px solid rgba(255,255,255,.12);
}
.jf-footer__bottom p{margin:0;font-size:.8rem;color:#878d93}
.jf-footer__bottom a{color:#d9dce0;font-weight:700;text-decoration:none}
.jf-footer__bottom a:hover{color:#ffed00}
.jf-footer__bottom a i{font-size:.73rem}

@media (max-width:1130px) and (min-width:901px){
  .hero.jf-home-hero{height:clamp(540px,80svh,700px);min-height:540px;max-height:700px}
  .hero.jf-home-hero .jf-team-copy--panel{width:41%;padding-left:3.6vw;padding-right:8vw}
  .hero.jf-home-hero .jf-team-photo-link{inset:0 0 0 34%;width:66%}
  .hero.jf-home-hero .jf-home-slide--team h2{font-size:clamp(1.92rem,3.5vw,3.1rem)}
  .jf-footer__top{grid-template-columns:.9fr 1.1fr;row-gap:38px}
  .jf-footer__contact{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center}
  .jf-footer__contact h3,.jf-footer__contact > p{grid-column:1}
  .jf-footer__cta{grid-row:1/3;grid-column:2;margin:0}
}
@media (max-width:900px){
  .hero.jf-home-hero{
    display:block;
    position:relative;
    width:100%;
    min-height:calc(100svh - 78px);
    height:calc(100svh - 78px);
    margin:78px 0 0;
    padding:0;
    background:var(--jf-navy-deep);
    overflow:hidden;
  }
  .jf-home-hero::before{display:none}
  .hero.jf-home-hero .jf-home-slide{
    position:absolute;
    inset:0;
    display:flex;
    width:100%;
    max-width:none;
    min-height:0;
    height:100%;
    margin:0;
    padding:0;
    transform:none;
  }
  .hero.jf-home-hero .jf-home-slide--team{display:block}
  .hero.jf-home-hero .jf-team-split{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:56% 44%;
    width:100%;
    height:100%;
    min-height:0;
    border-radius:0;
    overflow:hidden;
    box-shadow:none;
  }
  .hero.jf-home-hero .jf-team-copy--panel{
    position:relative;
    inset:auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    width:100%;
    height:100%;
    min-height:0;
    padding:clamp(16px,3vw,36px) clamp(22px,5vw,52px);
    margin:0;
    border:0;
    border-radius:0;
    clip-path:none;
    background:linear-gradient(160deg,#071526,#102941);
  }
  .hero.jf-home-hero .jf-home-slide--team h2{font-size:clamp(2rem,6vw,3.6rem);line-height:1.03;max-width:17ch;margin-bottom:12px}
  .hero.jf-home-hero .jf-slide-eyebrow{font-size:.62rem;margin-bottom:17px}
  .hero.jf-home-hero .jf-slide-lead{font-size:.92rem;line-height:1.6;max-width:41ch}
  .hero.jf-home-hero .jf-slide-actions{margin-top:16px;gap:9px}
  .hero.jf-home-hero .jf-slide-actions .jf-btn{min-height:43px;padding:10px 17px;font-size:.68rem}
  .hero.jf-home-hero .jf-team-photo-link{position:relative;inset:auto;width:100%;height:100%;min-height:0;border-radius:0;clip-path:none}
  .hero.jf-home-hero .jf-team-photo-link img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
  .hero.jf-home-hero .jf-team-photo-link__zoom{bottom:18px;right:18px}
  .hero.jf-home-hero .jf-home-slide:not(.jf-home-slide--team){
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:clamp(22px,6vw,65px);
  }
  .hero.jf-home-hero .jf-home-slide:not(.jf-home-slide--team) .hero-title h1{
    font-size:clamp(2.9rem,9.2vw,5.4rem);
    line-height:.95;
    text-align:center;
  }
  .hero.jf-home-hero .jf-home-slide:not(.jf-home-slide--team) .hero-sub{text-align:center;margin:18px auto 0}
  .jf-footer__top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:42px}
  .jf-footer__brand{grid-column:1/-1}
  .jf-footer__contact{align-self:start}
}
@media (max-width:600px){
  .hero.jf-home-hero{height:max(760px,calc(100svh - 72px));min-height:0;margin-top:72px;padding:0}
  .hero.jf-home-hero .jf-team-split{grid-template-rows:60% 40%}
  .hero.jf-home-hero .jf-home-slide--team h2{font-size:clamp(1.82rem,7.9vw,2.55rem);max-width:19ch}
  .hero.jf-home-hero .jf-slide-eyebrow{font-size:.58rem;margin-bottom:16px}
  .hero.jf-home-hero .jf-slide-actions .jf-btn{padding:9px 13px;font-size:.65rem;min-height:40px}
  .hero.jf-home-hero .jf-slide-lead{font-size:.9rem}
  .hero.jf-home-hero .jf-team-photo-link__zoom{bottom:19px;right:18px;padding:10px 12px}
  .jf-home-hero .jf-slider-controls{bottom:14px;left:14px;gap:5px;padding:4px 7px}
  .jf-home-hero .jf-slider-arrow{width:31px;height:31px}
  .jf-footer__top{grid-template-columns:1fr;gap:39px}
  .jf-footer__brand{grid-column:auto}
  .jf-footer__link-groups{gap:10px}
  .jf-footer__contact{padding:21px 20px}
  .jf-footer__bottom{align-items:flex-start;flex-direction:column;gap:9px;margin-top:35px}
}
@media (max-width:370px){
  .hero.jf-home-hero{height:max(800px,calc(100svh - 72px))}
  .hero.jf-home-hero .jf-team-split{grid-template-rows:62% 38%}
}
@media (prefers-reduced-motion:reduce){.jf-home-slide{transition:none!important}.jf-team-photo-link img{transition:none!important}}

/* Keep the full team photograph visible on tablet and mobile without dark side bands. */
@media (max-width:900px){
  .hero.jf-home-hero .jf-team-photo-link{background:#202a32}
  .hero.jf-home-hero .jf-team-photo-link::before{
    content:"";
    position:absolute;
    inset:-22px;
    z-index:0;
    background:url('../img/julie-2026/team-studio.webp') center / cover no-repeat;
    filter:blur(16px) brightness(.64);
  }
  .hero.jf-home-hero .jf-team-photo-link::after{z-index:1;background:linear-gradient(to top,rgba(0,0,0,.18),transparent 38%)}
  .hero.jf-home-hero .jf-team-photo-link img{z-index:1}
  .hero.jf-home-hero .jf-team-photo-link__zoom{z-index:3}
}
