
/* Filmo-Grafia global header/footer — moved from WPCode to theme assets. */
.fgt-theme-active #fg-global-header,
.fgt-theme-active .fg-footer,
.fgt-theme-active body:not(.elementor-editor-active) .elementor-location-header,
.fgt-theme-active body:not(.elementor-editor-active) header#masthead,
.fgt-theme-active body:not(.elementor-editor-active) #site-header,
.fgt-theme-active body:not(.elementor-editor-active) header.site-header,
.fgt-theme-active footer.site-footer,
.fgt-theme-active .site-footer,
.fgt-theme-active .elementor-location-footer{display:none!important}

#fgt-global-header,#fgt-global-header *,.fgt-footer,.fgt-footer *{box-sizing:border-box}
#fgt-global-header{display:block!important;position:relative;z-index:99999;width:100%;margin:0;padding:0;font-family:"Jost",sans-serif}
#fgt-global-header.fgt-fixed{position:fixed;top:0;left:0;transform:translateY(-100%);transition:transform .3s ease}
#fgt-global-header.fgt-fixed.fgt-visible{transform:translateY(0)}
#fgt-global-header.fgt-mobile-menu-open{transform:none!important;transition:none!important}
#fgt-header-placeholder{display:none;width:100%}
#fgt-header-placeholder.fgt-active{display:block}
#fgt-global-header a,#fgt-global-header button{-webkit-tap-highlight-color:transparent!important}
#fgt-global-header button{-webkit-appearance:none!important;appearance:none!important}
#fgt-global-header a:focus,#fgt-global-header a:active,#fgt-global-header button:focus,#fgt-global-header button:active{outline:none!important}

