/* Custom CSS recovered from Home.html and Sobre Nós.html */
body { font-family: 'Poppins', sans-serif; -webkit-font-smoothing: antialiased; }
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24; }
.editorial-gradient { background: linear-gradient(135deg, #123B5D 0%, #1E5C78 100%); }

/* Header/Menu Styles */
.nc-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.nc-header__inner {
    max-width: 80rem;
    margin: 0 auto;
    padding: 1rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 51; /* Keep above mobile menu */
}

/* Mobile Menu Active State Classes */
#mobile-menu-dropdown.is-active {
    display: flex !important;
}
.nc-header__brand {
    display: flex;
    align-items: center;
}
.nc-header__nav {
    display: flex;
    align-items: center;
    gap: 2rem;
}
@media (max-width: 1023px) {
    .nc-header__nav {
        display: none;
    }
}
.nc-header__link {
    font-size: 0.875rem;
    font-weight: 600;
    color: #123B5D;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: color 0.2s ease;
}
.nc-header__link:hover {
    color: #59C7C8;
}
#nc-site-header a.is-active-nav,
#mobile-menu-dropdown a.is-active-nav {
    color: #123B5D !important;
    background: rgba(89, 199, 200, 0.24);
    border: 1px solid rgba(18, 59, 93, 0.18);
    border-radius: 9999px;
    padding: 0.45rem 0.85rem;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
}

.nc-soft-skin {
    filter: brightness(1.03) contrast(0.95) saturate(0.95) blur(0.3px);
}

/* Apply a light skin-softening filter to editorial photos across the site */
main img[src*="lpneurocia.com.br/wp-content/uploads"] {
    /* Removed blanket filter as it affected non-skin images. Filter is applied explicitly via .nc-soft-skin class */
}

.nc-btn{background:linear-gradient(90deg,#1E66D0 0%,#34D6A6 100%);color:#fff;border-radius:9999px;font-weight:900;text-transform:uppercase;letter-spacing:.18em;box-shadow:0 18px 40px rgba(30,102,208,.20);display:inline-flex;align-items:center;justify-content:center;gap:.75rem;outline:0;text-decoration:none}
.nc-btn:hover{filter:brightness(1.04)}
.nc-btn:active{transform:translateY(1px)}
.nc-btn:focus-visible{box-shadow:0 0 0 4px rgba(52,214,166,.30),0 18px 40px rgba(30,102,208,.20)}
.nc-icon-wash{position:relative;background:radial-gradient(120% 90% at 20% 25%,rgba(52,214,166,.55) 0%,rgba(52,214,166,0) 60%),radial-gradient(110% 80% at 80% 70%,rgba(30,102,208,.55) 0%,rgba(30,102,208,0) 65%),rgba(18,59,93,.06);overflow:hidden}
.nc-icon-wash:before{content:"";position:absolute;inset:-25%;background:radial-gradient(90% 70% at 35% 30%,rgba(52,214,166,.55) 0%,rgba(52,214,166,0) 60%),radial-gradient(110% 80% at 80% 70%,rgba(30,102,208,.55) 0%,rgba(30,102,208,0) 65%);opacity:.4}
.nc-logo-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent 0,black 10%,black 90%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,black 10%,black 90%,transparent 100%)}
.nc-logo-track{display:flex;align-items:center;width:max-content;animation:nc-logo-scroll 40s linear infinite}
.nc-logo-item{flex:0 0 auto;padding:0 2.5rem}
.nc-logo-item img{height:3rem;width:auto;object-fit:contain}
.nc-logo-marquee:hover .nc-logo-track{animation-play-state:paused}
@keyframes nc-logo-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.nc-logo-track{animation:none;transform:translateX(0)}}

.nc-hero { position: relative !important; overflow: hidden !important; isolation: isolate !important; }
.nc-main { padding-top: 0 !important; }
.nc-hero-split { padding-top: 72px !important; background: #123c5e !important; position: relative !important; }
.nc-hero-bgimg { position: absolute !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: 100% !important; background-image: url("https://lightgoldenrodyellow-alligator-645402.hostingersite.com/wp-content/uploads/2026/03/ai-energy-consumption-concept-scaled.jpg") !important; background-size: cover !important; background-position: right center !important; z-index: 0 !important; }
.nc-hero-overlay { position: absolute !important; inset: 0 !important; z-index: 1 !important; background: linear-gradient(90deg, rgba(18, 60, 94, 1) 0%, rgba(18, 60, 94, 1) 52%, rgba(18, 60, 94, 0.92) 62%, rgba(18, 60, 94, 0.68) 74%, rgba(18, 60, 94, 0.35) 86%, rgba(18, 60, 94, 0) 100%) !important; }
.nc-hero-inner { --nc-hero-px: 24px; padding-left: var(--nc-hero-px) !important; padding-right: var(--nc-hero-px) !important; position: relative !important; z-index: 2 !important; }
.nc-hero-grid { align-items: stretch !important; }
.nc-hero-text { display: flex !important; flex-direction: column !important; justify-content: center !important; padding-top: 64px !important; padding-bottom: 64px !important; }
.nc-hero-media { justify-self: end !important; width: 100% !important; max-width: none !important; margin-right: calc(50% - 50vw) !important; height: 100% !important; overflow: hidden !important; }
.nc-hero-media img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: right !important; display: block !important; -webkit-mask-image: linear-gradient(to left, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 72%, rgba(0,0,0,0.0) 100%); mask-image: linear-gradient(to left, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 72%, rgba(0,0,0,0.0) 100%); }
@media (max-width: 1023px) {
    .nc-hero-media { max-width: none !important; height: 340px !important; }
    .nc-hero-media img { height: 100% !important; -webkit-mask-image: none; mask-image: none; }
    .nc-hero-overlay { background: linear-gradient(180deg, rgba(18, 60, 94, 0.98) 0%, rgba(18, 60, 94, 0.92) 45%, rgba(18, 60, 94, 0.55) 70%, rgba(18, 60, 94, 0.2) 100%) !important; }
}
@media (min-width: 1024px) { .nc-hero-inner { --nc-hero-px: 80px; } }
.nc-header-logo img { height: 32px !important; max-height: 32px !important; width: auto !important; display: block !important; }
.nc-header-cta { display: inline-flex !important; align-items: center !important; justify-content: center !important; white-space: nowrap !important; line-height: 1 !important; padding: 10px 18px !important; font-size: 13px !important; max-width: none !important; }
#sobre-nos { background: #ffffff; }

/* Carousel Infinite Scroll Styles */
.carousel-track {
    display: flex;
    width: max-content;
    animation: carousel-scroll 90s linear infinite;
}
.carousel-track:hover {
    animation-play-state: paused;
}
.carousel-track img {
    cursor: zoom-in;
}
@keyframes carousel-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-100% / 2)); } /* scroll by half the width since we duplicate the set */
}
@media (prefers-reduced-motion: reduce) {
    .carousel-track {
        animation: none;
        transform: translateX(0);
    }
}
