/* REBELWRKS_LAUNCH_FINAL_ACTIVE
   Front-end stabilization layer: one final CSS file replacing scattered mobile/service overrides.
   Public front end only. No HQ, billing, auth, mail, DB, nav logic, footer logic, or public.css rewrite.
*/
:root{
  --rw-menu-button-font: var(--font-sans, 'Montserrat', Arial, sans-serif);
  --rw-menu-button-size: 13px;
  --rw-nav-h: 86px;
  --rw-marquee-h: 42px;
}

/* Button font lock: make site buttons match top menu feel without changing layout logic. */
a[class*="btn"], a[class*="button"], button, input[type="submit"], input[type="button"],
.nav-links a, .nav-cta-btn, .btn-primary, .btn-ghost, .btn-outline, .svc-panel__cta,
.rw-service-card span span, .rw31-talent-btn, .talent-header a, .work-cta, .service-cta{
  font-family:var(--rw-menu-button-font)!important;
  font-weight:900!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}

/* Safety removal for the old homepage Work Speaks section. Installer also removes markup. */
body.rw-launch-final #work.proof-section,
body.rw-launch-final .proof-section[aria-label="Our Work"]{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Service cards + service page image polish */
.svc-panel__img,
.rw-service-card img{
  border-radius:clamp(18px,2.2vw,32px)!important;
}
.rw-service-card{
  border-radius:clamp(20px,2.2vw,34px)!important;
  overflow:hidden!important;
}
.rw-service-card img{
  object-position:center center!important;
}
.rw-service-body{
  text-shadow:0 10px 28px rgba(0,0,0,.78)!important;
}

/* Mobile final service layout. This intentionally replaces the old stack of v33-v41 overrides. */
@media (max-width: 768px){
  html{scroll-behavior:smooth!important;}
  body.rw-final-mobile-services{overflow-x:hidden!important;}

  body.rw-final-mobile-services .lum-nav{
    z-index:120000!important;
  }

  /* Keep ticker, but place it tightly under the mobile header. */
  body.rw-final-mobile-services .lum-marquee{
    display:block!important;
    visibility:visible!important;
    position:sticky!important;
    top:var(--rw-nav-h, 86px)!important;
    z-index:119900!important;
    margin:0!important;
    padding:9px 0 10px!important;
    background:rgba(5,5,5,.96)!important;
    border-top:1px solid rgba(255,106,0,.24)!important;
    border-bottom:1px solid rgba(255,106,0,.28)!important;
    box-shadow:0 8px 26px rgba(0,0,0,.35)!important;
    transform:translateY(-1px)!important;
    backdrop-filter:blur(16px) saturate(140%)!important;
    -webkit-backdrop-filter:blur(16px) saturate(140%)!important;
  }
  body.rw-final-mobile-services .marquee-track{
    animation-duration:54s!important;
  }
  body.rw-final-mobile-services .marquee-item{
    font-size:14px!important;
    line-height:1!important;
    letter-spacing:1.75px!important;
    padding:0 24px!important;
    font-family:var(--font-display,'Bebas Neue',Impact,sans-serif)!important;
    font-weight:400!important;
  }

  /* Turn the problematic sticky service stack into stable native mobile cards. */
  body.rw-final-mobile-services .svc-stack{
    overflow:visible!important;
    contain:none!important;
    background:#050505!important;
    isolation:isolate!important;
  }
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta){
    position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:auto!important;
    max-height:none!important;
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    overflow:hidden!important;
    contain:none!important;
    transform:none!important;
    -webkit-transform:none!important;
    background:#050505!important;
    border-bottom:1px solid rgba(255,106,0,.18)!important;
    padding:0!important;
    margin:0!important;
  }
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__right{
    position:relative!important;
    inset:auto!important;
    order:1!important;
    z-index:0!important;
    width:100%!important;
    height:42svh!important;
    min-height:295px!important;
    max-height:365px!important;
    aspect-ratio:auto!important;
    border:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
    background:#050505!important;
  }
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    display:block!important;
    background-image:var(--svc-img-mobile, var(--svc-img-desktop))!important;
    background-size:cover!important;
    background-position:var(--svc-pos-mobile, center top)!important;
    background-repeat:no-repeat!important;
    border-radius:0!important;
    opacity:1!important;
    filter:saturate(1.10) contrast(1.05) brightness(.94)!important;
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
  }
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__img::before,
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__img::after{
    content:none!important;
    display:none!important;
  }
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__overlay{
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    background:linear-gradient(180deg, rgba(5,5,5,.04) 0%, rgba(5,5,5,.08) 56%, rgba(5,5,5,.88) 100%)!important;
    pointer-events:none!important;
  }
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__corner-label,
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__num{
    display:none!important;
    visibility:hidden!important;
  }

  /* Content area: remove the dead black space, align eyebrow + CTA. */
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__left{
    position:relative!important;
    inset:auto!important;
    order:2!important;
    z-index:5!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    display:block!important;
    overflow:visible!important;
    padding:14px 18px 24px!important;
    margin:0!important;
    border:0!important;
    background:#050505!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    justify-content:flex-start!important;
  }
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__left::before,
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__left::after{
    content:none!important;
    display:none!important;
  }
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__eyebrow{
    display:flex!important;
    align-items:center!important;
    min-height:56px!important;
    margin:0 0 8px!important;
    padding:0 182px 0 0!important;
    max-width:100%!important;
    width:100%!important;
    color:rgba(245,242,236,.76)!important;
    opacity:1!important;
    transform:none!important;
    visibility:visible!important;
    letter-spacing:.36em!important;
    line-height:1!important;
  }
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__cta{
    position:absolute!important;
    top:14px!important;
    right:18px!important;
    left:auto!important;
    bottom:auto!important;
    order:0!important;
    z-index:20!important;
    width:auto!important;
    min-width:150px!important;
    max-width:174px!important;
    height:56px!important;
    min-height:56px!important;
    margin:0!important;
    padding:0 19px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
    border-radius:999px!important;
    border:1px solid rgba(255,195,92,.72)!important;
    background:linear-gradient(135deg,#ff4500 0%,#ff7a18 62%,#ffd36b 135%)!important;
    color:#050505!important;
    box-shadow:0 0 26px rgba(255,106,0,.36), 0 14px 34px rgba(255,69,0,.25), inset 0 1px 0 rgba(255,255,255,.34)!important;
    font-family:var(--rw-menu-button-font, var(--font-sans,'Montserrat',sans-serif))!important;
    font-size:14px!important;
    font-weight:950!important;
    letter-spacing:.18em!important;
    line-height:1!important;
    text-transform:uppercase!important;
    opacity:1!important;
    transform:none!important;
    visibility:visible!important;
  }
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__cta .svc-cta-text-full,
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__cta .svc-cta-text-mobile{
    display:inline!important;
    font:inherit!important;
    letter-spacing:inherit!important;
  }
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__cta i{
    margin-left:10px!important;
    font-size:12px!important;
  }
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__title{
    margin:2px 0 12px!important;
    max-width:100%!important;
    font-size:clamp(43px, 13.5vw, 66px)!important;
    line-height:.88!important;
    text-shadow:0 7px 24px rgba(0,0,0,.74)!important;
    opacity:1!important;
    transform:none!important;
    visibility:visible!important;
  }
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__desc{
    margin:0!important;
    max-width:100%!important;
    font-size:13.6px!important;
    line-height:1.42!important;
    color:rgba(245,242,236,.88)!important;
    text-shadow:0 3px 16px rgba(0,0,0,.72)!important;
    opacity:1!important;
    transform:none!important;
    visibility:visible!important;
  }
  body.rw-final-mobile-services .svc-panel__features{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin:14px 0 0!important;
    width:100%!important;
    max-width:100%!important;
    opacity:1!important;
    transform:none!important;
    visibility:visible!important;
  }
  body.rw-final-mobile-services .svc-panel__feature{
    min-height:38px!important;
    padding:8px 10px!important;
    border-radius:14px!important;
    background:rgba(12,12,12,.78)!important;
    border:1px solid rgba(245,242,236,.17)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 10px 22px rgba(0,0,0,.2)!important;
    color:rgba(245,242,236,.92)!important;
    font-family:var(--font-sans,'Montserrat',sans-serif)!important;
    font-size:8.7px!important;
    font-weight:900!important;
    letter-spacing:.75px!important;
    line-height:1.1!important;
    text-transform:uppercase!important;
  }
  body.rw-final-mobile-services .svc-panel__feature i{
    width:14px!important;
    min-width:14px!important;
    font-size:11px!important;
    color:#ff6a00!important;
  }

  body.rw-final-mobile-services .svc-panel--cta{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:440px!important;
    padding:80px 22px 70px!important;
    overflow:hidden!important;
  }
}

