/* Shared experience updates */
:root { --avenor-purple: #6f56e4; --avenor-purple-soft: rgba(111,86,228,.16); --avenor-purple-glow: rgba(111,86,228,.24); }
html { scroll-behavior: smooth; }
.site-header {
  width: min(1180px, calc(100% - clamp(32px, 8vw, 128px))); height: 64px; margin: 16px auto 0; padding: 0 20px;
  left: 50%; right: auto; transform: translateX(-50%); border: 1px solid rgba(20,20,20,.08); border-radius: 999px;
  background: rgba(255,255,255,.76); -webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%);
  box-shadow: 0 14px 36px rgba(20,20,20,.08), 0 2px 8px rgba(20,20,20,.04); color: var(--color-black);
}
.site-header--scrolled { background: rgba(255,255,255,.88); border-color: rgba(20,20,20,.1); box-shadow: 0 16px 40px rgba(20,20,20,.1), 0 2px 8px rgba(20,20,20,.04); }
.site-header__nav a, .site-header__cta { color: var(--color-black); }
.site-header__nav a { transition: color 280ms ease, opacity 280ms ease; }
.site-header__nav a:hover { opacity: .58; }
.site-header__actions, .site-header > div { display: flex; align-items: center; gap: 12px; }
.site-header__cta, .button-list .link-page, button.link-page { transition: background-color 300ms ease, color 300ms ease, border-color 300ms ease, transform 300ms ease, box-shadow 300ms ease; }
.button-glow, .site-header__cta[href="apply.html"], .button-list a[href="apply.html"], .site-footer .button-list a:first-child {
  border-color: rgba(111,86,228,.34) !important; background: linear-gradient(135deg, rgba(236,229,255,.88), rgba(255,255,255,.82));
  box-shadow: 0 0 0 1px rgba(111,86,228,.08), 0 0 18px rgba(111,86,228,.16), 0 8px 22px rgba(111,86,228,.1); animation: none;
}
.button-glow::before { display: none; }
.button-glow:hover, .site-header__cta[href="apply.html"]:hover, .button-list a[href="apply.html"]:hover, .site-footer .button-list a:first-child:hover {
  transform: translateY(-1px); color: var(--color-black) !important; background: linear-gradient(135deg, rgba(236,229,255,1), rgba(255,255,255,.94));
  box-shadow: 0 0 0 1px rgba(111,86,228,.18), 0 0 30px rgba(111,86,228,.3), 0 14px 30px rgba(111,86,228,.16);
}
.button-glow:active, .site-header__cta[href="apply.html"]:active { transform: translateY(0) scale(.98); }
.cursor-glow { z-index: 40 !important; width: 280px !important; height: 280px !important; opacity: .72; pointer-events: none !important; mix-blend-mode: multiply; }
body > header, body > main, body > footer, body > section, body > div { position: relative; z-index: 1; }
.site-header { z-index: 100 !important; }

