
:root{
 --fx-bg:#080907;--fx-bg2:#0e0f0d;--fx-panel:#121310;--fx-ink:#ede6d8;--fx-muted:#aaa092;
 --fx-copper:#9a5b36;--fx-copper2:#c18455;--fx-line:rgba(237,230,216,.16);--fx-line2:rgba(237,230,216,.29);
 --fx-serif:"Cormorant Garamond","Iowan Old Style","Baskerville","Times New Roman",serif;
 --fx-sans:"Manrope","Helvetica Neue",Arial,sans-serif;--fx-ease:cubic-bezier(.22,1,.36,1);--fx-shell:min(91vw,1460px)
}
.fenix-homepage-final,.fenix-homepage-final~.fenix-section,.fenix-feature,.fenix-story,.fenix-pillars,.fenix-gallery,.fenix-journal,.fenix-newsletter{box-sizing:border-box;color:var(--fx-ink);font-family:var(--fx-sans)}
.fenix-homepage-final~.fenix-section *,.fenix-feature *,.fenix-story *,.fenix-pillars *,.fenix-gallery *,.fenix-journal *,.fenix-newsletter *{box-sizing:border-box}
.fenix-section,.fenix-feature,.fenix-story,.fenix-pillars,.fenix-gallery,.fenix-journal,.fenix-newsletter{position:relative;width:100%!important;max-width:none!important;background-color:var(--fx-bg)!important}
.fenix-section:after,.fenix-feature:after,.fenix-story:after,.fenix-pillars:after,.fenix-gallery:after,.fenix-journal:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.23;background-image:radial-gradient(rgba(255,255,255,.13) .45px,transparent .6px);background-size:4px 4px;mix-blend-mode:soft-light}
.fenix-section>.e-con-inner,.fenix-story>.e-con-inner,.fenix-gallery>.e-con-inner,.fenix-journal>.e-con-inner,.fenix-newsletter>.e-con-inner{position:relative;z-index:1;width:var(--fx-shell)!important;max-width:1460px!important;margin-inline:auto!important}
.fenix-feature>.e-con-inner,.fenix-pillars>.e-con-inner{position:relative;z-index:1;width:100%!important;max-width:none!important}
.fenix-kicker,.fenix-kicker p{margin:0!important;color:var(--fx-copper2)!important;font:650 9px/1.35 var(--fx-sans)!important;letter-spacing:.19em!important;text-transform:uppercase!important}
.fenix-section-intro,.fenix-section-intro p,.fenix-feature-intro,.fenix-feature-intro p,.fenix-story-copy,.fenix-story-copy p,.fenix-pillar-copy,.fenix-pillar-copy p,.fenix-newsletter-copy,.fenix-newsletter-copy p{color:var(--fx-muted)!important;font:400 13px/1.65 var(--fx-sans)!important}
.fenix-btn{width:auto!important;max-width:max-content!important}.fenix-btn .elementor-button{min-height:46px!important;padding:14px 24px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:0!important;background:#8e5030!important;color:#fff7eb!important;font:650 9px/1.2 var(--fx-sans)!important;letter-spacing:.16em!important;text-transform:uppercase!important;transition:transform .3s var(--fx-ease),background .3s,box-shadow .3s!important}.fenix-btn .elementor-button:hover{transform:translateY(-2px);background:#a25d37!important;box-shadow:0 18px 45px rgba(0,0,0,.28)}
.fenix-text-link{width:auto!important;max-width:max-content!important}.fenix-text-link .elementor-button{padding:4px 0!important;border:0!important;background:transparent!important;color:var(--fx-copper2)!important;font:650 9px/1.35 var(--fx-sans)!important;letter-spacing:.15em!important;text-transform:uppercase!important}.fenix-text-link .elementor-button:after{content:"→";display:inline-block;margin-left:8px;transition:transform .3s}.fenix-text-link .elementor-button:hover:after{transform:translateX(5px)}
/* experiences */
.fenix-experiences{padding:55px 0 70px!important;border-top:1px solid var(--fx-line)!important;border-bottom:1px solid var(--fx-line)!important;background:#0e0f0d!important}
.fenix-section-heading{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important;margin-bottom:25px!important}.fenix-heading-left{gap:5px!important}.fenix-section-title .elementor-heading-title{color:var(--fx-ink)!important;font:400 31px/1 var(--fx-serif)!important;letter-spacing:-.025em!important}.fenix-section-intro{max-width:520px!important}
.fenix-experience-grid>.e-con-inner{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:17px!important;width:100%!important}
.fenix-experience-card{position:relative!important;overflow:hidden!important;min-height:0!important;border:1px solid var(--fx-line2)!important;background:#11120f!important;transition:transform .45s var(--fx-ease),border-color .35s,box-shadow .45s!important}.fenix-experience-card:hover{transform:translateY(-8px);border-color:rgba(193,132,85,.62)!important;box-shadow:0 25px 70px rgba(0,0,0,.4)}
.fenix-card-image,.fenix-card-image .elementor-widget-container{overflow:hidden!important}.fenix-card-image img{width:100%!important;height:190px!important;object-fit:cover!important;filter:saturate(.8) contrast(1.07);transition:transform .9s var(--fx-ease),filter .5s!important}.fenix-experience-card:hover .fenix-card-image img{transform:scale(1.06);filter:saturate(1)}
.fenix-card-body{position:relative!important;min-height:205px!important;padding:43px 22px 24px!important;align-items:center!important;text-align:center!important;gap:8px!important}
.fenix-card-icon{position:absolute!important;top:-28px!important;left:50%!important;width:56px!important;height:56px!important;transform:translateX(-50%)!important;border:1px solid var(--fx-line2)!important;border-radius:50%!important;background:#11120f!important;display:grid!important;place-items:center!important}.fenix-card-icon .fenix-inline-icon{width:28px;height:28px}.fenix-inline-icon svg{width:100%;height:100%;fill:none;stroke:var(--fx-copper2);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.fenix-card-index{display:none!important}.fenix-card-title .elementor-heading-title{color:var(--fx-ink)!important;font:400 22px/1.05 var(--fx-serif)!important;letter-spacing:.015em!important;text-transform:uppercase!important}.fenix-card-copy,.fenix-card-copy p{color:#b4aa9d!important;font:400 12px/1.55 var(--fx-sans)!important}.fenix-card-body .fenix-text-link{margin-top:auto!important}
/* signature */
.fenix-feature{min-height:410px!important;border-bottom:1px solid var(--fx-line)!important;background:#090a08!important}.fenix-feature>.e-con-inner{display:grid!important;grid-template-columns:48% 52%!important;align-items:stretch!important}.fenix-feature-media{overflow:hidden!important}.fenix-feature-image,.fenix-feature-image .elementor-widget-container{height:100%!important;overflow:hidden!important}.fenix-feature-image img{width:105%!important;max-width:none!important;height:430px!important;margin-left:-2.5%!important;object-fit:cover!important;transform:translate3d(0,var(--fenix-parallax,0px),0) scale(1.035);will-change:transform}
.fenix-feature-copy{position:relative!important;justify-content:center!important;align-items:flex-start!important;gap:11px!important;padding:60px 9% 58px 8%!important;background:radial-gradient(circle at 0 50%,rgba(154,91,54,.12),transparent 48%),#0b0c09!important}.fenix-feature-title .elementor-heading-title{color:var(--fx-ink)!important;font:400 38px/1 var(--fx-serif)!important}.fenix-feature-intro{max-width:510px!important}.fenix-feature-list{display:grid;gap:8px;margin:5px 0 9px;padding:0;list-style:none}.fenix-feature-list li{display:flex;align-items:center;gap:10px;color:#bcb2a4;font:400 12px/1.45 var(--fx-sans)}.fenix-list-icon{width:21px;height:21px;flex:0 0 21px}.fenix-list-icon svg{width:100%;height:100%;fill:none;stroke:var(--fx-copper2);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.fenix-stamp-widget{position:absolute!important;right:7%!important;bottom:14%!important;width:126px!important}.fenix-round-stamp{display:flex;width:126px;height:126px;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--fx-line2);border-radius:50%;color:#9f9587;font:600 8px/1.4 var(--fx-sans);letter-spacing:.14em;text-align:center;text-transform:uppercase;transform:rotate(-7deg)}.fenix-round-stamp strong{margin:5px 0;color:var(--fx-ink);font:400 25px/1 var(--fx-serif);letter-spacing:.04em}
/* story */
.fenix-story{padding:0!important;border-bottom:1px solid var(--fx-line)!important;background:#080907!important}.fenix-story>.e-con-inner{display:grid!important;grid-template-columns:47% 53%!important;gap:0!important;width:100%!important;max-width:none!important}.fenix-story-copy-col{justify-content:center!important;align-items:flex-start!important;gap:13px!important;padding:58px 8% 58px max(5.5vw,45px)!important}.fenix-story-title .elementor-heading-title{color:var(--fx-ink)!important;font:400 35px/1.05 var(--fx-serif)!important}.fenix-story-copy{max-width:440px!important}.fenix-story-copy p+p{margin-top:13px!important}.fenix-story-portrait{overflow:hidden!important;border:0!important;border-left:1px solid var(--fx-line)!important;background:#11120f!important}.fenix-story-image,.fenix-story-image .elementor-widget-container{height:100%!important;overflow:hidden!important}.fenix-story-image img{width:100%!important;height:420px!important;object-fit:cover!important;object-position:center!important;transform:translate3d(0,var(--fenix-parallax,0px),0) scale(1.035);will-change:transform}.fenix-image-caption{display:none!important}
/* offerings */
.fenix-pillars{border-bottom:1px solid var(--fx-line)!important;background:#0e0f0d!important}.fenix-pillars>.e-con-inner{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important}.fenix-pillar{position:relative!important;min-height:260px!important;padding:35px 48px 32px!important;border:0!important;border-right:1px solid var(--fx-line)!important;gap:10px!important;align-items:flex-start!important;background:linear-gradient(145deg,rgba(255,255,255,.018),transparent 55%)!important;transition:background .4s,transform .4s var(--fx-ease)!important}.fenix-pillar:last-child{border-right:0!important}.fenix-pillar:hover{transform:translateY(-5px);background:linear-gradient(145deg,rgba(154,91,54,.12),transparent 64%)!important}.fenix-pillar-icon{width:31px!important;height:31px!important}.fenix-pillar-icon .fenix-inline-icon{display:block;width:31px;height:31px}.fenix-pillar-title .elementor-heading-title{color:var(--fx-ink)!important;font:400 30px/1 var(--fx-serif)!important}.fenix-pillar-copy,.fenix-pillar-copy p{font-size:12px!important}.fenix-mini-list{margin:4px 0 3px;padding-left:16px;color:#bbb1a3;font:400 11px/1.45 var(--fx-sans)}.fenix-mini-list li{margin:5px 0}.fenix-mini-list li::marker{color:var(--fx-copper2)}
/* gallery */
.fenix-gallery{padding:0!important;border-bottom:1px solid var(--fx-line)!important;background:#090a08!important}.fenix-gallery>.e-con-inner{width:100%!important;max-width:none!important}.fenix-gallery-heading{display:none!important}.fenix-gallery-track{overflow:hidden!important}.fenix-gallery-track>.e-con-inner{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:1px!important;width:100%!important}.fenix-gallery-cell{overflow:hidden!important;min-width:0!important}.fenix-gallery-image,.fenix-gallery-image .elementor-widget-container{overflow:hidden!important}.fenix-gallery-image img{width:100%!important;height:145px!important;object-fit:cover!important;filter:saturate(.78) contrast(1.06);transition:transform .9s var(--fx-ease),filter .5s!important}.fenix-gallery-cell:hover img{transform:scale(1.065);filter:saturate(1)}.fenix-social-widget{padding:19px 0!important;background:#0d0e0c!important}.fenix-social-row{display:flex;justify-content:center;align-items:center;gap:26px;color:var(--fx-copper2);font:600 9px/1.4 var(--fx-sans);letter-spacing:.14em;text-transform:uppercase}.fenix-social-row a{color:#a99f91;text-decoration:none}
/* journal: title left, cards right */
.fenix-journal{padding:48px 0 55px!important;border-bottom:1px solid var(--fx-line)!important;background:#080907!important}.fenix-journal>.e-con-inner{display:grid!important;grid-template-columns:22% 78%!important;gap:26px!important;align-items:start!important}.fenix-journal-heading{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:18px!important}.fenix-journal-heading .fenix-section-title .elementor-heading-title{font-size:31px!important}.fenix-journal-heading .fenix-kicker{display:none!important}.fenix-journal-grid>.e-con-inner{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}.fenix-journal-card{overflow:hidden!important;border:1px solid var(--fx-line2)!important;background:#10110f!important;transition:transform .45s var(--fx-ease),border-color .35s!important}.fenix-journal-card:hover{transform:translateY(-7px);border-color:rgba(193,132,85,.55)!important}.fenix-journal-image,.fenix-journal-image .elementor-widget-container{overflow:hidden!important}.fenix-journal-image img{width:100%!important;height:155px!important;object-fit:cover!important;filter:saturate(.8);transition:transform .8s var(--fx-ease)!important}.fenix-journal-card:hover img{transform:scale(1.055)}.fenix-journal-body{min-height:140px!important;padding:17px 18px 19px!important;gap:7px!important;align-items:flex-start!important}.fenix-journal-title .elementor-heading-title{color:var(--fx-ink)!important;font:400 20px/1.05 var(--fx-serif)!important}.fenix-journal-body .fenix-card-index,.fenix-journal-body .fenix-card-index p{display:block!important;color:var(--fx-copper2)!important;font:650 8px/1.3 var(--fx-sans)!important;letter-spacing:.14em!important}
/* newsletter */
.fenix-newsletter{isolation:isolate;min-height:128px!important;padding:0!important;background-position:center right!important;background-size:cover!important}.fenix-newsletter:before{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,rgba(7,8,7,.98) 0%,rgba(7,8,7,.9) 52%,rgba(7,8,7,.26) 100%)}.fenix-newsletter>.e-con-inner{position:relative;z-index:1;width:100%!important;max-width:none!important}.fenix-newsletter-inner>.e-con-inner{display:grid!important;grid-template-columns:34% 46% 20%!important;align-items:center!important;width:var(--fx-shell)!important;max-width:1460px!important;margin-inline:auto!important;min-height:128px!important}.fenix-newsletter-text{gap:5px!important}.fenix-newsletter-title .elementor-heading-title{color:var(--fx-ink)!important;font:400 29px/1 var(--fx-serif)!important}.fenix-newsletter-copy,.fenix-newsletter-copy p{font-size:11px!important;max-width:320px}.fenix-newsletter-action{grid-column:2!important}.fenix-newsletter-form{display:flex;border:1px solid var(--fx-line2);background:rgba(8,9,8,.72)}.fenix-newsletter-form input{min-width:0;flex:1;border:0;background:transparent;color:var(--fx-ink);padding:15px 16px;outline:0;font:400 11px/1.4 var(--fx-sans)}.fenix-newsletter-form button{border:0;background:#8e5030;color:#fff9ee;padding:15px 22px;font:650 9px/1.2 var(--fx-sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.fenix-form-note{display:none}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
/* motion */
.fenix-motion-ready .fenix-reveal,.fenix-motion-ready .fenix-reveal-left,.fenix-motion-ready .fenix-reveal-right{opacity:0;transition:opacity .8s var(--fx-ease),transform .8s var(--fx-ease);transition-delay:var(--fenix-delay,0ms)}.fenix-motion-ready .fenix-reveal{transform:translateY(27px)}.fenix-motion-ready .fenix-reveal-left{transform:translateX(-34px)}.fenix-motion-ready .fenix-reveal-right{transform:translateX(34px)}.fenix-motion-ready .is-visible{opacity:1!important;transform:none!important}
/* fluid cursor: direct centre point + spring-following elastic ring */
.fenix-custom-cursor{
  position:fixed;
  z-index:2147483638;
  top:0;
  left:0;
  width:0;
  height:0;
  pointer-events:none;
  opacity:0;
  transform:translate3d(-120px,-120px,0);
  will-change:transform;
  transition:opacity .18s ease;
}
.fenix-custom-cursor.is-active{opacity:1}

.fenix-cursor-shape{
  position:absolute;
  top:0;
  left:0;
  width:44px;
  height:44px;
  border:1px solid rgba(219,150,98,.92);
  border-radius:50%;
  background:rgba(10,11,9,.045);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.025) inset,
    0 0 22px rgba(196,111,60,.12);
  transform:
    translate(-50%,-50%)
    rotate(var(--fenix-cursor-angle,0deg))
    scaleX(var(--fenix-cursor-stretch,1))
    scaleY(var(--fenix-cursor-squash,1));
  will-change:width,height,transform,border-radius;
  transition:
    width .34s var(--fx-ease),
    height .34s var(--fx-ease),
    border-color .28s ease,
    background .28s ease,
    box-shadow .28s ease,
    border-radius .28s ease;
}

.fenix-custom-cursor.is-hover .fenix-cursor-shape{
  width:92px;
  height:92px;
  border-color:rgba(239,208,180,.94);
  border-radius:48% 52% 51% 49% / 52% 47% 53% 48%;
  background:rgba(117,59,31,.78);
  box-shadow:
    0 14px 45px rgba(0,0,0,.30),
    0 0 34px rgba(190,103,55,.18);
}

.fenix-custom-cursor.is-down .fenix-cursor-shape{
  width:76px;
  height:76px;
  background:rgba(151,77,38,.9);
}

.fenix-cursor-label{
  position:absolute;
  top:0;
  left:0;
  color:#fff;
  font:650 0/1 var(--fx-sans);
  letter-spacing:.13em;
  text-transform:uppercase;
  white-space:nowrap;
  transform:translate(-50%,-50%);
  transition:
    font-size .2s var(--fx-ease),
    opacity .18s ease;
}
.fenix-custom-cursor.is-hover .fenix-cursor-label{font-size:8px}

.fenix-cursor-dot{
  position:fixed;
  z-index:2147483639;
  top:0;
  left:0;
  width:4px;
  height:4px;
  pointer-events:none;
  opacity:0;
  border-radius:50%;
  background:#efb077;
  box-shadow:0 0 10px rgba(239,176,119,.5);
  transform:translate3d(-120px,-120px,0) translate(-50%,-50%);
  will-change:transform;
  transition:
    width .18s ease,
    height .18s ease,
    opacity .18s ease,
    background .18s ease;
}
.fenix-cursor-dot.is-active{opacity:1}
.fenix-cursor-dot.is-hover{
  width:2px;
  height:2px;
  background:#fff;
}
.fenix-cursor-dot.is-down{
  width:7px;
  height:7px;
}

body.fenix-cursor-active,
body.fenix-cursor-active a,
body.fenix-cursor-active button,
body.fenix-cursor-active input,
body.fenix-cursor-active textarea,
body.fenix-cursor-active select,
body.fenix-cursor-active .elementor-button{
  cursor:none!important;
}
@media(max-width:1024px){.fenix-experience-grid>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important}.fenix-feature>.e-con-inner,.fenix-story>.e-con-inner{grid-template-columns:1fr!important}.fenix-feature-image img{height:570px!important}.fenix-stamp-widget{right:8%!important}.fenix-story-copy-col{padding:55px 6%!important}.fenix-story-image img{height:560px!important}.fenix-pillars>.e-con-inner{grid-template-columns:1fr!important}.fenix-pillar{border-right:0!important;border-bottom:1px solid var(--fx-line)!important}.fenix-gallery-track>.e-con-inner{grid-template-columns:repeat(3,1fr)!important}.fenix-gallery-image img{height:230px!important}.fenix-journal>.e-con-inner{grid-template-columns:1fr!important}.fenix-journal-heading{flex-direction:row!important;justify-content:space-between!important;align-items:flex-end!important}.fenix-newsletter-inner>.e-con-inner{grid-template-columns:40% 60%!important}.fenix-newsletter-action{grid-column:2!important}}
@media(max-width:767px){.fenix-section>.e-con-inner,.fenix-story>.e-con-inner,.fenix-journal>.e-con-inner{width:calc(100% - 34px)!important}.fenix-experiences{padding:48px 0 60px!important}.fenix-experience-grid>.e-con-inner{grid-template-columns:1fr!important}.fenix-card-image img{height:245px!important}.fenix-feature-copy{padding:55px 17px 68px!important}.fenix-feature-image img{height:78vw!important;min-height:390px!important}.fenix-stamp-widget{position:relative!important;right:auto!important;bottom:auto!important;margin-top:15px}.fenix-story-copy-col{padding:55px 17px!important}.fenix-story-image img{height:470px!important}.fenix-pillar{padding:38px 27px!important}.fenix-gallery-track>.e-con-inner{display:flex!important;overflow-x:auto!important}.fenix-gallery-cell{min-width:75vw!important}.fenix-gallery-image img{height:80vw!important}.fenix-journal-grid>.e-con-inner{grid-template-columns:1fr!important}.fenix-journal-heading{flex-direction:column!important;align-items:flex-start!important}.fenix-newsletter-inner>.e-con-inner{grid-template-columns:1fr!important;width:calc(100% - 34px)!important;padding:38px 0!important;gap:20px!important}.fenix-newsletter-action{grid-column:1!important}.fenix-newsletter-form{flex-direction:column}.fenix-newsletter-form button{width:100%}.fenix-custom-cursor{display:none!important}}
@media(prefers-reduced-motion:reduce){.fenix-motion-ready .fenix-reveal,.fenix-motion-ready .fenix-reveal-left,.fenix-motion-ready .fenix-reveal-right{opacity:1!important;transform:none!important;transition:none!important}}


/* ============================================================
   FENIX SITE CORE 1.3 — CURSOR EMBERS + CINEMATIC PRELOADER
============================================================ */


/* Preloader */
.fenix-preloader{
  position:fixed;
  z-index:2147483600;
  inset:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#060706;
  opacity:1;
  visibility:visible;
  transition:
    opacity .68s cubic-bezier(.22,1,.36,1),
    visibility .68s;
}

.fenix-preloader.is-leaving{
  opacity:0;
  visibility:hidden;
}

.fenix-preloader__inner{
  position:relative;
  z-index:4;
  display:flex;
  width:min(78vw,520px);
  flex-direction:column;
  align-items:center;
  gap:24px;
  text-align:center;
}

.fenix-preloader__logo{
  width:min(72vw,400px);
  max-height:180px;
  object-fit:contain;
  opacity:0;
  transform:scale(.58);
  filter:
    blur(8px)
    drop-shadow(0 0 0 rgba(214,126,69,0));
  animation:fenixLogoArrival 1.5s cubic-bezier(.18,.9,.2,1.08) forwards;
}

.fenix-preloader__wordmark{
  color:#f2ecdf;
  font:400 clamp(48px,8vw,96px)/.85 var(--fx-serif,Georgia,serif);
  letter-spacing:-.05em;
  opacity:0;
  transform:scale(.58);
  animation:fenixLogoArrival 1.5s cubic-bezier(.18,.9,.2,1.08) forwards;
}

.fenix-preloader__tagline{
  color:#b8aa98;
  font:600 9px/1.5 var(--fx-sans,Arial,sans-serif);
  letter-spacing:.28em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(12px);
  animation:fenixTaglineArrival .8s .62s cubic-bezier(.22,1,.36,1) forwards;
}

.fenix-preloader__line{
  position:relative;
  width:min(68vw,360px);
  height:1px;
  overflow:hidden;
  background:rgba(255,255,255,.09);
}

.fenix-preloader__line::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,#c77a47,transparent);
  transform:translateX(-100%);
  animation:fenixLoaderLine 1.25s .2s cubic-bezier(.22,1,.36,1) forwards;
}

/* Flame wipe */
.fenix-preloader__fire{
  position:absolute;
  z-index:6;
  inset:-28%;
  pointer-events:none;
  opacity:0;
  transform:translateY(78%) scaleY(.62);
  filter:blur(9px) saturate(1.25);
  background:
    radial-gradient(ellipse at 7% 100%,rgba(255,113,30,.96) 0 7%,rgba(181,49,12,.72) 15%,transparent 31%),
    radial-gradient(ellipse at 21% 100%,rgba(255,185,65,.91) 0 8%,rgba(216,68,17,.78) 17%,transparent 35%),
    radial-gradient(ellipse at 38% 100%,rgba(255,99,22,.97) 0 8%,rgba(173,43,9,.76) 18%,transparent 36%),
    radial-gradient(ellipse at 55% 100%,rgba(255,169,48,.92) 0 7%,rgba(204,60,14,.76) 16%,transparent 33%),
    radial-gradient(ellipse at 72% 100%,rgba(255,97,21,.96) 0 8%,rgba(167,39,8,.74) 18%,transparent 36%),
    radial-gradient(ellipse at 89% 100%,rgba(255,179,58,.91) 0 7%,rgba(195,54,12,.74) 16%,transparent 32%);
  mix-blend-mode:screen;
}

.fenix-preloader.is-fire .fenix-preloader__fire{
  animation:fenixFireWipe 1.08s cubic-bezier(.18,.78,.18,1) forwards;
}

.fenix-preloader__embers{
  position:absolute;
  z-index:7;
  inset:0;
  pointer-events:none;
  overflow:hidden;
}

.fenix-preloader__ember{
  position:absolute;
  bottom:-3%;
  width:3px;
  height:3px;
  border-radius:50%;
  background:#ff9f55;
  box-shadow:
    0 0 7px #ff7c33,
    0 0 16px rgba(255,93,25,.55);
  opacity:0;
  animation:fenixLoaderEmber var(--duration,1.4s) ease-out var(--delay,0s) forwards;
}

@keyframes fenixLogoArrival{
  0%{
    opacity:0;
    transform:scale(.58);
    filter:blur(8px) drop-shadow(0 0 0 rgba(214,126,69,0));
  }
  68%{
    opacity:1;
    transform:scale(1.07);
    filter:blur(0) drop-shadow(0 0 28px rgba(214,126,69,.20));
  }
  100%{
    opacity:1;
    transform:scale(1);
    filter:blur(0) drop-shadow(0 0 18px rgba(214,126,69,.14));
  }
}

@keyframes fenixTaglineArrival{
  to{
    opacity:1;
    transform:none;
  }
}

@keyframes fenixLoaderLine{
  to{transform:translateX(100%)}
}

@keyframes fenixFireWipe{
  0%{
    opacity:0;
    transform:translateY(80%) scaleY(.62);
  }
  20%{opacity:.92}
  60%{
    opacity:1;
    transform:translateY(6%) scaleY(1.08);
  }
  100%{
    opacity:.05;
    transform:translateY(-88%) scaleY(1.28);
  }
}

@keyframes fenixLoaderEmber{
  0%{
    opacity:0;
    transform:translate3d(0,0,0) scale(.55);
  }
  15%{opacity:1}
  100%{
    opacity:0;
    transform:translate3d(var(--drift,25px),-78vh,0) scale(1.4);
  }
}

@media(max-width:767px){
  .fenix-preloader__logo{width:min(78vw,320px)}
  .fenix-preloader__tagline{font-size:8px;letter-spacing:.2em}
}

@media(prefers-reduced-motion:reduce){
  .fenix-preloader__logo,
  .fenix-preloader__wordmark,
  .fenix-preloader__tagline,
  .fenix-preloader__line::before{
    animation-duration:.01ms!important;
    animation-delay:0s!important;
  }
  .fenix-preloader__fire,
  .fenix-preloader__embers{display:none!important}
}


/* Fenix Site Core 1.4 — configurable preloader media */
.fenix-preloader{
  background:var(--fenix-loader-background,#060706);
}

.fenix-preloader__media{
  position:absolute;
  z-index:3;
  inset:0;
  display:grid;
  place-items:center;
  overflow:hidden;
}

.fenix-preloader__media video,
.fenix-preloader__media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.fenix-preloader__media.is-contain video,
.fenix-preloader__media.is-contain img{
  width:min(94vw,1600px);
  height:min(94vh,1000px);
  object-fit:contain;
}

.fenix-preloader__media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at center,transparent 40%,rgba(0,0,0,.14) 100%),
    linear-gradient(0deg,rgba(0,0,0,.12),transparent 28%);
}

.fenix-preloader.has-custom-media .fenix-preloader__fire,
.fenix-preloader.has-custom-media .fenix-preloader__embers{
  display:none;
}


/* ============================================================
   FENIX SITE CORE 1.7 — LOCATION GATEWAY + AMBIENCE
============================================================ */
body.fenix-gateway-open{overflow:hidden!important}
body.fenix-ambience-on .fenix-fire-ambience-toggle,[data-fenix-audio-toggle].is-on,.fenix-fire-ambience-toggle.is-on{box-shadow:0 0 0 1px rgba(193,132,85,.42) inset,0 0 24px rgba(193,132,85,.16)!important}

.fenix-location-gateway{
  position:fixed;
  z-index:2147483500;
  inset:0;
  display:flex;
  flex-direction:column;
  background:#060706;
  color:#f3ecdf;
  isolation:isolate;
}
.fenix-location-gateway::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 0, rgba(190,100,55,.16), transparent 38%),
    linear-gradient(180deg, rgba(6,7,6,.12), rgba(6,7,6,.52));
  pointer-events:none;
  z-index:0;
}
.fenix-location-gateway__intro{
  position:absolute;
  z-index:3;
  left:50%;
  top:40px;
  transform:translateX(-50%);
  width:min(92vw,760px);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  text-align:center;
  pointer-events:none;
}
.fenix-location-gateway__eyebrow{
  color:rgba(193,132,85,.95);
  font:650 10px/1.2 var(--fx-sans);
  letter-spacing:.22em;
  text-transform:uppercase;
}
.fenix-location-gateway__title{
  margin:0;
  color:#f6efe3;
  font:400 clamp(42px,5.6vw,88px)/.9 var(--fx-serif);
  letter-spacing:-.04em;
}
.fenix-location-gateway__subtitle{
  margin:0;
  max-width:560px;
  color:rgba(241,233,220,.72);
  font:400 14px/1.65 var(--fx-sans);
}
.fenix-location-gateway__split{
  position:relative;
  z-index:1;
  display:flex;
  flex:1 1 auto;
  min-height:100vh;
}
.fenix-location-gateway__panel{
  position:relative;
  flex:1 1 50%;
  border:0;
  padding:0;
  margin:0;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(4,4,4,.22), rgba(4,4,4,.62)),
    var(--fenix-location-image) center/cover no-repeat,
    #090907;
  color:inherit;
  text-align:left;
  cursor:pointer;
  transition:flex-basis .7s var(--fx-ease),flex-grow .7s var(--fx-ease),filter .7s var(--fx-ease),transform .7s var(--fx-ease);
}
.fenix-location-gateway__panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(6,7,6,.18), rgba(6,7,6,.86)),
    radial-gradient(circle at 50% 70%, rgba(195,104,51,.18), transparent 44%);
  transition:opacity .7s var(--fx-ease),background .7s var(--fx-ease),transform .7s var(--fx-ease);
}
.fenix-location-gateway__panel::after{
  content:"";
  position:absolute;
  left:-8%;
  right:-8%;
  bottom:-18%;
  height:42%;
  opacity:0;
  background:
    radial-gradient(circle at 18% 62%, rgba(255,205,150,.18) 0 1px, transparent 2px),
    radial-gradient(circle at 32% 54%, rgba(255,175,107,.22) 0 1.2px, transparent 2.4px),
    radial-gradient(circle at 68% 58%, rgba(255,160,92,.18) 0 1px, transparent 2.3px),
    radial-gradient(circle at 78% 48%, rgba(255,221,162,.16) 0 1.3px, transparent 2.7px),
    radial-gradient(ellipse at center, rgba(206,104,49,.34), rgba(206,104,49,0) 62%);
  filter:blur(.4px);
  transform:translateY(24px) scale(1.03);
  transition:opacity .55s ease, transform .75s var(--fx-ease);
  animation:fenixGatewaySparks 3.2s linear infinite;
}
.fenix-location-gateway__panel-inner{
  position:absolute;
  inset:auto auto 54px 54px;
  z-index:2;
  display:flex;
  max-width:min(34vw,420px);
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}
.fenix-location-gateway__kicker{
  color:rgba(193,132,85,.92);
  font:650 10px/1.2 var(--fx-sans);
  letter-spacing:.22em;
  text-transform:uppercase;
}
.fenix-location-gateway__panel-title{
  color:#faf4e9;
  font:400 clamp(34px,4vw,60px)/.92 var(--fx-serif);
  letter-spacing:-.04em;
}
.fenix-location-gateway__panel-copy{
  color:rgba(241,233,220,.76);
  font:400 14px/1.65 var(--fx-sans);
}
.fenix-location-gateway__cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:4px;
  padding:12px 16px;
  border:1px solid rgba(237,230,216,.18);
  color:#f7efe4;
  background:rgba(9,10,8,.28);
  font:650 10px/1.2 var(--fx-sans);
  letter-spacing:.18em;
  text-transform:uppercase;
  transition:background .35s ease,border-color .35s ease,transform .35s ease;
}
.fenix-location-gateway__cta em{font-style:normal;transition:transform .35s ease}
.fenix-location-gateway__split:hover .fenix-location-gateway__panel{flex-grow:.92;filter:saturate(.82) brightness(.74)}
.fenix-location-gateway__panel:hover,
.fenix-location-gateway__panel:focus-visible{flex-grow:1.18;filter:saturate(1.04) brightness(1);outline:none}
.fenix-location-gateway__panel:hover::after,
.fenix-location-gateway__panel:focus-visible::after{opacity:1;transform:translateY(0) scale(1)}
.fenix-location-gateway__panel:hover::before,
.fenix-location-gateway__panel:focus-visible::before{background:linear-gradient(180deg, rgba(6,7,6,.05), rgba(6,7,6,.72)), radial-gradient(circle at 50% 70%, rgba(193,132,85,.22), transparent 46%)}
.fenix-location-gateway__panel:hover .fenix-location-gateway__cta,
.fenix-location-gateway__panel:focus-visible .fenix-location-gateway__cta{background:rgba(142,80,48,.78);border-color:rgba(235,213,189,.38);transform:translateY(-2px)}
.fenix-location-gateway__panel:hover .fenix-location-gateway__cta em,
.fenix-location-gateway__panel:focus-visible .fenix-location-gateway__cta em{transform:translateX(4px)}
.fenix-location-gateway__panel.is-left{border-right:1px solid rgba(255,255,255,.08)}
.fenix-location-gateway.is-closing{pointer-events:none}
.fenix-location-gateway.is-closing[data-choice="left"] .fenix-location-gateway__panel.is-right,
.fenix-location-gateway.is-closing[data-choice="right"] .fenix-location-gateway__panel.is-left{opacity:.05;transform:scale(1.02)}
.fenix-location-gateway.is-closing[data-choice="left"] .fenix-location-gateway__panel.is-left,
.fenix-location-gateway.is-closing[data-choice="right"] .fenix-location-gateway__panel.is-right{flex-grow:1.35;filter:saturate(1.06) brightness(1.06)}
.fenix-location-gateway.is-closing .fenix-location-gateway__intro{opacity:0;transform:translate(-50%,-16px);transition:opacity .35s ease,transform .35s ease}

