:root{
  --rushd-navy:#0E1F3D;
  --rushd-red:#E43036;
  --rushd-cream:#F7F4EE;
  --rushd-ease:cubic-bezier(.22,.8,.22,1);
}

/* =========================================================
   PHONE + PORTRAIT CTA
   Global Header injected
========================================================= */

.rushd-mobile-portrait-cta{
  display:none;

  position:absolute;
  top:10.5vh;
  left:50%;

  z-index:25;

  width:min(88vw,680px);

  transform:translateX(-50%);

  direction:rtl;
  text-align:center;

  pointer-events:none;
}

.rushd-mobile-portrait-cta.is-active{
  display:block;
  pointer-events:auto;
}

.rushd-mobile-portrait-cta__kicker{
  display:inline-block;

  margin-bottom:7px;

  color:var(--rushd-red);

  font-size:clamp(.62rem,1.6vw,.78rem);
  font-weight:900;
  line-height:1;

  letter-spacing:.18em;
  direction:ltr;
}

.rushd-mobile-portrait-cta__title{
  margin:0;

  color:var(--rushd-navy);

  font-size:clamp(3.5rem,11vw,7rem);
  font-weight:900;
  line-height:.88;

  letter-spacing:-.045em;
}

.rushd-mobile-portrait-cta__text{
  width:min(84vw,590px);

  margin:15px auto 0;

  color:#43526A;

  font-size:clamp(.82rem,2.6vw,1.05rem);
  font-weight:500;
  line-height:1.75;
}

.rushd-mobile-portrait-cta__button{
  position:relative;
  isolation:isolate;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:46px;

  margin-top:28px;
  padding:0 30px;

  color:var(--rushd-red);

  font-size:.78rem;
  font-weight:900;
  letter-spacing:.14em;

  cursor:pointer;

  border:1px solid rgba(14,31,61,.13);
  border-radius:13px;

  background-image:
    linear-gradient(
      90deg,
      var(--rushd-navy) 0%,
      var(--rushd-navy) 100%
    ),
    linear-gradient(
      135deg,
      rgba(255,255,255,.84),
      rgba(247,244,238,.58)
    );

  background-size:0% 100%,100% 100%;
  background-position:left top,left top;
  background-repeat:no-repeat;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.88),
    0 8px 20px rgba(14,31,61,.09);

  -webkit-backdrop-filter:
    blur(12px) saturate(130%);

  backdrop-filter:
    blur(12px) saturate(130%);

  overflow:visible;

  transition:
    transform .28s var(--rushd-ease),
    color .18s ease .10s,
    border-color .24s ease,
    box-shadow .28s var(--rushd-ease),
    background-size .38s cubic-bezier(.22,.8,.2,1);
}

.rushd-mobile-portrait-cta__button > span{
  position:relative;
  z-index:3;
}

.rushd-mobile-portrait-cta__button:hover,
.rushd-mobile-portrait-cta__button:focus-visible{
  color:var(--rushd-cream);

  transform:
    translateY(-2px)
    scale(1.012);

  border-color:
    rgba(228,48,54,.44);

  background-size:
    100% 100%,
    100% 100%;

  box-shadow:
    inset 0 1px 0 rgba(247,244,238,.12),
    0 10px 22px rgba(14,31,61,.14),
    0 0 16px rgba(228,48,54,.09);
}


/* =========================================================
   CTA EXIT — FRAME 11
   Same motion language as desktop
========================================================= */

.rushd-mp-exit-right,
.rushd-mp-exit-left,
.rushd-mp-exit-up,
.rushd-mp-exit-down{
  will-change:transform,opacity,filter;

  transition:
    transform .78s cubic-bezier(.18,.82,.18,1),
    opacity .44s ease,
    filter .44s ease;
}

/* Arabic title -> RIGHT */
.rushd-mobile-portrait-cta.is-leaving
.rushd-mp-exit-right{
  transform:translateX(115vw) rotate(3deg)!important;
  opacity:0!important;
  filter:blur(7px);
}