/* Distribution page */
.distribution-hero { min-height: min(820px,92vh); padding-top: calc(var(--header-height) + 72px); align-items: center; display: flex; position: relative; overflow: hidden; }
.distribution-hero::after { content: ""; position: absolute; width: min(54vw,720px); aspect-ratio: 1; right: -11vw; top: 10%; border-radius: 50%; background: radial-gradient(circle at 34% 34%, rgba(236,229,255,.92), rgba(184,164,255,.74) 42%, rgba(109,84,255,.72) 72%, transparent 73%); filter: blur(1px); opacity: .78; pointer-events: none; }
.distribution-hero > .container-grid { position: relative; z-index: 1; }
.distribution-hero__content { max-width: 780px; }
.distribution-hero__content h1 { max-width: 12em; margin-top: 24px; }
.distribution-hero__content p { max-width: 35em; margin-top: 24px; color: var(--muted-on-white); }
.distribution-hero__orb { position: absolute; right: 8vw; bottom: 13%; width: clamp(120px,18vw,240px); aspect-ratio: 1; border-radius: 50%; background: repeating-radial-gradient(circle, rgba(20,20,20,.12) 0 1px, transparent 1px 8%), radial-gradient(circle at 35% 30%, #ece5ff, #b8a4ff 54%, #6d54ff); opacity: .7; pointer-events: none; }
.distribution-section__intro { display: grid; grid-template-columns: 1fr 2fr; gap: var(--gutter); margin-bottom: 72px; }
.distribution-section__intro p { max-width: 31em; color: var(--muted-on-white); }
.distribution-timeline { max-width: 920px; margin: 0 auto; position: relative; }
.distribution-timeline::before { content: ""; position: absolute; left: 27px; top: 28px; bottom: 28px; width: 1px; background: linear-gradient(var(--color-purple), rgba(111,86,228,.12)); }
.distribution-step { display: grid; grid-template-columns: 56px 1fr; gap: 28px; position: relative; padding-bottom: 56px; }
.distribution-step:last-child { padding-bottom: 0; }
.distribution-step__number { width: 56px; height: 56px; display: grid; place-items: center; z-index: 1; border: 1px solid rgba(111,86,228,.32); border-radius: 50%; background: var(--color-white); color: var(--avenor-purple); font-size: 13px; letter-spacing: .08em; }
.distribution-step__body { padding-top: 7px; max-width: 610px; }
.distribution-step__body h3 { font-size: clamp(22px,2.3vw,32px); letter-spacing: -.025em; font-weight: 400; }
.distribution-step__body p { margin-top: 10px; color: var(--muted-on-white); max-width: 48em; }
.distribution-features { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: rgba(255,255,255,.16); margin-top: 64px; }
.distribution-feature { min-height: 210px; padding: 28px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.1); }
.distribution-feature__mark { width: 9px; height: 9px; border-radius: 50%; background: var(--color-purple); box-shadow: 0 0 0 5px rgba(184,164,255,.12); margin-bottom: 54px; }
.distribution-feature h3 { font-size: 22px; font-weight: 400; letter-spacing: -.02em; }
.distribution-feature p { color: var(--muted-on-black); margin-top: 8px; max-width: 20em; }
.distribution-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--gutter); margin-top: 64px; }
.distribution-stat { padding-top: 20px; border-top: 1px solid rgba(20,20,20,.18); }
.distribution-stat__value { letter-spacing: -.05em; font-size: clamp(36px,5vw,68px); line-height: 1; }
.distribution-stat__label { color: var(--muted-on-white); margin-top: 12px; max-width: 11em; }
.distribution-cta { background: linear-gradient(135deg, #ece5ff, #b8a4ff 54%, #8b72ff); }
.distribution-cta__inner { display: grid; grid-template-columns: 1.4fr 1fr; align-items: end; gap: var(--gutter); }
.distribution-cta__inner p { margin-top: 20px; max-width: 31em; }
@media (max-width:900px) { .distribution-features { grid-template-columns: repeat(2,1fr); } .distribution-stats { grid-template-columns: repeat(2,1fr); row-gap: 40px; } .distribution-cta__inner { grid-template-columns: 1fr; } }
@media (max-width:767px) {
  .site-header { width: calc(100% - 24px); margin-top: 12px; padding: 0 12px; }
  .site-header__nav { display: none; } .site-header__logo { font-size: 18px; } .site-header__cta { padding: 7px 12px; font-size: 13px; }
  .distribution-hero { min-height: 760px; padding-top: calc(var(--header-height) + 32px); }
  .distribution-hero::after { width: 88vw; right: -38vw; top: 42%; opacity: .5; } .distribution-hero__orb { right: 13vw; bottom: 10%; width: 84px; }
  .distribution-section__intro { grid-template-columns: 1fr; gap: 20px; margin-bottom: 48px; } .distribution-timeline::before { left: 23px; }
  .distribution-step { grid-template-columns: 48px 1fr; gap: 20px; padding-bottom: 42px; } .distribution-step__number { width: 48px; height: 48px; font-size: 12px; }
  .distribution-features { grid-template-columns: 1fr; } .distribution-feature { min-height: 0; padding: 24px; } .distribution-feature__mark { margin-bottom: 36px; }
  .distribution-stats { grid-template-columns: 1fr 1fr; gap: 28px 16px; } .distribution-stat__value { font-size: clamp(32px,10vw,50px); }
}
@media (prefers-reduced-motion:reduce) { .button-glow, .site-header__cta, .button-list .link-page { transition: none; } }

/* Final premium polish */
:root {
  --avenor-purple-solid: #7659e8;
  --avenor-purple-deep: #6142d3;
  --avenor-purple-highlight: #a995ff;
}

.site-header {
  border-color: rgba(20, 20, 20, .1);
  box-shadow: 0 18px 46px rgba(20, 20, 20, .09), 0 3px 10px rgba(20, 20, 20, .04);
  transition: transform 350ms cubic-bezier(.22, 1, .36, 1), background-color 350ms ease, box-shadow 350ms ease, border-color 350ms ease;
}
.site-header:hover { box-shadow: 0 20px 50px rgba(20, 20, 20, .11), 0 4px 12px rgba(20, 20, 20, .05); }
.site-header__logo {
  position: relative;
  display: inline-block;
  letter-spacing: -.03em;
  isolation: isolate;
}
.site-header__logo::after {
  content: "avenor.";
  position: absolute;
  inset: 0;
  color: transparent;
  background: linear-gradient(105deg, transparent 36%, rgba(118,89,232,.08) 43%, rgba(255,255,255,.96) 49%, rgba(118,89,232,.9) 54%, transparent 63%);
  background-size: 310% 100%;
  background-position: 170% 0;
  background-clip: text;
  -webkit-background-clip: text;
  opacity: 0;
  pointer-events: none;
  animation: avenor-logo-shimmer 8s ease-in-out 1.4s infinite;
}
@keyframes avenor-logo-shimmer {
  0%, 18% { background-position: 170% 0; opacity: 0; }
  28% { opacity: .95; }
  54% { background-position: -80% 0; opacity: .84; }
  64%, 100% { background-position: -80% 0; opacity: 0; }
}

.button-glow,
.site-header__cta[href="apply.html"],
.button-list a[href="apply.html"],
.site-footer .button-list a:first-child,
button.link-page {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .24) !important;
  background: linear-gradient(112deg, var(--avenor-purple-deep) 0%, var(--avenor-purple-solid) 42%, var(--avenor-purple-highlight) 72%, var(--avenor-purple-solid) 100%);
  background-size: 220% 100%;
  background-position: 0 0;
  box-shadow: 0 0 0 1px rgba(118,89,232,.12), 0 8px 18px rgba(97,66,211,.2), 0 0 24px rgba(118,89,232,.18);
  text-shadow: 0 1px 1px rgba(45,27,112,.2);
  animation: avenor-button-breathe 5.8s ease-in-out infinite, avenor-button-gradient 8s ease-in-out infinite;
}
.button-glow::before,
.site-header__cta[href="apply.html"]::before,
.button-list a[href="apply.html"]::before,
.site-footer .button-list a:first-child::before,
button.link-page::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -70% auto -70% -34%;
  width: 30%;
  transform: skewX(-18deg) translateX(-220%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.58), transparent);
  pointer-events: none;
  animation: avenor-button-shimmer 8.5s ease-in-out 1s infinite;
}
.button-glow::after,
.site-header__cta[href="apply.html"]::after,
.button-list a[href="apply.html"]::after,
.site-footer .button-list a:first-child::after,
button.link-page::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at 22% 0%, rgba(255,255,255,.28), transparent 42%);
  opacity: .7;
  pointer-events: none;
}
@keyframes avenor-button-breathe {
  0%, 100% { box-shadow: 0 0 0 1px rgba(118,89,232,.12), 0 8px 18px rgba(97,66,211,.2), 0 0 24px rgba(118,89,232,.18); }
  50% { box-shadow: 0 0 0 1px rgba(118,89,232,.2), 0 11px 24px rgba(97,66,211,.28), 0 0 34px rgba(118,89,232,.27); }
}
@keyframes avenor-button-gradient { 0%, 100% { background-position: 0 0; } 50% { background-position: 100% 0; } }
@keyframes avenor-button-shimmer { 0%, 48% { transform: skewX(-18deg) translateX(-220%); } 68%, 100% { transform: skewX(-18deg) translateX(460%); } }
.button-glow:hover,
.site-header__cta[href="apply.html"]:hover,
.button-list a[href="apply.html"]:hover,
.site-footer .button-list a:first-child:hover,
button.link-page:hover {
  transform: translateY(-2px) scale(1.04);
  color: #fff !important;
  background-position: 100% 0;
  box-shadow: 0 0 0 1px rgba(118,89,232,.25), 0 14px 30px rgba(97,66,211,.32), 0 0 40px rgba(118,89,232,.38);
  animation: avenor-button-gradient 4s ease-in-out infinite;
}
.button-glow:hover::before,
.site-header__cta[href="apply.html"]:hover::before,
.button-list a[href="apply.html"]:hover::before,
.site-footer .button-list a:first-child:hover::before,
button.link-page:hover::before { animation-duration: 2.4s; }
.button-glow:active,
.site-header__cta[href="apply.html"]:active,
button.link-page:active { transform: translateY(0) scale(.99); }
.button-list .link-page:not(.button-glow):not([href="apply.html"]):hover { transform: translateY(-1px); }