@keyframes fenixGatewaySparks{
  0%{background-position:0 0,0 0,0 0,0 0,0 0;opacity:0}
  15%{opacity:.9}
  100%{background-position:0 -40px,0 -55px,0 -48px,0 -62px,0 0;opacity:0}
}

@media(max-width:1024px){
  .fenix-location-gateway__intro{top:26px;width:min(92vw,640px)}
  .fenix-location-gateway__panel-inner{inset:auto auto 36px 32px;max-width:min(42vw,360px)}
}

@media(max-width:767px){
  .fenix-location-gateway__split{flex-direction:column}
  .fenix-location-gateway__panel{min-height:50vh}
  .fenix-location-gateway__panel.is-left{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}
  .fenix-location-gateway__panel-inner{inset:auto auto 28px 20px;max-width:calc(100vw - 40px)}
  .fenix-location-gateway__subtitle{font-size:13px}
  .fenix-location-gateway__split:hover .fenix-location-gateway__panel,
  .fenix-location-gateway__panel:hover,
  .fenix-location-gateway__panel:focus-visible{flex-grow:1}
}


/* ============================================================
   FENIX SITE CORE 1.8 — GATEWAY INTERACTION FIXES
============================================================ */

/* The custom cursor must sit ABOVE the location gateway. */
.fenix-location-gateway ~ .fenix-custom-cursor,
.fenix-custom-cursor{
  z-index:2147483638!important;
}
.fenix-cursor-dot{
  z-index:2147483639!important;
}

