/* V42 — Signature Entrance & Footer Atmosphere.
   A single opening and closing lighting cue. No layout changes, new controls,
   video styling, player geometry or global motion overrides. */
:root { --jr42-ease: cubic-bezier(.22,1,.36,1); }
/* Opening shot: reinforce the existing stagger with a restrained lighting reveal. */
#home.jr28-hero { isolation:isolate; }
#home.jr28-hero .jr28-display-wrap::before {
  opacity:.86;
  transition:opacity 1100ms var(--jr42-ease);
}
#home.jr28-hero .jr28-rule { box-shadow:0 1px 14px rgba(198,111,35,.075); }
#home.jr28-hero .jr28-overline { text-shadow:0 2px 18px rgba(224,152,76,.055); }
#home.jr28-hero .jr28-orbit-one { border-color:rgba(232,151,80,.052); }
/* The original hover/focus states and V40 animation system remain authoritative. */
@media (prefers-reduced-motion:no-preference) {
  #home.jr28-hero .jr28-display-wrap::before {
    animation:jr42-light-come-up 1.55s .05s both;
  }
  #home.jr28-hero .jr28-rule { animation:jr42-rule-appear 1.1s .22s both; }
  #home.jr28-hero .jr28-scroll { animation:jr42-scroll-enter .8s .9s both; }
  @keyframes jr42-light-come-up {
    from { opacity:0; }
    to { opacity:.86; }
  }
  @keyframes jr42-rule-appear {
    from { opacity:0; transform:scaleX(.84); }
    to { opacity:1; transform:scaleX(1); }
  }
  @keyframes jr42-scroll-enter {
    from { opacity:0; transform:translateY(8px); }
    to { opacity:1; transform:translateY(0); }
  }
}
/* Closing shot: one soft warm pool of light, anchored behind the headline.
   Static compositing: no animated blurred layers and no full-screen filter. */
#contact.jr36-finale {
  isolation:isolate;
  background:
    radial-gradient(ellipse 56% 47% at 50% 33%,rgba(175,91,26,.084),transparent 78%),
    linear-gradient(180deg,#11100f 0%,#16120f 44%,#0e0d0c 100%) !important;
}
#contact.jr36-finale::before {
  background:radial-gradient(ellipse 43% 45% at 50% 49%,rgba(235,130,41,.065),transparent 78%) !important;
  opacity:.88;
}
#contact.jr36-finale::after { border-color:rgba(239,157,78,.045); }
#contact.jr36-finale h2 {
  text-shadow:0 14px 42px rgba(0,0,0,.32),0 0 58px rgba(204,105,26,.028);
}
#contact.jr36-finale .jr36-eyebrow { color:#d4c5b5; }
#contact.jr36-finale .jr36-bottom {
  border-top-color:rgba(235,211,185,.105);
}
/* Reveal the final title only after the contact section arrives.
   The default (no JS/old browser) always displays content immediately. */
@media (prefers-reduced-motion:no-preference) {
  html.jr42-observing #contact.jr36-finale .jr36-eyebrow,
  html.jr42-observing #contact.jr36-finale h2,
  html.jr42-observing #contact.jr36-finale .jr36-invitation,
  html.jr42-observing #contact.jr36-finale .jr36-cta,
  html.jr42-observing #contact.jr36-finale .jr36-social {
    opacity:0;
    transform:translateY(16px);
    transition:opacity 800ms var(--jr42-ease),transform 880ms var(--jr42-ease);
  }
  html.jr42-observing #contact.jr36-finale.jr42-visible .jr36-eyebrow,
  html.jr42-observing #contact.jr36-finale.jr42-visible h2,
  html.jr42-observing #contact.jr36-finale.jr42-visible .jr36-invitation,
  html.jr42-observing #contact.jr36-finale.jr42-visible .jr36-cta,
  html.jr42-observing #contact.jr36-finale.jr42-visible .jr36-social {
    opacity:1;
    transform:translateY(0);
  }
  #contact.jr36-finale.jr42-visible h2 { transition-delay:75ms; }
  #contact.jr36-finale.jr42-visible .jr36-invitation { transition-delay:145ms; }
  #contact.jr36-finale.jr42-visible .jr36-cta { transition-delay:215ms; }
  #contact.jr36-finale.jr42-visible .jr36-social { transition-delay:270ms; }
  /* Hover lifting still works after the entrance reveal. */
  #contact.jr36-finale.jr42-visible .jr36-cta:hover { transform:translateY(-2px); }
  #contact.jr36-finale.jr42-visible .jr36-social a:hover { transform:translateY(-2px); }
}
@media (prefers-reduced-motion:reduce) {
  #home.jr28-hero .jr28-display-wrap::before,
  #home.jr28-hero .jr28-rule,
  #home.jr28-hero .jr28-scroll { animation:none !important; }
}
