.font-vazirmatn { font-family: "DM Sans", sans-serif; }

                section img { border-radius: 12px; }
                section div.overflow-hidden:not(.absolute) { border-radius: 12px; }

                .home-container {
                        width: calc(100% - 48px);
                        max-width: 1440px;
                        margin-inline: auto;
                        padding-inline: 28px;
                        box-sizing: border-box;
                }
                @media (max-width: 980px) {
                        .home-container { width: calc(100% - 32px); padding-inline: 16px; }
                }

                .blue-glow {
                        position: absolute;
                        border-radius: 50%;
                        background: radial-gradient(circle, rgba(46, 61, 107, 0.15) 0%, rgba(46, 61, 107, 0) 70%);
                        filter: blur(80px);
                        pointer-events: none;
                        z-index: 0;
                        mix-blend-mode: multiply;
                }
                .blueprint-bg, .blueprint-bg-dark { background-image: none !important; }

                /* Decorativo flutuante */
                .logo-floating-detail {
                        position: fixed;
                        bottom: -10%; right: -10%;
                        width: 50vw; height: 50vw; max-width: 800px;
                        opacity: 0.04; pointer-events: none; z-index: 0;
                        transform: rotate(-15deg); filter: blur(2px);
                        transition: all 1.2s cubic-bezier(0.4, 0, 0.2, 1);
                        background-image: url('https://gnsincorporadora.com.br/wp-content/uploads/2026/04/Group.png');
                        background-size: contain; background-repeat: no-repeat; background-position: center;
                }
                .logo-accent-bg {
                        position: absolute; pointer-events: none; z-index: 0;
                        opacity: 0.05; transition: all 0.8s ease;
                        background-size: contain; background-repeat: no-repeat; background-position: center;
                }
                .logo-accent-bg:hover { opacity: 0.1; transform: scale(1.05) rotate(2deg); }
                .logo-accent-right {
                        right: -10%; bottom: 15%;
                        transform: rotate(-10deg);
                        width: 35vw; max-width: 500px;
                        background-image: url('https://gnsincorporadora.com.br/wp-content/uploads/2026/04/Group.png');
                }
                .logo-accent-blue { opacity: 0.12; filter: saturate(1.5); }

                /* CTA gradient canônico */
                .btn-gradient {
                        background: linear-gradient(135deg, #142C8E 0%, #1F49D8 52%, #2D5BFF 100%) !important;
                        background-size: 140% 140% !important;
                        background-position: 0% 50% !important;
                        border: 1px solid rgba(255, 255, 255, 0.18) !important;
                        border-radius: 10px !important;
                        color: #FFFFFF !important;
                        box-shadow: 0 10px 24px rgba(31, 73, 216, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.22);
                        transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease, background-position 0.3s ease !important;
                }
                .btn-gradient:hover {
                        background-position: 100% 50% !important;
                        filter: brightness(1.1);
                        transform: translateY(-2px);
                        box-shadow: 0 14px 30px rgba(31, 73, 216, 0.38), 0 4px 12px rgba(20, 44, 142, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.28);
                }
                .btn-gradient:focus-visible {
                        outline: 3px solid rgba(45, 91, 255, 0.32);
                        outline-offset: 3px;
                }

                /* Section title pattern */
                .home-section-title {
                        font-family: "DM Sans", sans-serif !important;
                        font-size: clamp(32px, 4vw, 56px) !important;
                        line-height: 1.12 !important;
                        letter-spacing: 0 !important;
                        font-weight: 800 !important;
                        color: #111827 !important;
                        text-wrap: balance;
                }
                @media (min-width: 1025px) {
                        .home-section-title {
                                font-size: 56px !important;
                        }
                }
                .home-section-title .title-accent {
                        color: #142C8E !important;
                        font-weight: 900 !important;
                        background: linear-gradient(135deg, #142C8E 0%, #1F49D8 55%, #2D5BFF 100%);
                        -webkit-background-clip: text; background-clip: text;
                        -webkit-text-fill-color: transparent;
                }

                .seg-eyebrow {
                        display: inline-block;
                        font-family: "DM Sans", sans-serif;
                        font-size: 12px; font-weight: 600;
                        letter-spacing: 0.3em; text-transform: uppercase;
                        color: #1F49D8;
                        margin-bottom: 1.5rem;
                }

                /* Sticky stack (empilhamento cinematográfico) */
                .sticky-stack {
                        position: sticky;
                        top: min(0px, calc(100vh - 100%));
                }

                /* Reveal animations (diff-reveal / diff-left-reveal) */
                .diff-reveal {
                        opacity: 0;
                        transform: translate3d(0, 34px, 0);
                        transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
                                    transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
                        will-change: opacity, transform;
                }
                .diff-reveal.is-visible {
                        opacity: 1;
                        transform: translate3d(0, 0, 0);
                        will-change: auto;
                }
                .diff-reveal[data-delay="1"] { transition-delay: 0.08s; }
                .diff-reveal[data-delay="2"] { transition-delay: 0.18s; }
                .diff-reveal[data-delay="3"] { transition-delay: 0.28s; }
                .diff-reveal[data-delay="4"] { transition-delay: 0.38s; }
                .diff-left-reveal {
                        opacity: 0;
                        transform: translate3d(-18px, 28px, 0);
                        transition: opacity 0.95s cubic-bezier(0.16, 1, 0.3, 1),
                                    transform 0.95s cubic-bezier(0.16, 1, 0.3, 1);
                        will-change: opacity, transform;
                }
                .diff-left-reveal.is-visible {
                        opacity: 1;
                        transform: translate3d(0, 0, 0);
                        will-change: auto;
                }
                @media (max-width: 768px) {
                        .diff-reveal { transform: translate3d(0, 22px, 0); transition-duration: 0.7s; }
                        .diff-left-reveal { transform: translate3d(-8px, 20px, 0); transition-duration: 0.72s; }
                }
                @media (prefers-reduced-motion: reduce) {
                        .diff-reveal, .diff-left-reveal {
                                opacity: 1 !important; transform: none !important;
                                transition: none !important; will-change: auto !important;
                        }
                }

                /* Hero shadows */
                .hero-title-shadow {
                        text-shadow: 0 6px 28px rgba(0, 0, 0, 0.55),
                                     0 2px 10px rgba(0, 0, 0, 0.45),
                                     0 1px 2px rgba(0, 0, 0, 0.5);
                }
                .hero-text-shadow-soft {
                        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.55),
                                     0 1px 3px rgba(0, 0, 0, 0.45);
                }
                .hero-title-accent {
                        background: none;
                        -webkit-text-fill-color: #2D5BFF;
                        color: #2D5BFF;
                        font-weight: 900;
                        text-shadow: none;
                        filter: none;
                }
                .hero-vignette {
                        background:
                                linear-gradient(105deg,
                                        rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.75) 18%, rgba(0, 0, 0, 0.55) 35%,
                                        rgba(0, 0, 0, 0.30) 50%, rgba(0, 0, 0, 0.10) 65%, rgba(0, 0, 0, 0) 80%),
                                linear-gradient(to top,
                                        rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.20) 40%, rgba(0, 0, 0, 0) 75%);
                }