/* Stronger glowing horizon and heat around a hovered location. */
.fenix-location-gateway__panel{
  isolation:isolate;
}
.fenix-location-gateway__panel::after{
  height:58%!important;
  bottom:-23%!important;
  background:
    radial-gradient(circle at 9% 78%,rgba(255,234,187,.95) 0 1px,transparent 2.2px),
    radial-gradient(circle at 17% 65%,rgba(255,147,65,.92) 0 1.4px,transparent 2.8px),
    radial-gradient(circle at 29% 73%,rgba(255,203,130,.9) 0 1.2px,transparent 2.5px),
    radial-gradient(circle at 42% 61%,rgba(255,124,46,.9) 0 1.5px,transparent 3px),
    radial-gradient(circle at 59% 69%,rgba(255,217,149,.9) 0 1.2px,transparent 2.6px),
    radial-gradient(circle at 73% 57%,rgba(255,133,48,.9) 0 1.5px,transparent 3px),
    radial-gradient(circle at 88% 72%,rgba(255,231,178,.88) 0 1.2px,transparent 2.5px),
    radial-gradient(ellipse at 50% 94%,rgba(242,104,35,.64),rgba(191,65,19,.28) 37%,transparent 69%)!important;
  filter:blur(.2px) saturate(1.2)!important;
}

