.cfnh-shell,.cfnh-shell *{box-sizing:border-box}.cfnh-shell{position:relative;width:100%;background:#000;color:#fff}.cfnh-hero{position:relative;min-height:var(--cfnh-height,82svh);overflow:hidden;isolation:isolate;background:#050505}.cfnh-layer{position:absolute;inset:0;z-index:0;background-position:center;background-size:cover;opacity:0;transform:scale(1.03);transition:opacity .8s ease,transform 8s linear}.cfnh-layer.is-active{opacity:1;transform:scale(1.1)}.cfnh-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.12) 38%,rgba(0,0,0,.14) 58%,rgba(0,0,0,.82) 100%);pointer-events:none}.cfnh-topnav{position:absolute;left:0;right:0;top:0;z-index:5;display:flex;align-items:center;gap:2rem;padding:clamp(18px,2.4vw,34px) clamp(22px,4vw,64px);border-bottom:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(0,0,0,.48),transparent)}.cfnh-brand{flex:0 0 auto;display:flex;align-items:center;text-decoration:none!important;line-height:0}.cfnh-brand img{display:block;width:clamp(110px,9vw,140px);height:auto;max-height:76px;object-fit:contain}.cfnh-menu-list{display:flex;align-items:center;justify-content:flex-end;gap:clamp(1rem,2vw,2rem);margin-left:auto;overflow-x:auto;scrollbar-width:none}.cfnh-menu-list::-webkit-scrollbar{display:none}.cfnh-menu-list a{position:relative;flex:0 0 auto;color:rgba(255,255,255,.7)!important;text-decoration:none!important;font-size:clamp(.82rem,1vw,1rem);font-weight:500;white-space:nowrap;padding:.5rem 0}.cfnh-menu-list a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:#fff;transition:right .25s ease}.cfnh-menu-list a:hover,.cfnh-menu-list a:focus-visible{color:#fff!important}.cfnh-menu-list a:hover:after,.cfnh-menu-list a:focus-visible:after{right:0}.cfnh-menu-toggle{display:none;margin-left:auto;width:44px;height:44px;border:0;background:transparent;padding:10px}.cfnh-menu-toggle span{display:block;height:1px;background:#fff;margin:7px 0}.cfnh-project-hit{position:absolute;inset:0;z-index:2}.cfnh-info{position:absolute;right:clamp(24px,5vw,76px);bottom:clamp(40px,7vw,92px);z-index:4;width:min(680px,calc(100% - 48px));text-align:right;transition:opacity .2s ease,transform .2s ease}.cfnh-shell.is-changing .cfnh-info{opacity:0;transform:translateY(10px)}.cfnh-categories{margin-bottom:.85rem;color:rgba(255,255,255,.72);font-size:clamp(.72rem,.9vw,.9rem);font-weight:600;letter-spacing:.14em;text-transform:uppercase}.cfnh-info h1{margin:0;color:#fff!important;font-size:clamp(2.6rem,7vw,7.4rem)!important;line-height:.9!important;font-weight:600!important;letter-spacing:-.055em!important;text-wrap:balance}.cfnh-meta{display:flex;justify-content:flex-end;align-items:center;gap:.65rem;margin-top:1.25rem;color:#fff;font-size:.9rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.cfnh-progress{position:absolute;left:0;right:0;bottom:0;z-index:6;height:3px;background:rgba(255,255,255,.16)}.cfnh-progress span{display:block;width:100%;height:100%;background:#fff;transform-origin:left center}.cfnh-admin-notice{padding:16px;background:#fff3cd;color:#664d03}@keyframes cfnhProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}@media(max-width:980px){.cfnh-brand img{width:95px;max-height:58px}.cfnh-hero{min-height:min(var(--cfnh-height,82svh),820px)}.cfnh-topnav{padding:18px 22px}.cfnh-menu-toggle{display:block}.cfnh-menu-list{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px 22px 22px;background:rgba(0,0,0,.96);border-top:1px solid rgba(255,255,255,.1)}.cfnh-shell.menu-open .cfnh-menu-list{display:flex}.cfnh-menu-list a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.cfnh-info{right:22px;bottom:42px;width:calc(100% - 44px)}.cfnh-info h1{font-size:clamp(2.7rem,14vw,5.5rem)!important}.cfnh-categories{font-size:.7rem}}@media(prefers-reduced-motion:reduce){.cfnh-layer,.cfnh-info{transition:none!important}.cfnh-layer.is-active{transform:none}.cfnh-progress span{animation:none!important}}

@media(max-width:600px){.cfnh-brand img{width:82px;max-height:50px}}

/* Standalone menu shortcode: [camcorderfilmz_menu] */
.cfnh-menu-only{position:relative;z-index:9999;background:#000!important;color:#fff;width:100%}
.cfnh-menu-only .cfnh-topnav-standalone{position:relative!important;inset:auto!important;width:100%;min-height:86px;background:#000!important;border-bottom:1px solid rgba(255,255,255,.10);padding:12px clamp(22px,4vw,64px)}
.cfnh-menu-only .cfnh-brand img{width:clamp(110px,9vw,140px);max-height:64px}
.cfnh-menu-only .cfnh-menu-list a[aria-current="page"],
.cfnh-menu-only .cfnh-menu-list a.is-current{color:#fff!important}
@media(max-width:980px){
  .cfnh-menu-only .cfnh-topnav-standalone{min-height:72px;padding:10px 22px}
  .cfnh-menu-only .cfnh-brand img{width:95px;max-height:54px}
  .cfnh-menu-only.menu-open .cfnh-menu-list{display:flex}
}
@media(max-width:600px){
  .cfnh-menu-only .cfnh-brand img{width:82px;max-height:48px}
}


/* Hero-only shortcode: [camcorderfilmz_netflix_hero] */
.cfnh-hero-only .cfnh-hero{min-height:var(--cfnh-height,82svh)}
.cfnh-hero-only .cfnh-info{top:auto}
.cfnh-hero-only .cfnh-overlay{
  background:
    linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.08) 38%,rgba(0,0,0,.16) 58%,rgba(0,0,0,.84) 100%)
}
.cfnh-hero-only .cfnh-project-hit{inset:0}
@media(max-width:980px){
  .cfnh-hero-only .cfnh-hero{min-height:min(var(--cfnh-height,82svh),820px)}
}


/* =========================================================
   v1.4 Responsive App UI
   ========================================================= */
.cfnh-shell{
  --cf-app-edge:clamp(16px,4vw,28px);
  --cf-touch:44px;
  -webkit-tap-highlight-color:transparent;
}
.cfnh-topnav a,.cfnh-menu-toggle{touch-action:manipulation}
.cfnh-menu-list a:focus-visible,
.cfnh-brand:focus-visible,
.cfnh-menu-toggle:focus-visible,
.cfnh-project-hit:focus-visible{
  outline:2px solid #fff!important;
  outline-offset:4px;
}
@supports (padding:max(0px)){
  .cfnh-topnav{
    padding-left:max(clamp(22px,4vw,64px),env(safe-area-inset-left));
    padding-right:max(clamp(22px,4vw,64px),env(safe-area-inset-right));
  }
}
@media(max-width:980px){
  body.cfnh-menu-lock{overflow:hidden!important}
  .cfnh-topnav{
    min-height:68px;
    padding-top:max(10px,env(safe-area-inset-top));
    padding-bottom:10px;
    background:rgba(0,0,0,.82)!important;
    -webkit-backdrop-filter:blur(18px) saturate(130%);
    backdrop-filter:blur(18px) saturate(130%);
  }
  .cfnh-menu-toggle{
    display:block;
    position:relative;
    z-index:1002;
    min-width:var(--cf-touch);
    min-height:var(--cf-touch);
    border-radius:12px;
  }
  .cfnh-menu-toggle span{
    width:22px;
    margin:6px auto;
    transform-origin:center;
    transition:transform .22s ease,opacity .22s ease;
  }
  .cfnh-shell.menu-open .cfnh-menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .cfnh-shell.menu-open .cfnh-menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .cfnh-menu-list{
    position:fixed!important;
    inset:0!important;
    z-index:1001;
    display:flex!important;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0!important;
    margin:0!important;
    padding:
      max(96px,calc(env(safe-area-inset-top) + 82px))
      max(22px,env(safe-area-inset-right))
      max(32px,calc(env(safe-area-inset-bottom) + 24px))
      max(22px,env(safe-area-inset-left))!important;
    background:rgba(5,5,5,.98)!important;
    -webkit-backdrop-filter:blur(24px);
    backdrop-filter:blur(24px);
    overflow-y:auto;
    opacity:0;
    visibility:hidden;
    transform:translateY(-12px);
    pointer-events:none;
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease;
  }
  .cfnh-shell.menu-open .cfnh-menu-list{
    opacity:1;
    visibility:visible;
    transform:none;
    pointer-events:auto;
  }
  .cfnh-menu-list a{
    display:flex;
    align-items:center;
    min-height:58px;
    padding:12px 2px!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
    font-size:clamp(1.15rem,5.4vw,1.65rem)!important;
    font-weight:600;
    letter-spacing:-.02em;
    color:rgba(255,255,255,.82)!important;
  }
  .cfnh-menu-list a.is-current,
  .cfnh-menu-list a[aria-current="page"]{color:#fff!important}
  .cfnh-menu-list a:after{display:none}
  .cfnh-brand{position:relative;z-index:1002}
  .cfnh-brand img{width:92px;max-height:52px}
  .cfnh-hero{
    min-height:var(--cfnh-height,78svh)!important;
    height:auto;
  }
  .cfnh-info{
    right:var(--cf-app-edge);
    left:var(--cf-app-edge);
    bottom:max(34px,calc(env(safe-area-inset-bottom) + 22px));
    width:auto;
    max-width:none;
    text-align:left;
  }
  .cfnh-categories{
    margin-bottom:.55rem;
    font-size:.68rem!important;
    letter-spacing:.12em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .cfnh-info h1{
    max-width:92%;
    font-size:clamp(2.45rem,13vw,5rem)!important;
    line-height:.92!important;
    letter-spacing:-.045em!important;
  }
  .cfnh-meta{
    justify-content:flex-start;
    min-height:var(--cf-touch);
    margin-top:.8rem;
    font-size:.76rem;
  }
  .cfnh-progress{height:2px}
}
@media(max-width:520px){
  .cfnh-brand img{width:84px;max-height:46px}
  .cfnh-hero{min-height:72svh!important}
  .cfnh-info h1{font-size:clamp(2.2rem,12.5vw,4rem)!important}
}
/* standalone global menu behaves like an app bar */
@media(max-width:980px){
  .cfnh-menu-only .cfnh-topnav-standalone{
    min-height:68px!important;
    padding-top:max(10px,env(safe-area-inset-top))!important;
    padding-bottom:10px!important;
  }
}
/* coarse pointers should never depend on hover */
@media(hover:none),(pointer:coarse){
  .cfnh-menu-list a:hover:after{right:100%}
}


/* v1.4.1: full-width global app bar when embedded in constrained Divi rows */
@media (max-width: 980px) {
  .cfnh-menu-only {
    position: relative;
    left: 50%;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
  }

  .cfnh-menu-only .cfnh-topnav-standalone {
    width: 100% !important;
    max-width: none !important;
  }
}


/* =========================================================
   v1.4.2 Cinematic Header Drift
   Replaces Ken Burns zoom with alternating horizontal motion.
   ========================================================= */
.cfnh-layer{
  transform:scale(1.055) translate3d(0,0,0) !important;
  transition:
    opacity .8s ease,
    transform 8s cubic-bezier(.22,.61,.36,1) !important;
  will-change:transform,opacity;
}

.cfnh-layer.is-active.cfnh-drift-left{
  transform:scale(1.055) translate3d(-2.6%,0,0) !important;
}

.cfnh-layer.is-active.cfnh-drift-right{
  transform:scale(1.055) translate3d(2.6%,0,0) !important;
}

/* Start the incoming slide slightly opposite its travel direction */
.cfnh-layer.cfnh-drift-left:not(.is-active){
  transform:scale(1.055) translate3d(1.4%,0,0) !important;
}

.cfnh-layer.cfnh-drift-right:not(.is-active){
  transform:scale(1.055) translate3d(-1.4%,0,0) !important;
}

@media(max-width:980px){
  .cfnh-layer.is-active.cfnh-drift-left{
    transform:scale(1.045) translate3d(-1.7%,0,0) !important;
  }
  .cfnh-layer.is-active.cfnh-drift-right{
    transform:scale(1.045) translate3d(1.7%,0,0) !important;
  }
  .cfnh-layer.cfnh-drift-left:not(.is-active){
    transform:scale(1.045) translate3d(.9%,0,0) !important;
  }
  .cfnh-layer.cfnh-drift-right:not(.is-active){
    transform:scale(1.045) translate3d(-.9%,0,0) !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .cfnh-layer,
  .cfnh-layer.is-active.cfnh-drift-left,
  .cfnh-layer.is-active.cfnh-drift-right,
  .cfnh-layer.cfnh-drift-left:not(.is-active),
  .cfnh-layer.cfnh-drift-right:not(.is-active){
    transform:scale(1.02) !important;
    transition:opacity .2s ease !important;
  }
}

@media screen and (max-width:980px){
  html body .cfnh-menu-only{
    box-sizing:border-box!important;
    width:100vw!important;
    max-width:100vw!important;
    min-width:100vw!important;
    left:calc(50% - 50vw)!important;
    margin:0!important;
  }
}


/* =========================================================
   v1.4.4 Mobile menu stacking / Divi Theme Builder correction
   ========================================================= */
@media screen and (max-width:980px){

  /* The component itself should sit above page content. */
  html body .cfnh-menu-only{
    z-index:2147483600!important;
  }

  html body .cfnh-menu-only.menu-open{
    position:relative!important;
    z-index:2147483640!important;
  }

  /* Full-screen menu layer */
  html body .cfnh-menu-only.menu-open .cfnh-menu-list,
  html body .cfnh-shell.menu-open .cfnh-menu-list{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    max-width:none!important;
    z-index:2147483645!important;
    background:#050505!important;
  }

  /* Logo and close icon remain on top of the menu layer. */
  html body .cfnh-shell.menu-open .cfnh-brand,
  html body .cfnh-shell.menu-open .cfnh-menu-toggle{
    position:relative!important;
    z-index:2147483646!important;
  }

  /* JS applies this class to Divi/header ancestors while open.
     It prevents an ancestor stacking context from trapping the menu
     underneath the page hero. */
  html body .cfnh-menu-ancestor-open{
    position:relative!important;
    z-index:2147483635!important;
    overflow:visible!important;
    transform:none!important;
  }
}


/* =========================================================
   v1.4.5 Mobile Menu Portal
   The open menu is moved directly under <body> so no Divi
   stacking context can appear above it.
   ========================================================= */
@media screen and (max-width:980px){

  html body > .cfnh-menu-list.cfnh-menu-portal{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    max-width:none!important;
    margin:0!important;
    padding:
      max(112px,calc(env(safe-area-inset-top) + 96px))
      max(22px,env(safe-area-inset-right))
      max(34px,calc(env(safe-area-inset-bottom) + 28px))
      max(22px,env(safe-area-inset-left))!important;

    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;

    background:#050505!important;
    color:#fff!important;

    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;

    z-index:2147483646!important;

    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;

    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  html body > .cfnh-menu-list.cfnh-menu-portal a{
    display:flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
    min-height:58px!important;
    padding:12px 2px!important;
    margin:0!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
    color:rgba(255,255,255,.84)!important;
    font-size:clamp(1.2rem,6vw,1.75rem)!important;
    font-weight:600!important;
    line-height:1.15!important;
    letter-spacing:-.02em!important;
    text-decoration:none!important;
  }

  html body > .cfnh-menu-list.cfnh-menu-portal a.is-current,
  html body > .cfnh-menu-list.cfnh-menu-portal a[aria-current="page"]{
    color:#fff!important;
  }

  html body.cfnh-menu-lock{
    overflow:hidden!important;
    touch-action:none;
  }

  /* While the menu is portaled, keep the global logo + close control
     above the body overlay. */
  html body .cfnh-shell.menu-open .cfnh-brand,
  html body .cfnh-shell.menu-open .cfnh-menu-toggle{
    position:relative!important;
    z-index:2147483647!important;
  }
}


/* =========================================================
   v1.4.6 Full-screen mobile menu chrome
   Adds a fixed logo + close/hamburger control inside the
   body-portaled menu overlay.
   ========================================================= */
@media screen and (max-width:980px){

  html body > .cfnh-menu-portal-bar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:2147483647!important;

    min-height:88px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;

    padding:
      max(12px,env(safe-area-inset-top))
      max(18px,env(safe-area-inset-right))
      12px
      max(18px,env(safe-area-inset-left))!important;

    background:#050505!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }

  html body > .cfnh-menu-portal-bar .cfnh-portal-brand{
    display:flex!important;
    align-items:center!important;
    line-height:0!important;
    text-decoration:none!important;
  }

  html body > .cfnh-menu-portal-bar .cfnh-portal-brand img{
    display:block!important;
    width:92px!important;
    max-height:54px!important;
    height:auto!important;
    object-fit:contain!important;
  }

  html body > .cfnh-menu-portal-bar .cfnh-portal-close{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    border:0!important;
    border-radius:12px!important;
    background:transparent!important;
    color:#fff!important;
    padding:8px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:0!important;
    cursor:pointer!important;
  }

  html body > .cfnh-menu-portal-bar .cfnh-portal-close span{
    display:block!important;
    width:26px!important;
    height:1.5px!important;
    background:#fff!important;
    margin:0!important;
    transform-origin:center!important;
  }

  html body > .cfnh-menu-portal-bar .cfnh-portal-close span:first-child{
    transform:translateY(.75px) rotate(45deg)!important;
  }

  html body > .cfnh-menu-portal-bar .cfnh-portal-close span:last-child{
    transform:translateY(-.75px) rotate(-45deg)!important;
  }

  html body > .cfnh-menu-list.cfnh-menu-portal{
    padding-top:max(116px,calc(env(safe-area-inset-top) + 102px))!important;
  }

  /* Hide the original header chrome while the body portal is open,
     because the portal bar replaces it. */
  html body .cfnh-shell.menu-open > .cfnh-topnav .cfnh-brand,
  html body .cfnh-shell.menu-open > .cfnh-topnav .cfnh-menu-toggle{
    visibility:hidden!important;
  }
}

@media screen and (max-width:600px){
  html body > .cfnh-menu-portal-bar .cfnh-portal-brand img{
    width:84px!important;
    max-height:48px!important;
  }
}


/* =========================================================
   v1.20.2 Sticky cinematic global navigation
   ========================================================= */
.cfnh-menu-only{
  position:sticky!important;
  top:0;
  z-index:2147483600!important;
  width:100%;
  isolation:isolate;
}
body.admin-bar .cfnh-menu-only{top:32px}
.cfnh-menu-only .cfnh-topnav-standalone{
  transition:min-height .22s ease,padding .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease;
  background:rgba(4,4,4,.94)!important;
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  backdrop-filter:blur(18px) saturate(125%);
}
.cfnh-menu-only.is-scrolled .cfnh-topnav-standalone{
  min-height:68px!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
  background:rgba(4,4,4,.975)!important;
  border-bottom-color:rgba(255,255,255,.08)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.28);
}
.cfnh-menu-only .cfnh-brand img{
  transition:width .22s ease,max-height .22s ease,opacity .22s ease;
}
.cfnh-menu-only.is-scrolled .cfnh-brand img{
  width:clamp(92px,7.8vw,118px)!important;
  max-height:52px!important;
}
.cfnh-menu-only .cfnh-menu-list a{
  transition:color .2s ease,opacity .2s ease;
}
.cfnh-menu-only .cfnh-menu-list a.is-current,
.cfnh-menu-only .cfnh-menu-list a[aria-current="page"]{
  color:#fff!important;
}
.cfnh-menu-only .cfnh-menu-list a.is-current:after,
.cfnh-menu-only .cfnh-menu-list a[aria-current="page"]:after{
  right:0;
  background:#d52b1e;
}
@media(max-width:782px){
  body.admin-bar .cfnh-menu-only{top:46px}
}
@media(max-width:980px){
  .cfnh-menu-only{
    position:sticky!important;
    top:0;
  }
  body.admin-bar .cfnh-menu-only{top:46px}
  .cfnh-menu-only .cfnh-topnav-standalone{
    min-height:66px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
  .cfnh-menu-only.is-scrolled .cfnh-topnav-standalone{
    min-height:60px!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
  }
  .cfnh-menu-only.is-scrolled .cfnh-brand img{
    width:76px!important;
    max-height:42px!important;
  }
}


/* =========================================================
   v1.20.3 Netflix HERO navigation stays sticky
   ========================================================= */

/* The nav inside [camcorderfilmz_netflix_header] */
.cfnh-shell .cfnh-topnav{
  position:sticky!important;
  top:0!important;
  z-index:2147483500!important;
  width:100%;
  isolation:isolate;
  background:linear-gradient(180deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.83) 72%,rgba(0,0,0,.62) 100%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  backdrop-filter:blur(14px) saturate(120%);
  border-bottom:1px solid rgba(255,255,255,.055);
  transition:
    min-height .22s ease,
    padding .22s ease,
    background .22s ease,
    box-shadow .22s ease;
}

/* Keep it above Divi modules/sections */
.cfnh-shell,
.cfnh-stage,
.cfnh-hero{
  overflow:visible!important;
}
.cfnh-shell{
  position:relative!important;
  z-index:50!important;
}

/* scrolled state */
.cfnh-shell.is-nav-scrolled .cfnh-topnav{
  background:rgba(3,3,3,.975)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.32);
}
.cfnh-shell.is-nav-scrolled .cfnh-brand img{
  transform:scale(.9);
  transform-origin:left center;
}

/* WordPress admin-bar offset */
body.admin-bar .cfnh-shell .cfnh-topnav{
  top:32px!important;
}

@media(max-width:782px){
  body.admin-bar .cfnh-shell .cfnh-topnav{
    top:46px!important;
  }
}

@media(max-width:980px){
  .cfnh-shell .cfnh-topnav{
    position:sticky!important;
    top:0!important;
    min-height:68px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }

  .cfnh-shell.is-nav-scrolled .cfnh-topnav{
    min-height:60px!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
  }

  .cfnh-shell.is-nav-scrolled .cfnh-brand img{
    transform:scale(.84);
  }

  /* Mobile menu overlay must always beat Divi */
  .cfnh-mobile-panel,
  .cfnh-mobile-menu,
  .cfnh-drawer,
  .cfnh-menu-overlay{
    z-index:2147483646!important;
  }
}


/* =========================================================
   v1.22.8 DIVI + STICKY MENU LAYOUT FIX
   Removes Divi whitespace and prevents content overlap.
   ========================================================= */

/* The standalone menu itself remains in document flow. */
html body .cfnh-menu-only{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  max-width:none!important;
  min-height:86px!important;
  margin:0!important;
  padding:0!important;
  z-index:2147483000!important;
  background:#050505!important;
  overflow:visible!important;
  transform:none!important;
  isolation:isolate!important;
}

/* Logged-in WordPress users need only the admin-bar offset. */
html body.admin-bar .cfnh-menu-only{
  top:32px!important;
}

/* The nav is normal-flow content inside the sticky wrapper.
   This preserves the wrapper height so the next module cannot slide underneath it. */
html body .cfnh-menu-only .cfnh-topnav-standalone{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  width:100%!important;
  min-height:86px!important;
  margin:0!important;
  padding:12px clamp(28px,4.5vw,76px)!important;
  display:flex!important;
  align-items:center!important;
  background:rgba(5,5,5,.97)!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
  -webkit-backdrop-filter:blur(18px) saturate(125%)!important;
  backdrop-filter:blur(18px) saturate(125%)!important;
}

/* Remove Divi's default vertical whitespace around a menu shortcode. */
html body .et_pb_section.cfnh-menu-host-section,
html body .et_pb_row.cfnh-menu-host-row,
html body .et_pb_column.cfnh-menu-host-column,
html body .et_pb_module.cfnh-menu-host-module,
html body .et_pb_code.cfnh-menu-host-module,
html body .et_pb_code_inner.cfnh-menu-host-inner{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  min-height:0!important;
  background:#050505!important;
}

/* The host section/row must span the browser width and must not trap sticky positioning. */
html body .et_pb_section.cfnh-menu-host-section{
  width:100%!important;
  max-width:none!important;
  overflow:visible!important;
  position:relative!important;
  z-index:2147482900!important;
}

html body .et_pb_row.cfnh-menu-host-row{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  overflow:visible!important;
}

html body .cfnh-menu-host-column,
html body .cfnh-menu-host-module,
html body .cfnh-menu-host-inner{
  width:100%!important;
  max-width:none!important;
  overflow:visible!important;
}

/* Modern-browser fallback before JS adds the host classes. */
html body .et_pb_section:has(.cfnh-menu-only),
html body .et_pb_row:has(.cfnh-menu-only),
html body .et_pb_column:has(.cfnh-menu-only),
html body .et_pb_module:has(.cfnh-menu-only),
html body .et_pb_code_inner:has(.cfnh-menu-only){
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  background:#050505!important;
  overflow:visible!important;
}

html body .et_pb_row:has(.cfnh-menu-only){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Ensure the module following the menu starts after it, never underneath it. */
html body .cfnh-menu-host-section + .et_pb_section,
html body .cfnh-menu-host-module + .et_pb_module{
  position:relative;
  z-index:1;
}

/* Scrolled state is visually smaller but preserves clean layout. */
html body .cfnh-menu-only.is-scrolled{
  min-height:70px!important;
}
html body .cfnh-menu-only.is-scrolled .cfnh-topnav-standalone{
  min-height:70px!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
}

/* Portfolio page: give the first filter rail a clean visual start after the menu. */
html body .cfnh-menu-host-section + .et_pb_section .cfp-portfolio,
html body .cfnh-menu-host-module + .et_pb_module .cfp-portfolio{
  margin-top:0!important;
}

@media(max-width:980px){
  html body .cfnh-menu-only{
    min-height:68px!important;
  }
  html body .cfnh-menu-only .cfnh-topnav-standalone{
    min-height:68px!important;
    padding:8px 20px!important;
  }
  html body .cfnh-menu-only.is-scrolled{
    min-height:60px!important;
  }
  html body .cfnh-menu-only.is-scrolled .cfnh-topnav-standalone{
    min-height:60px!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
  }
}

@media(max-width:782px){
  html body.admin-bar .cfnh-menu-only{
    top:46px!important;
  }
}