.site-header__nav a,
.site-header__cta,
.link-page,
.home__faq-item,
.distribution-feature,
.home__feature-visual,
.home__points-media { transition-timing-function: cubic-bezier(.22, 1, .36, 1); }
.site-header__nav a:focus-visible,
.site-header__cta:focus-visible,
.link-page:focus-visible,
button:focus-visible { outline: 2px solid var(--avenor-purple-solid); outline-offset: 4px; }
.home__feature-visual,
.home__points-media { transition: transform 600ms cubic-bezier(.22,1,.36,1), box-shadow 600ms ease; }
.home__feature-visual:hover,
.home__points-media:hover { transform: scale(1.012); box-shadow: 0 18px 40px rgba(20,20,20,.12); }
.home__faq-item { transition: background-color 300ms ease, padding-left 300ms ease, padding-right 300ms ease; }
.home__faq-item:hover { background: rgba(111,86,228,.035); padding-left: 10px; padding-right: 10px; }
.distribution-feature { transition: transform 350ms cubic-bezier(.22,1,.36,1), background-color 350ms ease, border-color 350ms ease, box-shadow 350ms ease; }
.distribution-feature:hover { transform: translateY(-5px); background: rgba(255,255,255,.075); border-color: rgba(184,164,255,.36); box-shadow: 0 16px 34px rgba(0,0,0,.18); }
.reveal { transition: opacity 850ms cubic-bezier(.22,1,.36,1), transform 850ms cubic-bezier(.22,1,.36,1), filter 850ms cubic-bezier(.22,1,.36,1) !important; }
.cursor-glow { opacity: .62; filter: blur(42px); transition: transform 160ms ease-out, width 240ms ease, height 240ms ease, opacity 240ms ease !important; }

