/*
 * REAL.PRO Studios · HEADER + MEGA MENU FINAL V5
 * Final visual authority for all viewports.
 */

:root{
  --rp-v5-red:#e63236;
  --rp-v5-active:#f05a5f;
  --rp-v5-navy:#06182b;
  --rp-v5-white:#fff;
}

/* ----- CLOSED HEADER ----- */

html body .site-header[data-header],
html body .site-header[data-header].is-scrolled{
  box-sizing:border-box!important;
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid transparent!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  overflow:visible!important;
  z-index:10050!important;
  transition:background-color .12s linear,border-color .12s linear,box-shadow .12s linear!important;
}

html body .site-header[data-header]::before,
html body .site-header[data-header]::after{
  display:none!important;
  content:none!important;
}

html body .site-header[data-header] .rp-signature-nav,
html body .site-header[data-header] .desktop-nav,
html body .site-header[data-header] .desktop-nav--premium,
html body .site-header[data-header] .header-nav,
html body .site-header[data-header] .header-cta,
html body .site-header[data-header] .nav-cta,
html body .site-header[data-header] .rp-header-statement{
  display:none!important;
  visibility:hidden!important;
}

html body .site-header[data-header][data-rp-v5-theme="light"]{
  background:rgba(255,255,255,.99)!important;
  border-bottom-color:rgba(6,24,43,.06)!important;
  box-shadow:0 5px 18px rgba(6,24,43,.04)!important;
}

html body .site-header[data-header][data-rp-v5-theme="dark"]{
  background:rgba(6,24,43,.99)!important;
  border-bottom-color:rgba(255,255,255,.05)!important;
  box-shadow:0 5px 18px rgba(0,0,0,.08)!important;
}

/* first-paint fallback */
html body .site-header[data-header][data-rp-surface="light"],
html body .site-header[data-header].is-light,
html body.rp-header-light .site-header[data-header]{
  background:rgba(255,255,255,.99)!important;
}

/* ----- CONTROLLED WORDMARK ----- */

html body .site-header[data-header] .header-logo,
html body .site-header[data-header].is-scrolled .header-logo{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 0 auto!important;
  width:var(--rp-v5-logo-w)!important;
  min-width:var(--rp-v5-logo-w)!important;
  max-width:var(--rp-v5-logo-w)!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}

html body .site-header[data-header] .header-logo > img{
  position:absolute!important;
  visibility:hidden!important;
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  pointer-events:none!important;
}

html body .site-header[data-header] .header-logo::before{
  content:""!important;
  display:block!important;
  width:var(--rp-v5-logo-w)!important;
  height:var(--rp-v5-logo-h)!important;
  background:url("../images/brand/realpro-logo-horizontal-on-dark.webp") left center/contain no-repeat!important;
  opacity:1!important;
  visibility:visible!important;
}

html body .site-header[data-header][data-rp-v5-theme="light"] .header-logo::before,
html body .site-header[data-header][data-rp-surface="light"] .header-logo::before,
html body .site-header[data-header].is-light .header-logo::before,
html body.rp-header-light .site-header[data-header] .header-logo::before{
  background-image:url("../images/brand/realpro-logo-horizontal.webp")!important;
}

html body .site-header[data-header][data-rp-v5-theme="dark"] .header-logo::before{
  background-image:url("../images/brand/realpro-logo-horizontal-on-dark.webp")!important;
}

/* ----- PREMIUM HAMBURGER ----- */

html body .site-header[data-header] .menu-toggle,
html body .site-header[data-header].is-scrolled .menu-toggle{
  box-sizing:border-box!important;
  position:relative!important;
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 48px!important;
  width:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(127,127,127,.14)!important;
  border-radius:14px!important;
  background:rgba(127,127,127,.025)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 4px 14px rgba(0,0,0,.025)!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}

html body .site-header[data-header] .menu-toggle span{
  display:block!important;
  width:24px!important;
  height:2px!important;
  margin:2.8px 0!important;
  border:0!important;
  border-radius:999px!important;
  opacity:1!important;
  transform:none!important;
  transition:width .16s ease,margin .16s ease,background-color .1s linear!important;
}

html body .site-header[data-header][data-rp-v5-theme="dark"] .menu-toggle span{
  background:#fff!important;
}