/* Actual animated flame tongues. */
.fenix-location-gateway__fire{
  position:absolute;
  z-index:1;
  left:0;
  right:0;
  bottom:-11%;
  height:48%;
  opacity:0;
  pointer-events:none;
  overflow:hidden;
  filter:blur(.8px) saturate(1.25);
  transition:
    opacity .38s ease,
    transform .65s cubic-bezier(.22,1,.36,1);
  transform:translateY(24%) scaleY(.82);
  mix-blend-mode:screen;
}
.fenix-location-gateway__fire::before{
  content:"";
  position:absolute;
  inset:auto -5% 0;
  height:68%;
  background:
    radial-gradient(ellipse at 14% 100%,rgba(255,98,24,.9) 0 10%,rgba(204,62,16,.58) 22%,transparent 48%),
    radial-gradient(ellipse at 34% 100%,rgba(255,182,63,.96) 0 9%,rgba(237,83,17,.64) 23%,transparent 49%),
    radial-gradient(ellipse at 55% 100%,rgba(255,104,25,.95) 0 11%,rgba(193,48,11,.6) 24%,transparent 50%),
    radial-gradient(ellipse at 76% 100%,rgba(255,176,54,.95) 0 9%,rgba(225,72,15,.6) 22%,transparent 48%),
    radial-gradient(ellipse at 93% 100%,rgba(255,99,22,.9) 0 10%,rgba(193,46,10,.56) 22%,transparent 48%);
  filter:blur(8px);
  animation:fenixGatewayFireBed 1.25s ease-in-out infinite alternate;
}
.fenix-location-gateway__fire i{
  position:absolute;
  bottom:0;
  width:16%;
  height:62%;
  border-radius:48% 52% 48% 52% / 72% 70% 30% 28%;
  transform-origin:50% 100%;
  background:
    radial-gradient(ellipse at 50% 88%,rgba(255,235,183,.98) 0 10%,rgba(255,149,49,.92) 28%,rgba(222,64,12,.75) 55%,transparent 74%);
  filter:blur(3px);
  opacity:.84;
  animation:fenixGatewayFlame 1.05s ease-in-out infinite alternate;
}
.fenix-location-gateway__fire i:nth-child(1){left:1%;height:54%;animation-delay:-.72s}
.fenix-location-gateway__fire i:nth-child(2){left:18%;height:78%;animation-delay:-.18s}
.fenix-location-gateway__fire i:nth-child(3){left:37%;height:63%;animation-delay:-.51s}
.fenix-location-gateway__fire i:nth-child(4){left:54%;height:86%;animation-delay:-.84s}
.fenix-location-gateway__fire i:nth-child(5){left:72%;height:60%;animation-delay:-.31s}
.fenix-location-gateway__fire i:nth-child(6){left:88%;height:74%;animation-delay:-.61s}

.fenix-location-gateway__panel:hover .fenix-location-gateway__fire,
.fenix-location-gateway__panel:focus-visible .fenix-location-gateway__fire,
.fenix-location-gateway__panel.is-chosen .fenix-location-gateway__fire{
  opacity:.92;
  transform:translateY(0) scaleY(1);
}
.fenix-location-gateway__panel:hover::after,
.fenix-location-gateway__panel:focus-visible::after,
.fenix-location-gateway__panel.is-chosen::after{
  opacity:1!important;
}