#fgt-global-header .fgt-mainbar{position:relative;width:100%;margin:0;background:linear-gradient(180deg,#fff 0%,#fdfcfb 60%,#faf8f5 100%);border-bottom:1px solid rgba(39,34,29,.08);box-shadow:0 10px 30px rgba(36,29,22,.03)}
#fgt-global-header .fgt-mainbar:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(183,146,85,.06) 20%,rgba(183,146,85,.32) 50%,rgba(183,146,85,.06) 80%,transparent 100%);pointer-events:none}
#fgt-global-header .fgt-mainbar-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;width:100%;max-width:1060px;height:108px;margin:0 auto;padding:0}
#fgt-global-header .fgt-logo{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex:0 0 182px!important;width:182px!important;min-width:182px!important;max-width:182px!important;margin:0!important;padding:0!important;text-decoration:none!important}
#fgt-global-header .fgt-logo img{display:block!important;width:182px!important;min-width:182px!important;max-width:182px!important;height:auto!important;margin:0!important;padding:0!important;object-fit:contain!important}
#fgt-global-header .fgt-navigation-wrap{display:flex;align-items:center;justify-content:flex-end;flex:1 1 auto;min-width:0;gap:14px}
#fgt-global-header .fgt-nav{display:flex;align-items:center;justify-content:flex-end;gap:18px}
#fgt-global-header .fgt-nav>a,#fgt-global-header .fgt-nav-trigger{position:relative;display:flex;align-items:center;gap:5px;padding:13px 0;color:#24211e!important;background:transparent!important;font-family:"Jost",sans-serif;font-size:10.8px;font-weight:500;line-height:1;letter-spacing:1.65px;text-transform:uppercase;text-decoration:none!important;white-space:nowrap;opacity:.84;box-shadow:none!important;transition:opacity .22s ease,color .22s ease}
#fgt-global-header .fgt-nav>a:not(.fgt-contact-button):after,#fgt-global-header .fgt-nav-trigger:after{content:"";position:absolute;right:0;bottom:4px;left:0;width:0;height:1px;margin:auto;background:#b69258;transition:width .27s ease}
#fgt-global-header .fgt-nav>a:not(.fgt-contact-button):hover:after,#fgt-global-header .fgt-nav-trigger:hover:after,#fgt-global-header .fgt-has-dropdown.open .fgt-nav-trigger:after{width:100%}
#fgt-global-header .fgt-nav>a:hover,#fgt-global-header .fgt-nav-trigger:hover,#fgt-global-header .fgt-has-dropdown.open .fgt-nav-trigger{color:#000!important;background:transparent!important;opacity:1;box-shadow:none!important}
#fgt-global-header .fgt-nav-trigger svg{width:10px;height:10px;margin-top:-1px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s ease}
#fgt-global-header .fgt-has-dropdown.open .fgt-nav-trigger svg{transform:rotate(180deg)}
#fgt-global-header .fgt-nav .fgt-contact-button{justify-content:center;min-width:114px;padding:12px 20px;color:#fff!important;background:#1e1d1b!important;border:1px solid #1e1d1b!important;border-radius:30px;box-shadow:0 8px 20px rgba(22,20,18,.1)!important;opacity:1;transition:background .24s ease,border-color .24s ease,box-shadow .24s ease,transform .24s ease}
#fgt-global-header .fgt-nav .fgt-contact-button:hover,#fgt-global-header .fgt-nav .fgt-contact-button:focus,#fgt-global-header .fgt-nav .fgt-contact-button:active{color:#fff!important;background:#a9844d!important;border-color:#a9844d!important;box-shadow:0 9px 23px rgba(169,132,77,.2)!important;transform:translateY(-2px)}
#fgt-global-header .fgt-has-dropdown{position:relative}
#fgt-global-header .fgt-dropdown{position:absolute;top:calc(100% + 13px);left:50%;z-index:999999;width:280px;overflow:hidden;background:linear-gradient(145deg,#fffefd 0%,#faf7f2 100%);border:1px solid rgba(162,128,75,.19);border-radius:10px;box-shadow:0 25px 55px rgba(31,25,19,.14),0 4px 12px rgba(31,25,19,.04);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-8px);transition:opacity .22s ease,visibility .22s ease,transform .22s ease}
#fgt-global-header .fgt-dropdown:before{content:"";position:absolute;top:0;right:25px;left:25px;height:1px;background:linear-gradient(90deg,transparent,rgba(169,132,77,.58),transparent)}
#fgt-global-header .fgt-has-dropdown.open .fgt-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
#fgt-global-header .fgt-dropdown a{display:block;padding:16px 22px;color:#43392e!important;background:transparent!important;border-bottom:1px solid rgba(62,52,42,.075);font-family:"Jost",sans-serif;font-size:10px;font-weight:500;line-height:1.5;letter-spacing:1.7px;text-transform:uppercase;text-decoration:none!important;box-shadow:none!important;transition:color .2s ease,background .2s ease,padding-left .2s ease}
#fgt-global-header .fgt-dropdown a:last-child{border-bottom:none}
#fgt-global-header .fgt-dropdown a:hover,#fgt-global-header .fgt-dropdown a:focus,#fgt-global-header .fgt-dropdown a:active{padding-left:27px;color:#fff!important;background:#a9844d!important;box-shadow:none!important}
#fgt-global-header .fgt-socials{display:flex;align-items:center;gap:7px;padding-left:13px;border-left:1px solid rgba(36,33,30,.13)}
#fgt-global-header .fgt-socials a{display:flex;align-items:center;justify-content:center;width:31px;height:31px;color:#35312d!important;background:rgba(255,255,255,.45)!important;border:1px solid rgba(36,33,30,.13);border-radius:50%;text-decoration:none!important;opacity:.68;box-shadow:none!important;transition:opacity .22s ease,color .22s ease,background .22s ease,border-color .22s ease,transform .22s ease}
#fgt-global-header .fgt-socials a:hover,#fgt-global-header .fgt-socials a:focus,#fgt-global-header .fgt-socials a:active{color:#fff!important;background:#a9844d!important;border-color:#a9844d;opacity:1;box-shadow:none!important;transform:translateY(-2px)}
#fgt-global-header .fgt-socials svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}