/* Button + character -> LEFT */
.rushd-mobile-portrait-cta.is-leaving
.rushd-mp-exit-left{
  transform:translateX(-115vw) rotate(-3deg)!important;
  opacity:0!important;
  filter:blur(7px);
}

/* Description -> UP */
.rushd-mobile-portrait-cta.is-leaving
.rushd-mp-exit-up{
  transform:translateY(-110vh) rotate(-1deg)!important;
  opacity:0!important;
  filter:blur(7px);
}

/* Small RUSHD -> DOWN */
.rushd-mobile-portrait-cta.is-leaving
.rushd-mp-exit-down{
  transform:translateY(110vh) rotate(2deg)!important;
  opacity:0!important;
  filter:blur(7px);
}

.rushd-mobile-portrait-cta.is-leaving{
  pointer-events:none!important;
}

/* =========================================================
   SMALL CHARACTER ON BUTTON
   Static — no breathing
========================================================= */

.rushd-mobile-portrait-cta__character{
  position:absolute;

  left:50%;
  bottom:calc(100% - 12px);

  width:clamp(48px,13vw,78px);
  height:auto;

  transform:translateX(-50%);

  transform-origin:center bottom;

  z-index:8;

  pointer-events:none!important;
  user-select:none!important;

  filter:
    drop-shadow(
      0 7px 10px
      rgba(14,31,61,.11)
    )
    drop-shadow(
      0 2px 3px
      rgba(228,48,54,.07)
    );
}


/* =========================================================
   PHONE
   Hero section = 250VH
   Sticky viewport = 100VH
   Effective scroll travel = 150VH
========================================================= */

@media(max-width:767px){

  .rushd-scroll-hero{
    height:250vh!important;
  }

  .rushd-sticky{
    position:sticky!important;
    position:-webkit-sticky!important;
    top:0!important;
    height:100vh!important;
  }

  .rushd-mobile-portrait-cta{
    top:10.5vh;
    width:88vw;
  }

  .rushd-mobile-portrait-cta__text{
    width:84vw;
  }
}


/* =========================================================
   PORTRAIT
   Same 250VH behavior as phone
========================================================= */

@media(min-width:768px) and (orientation:portrait){

  .rushd-scroll-hero{
    height:250vh!important;
  }

  .rushd-sticky{
    position:sticky!important;
    position:-webkit-sticky!important;
    top:0!important;
    height:100vh!important;
  }

  .rushd-mobile-portrait-cta{
    top:10vh;
    width:min(78vw,680px);
  }

  .rushd-mobile-portrait-cta__text{
    width:min(72vw,590px);
  }

  .rushd-mobile-portrait-cta__character{
    width:clamp(58px,8vw,86px);
  }
}


/* =========================================================
   DESKTOP LANDSCAPE
   NEVER show this CTA
========================================================= */

@media(min-width:768px) and (orientation:landscape){

  .rushd-mobile-portrait-cta{
    display:none!important;
  }
}


/* =========================================================
   STRICT FRAME ROUTING — MOBILE / PORTRAIT FILE OWNS ONLY
   ITS RESPONSIVE MODES
========================================================= */

/* PHONE */
@media (max-width:767px){

  .rushd-frame-mobile{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .rushd-frame-desktop,
  .rushd-frame-portrait{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
  }
}

/* PORTRAIT */
@media (min-width:768px) and (orientation:portrait){

  .rushd-frame-portrait{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .rushd-frame-desktop,
  .rushd-frame-mobile{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
  }
}

/* DESKTOP LANDSCAPE — MOBILE/PORTRAIT ASSETS MUST NEVER APPEAR */
@media (min-width:768px) and (orientation:landscape){

  .rushd-frame-mobile,
  .rushd-frame-portrait{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  .rushd-mobile-portrait-cta{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
}
