/* =========================================================================
   Home hero.
   The header sits transparent on top of the hero and only gains a solid
   ground once the visitor scrolls. The portrait is a framed card with the
   name plate resting on its lower edge.
   ========================================================================= */

/* ------------------------------------------------------- overlay header */
.home .rils-header,
.rils-header{
  position:sticky;top:0;z-index:999;
  transition:background-color .3s ease,border-color .3s ease,backdrop-filter .3s ease;
}
.home .rils-header{
  position:fixed;left:0;right:0;
  background-color:transparent !important;
  border-bottom-color:transparent !important;
  backdrop-filter:none;
}
.home .rils-header.is-stuck{
  background-color:rgba(5,10,24,.90) !important;
  border-bottom-color:var(--rils-border) !important;
  backdrop-filter:blur(14px);
}
.home .rils-hero{padding-top:132px}
@media (max-width:1024px){ .home .rils-hero{padding-top:104px} }

/* Pill around the active nav item, like the reference. */
.rils-nav .elementor-nav-menu .current-menu-item > a{
  background:rgba(231,184,63,.12) !important;
  border-radius:var(--rils-r-pill);
  color:var(--rils-gold) !important;
}

/* ------------------------------------------------------------------ hero */
.rils-hero{position:relative;overflow:hidden;isolation:isolate}

.rils-hero::before{
  content:"";position:absolute;z-index:-1;
  width:min(820px,92vw);aspect-ratio:1;right:-12%;top:-22%;
  background:radial-gradient(circle at 50% 50%, rgba(231,184,63,.15), rgba(231,184,63,.04) 45%, transparent 70%);
  filter:blur(12px);
  animation:rils-drift 18s ease-in-out infinite alternate;
}
.rils-hero::after{
  content:"";position:absolute;z-index:-1;
  width:min(520px,70vw);aspect-ratio:1;left:-16%;bottom:-30%;
  background:radial-gradient(circle at 50% 50%, rgba(57,138,214,.09), transparent 66%);
  filter:blur(22px);
  animation:rils-drift 22s ease-in-out infinite alternate-reverse;
}
@keyframes rils-drift{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(-28px,24px,0) scale(1.07)}
}

/* ------------------------------------------------------------- portrait */
.rils-hero-portrait{position:relative}

.rils-hero-portrait .elementor-widget-image,
.rils-hero-portrait figure,
.rils-hero-portrait .elementor-image{margin:0}

.rils-hero-portrait img{
  width:100%;max-width:480px;height:auto;display:block;margin-left:auto;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 40px 90px rgba(5,10,24,.75);
  animation:rils-float 7s ease-in-out infinite;
  will-change:transform;
}
@keyframes rils-float{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-14px,0)}
}

/* Soft gold halo behind the card. */
.rils-hero-portrait::before{
  content:"";position:absolute;z-index:-1;
  right:-4%;top:6%;width:min(470px,88%);aspect-ratio:3/4;
  border-radius:34px;
  background:linear-gradient(150deg,rgba(231,184,63,.20),rgba(231,184,63,0) 60%);
  filter:blur(6px);
  animation:rils-float 9s ease-in-out infinite .8s;
}

/* Name plate resting on the lower edge of the portrait. */
.rils-nameplate{
  position:absolute;right:14px;bottom:22px;z-index:3;
  background:rgba(11,18,36,.92);
  border:1px solid var(--rils-border);
  border-radius:16px;
  padding:14px 20px;
  backdrop-filter:blur(10px);
  box-shadow:0 20px 44px rgba(5,10,24,.6);
  animation:rils-float 7s ease-in-out infinite;
  max-width:min(300px,74%);
}
.rils-nameplate b{
  display:block;font-family:var(--rils-head);font-weight:700;
  color:var(--rils-ink);font-size:1rem;line-height:1.25;
}
.rils-nameplate span{
  display:block;margin-top:3px;color:var(--rils-muted);
  font-size:.84rem;line-height:1.35;
}

/* ---------------------------------------------------------------- copy */
.rils-hero__eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--rils-body);font-size:.75rem;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--rils-gold);
  border:1px solid rgba(231,184,63,.32);
  border-radius:var(--rils-r-pill);
  padding:7px 16px;margin:0;
  background:rgba(231,184,63,.06);
}
.rils-hero__eyebrow::before{
  content:"";width:7px;height:7px;border-radius:50%;background:var(--rils-gold);
  animation:rils-pulse 2.4s ease-in-out infinite;
}
@keyframes rils-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.78)}}

.rils-hero h1{
  font-size:clamp(2.3rem,4.4vw,3.6rem);
  line-height:1.08;letter-spacing:-0.028em;margin:0;
}
.rils-hero h1 .gold{color:var(--rils-gold)}