#fgt-global-header .fgt-hamburger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex:0 0 46px;width:46px;height:46px;margin:0;padding:0;color:#1a1a18!important;background:transparent!important;border:0!important;border-radius:0!important;outline:none!important;box-shadow:none!important;cursor:pointer}
#fgt-global-header .fgt-hamburger span{display:block;width:27px;height:1.5px;margin:0!important;padding:0;background:#1a1a18;border:0;border-radius:0}
#fgt-global-header .fgt-mobile-nav{position:fixed;top:0;right:0;bottom:auto;left:0;z-index:1000000;width:100vw;height:100vh;height:100dvh;max-height:100dvh;display:none;flex-direction:column;align-items:center;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:112px 20px 45px;background:linear-gradient(145deg,#fffefd 0%,#f7f2eb 100%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s ease}
#fgt-global-header .fgt-mobile-nav.open{opacity:1;visibility:visible;pointer-events:auto}
#fgt-global-header .fgt-mobile-close{position:absolute;top:22px;right:21px;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;color:#1a1a18!important;background:transparent!important;border:0!important;border-radius:0!important;outline:none!important;box-shadow:none!important;cursor:pointer}
#fgt-global-header .fgt-mobile-close span{position:absolute;display:block;width:25px;height:1.5px;background:#1a1a18;border-radius:0}
#fgt-global-header .fgt-mobile-close span:first-child{transform:rotate(45deg)}
#fgt-global-header .fgt-mobile-close span:last-child{transform:rotate(-45deg)}
#fgt-global-header .fgt-mobile-logo{position:absolute;top:19px;left:50%;display:block;margin:0;transform:translateX(-50%)}
#fgt-global-header .fgt-mobile-logo img{display:block!important;width:165px!important;max-width:165px!important;height:auto!important;margin:0!important}
#fgt-global-header .fgt-mobile-links{width:100%;max-width:460px;border-top:1px solid rgba(26,26,24,.09)}
#fgt-global-header .fgt-mobile-links>a,#fgt-global-header .fgt-mobile-portfolio-toggle{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:62px;margin:0;padding:17px 20px;color:#1a1a18!important;background:transparent!important;border:0!important;border-bottom:1px solid rgba(26,26,24,.08)!important;border-radius:0!important;outline:none!important;font-family:"Jost",sans-serif;font-size:12px;font-weight:500;line-height:1.4;letter-spacing:2.2px;text-align:center;text-transform:uppercase;text-decoration:none!important;box-shadow:none!important;cursor:pointer}
#fgt-global-header .fgt-mobile-portfolio-toggle{gap:7px}
#fgt-global-header .fgt-mobile-portfolio-toggle svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease}
#fgt-global-header .fgt-mobile-portfolio-toggle.open svg{transform:rotate(180deg)}
#fgt-global-header .fgt-mobile-sub{display:none;flex-direction:column;width:100%;background:rgba(169,132,77,.075)}
#fgt-global-header .fgt-mobile-sub.open{display:flex}
#fgt-global-header .fgt-mobile-sub a{display:block;padding:15px 20px;color:#514537!important;background:transparent!important;border-bottom:1px solid rgba(26,26,24,.055);font-family:"Jost",sans-serif;font-size:10px;font-weight:500;line-height:1.5;letter-spacing:1.7px;text-align:center;text-transform:uppercase;text-decoration:none!important;outline:none!important;box-shadow:none!important}
#fgt-global-header .fgt-mobile-links .fgt-mobile-contact{width:max-content!important;min-width:170px;min-height:auto!important;margin:32px auto 0;padding:15px 35px!important;color:#fff!important;background:#1e1d1b!important;border:1px solid #1e1d1b!important;border-radius:30px!important;box-shadow:0 9px 24px rgba(22,20,18,.12)!important}
#fgt-global-header .fgt-mobile-socials{display:flex;align-items:center;justify-content:center;gap:11px;margin-top:35px}
#fgt-global-header .fgt-mobile-socials a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;color:#322e2a!important;background:transparent!important;border:1px solid rgba(36,33,30,.16);border-radius:50%;opacity:.72;text-decoration:none!important;outline:none!important;box-shadow:none!important}
#fgt-global-header .fgt-mobile-socials svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}