@media (max-width: 767px) {
  .site-header:hover { box-shadow: 0 18px 42px rgba(20,20,20,.09), 0 3px 10px rgba(20,20,20,.04); }
  .button-glow:hover, .site-header__cta[href="apply.html"]:hover, button.link-page:hover { transform: translateY(-1px) scale(1.025); }
  .home__faq-item:hover { padding-left: 0; padding-right: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header__logo::after, .button-glow, .button-glow::before, .site-header__cta[href="apply.html"], .site-header__cta[href="apply.html"]::before, button.link-page, button.link-page::before { animation: none !important; }
  .home__feature-visual, .home__points-media, .distribution-feature, .button-glow, .site-header__cta, button.link-page { transition: none !important; }
}

/* Final refinement pass */
.site-header__logo::after {
  background: linear-gradient(105deg, transparent 35%, rgba(118,89,232,.04) 43%, rgba(118,89,232,.82) 49%, rgba(185,166,255,.96) 53%, rgba(118,89,232,.78) 57%, transparent 65%);
  background-size: 280% 100%;
  background-position: 190% 0;
  animation: avenor-logo-shimmer-refined 8.8s cubic-bezier(.22,1,.36,1) 1.2s infinite;
}
@keyframes avenor-logo-shimmer-refined {
  0%, 20% { background-position: 190% 0; opacity: 0; }
  29% { opacity: .88; }
  55% { background-position: -90% 0; opacity: .78; }
  66%, 100% { background-position: -90% 0; opacity: 0; }
}

.button-glow:hover,
.site-header__cta[href="apply.html"]:hover,
.button-list a[href="apply.html"]:hover,
.site-footer .button-list a:first-child:hover,
button.link-page:hover {
  color: #15131b !important;
  text-shadow: none;
}

/* One ambient hero interaction: a slow, low-contrast light field behind the beacon. */
.home__cover::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -18%;
  background:
    radial-gradient(circle at 74% 26%, rgba(184,164,255,.28), transparent 25%),
    radial-gradient(circle at 38% 82%, rgba(236,229,255,.7), transparent 28%),
    radial-gradient(circle at 100% 76%, rgba(111,86,228,.12), transparent 32%);
  background-size: 125% 125%;
  opacity: .72;
  filter: blur(18px);
  pointer-events: none;
  will-change: transform, background-position;
  animation: avenor-home-lightfield 17s ease-in-out infinite alternate;
}
.home__cover::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: min(52vw, 700px);
  aspect-ratio: 1;
  right: -8vw;
  top: 7vh;
  border: 1px solid rgba(118,89,232,.08);
  border-radius: 50%;
  transform: rotate(-18deg) scale(.92);
  opacity: .75;
  pointer-events: none;
  animation: avenor-home-orbit 14s ease-in-out infinite;
}
.home__cover > .container-grid,
.home__beacon { z-index: 1; }
.home__beacon::after {
  content: "";
  position: absolute;
  inset: 5%;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  pointer-events: none;
  animation: avenor-beacon-ring 9s ease-in-out infinite;
}
@keyframes avenor-home-lightfield {
  0% { transform: translate3d(-1.5%, -1%, 0) scale(1); background-position: 0 0; }
  100% { transform: translate3d(2%, 1.5%, 0) scale(1.04); background-position: 100% 80%; }
}
@keyframes avenor-home-orbit {
  0%, 100% { transform: rotate(-18deg) scale(.92); opacity: .52; }
  50% { transform: rotate(-9deg) scale(1.02); opacity: .9; }
}
@keyframes avenor-beacon-ring {
  0%, 100% { transform: scale(.94); opacity: .18; }
  50% { transform: scale(1.04); opacity: .6; }
}

