/* The visual extends behind the copy, following the original photographic
   hero. Broad lighting/fades keep the existing text legible. */
.homepage .hero{background:var(--background)}
.homepage .hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:var(--closing-space,0);
  background:radial-gradient(1px 1px at 4% 23%,#ddd8cc33,transparent),radial-gradient(1px 1px at 13% 44%,#ddd8cc2b,transparent),radial-gradient(1px 1px at 24% 16%,#ddd8cc2e,transparent),radial-gradient(1px 1px at 18% 72%,#ddd8cc24,transparent),radial-gradient(1px 1px at 9% 82%,#ddd8cc2b,transparent),radial-gradient(1px 1px at 31% 36%,#ddd8cc33,transparent),radial-gradient(1px 1px at 37% 65%,#ddd8cc26,transparent),#111315;
}
.homepage .hero h1{max-width:min(640px,40vw);font-size:clamp(3rem,5.5vw,5.5rem)}
.homepage .hero-eyebrow{max-width:540px}
.homepage .hero-description{max-width:min(490px,40vw)}
.homepage .spacerel-animation-media{
  z-index:0;left:max(10%,calc(50% - 510px));right:0;top:0;bottom:0;
  background:var(--background);overflow:hidden;clip-path:inset(0);
}
.homepage .hero-content,.homepage .hero-bottom{position:relative;z-index:1;pointer-events:none}
.homepage .hero-content a,.homepage .hero-bottom a{pointer-events:auto}
.homepage .spacerel-animation-media::after{display:block;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,#111315fa 0%,#111315e8 18%,#111315a6 32%,#11131542 45%,#1113150a 64%,transparent 78%),linear-gradient(0deg,#111315 0%,#1113156b 12%,transparent 25%);
  opacity:calc(1 - var(--finale-presence,0));
}
.homepage .spacerel-animation-media::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,#111315fa 0%,#111315e8 18%,#11131599 27%,transparent 38%),linear-gradient(0deg,#111315 0%,transparent 13%);
  opacity:var(--finale-presence,0);
}
.spacerel-animation{
  display:block;width:100%;height:100%;border:0;background:var(--background);
  mask-image:none;
}
.journey-message{position:absolute;z-index:2;right:clamp(22px,2.5vw,48px);top:58px;margin:0;max-width:440px;
  color:#fff;font-size:calc(clamp(26px,2.2vw,36px) + 2px);line-height:1.3;letter-spacing:-.025em;font-weight:500;text-align:right;text-shadow:0 2px 18px #111315;
}
.spacerel-copyright{position:absolute;z-index:3;right:5.5%;bottom:10px;margin:0;color:#fff;font-size:calc(12px + 2px);font-weight:800;letter-spacing:.025em;line-height:1.4;opacity:1}
@media(max-width:1100px){
  .homepage .hero h1{max-width:min(650px,58vw);font-size:clamp(3rem,6vw,4.65rem)}
  .homepage .hero-description{max-width:490px}
  .homepage .spacerel-animation-media{left:10%}
}
@media(max-width:760px){
  .homepage .hero{min-height:0}
  .homepage .hero-content{order:1;flex:none;padding-top:55px;padding-bottom:22px}
  .homepage .hero h1{max-width:660px;font-size:clamp(2.85rem,7.8vw,4.2rem)}
  .homepage .hero-description{max-width:390px}
  .homepage .spacerel-animation-media{order:2;position:relative;inset:auto;width:100%;height:700px;min-height:0;margin-top:-130px}
  .homepage .spacerel-animation-media::after{background:linear-gradient(180deg,#111315 0%,#111315e6 12%,#11131533 27%,transparent 45%),linear-gradient(0deg,#111315 0px,#111315 6px,transparent 12%)}
  .homepage .spacerel-animation-media::before{background:linear-gradient(180deg,#111315 0%,#111315cc 12%,transparent 23%),linear-gradient(0deg,#111315,transparent 12%)}
  .homepage .hero .cta-group{gap:14px}
  .homepage .hero-bottom{order:3;padding-top:22px;background:var(--background)}
  .journey-message{right:22px;top:112px;font-size:calc(22px + 2px);max-width:320px}
}
@media(max-width:390px){.homepage .hero h1{font-size:2.55rem}}
@media print{.homepage .spacerel-animation-media{display:none}}