/* Add a clear glowing line when a location is active. */
.fenix-location-gateway__panel-inner::after{
  content:"";
  display:block;
  width:0;
  height:1px;
  margin-top:10px;
  background:
    linear-gradient(90deg,#ffd8a2,#d6682e 64%,transparent);
  box-shadow:
    0 0 8px rgba(255,143,74,.78),
    0 0 24px rgba(220,85,34,.42);
  transition:width .55s cubic-bezier(.22,1,.36,1);
}
.fenix-location-gateway__panel:hover .fenix-location-gateway__panel-inner::after,
.fenix-location-gateway__panel:focus-visible .fenix-location-gateway__panel-inner::after,
.fenix-location-gateway__panel.is-chosen .fenix-location-gateway__panel-inner::after{
  width:min(270px,72%);
}

/* Full-screen ignition wipe after ONE click. */
.fenix-location-gateway__wipe{
  position:absolute;
  z-index:8;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  background:#080907;
}
.fenix-location-gateway__wipe::before{
  content:"";
  position:absolute;
  inset:-35% -15%;
  opacity:0;
  transform:translateY(76%) scaleY(.55);
  background:
    radial-gradient(ellipse at 2% 100%,rgba(255,117,29,.98) 0 8%,rgba(181,41,9,.82) 21%,transparent 40%),
    radial-gradient(ellipse at 17% 100%,rgba(255,210,111,.98) 0 7%,rgba(239,83,18,.88) 20%,transparent 42%),
    radial-gradient(ellipse at 34% 100%,rgba(255,99,22,.98) 0 9%,rgba(186,43,9,.82) 23%,transparent 43%),
    radial-gradient(ellipse at 50% 100%,rgba(255,202,92,.98) 0 8%,rgba(234,75,16,.88) 21%,transparent 42%),
    radial-gradient(ellipse at 67% 100%,rgba(255,107,24,.98) 0 9%,rgba(187,43,9,.84) 23%,transparent 43%),
    radial-gradient(ellipse at 84% 100%,rgba(255,195,78,.98) 0 8%,rgba(233,71,14,.86) 21%,transparent 41%),
    radial-gradient(ellipse at 98% 100%,rgba(255,107,24,.98) 0 9%,rgba(180,39,8,.82) 22%,transparent 42%);
  filter:blur(8px) saturate(1.35);
  mix-blend-mode:screen;
}
.fenix-location-gateway__wipe span{
  position:absolute;
  bottom:-5%;
  width:22%;
  height:78%;
  border-radius:50% 50% 45% 55% / 84% 82% 18% 16%;
  opacity:0;
  background:
    radial-gradient(ellipse at 50% 86%,rgba(255,238,192,.98) 0 9%,rgba(255,160,55,.98) 24%,rgba(221,66,14,.9) 49%,rgba(120,23,5,.32) 68%,transparent 76%);
  filter:blur(6px);
  transform:translateY(100%) scale(.7,1);
}
.fenix-location-gateway__wipe span:nth-child(1){left:-3%}
.fenix-location-gateway__wipe span:nth-child(2){left:18%;height:94%}
.fenix-location-gateway__wipe span:nth-child(3){left:39%;height:82%}
.fenix-location-gateway__wipe span:nth-child(4){left:61%;height:100%}
.fenix-location-gateway__wipe span:nth-child(5){left:82%;height:88%}

.fenix-location-gateway.is-transitioning .fenix-location-gateway__wipe{
  opacity:1;
  visibility:visible;
}
.fenix-location-gateway.is-transitioning .fenix-location-gateway__wipe::before{
  animation:fenixGatewayFireWipe .92s cubic-bezier(.2,.72,.16,1) forwards;
}
.fenix-location-gateway.is-transitioning .fenix-location-gateway__wipe span{
  animation:fenixGatewayFlameWipe .88s cubic-bezier(.2,.72,.16,1) forwards;
}
.fenix-location-gateway.is-transitioning .fenix-location-gateway__wipe span:nth-child(2){animation-delay:.04s}
.fenix-location-gateway.is-transitioning .fenix-location-gateway__wipe span:nth-child(3){animation-delay:.01s}
.fenix-location-gateway.is-transitioning .fenix-location-gateway__wipe span:nth-child(4){animation-delay:.06s}
.fenix-location-gateway.is-transitioning .fenix-location-gateway__wipe span:nth-child(5){animation-delay:.03s}

.fenix-location-gateway.is-igniting .fenix-location-gateway__intro{
  opacity:0;
  transform:translate(-50%,-18px);
  transition:opacity .28s ease,transform .4s ease;
}
.fenix-location-gateway.is-igniting .fenix-location-gateway__panel:not(.is-chosen){
  flex-grow:.05!important;
  opacity:.12;
  filter:brightness(.25) saturate(.5)!important;
}
.fenix-location-gateway.is-igniting .fenix-location-gateway__panel.is-chosen{
  flex-grow:2!important;
  filter:brightness(1.08) saturate(1.08)!important;
  transition:
    flex-grow .72s cubic-bezier(.22,1,.36,1),
    opacity .4s ease,
    filter .5s ease!important;
}

@keyframes fenixGatewayFlame{
  0%{transform:translateY(12%) scale(.82,1) rotate(-2deg)}
  55%{transform:translateY(-5%) scale(1.08,.88) rotate(2deg)}
  100%{transform:translateY(-14%) scale(.9,1.08) rotate(-1deg)}
}
@keyframes fenixGatewayFireBed{
  from{transform:translateY(10%) scale(1,.88);opacity:.72}
  to{transform:translateY(-4%) scale(1.06,1.08);opacity:1}
}
@keyframes fenixGatewayFireWipe{
  0%{opacity:0;transform:translateY(78%) scaleY(.52)}
  12%{opacity:1}
  64%{opacity:1;transform:translateY(-8%) scaleY(1.12)}
  100%{opacity:.15;transform:translateY(-92%) scaleY(1.28)}
}
@keyframes fenixGatewayFlameWipe{
  0%{opacity:0;transform:translateY(105%) scale(.65,1)}
  14%{opacity:1}
  72%{opacity:1;transform:translateY(-14%) scale(1.08,1.18)}
  100%{opacity:0;transform:translateY(-122%) scale(.82,1.38)}
}

/* Keep the custom cursor visible and readable on the gateway. */
body.fenix-gateway-open.fenix-cursor-active,
body.fenix-gateway-open.fenix-cursor-active .fenix-location-gateway__panel{
  cursor:none!important;
}
body.fenix-gateway-open .fenix-custom-cursor.is-active{
  opacity:1!important;
}

@media(max-width:767px){
  .fenix-location-gateway__fire{
    display:none;
  }
  .fenix-location-gateway__wipe span{
    width:34%;
  }
}

@media(prefers-reduced-motion:reduce){
  .fenix-location-gateway__fire,
  .fenix-location-gateway__wipe{
    display:none!important;
  }
}


/* ============================================================
   FENIX SITE CORE 1.8.1 — SOFTER GLOW GATEWAY REFINEMENT
   Replaces explicit flame tongues with premium ember glow.
============================================================ */
.fenix-location-gateway__fire,.fenix-location-gateway__fire::before,.fenix-location-gateway__fire i{display:none !important;}
.fenix-location-gateway__panel::after{height:54% !important;bottom:-20% !important;opacity:0 !important;background:radial-gradient(circle at 12% 78%, rgba(255,216,160,.78) 0 1.2px, transparent 2.6px),radial-gradient(circle at 26% 66%, rgba(255,171,92,.82) 0 1.4px, transparent 2.8px),radial-gradient(circle at 42% 73%, rgba(255,205,148,.74) 0 1.15px, transparent 2.5px),radial-gradient(circle at 58% 61%, rgba(255,139,63,.84) 0 1.5px, transparent 3px),radial-gradient(circle at 74% 72%, rgba(255,208,149,.72) 0 1.1px, transparent 2.5px),radial-gradient(circle at 88% 63%, rgba(255,145,66,.8) 0 1.45px, transparent 3px),radial-gradient(ellipse at 50% 94%, rgba(242,120,53,.42), rgba(197,82,34,.16) 32%, transparent 67%),radial-gradient(ellipse at 50% 100%, rgba(255,199,139,.28), transparent 56%) !important;filter: blur(.35px) saturate(1.08) !important;transform: translateY(14px) scale(1.01) !important;transition:opacity .45s ease,transform .7s cubic-bezier(.22,1,.36,1),filter .45s ease !important;animation: fenixGatewayGlowBreath 2.8s ease-in-out infinite;}
.fenix-location-gateway__panel:hover::after,.fenix-location-gateway__panel:focus-visible::after,.fenix-location-gateway__panel.is-chosen::after{opacity:1 !important;transform:translateY(0) scale(1) !important;}
.fenix-location-gateway__panel:hover::before,.fenix-location-gateway__panel:focus-visible::before,.fenix-location-gateway__panel.is-chosen::before{background:linear-gradient(180deg, rgba(6,7,6,.08), rgba(6,7,6,.72)),radial-gradient(circle at 50% 76%, rgba(203,125,79,.20), transparent 44%),radial-gradient(circle at 50% 98%, rgba(255,213,169,.12), transparent 34%) !important;}
.fenix-location-gateway__panel{transition:flex-basis .7s var(--fx-ease),flex-grow .7s var(--fx-ease),filter .7s var(--fx-ease),transform .7s var(--fx-ease),box-shadow .7s var(--fx-ease) !important;}
.fenix-location-gateway__panel:hover,.fenix-location-gateway__panel:focus-visible{box-shadow:inset 0 -110px 120px rgba(201,101,47,.06),inset 0 0 0 1px rgba(255,225,191,.08) !important;}
.fenix-location-gateway__panel-inner::after{height:1.5px !important;background:linear-gradient(90deg,rgba(255,226,191,.98),rgba(242,138,80,.95) 36%,rgba(191,90,46,.78) 68%,rgba(191,90,46,0) 100%) !important;box-shadow:0 0 10px rgba(255,152,92,.58),0 0 28px rgba(214,100,41,.22) !important;}
.fenix-location-gateway__wipe{background:linear-gradient(180deg, rgba(7,8,7,0) 0%, rgba(7,8,7,.18) 30%, rgba(7,8,7,.66) 100%) !important;}
.fenix-location-gateway__wipe::before{inset:-22% -12% !important;opacity:0;transform:translateY(84%) scaleY(.58) !important;background:radial-gradient(ellipse at 12% 100%, rgba(255,184,118,.95) 0 7%, rgba(232,112,53,.72) 14%, transparent 31%),radial-gradient(ellipse at 30% 100%, rgba(255,219,177,.92) 0 6%, rgba(239,136,76,.70) 12%, transparent 28%),radial-gradient(ellipse at 50% 100%, rgba(255,195,132,.96) 0 8%, rgba(225,102,45,.76) 15%, transparent 31%),radial-gradient(ellipse at 72% 100%, rgba(255,222,184,.92) 0 6%, rgba(239,138,77,.68) 12%, transparent 28%),radial-gradient(ellipse at 88% 100%, rgba(255,183,115,.95) 0 7%, rgba(232,111,52,.72) 14%, transparent 31%),linear-gradient(180deg, rgba(255,163,96,0) 0%, rgba(255,163,96,.04) 35%, rgba(255,163,96,.12) 60%, rgba(255,163,96,0) 100%) !important;filter:blur(12px) saturate(1.05) !important;mix-blend-mode:screen;}
.fenix-location-gateway__wipe span{width:28% !important;bottom:-2% !important;height:72% !important;border-radius:50% 50% 42% 58% / 80% 80% 20% 20% !important;opacity:0;background:radial-gradient(ellipse at 50% 88%, rgba(255,236,209,.96) 0 8%, rgba(255,178,116,.84) 22%, rgba(232,111,53,.44) 48%, rgba(156,58,22,.06) 66%, transparent 74%) !important;filter:blur(12px) !important;transform:translateY(100%) scale(.74,1) !important;}
.fenix-location-gateway.is-transitioning .fenix-location-gateway__wipe::before{animation:fenixGatewayGlowWipe .96s cubic-bezier(.2,.72,.16,1) forwards !important;}
.fenix-location-gateway.is-transitioning .fenix-location-gateway__wipe span{animation:fenixGatewayGlowColumns .92s cubic-bezier(.2,.72,.16,1) forwards !important;}
@keyframes fenixGatewayGlowBreath{0%,100%{filter:blur(.35px) saturate(1.04);}50%{filter:blur(.55px) saturate(1.12);}}
@keyframes fenixGatewayGlowWipe{0%{opacity:0;transform:translateY(84%) scaleY(.58);}10%{opacity:.96;}62%{opacity:1;transform:translateY(2%) scaleY(1.03);}100%{opacity:.08;transform:translateY(-86%) scaleY(1.18);}}
@keyframes fenixGatewayGlowColumns{0%{opacity:0;transform:translateY(100%) scale(.74,1);}15%{opacity:.95;}72%{opacity:.88;transform:translateY(-8%) scale(1.02,1.1);}100%{opacity:0;transform:translateY(-112%) scale(.86,1.26);}}


/* ============================================================
   FENIX SITE CORE 1.8.2 — FAST CINEMATIC GATEWAY TRANSITION
============================================================ */

/* Kill the heavier multi-column glow animation from 1.8.1. */
.fenix-location-gateway__wipe span{
  display:none !important;
}

/* The chosen image responds immediately, before navigation. */
.fenix-location-gateway.is-igniting .fenix-location-gateway__panel{
  transition:
    flex-grow .46s cubic-bezier(.2,.78,.2,1),
    opacity .28s ease,
    filter .34s ease,
    transform .48s cubic-bezier(.2,.78,.2,1) !important;
}
.fenix-location-gateway.is-igniting .fenix-location-gateway__panel:not(.is-chosen){
  flex-grow:.01 !important;
  opacity:.02 !important;
  filter:brightness(.18) saturate(.45) !important;
  transform:scale(.99) !important;
}
.fenix-location-gateway.is-igniting .fenix-location-gateway__panel.is-chosen{
  flex-grow:3 !important;
  opacity:1 !important;
  filter:brightness(1.08) saturate(1.03) !important;
  transform:scale(1.018) !important;
}
.fenix-location-gateway.is-igniting .fenix-location-gateway__panel-inner{
  transition:opacity .22s ease, transform .36s cubic-bezier(.22,1,.36,1) !important;
}
.fenix-location-gateway.is-igniting .fenix-location-gateway__panel.is-chosen .fenix-location-gateway__panel-inner{
  opacity:.82;
  transform:translateY(-7px);
}
.fenix-location-gateway.is-transitioning .fenix-location-gateway__panel-inner{
  opacity:0 !important;
}

/* Lightweight warm light wipe. Much smoother than the previous blurred columns. */
.fenix-location-gateway__wipe{
  display:block !important;
  opacity:0;
  visibility:visible;
  background:transparent !important;
  overflow:hidden;
}
.fenix-location-gateway__wipe::before{
  content:"";
  position:absolute;
  inset:-35% -70%;
  opacity:0;
  transform:translate3d(-42%,0,0) rotate(-7deg);
  background:
    linear-gradient(90deg,
      transparent 0%,
      rgba(255,203,157,.02) 34%,
      rgba(255,218,181,.36) 44%,
      rgba(255,244,225,.92) 49%,
      rgba(241,151,92,.62) 53%,
      rgba(194,87,40,.18) 59%,
      transparent 70%);
  filter:blur(18px);
  mix-blend-mode:screen;
  will-change:transform,opacity;
}
.fenix-location-gateway__wipe::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  background:
    radial-gradient(circle at 50% 72%, rgba(255,190,132,.22), transparent 42%),
    rgba(11,8,6,.08);
  transition:opacity .28s ease;
}

