/* 47 Builder V7.0 — wide layout + reusable builder components */
:root{--builder-page-gutter:var(--v3-gutter,35px);--v5-pad:var(--v3-gutter,35px)}
html,body{width:100%;max-width:100%;overflow-x:hidden}
.wrap,.p56-wrap,.quote-wrap{width:min(calc(100% - (var(--v3-gutter,35px) * 2)),var(--max,9999px))!important;max-width:var(--max,9999px)!important;margin-left:auto!important;margin-right:auto!important}
.wrap.narrow,.narrow,.longform-section .wrap,.faq-list{max-width:none!important}
.site-header .wrap,.topbar .wrap,.footer61 .wrap{width:min(calc(100% - (var(--v3-gutter,35px) * 2)),var(--max,9999px))!important;max-width:var(--max,9999px)!important}
.builder-nav{display:flex;align-items:center;gap:clamp(16px,1.35vw,30px)}
.builder-nav-drop{position:relative}.builder-nav-drop>button{border:0;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer;padding:22px 0}.builder-nav-drop:hover>button,.builder-nav-drop:focus-within>button{color:var(--text)}
.builder-nav-menu{position:absolute;left:50%;top:calc(100% - 4px);transform:translateX(-50%) translateY(10px);width:min(760px,78vw);padding:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:color-mix(in srgb,var(--surface) 96%,#000);border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.35);opacity:0;visibility:hidden;pointer-events:none;transition:.18s;z-index:120}
.builder-nav-drop:hover .builder-nav-menu,.builder-nav-drop:focus-within .builder-nav-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.builder-nav-menu a{padding:13px 14px!important;border-radius:13px;color:var(--text)!important;background:transparent;line-height:1.25}.builder-nav-menu a:hover{background:var(--surface2)}.builder-nav-menu .builder-nav-overview{grid-column:1/-1;color:var(--brand2)!important;border-bottom:1px solid var(--line);border-radius:0;margin-bottom:3px}
.builder-mobile-children{padding:0 0 10px 14px;display:grid;gap:2px}.builder-mobile-children a{font-size:13px;color:var(--muted)!important;padding:9px 8px!important}
.builder-section,.builder-container,.builder-columns{position:relative}.builder-columns{display:grid;grid-template-columns:repeat(var(--builder-cols,2),minmax(0,1fr));gap:var(--builder-gap,24px)}
.builder-spacer{height:80px}.builder-divider{height:1px;background:var(--line);margin:28px 0}.builder-html{min-height:40px}.builder-video{aspect-ratio:16/9;width:100%;border:1px solid var(--line);border-radius:18px;overflow:hidden}.builder-video iframe,.builder-video video{width:100%;height:100%;border:0}.builder-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.builder-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}.builder-testimonial{padding:28px;border:1px solid var(--line);background:var(--surface);border-radius:22px}.builder-testimonial blockquote{font-size:20px;margin:0 0 18px}.builder-price-box{padding:28px;border:1px solid var(--line);background:var(--surface);border-radius:24px}.builder-price-box strong{font-size:42px;color:var(--brand2)}
@media(max-width:900px){.builder-nav{display:none}.builder-columns,.builder-gallery{grid-template-columns:1fr}.wrap,.p56-wrap,.quote-wrap,.site-header .wrap,.topbar .wrap,.footer61 .wrap{width:min(calc(100% - (var(--v3-gutter,35px) * 2)),var(--max,9999px))!important}.builder-nav-menu{grid-template-columns:1fr}}
@keyframes builderFadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes builderFadeIn{from{opacity:0}to{opacity:1}}@keyframes builderZoomIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes builderSlideLeft{from{opacity:0;transform:translateX(45px)}to{opacity:1;transform:none}}@keyframes builderSlideRight{from{opacity:0;transform:translateX(-45px)}to{opacity:1;transform:none}}

/* 47-UPDATE-V7.1:LOGO-MENU:START */
/* Non-destructive navigation hotfix: keep Services dropdown reachable by hover. */
@media (min-width:901px){
  .nav-services55,.builder-nav-drop{position:relative!important}
  .nav-services55::after,.builder-nav-drop::after{
    content:"";position:absolute;z-index:118;left:-28px;right:-28px;top:100%;height:32px;
    background:transparent;pointer-events:auto
  }
  .nav-services55:hover .mega55,.nav-services55:focus-within .mega55,.nav-services55.menu-open .mega55,
  .builder-nav-drop:hover .builder-nav-menu,.builder-nav-drop:focus-within .builder-nav-menu,.builder-nav-drop.menu-open .builder-nav-menu{
    opacity:1!important;visibility:visible!important;pointer-events:auto!important
  }
  .header59 .nav-services55:hover .mega55,.header59 .nav-services55:focus-within .mega55,.header59 .nav-services55.menu-open .mega55{
    transform:translateX(-50%) translateY(0)!important
  }
  .builder-nav-drop:hover .builder-nav-menu,.builder-nav-drop:focus-within .builder-nav-menu,.builder-nav-drop.menu-open .builder-nav-menu{
    transform:translateX(-50%) translateY(0)!important
  }
}
/* 47-UPDATE-V7.1:LOGO-MENU:END */
/* 47-UPDATE-V7.1B-SAFE:START */
@media (min-width:901px){
  .nav-services55{position:relative!important}
  .nav-services55::after{content:"";position:absolute;left:-24px;right:-24px;top:100%;height:34px;background:transparent;pointer-events:auto;z-index:200}
  .nav-services55:hover .mega55,.nav-services55:focus-within .mega55,.nav-services55.menu-open .mega55{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateX(-50%) translateY(0)!important}
}
/* 47-UPDATE-V7.1B-SAFE:END */
