.font-vazirmatn { font-family: 'Vazirmatn', sans-serif; }
                .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; } }
                .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);
                        background-image: url('https://gnsincorporadora.com.br/wp-content/uploads/2026/04/Group.png');
                        background-size: contain; background-repeat: no-repeat; background-position: center;
                }
                .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; }
                .home-section-title {
                        font-family: 'Vazirmatn', 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: 'Vazirmatn', sans-serif;
                        font-size: 12px; font-weight: 600;
                        letter-spacing: 0.3em; text-transform: uppercase;
                        color: #1F49D8; margin-bottom: 1.5rem;
                }
                .sticky-stack { position: sticky; top: min(0px, calc(100vh - 100%)); }
                .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-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; }

                .section-notch {
                        position: absolute; bottom: 100%; left: 0; width: 100%;
                        height: 16px; pointer-events: none; z-index: 20;
                        display: flex; justify-content: space-between;
                }
                @media (min-width: 768px) { .section-notch { height: 24px; } }
                .section-notch svg { width: 100%; height: 100%; }
                .animated-border-line {
                        position: absolute; bottom: 0; left: 16px; right: 16px;
                        height: 1px;
                        background: linear-gradient(90deg, transparent, #2E3D6B, transparent);
                        transform: scaleX(0); opacity: 0;
                        transition: all 1000ms ease-out;
                        transform-origin: center; z-index: 30;
                }
                @media (min-width: 768px) { .animated-border-line { left: 24px; right: 24px; height: 2px; } }