@media (max-width: 767px) {
  .home__cover::after { width: 88vw; right: -40vw; top: 17vh; }
  .home__cover::before { inset: -25%; opacity: .62; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header__logo::after,
  .home__cover::before,
  .home__cover::after,
  .home__beacon::after { animation: none !important; }
}

/* Homepage signature visual and clean logo reset */
.site-header__logo,
.site-header__logo span {
  color: var(--color-black) !important;
  text-shadow: none !important;
  filter: none !important;
  animation: none !important;
}
.site-header__logo::after {
  content: none !important;
  display: none !important;
  background: none !important;
  animation: none !important;
  opacity: 0 !important;
}

/* A layered, glass-like signal orb gives the homepage its signature moment. */
.home__beacon {
  isolation: isolate;
  perspective: 900px;
}
.home__beacon .beacon {
  box-shadow: 0 38px 90px rgba(83, 55, 190, .24), inset 0 1px 0 rgba(255,255,255,.7), inset 0 -24px 42px rgba(67,42,166,.2);
  transform: translateZ(0);
}
.home__beacon::before {
  content: "";
  position: absolute;
  z-index: 2;
  width: 40%;
  aspect-ratio: .82;
  top: 20%;
  right: 7%;
  border: 1px solid rgba(255,255,255,.54);
  border-radius: 28px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.56), rgba(255,255,255,.1) 36%, rgba(107,81,229,.18) 100%),
    radial-gradient(circle at 28% 20%, rgba(255,255,255,.72), transparent 23%);
  box-shadow: 0 24px 46px rgba(44,27,130,.2), inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transform: rotate(12deg) rotateY(-13deg);
  transform-origin: center;
  pointer-events: none;
  will-change: transform;
  animation: avenor-signal-plane 9s cubic-bezier(.42,0,.2,1) infinite;
}
.home__beacon::after {
  z-index: 3;
  inset: 10%;
  border-width: 1px;
  border-color: rgba(255,255,255,.35);
  box-shadow: 0 0 0 16px rgba(255,255,255,.035), 0 0 0 32px rgba(184,164,255,.055);
  animation: avenor-signal-orbit 11s cubic-bezier(.42,0,.2,1) infinite;
}
.home__beacon .beacon::before {
  content: "";
  position: absolute;
  z-index: 2;
  width: 38%;
  aspect-ratio: 1;
  left: 10%;
  bottom: 12%;
  border: 1px solid rgba(255,255,255,.62);
  border-radius: 22px;
  background: linear-gradient(150deg, rgba(255,255,255,.56), rgba(236,229,255,.1) 48%, rgba(94,66,210,.22));
  box-shadow: 0 16px 34px rgba(48,28,145,.16), inset 0 1px 0 rgba(255,255,255,.65);
  transform: rotate(-18deg) rotateX(10deg);
  pointer-events: none;
  will-change: transform;
  animation: avenor-signal-chip 7.5s ease-in-out infinite alternate;
}
.home__beacon .beacon::after {
  content: "";
  position: absolute;
  inset: 7%;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 50%;
  background: linear-gradient(120deg, rgba(255,255,255,.3), transparent 36%, transparent 64%, rgba(255,255,255,.18));
  pointer-events: none;
  mix-blend-mode: soft-light;
}
@keyframes avenor-signal-plane {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(12deg) rotateY(-13deg); }
  50% { transform: translate3d(-5%, -7%, 0) rotate(7deg) rotateY(-4deg); }
}
@keyframes avenor-signal-orbit {
  0%, 100% { transform: scale(.96) rotate(0deg); opacity: .28; }
  50% { transform: scale(1.08) rotate(15deg); opacity: .72; }
}
@keyframes avenor-signal-chip {
  0% { transform: translate3d(0, 0, 0) rotate(-18deg) rotateX(10deg); }
  100% { transform: translate3d(10%, -12%, 0) rotate(-8deg) rotateX(2deg); }
}