.fenix-location-gateway.is-transitioning .fenix-location-gateway__wipe{
  opacity:1 !important;
}
.fenix-location-gateway.is-transitioning .fenix-location-gateway__wipe::after{
  opacity:1;
}
.fenix-location-gateway.is-transitioning[data-choice="left"] .fenix-location-gateway__wipe::before{
  animation:fenixGatewayLightSweepLeft .58s cubic-bezier(.16,.84,.24,1) forwards !important;
}
.fenix-location-gateway.is-transitioning[data-choice="right"] .fenix-location-gateway__wipe::before{
  animation:fenixGatewayLightSweepRight .58s cubic-bezier(.16,.84,.24,1) forwards !important;
}

@keyframes fenixGatewayLightSweepLeft{
  0%{opacity:0;transform:translate3d(-50%,0,0) rotate(-7deg);}
  12%{opacity:1;}
  72%{opacity:1;transform:translate3d(4%,0,0) rotate(-7deg);}
  100%{opacity:0;transform:translate3d(22%,0,0) rotate(-7deg);}
}
@keyframes fenixGatewayLightSweepRight{
  0%{opacity:0;transform:translate3d(50%,0,0) rotate(7deg);}
  12%{opacity:1;}
  72%{opacity:1;transform:translate3d(-4%,0,0) rotate(7deg);}
  100%{opacity:0;transform:translate3d(-22%,0,0) rotate(7deg);}
}


/* ============================================================
   FENIX SITE CORE 1.8.3 — FULL VIEWPORT ROUTE VEIL
   Prevents any split-screen loading frame after a location click.
============================================================ */

/* Disable the old panel-collapse / gateway-wipe sequence. The gateway itself
   stays visually intact until the independent route veil is already covering it. */
.fenix-location-gateway.is-igniting .fenix-location-gateway__panel,
.fenix-location-gateway.is-transitioning .fenix-location-gateway__panel{
  flex-grow:1 !important;
  opacity:1 !important;
  transform:none !important;
}
.fenix-location-gateway.is-igniting .fenix-location-gateway__panel:not(.is-chosen),
.fenix-location-gateway.is-transitioning .fenix-location-gateway__panel:not(.is-chosen){
  opacity:1 !important;
  filter:none !important;
}
.fenix-location-gateway.is-igniting .fenix-location-gateway__panel.is-chosen,
.fenix-location-gateway.is-transitioning .fenix-location-gateway__panel.is-chosen{
  flex-grow:1 !important;
  transform:none !important;
}

.fenix-route-transition{
  position:fixed;
  z-index:2147483625;
  inset:0;
  overflow:hidden;
  pointer-events:all;
  opacity:0;
  visibility:visible;
  background:#090806;
  will-change:opacity;
  transition:opacity .14s ease;
}
.fenix-route-transition.is-active{
  opacity:1;
}
.fenix-route-transition.is-leaving{
  opacity:0;
  transition-duration:.34s;
}

/* A warm bloom comes from the selected side, but the base layer becomes
   opaque immediately so there is never a visible half-page state. */
.fenix-route-transition__glow{
  position:absolute;
  inset:-28%;
  opacity:0;
  transform:scale(.82);
  background:
    radial-gradient(circle at 50% 54%, rgba(255,238,213,.74) 0 2%, rgba(244,169,112,.48) 9%, rgba(208,93,43,.20) 23%, rgba(72,34,18,.07) 40%, transparent 62%),
    radial-gradient(circle at 50% 72%, rgba(220,104,49,.24), transparent 44%);
  filter:blur(16px);
  mix-blend-mode:screen;
  will-change:opacity,transform;
}
.fenix-route-transition[data-choice="left"] .fenix-route-transition__glow{
  transform-origin:18% 62%;
}
.fenix-route-transition[data-choice="right"] .fenix-route-transition__glow{
  transform-origin:82% 62%;
}
.fenix-route-transition.is-active .fenix-route-transition__glow{
  animation:fenixRouteGlowIn .62s cubic-bezier(.16,.84,.24,1) forwards;
}

.fenix-route-transition__grain{
  position:absolute;
  inset:0;
  opacity:.12;
  background-image:radial-gradient(rgba(255,255,255,.18) .45px, transparent .62px);
  background-size:4px 4px;
  mix-blend-mode:soft-light;
}

/* Cursor fades as soon as the route veil takes over. */
body.fenix-route-transitioning .fenix-custom-cursor,
body.fenix-route-transitioning .fenix-cursor-dot{
  opacity:0 !important;
  transition:opacity .08s ease !important;
}

@keyframes fenixRouteGlowIn{
  0%{opacity:0;transform:scale(.76)}
  24%{opacity:.95}
  62%{opacity:.64;transform:scale(1.02)}
  100%{opacity:.18;transform:scale(1.14)}
}

@media(prefers-reduced-motion:reduce){
  .fenix-route-transition{transition:none !important;}
  .fenix-route-transition__glow{animation:none !important;opacity:.28;transform:none;}
}


/* ============================================================
   FENIX SITE CORE 1.8.4 — DIRECTIONAL COLOR WASH TRANSITION
   No radial bloom: one cinematic warm wash fills the viewport
   from the selected side and fades into Fenix charcoal.
============================================================ */

.fenix-route-transition{
  opacity:1 !important;
  visibility:visible !important;
  background:rgba(8,8,7,0) !important;
  transition:none !important;
  will-change:background-color;
}

.fenix-route-transition.is-active{
  opacity:1 !important;
  animation:fenixRouteBaseDarken .52s cubic-bezier(.22,.82,.28,1) forwards;
}

/* Repurpose the existing glow element as a full-screen wash. */
.fenix-route-transition__glow{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:1 !important;
  transform:none !important;
  transform-origin:center !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  will-change:clip-path,opacity,transform !important;
}