html body .site-header[data-header][data-rp-v5-theme="light"] .menu-toggle span{
  background:var(--rp-v5-navy)!important;
}

html body .site-header[data-header] .menu-toggle span:nth-child(2){
  width:15px!important;
  margin-left:9px!important;
  background:var(--rp-v5-red)!important;
}

html body .site-header[data-header] .menu-toggle:hover,
html body .site-header[data-header] .menu-toggle:focus-visible{
  border-color:rgba(127,127,127,.24)!important;
  background:rgba(127,127,127,.055)!important;
  outline:none!important;
}

html body .site-header[data-header] .menu-toggle:hover span:nth-child(2),
html body .site-header[data-header] .menu-toggle:focus-visible span:nth-child(2){
  width:24px!important;
  margin-left:0!important;
}

/* ----- OPEN MEGA MENU ----- */

html body.rp-v5-menu-open .site-header[data-header],
html:has(.fullscreen-menu#siteMenu.is-open) body .site-header[data-header]{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  z-index:-1!important;
}

html body .fullscreen-menu#siteMenu.is-open{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  min-width:100vw!important;
  max-width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  z-index:2147483000!important;
}

html body .fullscreen-menu#siteMenu.is-open .menu-scrim{
  background:transparent!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

html body .fullscreen-menu#siteMenu.is-open .menu-panel{
  box-sizing:border-box!important;
  position:absolute!important;
  inset:0!important;
  width:100vw!important;
  min-width:100vw!important;
  max-width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  scrollbar-gutter:stable!important;
}

/* floating controls only: no top band */
html body .fullscreen-menu#siteMenu.is-open .menu-top{
  box-sizing:border-box!important;
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  overflow:visible!important;
  z-index:50!important;
  pointer-events:none!important;
}

html body .fullscreen-menu#siteMenu.is-open .menu-top > img,
html body .fullscreen-menu#siteMenu.is-open .menu-top > img.rp-brand-logo--menu{
  display:none!important;
  visibility:hidden!important;
  position:absolute!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  pointer-events:none!important;
}

html body .fullscreen-menu#siteMenu.is-open .menu-top::before{
  content:""!important;
  position:absolute!important;
  top:var(--rp-v5-control-top)!important;
  left:var(--rp-v5-gutter)!important;
  display:block!important;
  width:var(--rp-v5-symbol-w)!important;
  height:var(--rp-v5-symbol-h)!important;
  background:url("../images/brand/realpro-logo-symbol-on-dark.webp") left center/contain no-repeat!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  z-index:51!important;
}

html body .fullscreen-menu#siteMenu.is-open .menu-top::after{
  display:none!important;
  content:none!important;
}

html body .fullscreen-menu#siteMenu.is-open .menu-close:not([data-menu-close]){
  display:none!important;
  visibility:hidden!important;
}

html body .fullscreen-menu#siteMenu.is-open [data-menu-close]{
  box-sizing:border-box!important;
  position:absolute!important;
  top:var(--rp-v5-control-top)!important;
  right:var(--rp-v5-gutter)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:50px!important;
  min-width:50px!important;
  max-width:50px!important;
  height:50px!important;
  min-height:50px!important;
  max-height:50px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.095)!important;
  border-radius:15px!important;
  background:rgba(5,20,37,.28)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 6px 18px rgba(0,0,0,.08)!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
  touch-action:manipulation!important;
  z-index:52!important;
}

html body .fullscreen-menu#siteMenu.is-open [data-menu-close] > *{
  opacity:0!important;
  visibility:hidden!important;
}

html body .fullscreen-menu#siteMenu.is-open [data-menu-close]::before,
html body .fullscreen-menu#siteMenu.is-open [data-menu-close]::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  display:block!important;
  width:22px!important;
  height:2px!important;
  border-radius:999px!important;
  transform-origin:center!important;
}

html body .fullscreen-menu#siteMenu.is-open [data-menu-close]::before{
  background:#fff!important;
  transform:translate(-50%,-50%) rotate(45deg)!important;
}

html body .fullscreen-menu#siteMenu.is-open [data-menu-close]::after{
  background:var(--rp-v5-red)!important;
  transform:translate(-50%,-50%) rotate(-45deg)!important;
}

