        :root {
            --navy-deep: #0A1628;
            --navy-mid: #112240;
            --navy-light: #1A3A6B;
            --silver-metal: #B8C5D6;
            --silver-pale: #E8EEF4;
            --anthracite: #2C3142;
            --editorial-white: #F7F9FC;
            --accent-line: #4A7FB5;
            --nav-height: 70px;
            --soft-gray: #e3e9f1;
            --card-light-bg: rgba(255,255,255,0.88);
            --card-light-border: rgba(10,22,40,0.10);
            --muted-ink: #57687a;
            --grid-gap: 20px;
            
            --font-serif: 'Playfair Display', serif;
            --font-sans: 'DM Sans', sans-serif;
        }

        html { scroll-behavior: smooth; }

        body {
            font-family: var(--font-sans);
            background-color: var(--navy-deep);
            color: var(--silver-pale);
            overflow-x: hidden;
        }

        h1, h2, h3, h4, h5, h6, .font-serif {
            font-family: var(--font-serif);
        }

        .text-accent { color: var(--accent-line); }
        .text-silver { color: var(--silver-metal); }
        .text-pale { color: var(--silver-pale); }
        .text-anthracite { color: var(--anthracite); }
        .bg-navy-deep { background-color: var(--navy-deep); }
        .bg-navy-mid { background-color: var(--navy-mid); }
        .bg-editorial { background-color: var(--editorial-white); }
        
        /* Navbar */
        .navbar {
            transition: all 0.4s ease;
            padding: 1.5rem 3rem;
            background: transparent;
        }
        .navbar.scrolled {
            padding: 1rem 3rem;
            background: rgba(10,22,40,0.97) !important;
            backdrop-filter: blur(12px);
            border-bottom: 1px solid rgba(74,127,181,0.2);
        }
        .nav-link {
            color: var(--silver-metal) !important;
            font-size: 0.72rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            transition: color 0.2s;
        }
        .nav-link:hover { color: var(--silver-pale) !important; }
        .btn-consulta {
            padding: 0.6rem 1.5rem;
            border: 1px solid rgba(74,127,181,0.6);
            color: var(--silver-metal);
            font-size: 0.68rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            text-decoration: none;
            transition: all 0.25s;
        }
        .btn-consulta:hover {
            background: rgba(74,127,181,0.15);
            color: var(--silver-pale);
        }

        /* Hero */
        .hero-section {
            min-height: 100vh;
            position: relative;
            display: flex;
            align-items: center;
            padding: 0 3rem;
        }
        .hero-vertical-rule {
            position: absolute; left: 50%; top: 10%; bottom: 10%;
            width: 1px; background: linear-gradient(to bottom, transparent, rgba(74,127,181,0.25), transparent);
        }
        .hero-grid-line {
            position: absolute; top: 0; bottom: 0;
            width: 1px; background: rgba(74,127,181,0.06);
        }
        .btn-primary-custom {
            padding: 1rem 2.5rem;
            background: var(--navy-light);
            border: 1px solid var(--accent-line);
            color: var(--silver-pale);
            font-size: 0.72rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            text-decoration: none;
            transition: all 0.3s;
            display: inline-block;
        }
        .btn-primary-custom:hover { background: var(--accent-line); color: var(--silver-pale); }
        .btn-secondary-custom {
            padding: 1rem 2.5rem;
            border: 1px solid rgba(184,197,214,0.3);
            color: var(--silver-metal);
            font-size: 0.72rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            text-decoration: none;
            transition: all 0.3s;
            display: inline-block;
        }
        .btn-secondary-custom:hover {
            border-color: rgba(184,197,214,0.7);
            color: var(--silver-pale);
        }
        a.btn-secondary-light,
        .btn-secondary-light {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            padding: 1rem 2.5rem;
                       border: 1px solid rgba(26,58,107,0.35);
            background: rgba(26,58,107,0.04);
            color: var(--navy-deep);
            font-size: 0.72rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            text-decoration: none;
            transition: all 0.3s;
            font-weight: 800;
        }
        a.btn-secondary-light:hover,
        a.btn-secondary-light:hover,
        .btn-secondary-light:hover {
            background: rgba(26,58,107,0.10);
            border-color: rgba(26,58,107,0.55);
            color: var(--navy-deep);
        }

        /* Hairline */
        .hairline { height: 1px; background: var(--accent-line); opacity: 0.4; }

        .section-light { background: var(--editorial-white); color: var(--navy-deep); }
        .section-soft { background: var(--soft-gray); color: var(--navy-deep); }

        .container-max { max-width: 1200px; }
        .kicker { font-size: 0.62rem; letter-spacing: 0.28em; }
        .kicker-sm { font-size: 0.62rem; letter-spacing: 0.22em; }
        .section-title { color: var(--navy-deep); font-size: clamp(1.9rem, 3.2vw, 2.6rem); line-height: 1.2; }
        .section-title-light { color: var(--silver-pale); font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.2; }
        .hairline-soft { width: 64px; background: var(--navy-light); opacity: 0.25; }
        .lead-text { line-height: 1.9; margin: 0; }

        .hero-compact {
            min-height: 280px;
            display: flex;
            align-items: center;
            position: relative;
            padding: 0 3rem;
            background:
                radial-gradient(circle at 14% 22%, rgba(84,120,164,.14), transparent 26%),
                linear-gradient(180deg, rgba(10,22,40,.80), rgba(10,22,40,.85)),
                url('../img/1.jpg') center/cover no-repeat;
            background-blend-mode: normal, multiply, normal;
        }
        .hero-compact .hero-vertical-rule { top: 12%; bottom: 12%; }
        .hero-compact .hero-compact-inner { padding-top: calc(2rem + var(--nav-height)); }
        .breadcrumb-nav { font-size: 0.75rem; letter-spacing: 0.18em; text-transform: uppercase; }
        .hero-stats { border-top: 1px solid rgba(74,127,181,0.15); }
        .brand-logo { height: 60px; width: auto; display: block; }
        .whatsapp-float {
            position: fixed;
            right: 22px;
            bottom: calc(22px + env(safe-area-inset-bottom));
            width: 56px;
            height: 56px;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            z-index: 9999;
            background: #25D366;
            color: #ffffff;
            border: 0;
            box-shadow: 0 12px 30px rgba(10,22,40,0.24);
            transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
            text-decoration: none;
            isolation: isolate;
        }
        .whatsapp-float::before {
            content: "";
            position: absolute;
            inset: -8px;
            border-radius: 999px;
            background: rgba(37,211,102,0.18);
            opacity: 0;
            transform: scale(0.92);
            transition: opacity 0.2s ease, transform 0.2s ease;
            z-index: -1;
        }
        .whatsapp-float:hover {
            transform: translateY(-2px);
            box-shadow: 0 16px 38px rgba(10,22,40,0.28);
            filter: saturate(1.05);
        }
        .whatsapp-float:hover::before,
        .whatsapp-float:focus-visible::before {
            opacity: 1;
            transform: scale(1);
        }
        .whatsapp-float:focus-visible {
            outline: 2px solid rgba(37,211,102,0.45);
            outline-offset: 3px;
        }
        .whatsapp-icon {
            width: 28px;
            height: 28px;
            fill: currentColor;
            display: block;
            shape-rendering: geometricPrecision;
        }
        .whatsapp-label {
            position: absolute;
            right: calc(100% + 10px);
            top: 50%;
            transform: translateY(-50%) translateX(6px);
            background: rgba(7,15,28,0.92);
            border: 1px solid rgba(255,255,255,0.10);
            color: #E8EEF4;
            font-size: 0.72rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            padding: 10px 12px;
            border-radius: 999px;
            white-space: nowrap;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.2s ease, transform 0.2s ease;
        }
        .whatsapp-float:hover .whatsapp-label,
        .whatsapp-float:focus-visible .whatsapp-label {
            opacity: 1;
            transform: translateY(-50%) translateX(0);
        }

        .diferenciais-grid--spaced { background: transparent; gap: var(--grid-gap); }
        .dif-card-light {
            background: var(--card-light-bg);
            border: 1px solid var(--card-light-border);
            padding: 3rem 2.5rem;
            position: relative;
        }
        .dif-card-topline {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 2px;
            background: linear-gradient(to right, var(--accent-line), transparent);
        }
        .dif-topline-60 { opacity: 0.6; }
        .dif-topline-35 { opacity: 0.35; }
        .dif-num-light {
            font-size: 3rem;
            color: rgba(10,22,40,0.08);
            font-weight: 700;
            line-height: 1;
            margin-bottom: 1.5rem;
        }
        .dif-text-light { color: var(--muted-ink); font-size: 0.95rem; line-height: 1.8; }

        .info-card-light { background: rgba(255,255,255,0.86); border: 1px solid rgba(10,22,40,0.08); }
        .area-badge {
            font-size: 0.72rem;
            letter-spacing: 0.22em;
            font-weight: 800;
            font-family: var(--font-serif);
            display: inline-flex;
            align-items: center;
            padding: 8px 12px;
            border-radius: 999px;
            background: rgba(74,127,181,0.10);
            border: 1px solid rgba(74,127,181,0.24);
        }

        .timeline {
            margin-top: 2.5rem;
            padding-left: 1.25rem;
            border-left: 1px solid rgba(74,127,181,0.25);
        }
        .timeline-item {
            display: flex;
            align-items: flex-start;
            gap: 0.75rem;
            position: relative;
            padding: 0.35rem 0 0.85rem 0;
        }
        .timeline-item:last-child { padding-bottom: 0; }
        .timeline-item::before {
            content: "";
            position: absolute;
            left: calc(-1.25rem - 5px);
            top: 0.6rem;
            width: 10px;
            height: 10px;
            border-radius: 999px;
            background: rgba(74,127,181,0.22);
            border: 1px solid rgba(74,127,181,0.55);
        }
        .timeline-year {
            min-width: 2.8rem;
            padding-top: 0.05rem;
            font-size: 0.8rem;
            font-weight: 600;
            letter-spacing: 0.06em;
        }
        .timeline-text {
            font-size: 0.85rem;
            color: #6B7A8D;
            line-height: 1.5;
        }
        .quote-block {
            margin-top: 1.75rem;
            padding-left: 1.25rem;
            border-left: 2px solid var(--accent-line);
            font-size: 0.95rem;
            line-height: 1.9;
        }

        /* Galeria */
        .gallery-section { padding: 6.5rem 3rem; background: var(--navy-deep); position: relative; overflow: hidden; }
        .carousel-wrapper { position: relative; overflow: hidden; }
        .fade-left, .fade-right { position: absolute; top: 0; width: 120px; height: 100%; z-index: 2; pointer-events: none; }
        .fade-left { left: 0; background: linear-gradient(to right, var(--navy-deep), transparent); }
        .fade-right { right: 0; background: linear-gradient(to left, var(--navy-deep), transparent); }
        .carousel-track { display: flex; gap: var(--grid-gap); width: max-content; animation: carousel-scroll 28s linear infinite; }
        .carousel-wrapper:hover .carousel-track { animation-play-state: paused; }
        @keyframes carousel-scroll {
            from { transform: translateX(0); }
            to { transform: translateX(-50%); }
        }
        .carousel img {
            width: 240px;
            height: 320px;
            object-fit: cover;
            border-radius: 14px;
            transform: scale(0.95);
            opacity: 0.7;
            transition: 0.4s ease;
            border: 1px solid rgba(255,255,255,0.08);
        }
        .carousel img:hover { transform: scale(1); opacity: 1; }

        /* Equipe */
        .team-section { padding: 8rem 3rem; background: var(--editorial-white); }
        .team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--grid-gap); }
        @media (max-width: 991px){ .team-grid { grid-template-columns: 1fr; } }
        .team-card {
            background: rgba(255,255,255,0.92);
            border: 1px solid rgba(10,22,40,0.10);
            padding: 2rem;
            position: relative;
            transition: border-color 0.25s, transform 0.2s, box-shadow 0.25s;
        }
        .team-card:hover { border-color: rgba(74,127,181,0.35); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(10,22,40,0.08); }
        .team-card-topline {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 2px;
            background: linear-gradient(to right, var(--accent-line), transparent);
        }
        .team-photo-wrap {
            width: 100%;
            
            border-radius: 12px;
            border: 1px solid rgba(10,22,40,0.08);
            background: rgba(10,22,40,0.04);
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            position: relative;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .team-photo-wrap:hover,
        .team-photo-wrap:focus-within {
            transform: translateY(-2px);
            box-shadow: 0 10px 24px rgba(10,22,40,0.12);
        }
        .team-photo-wrap::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(to bottom, rgba(74,127,181,0.12), transparent 40%);
            opacity: 0;
            transition: opacity 0.3s ease;
            pointer-events: none;
        }
        .team-photo-wrap:hover::after,
        .team-photo-wrap:focus-within::after {
            opacity: 1;
        }
        .team-photo {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
            border-radius: 10px;
            transition: transform 0.3s ease, filter 0.3s ease;
        }
        .team-photo-wrap:hover .team-photo,
        .team-photo-wrap:focus-within .team-photo {
            transform: scale(1.04);
            filter: saturate(1.04) contrast(1.02);
        }
        .team-name { font-size: 1.05rem; color: var(--navy-deep); font-weight: 600; }
        .team-role { font-size: 0.62rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent-line); margin-bottom: 0.75rem; }
        .team-text { color: var(--anthracite); font-size: 0.95rem; line-height: 1.8; }
        .team-meta { color: #6B7A8D; font-size: 0.85rem; }
        .team-contact a { text-decoration: none; color: var(--navy-light); font-size: 0.85rem; }
        .team-badges { display: flex; gap: 0.5rem; flex-wrap: wrap; margin: 0.5rem 0 0.75rem; }
        .chip {
            display: inline-flex;
            align-items: center;
            padding: 6px 10px;
            border-radius: 999px;
            border: 1px solid rgba(74,127,181,0.24);
            background: rgba(74,127,181,0.10);
            font-size: 0.62rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: var(--accent-line);
        }

        /* Contato */
        .contact-page { padding: 8rem 3rem; background: var(--editorial-white); }
        .contact-card { background: rgba(255,255,255,0.92); border: 1px solid rgba(10,22,40,0.10); padding: 2rem; }
        .contact-item { display: flex; gap: 0.85rem; align-items: flex-start; color: var(--anthracite); }
        .contact-item strong { font-weight: 600; }
        .contact-link { color: var(--navy-light); text-decoration: none; }
        .contact-link:hover { text-decoration: underline; }
        .map-embed {
            width: 100%;
            height: 420px;
            border: 0;
            border-radius: 14px;
            overflow: hidden;
            box-shadow: 0 8px 24px rgba(10,22,40,0.10);
        }
        .contact-form-card { background: rgba(255,255,255,0.98); border: 1px solid rgba(10,22,40,0.10); padding: 2rem; border-radius: 8px; }
        .form-control, .form-select, .form-check-input, .form-control:focus, .form-select:focus { box-shadow: none; }
        .form-label { font-size: 0.85rem; color: var(--anthracite); }
        .form-check-label { color: var(--anthracite); }
        .help-text { font-size: 0.8rem; color: #6B7A8D; }
        .muted { color: #6B7A8D; }
        .legal-page { padding: 8rem 3rem; background: var(--editorial-white); }
        .legal-card { background: rgba(255,255,255,0.98); border: 1px solid rgba(10,22,40,0.10); padding: 2.25rem; border-radius: 8px; }
        .legal-card h2 { font-family: var(--font-serif); color: var(--navy-deep); font-size: 1.35rem; font-weight: 600; margin: 2rem 0 0.75rem; }
        .legal-card h2:first-child { margin-top: 0; }
        .legal-card p, .legal-card li { color: var(--anthracite); font-size: 0.95rem; line-height: 1.9; }
        .legal-card a { color: var(--navy-light); text-decoration: none; }
        .legal-card a:hover { text-decoration: underline; }

        /* Sobre */
        .sobre-section { padding: 8rem 3rem; position: relative; overflow: hidden; background: var(--editorial-white); }
        .sobre-section.section-soft { background: var(--soft-gray); }
        .big-letter {
            position: absolute; right: -2rem; top: 50%; transform: translateY(-50%);
            font-family: var(--font-serif); font-size: 28rem; color: rgba(10,22,40,0.04);
            line-height: 1; user-select: none; pointer-events: none; font-weight: 700;
        }
        .founder-card {
            background: white; border: 1px solid rgba(74,127,181,0.2);
            padding: 2rem; position: relative; transition: border-color 0.3s;
        }
        .founder-card:hover { border-color: rgba(74,127,181,0.6); }
        .founder-card::before {
            content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
            background: linear-gradient(to right, var(--accent-line), transparent);
        }

        /* Diferenciais */
        .diferenciais-section { padding: 8rem 3rem; background: var(--navy-deep); }
        .diferenciais-section.section-light { background: var(--editorial-white); color: var(--navy-deep); }
        .diferenciais-section.section-light2 { background: var(--navy-deep); color: var(--navy-deep); }
        .diferenciais-section.section-soft { background: var(--soft-gray); color: var(--navy-deep); }
        .diferenciais-grid { background: rgba(74,127,181,0.15); gap: 1px; display: grid; grid-template-columns: repeat(3, 1fr); }
        .diferenciais-grid.diferenciais-grid--spaced { background: transparent; gap: var(--grid-gap); }
        .dif-item { background: var(--navy-deep); padding: 3rem 2.5rem; position: relative; transition: background 0.3s; }
        .dif-item:hover { background: var(--navy-mid); }
        .dif-item-line { position: absolute; top: 0; left: 0; right: 0; height: 1px; background: transparent; transition: background 0.3s; }
        .dif-item:first-child .dif-item-line { background: var(--accent-line); }

        /* Atuação */
        .atuacao-section { padding: 8rem 3rem; background: var(--editorial-white); }
        .nav-tabs-custom { border-bottom: 1px solid rgba(10,22,40,0.12); border-width: 0 0 1px 0; display: flex; }
        .nav-tabs-custom .nav-link {
            border: none; border-bottom: 2px solid transparent;
            color: #8A9BB0 !important; font-family: var(--font-sans);
            font-size: 0.8rem; letter-spacing: 0.1em; padding: 1rem 2rem;
            transition: all 0.25s; font-weight: 400; text-transform: none; cursor: pointer; background: transparent;
        }
        .nav-tabs-custom .nav-link.active {
            color: var(--navy-deep) !important; border-bottom-color: var(--navy-light); font-weight: 500;
        }
        .atuacao-list { list-style: none; padding: 0; margin: 0 0 2.5rem; }
        .atuacao-list li {
            padding: 0.9rem 0; border-bottom: 1px solid rgba(10,22,40,0.07);
            color: var(--anthracite); font-size: 0.95rem; font-weight: 300; display: flex; gap: 1rem; align-items: flex-start;
        }
        .atuacao-cta-box { background: var(--navy-deep); padding: 3.5rem; position: relative; }
        .atuacao-cta-box::before {
            content: ''; position: absolute; top: 0; left: 0; width: 4rem; height: 2px; background: var(--accent-line);
        }

        /* Geografia */
        .geografia-section { padding: 6rem 3rem; background: var(--navy-mid); }
        .geo-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: rgba(74,127,181,0.15); }
        .geo-item { background: var(--navy-mid); padding: 2.5rem 2rem; }

        /* Contato */
        .contato-section { padding: 8rem 3rem; background: var(--navy-deep); text-align: center; position: relative; }
        .contato-border { position: absolute; inset: 3rem; border: 1px solid rgba(74,127,181,0.1); pointer-events: none; }

        /* Footer */
        footer.site-footer {
            background: #070F1C;
            padding: 4rem 3rem 2rem;
            border-top: 1px solid rgba(74,127,181,0.12);
        }
        .site-footer .footer-desc { color: #8A9BB0; font-size: 0.9rem; line-height: 1.8; }
        .site-footer .footer-heading { font-family: var(--font-serif); font-weight: 600; color: var(--accent-line); font-size: 1.05rem; }
        .site-footer .footer-list { list-style: none; padding: 0; margin: 0; }
        .site-footer .footer-list a { color: #B8C5D6; text-decoration: none; transition: color 0.2s ease; }
        .site-footer .footer-list a:hover { color: #E8EEF4; }
        .site-footer .footer-meta { color: #6B7A8D; font-size: 0.85rem; }
        .site-footer .footer-bottom { border-top: 1px solid rgba(255,255,255,0.08); padding-top: 1.75rem; margin-top: 2.75rem; }
        .site-footer .footer-bottom-link { color: #6B7A8D; text-decoration: none; transition: color 0.2s ease; }
        .site-footer .footer-bottom-link:hover { color: #E8EEF4; }
        .site-footer .footer-social { display: flex; gap: 0.9rem; }
        .site-footer .footer-social a {
            width: 40px; height: 40px;
            display: inline-flex; align-items: center; justify-content: center;
            border-radius: 999px;
            background: rgba(255,255,255,0.06);
            border: 1px solid rgba(74,127,181,0.18);
            transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
        }
        .site-footer .footer-social a:hover {
            background: rgba(74,127,181,0.18);
            border-color: rgba(74,127,181,0.5);
            transform: translateY(-1px);
        }
        .site-footer .footer-icon { width: 18px; height: 18px; stroke: var(--accent-line); fill: none; stroke-width: 2; }
        .site-footer .footer-icon-muted { width: 18px; height: 18px; stroke: var(--accent-line); fill: none; stroke-width: 2; flex-shrink: 0; }
        .site-footer .contact-item { display: flex; gap: 0.75rem; align-items: flex-start; }
        .site-footer .contact-item span { color: #B8C5D6; }
        .site-footer .footer-logo { height: 80px; width: auto; display: block; }

        /* Animações Reveal */
        .reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s ease; }
        .reveal-left { opacity: 0; transform: translateX(-30px); transition: all 0.8s ease; }
        .reveal-right { opacity: 0; transform: translateX(30px); transition: all 0.8s ease; }
        .reveal.active, .reveal-left.active, .reveal-right.active { opacity: 1; transform: translate(0, 0); }
        .delay-100 { transition-delay: 0.1s; }
        .delay-200 { transition-delay: 0.2s; }
        .delay-300 { transition-delay: 0.3s; }
        .delay-400 { transition-delay: 0.4s; }
        .delay-500 { transition-delay: 0.5s; }

        @media (max-width: 991px) {
            .navbar { padding: 1rem !important; }
            .hero-section { padding: 4rem 1rem; }
            .hero-section h1 { font-size: 3.5rem !important; }
            .sobre-section, .diferenciais-section, .atuacao-section, .geografia-section, .contato-section { padding: 4rem 1rem; }
            .diferenciais-grid, .geo-grid { grid-template-columns: 1fr; }
            .hero-stats { grid-template-columns: 1fr 1fr !important; }
            .nav-tabs-custom { overflow-x: auto; white-space: nowrap; }
        }