.fenix-route-transition[data-choice="left"] .fenix-route-transition__glow{
  background:
    linear-gradient(100deg,
      #090806 0%,
      #15100d 28%,
      #422719 58%,
      #a55e36 78%,
      #efd5b8 100%) !important;
  clip-path:inset(0 100% 0 0);
  animation:fenixRouteWashLeft .58s cubic-bezier(.2,.78,.18,1) forwards !important;
}

.fenix-route-transition[data-choice="right"] .fenix-route-transition__glow{
  background:
    linear-gradient(260deg,
      #090806 0%,
      #15100d 28%,
      #422719 58%,
      #a55e36 78%,
      #efd5b8 100%) !important;
  clip-path:inset(0 0 0 100%);
  animation:fenixRouteWashRight .58s cubic-bezier(.2,.78,.18,1) forwards !important;
}

/* Fine texture only; no visible particles or bloom shapes. */
.fenix-route-transition__grain{
  opacity:.055 !important;
  background-image:radial-gradient(rgba(255,255,255,.16) .4px,transparent .58px) !important;
  background-size:4px 4px !important;
  mix-blend-mode:soft-light !important;
}

@keyframes fenixRouteWashLeft{
  0%{
    clip-path:inset(0 100% 0 0);
    opacity:.94;
    transform:translate3d(-2.5%,0,0);
  }
  48%{
    clip-path:inset(0 18% 0 0);
    opacity:1;
    transform:translate3d(0,0,0);
  }
  72%{
    clip-path:inset(0 0 0 0);
    opacity:.96;
  }
  100%{
    clip-path:inset(0 0 0 0);
    opacity:0;
  }
}

@keyframes fenixRouteWashRight{
  0%{
    clip-path:inset(0 0 0 100%);
    opacity:.94;
    transform:translate3d(2.5%,0,0);
  }
  48%{
    clip-path:inset(0 0 0 18%);
    opacity:1;
    transform:translate3d(0,0,0);
  }
  72%{
    clip-path:inset(0 0 0 0);
    opacity:.96;
  }
  100%{
    clip-path:inset(0 0 0 0);
    opacity:0;
  }
}

@keyframes fenixRouteBaseDarken{
  0%,28%{background-color:rgba(8,8,7,0);}
  68%{background-color:rgba(9,8,6,.76);}
  100%{background-color:#090806;}
}

/* The old radial animation must never run on top of this wash. */
.fenix-route-transition.is-active .fenix-route-transition__glow{
  filter:none !important;
}

@media(prefers-reduced-motion:reduce){
  .fenix-route-transition.is-active{
    animation:none !important;
    background:#090806 !important;
  }
  .fenix-route-transition__glow{
    display:none !important;
  }
}


/* ============================================================
   FENIX SITE CORE 1.8.5 — ASH FADE ROUTE TRANSITION
   Cinematic dark ash sweep with a narrow warm burn edge.
============================================================ */

.fenix-route-transition{
  position:fixed !important;
  z-index:2147483625 !important;
  inset:0 !important;
  overflow:hidden !important;
  pointer-events:all !important;
  opacity:1 !important;
  visibility:visible !important;
  background:transparent !important;
  transition:none !important;
}

/* Selected image gets one immediate cinematic response beneath the cover. */
body.fenix-route-transitioning .fenix-location-gateway__panel.is-chosen{
  transform:scale(1.014) !important;
  filter:brightness(.9) saturate(.72) contrast(1.04) !important;
  transition:
    transform .5s cubic-bezier(.22,1,.36,1),
    filter .28s ease !important;
}
body.fenix-route-transitioning .fenix-location-gateway__panel:not(.is-chosen){
  filter:brightness(.72) saturate(.7) !important;
  transition:filter .24s ease !important;
}

/* Main ash veil: nearly pure charcoal, not a colored gradient. */
.fenix-route-transition__ash{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(8,9,7,.98),rgba(5,6,5,1)),
    #060706;
  will-change:clip-path;
}

.fenix-route-transition[data-choice="left"] .fenix-route-transition__ash{
  clip-path:inset(0 100% 0 0);
}
.fenix-route-transition[data-choice="right"] .fenix-route-transition__ash{
  clip-path:inset(0 0 0 100%);
}

.fenix-route-transition.is-active[data-choice="left"] .fenix-route-transition__ash{
  animation:fenixAshCoverLeft .46s cubic-bezier(.22,.76,.24,1) forwards;
}
.fenix-route-transition.is-active[data-choice="right"] .fenix-route-transition__ash{
  animation:fenixAshCoverRight .46s cubic-bezier(.22,.76,.24,1) forwards;
}

/*
 * The only bright part: a narrow burn edge travelling with the ash cover.
 * It never fills the screen; it exists only at the transition boundary.
 */
.fenix-route-transition__edge{
  position:absolute;
  top:-10%;
  bottom:-10%;
  width:clamp(90px,9vw,160px);
  opacity:0;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(118,55,28,.04) 18%,
      rgba(189,91,47,.18) 34%,
      rgba(231,143,88,.42) 46%,
      rgba(255,226,194,.68) 50%,
      rgba(224,127,73,.34) 55%,
      rgba(137,61,30,.08) 72%,
      transparent 100%
    );
  filter:blur(4px);
  mix-blend-mode:screen;
  will-change:transform,opacity;
}

.fenix-route-transition[data-choice="left"] .fenix-route-transition__edge{
  left:calc(-1 * clamp(90px,9vw,160px));
}
.fenix-route-transition[data-choice="right"] .fenix-route-transition__edge{
  right:calc(-1 * clamp(90px,9vw,160px));
}

.fenix-route-transition.is-active[data-choice="left"] .fenix-route-transition__edge{
  animation:fenixAshEdgeSweepLeft .5s cubic-bezier(.22,.76,.24,1) forwards;
}
.fenix-route-transition.is-active[data-choice="right"] .fenix-route-transition__edge{
  animation:fenixAshEdgeSweepRight .5s cubic-bezier(.22,.76,.24,1) forwards;
}

/* Tiny texture: ash, not obvious sparkle particles. */
.fenix-route-transition__grain{
  position:absolute !important;
  inset:-8% !important;
  opacity:0 !important;
  background-image:
    radial-gradient(rgba(229,214,198,.16) .45px,transparent .7px),
    radial-gradient(rgba(172,92,52,.11) .4px,transparent .68px) !important;
  background-size:6px 6px,10px 10px !important;
  background-position:0 0,4px 3px !important;
  mix-blend-mode:soft-light !important;
  transform:translateY(5px) !important;
}

.fenix-route-transition.is-active .fenix-route-transition__grain{
  animation:fenixAshTexture .42s ease-out forwards !important;
}

/* Only a handful of faint ember/ash flecks. */
.fenix-route-transition__particles{
  position:absolute;
  left:5%;
  right:5%;
  bottom:2%;
  height:34%;
  opacity:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 9% 78%,rgba(214,117,65,.46) 0 .8px,transparent 1.8px),
    radial-gradient(circle at 21% 58%,rgba(226,202,177,.28) 0 .7px,transparent 1.7px),
    radial-gradient(circle at 36% 82%,rgba(197,93,48,.42) 0 .8px,transparent 1.8px),
    radial-gradient(circle at 52% 69%,rgba(232,205,177,.24) 0 .7px,transparent 1.6px),
    radial-gradient(circle at 68% 80%,rgba(206,105,58,.38) 0 .8px,transparent 1.8px),
    radial-gradient(circle at 82% 55%,rgba(230,199,167,.22) 0 .7px,transparent 1.6px),
    radial-gradient(circle at 93% 76%,rgba(199,92,47,.36) 0 .8px,transparent 1.8px);
  filter:blur(.25px);
  transform:translateY(10px);
}

.fenix-route-transition.is-active .fenix-route-transition__particles{
  animation:fenixAshFlecks .4s ease-out forwards;
}

/* No old glow/wash survives this version. */
.fenix-route-transition__glow{
  display:none !important;
}
.fenix-route-transition.is-active{
  animation:none !important;
  background:transparent !important;
}
.fenix-route-transition.is-leaving{
  opacity:0 !important;
  transition:opacity .28s ease !important;
}

/* Cursor disappears as the scene is swallowed. */
body.fenix-route-transitioning .fenix-custom-cursor,
body.fenix-route-transitioning .fenix-cursor-dot{
  opacity:0 !important;
  transition:opacity .08s ease !important;
}

@keyframes fenixAshCoverLeft{
  0%{clip-path:inset(0 100% 0 0)}
  42%{clip-path:inset(0 44% 0 0)}
  100%{clip-path:inset(0 0 0 0)}
}

@keyframes fenixAshCoverRight{
  0%{clip-path:inset(0 0 0 100%)}
  42%{clip-path:inset(0 0 0 44%)}
  100%{clip-path:inset(0 0 0 0)}
}

@keyframes fenixAshEdgeSweepLeft{
  0%{opacity:0;transform:translate3d(0,0,0)}
  10%{opacity:.82}
  58%{opacity:.62}
  100%{opacity:0;transform:translate3d(calc(100vw + clamp(90px,9vw,160px)),0,0)}
}

@keyframes fenixAshEdgeSweepRight{
  0%{opacity:0;transform:translate3d(0,0,0)}
  10%{opacity:.82}
  58%{opacity:.62}
  100%{opacity:0;transform:translate3d(calc(-100vw - clamp(90px,9vw,160px)),0,0)}
}

@keyframes fenixAshTexture{
  0%{opacity:0;transform:translateY(7px)}
  28%{opacity:.18}
  100%{opacity:0;transform:translateY(-7px)}
}

@keyframes fenixAshFlecks{
  0%{opacity:0;transform:translateY(12px)}
  24%{opacity:.54}
  100%{opacity:0;transform:translateY(-16px)}
}

@media(prefers-reduced-motion:reduce){
  .fenix-route-transition__edge,
  .fenix-route-transition__grain,
  .fenix-route-transition__particles{
    display:none !important;
  }
  .fenix-route-transition__ash{
    animation:none !important;
    clip-path:inset(0 0 0 0) !important;
  }
}


/* ============================================================
   FENIX SITE CORE 1.9 — PHOENIX SIGNATURE TRANSITION
============================================================ */

.fenix-phoenix-transition{
  position:fixed;
  z-index:2147483640;
  inset:0;
  overflow:hidden;
  pointer-events:all;
  background:transparent;
  isolation:isolate;
}

.fenix-phoenix-transition__shade{
  position:absolute;
  z-index:1;
  inset:0;
  background:#060706;
  opacity:0;
  will-change:opacity;
}

.fenix-phoenix-transition.is-active .fenix-phoenix-transition__shade{
  animation:fenixPhoenixShade 1.7s cubic-bezier(.22,.76,.24,1) forwards;
}