/* ----- MENU CONTENT ----- */

html body .fullscreen-menu#siteMenu.is-open .menu-content{
  box-sizing:border-box!important;
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  min-height:100%!important;
  margin:0!important;
  padding:var(--rp-v5-topspace) var(--rp-v5-gutter) 44px!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}

html body .fullscreen-menu#siteMenu.is-open .menu-links{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:min(100%,var(--rp-v5-links-max))!important;
  max-width:var(--rp-v5-links-max)!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}

html body .fullscreen-menu#siteMenu.is-open .menu-links a{
  box-sizing:border-box!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:var(--rp-v5-link-py) 0!important;
  color:#fff!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.105)!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  white-space:normal!important;
  font-family:"REALPRO Display","Arial Narrow",Arial,sans-serif!important;
  font-size:var(--rp-v5-menu-font)!important;
  font-weight:700!important;
  line-height:.90!important;
  letter-spacing:-.03em!important;
  overflow:visible!important;
  opacity:1!important;
  transform:none!important;
  transition:color .14s ease,padding-left .16s ease!important;
}

html body .fullscreen-menu#siteMenu.is-open .menu-links a[aria-current="page"],
html body .fullscreen-menu#siteMenu.is-open .menu-links a.is-active{
  color:var(--rp-v5-active)!important;
}

html body .fullscreen-menu#siteMenu.is-open .menu-links a:hover,
html body .fullscreen-menu#siteMenu.is-open .menu-links a:focus-visible{
  color:var(--rp-v5-active)!important;
  padding-left:4px!important;
  outline:none!important;
}

html body .fullscreen-menu#siteMenu.is-open .menu-signature{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  margin:var(--rp-v5-signature-gap) 0 0!important;
  padding:0!important;
  color:rgba(255,255,255,.60)!important;
  text-transform:uppercase!important;
  font-family:Inter,Arial,sans-serif!important;
  font-size:var(--rp-v5-signature-font)!important;
  font-weight:700!important;
  line-height:1.5!important;
  letter-spacing:.31em!important;
  overflow:visible!important;
}

html body.rp-v5-menu-open .rp-scroll-top,
html:has(.fullscreen-menu#siteMenu.is-open) body .rp-scroll-top{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* ----- BREAKPOINTS ----- */

@media (max-width:359px){
  :root{
    --rp-v5-logo-w:132px;
    --rp-v5-logo-h:34px;
    --rp-v5-gutter:20px;
    --rp-v5-control-top:18px;
    --rp-v5-symbol-w:56px;
    --rp-v5-symbol-h:42px;
    --rp-v5-topspace:104px;
    --rp-v5-links-max:100%;
    --rp-v5-menu-font:clamp(37px,11.5vw,42px);
    --rp-v5-link-py:11px;
    --rp-v5-signature-gap:28px;
    --rp-v5-signature-font:9px;
  }

  html body .site-header[data-header]{
    height:70px!important;
    min-height:70px!important;
    padding:0 max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left))!important;
  }
}

@media (min-width:360px) and (max-width:599px){
  :root{
    --rp-v5-logo-w:148px;
    --rp-v5-logo-h:38px;
    --rp-v5-gutter:24px;
    --rp-v5-control-top:22px;
    --rp-v5-symbol-w:62px;
    --rp-v5-symbol-h:46px;
    --rp-v5-topspace:118px;
    --rp-v5-links-max:100%;
    --rp-v5-menu-font:clamp(44px,12vw,56px);
    --rp-v5-link-py:13px;
    --rp-v5-signature-gap:36px;
    --rp-v5-signature-font:10px;
  }

  html body .site-header[data-header]{
    height:72px!important;
    min-height:72px!important;
    padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))!important;
  }
}

@media (min-width:600px) and (max-width:760px){
  :root{
    --rp-v5-logo-w:160px;
    --rp-v5-logo-h:40px;
    --rp-v5-gutter:30px;
    --rp-v5-control-top:24px;
    --rp-v5-symbol-w:66px;
    --rp-v5-symbol-h:48px;
    --rp-v5-topspace:124px;
    --rp-v5-links-max:640px;
    --rp-v5-menu-font:clamp(50px,8.4vw,62px);
    --rp-v5-link-py:14px;
    --rp-v5-signature-gap:38px;
    --rp-v5-signature-font:10px;
  }

  html body .site-header[data-header]{
    height:74px!important;
    min-height:74px!important;
    padding:0 clamp(20px,3.2vw,28px)!important;
  }
}