/* Footer */
.fgt-footer{font-family:"Jost",sans-serif;position:relative;padding-top:70px;background:#fff!important;width:100%;box-sizing:border-box}
.fgt-sync-width{width:100%;max-width:1140px;margin-left:auto;margin-right:auto;box-sizing:border-box}
.fgt-cta-wrapper{margin-bottom:-60px;position:relative;z-index:3}
.fgt-cta{width:100%;background:#f5f0e8!important;border-radius:14px;padding:44px 60px;display:flex;align-items:center;justify-content:center;border:1px solid #e0d9ce;box-shadow:none!important;gap:0;box-sizing:border-box}
.fgt-cta-left{flex:0 0 auto;width:320px;display:flex;flex-direction:column;align-items:center;text-align:center}
.fgt-cta-right{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center}
.fgt-divider{width:1px;align-self:stretch;background:linear-gradient(to bottom,transparent,#ccc5b4 30%,#ccc5b4 70%,transparent);margin:0 40px 0 120px;flex-shrink:0}
.fgt-cta-label,.fgt-social-label{font-size:10px;letter-spacing:.22em;color:#a09080;text-transform:uppercase;margin-bottom:18px}
.fgt-btn{display:inline-block;font-family:"Jost",sans-serif;font-size:13px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:#1c1a18;border:1px solid #1c1a18;border-radius:999px;padding:16px 46px;background:transparent;cursor:pointer;transition:all .25s ease;text-decoration:none;white-space:nowrap}
.fgt-btn:hover{background:#c9a96e;color:#fff;border-color:#c9a96e}
.fgt-icons{display:flex;gap:34px;align-items:center;justify-content:center}
.fgt-icon{display:flex;flex-direction:column;align-items:center;gap:7px;text-decoration:none;transition:opacity .2s}
.fgt-icon:hover{opacity:.6}
.fgt-icon svg{width:30px;height:30px;stroke:#1c1a18;fill:none;stroke-width:1.6}
.fgt-icon img{width:30px;height:30px;object-fit:contain;display:block}
.fgt-icon-lbl{font-size:10px;letter-spacing:.12em;color:#8a8070;text-transform:uppercase}
.fgt-nowrap{white-space:nowrap}
.fgt-dark{position:relative;z-index:1;background:#1c1a18;padding:110px 0 30px;width:100%;box-sizing:border-box}
.fgt-dark-inner{display:flex;gap:80px;align-items:flex-start;justify-content:space-between;margin-bottom:30px;padding:0 1.5rem}
.fgt-dark-logo-col{flex:3;padding-left:95px;padding-top:45px}
.fgt-footer-logo img{height:52px;width:auto;display:block}
.fgt-dark-nav-col{flex:1;min-width:180px}
.fgt-nav-group{display:flex;flex-direction:column;gap:10px}
.fgt-nav-label,.fgt-contact-label{font-size:11px;letter-spacing:.18em;color:#5a5449;text-transform:uppercase;margin-bottom:6px}
.fgt-nav-link,.fgt-contact-item{font-size:15px;color:#9a9186;text-decoration:none;letter-spacing:.04em;font-weight:300;transition:color .2s;white-space:nowrap;display:block}
.fgt-nav-link:link,.fgt-nav-link:visited,.fgt-nav-link:active,.fgt-contact-item:link,.fgt-contact-item:visited,.fgt-contact-item:active{color:#9a9186!important}
.fgt-nav-link:hover,.fgt-contact-item:hover{color:#d4c9b4!important}
.fgt-contact-col{flex:1;display:flex;flex-direction:column;gap:10px}
.fgt-rule{height:0;border:none;border-top:1px solid #2e2b27;margin-bottom:18px;padding:0;display:block}
.fgt-copy{margin:0 auto;padding:0 1.5rem;box-sizing:border-box;font-size:12px;color:#5a5449;letter-spacing:.06em;font-weight:300}

@media (min-width:1121px){
#fgt-global-header .fgt-nav{gap:28px}
#fgt-global-header .fgt-nav>a,#fgt-global-header .fgt-nav-trigger{font-size:13px;letter-spacing:2px}
#fgt-global-header .fgt-navigation-wrap{gap:20px}
#fgt-global-header .fgt-socials{gap:10px;padding-left:18px}
}
@media (max-width:1120px) and (min-width:981px){
#fgt-global-header .fgt-mainbar-inner{max-width:calc(100% - 40px);height:104px}
#fgt-global-header .fgt-logo,#fgt-global-header .fgt-logo img{flex-basis:170px!important;width:170px!important;min-width:170px!important;max-width:170px!important}
#fgt-global-header .fgt-nav{gap:14px}
#fgt-global-header .fgt-nav>a,#fgt-global-header .fgt-nav-trigger{font-size:10px;letter-spacing:1.35px}
#fgt-global-header .fgt-nav .fgt-contact-button{min-width:105px;padding-right:17px;padding-left:17px}
#fgt-global-header .fgt-socials{gap:5px;padding-left:10px}
#fgt-global-header .fgt-socials a{width:29px;height:29px}
}
@media (max-width:980px){
#fgt-global-header .fgt-mainbar-inner{justify-content:flex-end;height:88px;max-width:100%;padding:0 22px}
#fgt-global-header .fgt-logo{position:absolute!important;top:50%;left:50%;display:flex!important;flex-basis:165px!important;width:165px!important;min-width:165px!important;max-width:165px!important;transform:translate(-50%,-50%)}
#fgt-global-header .fgt-logo img{width:165px!important;min-width:165px!important;max-width:165px!important}
#fgt-global-header .fgt-navigation-wrap{display:none}
#fgt-global-header .fgt-hamburger{position:relative;z-index:2;display:flex}
#fgt-global-header .fgt-mobile-nav{display:flex}
.fgt-footer{padding-top:40px}
.fgt-cta-wrapper{margin-bottom:-40px}
.fgt-sync-width{padding-left:20px!important;padding-right:20px!important}
.fgt-cta{flex-direction:column;padding:30px 22px;gap:24px}
.fgt-divider{display:none}
.fgt-cta-left,.fgt-cta-right{width:100%;flex:none}
.fgt-icons{gap:0;justify-content:space-around;width:100%}
.fgt-icon svg,.fgt-icon img{width:22px!important;height:22px!important}
.fgt-icon-lbl{font-size:9px}
.fgt-dark{padding:90px 0 24px}
.fgt-dark-inner{flex-direction:column;gap:32px;align-items:center;text-align:center;padding:0 1.5rem}
.fgt-dark-logo-col,.fgt-dark-nav-col,.fgt-contact-col{width:100%;padding-left:0;padding-top:0;flex:none}
.fgt-footer-logo img{height:56px;margin:0 auto}
.fgt-nav-group,.fgt-contact-col{align-items:center}
.fgt-copy{text-align:center}
}
/* WPVibe preview safety: page-specific reveal animations can remain at opacity:0
   after preview navigation. This affects preview only; live animations remain unchanged. */
body:has(#wpvibe-preview-banner) #fg-about-page.fg-about-js .fg-about-reveal,
body:has(#wpvibe-preview-banner) #fg-portfolio-page.fg-portfolio-js .fg-portfolio-reveal{
  opacity:1!important;
  transform:none!important;
}

@media (max-width:480px){
#fgt-global-header .fgt-mainbar-inner{height:82px;padding:0 14px}
#fgt-global-header .fgt-logo{flex-basis:145px!important;width:145px!important;min-width:145px!important;max-width:145px!important}
#fgt-global-header .fgt-logo img{width:145px!important;min-width:145px!important;max-width:145px!important}
#fgt-global-header .fgt-mobile-nav{padding-right:16px;padding-left:16px}
#fgt-global-header .fgt-mobile-logo{top:23px}
#fgt-global-header .fgt-mobile-logo img{width:145px!important;max-width:145px!important}
#fgt-global-header .fgt-mobile-close{top:19px;right:10px}
}