@media (max-width: 390px){
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__right{min-height:275px!important;height:40svh!important;}
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__eyebrow{padding-right:160px!important;letter-spacing:.30em!important;}
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__cta{right:16px!important;min-width:138px!important;height:52px!important;min-height:52px!important;font-size:13px!important;letter-spacing:.15em!important;padding:0 16px!important;}
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__title{font-size:clamp(38px,12.2vw,58px)!important;}
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__desc{font-size:12.7px!important;line-height:1.36!important;}
}

@media (max-height: 720px) and (max-width: 768px){
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__right{height:38svh!important;min-height:250px!important;}
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__left{padding-top:12px!important;padding-bottom:18px!important;}
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__eyebrow{min-height:52px!important;margin-bottom:5px!important;}
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__cta{top:12px!important;height:52px!important;min-height:52px!important;}
  body.rw-final-mobile-services .svc-panel__features{gap:7px!important;margin-top:10px!important;}
  body.rw-final-mobile-services .svc-panel__feature{min-height:32px!important;padding:7px 8px!important;font-size:8px!important;}
}

/* REBELWRKS_CLEAN_BUILD_ACTIVE — Clean Build Stabilizer 01
   This is the only final public front-end override layer after cleanup.
   Keep future public UI changes here, not in stacked patch files.
*/
@media (max-width: 768px){
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__left{
    padding-top:12px!important;
    padding-bottom:20px!important;
  }
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__eyebrow{
    min-height:58px!important;
    padding-right:188px!important;
    align-items:center!important;
  }
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__cta{
    top:12px!important;
    height:58px!important;
    min-height:58px!important;
    min-width:158px!important;
    max-width:184px!important;
    font-size:15px!important;
    font-weight:950!important;
    letter-spacing:.2em!important;
  }
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__title{
    margin-top:2px!important;
  }
}
@media (max-width: 390px){
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__eyebrow{padding-right:168px!important;}
  body.rw-final-mobile-services .svc-panel:not(.svc-panel--cta) .svc-panel__cta{
    min-width:146px!important;max-width:166px!important;font-size:14px!important;letter-spacing:.17em!important;
  }
}