@media (min-width:761px) and (max-width:1024px){
  :root{
    --rp-v5-logo-w:176px;
    --rp-v5-logo-h:41px;
    --rp-v5-gutter:42px;
    --rp-v5-control-top:28px;
    --rp-v5-symbol-w:70px;
    --rp-v5-symbol-h:50px;
    --rp-v5-topspace:136px;
    --rp-v5-links-max:690px;
    --rp-v5-menu-font:clamp(56px,7vw,72px);
    --rp-v5-link-py:14px;
    --rp-v5-signature-gap:38px;
    --rp-v5-signature-font:10px;
  }

  html body .site-header[data-header]{
    height:76px!important;
    min-height:76px!important;
    padding:0 clamp(26px,3.7vw,42px)!important;
  }
}

@media (min-width:1025px) and (max-width:1439px){
  :root{
    --rp-v5-logo-w:190px;
    --rp-v5-logo-h:43px;
    --rp-v5-gutter:58px;
    --rp-v5-control-top:30px;
    --rp-v5-symbol-w:74px;
    --rp-v5-symbol-h:52px;
    --rp-v5-topspace:146px;
    --rp-v5-links-max:740px;
    --rp-v5-menu-font:clamp(62px,5.2vw,78px);
    --rp-v5-link-py:13px;
    --rp-v5-signature-gap:38px;
    --rp-v5-signature-font:10px;
  }

  html body .site-header[data-header]{
    height:80px!important;
    min-height:80px!important;
    padding:0 clamp(34px,4.1vw,60px)!important;
  }
}

@media (min-width:1440px){
  :root{
    --rp-v5-logo-w:206px;
    --rp-v5-logo-h:46px;
    --rp-v5-gutter:72px;
    --rp-v5-control-top:34px;
    --rp-v5-symbol-w:78px;
    --rp-v5-symbol-h:54px;
    --rp-v5-topspace:156px;
    --rp-v5-links-max:780px;
    --rp-v5-menu-font:clamp(66px,4.3vw,84px);
    --rp-v5-link-py:12px;
    --rp-v5-signature-gap:40px;
    --rp-v5-signature-font:10px;
  }

  html body .site-header[data-header]{
    height:84px!important;
    min-height:84px!important;
    padding:0 clamp(48px,4.8vw,92px)!important;
  }
}

@media (min-width:1920px){
  :root{
    --rp-v5-logo-w:216px;
    --rp-v5-logo-h:47px;
    --rp-v5-gutter:86px;
    --rp-v5-links-max:820px;
    --rp-v5-menu-font:86px;
  }
}

@media (max-width:760px) and (max-height:560px) and (orientation:landscape){
  :root{
    --rp-v5-gutter:24px;
    --rp-v5-control-top:12px;
    --rp-v5-symbol-w:52px;
    --rp-v5-symbol-h:36px;
    --rp-v5-topspace:70px;
    --rp-v5-menu-font:clamp(28px,5.3vw,36px);
    --rp-v5-link-py:5px;
    --rp-v5-signature-gap:12px;
    --rp-v5-signature-font:8px;
  }

  html body .site-header[data-header]{
    height:64px!important;
    min-height:64px!important;
  }
}

/* accessibility */
html body .site-header[data-header] a:focus-visible,
html body .site-header[data-header] button:focus-visible,
html body .fullscreen-menu#siteMenu.is-open a:focus-visible,
html body .fullscreen-menu#siteMenu.is-open button:focus-visible{
  outline:2px solid var(--rp-v5-red)!important;
  outline-offset:4px!important;
}

@media (prefers-reduced-motion:reduce){
  html body .site-header[data-header],
  html body .site-header[data-header] *,
  html body .fullscreen-menu#siteMenu,
  html body .fullscreen-menu#siteMenu *{
    animation:none!important;
    transition:none!important;
  }
}