.fenix-phoenix-transition__video{
  position:absolute;
  z-index:2;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:0;
  mix-blend-mode:screen;
  pointer-events:none;
  will-change:opacity,transform,filter;
  filter:saturate(.94) contrast(1.03);
}

.fenix-phoenix-transition[data-choice="left"] .fenix-phoenix-transition__video{
  transform:scaleX(1);
}

.fenix-phoenix-transition[data-choice="right"] .fenix-phoenix-transition__video{
  transform:scaleX(-1);
}

.fenix-phoenix-transition.is-active .fenix-phoenix-transition__video{
  animation:fenixPhoenixVideoIn .16s ease-out forwards;
}

.fenix-phoenix-transition.is-leaving{
  opacity:0;
  transition:opacity .38s cubic-bezier(.22,1,.36,1);
}

/*
 * Fallback is deliberately simple. If a browser cannot play the WebM,
 * it gets a restrained charcoal fade rather than a broken effect.
 */
.fenix-phoenix-transition.is-fallback .fenix-phoenix-transition__video{
  display:none!important;
}

.fenix-phoenix-transition.is-fallback .fenix-phoenix-transition__shade{
  animation:fenixPhoenixFallback .36s ease-out forwards!important;
}

/* The old route transition must never compete with the phoenix version. */
body.fenix-route-transitioning .fenix-route-transition{
  display:none!important;
}

/* Once the user has clicked, the scene itself becomes quieter underneath. */
body.fenix-route-transitioning .fenix-location-gateway{
  pointer-events:none!important;
}

body.fenix-route-transitioning .fenix-location-gateway__intro{
  opacity:0!important;
  transition:opacity .16s ease!important;
}

body.fenix-route-transitioning .fenix-location-gateway__panel.is-chosen{
  transform:scale(1.012)!important;
  filter:brightness(.9) saturate(.86)!important;
  transition:
    transform 1.4s cubic-bezier(.22,1,.36,1),
    filter .35s ease!important;
}

body.fenix-route-transitioning .fenix-custom-cursor,
body.fenix-route-transitioning .fenix-cursor-dot{
  opacity:0!important;
  transition:opacity .08s ease!important;
}

@keyframes fenixPhoenixVideoIn{
  from{opacity:0}
  to{opacity:1}
}

@keyframes fenixPhoenixShade{
  0%{opacity:0}
  30%{opacity:.04}
  58%{opacity:.14}
  76%{opacity:.38}
  90%{opacity:.78}
  100%{opacity:1}
}

@keyframes fenixPhoenixFallback{
  from{opacity:0}
  to{opacity:1}
}

@media(prefers-reduced-motion:reduce){
  .fenix-phoenix-transition__video{
    display:none!important;
  }

  .fenix-phoenix-transition__shade{
    animation:fenixPhoenixFallback .22s ease-out forwards!important;
  }
}


/* ============================================================
   FENIX SITE CORE 1.9.1 — PHOENIX REVEAL TRANSITION
============================================================ */

/*
 * The transition itself is now transparent.
 * The phoenix flies over the actual gateway first, then over the homepage.
 */
.fenix-phoenix-transition{
  background:transparent!important;
}

.fenix-phoenix-transition__video-wrap{
  position:absolute;
  z-index:3;
  inset:0;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
  will-change:opacity;
}

.fenix-phoenix-transition.is-active .fenix-phoenix-transition__video-wrap{
  animation:fenixPhoenixSoftArrival .38s cubic-bezier(.22,1,.36,1) forwards;
}

.fenix-phoenix-transition__video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
  mix-blend-mode:screen!important;
  filter:saturate(.94) contrast(1.04)!important;
  animation:none!important;
}

/* No separate dark shade in this version. */
.fenix-phoenix-transition__shade{
  display:none!important;
}

/*
 * Keep the location selection intact until the bird is well underway.
 * Then the whole gateway fades together, revealing the actual homepage
 * underneath it rather than replacing the screen with black.
 */
.fenix-location-gateway.is-phoenix-revealing{
  opacity:0!important;
  transform:scale(1.008)!important;
  filter:brightness(.86) saturate(.82)!important;
  transition:
    opacity .36s cubic-bezier(.22,1,.36,1),
    transform .52s cubic-bezier(.22,1,.36,1),
    filter .36s ease!important;
}

/*
 * Slight warmth on the homepage while it first becomes visible, then settle
 * immediately back to the site's normal grade. This visually ties the reveal
 * to the passing phoenix without adding another explicit effect.
 */
body.fenix-route-transitioning .fenix-homepage-final{
  transition:filter .7s cubic-bezier(.22,1,.36,1)!important;
}

.fenix-phoenix-transition.is-home-revealing ~ .fenix-homepage-final,
body.fenix-route-transitioning .fenix-homepage-final{
  filter:brightness(.96) saturate(.92);
}

/*
 * The phoenix fades away naturally at the end instead of the whole viewport
 * fading to black.
 */
.fenix-phoenix-transition.is-leaving{
  opacity:0!important;
  transition:opacity .34s cubic-bezier(.22,1,.36,1)!important;
}

/* For the fallback only, retain a restrained dark transition. */
.fenix-phoenix-transition.is-fallback{
  background:#060706!important;
  animation:fenixPhoenixFallbackReveal .4s ease-out forwards!important;
}

.fenix-phoenix-transition.is-fallback .fenix-phoenix-transition__video-wrap{
  display:none!important;
}

@keyframes fenixPhoenixSoftArrival{
  0%{
    opacity:0;
  }
  35%{
    opacity:.28;
  }
  100%{
    opacity:1;
  }
}

@keyframes fenixPhoenixFallbackReveal{
  from{
    opacity:0;
  }
  to{
    opacity:1;
  }
}

@media(prefers-reduced-motion:reduce){
  .fenix-phoenix-transition__video-wrap{
    display:none!important;
  }

  .fenix-location-gateway.is-phoenix-revealing{
    opacity:0!important;
    transition:opacity .22s ease!important;
  }
}


/* ============================================================
   FENIX SITE CORE 1.9.2 — TRUE OVERLAY BLENDING FIX
============================================================ */

/*
 * Critical fix:
 * blend the WHOLE transition layer against the actual page behind it.
 * No isolated compositing group, no black video canvas.
 */
.fenix-phoenix-transition{
  isolation:auto!important;
  background:transparent!important;
  mix-blend-mode:screen!important;
  opacity:0!important;
  visibility:hidden!important;
  transition:none!important;
}

.fenix-phoenix-transition.is-active{
  opacity:1!important;
  visibility:visible!important;
  animation:fenixPhoenixOverlayArrival .28s cubic-bezier(.22,1,.36,1) forwards!important;
}

/*
 * The wrapper must never have partial opacity: that would create a new
 * stacking/compositing group and isolate the video from the page backdrop.
 */
.fenix-phoenix-transition__video-wrap{
  position:absolute!important;
  inset:0!important;
  opacity:1!important;
  visibility:visible!important;
  animation:none!important;
  mix-blend-mode:normal!important;
  background:transparent!important;
}

.fenix-phoenix-transition.is-active .fenix-phoenix-transition__video-wrap{
  opacity:1!important;
  animation:none!important;
}

/*
 * The video itself is rendered normally inside a container that already
 * screens against the webpage. Encoded black therefore contributes zero
 * light and the locations remain visible underneath.
 */
.fenix-phoenix-transition__video{
  opacity:1!important;
  mix-blend-mode:normal!important;
  background:transparent!important;
  animation:none!important;
}

/*
 * No old shade/fade layer may make the transparent overlay dark.
 */
.fenix-phoenix-transition__shade{
  display:none!important;
}

/* Fallback must switch back to normal blending or charcoal would disappear. */
.fenix-phoenix-transition.is-fallback{
  mix-blend-mode:normal!important;
  background:#060706!important;
}

.fenix-phoenix-transition.is-fallback .fenix-phoenix-transition__video-wrap{
  display:none!important;
}

/*
 * When the bird is done, fade only the phoenix overlay. The homepage/gateway
 * underneath remains a separate normal composition.
 */
.fenix-phoenix-transition.is-leaving{
  opacity:0!important;
  visibility:visible!important;
  transition:opacity .34s cubic-bezier(.22,1,.36,1)!important;
}

@keyframes fenixPhoenixOverlayArrival{
  from{opacity:0}
  to{opacity:1}
}


/* ============================================================
   FENIX SITE CORE 1.9.3 — SOFT GATEWAY → HOMEPAGE CROSSFADE
============================================================ */

/*
 * Prepare the homepage underneath while it is still fully hidden by
 * the location gateway. This creates a real incoming layer for the crossfade.
 */
body.fenix-home-under-transition .fenix-homepage-final{
  opacity:.34!important;
  filter:brightness(.72) saturate(.82) blur(1.2px)!important;
  transform:scale(1.008)!important;
  transition:
    opacity .68s cubic-bezier(.22,1,.36,1),
    filter .72s cubic-bezier(.22,1,.36,1),
    transform .78s cubic-bezier(.22,1,.36,1)!important;
  will-change:opacity,filter,transform;
}

/* Homepage comes in at the exact same time the gateway fades away. */
body.fenix-home-under-transition.fenix-home-revealing .fenix-homepage-final{
  opacity:1!important;
  filter:brightness(1) saturate(1) blur(0)!important;
  transform:scale(1)!important;
}

/*
 * Previous versions removed the gateway after ~360 ms. 1.9.3 gives the
 * two scenes enough overlap to feel like a cinematic dissolve.
 */
.fenix-location-gateway.is-phoenix-revealing{
  opacity:0!important;
  transform:scale(1.012)!important;
  filter:brightness(.76) saturate(.72) blur(.6px)!important;
  transition:
    opacity .66s cubic-bezier(.22,1,.36,1),
    transform .76s cubic-bezier(.22,1,.36,1),
    filter .66s cubic-bezier(.22,1,.36,1)!important;
}

/*
 * Keep the phoenix untouched and above both fading scenes. Its movement
 * visually connects the outgoing gateway to the incoming homepage.
 */
.fenix-phoenix-transition{
  z-index:2147483640!important;
}

/* Avoid an abrupt content jump when the gateway DOM is finally removed. */
body.fenix-home-revealing .fenix-homepage-final{
  backface-visibility:hidden;
  -webkit-font-smoothing:antialiased;
}

@media(prefers-reduced-motion:reduce){
  body.fenix-home-under-transition .fenix-homepage-final{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    transition:none!important;
  }

  .fenix-location-gateway.is-phoenix-revealing{
    opacity:0!important;
    filter:none!important;
    transform:none!important;
    transition:opacity .22s ease!important;
  }
}