.rils-hero__role{
  margin:0;font-family:var(--rils-head);font-weight:600;
  font-size:clamp(1.02rem,1.6vw,1.26rem);
  color:var(--rils-gold);
}
.rils-hero__role .sep{color:var(--rils-muted);margin:0 10px;font-weight:400}
.rils-hero__lead{margin:0;font-size:1.04rem;max-width:50ch}

.rils-hero__lead{margin:0;font-size:1.06rem;max-width:52ch;color:var(--rils-muted)}
.rils-hero__lead--bn{font-size:.98rem;line-height:1.85;margin-top:-4px}

/* Buttons in the reference: gold with a trailing arrow, and a dark pill. */
.rils-btn--arrow .elementor-button::after{
  content:"\2192";margin-left:10px;font-size:1.05em;line-height:1;
  transition:transform .22s ease;display:inline-block;
}
.rils-btn--arrow .elementor-button:hover::after{transform:translateX(5px)}

.rils-btn--dark .elementor-button,
a.rils-btn--dark{
  background-color:var(--rils-card) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:var(--rils-ink) !important;
}
.rils-btn--dark .elementor-button span{color:var(--rils-ink) !important}
.rils-btn--dark .elementor-button:hover,
a.rils-btn--dark:hover{
  background-color:var(--rils-surface) !important;
  border-color:var(--rils-gold) !important;
  color:var(--rils-gold) !important;
}
.rils-btn--dark .elementor-button:hover span{color:var(--rils-gold) !important}

/* Fact strip under the buttons. Labels only, no invented counters. */
.rils-hero__facts{
  display:flex;flex-wrap:wrap;gap:12px;margin:6px 0 0;padding:0;list-style:none;
}
.rils-hero__facts li{
  background:rgba(16,26,48,.75);
  border:1px solid var(--rils-border);
  border-radius:14px;
  padding:12px 18px;min-width:132px;
  transition:border-color .2s ease,transform .2s ease;
}
.rils-hero__facts li:hover{border-color:var(--rils-border-hot);transform:translateY(-2px)}
.rils-hero__facts b{
  display:block;font-family:var(--rils-head);font-weight:700;
  color:var(--rils-gold);font-size:1.02rem;line-height:1.2;
}
.rils-hero__facts span{display:block;margin-top:3px;color:var(--rils-muted);font-size:.8rem}

/* Staggered entrance. Visible if the animation never runs. */
.rils-hero .rils-in{opacity:0;transform:translate3d(0,22px,0);animation:rils-rise .8s cubic-bezier(.22,.61,.36,1) forwards}
.rils-hero .rils-in:nth-child(1){animation-delay:.05s}
.rils-hero .rils-in:nth-child(2){animation-delay:.15s}
.rils-hero .rils-in:nth-child(3){animation-delay:.25s}
.rils-hero .rils-in:nth-child(4){animation-delay:.35s}
.rils-hero .rils-in:nth-child(5){animation-delay:.45s}
.rils-hero .rils-in:nth-child(6){animation-delay:.55s}
@keyframes rils-rise{to{opacity:1;transform:none}}

.rils-hero__rule{
  height:2px;width:0;background:linear-gradient(90deg,var(--rils-gold),rgba(231,184,63,0));
  animation:rils-draw 1.1s .5s cubic-bezier(.22,.61,.36,1) forwards;
  border:0;margin:2px 0 0;
}
@keyframes rils-draw{to{width:190px}}

/* --------------------------------------------------------- responsive */
@media (min-width:1025px){
  .rils-hero-portrait{margin-right:calc(-1 * min(4vw,50px))}
}
@media (max-width:1024px){
  .rils-hero-portrait img{margin-inline:auto;max-width:400px}
  .rils-hero-portrait::before{right:auto;left:50%;margin-left:-200px;width:400px}
  .rils-nameplate{right:50%;transform:translateX(50%);bottom:16px}
}
@media (max-width:600px){
  .rils-hero::before{right:-34%;top:-12%}
  .rils-hero-portrait img{max-width:300px;border-radius:20px}
  .rils-hero-portrait::before{margin-left:-150px;width:300px}
  .rils-nameplate{padding:11px 15px;max-width:86%}
  .rils-nameplate b{font-size:.9rem}
  .rils-nameplate span{font-size:.76rem}
  .rils-hero__facts li{flex:1 1 44%;min-width:0;padding:10px 14px}
  .rils-hero__lead{font-size:1rem}
}

@media (prefers-reduced-motion:reduce){
  .rils-hero::before,.rils-hero::after,
  .rils-hero-portrait img,.rils-hero-portrait::before,
  .rils-nameplate,.rils-hero__eyebrow::before{animation:none !important}
  .rils-hero .rils-in{opacity:1;transform:none;animation:none}
  .rils-hero__rule{width:190px;animation:none}
}
