/* Rally ocean hero, production visual release. Existing logo, fonts, navigation and card sections remain unchanged. */
.homePage .homeHero{
  min-height:620px;height:min(940px,100svh);position:relative;isolation:isolate;
  overflow:hidden;background:#083b4b;
}
.homePage .homeHeroImage{
  position:absolute;inset:0;z-index:0;
  background-color:#083b4b;
  background-image:linear-gradient(180deg,rgba(3,25,34,.18) 0%,rgba(1,30,40,.24) 48%,rgba(1,26,34,.46) 100%),url("assets/homepage/desktop/rally-ocean-hero.webp");
  background-position:center;background-size:cover;background-repeat:no-repeat;
  animation:rallyOceanReveal 1.3s ease-out both;
}
.homePage .homeHeroInner{
  position:relative;z-index:2;max-width:920px;padding:110px 0 120px;
}
.homePage .homeHeroKicker{
  padding:0;background:transparent;border-radius:0;font-weight:700;
  letter-spacing:.17em;text-shadow:0 1px 10px rgba(0,0,0,.28);
}
.homePage .homeHero h1{
  max-width:920px;color:#f7f2e8;text-shadow:0 2px 22px rgba(0,18,30,.35);
}
.homePage .homeHero h1 em{color:#f7f2e8}
.homePage .homeHeroCopy p{color:#f7f2e8;max-width:680px}
.homePage .homeHero .homeButtonLight{
  border:1px solid rgba(247,242,232,.9);border-radius:2px;background:rgba(3,30,43,.28);
  color:#f7f2e8;box-shadow:none;
  transition:background-color .2s,color .2s;
}
.homePage .homeHero .homeButtonLight:hover,.homePage .homeHero .homeButtonLight:focus-visible{
  color:#19352c;background:#f7f2e8;
}
.homePage .rallyOceanScrollCue{
  position:absolute;left:50%;bottom:67px;transform:translateX(-50%);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:9px;text-decoration:none;
  font-family:"DM Sans",sans-serif;font-size:9px;font-weight:700;letter-spacing:.17em;
  text-transform:uppercase;white-space:nowrap;color:#f7f2e8;
  text-shadow:0 2px 12px rgba(0,20,32,.3);
}
.homePage .rallyOceanScrollCue:before{content:"";width:1px;height:23px;background:rgba(247,242,232,.78)}
.homePage .rallyOceanScrollCue svg{width:17px;height:10px;fill:none;stroke:currentColor;stroke-width:1.7}
.homePage .rallyOceanEdge{display:block;position:absolute;bottom:-1px;left:0;width:100%;height:clamp(25px,3.6vw,56px);z-index:4;pointer-events:none}
.homePage .rallyOceanEdge path{fill:var(--paper,#fbfaf6)}
.homePage #retreats{scroll-margin-top:20px}
@keyframes rallyOceanReveal{
  from{opacity:.8;transform:scale(1.025)}
  to{opacity:1;transform:scale(1)}
}
@media(max-width:700px){
  .homePage .homeHero{min-height:520px;height:calc(100svh - 60px);max-height:820px}
  .homePage .homeHeroImage{
    background-image:linear-gradient(180deg,rgba(2,25,35,.34),rgba(2,23,31,.40) 60%,rgba(2,22,29,.59)),url("assets/homepage/desktop/rally-ocean-hero.webp");
    background-position:70% center;background-size:cover;
  }
  .homePage .homeHeroInner{padding:55px 0 125px}
  .homePage .homeHeroKicker{font-size:8px;line-height:1.6;margin-bottom:16px}
  .homePage .homeHero h1{font-size:clamp(39px,11vw,55px);line-height:1.01}
  .homePage .homeHeroCopy{display:flex;flex-direction:column;gap:16px}
  .homePage .homeHeroCopy p{font-size:13px;line-height:1.5}
  .homePage .homeHeroCopy .homeButtonLight{margin-top:0;min-height:50px;font-size:11px}
  .homePage .rallyOceanScrollCue{bottom:42px;font-size:8px}
  .homePage .rallyOceanScrollCue:before{height:17px}
}
@media(prefers-reduced-motion:reduce){
  .homePage .homeHeroImage{animation:none}
  .homePage .homeHero .homeButtonLight{transition:none}
}

