        :root {
            --tw-sigep-ink: #102033;
            --tw-sigep-navy: #0f172a;
            --tw-sigep-blue: #1e6fc0;
            --tw-sigep-blue-dark: #0f4f91;
            --tw-sigep-sky: #eaf3ff;
            --tw-sigep-mist: #eef5fb;
            --tw-sigep-line: #d7e4f2;
            --tw-sigep-muted: #5d7088;
            --tw-shadow: 0 18px 42px rgba(15, 35, 65, 0.12);
            --tw-shadow-strong: 0 28px 68px rgba(8, 18, 34, 0.24);
        }

        html { scroll-behavior: smooth; }
        body {
            margin: 0 !important;
            min-height: 100vh;
            background: var(--tw-sigep-mist) !important;
            color: var(--tw-sigep-ink) !important;
            font-family: Inter, ui-sans-serif, system-ui, sans-serif !important;
            -webkit-font-smoothing: antialiased;
        }

        .container {
            width: 100% !important;
            max-width: 1280px !important;
            margin: 0 auto !important;
            padding-left: 1rem !important;
            padding-right: 1rem !important;
        }

        .section-title {
            max-width: 900px !important;
            margin: 0 auto .75rem !important;
            color: var(--tw-sigep-blue) !important;
            font-size: clamp(2rem, 5vw, 3.4rem) !important;
            line-height: 1.05 !important;
            font-weight: 900 !important;
            text-align: center !important;
            letter-spacing: 0 !important;
        }

        .section-subtitle {
            max-width: 760px !important;
            margin: 0 auto 2.5rem !important;
            color: var(--tw-sigep-muted) !important;
            font-size: 1rem !important;
            line-height: 1.75 !important;
            text-align: center !important;
        }

        .header {
            position: sticky !important;
            top: 0 !important;
            z-index: 1000 !important;
            background: rgba(255, 255, 255, .96) !important;
            border-bottom: 1px solid var(--tw-sigep-line) !important;
            box-shadow: var(--tw-shadow) !important;
            backdrop-filter: blur(18px);
        }

        .header.is-scrolled {
            border-bottom-color: var(--tw-sigep-blue) !important;
            box-shadow: var(--tw-shadow-strong) !important;
        }

        .nav-container {
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            gap: .75rem !important;
            flex-wrap: wrap !important;
            padding: .8rem 0 !important;
        }

        .logo {
            display: flex !important;
            align-items: center !important;
            gap: .75rem !important;
            color: var(--tw-sigep-ink) !important;
        }

        .header .logo img,
        .logo-img {
            width: 48px !important;
            height: 48px !important;
            padding: 4px !important;
            border: 1px solid var(--tw-sigep-line) !important;
            border-radius: 14px !important;
            object-fit: contain !important;
            background: #fff !important;
            box-shadow: 0 8px 20px rgba(15, 35, 65, .08) !important;
        }

        .header-school-name {
            min-width: 220px !important;
            flex: 1 1 260px !important;
            max-width: 460px !important;
            color: var(--tw-sigep-blue-dark) !important;
            font-size: .82rem !important;
            font-weight: 900 !important;
            line-height: 1.25 !important;
            text-transform: uppercase !important;
            letter-spacing: .02em !important;
        }

        .nav-menu {
            display: none !important;
            list-style: none !important;
            align-items: center !important;
            gap: .25rem !important;
        }

        .nav-menu ul {
            display: flex !important;
            align-items: center !important;
            gap: .25rem !important;
            flex-wrap: wrap !important;
            list-style: none !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        .nav-link {
            display: inline-flex !important;
            align-items: center !important;
            padding: .6rem .75rem !important;
            border-radius: 10px !important;
            color: var(--tw-sigep-ink) !important;
            font-size: .88rem !important;
            font-weight: 800 !important;
            transition: background .2s ease, color .2s ease, transform .2s ease !important;
        }

        .nav-link:hover,
        .nav-link.is-active {
            color: var(--tw-sigep-blue) !important;
            background: var(--tw-sigep-sky) !important;
        }

        .nav-link.is-active::after { display: none !important; }
        .nav-item { position: relative !important; }

        .submenu {
            position: absolute !important;
            top: 100% !important;
            left: 0 !important;
            z-index: 1100 !important;
            min-width: 260px !important;
            overflow: hidden !important;
            list-style: none !important;
            border: 1px solid var(--tw-sigep-line) !important;
            border-radius: 16px !important;
            background: #fff !important;
            box-shadow: var(--tw-shadow) !important;
            opacity: 0 !important;
            visibility: hidden !important;
            transform: translateY(10px) !important;
            transition: .2s ease !important;
        }

        .nav-menu > .nav-item:last-child .submenu {
            left: auto !important;
            right: 0 !important;
            min-width: 300px !important;
            max-width: min(360px, calc(100vw - 2rem)) !important;
        }

        .nav-menu > .nav-item:last-child .submenu li a {
            white-space: normal !important;
            line-height: 1.35 !important;
        }

        .nav-item:hover .submenu {
            opacity: 1 !important;
            visibility: visible !important;
            transform: translateY(0) !important;
        }

        .submenu li a {
            display: flex !important;
            align-items: center !important;
            gap: .5rem !important;
            padding: .85rem 1rem !important;
            border-bottom: 1px solid var(--tw-sigep-line) !important;
            color: var(--tw-sigep-ink) !important;
            font-size: .88rem !important;
            font-weight: 700 !important;
        }

        .submenu li a:hover {
            background: var(--tw-sigep-sky) !important;
            color: var(--tw-sigep-blue) !important;
        }

        .submenu-section {
            padding: .75rem 1rem !important;
            background: var(--tw-sigep-sky) !important;
            color: var(--tw-sigep-blue) !important;
            font-size: .72rem !important;
            font-weight: 900 !important;
            text-transform: uppercase !important;
            letter-spacing: .08em !important;
        }

        .header-buttons {
            display: none !important;
            align-items: center !important;
            gap: .5rem !important;
        }

        .btn-outline,
        .btn-primary {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: .5rem !important;
            min-height: 42px !important;
            padding: .62rem 1rem !important;
            border-radius: 10px !important;
            font-size: .88rem !important;
            font-weight: 900 !important;
            transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease !important;
        }

        .btn-outline {
            border: 1px solid var(--tw-sigep-blue) !important;
            color: var(--tw-sigep-blue) !important;
            background: #fff !important;
        }

        .btn-primary,
        .btn-login-team {
            border: 1px solid var(--tw-sigep-blue) !important;
            color: #fff !important;
            background: linear-gradient(135deg, var(--tw-sigep-blue), var(--tw-sigep-blue-dark)) !important;
            box-shadow: 0 12px 28px rgba(30, 111, 192, .26) !important;
        }

        .btn-outline:hover,
        .btn-primary:hover {
            transform: translateY(-2px) !important;
        }

        .menu-toggle {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 44px !important;
            height: 44px !important;
            border: 1px solid var(--tw-sigep-line) !important;
            border-radius: 12px !important;
            background: #fff !important;
            color: var(--tw-sigep-blue) !important;
            box-shadow: 0 8px 20px rgba(15, 35, 65, .08) !important;
        }

        .mobile-overlay {
            position: fixed !important;
            inset: 0 !important;
            z-index: 1999 !important;
            display: none !important;
            background: rgba(15, 23, 42, .58) !important;
            backdrop-filter: blur(5px);
        }

        .mobile-overlay.active { display: block !important; }

        .mobile-menu {
            position: fixed !important;
            top: 0 !important;
            right: -100% !important;
            z-index: 2000 !important;
            width: 86% !important;
            max-width: 380px !important;
            height: 100vh !important;
            overflow-y: auto !important;
            padding: 5rem 1.25rem 2rem !important;
            background: #fff !important;
            box-shadow: var(--tw-shadow-strong) !important;
            transition: right .3s ease !important;
        }

        .mobile-menu.active { right: 0 !important; }

        .close-menu {
            position: absolute !important;
            top: 1rem !important;
            right: 1rem !important;
            width: 44px !important;
            height: 44px !important;
            border: 1px solid var(--tw-sigep-line) !important;
            border-radius: 12px !important;
            background: #fff !important;
            color: var(--tw-sigep-blue) !important;
        }

        .mobile-menu .nav-link {
            display: flex !important;
            width: 100% !important;
            justify-content: flex-start !important;
            align-items: center !important;
            gap: .55rem !important;
            padding: .85rem !important;
            font-size: 1rem !important;
        }

        .mobile-menu .nav-link i,
        .mobile-menu .submenu li a i {
            width: 18px !important;
            min-width: 18px !important;
            margin: 0 !important;
            text-align: center !important;
        }

        .mobile-menu .submenu li a {
            justify-content: flex-start !important;
            gap: .55rem !important;
        }

        .mobile-menu .submenu {
            position: static !important;
            display: none !important;
            min-width: 0 !important;
            margin: .25rem 0 .5rem !important;
            border: 0 !important;
            border-radius: 14px !important;
            background: var(--tw-sigep-mist) !important;
            box-shadow: none !important;
            opacity: 1 !important;
            visibility: visible !important;
            transform: none !important;
        }

        .mobile-menu .nav-item.active .submenu { display: block !important; }

        .hero {
            position: relative !important;
            display: flex !important;
            align-items: center !important;
            min-height: 560px !important;
            padding: 4rem 0 !important;
            overflow: hidden !important;
            color: #fff !important;
            background: var(--tw-sigep-navy) !important;
        }

        .hero::after {
            content: "" !important;
            position: absolute !important;
            inset: 0 !important;
            z-index: 1 !important;
            pointer-events: none !important;
            background: linear-gradient(90deg, rgba(15, 23, 42, .94), rgba(15, 23, 42, .68) 48%, rgba(15, 23, 42, .18)) !important;
        }

        .hero .container,
        .hero-content {
            position: relative !important;
            z-index: 2 !important;
        }

        .hero-content,
        .hero-content.reveal-on-scroll,
        .hero-image.reveal-on-scroll,
        .hero-copy,
        .hero-copy-stage {
            opacity: 1 !important;
            visibility: visible !important;
            transform: none !important;
            filter: none !important;
        }

        .hero-grid {
            display: grid !important;
            max-width: 820px !important;
            gap: 2rem !important;
        }

        .hero-copy-badge {
            display: inline-flex !important;
            align-items: center !important;
            gap: .5rem !important;
            margin-bottom: 1.2rem !important;
            padding: .55rem .8rem !important;
            border: 1px solid rgba(255,255,255,.2) !important;
            border-radius: 10px !important;
            background: rgba(255,255,255,.1) !important;
            color: rgba(255,255,255,.92) !important;
            font-size: .72rem !important;
            font-weight: 900 !important;
            text-transform: uppercase !important;
            letter-spacing: .12em !important;
        }

        .hero-main-title {
            display: block !important;
            color: #fff !important;
            font-size: clamp(2.25rem, 6vw, 4.6rem) !important;
            line-height: 1.02 !important;
            font-weight: 900 !important;
            letter-spacing: 0 !important;
            text-shadow: 0 20px 45px rgba(0,0,0,.25) !important;
        }

        .hero-copy-panel {
            opacity: 0 !important;
            visibility: hidden !important;
            transform: translateY(18px) !important;
            filter: blur(6px) !important;
        }

        .hero-copy-panel.is-active,
        .hero-copy-panel.is-entering {
            opacity: 1 !important;
            visibility: visible !important;
            transform: translateY(0) !important;
            filter: none !important;
        }

        .hero-copy-panel.is-active {
            position: relative !important;
        }

        .hero-slide-caption {
            display: inline-flex !important;
            flex-direction: column !important;
            gap: .28rem !important;
            max-width: 680px !important;
            margin-top: 1.5rem !important;
            padding: 1rem 1.1rem !important;
            border-left: 4px solid rgba(255,255,255,.72) !important;
            background: rgba(15, 23, 42, .32) !important;
            color: rgba(255,255,255,.86) !important;
            backdrop-filter: blur(12px);
        }

        .hero-slide-caption-title {
            display: block !important;
            color: #fff !important;
            font-size: .95rem !important;
            font-weight: 900 !important;
            line-height: 1.3 !important;
        }

        .hero-slide-text {
            display: block !important;
            color: rgba(255,255,255,.86) !important;
            font-size: .95rem !important;
            line-height: 1.65 !important;
        }

        .hero-image,
        .hero-slider,
        .hero-slide {
            position: absolute !important;
            inset: 0 !important;
            z-index: 0 !important;
            width: 100% !important;
            height: 100% !important;
            overflow: hidden !important;
        }

        .hero-slide {
            opacity: 0 !important;
            pointer-events: none !important;
            transition: opacity 1s ease !important;
        }

        .hero-slide.is-active { opacity: 1 !important; }

        .hero-slide img {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover !important;
            object-position: center top !important;
        }

        .hero-slider-controls {
            position: absolute !important;
            right: 1.25rem !important;
            bottom: 1.25rem !important;
            z-index: 3 !important;
            display: flex !important;
            align-items: center !important;
            gap: 1rem !important;
        }

        .hero-slider-dots,
        .hero-slider-nav {
            display: flex !important;
            align-items: center !important;
            gap: .5rem !important;
        }

        .hero-slider-dot {
            width: 11px !important;
            height: 11px !important;
            border: 0 !important;
            border-radius: 999px !important;
            background: rgba(255,255,255,.45) !important;
            transition: .2s ease !important;
        }

        .hero-slider-dot.is-active {
            width: 32px !important;
            background: #fff !important;
        }

        .hero-slider-btn {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 44px !important;
            height: 44px !important;
            border: 1px solid rgba(255,255,255,.25) !important;
            border-radius: 999px !important;
            background: rgba(15,23,42,.5) !important;
            color: #fff !important;
            backdrop-filter: blur(10px);
        }

        .team,
        .news,
        .components {
            padding: 5rem 0 !important;
            background: #fff !important;
        }

        .mural,
        .gallery,
        .contact,
        .courses {
            padding: 5rem 0 !important;
            border-top: 1px solid var(--tw-sigep-line) !important;
            border-bottom: 1px solid var(--tw-sigep-line) !important;
            background: var(--tw-sigep-mist) !important;
        }

        .team-heading { margin-bottom: 2rem !important; text-align: center !important; }
        .team-heading h2 {
            color: var(--tw-sigep-blue) !important;
            font-size: clamp(2rem, 5vw, 3rem) !important;
            font-weight: 900 !important;
        }

        .team-grid,
        .news-grid,
        .mural-grid,
        .components-grid,
        .courses-grid {
            display: grid !important;
            grid-template-columns: 1fr !important;
            gap: 1.5rem !important;
            margin-top: 2rem !important;
        }

        .gallery-grid {
            display: grid !important;
            grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
            gap: 1.25rem !important;
            margin-top: 1.25rem !important;
            align-items: stretch !important;
        }

        .team-card,
        .news-card,
        .mural-card,
        .component-card,
        .contact-card,
        .course-card {
            width: 100% !important;
            overflow: hidden !important;
            border: 1px solid var(--tw-sigep-line) !important;
            border-radius: 20px !important;
            background: #fff !important;
            box-shadow: var(--tw-shadow) !important;
            transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease !important;
        }

        .team-card:hover,
        .news-card:hover,
        .mural-card:hover,
        .component-card:hover,
        .contact-card:hover,
        .course-card:hover {
            transform: translateY(-8px) !important;
            box-shadow: var(--tw-shadow-strong) !important;
            border-color: rgba(30, 111, 192, .35) !important;
        }

        .team-card {
            min-height: 0 !important;
            padding: 1rem !important;
            text-align: center !important;
        }

        .team-card .image-container {
            width: 100% !important;
            height: 280px !important;
            border: 1px solid var(--tw-sigep-line) !important;
            border-radius: 16px !important;
            background: var(--tw-sigep-sky) !important;
        }

        .team-card img {
            width: 100% !important;
            height: 100% !important;
            object-fit: contain !important;
            object-position: center top !important;
        }

        .team-info strong {
            display: block !important;
            margin-top: 1rem !important;
            color: var(--tw-sigep-ink) !important;
            font-size: 1rem !important;
            font-weight: 900 !important;
            line-height: 1.25 !important;
        }

        .team-info small {
            display: inline-flex !important;
            margin-top: .55rem !important;
            padding: .35rem .75rem !important;
            border-radius: 999px !important;
            background: var(--tw-sigep-sky) !important;
            color: var(--tw-sigep-blue) !important;
            font-size: .75rem !important;
            font-weight: 900 !important;
        }

        .news-card img,
        .mural-card img,
        .course-image {
            width: 100% !important;
            height: 230px !important;
            object-fit: cover !important;
            object-position: center top !important;
        }

        .news-card-content,
        .mural-card-content {
            display: flex !important;
            flex-direction: column !important;
            gap: .75rem !important;
            padding: 1.25rem !important;
        }

        .news-card-content h3,
        .mural-card h3,
        .course-card h3,
        .component-card h3 {
            color: var(--tw-sigep-ink) !important;
            font-size: 1.25rem !important;
            line-height: 1.2 !important;
            font-weight: 900 !important;
        }

        .news-card-content p,
        .mural-card p,
        .course-card p,
        .component-card p {
            color: var(--tw-sigep-muted) !important;
            line-height: 1.7 !important;
        }

        .news-date {
            color: var(--tw-sigep-blue) !important;
            font-size: .72rem !important;
            font-weight: 900 !important;
            text-transform: uppercase !important;
            letter-spacing: .08em !important;
        }

        .read-more,
        .btn-course {
            display: inline-flex !important;
            align-items: center !important;
            gap: .45rem !important;
            color: var(--tw-sigep-blue) !important;
            font-size: .9rem !important;
            font-weight: 900 !important;
        }

        .mural-label,
        .course-badge {
            display: inline-flex !important;
            width: fit-content !important;
            padding: .35rem .75rem !important;
            border-radius: 999px !important;
            background: #fff7ed !important;
            color: #b45309 !important;
            font-size: .72rem !important;
            font-weight: 900 !important;
            text-transform: uppercase !important;
            letter-spacing: .06em !important;
        }

        .gallery-filter {
            display: flex !important;
            flex-wrap: wrap !important;
            justify-content: center !important;
            gap: .75rem !important;
            margin-bottom: 2rem !important;
        }

        .filter-btn {
            padding: .65rem 1.1rem !important;
            border: 1px solid var(--tw-sigep-line) !important;
            border-radius: 999px !important;
            background: #fff !important;
            color: var(--tw-sigep-ink) !important;
            font-size: .88rem !important;
            font-weight: 900 !important;
            box-shadow: 0 8px 18px rgba(15, 35, 65, .07) !important;
        }

        .filter-btn.active,
        .filter-btn:hover {
            border-color: var(--tw-sigep-blue) !important;
            background: var(--tw-sigep-blue) !important;
            color: #fff !important;
        }

        .gallery-overview {
            display: grid !important;
            grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
            gap: 1rem !important;
            margin: 1rem 0 2.2rem !important;
        }

        .gallery-overview-card {
            display: flex !important;
            align-items: flex-start !important;
            gap: .9rem !important;
            padding: 1rem !important;
            border: 1px solid var(--tw-sigep-line) !important;
            border-radius: 18px !important;
            background: #fff !important;
            box-shadow: 0 12px 26px rgba(15, 35, 65, .07) !important;
        }

        .gallery-overview-card.is-gallery-hidden {
            display: none !important;
        }

        .gallery-overview-icon {
            width: 42px !important;
            height: 42px !important;
            border-radius: 14px !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            flex: 0 0 auto !important;
            background: #eaf3ff !important;
            color: var(--tw-sigep-blue) !important;
        }

        .gallery-overview-card h3 {
            margin: 0 0 .25rem !important;
            color: var(--tw-sigep-ink) !important;
            font-size: 1rem !important;
            font-weight: 900 !important;
        }

        .gallery-overview-card p {
            margin: 0 !important;
            color: #5d7088 !important;
            font-size: .9rem !important;
            line-height: 1.45 !important;
        }

        .gallery-overview-tags {
            display: flex !important;
            flex-wrap: wrap !important;
            gap: .35rem !important;
            margin-top: .7rem !important;
        }

        .gallery-overview-tags span {
            border-radius: 999px !important;
            background: #eef5fb !important;
            color: var(--tw-sigep-blue) !important;
            padding: .26rem .55rem !important;
            font-size: .72rem !important;
            font-weight: 800 !important;
        }

        .gallery-group-title {
            display: flex !important;
            align-items: center !important;
            gap: .75rem !important;
            margin: 0 !important;
            color: var(--tw-sigep-blue) !important;
            font-size: 1.5rem !important;
            font-weight: 900 !important;
        }

        .gallery-group-heading {
            display: flex !important;
            align-items: flex-start !important;
            justify-content: space-between !important;
            gap: 1rem !important;
            flex-wrap: wrap !important;
            margin: 2.5rem 0 1.2rem !important;
            padding-bottom: .95rem !important;
            border-bottom: 1px solid rgba(30, 111, 192, .16) !important;
        }

        .gallery-group-text {
            flex: 1 1 320px !important;
            max-width: 620px !important;
            margin: .15rem 0 0 !important;
            color: #5b6b80 !important;
            line-height: 1.55 !important;
        }

        .gallery-item,
        .school-photo-card {
            position: relative !important;
            aspect-ratio: 4 / 3 !important;
            overflow: hidden !important;
            border-radius: 20px !important;
            background: var(--tw-sigep-sky) !important;
            box-shadow: var(--tw-shadow) !important;
        }

        .gallery-item img,
        .school-photo-card img {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover !important;
            object-position: center top !important;
            transition: transform .45s ease !important;
        }

        .gallery-item:hover img,
        .school-photo-card:hover img {
            transform: scale(1.05) !important;
        }

        .gallery-overlay,
        .school-photo-caption {
            position: absolute !important;
            left: 0 !important;
            right: 0 !important;
            bottom: 0 !important;
            padding: 1.25rem !important;
            color: #fff !important;
            background: linear-gradient(transparent, rgba(15, 23, 42, .94)) !important;
            transform: translateY(100%) !important;
            transition: transform .25s ease !important;
        }

        .gallery-item:hover .gallery-overlay,
        .school-photo-card:hover .school-photo-caption {
            transform: translateY(0) !important;
        }

        .component-card,
        .contact-card {
            padding: 1.5rem !important;
            text-align: center !important;
        }

        .component-icon {
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 64px !important;
            height: 64px !important;
            margin: 0 auto 1rem !important;
            border-radius: 18px !important;
            background: var(--tw-sigep-blue) !important;
            color: #fff !important;
            font-size: 1.7rem !important;
        }

        .testimonials {
            padding: 5rem 0 !important;
            background: var(--tw-sigep-blue) !important;
            color: #fff !important;
        }

        .testimonials-grid {
            display: grid !important;
            grid-template-columns: 1fr !important;
            gap: 1.5rem !important;
            margin-top: 2rem !important;
        }

        .testimonial-card {
            border: 1px solid rgba(255,255,255,.15) !important;
            border-radius: 20px !important;
            background: rgba(255,255,255,.12) !important;
            padding: 1.5rem !important;
            box-shadow: var(--tw-shadow) !important;
        }

        .stats-section {
            padding: 3rem 0 !important;
            background: var(--tw-sigep-blue-dark) !important;
            color: #fff !important;
        }

        .stats-grid {
            display: grid !important;
            grid-template-columns: 1fr !important;
            gap: 1.25rem !important;
            text-align: center !important;
        }

        .stat-number {
            color: #fff !important;
            font-size: 3rem !important;
            font-weight: 900 !important;
        }

        .contact-grid {
            display: grid !important;
            grid-template-columns: 1fr !important;
            gap: 2rem !important;
        }

        .contact-info {
            display: grid !important;
            grid-template-columns: 1fr !important;
            gap: 1rem !important;
        }

        .contact-card i {
            margin-bottom: .9rem !important;
            color: var(--tw-sigep-blue) !important;
            font-size: 2rem !important;
        }

        .contact-card h4 {
            margin-bottom: .45rem !important;
            color: var(--tw-sigep-ink) !important;
            font-size: 1.1rem !important;
            font-weight: 900 !important;
        }

        .contact-card p {
            color: var(--tw-sigep-muted) !important;
            font-size: .92rem !important;
            line-height: 1.7 !important;
            overflow-wrap: anywhere !important;
        }

        .contact-form input,
        .contact-form textarea {
            width: 100% !important;
            margin-bottom: 1rem !important;
            padding: .9rem 1rem !important;
            border: 1px solid var(--tw-sigep-line) !important;
            border-radius: 14px !important;
            background: #fff !important;
            color: var(--tw-sigep-ink) !important;
            box-shadow: 0 8px 18px rgba(15, 35, 65, .06) !important;
        }

        .map-container {
            margin-top: 2rem !important;
            overflow: hidden !important;
            border: 1px solid var(--tw-sigep-line) !important;
            border-radius: 20px !important;
            box-shadow: var(--tw-shadow) !important;
        }

        .social-feed {
            padding: 1.25rem 0 !important;
            background: var(--tw-sigep-navy) !important;
            color: #fff !important;
        }

        .social-feed-row {
            display: flex !important;
            flex-direction: column !important;
            align-items: center !important;
            justify-content: space-between !important;
            gap: 1rem !important;
            text-align: center !important;
        }

        .social-buttons {
            display: flex !important;
            flex-wrap: wrap !important;
            justify-content: center !important;
            gap: .75rem !important;
        }

        .social-btn {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: .5rem !important;
            min-height: 42px !important;
            padding: .6rem .9rem !important;
            border-radius: 999px !important;
            color: #fff !important;
            font-size: .9rem !important;
            font-weight: 900 !important;
        }

        .footer {
            padding: 2.5rem 0 !important;
            background: var(--tw-sigep-ink) !important;
            color: rgba(255,255,255,.72) !important;
            text-align: center !important;
            font-size: .9rem !important;
            line-height: 1.8 !important;
        }

        .back-to-top {
            position: fixed !important;
            right: 1.2rem !important;
            bottom: 1.2rem !important;
            z-index: 2500 !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 48px !important;
            height: 48px !important;
            border: 0 !important;
            border-radius: 999px !important;
            background: var(--tw-sigep-blue) !important;
            color: #fff !important;
            box-shadow: var(--tw-shadow) !important;
            opacity: 0 !important;
            visibility: hidden !important;
            transform: translateY(12px) !important;
        }

        .back-to-top.is-visible {
            opacity: 1 !important;
            visibility: visible !important;
            transform: translateY(0) !important;
        }

        .page-loader {
            position: fixed !important;
            inset: 0 !important;
            z-index: 3000 !important;
            display: flex !important;
            flex-direction: column !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 1rem !important;
            background: linear-gradient(135deg, var(--tw-sigep-blue), var(--tw-sigep-navy)) !important;
            color: #fff !important;
        }

        .page-loader.is-hidden {
            opacity: 0 !important;
            visibility: hidden !important;
            pointer-events: none !important;
        }

        .page-loader__ring {
            width: 56px !important;
            height: 56px !important;
            border: 4px solid rgba(255,255,255,.2) !important;
            border-top-color: #fff !important;
            border-radius: 999px !important;
            animation: loaderSpin .9s linear infinite !important;
        }

        .page-loader__text {
            color: #fff !important;
            font-size: .75rem !important;
            font-weight: 900 !important;
            text-transform: uppercase !important;
            letter-spacing: .18em !important;
        }

        /* Modernizacao visual estilo Tailwind */
        :root {
            --portal-bg: #f6f8fb;
            --portal-surface: #ffffff;
            --portal-soft: #eef4fb;
            --portal-ink: #0f172a;
            --portal-muted: #64748b;
            --portal-line: #dbe5f0;
            --portal-blue: #1d4ed8;
            --portal-blue-soft: #eff6ff;
            --portal-teal: #0f766e;
            --portal-gold: #b7791f;
            --portal-shadow: 0 14px 38px rgba(15, 23, 42, .10);
            --portal-shadow-strong: 0 26px 70px rgba(15, 23, 42, .20);
            --portal-radius: 8px;
        }

        body {
            background:
                linear-gradient(180deg, #f8fbff 0%, var(--portal-bg) 46%, #eef4fb 100%) !important;
            color: var(--portal-ink) !important;
        }

        main {
            overflow: hidden !important;
        }

        .container {
            max-width: 1180px !important;
        }

        .section-title {
            color: var(--portal-ink) !important;
            font-size: clamp(2rem, 4vw, 3.15rem) !important;
            letter-spacing: 0 !important;
        }

        .section-title::after {
            content: "" !important;
            display: block !important;
            width: 72px !important;
            height: 3px !important;
            margin: 1rem auto 0 !important;
            border-radius: 999px !important;
            background: linear-gradient(90deg, var(--portal-blue), var(--portal-teal), var(--portal-gold)) !important;
        }

        .section-subtitle {
            color: var(--portal-muted) !important;
            font-size: 1.03rem !important;
        }

        .header {
            border-bottom: 1px solid rgba(219, 229, 240, .78) !important;
            background: rgba(255, 255, 255, .86) !important;
            box-shadow: 0 10px 30px rgba(15, 23, 42, .07) !important;
        }

        .nav-container {
            padding: .72rem 0 !important;
        }

        .logo-img {
            width: 50px !important;
            height: 50px !important;
            border-radius: var(--portal-radius) !important;
            border-color: rgba(29, 78, 216, .18) !important;
            box-shadow: 0 10px 24px rgba(29, 78, 216, .10) !important;
        }

        .header-school-name {
            max-width: 500px !important;
            color: #0b3f7e !important;
            font-size: clamp(.74rem, .9vw, .9rem) !important;
            letter-spacing: .04em !important;
        }

        .nav-link {
            border-radius: var(--portal-radius) !important;
            color: #1f2937 !important;
            font-size: .84rem !important;
            font-weight: 800 !important;
        }

        .nav-link:hover,
        .nav-link.is-active {
            background: var(--portal-blue-soft) !important;
            color: var(--portal-blue) !important;
        }

        .submenu {
            border-radius: var(--portal-radius) !important;
            border-color: var(--portal-line) !important;
            box-shadow: var(--portal-shadow-strong) !important;
        }

        .btn-outline,
        .btn-primary,
        .filter-btn,
        .social-btn,
        .hero-slider-btn,
        .menu-toggle,
        .close-menu,
        .back-to-top {
            border-radius: var(--portal-radius) !important;
        }

        .btn-outline,
        .btn-primary {
            min-height: 44px !important;
            padding: .68rem 1rem !important;
            font-size: .86rem !important;
        }

        .btn-outline {
            border-color: rgba(29, 78, 216, .34) !important;
            background: rgba(255, 255, 255, .92) !important;
            color: var(--portal-blue) !important;
        }

        .btn-outline:hover {
            border-color: var(--portal-blue) !important;
            background: var(--portal-blue) !important;
            color: #fff !important;
        }

        .btn-primary,
        .btn-login-team {
            border-color: transparent !important;
            background: linear-gradient(135deg, var(--portal-blue), #075985) !important;
            box-shadow: 0 14px 26px rgba(29, 78, 216, .24) !important;
        }

        .hero {
            min-height: min(680px, calc(100vh - 72px)) !important;
            padding: 6rem 0 5rem !important;
            background: #07111f !important;
        }

        .hero::after {
            background:
                linear-gradient(90deg, rgba(2, 6, 23, .92) 0%, rgba(15, 23, 42, .74) 44%, rgba(15, 23, 42, .20) 100%),
                linear-gradient(180deg, rgba(2, 6, 23, .22) 0%, rgba(2, 6, 23, .50) 100%) !important;
        }

        .hero-grid {
            max-width: 900px !important;
        }

        .hero-copy-badge {
            border-color: rgba(255, 255, 255, .22) !important;
            border-radius: var(--portal-radius) !important;
            background: rgba(255, 255, 255, .12) !important;
            letter-spacing: .13em !important;
        }

        .hero-main-title {
            max-width: 900px !important;
            font-size: clamp(2.35rem, 6.2vw, 5.1rem) !important;
            line-height: .98 !important;
            text-wrap: balance;
        }

        .hero-slide-caption {
            max-width: min(680px, 100%) !important;
            margin-top: 1.65rem !important;
            padding: 1rem 1.1rem !important;
            border: 1px solid rgba(255, 255, 255, .16) !important;
            border-left: 4px solid rgba(255, 255, 255, .78) !important;
            border-radius: var(--portal-radius) !important;
            background: rgba(15, 23, 42, .42) !important;
            box-shadow: 0 18px 44px rgba(0, 0, 0, .22) !important;
        }

        .hero-slide-caption-title {
            font-size: 1rem !important;
            letter-spacing: .01em !important;
        }

        .hero-slide-text {
            color: rgba(255, 255, 255, .82) !important;
        }

        .hero-slide img {
            filter: saturate(1.05) contrast(1.03) !important;
        }

        .hero-slider-controls {
            right: clamp(1rem, 3vw, 2rem) !important;
            bottom: clamp(1rem, 3vw, 2rem) !important;
            padding: .5rem !important;
            border: 1px solid rgba(255, 255, 255, .14) !important;
            border-radius: var(--portal-radius) !important;
            background: rgba(15, 23, 42, .34) !important;
            backdrop-filter: blur(14px);
        }

        .hero-slider-dot {
            width: 9px !important;
            height: 9px !important;
            background: rgba(255, 255, 255, .48) !important;
        }

        .hero-slider-dot.is-active {
            width: 34px !important;
            background: #fff !important;
        }

        .team,
        .news,
        .components {
            background: #fff !important;
        }

        .mural,
        .gallery,
        .contact,
        .courses {
            background: var(--portal-bg) !important;
            border-color: var(--portal-line) !important;
        }

        .team-card,
        .news-card,
        .mural-card,
        .component-card,
        .contact-card,
        .course-card,
        .gallery-item,
        .school-photo-card,
        .testimonial-card {
            border-radius: var(--portal-radius) !important;
            border: 1px solid var(--portal-line) !important;
            background: var(--portal-surface) !important;
            box-shadow: 0 10px 28px rgba(15, 23, 42, .07) !important;
        }

        .team-card:hover,
        .news-card:hover,
        .mural-card:hover,
        .component-card:hover,
        .contact-card:hover,
        .course-card:hover,
        .gallery-item:hover,
        .school-photo-card:hover {
            transform: translateY(-6px) !important;
            border-color: rgba(29, 78, 216, .28) !important;
            box-shadow: var(--portal-shadow) !important;
        }

        .team-card .image-container,
        .news-card img,
        .mural-card img,
        .course-image {
            border-radius: var(--portal-radius) !important;
        }

        .team-card .image-container {
            height: 300px !important;
            border-color: rgba(29, 78, 216, .14) !important;
            background: linear-gradient(180deg, #f8fbff, #eaf3ff) !important;
        }

        .team-info small,
        .course-meta span,
        .mural-label,
        .course-badge {
            border-radius: var(--portal-radius) !important;
        }

        .course-badge,
        .mural-label {
            background: #fff7ed !important;
            color: #92400e !important;
        }

        .course-meta span {
            background: var(--portal-blue-soft) !important;
            color: #1e40af !important;
        }

        .news-card-content,
        .mural-card-content {
            padding: 1.35rem !important;
        }

        .news-card-content h3,
        .mural-card h3,
        .course-card h3,
        .component-card h3 {
            color: var(--portal-ink) !important;
            letter-spacing: 0 !important;
        }

        .news-card-content p,
        .mural-card p,
        .course-card p,
        .component-card p {
            color: var(--portal-muted) !important;
        }

        .component-icon {
            border-radius: var(--portal-radius) !important;
            background: linear-gradient(135deg, var(--portal-blue), var(--portal-teal)) !important;
            box-shadow: 0 14px 30px rgba(15, 118, 110, .20) !important;
        }

        .stats-section {
            background: linear-gradient(135deg, #0f172a, #123b69) !important;
        }

        .stats-grid > div {
            padding: 1.25rem !important;
            border: 1px solid rgba(255, 255, 255, .12) !important;
            border-radius: var(--portal-radius) !important;
            background: rgba(255, 255, 255, .08) !important;
            backdrop-filter: blur(10px);
        }

        .stat-number {
            font-size: clamp(2.25rem, 5vw, 3.5rem) !important;
        }

        .gallery-group-title {
            color: var(--portal-ink) !important;
            font-size: clamp(1.25rem, 2.6vw, 1.65rem) !important;
        }

        .gallery-group-title::before {
            background: linear-gradient(180deg, var(--portal-blue), var(--portal-teal)) !important;
        }

        .gallery-group-title i {
            width: 1.35rem !important;
            color: var(--portal-blue) !important;
            font-size: .95em !important;
            text-align: center !important;
        }

        .gallery-overlay,
        .school-photo-caption {
            border-radius: 0 0 var(--portal-radius) var(--portal-radius) !important;
            background: linear-gradient(transparent, rgba(15, 23, 42, .94)) !important;
        }

        .contact-card i {
            color: var(--portal-blue) !important;
        }

        .contact-form input,
        .contact-form textarea {
            border-radius: var(--portal-radius) !important;
            border-color: var(--portal-line) !important;
            background: #fff !important;
            box-shadow: none !important;
        }

        .contact-form input:focus,
        .contact-form textarea:focus {
            border-color: rgba(29, 78, 216, .55) !important;
            box-shadow: 0 0 0 4px rgba(29, 78, 216, .10) !important;
        }

        .social-feed {
            background: #0f172a !important;
        }

        .footer {
            background: #08111f !important;
        }

        @media (prefers-reduced-motion: reduce) {
            *,
            *::before,
            *::after {
                scroll-behavior: auto !important;
                transition-duration: .01ms !important;
                animation-duration: .01ms !important;
                animation-iteration-count: 1 !important;
            }
        }

        @media (min-width: 640px) {
            .container { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
            .team-grid,
            .news-grid,
            .mural-grid,
            .components-grid,
            .courses-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
            .gallery-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)) !important; }
            .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
            .contact-info { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
            .social-feed-row { flex-direction: row !important; text-align: left !important; }
        }

        @media (min-width: 1024px) {
            .container { padding-left: 2rem !important; padding-right: 2rem !important; }
            .header-buttons { display: flex !important; }
            .team-grid,
            .news-grid,
            .mural-grid,
            .components-grid,
            .courses-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
            .gallery-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)) !important; }
            .contact-grid { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important; }
            .stats-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
        }

        @media (min-width: 1280px) {
            .nav-menu { display: flex !important; }
            .menu-toggle { display: none !important; }
        }

        @media (max-width: 640px) {
            .header-school-name {
                order: 3 !important;
                flex-basis: 100% !important;
                font-size: .72rem !important;
            }
            .hero {
                min-height: 460px !important;
                padding: 3rem 0 !important;
            }
            .hero-main-title { font-size: 2.1rem !important; }
            .hero-slider-controls {
                right: .75rem !important;
                bottom: .75rem !important;
            }
            .hero-slider-nav { display: none !important; }
        }

        /* Reforco premium: visual mais atractivo e institucional */
        :root {
            --premium-navy: #071526;
            --premium-blue: #1557b0;
            --premium-blue-2: #1d7bd8;
            --premium-gold: #d6a63f;
            --premium-emerald: #0f766e;
            --premium-bg: #f3f7fc;
            --premium-card: #ffffff;
            --premium-line: #d9e6f4;
            --premium-text: #102033;
            --premium-muted: #64748b;
            --premium-shadow: 0 18px 46px rgba(15, 35, 65, .13);
            --premium-shadow-strong: 0 30px 80px rgba(8, 22, 44, .24);
        }

        body {
            background:
                linear-gradient(180deg, #ffffff 0%, #f4f8fd 34%, #eaf2fb 100%) !important;
            color: var(--premium-text) !important;
        }

        .header {
            background: rgba(255, 255, 255, .92) !important;
            border-bottom: 1px solid rgba(21, 87, 176, .14) !important;
            box-shadow: 0 18px 42px rgba(8, 22, 44, .10) !important;
        }

        .header.is-scrolled {
            background: rgba(255, 255, 255, .97) !important;
            box-shadow: 0 22px 58px rgba(8, 22, 44, .16) !important;
        }

        .logo-img {
            border: 1px solid rgba(214, 166, 63, .32) !important;
            background: linear-gradient(180deg, #fff, #f8fbff) !important;
            box-shadow: 0 12px 30px rgba(21, 87, 176, .16) !important;
        }

        .header-school-name {
            color: #0b3f7e !important;
            text-shadow: 0 1px 0 rgba(255,255,255,.8) !important;
        }

        .nav-link {
            color: #1d2939 !important;
            position: relative !important;
        }

        .nav-link:hover,
        .nav-link.is-active {
            background: linear-gradient(180deg, #eef6ff, #ffffff) !important;
            color: var(--premium-blue) !important;
            box-shadow: inset 0 0 0 1px rgba(21, 87, 176, .10) !important;
        }

        .btn-primary,
        .btn-login-team {
            background: linear-gradient(135deg, var(--premium-blue), #063b78) !important;
            box-shadow: 0 14px 30px rgba(21, 87, 176, .30), inset 0 1px 0 rgba(255,255,255,.22) !important;
        }

        .btn-outline {
            border-color: rgba(21, 87, 176, .28) !important;
            background: linear-gradient(180deg, #ffffff, #f7fbff) !important;
            color: var(--premium-blue) !important;
            box-shadow: 0 8px 18px rgba(15, 35, 65, .06) !important;
        }

        .hero {
            min-height: min(720px, calc(100vh - 68px)) !important;
            padding: 7rem 0 6rem !important;
            background: var(--premium-navy) !important;
            isolation: isolate !important;
        }

        .hero::before {
            content: "" !important;
            position: absolute !important;
            inset: auto 0 0 0 !important;
            height: 34% !important;
            z-index: 1 !important;
            pointer-events: none !important;
            background: linear-gradient(180deg, rgba(7, 21, 38, 0), rgba(7, 21, 38, .82)) !important;
        }

        .hero::after {
            background:
                linear-gradient(90deg, rgba(4, 15, 31, .88) 0%, rgba(7, 21, 38, .60) 42%, rgba(7, 21, 38, .10) 100%),
                radial-gradient(circle at 18% 30%, rgba(29, 123, 216, .34), transparent 36%),
                linear-gradient(180deg, rgba(7, 21, 38, .12), rgba(7, 21, 38, .40)) !important;
        }

        .hero-copy-badge {
            border-color: rgba(214, 166, 63, .40) !important;
            background: rgba(255, 255, 255, .10) !important;
            color: #fff6dc !important;
        }

        .hero-copy-badge i {
            color: var(--premium-gold) !important;
        }

        .hero-main-title {
            max-width: 980px !important;
            color: #ffffff !important;
            font-size: clamp(2.55rem, 6.8vw, 5.7rem) !important;
            line-height: .96 !important;
            text-shadow: 0 20px 50px rgba(0,0,0,.36) !important;
        }

        .hero-main-title::after {
            content: "" !important;
            display: block !important;
            width: min(180px, 42vw) !important;
            height: 4px !important;
            margin-top: 1.2rem !important;
            border-radius: 999px !important;
            background: linear-gradient(90deg, var(--premium-gold), #fff2b7, rgba(255,255,255,.05)) !important;
            box-shadow: 0 10px 24px rgba(214, 166, 63, .22) !important;
        }

        .hero-slide-caption {
            background: rgba(5, 18, 34, .56) !important;
            border: 1px solid rgba(255, 255, 255, .18) !important;
            border-left: 4px solid var(--premium-gold) !important;
            box-shadow: 0 24px 60px rgba(0,0,0,.30) !important;
        }

        .hero-slide-caption-title {
            color: #fff7d6 !important;
        }

        .hero-slide img {
            filter: saturate(1.12) contrast(1.05) brightness(.96) !important;
        }

        .hero-slider-controls {
            border-color: rgba(255, 255, 255, .20) !important;
            background: rgba(5, 18, 34, .52) !important;
            box-shadow: 0 20px 42px rgba(0,0,0,.22) !important;
        }

        .hero-slider-dot.is-active {
            background: var(--premium-gold) !important;
        }

        .section-title {
            color: var(--premium-text) !important;
            text-wrap: balance;
        }

        .section-title::after {
            width: 92px !important;
            height: 4px !important;
            background: linear-gradient(90deg, var(--premium-blue), var(--premium-gold)) !important;
        }

        .team,
        .news,
        .components {
            background:
                linear-gradient(180deg, #ffffff, #fbfdff) !important;
        }

        .courses,
        .mural,
        .gallery,
        .contact {
            background:
                linear-gradient(180deg, var(--premium-bg), #edf4fb) !important;
        }

        .team-card,
        .course-card,
        .news-card,
        .mural-card,
        .component-card,
        .contact-card,
        .gallery-item,
        .testimonial-card {
            position: relative !important;
            border-color: rgba(21, 87, 176, .13) !important;
            background: linear-gradient(180deg, #ffffff, #fbfdff) !important;
            box-shadow: 0 16px 38px rgba(15, 35, 65, .10) !important;
        }

        .team-card::before,
        .course-card::before,
        .news-card::before,
        .mural-card::before,
        .component-card::before,
        .contact-card::before {
            content: "" !important;
            position: absolute !important;
            inset: 0 0 auto 0 !important;
            height: 4px !important;
            background: linear-gradient(90deg, var(--premium-blue), var(--premium-gold)) !important;
            opacity: .95 !important;
            z-index: 1 !important;
        }

        .team-card:hover,
        .course-card:hover,
        .news-card:hover,
        .mural-card:hover,
        .component-card:hover,
        .contact-card:hover,
        .gallery-item:hover {
            transform: translateY(-9px) !important;
            border-color: rgba(21, 87, 176, .32) !important;
            box-shadow: var(--premium-shadow) !important;
        }

        .team-card .image-container {
            height: 315px !important;
            border: 1px solid rgba(21, 87, 176, .18) !important;
            background:
                radial-gradient(circle at 50% 0%, rgba(29, 123, 216, .16), transparent 52%),
                linear-gradient(180deg, #f8fbff, #edf5ff) !important;
        }

        .team-info strong {
            color: var(--premium-text) !important;
        }

        .team-info small {
            background: #eef6ff !important;
            color: #1557b0 !important;
            box-shadow: inset 0 0 0 1px rgba(21, 87, 176, .08) !important;
        }

        .news-card img,
        .mural-card img,
        .course-image {
            height: 250px !important;
            filter: saturate(1.06) contrast(1.02) !important;
        }

        .news-card-content h3,
        .mural-card h3,
        .course-card h3,
        .component-card h3 {
            color: #0b1f36 !important;
        }

        .news-date,
        .read-more,
        .btn-course {
            color: var(--premium-blue) !important;
        }

        .course-badge,
        .mural-label {
            background: #fff6dc !important;
            color: #8a5a05 !important;
            box-shadow: inset 0 0 0 1px rgba(214, 166, 63, .25) !important;
        }

        .mural-date {
            display: inline-flex !important;
            width: fit-content !important;
            align-items: center !important;
            gap: .45rem !important;
            margin: 1.15rem 0 .28rem !important;
            padding: .35rem .75rem !important;
            border-radius: 999px !important;
            background: #eef6ff !important;
            color: #1557b0 !important;
            font-size: .76rem !important;
            font-weight: 900 !important;
            line-height: 1 !important;
            text-transform: uppercase !important;
            letter-spacing: .06em !important;
            box-shadow: inset 0 0 0 1px rgba(21, 87, 176, .15) !important;
        }

        .mural-image-fallback {
            display: flex !important;
            width: 100% !important;
            height: 250px !important;
            align-items: center !important;
            justify-content: center !important;
            background: #eef6ff !important;
            color: #1557b0 !important;
            font-size: 2.4rem !important;
        }

        .course-meta span {
            background: #eef6ff !important;
            color: #1557b0 !important;
        }

        .component-icon {
            background: linear-gradient(135deg, var(--premium-blue), var(--premium-emerald)) !important;
            box-shadow: 0 18px 36px rgba(21, 87, 176, .22) !important;
        }

        .stats-section {
            background:
                radial-gradient(circle at 10% 0%, rgba(214, 166, 63, .22), transparent 30%),
                linear-gradient(135deg, #071526, #0b3f7e) !important;
        }

        .stats-grid > div {
            border-color: rgba(255,255,255,.18) !important;
            background: rgba(255,255,255,.10) !important;
            box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;
        }

        .stat-number {
            color: #fff7d6 !important;
        }

        .gallery-filter {
            padding: .35rem !important;
            border: 1px solid rgba(21, 87, 176, .12) !important;
            background: rgba(255,255,255,.70) !important;
            box-shadow: 0 12px 30px rgba(15,35,65,.08) !important;
            width: fit-content !important;
            max-width: 100% !important;
            margin-left: auto !important;
            margin-right: auto !important;
        }

        .filter-btn.active,
        .filter-btn:hover {
            background: linear-gradient(135deg, var(--premium-blue), #063b78) !important;
            color: #fff !important;
        }

        .contact-card i {
            color: var(--premium-blue) !important;
            filter: drop-shadow(0 8px 16px rgba(21,87,176,.14)) !important;
        }

        .map-container {
            border-color: rgba(21, 87, 176, .14) !important;
            box-shadow: var(--premium-shadow) !important;
        }

        .social-feed {
            background: linear-gradient(135deg, #071526, #0f2748) !important;
        }

        .footer {
            background: #06101f !important;
        }

        @media (max-width: 640px) {
            .hero {
                min-height: 420px !important;
                padding: 2.8rem 0 3.4rem !important;
            }

            .hero-main-title {
                font-size: clamp(1.75rem, 9vw, 2.45rem) !important;
                line-height: 1.08 !important;
            }

            .hero-copy-badge {
                font-size: .66rem !important;
            }

            .hero-slide-caption {
                max-width: 100% !important;
                padding: .9rem !important;
            }

            .hero-slider-controls {
                left: .75rem !important;
                right: .75rem !important;
                justify-content: center !important;
            }

            .team-card .image-container {
                height: 285px !important;
            }
        }

        /* Ajuste final: hero mais compacto */
        .hero {
            min-height: clamp(420px, 54vh, 540px) !important;
            padding: 4.2rem 0 4rem !important;
        }

        .hero-main-title {
            font-size: clamp(2.05rem, 4.8vw, 4rem) !important;
            line-height: 1.04 !important;
        }

        .hero-main-title::after {
            width: min(130px, 34vw) !important;
            margin-top: .85rem !important;
        }

        .hero-slide-caption {
            margin-top: 1rem !important;
            padding: .8rem .95rem !important;
        }

        @media (max-width: 640px) {
            .hero {
                min-height: 380px !important;
                padding: 2.4rem 0 3rem !important;
            }

            .hero-main-title {
                font-size: clamp(1.65rem, 8.5vw, 2.25rem) !important;
            }

            .hero-copy-badge {
                margin-bottom: .75rem !important;
                padding: .42rem .62rem !important;
            }

            .hero-slide-caption {
                margin-top: .75rem !important;
                padding: .7rem .8rem !important;
            }
        }

        @media (min-width: 901px) {
            .hero {
                min-height: clamp(430px, 50vh, 500px) !important;
                padding: 3.4rem 0 3.2rem !important;
            }

            .hero .container {
                display: flex !important;
                align-items: center !important;
            }

            .hero-grid {
                width: min(100%, 720px) !important;
                max-width: 720px !important;
                gap: 1.1rem !important;
            }

            .hero-content {
                max-width: 720px !important;
            }

            .hero-copy-stage {
                min-height: 0 !important;
            }

            .hero-copy-badge {
                margin-bottom: .85rem !important;
                padding: .44rem .68rem !important;
                font-size: .68rem !important;
            }

            .hero-main-title {
                max-width: 720px !important;
                font-size: clamp(2rem, 4.1vw, 3.45rem) !important;
                line-height: 1.05 !important;
            }

            .hero-slide-caption {
                max-width: 560px !important;
                margin-top: .9rem !important;
                padding: .75rem .9rem !important;
            }

            .hero-slide-text {
                font-size: .9rem !important;
                line-height: 1.5 !important;
            }

            .hero-slider-controls {
                right: 2rem !important;
                bottom: 1.4rem !important;
                padding: .38rem .5rem !important;
            }
        }

        /* Identidade do cabecalho: logotipo e nome sempre juntos */
        .header .logo {
            flex: 0 1 auto !important;
            min-width: 0 !important;
            max-width: min(100%, 560px) !important;
            gap: .65rem !important;
        }

        .header .logo .header-school-name {
            order: initial !important;
            flex: 0 1 auto !important;
            flex-basis: auto !important;
            min-width: 0 !important;
            max-width: 480px !important;
            margin: 0 !important;
            overflow-wrap: anywhere !important;
        }

        @media (max-width: 900px) {
            .header .nav-container {
                align-items: center !important;
            }

            .header .logo {
                flex: 1 1 calc(100% - 58px) !important;
                max-width: calc(100% - 58px) !important;
            }

            .header .logo .header-school-name {
                font-size: .72rem !important;
                line-height: 1.18 !important;
            }
        }

        @media (max-width: 420px) {
            .header .logo-img {
                width: 42px !important;
                height: 42px !important;
            }

            .header .logo .header-school-name {
                font-size: .66rem !important;
            }
        }

        /* Ajuste final do menu: cabecalho mais baixo e alinhado */
        .header .nav-container {
            min-height: 62px !important;
            padding-top: .42rem !important;
            padding-bottom: .42rem !important;
            align-items: center !important;
            gap: .65rem !important;
        }

        .header .logo {
            align-items: center !important;
            min-height: 48px !important;
        }

        .header .logo-img {
            width: 46px !important;
            height: 46px !important;
            flex: 0 0 46px !important;
        }

        .header .logo .header-school-name {
            font-size: clamp(.68rem, .78vw, .82rem) !important;
            line-height: 1.12 !important;
            letter-spacing: .025em !important;
        }

        .header .nav-menu {
            align-items: center !important;
            margin: 0 !important;
            align-self: center !important;
        }

        .header .nav-link {
            min-height: 38px !important;
            padding-top: .48rem !important;
            padding-bottom: .48rem !important;
            align-items: center !important;
        }

        .header .header-buttons {
            align-items: center !important;
            align-self: center !important;
        }

        .header .btn-outline,
        .header .btn-primary {
            min-height: 38px !important;
            padding-top: .48rem !important;
            padding-bottom: .48rem !important;
        }

        @media (min-width: 1280px) {
            .header .container {
                max-width: 100% !important;
                padding-left: 1rem !important;
                padding-right: 1rem !important;
            }

            .header .nav-container {
                flex-wrap: nowrap !important;
                justify-content: flex-start !important;
                overflow: visible !important;
            }

            .header .logo {
                max-width: 330px !important;
                flex: 0 1 330px !important;
            }

            .header .logo .header-school-name {
                max-width: 260px !important;
                font-size: .64rem !important;
                line-height: 1.08 !important;
            }

            .header .nav-menu {
                flex: 1 1 auto !important;
                justify-content: center !important;
                gap: .05rem !important;
                min-width: 0 !important;
                flex-wrap: nowrap !important;
                white-space: nowrap !important;
            }

            .header .nav-link {
                min-height: 34px !important;
                padding: .38rem .42rem !important;
                font-size: .7rem !important;
                white-space: nowrap !important;
            }

            .header .nav-item {
                flex: 0 0 auto !important;
            }

            .header .nav-menu > .nav-item:last-child .submenu {
                left: auto !important;
                right: 0 !important;
                min-width: 320px !important;
                max-width: min(380px, calc(100vw - 2rem)) !important;
            }

            .header .header-buttons {
                flex: 0 0 auto !important;
                gap: .25rem !important;
            }

            .header .btn-outline,
            .header .btn-primary {
                min-height: 34px !important;
                padding: .38rem .5rem !important;
                font-size: .68rem !important;
                white-space: nowrap !important;
            }
        }

        @media (min-width: 1280px) and (max-width: 1499px) {
            .header .header-buttons {
                display: none !important;
            }

            .header .logo {
                max-width: 360px !important;
                flex-basis: 360px !important;
            }

            .header .logo .header-school-name {
                max-width: 290px !important;
            }

            .header .nav-menu {
                justify-content: flex-end !important;
            }

            .header .nav-link {
                font-size: .76rem !important;
                padding-left: .52rem !important;
                padding-right: .52rem !important;
            }
        }

        @media (min-width: 1500px) {
            .header .logo {
                max-width: 390px !important;
                flex-basis: 390px !important;
            }

            .header .logo .header-school-name {
                max-width: 315px !important;
                font-size: .7rem !important;
            }

            .header .nav-link {
                font-size: .78rem !important;
                padding-left: .58rem !important;
                padding-right: .58rem !important;
            }
        }

        @media (min-width: 1024px) {
            .header .nav-container {
                flex-wrap: wrap !important;
                row-gap: .25rem !important;
            }

            .header .logo {
                order: 1 !important;
            }

            .header .nav-menu {
                order: 2 !important;
                flex-wrap: nowrap !important;
            }

            .header .header-buttons {
                order: 3 !important;
                display: flex !important;
                flex: 0 0 100% !important;
                width: 100% !important;
                justify-content: flex-end !important;
                align-items: center !important;
                margin-top: -.12rem !important;
                padding-bottom: .1rem !important;
            }

            .header .btn-outline,
            .header .btn-primary {
                min-height: 34px !important;
                padding: .38rem .7rem !important;
                font-size: .74rem !important;
            }
        }

        @media (max-width: 900px) {
            .header .nav-container {
                min-height: 58px !important;
                padding-top: .38rem !important;
                padding-bottom: .38rem !important;
            }

            .header .logo {
                min-height: 44px !important;
            }

            .header .logo-img {
                width: 42px !important;
                height: 42px !important;
                flex-basis: 42px !important;
            }

            .header .menu-toggle {
                width: 40px !important;
                height: 40px !important;
            }

            .mobile-menu .nav-link,
            .mobile-menu .submenu li a {
                justify-content: flex-start !important;
                align-items: center !important;
                gap: .55rem !important;
                text-align: left !important;
            }

            .mobile-menu .nav-link i,
            .mobile-menu .submenu li a i {
                width: 18px !important;
                min-width: 18px !important;
                margin: 0 !important;
                text-align: center !important;
            }
        }

        /* Ajuste da identidade: logotipo e nome da escola mais visiveis */
        .header .logo-img {
            width: 58px !important;
            height: 58px !important;
            flex: 0 0 58px !important;
            padding: 5px !important;
        }

        .header .logo .header-school-name {
            max-width: 420px !important;
            font-size: clamp(.86rem, 1.05vw, 1.08rem) !important;
            line-height: 1.15 !important;
            letter-spacing: .02em !important;
        }

        @media (min-width: 1280px) {
            .header .logo {
                max-width: 500px !important;
                flex-basis: 500px !important;
            }

            .header .logo .header-school-name {
                max-width: 430px !important;
                font-size: clamp(.86rem, .95vw, 1rem) !important;
            }
        }

        @media (min-width: 1280px) and (max-width: 1499px) {
            .header .logo {
                max-width: 470px !important;
                flex-basis: 470px !important;
            }

            .header .logo .header-school-name {
                max-width: 395px !important;
                font-size: .86rem !important;
            }
        }

        @media (max-width: 900px) {
            .header .logo-img {
                width: 50px !important;
                height: 50px !important;
                flex-basis: 50px !important;
            }

            .header .logo .header-school-name {
                font-size: .82rem !important;
                line-height: 1.14 !important;
            }
        }

        @media (max-width: 420px) {
            .header .logo-img {
                width: 46px !important;
                height: 46px !important;
                flex-basis: 46px !important;
            }

            .header .logo .header-school-name {
                font-size: .72rem !important;
            }
        }

        @media (max-width: 900px) {
            .header .nav-container {
                justify-content: space-between !important;
                row-gap: .45rem !important;
            }

            .header .logo {
                order: 1 !important;
                flex: 1 1 calc(100% - 52px) !important;
                max-width: calc(100% - 52px) !important;
            }

            .header .menu-toggle {
                order: 2 !important;
                flex: 0 0 40px !important;
            }

            .header .header-buttons {
                order: 3 !important;
                display: grid !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                width: 100% !important;
                flex: 0 0 100% !important;
                gap: .45rem !important;
                margin: 0 !important;
                padding: 0 !important;
            }

            .header .header-buttons.header-buttons-has-admissao {
                grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
            }

            .header .header-buttons > .btn-outline:not(.btn-login-student),
            .header .header-buttons > .btn-login-student,
            .header .header-buttons > .btn-login-team {
                display: inline-flex !important;
            }

            .header .header-buttons > .btn-outline:not(.btn-login-student),
            .header .btn-login-student,
            .header .btn-login-team {
                min-height: 36px !important;
                padding: .45rem .5rem !important;
                gap: .35rem !important;
                border-radius: 8px !important;
                font-size: .72rem !important;
                line-height: 1.12 !important;
                white-space: normal !important;
                text-align: center !important;
            }

            .header .header-buttons > .btn-outline:not(.btn-login-student) i,
            .header .btn-login-student i,
            .header .btn-login-team i {
                flex: 0 0 auto !important;
                margin: 0 !important;
            }
        }

        /* Hero principal: foto full-bleed, rotativa e com legenda própria */
        .hero {
            position: relative !important;
            overflow: hidden !important;
            background: #071526 !important;
        }

        .hero > .hero-image {
            position: absolute !important;
            inset: 0 !important;
            z-index: 0 !important;
            width: 100% !important;
            height: 100% !important;
            max-width: none !important;
            margin: 0 !important;
            transform: none !important;
        }

        .hero > .container {
            position: relative !important;
            z-index: 3 !important;
            width: 100% !important;
        }

        .hero-slider,
        .hero-slide {
            position: absolute !important;
            inset: 0 !important;
            width: 100% !important;
            height: 100% !important;
            border-radius: 0 !important;
            overflow: hidden !important;
        }

        .hero-slide img {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover !important;
            object-position: center center !important;
            display: block !important;
        }

        .hero-photo-caption {
            position: absolute !important;
            left: clamp(1rem, 4vw, 3rem) !important;
            right: clamp(1rem, 4vw, 3rem) !important;
            bottom: clamp(4.8rem, 8vw, 6.8rem) !important;
            z-index: 2 !important;
            display: inline-flex !important;
            flex-direction: column !important;
            gap: .28rem !important;
            width: min(560px, calc(100% - 2rem)) !important;
            padding: .85rem 1rem !important;
            border: 1px solid rgba(255, 255, 255, .18) !important;
            border-left: 4px solid var(--premium-gold, #d6a63f) !important;
            border-radius: 8px !important;
            background: rgba(5, 18, 34, .58) !important;
            color: #fff !important;
            box-shadow: 0 18px 44px rgba(0, 0, 0, .26) !important;
            backdrop-filter: blur(12px);
            opacity: 0 !important;
            transform: translateY(14px) !important;
            transition: opacity .55s ease, transform .55s ease !important;
            pointer-events: none !important;
        }

        .hero-slide.is-active .hero-photo-caption {
            opacity: 1 !important;
            transform: translateY(0) !important;
        }

        .hero-photo-caption strong {
            color: #fff7d6 !important;
            font-size: .95rem !important;
            font-weight: 900 !important;
            line-height: 1.25 !important;
        }

        .hero-photo-caption span {
            color: rgba(255, 255, 255, .84) !important;
            font-size: .88rem !important;
            line-height: 1.5 !important;
        }

        .team-bio-link {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: .38rem !important;
            margin-top: .65rem !important;
            padding: .42rem .75rem !important;
            border: 1px solid rgba(21, 87, 176, .16) !important;
            border-radius: 8px !important;
            background: #eef6ff !important;
            color: #1557b0 !important;
            font-size: .78rem !important;
            font-weight: 900 !important;
            text-decoration: none !important;
            cursor: pointer !important;
            transition: transform .2s ease, background .2s ease, color .2s ease !important;
        }

        .team-bio-link:hover,
        .team-bio-link:focus {
            transform: translateY(-2px) !important;
            background: #1557b0 !important;
            color: #ffffff !important;
        }

        /* Galeria mais compacta: evita que uma foto isolada ocupe a largura toda do grupo. */
        .gallery {
            padding-top: 3.5rem !important;
            padding-bottom: 3.5rem !important;
        }

        .gallery-group {
            margin-top: 1.6rem !important;
        }

        .gallery-grid {
            grid-template-columns: repeat(auto-fit, minmax(180px, 240px)) !important;
            justify-content: center !important;
            align-items: start !important;
            gap: .9rem !important;
        }

        .gallery-item {
            width: 100% !important;
            height: 170px !important;
            min-height: 0 !important;
            aspect-ratio: auto !important;
            border-radius: 8px !important;
        }

        .gallery-overlay {
            padding: .8rem !important;
        }

        .gallery-overlay h4 {
            font-size: .88rem !important;
            line-height: 1.25 !important;
        }

        .gallery-overlay p {
            font-size: .76rem !important;
            line-height: 1.35 !important;
        }

        @media (min-width: 901px) {
            .hero-photo-caption {
                left: auto !important;
                right: clamp(2rem, 4vw, 4rem) !important;
                bottom: clamp(5rem, 7vw, 6.5rem) !important;
                width: min(480px, 36vw) !important;
            }
        }

        @media (max-width: 640px) {
            .hero-slide img {
                object-position: center top !important;
            }

            .hero-photo-caption {
                left: .75rem !important;
                right: .75rem !important;
                bottom: 4.35rem !important;
                width: auto !important;
                padding: .7rem .8rem !important;
            }

            .hero-photo-caption strong {
                font-size: .84rem !important;
            }

            .hero-photo-caption span {
                font-size: .78rem !important;
                line-height: 1.42 !important;
            }

            .gallery-grid {
                grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
            }

            .gallery-item {
                height: 150px !important;
            }
        }

        @media (min-width: 641px) and (max-width: 900px) {
            .gallery-grid {
                grid-template-columns: repeat(auto-fit, minmax(170px, 220px)) !important;
            }

            .gallery-item {
                height: 160px !important;
            }
        }
        }

        /* Correção de emergência do cabeçalho reconstruído */
        .header .logo img {
            width: 58px !important;
            height: 58px !important;
            max-width: 58px !important;
            max-height: 58px !important;
            object-fit: contain !important;
            flex: 0 0 58px !important;
        }

        .header .nav-menu > ul {
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: .25rem !important;
            flex-wrap: wrap !important;
            list-style: none !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        .header .nav-menu > ul > li {
            margin: 0 !important;
            padding: 0 !important;
            flex: 0 0 auto !important;
        }

        @media (min-width: 1024px) {
            .header .nav-menu > ul {
                flex-wrap: nowrap !important;
            }
        }

        @media (max-width: 900px) {
            .header .logo img {
                width: 50px !important;
                height: 50px !important;
                max-width: 50px !important;
                max-height: 50px !important;
                flex-basis: 50px !important;
            }
        }

        /* Menu principal mobile-first na ordem original do portal */
        .header .header-buttons {
            display: none !important;
        }

        .header .nav-container {
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            flex-wrap: nowrap !important;
        }

        .header .logo {
            flex: 1 1 auto !important;
            max-width: calc(100% - 56px) !important;
        }

        .header .menu-toggle {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            flex: 0 0 42px !important;
            width: 42px !important;
            height: 42px !important;
        }

        .header .nav-menu {
            display: none !important;
        }

        .header .nav-link-access {
            border: 1px solid var(--tw-sigep-blue) !important;
            color: var(--tw-sigep-blue) !important;
            background: #fff !important;
        }

        .header .nav-link-access-team {
            background: var(--tw-sigep-blue) !important;
            color: #fff !important;
        }

        @media (min-width: 1024px) {
            .header .nav-container {
                gap: .75rem !important;
            }

            .header .logo {
                flex: 0 1 390px !important;
                max-width: 390px !important;
            }

            .header .logo .header-school-name {
                max-width: 315px !important;
                font-size: .78rem !important;
                line-height: 1.12 !important;
            }

            .header .menu-toggle {
                display: none !important;
            }

            .header .nav-menu {
                display: flex !important;
                flex: 1 1 auto !important;
                justify-content: flex-end !important;
                min-width: 0 !important;
            }

            .header .nav-menu > ul {
                flex-wrap: nowrap !important;
                justify-content: flex-end !important;
                gap: .12rem !important;
            }

            .header .nav-link {
                min-height: 36px !important;
                padding: .42rem .52rem !important;
                font-size: .74rem !important;
                white-space: nowrap !important;
            }
        }

        @media (min-width: 1380px) {
            .header .logo {
                flex-basis: 470px !important;
                max-width: 470px !important;
            }

            .header .logo .header-school-name {
                max-width: 395px !important;
                font-size: .86rem !important;
            }

            .header .nav-link {
                padding-left: .68rem !important;
                padding-right: .68rem !important;
                font-size: .82rem !important;
            }
        }

        /* Desktop: menu sempre horizontal no PC */
        @media (min-width: 901px) {
            .header .nav-container {
                display: flex !important;
                flex-direction: row !important;
                align-items: center !important;
                justify-content: space-between !important;
                flex-wrap: nowrap !important;
                gap: .75rem !important;
            }

            .header .logo {
                display: inline-flex !important;
                flex: 0 1 420px !important;
                max-width: 420px !important;
                min-width: 0 !important;
            }

            .header .logo .header-school-name {
                max-width: 340px !important;
                font-size: clamp(.72rem, .85vw, .9rem) !important;
                line-height: 1.12 !important;
            }

            .header .nav-menu {
                display: flex !important;
                flex: 1 1 auto !important;
                min-width: 0 !important;
                justify-content: flex-end !important;
                align-items: center !important;
            }

            .header .nav-menu > ul {
                display: flex !important;
                flex-direction: row !important;
                align-items: center !important;
                justify-content: flex-end !important;
                flex-wrap: nowrap !important;
                gap: .12rem !important;
                width: auto !important;
                margin: 0 !important;
                padding: 0 !important;
            }

            .header .nav-menu > ul > li {
                display: inline-flex !important;
                width: auto !important;
                margin: 0 !important;
                padding: 0 !important;
            }

            .header .nav-link {
                display: inline-flex !important;
                width: auto !important;
                min-height: 36px !important;
                padding: .42rem .5rem !important;
                white-space: nowrap !important;
                font-size: .74rem !important;
                line-height: 1 !important;
            }

            .header .menu-toggle,
            .mobile-menu,
            .mobile-overlay {
                display: none !important;
            }
        }

        @media (min-width: 1280px) {
            .header .logo {
                flex-basis: 470px !important;
                max-width: 470px !important;
            }

            .header .logo .header-school-name {
                max-width: 390px !important;
                font-size: .86rem !important;
            }

            .header .nav-link {
                padding-left: .68rem !important;
                padding-right: .68rem !important;
                font-size: .82rem !important;
            }
        }

        /* Correção definitiva: PC/tablet em menu horizontal, mobile em menu lateral */
        @media (min-width: 768px) {
            body .header .nav-container {
                display: flex !important;
                flex-direction: row !important;
                align-items: center !important;
                justify-content: space-between !important;
                flex-wrap: nowrap !important;
                gap: .65rem !important;
            }

            body .header .logo {
                display: inline-flex !important;
                flex: 0 1 380px !important;
                max-width: 380px !important;
                min-width: 0 !important;
                align-items: center !important;
            }

            body .header .logo .header-school-name {
                flex: 1 1 auto !important;
                max-width: 300px !important;
                min-width: 0 !important;
                font-size: clamp(.68rem, .85vw, .86rem) !important;
                line-height: 1.12 !important;
            }

            body .header .nav-menu {
                display: flex !important;
                flex: 1 1 auto !important;
                min-width: 0 !important;
                align-items: center !important;
                justify-content: flex-end !important;
            }

            body .header .nav-menu ul,
            body .header .nav-menu > ul {
                display: flex !important;
                flex-direction: row !important;
                align-items: center !important;
                justify-content: flex-end !important;
                flex-wrap: nowrap !important;
                gap: .1rem !important;
                width: auto !important;
                margin: 0 !important;
                padding: 0 !important;
                list-style: none !important;
            }

            body .header .nav-menu li,
            body .header .nav-menu > ul > li {
                display: inline-flex !important;
                width: auto !important;
                margin: 0 !important;
                padding: 0 !important;
                flex: 0 0 auto !important;
            }

            body .header .nav-menu a,
            body .header .nav-link {
                display: inline-flex !important;
                width: auto !important;
                min-height: 34px !important;
                padding: .4rem .44rem !important;
                white-space: nowrap !important;
                font-size: .7rem !important;
                line-height: 1 !important;
            }

            body .header .menu-toggle,
            body .mobile-menu,
            body .mobile-overlay {
                display: none !important;
            }
        }

        @media (min-width: 1200px) {
            body .header .logo {
                flex-basis: 450px !important;
                max-width: 450px !important;
            }

            body .header .logo .header-school-name {
                max-width: 370px !important;
                font-size: .82rem !important;
            }

            body .header .nav-menu a,
            body .header .nav-link {
                padding-left: .62rem !important;
                padding-right: .62rem !important;
                font-size: .78rem !important;
            }
        }

        /* Cabecalho igual a referencia do ZIP: logo, nome e menu */
        .header .logo {
            flex: 0 0 auto !important;
            max-width: none !important;
        }

        .header > .container,
        .header .nav-container {
            width: 100% !important;
        }

        .header .nav-container > .header-school-name {
            display: block !important;
            flex: 1 1 280px !important;
            min-width: 220px !important;
            max-width: 430px !important;
            margin: 0 !important;
            color: #0f4f91 !important;
            font-size: clamp(.78rem, 1.1vw, .95rem) !important;
            font-weight: 900 !important;
            line-height: 1.25 !important;
            text-transform: uppercase !important;
            letter-spacing: .02em !important;
        }

        @media (min-width: 768px) {
            body .header .nav-container {
                justify-content: space-between !important;
                gap: .85rem !important;
            }

            body .header .logo {
                flex: 0 0 auto !important;
                max-width: none !important;
            }

            body .header .nav-container > .header-school-name {
                flex: 1 1 320px !important;
                max-width: 430px !important;
            }

            body .header .nav-menu {
                flex: 1 1 auto !important;
                justify-content: flex-end !important;
            }
        }

        @media (max-width: 767px) {
            .header .nav-container {
                flex-wrap: nowrap !important;
            }

            .header .nav-container > .header-school-name {
                flex: 1 1 auto !important;
                min-width: 0 !important;
                max-width: calc(100% - 110px) !important;
                font-size: .72rem !important;
                line-height: 1.16 !important;
            }
        }
    
        /* Submenu da area A Escola */
        body .header .nav-menu .has-submenu {
            position: relative !important;
        }

        body .header .nav-menu .has-submenu > .nav-link i {
            margin-left: .25rem !important;
            font-size: .65em !important;
        }

        body .header .nav-menu .submenu {
            position: absolute !important;
            top: calc(100% + .45rem) !important;
            left: 0 !important;
            z-index: 1200 !important;
            display: flex !important;
            flex-direction: column !important;
            align-items: stretch !important;
            justify-content: flex-start !important;
            gap: 0 !important;
            min-width: 210px !important;
            width: max-content !important;
            margin: 0 !important;
            padding: .45rem !important;
            list-style: none !important;
            border: 1px solid var(--tw-sigep-line) !important;
            border-radius: 14px !important;
            background: #ffffff !important;
            box-shadow: var(--tw-shadow) !important;
            opacity: 0 !important;
            visibility: hidden !important;
            transform: translateY(8px) !important;
            pointer-events: none !important;
            transition: opacity .2s ease, transform .2s ease, visibility .2s ease !important;
        }

        body .header .nav-menu .has-submenu:hover > .submenu,
        body .header .nav-menu .has-submenu:focus-within > .submenu {
            opacity: 1 !important;
            visibility: visible !important;
            transform: translateY(0) !important;
            pointer-events: auto !important;
        }

        body .header .nav-menu .submenu li {
            display: block !important;
            width: 100% !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        body .header .nav-menu .submenu a {
            display: flex !important;
            width: 100% !important;
            min-height: 38px !important;
            align-items: center !important;
            padding: .65rem .8rem !important;
            border-radius: 10px !important;
            color: var(--tw-sigep-ink) !important;
            font-size: .86rem !important;
            font-weight: 800 !important;
            white-space: nowrap !important;
        }

        body .header .nav-menu .submenu a:hover,
        body .header .nav-menu .submenu a:focus {
            background: var(--tw-sigep-sky) !important;
            color: var(--tw-sigep-blue) !important;
        }

        .mobile-menu .has-submenu > .nav-link i {
            margin-left: .35rem !important;
            font-size: .75em !important;
        }

        .mobile-menu .submenu {
            position: static !important;
            display: none !important;
            margin: .25rem 0 .75rem 1rem !important;
            padding: .35rem 0 .35rem .75rem !important;
            border-left: 2px solid var(--tw-sigep-line) !important;
            background: transparent !important;
            box-shadow: none !important;
            opacity: 1 !important;
            visibility: visible !important;
            transform: none !important;
        }

        .mobile-menu .nav-item.active > .submenu {
            display: block !important;
        }

        /* Acabamento visual dos submenus do portal */
        body .header .nav-menu .submenu {
            min-width: 240px !important;
            padding: .55rem !important;
            border-radius: 16px !important;
            border-top: 3px solid var(--tw-sigep-blue) !important;
            box-shadow: 0 18px 42px rgba(15, 35, 65, .18) !important;
        }

        body .header .nav-menu .quick-access > .submenu {
            right: 0 !important;
            left: auto !important;
            min-width: 292px !important;
        }

        body .header .nav-menu .submenu::before {
            content: "" !important;
            position: absolute !important;
            top: -8px !important;
            left: 22px !important;
            width: 14px !important;
            height: 14px !important;
            background: #ffffff !important;
            border-left: 1px solid var(--tw-sigep-line) !important;
            border-top: 1px solid var(--tw-sigep-line) !important;
            transform: rotate(45deg) !important;
        }

        body .header .nav-menu .quick-access > .submenu::before {
            left: auto !important;
            right: 28px !important;
        }

        body .header .nav-menu .submenu-section {
            display: flex !important;
            align-items: center !important;
            gap: .5rem !important;
            margin: .15rem .2rem .35rem !important;
            padding: .55rem .65rem !important;
            border-radius: 10px !important;
            background: var(--tw-sigep-sky) !important;
            color: var(--tw-sigep-blue) !important;
            font-size: .72rem !important;
            font-weight: 900 !important;
            letter-spacing: .08em !important;
            text-transform: uppercase !important;
        }

        body .header .nav-menu .submenu-divider {
            height: 1px !important;
            margin: .45rem .35rem !important;
            padding: 0 !important;
            background: var(--tw-sigep-line) !important;
        }

        body .header .nav-menu .submenu a {
            gap: .55rem !important;
            margin: .08rem 0 !important;
            transition: background .2s ease, color .2s ease, transform .2s ease !important;
        }

        body .header .nav-menu .submenu a i {
            width: 18px !important;
            min-width: 18px !important;
            color: var(--tw-sigep-blue) !important;
            text-align: center !important;
        }

        body .header .nav-menu .submenu a:hover,
        body .header .nav-menu .submenu a:focus {
            transform: translateX(3px) !important;
        }

        .mobile-menu .submenu {
            border-left-color: var(--tw-sigep-blue) !important;
            border-radius: 0 !important;
        }

        .mobile-menu .submenu-section {
            display: flex !important;
            align-items: center !important;
            gap: .5rem !important;
            margin: .35rem 0 !important;
            padding: .5rem .65rem !important;
            border-radius: 10px !important;
            background: var(--tw-sigep-sky) !important;
            color: var(--tw-sigep-blue) !important;
            font-size: .72rem !important;
            font-weight: 900 !important;
            letter-spacing: .08em !important;
            text-transform: uppercase !important;
        }

        .mobile-menu .submenu-divider {
            height: 1px !important;
            margin: .55rem .25rem !important;
            background: var(--tw-sigep-line) !important;
        }

        .mobile-menu .submenu a {
            display: flex !important;
            align-items: center !important;
            gap: .55rem !important;
            padding: .65rem .7rem !important;
            border-radius: 10px !important;
            font-weight: 800 !important;
        }

        /* Menu principal alinhado ao comportamento do ZIP de referencia */
        body.portal-home .header {
            background: #ffffff !important;
            border-bottom: 3px solid #1e6fc0 !important;
        }

        body.portal-home .header > .container {
            max-width: 1280px !important;
            padding: 0 24px !important;
        }

        body.portal-home .header .nav-container {
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            gap: .8rem !important;
            min-height: 74px !important;
            padding: .65rem 0 !important;
            flex-wrap: wrap !important;
        }

        body.portal-home .header .logo {
            display: inline-flex !important;
            align-items: center !important;
            flex: 0 0 auto !important;
            min-width: 0 !important;
            max-width: none !important;
            gap: 12px !important;
            text-decoration: none !important;
        }

        body.portal-home .header .logo-img {
            width: auto !important;
            height: 50px !important;
            max-width: 58px !important;
            object-fit: contain !important;
            flex: 0 0 auto !important;
        }

        body.portal-home .header .logo-text {
            display: none !important;
        }

        body.portal-home .header .nav-container > .header-school-name {
            display: block !important;
            flex: 0 1 360px !important;
            min-width: 210px !important;
            max-width: 390px !important;
            margin: 0 !important;
            color: #0f4f91 !important;
            font-size: clamp(.74rem, .95vw, .9rem) !important;
            font-weight: 900 !important;
            line-height: 1.2 !important;
            text-transform: uppercase !important;
            letter-spacing: .01em !important;
        }

        body.portal-home .header ul.nav-menu {
            display: flex !important;
            flex: 1 1 auto !important;
            align-items: center !important;
            justify-content: flex-end !important;
            gap: .2rem !important;
            width: auto !important;
            margin: 0 !important;
            padding: 0 !important;
            list-style: none !important;
            flex-wrap: nowrap !important;
        }

        body.portal-home .header .header-buttons {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-end !important;
            gap: 12px !important;
            flex: 0 1 auto !important;
            margin-left: auto !important;
            flex-wrap: wrap !important;
        }

        body.portal-home .header .header-buttons .btn-outline,
        body.portal-home .header .header-buttons .btn-primary {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 8px !important;
            min-height: 40px !important;
            padding: 8px 18px !important;
            border-radius: 40px !important;
            font-size: .82rem !important;
            font-weight: 800 !important;
            line-height: 1 !important;
            white-space: nowrap !important;
            text-decoration: none !important;
        }

        body.portal-home .header .header-buttons .btn-outline {
            border: 2px solid #1e6fc0 !important;
            background: #ffffff !important;
            color: #1e6fc0 !important;
        }

        body.portal-home .header .header-buttons .btn-primary {
            border: 2px solid #1e6fc0 !important;
            background: linear-gradient(135deg, #1e6fc0, #0f4f91) !important;
            color: #ffffff !important;
            box-shadow: 0 8px 18px rgba(30, 111, 192, .22) !important;
        }

        body.portal-home .header ul.nav-menu > li {
            display: flex !important;
            align-items: center !important;
            width: auto !important;
            margin: 0 !important;
            padding: 0 !important;
            flex: 0 0 auto !important;
            position: relative !important;
        }

        body.portal-home .header ul.nav-menu > li > .nav-link {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            min-height: 36px !important;
            width: auto !important;
            padding: .45rem .5rem !important;
            border-radius: 999px !important;
            color: #223047 !important;
            font-size: .78rem !important;
            font-weight: 800 !important;
            line-height: 1 !important;
            text-decoration: none !important;
            white-space: nowrap !important;
        }

        body.portal-home .header ul.nav-menu > li > .nav-link:hover,
        body.portal-home .header ul.nav-menu > li > .nav-link:focus {
            background: #eef5ff !important;
            color: #1e6fc0 !important;
        }

        @media (max-width: 1180px) and (min-width: 992px) {
            body.portal-home .header .nav-container > .header-school-name {
                flex-basis: 285px !important;
                min-width: 190px !important;
                font-size: .68rem !important;
            }

            body.portal-home .header ul.nav-menu > li > .nav-link {
                padding-left: .34rem !important;
                padding-right: .34rem !important;
                font-size: .68rem !important;
            }

            body.portal-home .header .header-buttons .btn-outline,
            body.portal-home .header .header-buttons .btn-primary {
                padding-left: .7rem !important;
                padding-right: .7rem !important;
                font-size: .7rem !important;
            }
        }

        @media (max-width: 991px) {
            body.portal-home .header .nav-container {
                min-height: 68px !important;
            }

            body.portal-home .header .nav-container > .header-school-name {
                flex: 1 1 auto !important;
                min-width: 0 !important;
                max-width: none !important;
                font-size: .74rem !important;
            }

            body.portal-home .header ul.nav-menu {
                display: none !important;
            }

            body.portal-home .header .header-buttons {
                display: none !important;
            }

            body.portal-home .header .menu-toggle {
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                width: 42px !important;
                height: 42px !important;
                flex: 0 0 auto !important;
            }
        }

        @media (max-width: 420px) {
            body.portal-home .header > .container {
                padding-left: 14px !important;
                padding-right: 14px !important;
            }

            body.portal-home .header .logo-img {
                height: 44px !important;
                max-width: 50px !important;
            }

            body.portal-home .header .nav-container > .header-school-name {
                font-size: .65rem !important;
                line-height: 1.15 !important;
            }
        }

        /* Mobile-first igual ao portal online: nome ao lado do logo e acessos visiveis */
        @media (max-width: 900px) {
            body.portal-home .header > .container {
                padding-left: 14px !important;
                padding-right: 18px !important;
            }

            body.portal-home .header .nav-container {
                align-items: center !important;
                justify-content: space-between !important;
                min-height: 132px !important;
                padding: .8rem 0 !important;
                gap: 1rem !important;
                flex-wrap: wrap !important;
            }

            body.portal-home .header .logo {
                order: 1 !important;
                flex: 0 0 auto !important;
            }

            body.portal-home .header .logo-img {
                height: 50px !important;
                max-width: 58px !important;
            }

            body.portal-home .header .nav-container > .header-school-name {
                order: 2 !important;
                flex: 1 1 calc(100% - 74px) !important;
                min-width: 0 !important;
                max-width: none !important;
                font-size: .8rem !important;
                line-height: 1.25 !important;
            }

            body.portal-home .header ul.nav-menu {
                display: none !important;
            }

            body.portal-home .header .header-buttons {
                order: 3 !important;
                display: flex !important;
                flex: 0 1 auto !important;
                align-items: center !important;
                justify-content: flex-start !important;
                gap: 12px !important;
                margin-left: 0 !important;
                max-width: calc(100% - 68px) !important;
                flex-wrap: wrap !important;
            }

            body.portal-home .header .header-buttons .btn-outline,
            body.portal-home .header .header-buttons .btn-primary {
                min-height: 40px !important;
                padding: 8px 18px !important;
                font-size: .85rem !important;
            }

            body.portal-home .header .menu-toggle {
                order: 4 !important;
                display: block !important;
                width: auto !important;
                height: auto !important;
                padding: 0 !important;
                margin-left: auto !important;
                color: #1a2a3a !important;
                font-size: 1.8rem !important;
                line-height: 1 !important;
                background: none !important;
                border: 0 !important;
            }
        }

        @media (max-width: 430px) {
            body.portal-home .header .nav-container > .header-school-name {
                font-size: .68rem !important;
            }

            body.portal-home .header .header-buttons {
                gap: 8px !important;
                max-width: calc(100% - 54px) !important;
            }

            body.portal-home .header .header-buttons .btn-outline,
            body.portal-home .header .header-buttons .btn-primary {
                padding-left: .72rem !important;
                padding-right: .72rem !important;
                font-size: .72rem !important;
            }
        }

        /* Desktop igual ao portal online: logo + nome + menu na primeira linha */
        @media (min-width: 901px) {
            body.portal-home .header .nav-container {
                align-items: center !important;
                justify-content: space-between !important;
                min-height: 132px !important;
                padding: .8rem 0 !important;
                gap: 1rem !important;
                flex-wrap: wrap !important;
            }

            body.portal-home .header .logo {
                order: 1 !important;
                flex: 0 0 auto !important;
            }

            body.portal-home .header .nav-container > .header-school-name {
                order: 2 !important;
                flex: 1 1 260px !important;
                min-width: 260px !important;
                max-width: 430px !important;
                font-size: clamp(.78rem, 1.1vw, .95rem) !important;
                line-height: 1.25 !important;
            }

            body.portal-home .header ul.nav-menu {
                order: 3 !important;
                display: flex !important;
                flex: 0 1 auto !important;
                align-items: center !important;
                justify-content: flex-end !important;
                gap: 1.5rem !important;
                width: auto !important;
                margin: 0 !important;
                padding: 0 !important;
                list-style: none !important;
                flex-wrap: wrap !important;
            }

            body.portal-home .header ul.nav-menu > li {
                display: block !important;
                width: auto !important;
                flex: 0 0 auto !important;
            }

            body.portal-home .header ul.nav-menu > li > .nav-link {
                display: inline !important;
                min-height: 0 !important;
                padding: 0 !important;
                border-radius: 0 !important;
                background: transparent !important;
                color: #333333 !important;
                font-size: .95rem !important;
                font-weight: 500 !important;
                line-height: 1.5 !important;
                white-space: nowrap !important;
            }

            body.portal-home .header ul.nav-menu > li > .nav-link:hover,
            body.portal-home .header ul.nav-menu > li > .nav-link:focus {
                background: transparent !important;
                color: #1e6fc0 !important;
            }

            body.portal-home .header .header-buttons {
                order: 4 !important;
                display: flex !important;
                flex: 0 1 auto !important;
                width: auto !important;
                max-width: none !important;
                align-items: center !important;
                justify-content: flex-start !important;
                gap: 12px !important;
                margin-left: 0 !important;
                flex-wrap: wrap !important;
            }

            body.portal-home .header .menu-toggle {
                display: none !important;
            }
        }

        /* Submenus iguais ao portal online: simples, limpos e sem seta decorativa */
        body.portal-home .header ul.nav-menu .submenu {
            position: absolute !important;
            top: 100% !important;
            left: 0 !important;
            right: auto !important;
            z-index: 1000 !important;
            display: block !important;
            min-width: 240px !important;
            width: auto !important;
            margin: 0 !important;
            padding: 0 !important;
            list-style: none !important;
            background: #ffffff !important;
            border: 0 !important;
            border-top: 3px solid #1e6fc0 !important;
            border-radius: 12px !important;
            box-shadow: 0 15px 30px rgba(0, 0, 0, .1) !important;
            opacity: 0 !important;
            visibility: hidden !important;
            transform: translateY(-10px) !important;
            pointer-events: none !important;
            overflow: hidden !important;
            transition: all .3s ease !important;
        }

        body.portal-home .header ul.nav-menu .quick-access > .submenu {
            left: auto !important;
            right: 0 !important;
            min-width: 240px !important;
        }

        body.portal-home .header ul.nav-menu .has-submenu:hover > .submenu,
        body.portal-home .header ul.nav-menu .has-submenu:focus-within > .submenu {
            opacity: 1 !important;
            visibility: visible !important;
            transform: translateY(0) !important;
            pointer-events: auto !important;
        }

        body.portal-home .header ul.nav-menu .submenu::before {
            display: none !important;
            content: none !important;
        }

        body.portal-home .header ul.nav-menu .submenu li {
            display: block !important;
            width: 100% !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        body.portal-home .header ul.nav-menu .submenu li a {
            display: block !important;
            width: 100% !important;
            min-height: 0 !important;
            margin: 0 !important;
            padding: 12px 18px !important;
            border-radius: 0 !important;
            border-bottom: 1px solid #f0f0f0 !important;
            background: transparent !important;
            color: #333333 !important;
            font-size: .9rem !important;
            font-weight: 400 !important;
            line-height: 1.4 !important;
            text-decoration: none !important;
            white-space: nowrap !important;
            transform: none !important;
            transition: background .3s ease, color .3s ease !important;
        }

        body.portal-home .header ul.nav-menu .submenu li a:hover,
        body.portal-home .header ul.nav-menu .submenu li a:focus {
            background: #eef2ff !important;
            color: #1e6fc0 !important;
            transform: none !important;
        }

        body.portal-home .header ul.nav-menu .submenu li a i {
            width: auto !important;
            min-width: 0 !important;
            margin-right: .35rem !important;
            color: inherit !important;
            text-align: left !important;
        }

        body.portal-home .header ul.nav-menu .submenu > li.submenu-section,
        body.portal-home .header ul.nav-menu .submenu-section {
            display: block !important;
            margin: 0 !important;
            padding: 10px 16px !important;
            border-radius: 0 !important;
            background: #f0f4ff !important;
            color: #1e6fc0 !important;
            font-size: .75rem !important;
            font-weight: 800 !important;
            line-height: 1.4 !important;
            letter-spacing: 1px !important;
            text-transform: uppercase !important;
        }

        body.portal-home .header ul.nav-menu .submenu-section i {
            margin-right: .35rem !important;
        }

        body.portal-home .header ul.nav-menu .submenu > li.submenu-divider,
        body.portal-home .header ul.nav-menu .submenu-divider {
            display: block !important;
            height: 0 !important;
            margin: 6px 0 !important;
            padding: 0 !important;
            border: 0 !important;
            border-top: 1px solid #e0e0e0 !important;
            background: transparent !important;
        }

        /* Area final profissional: indicadores, redes, contactos e rodape */
        .portal-final {
            padding: 4.75rem 0 0 !important;
            background:
                linear-gradient(180deg, #f8fbff 0%, #eef5fb 48%, #e9f1f8 100%) !important;
            border-top: 1px solid #d6e1ee !important;
        }

        .portal-final .stats-section {
            padding: 0 !important;
            margin: 0 0 1.25rem !important;
            background: transparent !important;
            border: 0 !important;
        }

        .portal-final .stats-grid {
            display: grid !important;
            grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
            gap: 1rem !important;
            text-align: left !important;
        }

        .portal-final .stat-card,
        .portal-final .stats-grid > div {
            position: relative !important;
            overflow: hidden !important;
            min-height: 118px !important;
            padding: 1.25rem 1.35rem !important;
            border: 1px solid rgba(30, 111, 192, .16) !important;
            border-radius: 18px !important;
            background: #ffffff !important;
            box-shadow: 0 16px 36px rgba(15, 35, 65, .08) !important;
        }

        .portal-final .stat-card::before {
            content: "" !important;
            position: absolute !important;
            inset: 0 auto 0 0 !important;
            width: 5px !important;
            background: linear-gradient(180deg, #1e6fc0, #69a8ff) !important;
        }

        .portal-final .stat-number {
            color: #0f4f91 !important;
            font-size: clamp(2rem, 4vw, 2.85rem) !important;
            font-weight: 900 !important;
            line-height: 1 !important;
            letter-spacing: 0 !important;
            margin-bottom: .55rem !important;
        }

        .portal-final .stat-label {
            color: #485f78 !important;
            font-size: .9rem !important;
            font-weight: 900 !important;
            text-transform: uppercase !important;
            letter-spacing: .04em !important;
        }

        .portal-final .social-feed {
            padding: 1.1rem 1.2rem !important;
            margin: 0 0 2.25rem !important;
            border: 1px solid rgba(30, 111, 192, .16) !important;
            border-radius: 18px !important;
            background: #10243a !important;
            color: #ffffff !important;
            box-shadow: 0 16px 34px rgba(15, 35, 65, .12) !important;
        }

        .portal-final .social-feed-row {
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            gap: 1rem !important;
            flex-wrap: wrap !important;
        }

        .portal-final .social-feed-title {
            display: inline-flex !important;
            align-items: center !important;
            gap: .6rem !important;
            color: #e8f2ff !important;
            font-size: 1rem !important;
            font-weight: 900 !important;
        }

        .portal-final .social-feed-after-map {
            margin: 2.25rem 0 0 !important;
        }

        .portal-final .social-buttons {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-end !important;
            gap: .75rem !important;
            flex-wrap: wrap !important;
        }

        .portal-final .social-btn {
            min-height: 42px !important;
            min-width: 42px !important;
            padding: .65rem .95rem !important;
            border: 1px solid rgba(255, 255, 255, .16) !important;
            border-radius: 999px !important;
            box-shadow: none !important;
            font-size: .88rem !important;
            font-weight: 900 !important;
        }

        .portal-final .contact {
            padding: 0 !important;
            background: transparent !important;
            border: 0 !important;
        }

        .portal-final .contact-heading {
            max-width: 760px !important;
            margin: 0 auto 2rem !important;
            text-align: center !important;
        }

        .portal-final .contact .section-title {
            margin-bottom: .65rem !important;
        }

        .portal-final .contact-grid {
            display: grid !important;
            grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr) !important;
            gap: 1.4rem !important;
            align-items: start !important;
        }

        .portal-final .contact-info {
            display: grid !important;
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            gap: 1rem !important;
        }

        .portal-final .contact-card {
            min-height: 150px !important;
            padding: 1.2rem !important;
            border: 1px solid rgba(30, 111, 192, .14) !important;
            border-radius: 18px !important;
            background: rgba(255, 255, 255, .92) !important;
            text-align: left !important;
            box-shadow: 0 14px 30px rgba(15, 35, 65, .07) !important;
        }

        .portal-final .contact-card-wide {
            grid-column: 1 / -1 !important;
            min-height: 0 !important;
        }

        .portal-final .contact-card i {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 42px !important;
            height: 42px !important;
            margin: 0 0 .9rem !important;
            border-radius: 14px !important;
            background: #eef5ff !important;
            color: #1e6fc0 !important;
            font-size: 1.15rem !important;
        }

        .portal-final .contact-card h4 {
            margin: 0 0 .45rem !important;
            color: #10243a !important;
            font-size: .92rem !important;
            font-weight: 900 !important;
        }

        .portal-final .contact-card p {
            margin: 0 !important;
            color: #4a5f78 !important;
            font-size: .92rem !important;
            line-height: 1.58 !important;
            overflow-wrap: anywhere !important;
        }

        .portal-final .contact-form {
            position: sticky !important;
            top: 150px !important;
        }

        .portal-final .contact-form form {
            padding: 1.35rem !important;
            border: 1px solid rgba(30, 111, 192, .16) !important;
            border-radius: 22px !important;
            background: #ffffff !important;
            box-shadow: 0 18px 42px rgba(15, 35, 65, .11) !important;
        }

        .portal-final .contact-form-title {
            display: flex !important;
            align-items: center !important;
            gap: .65rem !important;
            margin-bottom: 1rem !important;
            color: #10243a !important;
            font-weight: 900 !important;
        }

        .portal-final .contact-form-title i {
            color: #1e6fc0 !important;
        }

        .portal-final .contact-form input,
        .portal-final .contact-form textarea {
            display: block !important;
            width: 100% !important;
            margin: 0 0 .85rem !important;
            padding: .9rem 1rem !important;
            border: 1px solid #c9d7e8 !important;
            border-radius: 14px !important;
            background: #f8fbff !important;
            color: #10243a !important;
            font: inherit !important;
        }

        .portal-final .contact-form textarea {
            min-height: 132px !important;
            resize: vertical !important;
        }

        .portal-final .contact-form button {
            width: 100% !important;
            min-height: 46px !important;
            border: 0 !important;
            cursor: pointer !important;
        }

        .footer {
            background: #10243a !important;
            color: #c7d4e6 !important;
            padding: 2rem 0 !important;
            text-align: center !important;
            border-top: 1px solid rgba(255, 255, 255, .08) !important;
        }

        .footer p {
            margin: .25rem 0 !important;
            line-height: 1.55 !important;
        }

        .footer strong {
            color: #ffffff !important;
        }

        @media (max-width: 900px) {
            .portal-final {
                padding-top: 3.2rem !important;
            }

            .portal-final .stats-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            }

            .portal-final .social-feed-row {
                align-items: flex-start !important;
                flex-direction: column !important;
            }

            .portal-final .social-buttons {
                justify-content: flex-start !important;
            }

            .portal-final .contact-grid {
                grid-template-columns: 1fr !important;
            }

            .portal-final .contact-form {
                position: static !important;
            }
        }

        @media (max-width: 560px) {
            .portal-final .stats-grid,
            .portal-final .contact-info {
                grid-template-columns: 1fr !important;
            }

            .portal-final .stat-card,
            .portal-final .stats-grid > div {
                min-height: 104px !important;
            }

            .portal-final .social-feed,
            .portal-final .contact-form form {
                border-radius: 16px !important;
            }

            .portal-final .social-btn {
                flex: 1 1 calc(50% - .5rem) !important;
            }
        }

        .portal-final .social-feed {
            position: relative !important;
            overflow: hidden !important;
            padding: 1.2rem !important;
            border: 1px solid rgba(30, 111, 192, .18) !important;
            border-radius: 22px !important;
            background:
                linear-gradient(135deg, rgba(16, 36, 58, .98), rgba(13, 66, 108, .96)) !important;
            box-shadow: 0 18px 42px rgba(15, 35, 65, .16) !important;
        }

        .portal-final .social-feed::before {
            content: "" !important;
            position: absolute !important;
            inset: 0 auto 0 0 !important;
            width: 5px !important;
            background: linear-gradient(180deg, #38bdf8, #22c55e, #ef4444) !important;
        }

        .portal-final .social-feed-row {
            position: relative !important;
            z-index: 1 !important;
            display: grid !important;
            grid-template-columns: minmax(190px, .42fr) minmax(0, 1fr) !important;
            align-items: center !important;
            gap: 1.15rem !important;
        }

        .portal-final .social-feed-title {
            align-self: stretch !important;
            display: flex !important;
            align-items: center !important;
            gap: .75rem !important;
            min-height: 56px !important;
            color: #ffffff !important;
            font-size: 1.05rem !important;
            line-height: 1.2 !important;
            letter-spacing: 0 !important;
            white-space: nowrap !important;
        }

        .portal-final .social-feed-title i {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            flex: 0 0 42px !important;
            width: 42px !important;
            height: 42px !important;
            border-radius: 14px !important;
            background: rgba(255, 255, 255, .12) !important;
            color: #bfdbfe !important;
        }

        .portal-final .social-buttons {
            display: grid !important;
            grid-template-columns: repeat(auto-fit, minmax(142px, 1fr)) !important;
            gap: .75rem !important;
            width: 100% !important;
        }

        .portal-final .social-btn {
            position: relative !important;
            justify-content: flex-start !important;
            gap: .7rem !important;
            width: 100% !important;
            min-width: 0 !important;
            min-height: 56px !important;
            padding: .7rem .85rem !important;
            border: 1px solid rgba(255, 255, 255, .18) !important;
            border-radius: 16px !important;
            background: rgba(255, 255, 255, .10) !important;
            color: #ffffff !important;
            box-shadow: 0 10px 22px rgba(0, 0, 0, .12) !important;
            text-align: left !important;
            transform: translateY(0) !important;
        }

        .portal-final .social-btn i {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            flex: 0 0 36px !important;
            width: 36px !important;
            height: 36px !important;
            border-radius: 12px !important;
            background: rgba(255, 255, 255, .16) !important;
            color: #ffffff !important;
            font-size: 1.08rem !important;
        }

        .portal-final .social-btn span {
            min-width: 0 !important;
            overflow: hidden !important;
            text-overflow: ellipsis !important;
            white-space: nowrap !important;
            line-height: 1.2 !important;
        }

        .portal-final .social-btn:hover,
        .portal-final .social-btn:focus {
            transform: translateY(-2px) !important;
            border-color: rgba(255, 255, 255, .36) !important;
            box-shadow: 0 16px 28px rgba(0, 0, 0, .18) !important;
            outline: none !important;
        }

        .portal-final .social-btn.facebook { background: linear-gradient(135deg, rgba(24, 119, 242, .96), rgba(11, 76, 168, .96)) !important; }
        .portal-final .social-btn.instagram { background: linear-gradient(135deg, #f97316, #db2777 55%, #7c3aed) !important; }
        .portal-final .social-btn.youtube { background: linear-gradient(135deg, #ef4444, #b91c1c) !important; }
        .portal-final .social-btn.whatsapp { background: linear-gradient(135deg, #16a34a, #047857) !important; }

        @media (max-width: 900px) {
            .portal-final .social-feed {
                padding: 1rem !important;
                border-radius: 20px !important;
            }

            .portal-final .social-feed-row {
                grid-template-columns: 1fr !important;
                gap: .95rem !important;
            }

            .portal-final .social-feed-title {
                min-height: 0 !important;
                white-space: normal !important;
            }

            .portal-final .social-buttons {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            }
        }

        @media (max-width: 420px) {
            .portal-final .social-buttons {
                grid-template-columns: 1fr !important;
            }

            .portal-final .social-btn {
                min-height: 54px !important;
            }
        }

        body.portal-home {
            background:
                linear-gradient(180deg, #f3f8ff 0%, #e9f2fb 42%, #edf7f4 100%) !important;
        }

        body.portal-home main {
            background: transparent !important;
        }

        body.portal-home .about,
        body.portal-home .team,
        body.portal-home .news,
        body.portal-home .components {
            background:
                linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
        }

        body.portal-home .school-showcase,
        body.portal-home .courses,
        body.portal-home .mural,
        body.portal-home .gallery {
            background:
                linear-gradient(180deg, #eaf4ff 0%, #f3f9ff 100%) !important;
        }

        body.portal-home .testimonials {
            background:
                linear-gradient(135deg, #10243a 0%, #0f4f91 100%) !important;
        }

        body.portal-home .portal-final {
            background:
                linear-gradient(180deg, #dcecf8 0%, #eef6f3 52%, #dbe8f3 100%) !important;
            border-top: 1px solid #bfd3e8 !important;
        }

        body.portal-home .section-title,
        body.portal-home .section-subtitle {
            position: relative !important;
            z-index: 1 !important;
        }

        body.portal-home .news-card,
        body.portal-home .team-card,
        body.portal-home .component-card,
        body.portal-home .gallery-overview-card,
        body.portal-home .portal-final .stat-card,
        body.portal-home .portal-final .contact-card,
        body.portal-home .portal-final .contact-form form {
            background: #ffffff !important;
            box-shadow: 0 18px 42px rgba(15, 35, 65, .10) !important;
        }

        /* Mobile compacto e menu lateral igual ao comportamento do portal online */
        @media (max-width: 900px) {
            body.portal-home .header .nav-container {
                min-height: 112px !important;
                padding: .55rem 0 .65rem !important;
                gap: .6rem !important;
            }

            body.portal-home .header .logo-img {
                height: 44px !important;
                max-width: 52px !important;
            }

            body.portal-home .header .nav-container > .header-school-name {
                flex-basis: calc(100% - 64px) !important;
                font-size: .68rem !important;
                line-height: 1.18 !important;
            }

            body.portal-home .header .header-buttons {
                max-width: calc(100% - 48px) !important;
                gap: 7px !important;
            }

            body.portal-home .header .header-buttons .btn-outline,
            body.portal-home .header .header-buttons .btn-primary {
                min-height: 34px !important;
                padding: .48rem .68rem !important;
                border-width: 1px !important;
                font-size: .68rem !important;
                line-height: 1 !important;
                box-shadow: none !important;
            }

            body.portal-home .header .header-buttons .btn-outline i,
            body.portal-home .header .header-buttons .btn-primary i {
                font-size: .82rem !important;
            }

            body.portal-home .header .menu-toggle {
                width: 34px !important;
                height: 34px !important;
                font-size: 1.45rem !important;
            }

            body.portal-home .mobile-overlay {
                position: fixed !important;
                inset: 0 !important;
                z-index: 1999 !important;
                display: none !important;
                background: rgba(0, 0, 0, .5) !important;
                backdrop-filter: none !important;
            }

            body.portal-home .mobile-overlay.active {
                display: block !important;
            }

            body.portal-home .mobile-menu {
                position: fixed !important;
                top: 0 !important;
                right: 0 !important;
                left: auto !important;
                z-index: 2000 !important;
                width: 80% !important;
                max-width: 320px !important;
                height: 100vh !important;
                padding: 80px 24px 30px !important;
                overflow-y: auto !important;
                background: #ffffff !important;
                box-shadow: 0 15px 30px rgba(0, 0, 0, .1) !important;
                transform: translateX(100%) !important;
                transition: transform .3s ease !important;
            }

            body.portal-home .mobile-menu.active {
                right: 0 !important;
                left: auto !important;
                transform: none !important;
            }

            body.portal-home .mobile-menu .close-menu {
                position: absolute !important;
                top: 15px !important;
                right: 20px !important;
                width: auto !important;
                height: auto !important;
                padding: 0 !important;
                border: 0 !important;
                border-radius: 0 !important;
                background: none !important;
                box-shadow: none !important;
                color: #1a2a3a !important;
                font-size: 1.8rem !important;
            }

            body.portal-home .mobile-menu ul {
                margin: 0 !important;
                padding: 0 !important;
                list-style: none !important;
            }

            body.portal-home .mobile-menu .nav-item {
                margin: 15px 0 !important;
            }

            body.portal-home .mobile-menu .nav-link {
                display: block !important;
                width: 100% !important;
                padding: 12px 0 !important;
                border-radius: 0 !important;
                background: transparent !important;
                color: #333333 !important;
                font-size: 1.1rem !important;
                font-weight: 500 !important;
                text-decoration: none !important;
            }

            body.portal-home .mobile-menu .submenu {
                position: static !important;
                display: none !important;
                margin: 8px 0 0 !important;
                padding-left: 20px !important;
                border: 0 !important;
                border-top: 0 !important;
                border-radius: 0 !important;
                background: transparent !important;
                box-shadow: none !important;
                opacity: 1 !important;
                visibility: visible !important;
                transform: none !important;
            }

            body.portal-home .mobile-menu .nav-item.active > .submenu {
                display: block !important;
            }

            body.portal-home .mobile-menu .submenu li {
                margin: 0 !important;
                padding: 0 !important;
            }

            body.portal-home .mobile-menu .submenu li a {
                display: block !important;
                padding: 10px 0 !important;
                border: 0 !important;
                background: transparent !important;
                color: #333333 !important;
                font-size: .95rem !important;
                font-weight: 500 !important;
                text-decoration: none !important;
            }
        }

        /* Hero desktop mais organizado; mobile mantém o comportamento atual */
        @media (min-width: 901px) {
            body.portal-home .hero {
                min-height: clamp(390px, 48vh, 520px) !important;
                padding: 3.6rem 0 3rem !important;
                align-items: center !important;
            }

            body.portal-home .hero::after {
                background:
                    linear-gradient(90deg, rgba(4, 15, 31, .82) 0%, rgba(7, 21, 38, .56) 42%, rgba(7, 21, 38, .08) 100%),
                    linear-gradient(180deg, rgba(7, 21, 38, .08), rgba(7, 21, 38, .36)) !important;
            }

            body.portal-home .hero .container {
                max-width: 1180px !important;
            }

            body.portal-home .hero-grid {
                display: grid !important;
                grid-template-columns: minmax(0, 760px) !important;
                align-items: center !important;
                min-height: 0 !important;
            }

            body.portal-home .hero-content {
                max-width: 760px !important;
            }

            body.portal-home .hero-copy-stage {
                min-height: 0 !important;
            }

            body.portal-home .hero-copy-badge {
                margin-bottom: .8rem !important;
                padding: .38rem .75rem !important;
                font-size: .72rem !important;
            }

            body.portal-home .hero-main-title {
                max-width: 760px !important;
                font-size: clamp(2rem, 3.6vw, 3.55rem) !important;
                line-height: 1.02 !important;
                margin-bottom: .75rem !important;
                text-wrap: balance !important;
            }

            body.portal-home .hero-main-title::after {
                width: min(140px, 28vw) !important;
                height: 3px !important;
                margin-top: .9rem !important;
            }

            body.portal-home .hero-slide-caption {
                max-width: 560px !important;
                margin-top: .95rem !important;
                padding: .78rem .95rem !important;
                gap: .2rem !important;
            }

            body.portal-home .hero-slide-caption-title {
                font-size: .92rem !important;
            }

            body.portal-home .hero-slide-text {
                font-size: .84rem !important;
                line-height: 1.48 !important;
            }

            body.portal-home .hero-slider-controls {
                right: 24px !important;
                bottom: 18px !important;
                left: auto !important;
                width: auto !important;
                padding: .55rem .65rem !important;
                border-radius: 999px !important;
            }

            body.portal-home .hero-slider-dot {
                width: 10px !important;
                height: 10px !important;
            }

            body.portal-home .hero-slider-dot.is-active {
                width: 26px !important;
            }

            body.portal-home .hero-slider-btn {
                width: 38px !important;
                height: 38px !important;
            }

            body.portal-home .hero-slide img {
                object-position: center center !important;
            }
        }
    