@media (max-width: 767px) {
  .home__beacon::before { border-radius: 18px; }
  .home__beacon .beacon::before { border-radius: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .home__beacon::before,
  .home__beacon::after,
  .home__beacon .beacon::before { animation: none !important; }
}

/* Hero refinement: one focal point, the Avenor signal circle. */
.home__cover::after,
.home__beacon::before,
.home__beacon::after,
.home__beacon .beacon::before {
  content: none !important;
  display: none !important;
  animation: none !important;
}
.home__beacon .beacon {
  box-shadow: 0 34px 76px rgba(83,55,190,.2), inset 0 1px 0 rgba(255,255,255,.62), inset 0 -24px 42px rgba(67,42,166,.16);
  transform-origin: 50% 50%;
  will-change: transform;
  animation: avenor-signal-breathe 15s cubic-bezier(.42,0,.2,1) infinite;
}
.home__beacon .beacon__rings {
  transform-origin: 50% 50%;
  will-change: transform, opacity;
  animation: avenor-signal-rings 26s linear infinite;
}
.home__beacon .beacon::after {
  display: block;
  background: linear-gradient(114deg, rgba(255,255,255,.46), transparent 31%, transparent 60%, rgba(236,229,255,.24));
  background-size: 260% 100%;
  background-position: 180% 0;
  opacity: .32;
  animation: avenor-signal-light 13s cubic-bezier(.42,0,.2,1) infinite;
}
@keyframes avenor-signal-breathe {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(-.6%, -1%, 0) scale(1.025); }
}
@keyframes avenor-signal-rings {
  0%, 100% { transform: rotate(0deg) scale(1); opacity: .78; }
  48% { transform: rotate(180deg) scale(1.035); opacity: 1; }
  50% { transform: rotate(182deg) scale(1.035); opacity: .84; }
}
@keyframes avenor-signal-light {
  0%, 64% { background-position: 180% 0; opacity: .18; }
  73% { opacity: .52; }
  84% { background-position: -80% 0; opacity: .28; }
  100% { background-position: -80% 0; opacity: .18; }
}

