/* PHP/MySQL CMS integration layer */
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:9999;background:#111;color:#fff;padding:.8rem 1rem}.skip-link:focus{top:1rem}
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:1001;pointer-events:none}.scroll-progress i{display:block;width:0;height:100%;background:#ed171f}
.site-header.is-scrolled{box-shadow:0 12px 30px rgba(0,0,0,.08)}
.mega-menu{display:grid!important;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);transition:opacity .22s,transform .22s,visibility .22s}
.nav-dropdown:hover .mega-menu,.nav-dropdown:focus-within .mega-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.mobile-menu{display:block!important;visibility:hidden;transform:translateX(100%);transition:transform .4s cubic-bezier(.7,0,.2,1),visibility .4s;z-index:1200}
.mobile-menu.is-open{visibility:visible;transform:translateX(0)}
body.menu-open{overflow:hidden}
.menu-toggle span{display:block;width:24px;height:2px;background:currentColor;margin:5px 0}
.php-reveal{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .65s ease}.php-reveal.is-visible{opacity:1;transform:none}
.service-card-top b,.approach-step>b{font-size:1.55rem;font-weight:400}.principle-card>b{font-size:2.2rem}.contact-cards>a>b{font-size:1.4rem}.contact-cards>a>i{font-style:normal;font-size:1.25rem}
.project-filter-item{min-width:0;break-inside:avoid;margin-bottom:2rem}.project-filter-item[hidden]{display:none!important}
.project-image{cursor:zoom-in}
.lightbox{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:clamp(1rem,5vw,5rem);background:rgba(0,0,0,.92);opacity:0;visibility:hidden;pointer-events:none;transition:.25s;color:#fff}.lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto}.lightbox img{max-width:min(1200px,92vw);max-height:80vh;object-fit:contain}.lightbox strong{margin-top:1rem}.lightbox>button{position:absolute;top:1.5rem;right:1.5rem;border:0;background:#fff000;color:#111;width:48px;height:48px;font-size:2rem;cursor:pointer}
.cookie-banner{position:fixed;z-index:1100;left:1.25rem;bottom:1.25rem;width:min(440px,calc(100% - 2.5rem));background:#111;color:#fff;padding:1rem 1.2rem;display:flex;gap:1rem;align-items:center;box-shadow:8px 8px 0 #fff000;transform:translateY(calc(100% + 4rem));transition:transform .35s}.cookie-banner.is-visible{transform:none}.cookie-banner p{font-size:.82rem;margin:0;line-height:1.45}.cookie-banner a{color:#fff000}.cookie-banner button{border:0;background:#fff000;padding:.7rem .9rem;font-weight:900;cursor:pointer;white-space:nowrap}
.back-to-top{position:fixed;z-index:900;right:1.25rem;bottom:1.25rem;width:48px;height:48px;border:2px solid #111;background:#fff000;font-size:1.3rem;opacity:0;visibility:hidden;transform:translateY(15px);transition:.2s;cursor:pointer}.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}
.form-status{display:flex;gap:.5rem;align-items:center;padding:1rem;border:2px solid #111;margin:0 0 1rem}.form-status.success{background:#d8ffe0}.form-status.error{background:#ffd9d9}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.not-found{min-height:80vh;padding-top:clamp(9rem,16vw,15rem);position:relative;overflow:hidden}.not-found>span{font-size:clamp(5rem,16vw,15rem);font-weight:950;line-height:.7;color:#fff000;-webkit-text-stroke:2px #111}.not-found h1{font-size:clamp(3rem,8vw,8rem);line-height:.88;margin:2rem 0}.not-found img{position:absolute;right:5%;bottom:-10%;width:min(35vw,420px);z-index:-1}
@media(prefers-reduced-motion:reduce){.php-reveal{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important}}
@media(max-width:900px){.mega-menu{display:none!important}.header-inner{width:100%;min-width:0}.desktop-nav,.header-cta{display:none!important}.menu-toggle{display:flex!important;margin-left:auto;flex-direction:column;justify-content:center;align-items:center}.brand-link{min-width:0}.home-hero,.hero-copy{min-width:0;max-width:100%}.hero-copy h1 span{max-width:100%}.hero-actions{max-width:100%}.cookie-banner{bottom:1rem;flex-direction:column;align-items:stretch}.cookie-banner button{width:100%}.back-to-top{bottom:1rem}.project-filter-item{margin-bottom:1rem}}