/* A rare, polished reflection across the headline—black at rest. */
.home__cover h1.type-heading-01 {
  color: transparent;
  background: linear-gradient(102deg, #0b0b0e 0%, #0b0b0e 42%, #4b3b9b 47%, #ffffff 50%, #9e8aff 53%, #0b0b0e 58%, #0b0b0e 100%);
  background-size: 320% 100%;
  background-position: 180% 0;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  will-change: background-position;
  animation: avenor-headline-reflection 9.2s cubic-bezier(.42,0,.2,1) 2s infinite;
}
.home__cover h1.type-heading-01 em { color: inherit; }
@keyframes avenor-headline-reflection {
  0%, 70% { background-position: 180% 0; }
  84% { background-position: -80% 0; }
  100% { background-position: -80% 0; }
}

@media (prefers-reduced-motion: reduce) {
  .home__beacon .beacon,
  .home__beacon .beacon__rings,
  .home__beacon .beacon::after,
  .home__cover h1.type-heading-01 { animation: none !important; }
  .home__cover h1.type-heading-01 {
    color: var(--color-black);
    background: none;
    -webkit-text-fill-color: currentColor;
  }
}

/* Final hero motion direction: calm ripples and a rare editorial underline. */
.home__cover::before,
.home__beacon .beacon,
.home__beacon .beacon::after {
  animation: none !important;
}
.home__cover h1.type-heading-01,
.home__cover h1.type-heading-01 em {
  color: var(--color-black) !important;
  background: none !important;
  background-clip: initial !important;
  -webkit-background-clip: initial !important;
  -webkit-text-fill-color: currentColor !important;
  animation: none !important;
}
.home__cover h1.type-heading-01 {
  position: relative;
  will-change: auto;
}
.hero-editorial-underline {
  position: absolute;
  left: 0;
  bottom: -.23em;
  width: min(100%, 15.5em);
  height: 1px;
  border-radius: 999px;
  background: var(--color-black);
  opacity: 0;
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: left center;
}
.hero-editorial-underline.is-drawing {
  animation: avenor-editorial-underline 1.05s cubic-bezier(.65,0,.2,1) both;
}
@keyframes avenor-editorial-underline {
  0% { transform: scaleX(0); opacity: 0; }
  10% { opacity: .52; }
  72% { transform: scaleX(1); opacity: .6; }
  100% { transform: scaleX(1); opacity: 0; }
}

.home__beacon .beacon__rings {
  background: none;
  transform: none;
  opacity: 1;
  animation: none !important;
  overflow: hidden;
}
.home__beacon .beacon__rings::before,
.home__beacon .beacon__rings::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(26,16,78,.26);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  transform: scale(.06);
  will-change: transform, opacity;
  animation: avenor-water-ripple 12s cubic-bezier(.22,1,.36,1) infinite;
}
.home__beacon .beacon__rings::after { animation-delay: -6s; }
@keyframes avenor-water-ripple {
  0% { transform: scale(.06); opacity: 0; }
  8% { opacity: .42; }
  68% { opacity: .2; }
  100% { transform: scale(1.16); opacity: 0; }
}

@media (max-width: 767px) {
  .hero-editorial-underline { bottom: -.3em; width: min(100%, 13em); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-editorial-underline.is-drawing,
  .home__beacon .beacon__rings::before,
  .home__beacon .beacon__rings::after { animation: none !important; }
}

/* Hero rollback: restore the original minimal beacon treatment. */
.home__cover::before,
.home__cover::after,
.home__beacon::before,
.home__beacon::after,
.home__beacon .beacon::before,
.home__beacon .beacon::after,
.home__beacon .beacon__rings::before,
.home__beacon .beacon__rings::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}
.home__beacon .beacon {
  box-shadow: none;
  transform: none;
  animation: none;
}
.home__beacon .beacon__rings {
  background: repeating-radial-gradient(circle, #0b0b0e29 0 1px, #0000 1px 7%);
  border-radius: 50%;
  animation: 6s ease-in-out infinite beacon-pulse;
  position: absolute;
  inset: 0;
  transform: none;
  opacity: .9;
  overflow: visible;
}
@keyframes beacon-pulse {
  0%, 100% { opacity: .9; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.06); }
}
.home__cover h1.type-heading-01,
.home__cover h1.type-heading-01 em {
  color: var(--color-black) !important;
  background: none !important;
  background-clip: initial !important;
  -webkit-background-clip: initial !important;
  -webkit-text-fill-color: currentColor !important;
  animation: none !important;
}
.hero-editorial-underline {
  display: none !important;
  animation: none !important;
}
