html, body {







    overflow-x: hidden;







    max-width: 100%;







}







/* style.css */







:root {







    /* Brand Colors */







    --clr-bg: #09090b;







    --clr-text: #ffffff;







    --clr-text-muted: #a1a1aa;







    







    /* Brand Colors */







    --clr-brand-blue: #4158D0;







    --clr-brand-pink: #C850C0;







    --clr-brand-yellow: #FFCC70;







    /* Gradients */







    --grad-glow: linear-gradient(90deg, var(--clr-brand-blue), var(--clr-brand-pink), var(--clr-brand-yellow));







    --grad-text: linear-gradient(135deg, #ffffff 0%, #a1a1aa 100%);







    







    /* Fonts */







    --font-main: 'Montserrat', system-ui, sans-serif;







}







* {







    margin: 0;







    padding: 0;







    box-sizing: border-box;







}







body {







    background-color: var(--clr-bg);







    color: var(--clr-text);







    font-family: var(--font-main);







    overflow-x: hidden;







    position: relative;







    min-height: 100vh;







}







::selection {







    background: var(--clr-brand-pink);







    color: var(--clr-text);







}







/* --- HERO CANVAS BACKGROUND --- */







#webgl-container {







    position: absolute;







    top: 0;







    left: 0;







    width: 100%;







    height: 100vh;







    z-index: 0;







    pointer-events: none !important;







    overflow: hidden;







}







#webgl-canvas {







    width: 100%;







    height: 100%;







    display: block;







    background: transparent;







    pointer-events: none;







}







.logo-img { height: 40px; width: auto; object-fit: contain; }







.footer-logo { height: 50px; width: auto; object-fit: contain; margin-bottom: 20px; }







.hero-fp-logo { 







    height: 12rem; 







    width: auto; 







    object-fit: contain; 







    opacity: 0.95; 







    margin-bottom: 80px !important; /* Increased from 50px */







    filter: drop-shadow(0 0 20px rgba(255,255,255,0.1));







}







/* Base Topo Pattern */







.topo-bg {







    display: none; /* Disabled temporarily */







    position: absolute;







    top: 0;







    left: 0;







    width: 100vw;







    height: 100vh;







    z-index: 1;







    pointer-events: none;







    /* Использование изображения пользователя */







    background-image: url("bg_pattern.jpg");







    background-size: cover;







    background-position: center;







    mix-blend-mode: screen;







    opacity: 0.15; /* Приглушенная видимость по умолчанию */







    animation: breathePattern 8s ease-in-out infinite;







}







@keyframes breathePattern {







    0%, 100% { 







        opacity: 0.08; 







        transform: scale(1); 







    }







    50% { 







        opacity: 0.25; 







        transform: scale(1.03); 







    }







}







/* UI Layer */







.ui-layer {







    position: relative;







    z-index: 10;







    width: 100%;







    height: 100%;







    pointer-events: none; /* Let clicks pass to 3D canvas if needed */







}







/* Make sure interactive elements are clickable */







.site-header, .hero-content, .scroll-indicator, .about-section, .services-section, .benefits-section, .portfolio-section, .clients-section, .blog-section, .contact-section, .site-footer {







    pointer-events: auto;







}







.container {







    max-width: 1200px;







    margin: 0 auto;







    padding: 0 2rem;







}







/* ========================================= */







/* HEADER                                    */







/* ========================================= */







.site-header {







    position: fixed;







    top: 0;







    left: 0;







    width: 100%;







    z-index: 100;







    padding: 1.5rem 0;







    background: rgba(9, 9, 11, 0.6);







    backdrop-filter: blur(12px);







    border-bottom: 1px solid rgba(255, 255, 255, 0.05);







}







.header-container {







    display: flex;







    justify-content: space-between;







    align-items: center;







}







.logo-link {







    display: flex;







    align-items: center;







    gap: 0.5rem;







    text-decoration: none;







    color: var(--clr-text);







}







.logo-icon {







    height: 40px;







    width: auto;







    object-fit: contain;







    filter: drop-shadow(0 0 10px rgba(65, 88, 208, 0.4));







}







.main-nav ul {







    display: flex;







    gap: 2.5rem;







    list-style: none;







    position: relative;







}







.main-nav a {







    color: var(--clr-text-muted);







    text-decoration: none;







    font-size: 0.9rem;







    font-weight: 500;







    transition: color 0.3s ease;







    position: relative;







}







.main-nav a.active {







    background: var(--grad-glow);







    -webkit-background-clip: text;







    -webkit-text-fill-color: transparent;







    background-clip: text;







    color: transparent;







    text-shadow: 0 0 15px rgba(200, 80, 192, 0.3);







}







.main-nav a:hover {







    background: var(--grad-glow);







    -webkit-background-clip: text;







    -webkit-text-fill-color: transparent;







    background-clip: text;







    color: transparent;







    text-shadow: 0 0 15px rgba(200, 80, 192, 0.4);







}







/* Sliding Indicator */







.nav-indicator {







    position: absolute;







    bottom: -6px;







    left: 0;







    height: 2px;







    background: var(--grad-glow);







    box-shadow: 0 0 10px rgba(200, 80, 192, 0.6);







    border-radius: 2px;







    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);







    pointer-events: none;







    width: 0;







    opacity: 0;







}







.nav-indicator.active {







    opacity: 1;







}







.header-actions {







    display: flex;







    align-items: center;







    gap: 2rem;







}







.phone-link {







    display: flex;







    align-items: center;







    gap: 0.5rem;







    color: var(--clr-text-muted);







    text-decoration: none;







    font-size: 0.9rem;







    font-weight: 500;







    transition: color 0.3s ease;







}







.phone-link:hover {







    color: var(--clr-text);







}







.btn-glow {







    position: relative;







    display: inline-flex;







    padding: 0.75rem 1.5rem;







    border-radius: 100px;







    text-decoration: none;







    color: var(--clr-text);







    font-size: 0.9rem;







    font-weight: 500;







    background: rgba(0, 0, 0, 0.8);







    transition: all 0.3s ease;







    z-index: 1;







    overflow: hidden;







}







.btn-glow::before {







    content: '';







    position: absolute;







    inset: -2px;







    border-radius: 100px;







    background: var(--grad-glow);







    z-index: -1;







    transition: opacity 0.3s ease;







    opacity: 0.8;







}







.btn-glow::after {







    content: '';







    position: absolute;







    inset: 1px;







    background: var(--clr-bg);







    border-radius: 100px;







    z-index: -1;







    transition: background 0.3s ease;







}







.btn-glow:hover {







    transform: translateY(-2px) scale(1.05);







    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5), 0 0 25px rgba(200, 80, 192, 0.6);







}







.btn-glow:hover::after {







    background: rgba(20, 20, 25, 0.9);







}







.btn-glow span {







    position: relative;







    z-index: 2;







}







/* ========================================= */







/* HERO SECTION                              */







/* ========================================= */







.hero {







    position: relative;







    min-height: 100vh;







    display: flex;







    flex-direction: column;







    align-items: center;







    justify-content: center;







    text-align: center;







    padding-top: 80px; /* Offset for header */







}







/* Hero Content */







.hero-content {







    display: flex;







    flex-direction: column;







    align-items: center;







    z-index: 10;







}







/* Hero Logo Container */







.hero-main-logo {







    width: 90%;







    max-width: 600px;







    height: auto;







    margin-bottom: 3rem;







    filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.5));







}







.hero-btn {







    padding: 1rem 2.5rem;







    font-size: 1.1rem;







}







.scroll-indicator {







    position: absolute;







    bottom: 40px;







    left: 50%;







    transform: translateX(-50%);







    display: flex;







    flex-direction: column;







    align-items: center;







    opacity: 0.7;







    animation: fadePulse 2s infinite ease-in-out;







}







.scroll-indicator .line {







    width: 2px;







    height: 60px;







    background: linear-gradient(to bottom, var(--clr-brand-pink), transparent);







    border-radius: 2px;







}







@keyframes fadePulse {







    0%, 100% { opacity: 0.4; transform: translateX(-50%) translateY(0); }







    50% { opacity: 1; transform: translateX(-50%) translateY(10px); }







}/* ========================================= */







/* ABOUT US SECTION                          */







/* ========================================= */







.section-padding {







    padding: 40px 0;







}







.section-title {







    font-size: clamp(2rem, 4vw, 3rem);







    font-weight: 800;







    margin-bottom: 3rem;







    text-align: center;







}







.text-gradient {







    background: var(--grad-glow);







    -webkit-background-clip: text;







    -webkit-text-fill-color: transparent;







    background-clip: text;







    display: inline-block;







}







/* New About Us Layout */







.about-grid-new {







    display: grid;







    grid-template-columns: 1.2fr 1fr;







    gap: 60px;







    align-items: center;







}







.about-left {







    display: flex;







    flex-direction: column;







    align-items: flex-start;







}







.section-title-new {







    font-size: clamp(2rem, 3.5vw, 3.5rem);







    font-weight: 400;







    line-height: 1.2;







    margin-bottom: 1.5rem;







    color: var(--clr-text);







}







.section-title-new span {







    font-weight: 800;







}







.about-desc-new {







    font-size: 1.1rem;







    color: var(--clr-text-muted);







    line-height: 1.6;







    margin-bottom: 3rem;







    max-width: 600px;







}







.about-stats-row {







    display: flex;







    justify-content: space-between;







    gap: 20px;







    margin-bottom: 2.5rem;







    width: 100%;







}







.stat-block {







    display: flex;







    flex-direction: column;







    gap: 5px;







    flex: 1;







}







.stat-number-new {







    font-size: 3.5rem;







    font-weight: 800;







    line-height: 1;







    margin: 0;







}







.stat-text-new {







    font-size: 0.85rem;







    color: var(--clr-text-muted);







    line-height: 1.4;







}







/* Timeline specific */







.about-right {







    padding-left: 40px;







}







.features-timeline {







    display: flex;







    flex-direction: column;







    gap: 40px;







    position: relative;







    padding-top: 10px;







    padding-bottom: 10px;







}







.timeline-line {







    position: absolute;







    left: 35px;







    top: 40px;







    bottom: 40px;







    width: 2px;







    background: linear-gradient(to bottom, rgba(65, 88, 208, 0.5), rgba(200, 80, 192, 0.5), rgba(255, 204, 112, 0.5));







    z-index: 0;







}







.timeline-item {







    display: flex;







    align-items: center;







    gap: 24px;







    position: relative;







    z-index: 1;







}







.timeline-icon-box {







    width: 72px;







    height: 72px;







    border-radius: 24px;







    background: rgba(10, 10, 15, 0.8);







    display: flex;







    align-items: center;







    justify-content: center;







    flex-shrink: 0;







    position: relative;







    backdrop-filter: blur(10px);







}







.timeline-icon-box::before {







    content: '';







    position: absolute;







    inset: 0;







    border-radius: 24px;







    padding: 1.5px;







    background: var(--grad-glow);







    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);







    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);







    -webkit-mask-composite: xor;







    mask-composite: exclude;







    pointer-events: none;







}







.timeline-text h4 {







    font-size: 1.15rem;







    font-weight: 600;







    color: var(--clr-text);







    margin-bottom: 8px;







}







.timeline-text p {







    font-size: 0.9rem;







    color: var(--clr-text-muted);







    line-height: 1.5;







}







/* Responsive */







@media (max-width: 1024px) {







    .hero-title { font-size: 6rem; }







    .hero-subtitle { font-size: 2.2rem; }







}







@media (max-width: 992px) {







    .about-grid {







        grid-template-columns: 1fr;







        gap: 40px;







    }







}







@media (max-width: 768px) {







    .main-nav { display: none; }







    .phone-link { display: none; }







    .hero-title { font-size: 4rem; }







    .hero-subtitle { font-size: 1.5rem; }







    .hero-logo-large { width: 80px; height: 80px; }







    .stat-number { font-size: 2.5rem; }







}







/* ========================================= */







/* SERVICES SECTION                          */







/* ========================================= */







.text-center {







    text-align: center;







}







.services-section {







    position: relative;







    z-index: 10;







}







.services-grid {







    display: grid;







    grid-template-columns: repeat(3, 1fr);







    gap: 30px;







    margin-top: 40px;







    align-items: start; /* Prevents cards from stretching the whole row when one is hovered */







}







.service-card {







    display: flex;







    flex-direction: column;







    text-decoration: none;







    border-radius: 30px;







    background: rgba(20, 20, 25, 0.4);







    border: 1px solid rgba(255, 255, 255, 0.05);







    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);







    overflow: hidden;







    position: relative;







    will-change: transform, box-shadow;







    min-height: 400px;







}







.service-card:hover {







    transform: translateY(-8px);







    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4), 0 0 20px rgba(65, 88, 208, 0.3);







    border-color: rgba(255, 204, 112, 0.4);







}







.service-card-top {







    position: relative;







    padding: 0;







    flex: 0 0 220px; /* Fixed height! This prevents the top image from stretching when the bottom text expands */







    background: linear-gradient(135deg, rgba(65, 88, 208, 0.15) 0%, rgba(200, 80, 192, 0.1) 100%);







    display: flex;







    align-items: center;







    justify-content: center;







    border-radius: 30px 30px 0 0;







    transition: padding 0.4s ease;







    overflow: hidden;







}







.service-card:hover .service-card-top {







    padding: 0;







}







.card-badge {







    position: absolute;







    top: 20px;







    left: 20px;







    width: 40px;







    height: 40px;







    background: rgba(10, 10, 15, 0.8);







    border-radius: 12px;







    display: flex;







    align-items: center;







    justify-content: center;







    font-size: 1rem;







    font-weight: 800;







    backdrop-filter: blur(8px);







    border: 1px solid rgba(255, 255, 255, 0.1);







}







.card-side-icons {







    position: absolute;







    top: 20px;







    right: 20px;







    display: flex;







    flex-direction: column;







    gap: 10px;







}







.side-icon {







    width: 28px;







    height: 28px;







    border-radius: 50%;







    background: rgba(10, 10, 15, 0.6);







    display: flex;







    align-items: center;







    justify-content: center;







    color: var(--clr-text-muted);







    transition: color 0.3s ease;







}







.service-card:hover .side-icon {







    color: var(--clr-brand-yellow);







}







.card-main-icon {







    position: absolute;







    top: 0;







    left: 0;







    width: 100%;







    height: 100%;







    transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);







}







.service-card:hover .card-main-icon {







    transform: scale(1.05);







}







.service-img {







    width: 100%;







    height: 100%;







    object-fit: cover;







    border-radius: 0;







    box-shadow: none;







    border: none;







    opacity: 0.85;







}







.service-card-bottom {







    position: relative;







    background: rgba(12, 12, 14, 0.95);







    border-radius: 20px;







    padding: 25px;







    margin-top: -20px;







    margin-left: 10px;







    margin-right: 10px;







    margin-bottom: 10px;







    z-index: 2;







    flex-shrink: 0;







    display: flex;







    flex-direction: column;







    box-shadow: 0 -10px 20px rgba(0,0,0,0.3);







    border: 1px solid rgba(255, 255, 255, 0.03);







    transition: all 0.4s ease;







}







.service-card:hover .service-card-bottom {







    transform: translateY(-5px);







}







.notch {







    position: absolute;







    top: 8px;







    left: 50%;







    transform: translateX(-50%);







    width: 30px;







    height: 3px;







    background: rgba(255, 255, 255, 0.1);







    border-radius: 2px;







}







.service-title {







    font-size: 1.15rem;







    font-weight: 700;







    color: var(--clr-brand-yellow);







    margin-bottom: 15px;







    line-height: 1.3;







    transition: color 0.3s ease;







}







.service-card:hover .service-title {







    background: var(--grad-glow);







    -webkit-background-clip: text;







    -webkit-text-fill-color: transparent;







    background-clip: text;







}







.service-desc {







    color: var(--clr-text-muted);







    font-size: 0.9rem;







    line-height: 1.5;







    margin-bottom: 0;







    transition: max-height 0.4s ease, opacity 0.4s ease;







}







.service-card:hover .service-desc {







    margin-bottom: 20px;







}







.service-list {







    list-style: none;







    display: flex;







    flex-direction: column;







    gap: 10px;







    max-height: 0;







    opacity: 0;







    overflow: hidden;







    transition: max-height 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.4s ease, margin-top 0.4s ease;







    margin-top: 0;







}







.service-card:hover .service-list {







    max-height: 350px;







    opacity: 1;







    margin-top: auto;







}







.service-list li {







    position: relative;







    padding-left: 18px;







    font-size: 0.85rem;







    color: rgba(200, 200, 210, 0.8);







    line-height: 1.4;







    transform: translateY(10px);







    opacity: 0;







    transition: all 0.4s ease;







}







.service-card:hover .service-list li {







    transform: translateY(0);







    opacity: 1;







}







/* Stagger list items reveal */







.service-card:hover .service-list li:nth-child(1) { transition-delay: 0.1s; }







.service-card:hover .service-list li:nth-child(2) { transition-delay: 0.15s; }







.service-card:hover .service-list li:nth-child(3) { transition-delay: 0.2s; }







.service-card:hover .service-list li:nth-child(4) { transition-delay: 0.25s; }







.service-card:hover .service-list li:nth-child(5) { transition-delay: 0.3s; }







.service-card:hover .service-list li:nth-child(6) { transition-delay: 0.35s; }







.service-card:hover .service-list li:nth-child(7) { transition-delay: 0.4s; }







.service-list li::before {







    content: '';







    position: absolute;







    left: 0;







    top: 6px;







    width: 5px;







    height: 5px;







    border-radius: 50%;







    background: var(--clr-brand-pink);







    box-shadow: 0 0 5px var(--clr-brand-pink);







}







/* ========================================= */







/* BENEFITS SECTION                          */







/* ========================================= */







.benefits-section {







    position: relative;







    z-index: 10;







    overflow: hidden;







}







.global-glows {







    position: fixed;







    top: 0;







    left: 0;







    width: 100vw;







    height: 100vh;







    z-index: 0;







    pointer-events: none !important;







    overflow: hidden;







}







.glow-orb {







    position: absolute;







    width: 800px;







    height: 800px;







    border-radius: 50%;







    filter: blur(150px);







    opacity: 0.12;







    mix-blend-mode: screen;







}







.orb-1 {







    top: -200px;







    left: -200px;







    background: var(--clr-brand-blue);







    animation: drift-orb 20s infinite alternate ease-in-out;







}







.orb-2 {







    bottom: -200px;







    right: -100px;







    background: var(--clr-brand-pink);







    animation: drift-orb 25s infinite alternate-reverse ease-in-out;







}







.orb-3 {







    top: 40%;







    left: 50%;







    width: 600px;







    height: 600px;







    transform: translate(-50%, -50%);







    background: var(--clr-brand-yellow);







    opacity: 0.08;







    animation: scale-orb 30s infinite alternate ease-in-out;







}







@keyframes drift-orb {







    0% { transform: translateY(0) translateX(0); }







    100% { transform: translateY(100px) translateX(50px); }







}







@keyframes scale-orb {







    0% { transform: translate(-50%, -50%) scale(1); }







    100% { transform: translate(-50%, -50%) scale(1.2); }







}







.benefits-interactive-container {







    display: flex;







    gap: 40px;







    margin-top: 40px;







    align-items: stretch;







    position: relative; /* This confines the absolutely positioned display contents! */







}







.benefits-menu {







    flex: 0 0 350px;







    display: flex;







    flex-direction: column;







    gap: 15px;







    position: relative;







    z-index: 100;







    pointer-events: auto;







    border: none !important;







}







.benefit-tab-wrapper {







    position: static; /* Crucial for absolute positioning of children relative to main container */







}







.benefit-tab {







    background: transparent;







    border: none !important;







    outline: none !important;







    text-align: left;







    padding: 20px 25px;







    border-radius: 20px;







    cursor: pointer;







    display: flex;







    align-items: center;







    gap: 20px;







    transition: all 0.4s ease;







    position: relative;







    overflow: hidden;







}







.benefit-tab::before {







    content: '';







    position: absolute;







    left: 0;







    top: 50%;







    transform: translateY(-50%);







    height: 0%;







    width: 3px;







    background: var(--grad-glow);







    transition: height 0.4s ease;







    border-radius: 0 5px 5px 0;







}







.benefit-tab:hover {







    background: rgba(255, 255, 255, 0.05);







    border-color: transparent !important;







    transform: translateX(10px);







}







.benefit-tab:hover::before {







    height: 60%;







}







.benefit-tab:hover .tab-number {







    color: var(--clr-brand-pink);







}







.benefit-tab:hover .tab-title {







    color: var(--clr-text);







}







.benefit-tab.active {







    background: rgba(255, 255, 255, 0.05);







    border-color: transparent !important;







    padding-left: 20px;







}







.benefit-tab.active::before {







    height: 60%;







}







.benefit-tab.active .tab-number {







    color: var(--clr-brand-pink);







}







.benefit-tab.active .tab-title {







    color: var(--clr-text);







}







.tab-number {







    font-size: 1.5rem;







    font-weight: 800;







    color: rgba(255, 255, 255, 0.2);







    transition: color 0.4s ease;







}







.tab-title {







    font-size: 1.1rem;







    font-weight: 600;







    color: var(--clr-text-muted);







    transition: color 0.4s ease;







}







.benefits-display-window {







    flex: 1;







    background: transparent;







    border: none !important;







    border-radius: 30px;







    min-height: 420px;







    height: auto;







    position: relative; 







    overflow: hidden;







    display: grid; 







}







.benefit-display-content {







    grid-area: 1 / 1; 







    width: 100%;







    box-sizing: border-box;







    padding: 30px 50px; 







    display: flex;







    flex-direction: column;







    justify-content: center; /* RAISES text off the bottom so it sits beautifully in the middle */







    align-items: flex-start; 







    opacity: 0;







    visibility: hidden;







    pointer-events: none;







    transform: translateY(20px);







    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);







}







.display-title {







    font-size: 2.2rem;







    font-weight: 800;







    margin-bottom: 10px;







    color: var(--clr-text);







    z-index: 10;







    max-width: 55%; /* Keep clear of the image on the right */







    text-shadow: 0 4px 20px rgba(0,0,0,0.8), 0 2px 10px rgba(0,0,0,0.5); 







}







.display-desc {







    color: rgba(255, 255, 255, 0.8);







    line-height: 1.6;







    font-size: 1.05rem;







    max-width: 55%; /* Ensure text never overlaps the large right-side graphic */







    z-index: 10;







    text-shadow: 0 2px 10px rgba(0,0,0,0.8);







}







/* JS Active State Logic */







.benefit-display-content.active {







    opacity: 1;







    visibility: visible;







    pointer-events: auto;







    transform: translateY(0);







    z-index: 50;







}







.bg-watermark {







    position: absolute !important;







    left: 30px; 







    top: 50px; /* Raised the 05 to sit inside the box neatly */







    font-size: 15rem; /* Slightly smaller to fit the locked box */







    font-weight: 900;







    color: transparent;







    -webkit-text-stroke: 2px rgba(255, 255, 255, 0.03); 







    z-index: 0 !important;







    pointer-events: none;







    line-height: 1;







    transition: all 0.5s ease;







}







.benefit-display-content > * {







    position: relative;







    z-index: 1;







}







.window-glow {







    position: absolute;







    top: 50%;







    right: -100px;







    width: 300px;







    height: 300px;







    background: var(--clr-brand-pink);







    filter: blur(100px);







    opacity: 0.15;







    border-radius: 50%;







    transform: translateY(-50%);







    pointer-events: none;







}







.display-title {







    font-size: 2.2rem;







    font-weight: 800;







    margin-bottom: 20px;







    background: var(--grad-text);







    -webkit-background-clip: text;







    -webkit-text-fill-color: transparent;







    background-clip: text;







    padding-bottom: 5px;







}







.display-desc {







    font-size: 1.1rem;







    line-height: 1.6;







    color: rgba(200, 200, 210, 0.9);







    max-width: 85%;







}







.benefit-3d-icon-container {







    position: absolute;







    right: 0px; 







    bottom: -50px;







    width: 400px; 







    height: 460px; /* Extra height to ensure smooth fading */







    display: flex;







    align-items: flex-end;







    justify-content: center;







    z-index: 1; 







    pointer-events: none;







}







.benefit-3d-icon {







    width: 100%;







    height: 100%; 







    padding: 40px;







    box-sizing: border-box;







    object-fit: contain;







    filter: brightness(1) saturate(1); 







    transform: scale(0.95);







    transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);







    transition-delay: 0.1s;







    object-position: bottom;







}







@keyframes pulseGlow {







    0% {







        filter: brightness(1.2) saturate(1.2) drop-shadow(0 0 15px rgba(200, 80, 192, 0.2));







    }







    100% {







        filter: brightness(1.35) saturate(1.35) drop-shadow(0 0 35px rgba(200, 80, 192, 0.7));







    }







}







/* ⚡ The "BAM Lightbulb" Hover Effect */







.benefit-display-content.active .benefit-3d-icon {







    transform: scale(1) translateY(0);







    animation: pulseGlow 2.5s infinite alternate ease-in-out;







}







.benefits-footer {







    margin-top: 40px;







    padding: 0 20px;







}







.mission-statement {







    position: relative;







    display: inline-block;







    font-size: clamp(1rem, 2vw, 1.4rem);







    font-weight: 500;







    line-height: 1.5;







    color: var(--clr-text);







    max-width: 900px;







    margin: 0 auto;







}







.quote-mark {







    font-size: clamp(2rem, 5vw, 3rem);







    font-family: Georgia, serif;







    color: var(--clr-brand-pink);







    opacity: 0.5;







    vertical-align: bottom;







    line-height: 0;







    margin: 0 5px;







}







.highlight-text {







    color: var(--clr-brand-yellow);







}







@media (max-width: 1024px) {







    .benefits-interactive-container {







        flex-direction: column;







    }







    .benefits-menu {







        flex-basis: auto;







        flex-direction: row;







        overflow-x: auto;







        padding-bottom: 15px;







    }







    .benefit-tab {







        flex: 0 0 auto;







        padding: 15px 20px;







    }







    .benefits-display-window {







        min-height: 350px;







    }







    .benefit-display-content {







        padding: 40px;







    }







    .display-title {







        font-size: 1.8rem;







    }







}







@media (max-width: 768px) {







    .benefit-tab {







        flex-direction: column;







        gap: 5px;







        align-items: flex-start;







    }







    .benefit-tab::before {







        top: 0;







        left: 50%;







        width: 0%;







        height: 3px;







        transform: translateX(-50%);







        border-radius: 0 0 5px 5px;







        transition: width 0.4s ease;







    }







    .benefit-tab.active::before {







        height: 3px;







        width: 70%;







    }







    .display-desc {







        max-width: 100%;







        font-size: 1.05rem;







    }







    .benefits-display-window {







        min-height: 480px;







    }







}







/* ========================================= */







/* PORTFOLIO SECTION                         */







/* ========================================= */







.portfolio-section {







    position: relative;







    z-index: 10;







}







.portfolio-filters-wrapper {







    width: 100%;







    padding-bottom: 10px;







    margin-bottom: 10px;







}







.portfolio-filters-wrapper::-webkit-scrollbar {







    display: none;







}







.portfolio-filters {







    display: flex;







    flex-wrap: wrap;







    gap: 12px;







    justify-content: center;







    margin: 0 auto;







    padding: 0 10px;







}







@media (max-width: 1024px) {







    .portfolio-filters {







        justify-content: flex-start;







        margin: 0;







    }







}







.filter-btn {







    background: rgba(255, 255, 255, 0.03);







    border: none !important;







    color: var(--clr-text-muted);







    font-size: 0.9rem;







    font-weight: 500;







    padding: 10px 24px;







    border-radius: 100px;







    cursor: pointer;







    transition: all 0.3s ease;







    white-space: nowrap;







}







.filter-btn:hover {







    background: rgba(255, 255, 255, 0.08);







    color: var(--clr-text);







}







.filter-btn.active {







    background: rgba(10, 10, 15, 0.8);







    color: var(--clr-text);







    border-color: transparent;







    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1), 0 0 15px rgba(200, 80, 192, 0.4);







    position: relative;







}







.filter-btn.active::before {







    content: '';







    position: absolute;







    inset: -1px;







    border-radius: 100px;







    padding: 1.5px;







    background: var(--grad-glow);







    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);







    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);







    -webkit-mask-composite: xor;







    mask-composite: exclude;







    pointer-events: none;







}







/* === PORTFOLIO 3-PAGE GSAP SCROLL === */







.portfolio-grids-container {







    position: relative;







    height: 720px;







    width: 100%;







    margin-bottom: 30px;







    padding: 10px;







    overflow: hidden;







}







/* Base class for each page of items */







.portfolio-grid-page {







    position: absolute;







    top: 0;







    left: 0;







    width: 100%;







    height: 100%;







    display: grid;







    gap: 20px;







    pointer-events: none;







    z-index: 1;







}







.portfolio-grid-page.active {







    pointer-events: auto;







    z-index: 2;







}







.portfolio-card {







    position: relative;







    border-radius: 20px;







    overflow: hidden;







    cursor: pointer;







    will-change: transform, box-shadow;







    background: rgba(20, 20, 25, 0.5);







    border: 1px solid rgba(255, 255, 255, 0.04);







}







/* Smooth Hardware-Accelerated Animations */







.portfolio-grid-page .portfolio-card {







    opacity: 0;







    transform: translateY(50px);







    transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);







    will-change: transform, opacity; /* Fixes any stutter / forces GPU */







}







.portfolio-grid-page.active .portfolio-card {







    opacity: 1;







    transform: translateY(0);







}







.portfolio-grid-page.exit-up .portfolio-card {







    opacity: 0;







    transform: translateY(-50px);







}







/* Tighter Stagger Effects */







.portfolio-grid-page.active .card-0 { transition-delay: 0.00s; }







.portfolio-grid-page.active .card-1 { transition-delay: 0.05s; }







.portfolio-grid-page.active .card-2 { transition-delay: 0.10s; }







.portfolio-grid-page.active .card-3 { transition-delay: 0.15s; }







.portfolio-grid-page.exit-up .card-0 { transition-delay: 0.15s; }







.portfolio-grid-page.exit-up .card-1 { transition-delay: 0.10s; }







.portfolio-grid-page.exit-up .card-2 { transition-delay: 0.05s; }







.portfolio-grid-page.exit-up .card-3 { transition-delay: 0.00s; }







/* Layout 0: 1 large left, 1 tall right, 2 normal middle */







.grid-layout-0 { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; }







.grid-layout-0 .card-0 { grid-column: 1 / 2; grid-row: 1 / 3; }







.grid-layout-0 .card-1 { grid-column: 2 / 3; grid-row: 1 / 2; }







.grid-layout-0 .card-2 { grid-column: 2 / 3; grid-row: 2 / 3; }







.grid-layout-0 .card-3 { grid-column: 3 / 4; grid-row: 1 / 3; }







/* Layout 1: 1 wide top, 3 normal bottom */







.grid-layout-1 { grid-template-columns: repeat(3, 1fr); grid-template-rows: 1.5fr 1fr; }







.grid-layout-1 .card-0 { grid-column: 1 / 4; grid-row: 1 / 2; }







.grid-layout-1 .card-1 { grid-column: 1 / 2; grid-row: 2 / 3; }







.grid-layout-1 .card-2 { grid-column: 2 / 3; grid-row: 2 / 3; }







.grid-layout-1 .card-3 { grid-column: 3 / 4; grid-row: 2 / 3; }







/* Layout 2: 1 tall left, 2 normal middle, 1 tall right */







.grid-layout-2 { grid-template-columns: 1fr 1.5fr 1fr; grid-template-rows: 1fr 1fr; }







.grid-layout-2 .card-0 { grid-column: 1 / 2; grid-row: 1 / 3; }







.grid-layout-2 .card-1 { grid-column: 2 / 3; grid-row: 1 / 2; }







.grid-layout-2 .card-2 { grid-column: 2 / 3; grid-row: 2 / 3; }







.grid-layout-2 .card-3 { grid-column: 3 / 4; grid-row: 1 / 3; }







/* Mobile logic - override to 2x2 */







@media (max-width: 768px) {







    .portfolio-grids-container { height: 600px; }







    .grid-layout-0, .grid-layout-1, .grid-layout-2 {







        grid-template-columns: 1fr 1fr;







        grid-template-rows: 1fr 1fr;







    }







    .portfolio-grid-page > div { grid-column: span 1 !important; grid-row: span 1 !important; }







}







/* Ensure GSAP pin-spacer doesn't block buttons */







.pin-spacer { pointer-events: auto !important; }







.portfolio-card:hover {







    transform: translateY(-8px) scale(1.02) !important;







    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5), 0 0 20px rgba(65, 88, 208, 0.3);







    border-color: rgba(65, 88, 208, 0.5);







    z-index: 20;







    transition-delay: 0s !important;







    filter: blur(0px) !important;







    opacity: 1 !important;







}







.portfolio-img-placeholder,







.portfolio-img {







    width: 100%;







    height: 100%;







    object-fit: cover;







    transition: transform 0.6s ease;







}







.portfolio-card:hover .portfolio-img-placeholder,







.portfolio-card:hover .portfolio-img {







    transform: scale(1.08); /* Zoom effect on hover */







}







.portfolio-overlay {







    position: absolute;







    inset: 0;







    background: linear-gradient(to top, rgba(10, 10, 15, 0.95) 0%, rgba(10, 10, 15, 0.4) 50%, transparent 100%);







    padding: 30px;







    display: flex;







    flex-direction: column;







    justify-content: flex-end;







    opacity: 0;







    transition: opacity 0.4s ease;







}







.portfolio-card:hover .portfolio-overlay {







    opacity: 1;







}







.portfolio-category {







    font-size: 0.8rem;







    font-weight: 700;







    text-transform: uppercase;







    letter-spacing: 1.5px;







    color: var(--clr-brand-pink);







    margin-bottom: 8px;







    transform: translateY(15px);







    transition: transform 0.4s ease;







}







.portfolio-title {







    font-size: 1.25rem;







    font-weight: 700;







    color: var(--clr-text);







    line-height: 1.3;







    margin-bottom: 0;







    transform: translateY(15px);







    transition: transform 0.4s ease 0.05s;







}







.portfolio-explore {







    position: absolute;







    top: 25px;







    right: 25px;







    width: 45px;







    height: 45px;







    border-radius: 50%;







    background: rgba(255, 255, 255, 0.1);







    backdrop-filter: blur(10px);







    display: flex;







    align-items: center;







    justify-content: center;







    color: var(--clr-text);







    transform: scale(0) rotate(-45deg);







    transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);







}







.portfolio-explore svg {







    width: 20px;







    height: 20px;







    transition: transform 0.3s ease;







}







.portfolio-card:hover .portfolio-explore {







    transform: scale(1) rotate(0);







}







.portfolio-card:hover .portfolio-category,







.portfolio-card:hover .portfolio-title {







    transform: translateY(0);







}







/* Modals */







.portfolio-modal {







    position: fixed;







    top: 0;







    left: 0;







    width: 100vw;







    height: 100vh;







    z-index: 1000;







    display: none; /* Changed from hidden flex to none */







    align-items: center;







    justify-content: center;







    opacity: 0;







    pointer-events: none !important;







    transition: all 0.4s ease;







}







.portfolio-modal.active {







    display: flex; /* Show when active */







    visibility: visible;







    opacity: 1;







}







.modal-backdrop {







    position: absolute;







    inset: 0;







    background: rgba(5, 5, 8, 0.85);







    backdrop-filter: blur(15px);







}







.modal-dialog {







    position: relative;







    width: 90%;







    max-width: 1200px;







    height: 90vh;







    background: rgba(15, 15, 18, 0.95);







    border: 1px solid rgba(255, 255, 255, 0.1);







    border-radius: 20px;







    display: flex;







    flex-direction: column;







    overflow: hidden; /* Header fixed, content scrolls */







    transform: translateY(50px) scale(0.95);







    transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);







    box-shadow: 0 30px 60px rgba(0,0,0,0.7);







    pointer-events: auto !important;







}







.portfolio-modal.active .modal-dialog {







    transform: translateY(0) scale(1);







}







.modal-header {







    display: flex;







    justify-content: flex-end;







    padding: 20px;







    border-bottom: 1px solid rgba(255, 255, 255, 0.05);







}







.modal-close {







    background: transparent;







    border: none;







    color: var(--clr-text-muted);







    cursor: pointer;







    width: 44px;







    height: 44px;







    border-radius: 50%;







    display: flex;







    align-items: center;







    justify-content: center;







    transition: all 0.3s ease;







    background: rgba(255,255,255,0.03);







    pointer-events: auto !important;







    z-index: 100 !important;







}







.modal-close:hover {







    color: var(--clr-text);







    background: rgba(200, 80, 192, 0.2);







    transform: rotate(90deg);







}







.modal-close svg {







    width: 24px;







    height: 24px;







}







.modal-content {







    flex: 1;







    overflow-y: auto !important;







    padding: 0;







    scrollbar-width: thin;







    scrollbar-color: var(--clr-brand-pink) transparent;







    pointer-events: auto !important;







}







/* Hide scrollbar for modal content */







.modal-content::-webkit-scrollbar { width: 8px; }







.modal-content::-webkit-scrollbar-track { background: transparent; }







.modal-content::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.2); border-radius: 4px; }







/* Modal specific content styles (Placeholder) */







.modal-hero {







    width: 100%;







    height: 50vh;







    background-size: cover;







    background-position: center;







    position: relative;







    display: flex;







    align-items: flex-end;







    padding: 60px;







}







.modal-hero::after {







    content: '';







    position: absolute;







    inset: 0;







    background: linear-gradient(to top, rgba(15, 15, 18, 1) 0%, transparent 100%);







}







.modal-hero-content {







    position: relative;







    z-index: 2;







    max-width: 800px;







}







.modal-tag {







    color: var(--clr-brand-pink);







    font-weight: 700;







    text-transform: uppercase;







    letter-spacing: 2px;







    font-size: 0.9rem;







    margin-bottom: 10px;







}







.modal-title {







    font-size: 3rem;







    font-weight: 800;







    margin-bottom: 20px;







    line-height: 1.1;







}







.modal-body {







    padding: 60px;







    max-width: 1000px;







    margin: 0 auto;







}







.modal-text {







    font-size: 1.2rem;







    line-height: 1.8;







    color: var(--clr-text-muted);







    margin-bottom: 40px;







}







.modal-gallery {







    display: flex;







    flex-direction: column;







    gap: 40px;







}







.modal-gallery-img {







    width: 100%;







    border-radius: 10px;







    box-shadow: 0 10px 30px rgba(0,0,0,0.3);







}







@media (max-width: 768px) {







    .modal-dialog { width: 100%; height: 100vh; border-radius: 0; }







    .modal-hero { padding: 30px; height: 40vh; }







    .modal-title { font-size: 2rem; }







    .modal-body { padding: 30px; }







    .modal-gallery { grid-template-columns: 1fr; }







}







/* Gallery placeholder tiles */







.modal-gallery-placeholder {







    height: 600px;







    width: 100%;







    background: rgba(255, 255, 255, 0.04);







    border: 1px solid rgba(255, 255, 255, 0.08);







    border-radius: 14px;







    display: flex;







    align-items: center;







    justify-content: center;







    color: rgba(255, 255, 255, 0.25);







    font-size: 0.9rem;







    font-weight: 500;







    letter-spacing: 1px;







}







/* Portfolio card opacity base */







.portfolio-card {







    opacity: 1;







}







/* ========================================= */







/* CLIENTS SECTION & MODAL                   */







/* ========================================= */







.clients-section {







    position: relative;







    z-index: 10;







}







/* Clients Marquee */







.clients-marquee {







    overflow: hidden;







    padding: 60px 0;







    position: relative;







    width: 100%;







    display: flex;







    flex-wrap: nowrap;







    background: transparent;







    pointer-events: auto !important;







    z-index: 100;







}







.clients-marquee::before, .clients-marquee::after {







    display: none; /* Removed frames as requested */







}







.clients-marquee-inner {







    display: flex;







    flex-wrap: nowrap;







    width: max-content;







    animation: marquee 25s linear infinite;







    align-items: center;







    pointer-events: auto !important;







    /* Hardware acceleration for smooth movement */







    will-change: transform;







    -webkit-backface-visibility: hidden;







    backface-visibility: hidden;







    transform: translateZ(0);







}







.clients-marquee:hover .clients-marquee-inner {







    animation-play-state: paused;







}







.clients-track {







    display: flex;







    flex-wrap: nowrap;







    align-items: center;







}







@keyframes marquee {







    0% { transform: translate3d(0, 0, 0); }







    100% { transform: translate3d(-50%, 0, 0); }







}







.client-logo {







    display: inline-flex;







    align-items: center;







    justify-content: center;







    width: 200px; height: 100px;







    background: transparent;







    cursor: pointer !important;







    pointer-events: auto !important;







    flex-shrink: 0;







    position: relative;







    z-index: 1000 !important; /* Increased from 101 */







    transition: all 0.4s ease;







    margin-right: 80px;







}







.client-logo img {







    max-width: 160px;







    max-height: 80px;







    object-fit: contain;







    filter: grayscale(100%) brightness(200%) opacity(0.5);







    transition: all 0.4s ease;







    pointer-events: auto !important;







}







.client-logo:hover img {







    filter: grayscale(0%) brightness(100%) opacity(1);







    transform: scale(1.1);







}







.client-logo.text-logo {







    font-size: 2.2rem;







    font-weight: 800;







    color: var(--clr-text);







    text-transform: uppercase;







    letter-spacing: 2px;







    opacity: 0.5;







}







.client-logo.text-logo:hover {







    opacity: 1;







    color: var(--clr-brand-pink);







    transform: scale(1.1);







}







/* Client Modals */







.client-modal {







    position: fixed;







    inset: 0;







    z-index: 9999;







    display: none; /* Changed from flex to none */







    justify-content: center;







    align-items: center;







    opacity: 0;







    pointer-events: none !important;







    transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1);







}







.client-modal.active {







    display: flex; /* Show when active */







    opacity: 1;







    pointer-events: auto !important;







}







.client-modal-backdrop {







    position: absolute;







    inset: 0;







    background: rgba(0, 0, 0, 0.6);







    backdrop-filter: blur(15px);







}







.client-modal-content {







    position: relative;







    width: 90%;







    max-width: 900px;







    background: rgba(15, 15, 18, 0.9);







    border: 1px solid rgba(255, 255, 255, 0.1);







    border-radius: 30px;







    padding: 50px;







    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.7), inset 0 0 0 1px rgba(255, 255, 255, 0.05);







    transform: translateY(40px) scale(0.95);







    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);







    max-height: 90vh;







    overflow-y: auto;







    overflow-x: hidden;







}







.client-modal.active .client-modal-content {







    transform: translateY(0) scale(1);







}







.client-modal-content .modal-glow {







    position: absolute;







    top: -50%;







    left: -50%;







    width: 200%;







    height: 200%;







    background: radial-gradient(circle at 50% 50%, rgba(200, 80, 192, 0.08) 0%, transparent 40%);







    pointer-events: none;







    z-index: 0;







}







.client-modal-body {







    position: relative;







    z-index: 2;







    display: grid;







    grid-template-columns: 1fr 1fr;







    gap: 50px;







}







.client-modal-left {







    display: flex;







    flex-direction: column;







}







.modal-client-title {







    font-size: 3rem;







    font-weight: 800;







    margin-bottom: 20px;







    line-height: 1.1;







}







.modal-subtitle {







    color: var(--clr-text-muted);







    font-size: 1.1rem;







    font-weight: 500;







    margin-bottom: 20px;







}







.modal-services-list {







    margin-bottom: 30px;







}







.modal-services-list ul {







    list-style: none;







    padding: 0;







}







.modal-services-list li {







    display: flex;







    align-items: flex-start;







    gap: 12px;







    color: var(--clr-text);







    font-size: 1.05rem;







    margin-bottom: 15px;







    line-height: 1.5;







}







.modal-services-list li::before {







    content: '';







    display: block;







    width: 8px;







    height: 8px;







    margin-top: 8px;







    background: var(--grad-glow);







    border-radius: 50%;







    box-shadow: 0 0 8px rgba(200, 80, 192, 0.5);







    flex-shrink: 0;







}







.client-case-btn {







    width: 100%;







    text-align: center;







    margin-top: auto;







    justify-content: center;







}







.client-modal-right {







    display: flex;







    align-items: center;







    justify-content: center;







}







#modalClientLetter {







    max-width: 100%;







    max-height: 800px; /* Increased 3x as requested */







    object-fit: contain;







    border-radius: 12px;







    box-shadow: 0 15px 50px rgba(0,0,0,0.5);







    border: 1px solid rgba(255,255,255,0.1);







    display: none;







    margin: 20px auto;







}







#modalClientLetter.active {







    display: block;







}







.client-modal .close-modal {







    position: absolute;







    top: 25px;







    right: 25px;







    background: rgba(255, 255, 255, 0.05);







    border: 1px solid rgba(255, 255, 255, 0.1);







    color: var(--clr-text-muted);







    width: 44px;







    height: 44px;







    border-radius: 50%;







    display: flex;







    justify-content: center;







    align-items: center;







    cursor: pointer;







    z-index: 10;







    transition: all 0.3s ease;







}







.client-modal .close-modal:hover {







    background: rgba(255, 255, 255, 0.15);







    transform: rotate(90deg);







    color: var(--clr-text);







}







/* ========================================= */







/* CONTACT SECTION                           */







/* ========================================= */







.contact-section {







    position: relative;







}







.contact-grid {







    display: grid;







    grid-template-columns: 1fr 1fr;







    gap: 40px;







    align-items: center;







}







.contact-details {







    margin-top: 40px;







    display: flex;







    flex-direction: column;







    gap: 20px;







}







.contact-item {







    display: flex;







    align-items: center;







    gap: 15px;







    color: var(--clr-text-muted);







    font-size: 1.1rem;







}







.contact-icon-box {







    width: 44px;







    height: 44px;







    background: rgba(255, 255, 255, 0.03);







    border: 1px solid rgba(255, 255, 255, 0.05);







    border-radius: 12px;







    display: flex;







    align-items: center;







    justify-content: center;







    color: var(--clr-brand-pink);







}







.contact-icon-box svg {







    width: 20px;







    height: 20px;







}







/* Form Styling */







.contact-form-wrapper {







    position: relative;







    background: rgba(15, 15, 20, 0.4);







    backdrop-filter: blur(20px);







    border: 1px solid rgba(255, 255, 255, 0.05);







    border-radius: 40px;







    padding: 35px;







    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.3);







    overflow: hidden;







    min-height: auto;







    display: flex;







    flex-direction: column;







    justify-content: center;







}







.contact-form-wrapper::before {







    content: '';







    position: absolute;







    top: -50px;







    right: -50px;







    width: 150px;







    height: 150px;







    background: var(--clr-brand-pink);







    filter: blur(100px);







    opacity: 0.15;







    z-index: 0;







}







.contact-form {







    position: relative;







    z-index: 1;







    display: flex;







    flex-direction: column;







    gap: 15px;







    transition: all 0.5s ease;







}







.contact-form.hidden {







    opacity: 0;







    pointer-events: none;







    transform: translateY(20px);







}







.form-group {







    position: relative;







}







.form-group input {







    width: 100%;







    background: rgba(255, 255, 255, 0.03);







    border: 1px solid rgba(255, 255, 255, 0.1);







    border-radius: 16px;







    padding: 14px 20px;







    color: var(--clr-text);







    font-family: inherit;







    font-size: 0.95rem;







    transition: all 0.3s ease;







}







.form-group input:focus {







    outline: none;







    border-color: var(--clr-brand-blue);







    background: rgba(255, 255, 255, 0.05);







    box-shadow: 0 0 20px rgba(65, 88, 208, 0.2);







}







.form-group input::placeholder {







    color: var(--clr-text-muted);







    opacity: 0.6;







}







/* Custom Checkbox */







.form-checkbox {







    margin: 10px 0;







}







.checkbox-container {







    display: flex;







    align-items: flex-start;







    gap: 12px;







    cursor: pointer;







    font-size: 0.85rem;







    color: var(--clr-text-muted);







    user-select: none;







}







.checkbox-container input {







    position: absolute;







    opacity: 0;







    cursor: pointer;







    height: 0;







    width: 0;







}







.checkmark {







    height: 20px;







    width: 20px;







    background: rgba(255, 255, 255, 0.05);







    border: 1px solid rgba(255, 255, 255, 0.1);







    border-radius: 6px;







    flex-shrink: 0;







    position: relative;







    transition: all 0.3s ease;







}







.checkbox-container:hover input ~ .checkmark {







    background: rgba(255, 255, 255, 0.08);







}







.checkbox-container input:checked ~ .checkmark {







    background: var(--clr-brand-pink);







    border-color: var(--clr-brand-pink);







}







.checkmark:after {







    content: "";







    position: absolute;







    display: none;







}







.checkbox-container input:checked ~ .checkmark:after {







    display: block;







}







.checkbox-container .checkmark:after {







    left: 7px;







    top: 3px;







    width: 5px;







    height: 10px;







    border: solid white;







    border-width: 0 2px 2px 0;







    transform: rotate(45deg);







}







.form-submit {







    max-width: 250px;







    align-self: center;







    width: 100%;







    padding: 1rem 2rem;







    font-size: 1rem;







    justify-content: center;







    margin-top: 10px;







}







.form-legal {







    font-size: 0.75rem;







    color: var(--clr-text-muted);







    text-align: center;







    line-height: 1.4;







}







.form-legal a {







    color: var(--clr-text);







    text-decoration: underline;







}







/* Success Message */







.form-success-message {







    display: none; /* Changed from absolute to display management */







    width: 100%;







    text-align: center;







    opacity: 0;







    transform: translateY(20px);







    transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);







}







.form-success-message.visible {







    display: block;







    opacity: 1;







    transform: translateY(0);







}







.success-icon {







    width: 80px;







    height: 80px;







    background: rgba(0, 255, 127, 0.1);







    border: 1px solid rgba(0, 255, 127, 0.2);







    border-radius: 50%;







    margin: 0 auto 25px;







    display: flex;







    align-items: center;







    justify-content: center;







    color: #00ff7f;







}







.success-icon svg {







    width: 35px;







    height: 35px;







}







.form-success-message h3 {







    font-size: 2.2rem;







    margin-bottom: 15px;







    background: var(--grad-glow);







    -webkit-background-clip: text;







    background-clip: text;







    -webkit-text-fill-color: transparent;







}







.form-success-message p {







    color: var(--clr-text-muted);







    font-size: 1.1rem;







    line-height: 1.6;







    margin-bottom: 30px;







}







/* Responsive */







@media (max-width: 1024px) {







    .contact-grid {







        grid-template-columns: 1fr;







        gap: 60px;







    }







    







    .contact-info {







        text-align: center;







        display: flex;







        flex-direction: column;







        align-items: center;







    }







}







@media (max-width: 500px) {







    .contact-form-wrapper {







        padding: 30px 20px;







    }







}







/* Site Footer */







.site-footer {







    background: rgba(9, 9, 11, 0.8);







    backdrop-filter: blur(20px);







    border-top: 1px solid rgba(255, 255, 255, 0.05);







    padding: 40px 0 20px;







    margin-top: 40px;







}







.footer-grid {







    display: grid;







    grid-template-columns: 2fr 1fr 1.5fr 1fr;







    gap: 50px;







    margin-bottom: 60px;







}







.footer-logo {







    height: 50px;







    margin-bottom: 25px;







    filter: brightness(1.1);







}







.footer-tagline {







    color: var(--clr-text-muted);







    font-size: 0.95rem;







    line-height: 1.6;







    max-width: 320px;







}







.footer-col h4 {







    font-size: 1.2rem;







    margin-bottom: 25px;







    font-weight: 600;







    color: var(--clr-text);







}







.footer-links {







    list-style: none;







}







.footer-links li {







    margin-bottom: 12px;







}







.footer-links a {







    color: var(--clr-text-muted);







    text-decoration: none;







    transition: all 0.3s ease;







    font-size: 0.95rem;







    position: relative;







    display: inline-block;







}







.footer-links a:hover {







    background: var(--grad-glow);







    -webkit-background-clip: text;







    -webkit-text-fill-color: transparent;







    background-clip: text;







    color: transparent;







}







.footer-links a:hover::after {







    content: '';







    position: absolute;







    bottom: -4px;







    left: 0;







    width: 100%;







    height: 1px;







    background: var(--grad-glow);







    box-shadow: 0 0 5px rgba(200, 80, 192, 0.5);







}







.footer-contact-info {







    display: flex;







    flex-direction: column;







    gap: 15px;







}







.footer-contact-item {







    display: flex;







    align-items: center;







    gap: 12px;







    color: var(--clr-text-muted);







    text-decoration: none;







    transition: color 0.3s ease;







    font-size: 0.95rem;







}







.footer-contact-item svg {







    width: 18px;







    height: 18px;







    color: var(--clr-brand-pink);







}







.footer-contact-item:hover {







    color: var(--clr-text);







}







.social-col h4 {







    margin-bottom: 10px;







}







.social-cta {







    color: var(--clr-text-muted);







    font-size: 0.85rem;







    margin-bottom: 20px;







    max-width: 250px;







    line-height: 1.5;







}







.social-links {







    display: flex;







    gap: 12px;







    flex-wrap: wrap;







}







.social-icon {







    width: 42px;







    height: 42px;







    border-radius: 10px;







    background: rgba(255, 255, 255, 0.03);







    display: flex;







    align-items: center;







    justify-content: center;







    color: var(--clr-text-muted);







    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);







    border: 1px solid rgba(255, 255, 255, 0.05);







}







.social-icon svg {







    width: 18px;







    height: 18px;







}







.social-icon:hover {







    background: var(--grad-glow);







    transform: translateY(-5px) scale(1.1);







    box-shadow: 0 10px 25px rgba(200, 80, 192, 0.4);







    border-color: transparent;







    color: white;







}







.footer-bottom {







    display: flex;







    justify-content: space-between;







    align-items: center;







    padding-top: 30px;







    border-top: 1px solid rgba(255, 255, 255, 0.05);







    color: var(--clr-text-muted);







    font-size: 0.85rem;







}







.footer-bottom-right {







    display: flex;







    gap: 25px;







}







.footer-bottom-right a {







    color: var(--clr-text-muted);







    text-decoration: none;







    transition: all 0.3s ease;







    font-size: 0.85rem;







}







.footer-bottom-right a:hover {







    background: var(--grad-glow);







    -webkit-background-clip: text;







    -webkit-text-fill-color: transparent;







    background-clip: text;







    color: transparent;







}







.section-subtitle {







    color: var(--clr-text-muted);







    font-size: 1.1rem;







    margin-bottom: 50px;







    max-width: 600px;







    margin-left: auto;







    margin-right: auto;







}







.blog-section {







    padding-top: 40px;







    padding-bottom: 40px;







    position: relative;







    z-index: 10;







    overflow: hidden;







}







.section-subtitle {







    font-size: 1.05rem;







    color: var(--clr-text-muted);







    text-align: center;







    margin-top: -1.5rem;







    margin-bottom: 3rem;







}







.fade-up {







    will-change: transform, opacity;







}







.blog-grid {







    display: grid;







    grid-template-columns: repeat(3, 1fr);







    gap: 30px;







    margin-bottom: 40px;







}







.blog-card {







    background: rgba(255, 255, 255, 0.04);







    backdrop-filter: blur(15px);







    -webkit-backdrop-filter: blur(15px);







    border: 1px solid rgba(255, 255, 255, 0.08);







    border-radius: 24px;







    overflow: hidden;







    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);







    display: flex;







    flex-direction: column;







    cursor: pointer;







    position: relative;







    min-height: 400px;







    opacity: 1 !important;







    will-change: transform, box-shadow, border-color;







}







.blog-card:hover {







    transform: translateY(-12px) scale(1.02);







    border-color: rgba(200, 80, 192, 0.5);







    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.4), 0 0 30px rgba(200, 80, 192, 0.2);







    background: rgba(255, 255, 255, 0.06);







}







.blog-card::after {







    content: '';







    position: absolute;







    inset: 0;







    border-radius: 24px;







    padding: 2px;







    background: var(--grad-glow);







    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);







    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);







    -webkit-mask-composite: xor;







    mask-composite: exclude;







    opacity: 0;







    transition: opacity 0.5s ease;







}







.blog-card:hover::after {







    opacity: 1;







}







.blog-card-image {







    height: 200px;







    position: relative;







    overflow: hidden;







}







.blog-card-image img {







    object-position: center;







}







.blog-placeholder {







    width: 100%;







    height: 100%;







    transition: transform 0.6s ease;







}







.blog-card:hover .blog-placeholder {







    transform: scale(1.1);







}







.blog-category {







    position: absolute;







    top: 15px;







    right: 15px;







    padding: 6px 15px;







    background: var(--grad-glow);







    border-radius: 100px;







    font-size: 0.75rem;







    font-weight: 600;







    color: white;







    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);







}







.blog-card-content {







    padding: 25px;







    flex: 1;







    display: flex;







    flex-direction: column;







}







.blog-date {







    font-size: 0.8rem;







    color: var(--clr-brand-pink);







    margin-bottom: 10px;







    font-weight: 500;







}







.blog-title {







    font-size: 1.25rem;







    margin-bottom: 15px;







    line-height: 1.4;







    color: var(--clr-text);







    transition: color 0.3s ease;







}







.blog-card:hover .blog-title {







    color: var(--clr-text);







}







.blog-excerpt {







    font-size: 0.95rem;







    color: var(--clr-text-muted);







    line-height: 1.6;







    margin-bottom: 25px;







    display: -webkit-box;







    -webkit-line-clamp: 3;







    line-clamp: 3;







    -webkit-box-orient: vertical;







    overflow: hidden;







}







.blog-more {







    margin-top: auto;







    display: flex;







    align-items: center;







    gap: 8px;







    color: var(--clr-text);







    text-decoration: none;







    font-weight: 600;







    font-size: 0.9rem;







    transition: gap 0.3s ease;







}







.blog-more svg {







    transition: transform 0.3s ease;







}







.blog-more:hover {







    gap: 12px;







}







.blog-more:hover svg {







    transform: translateX(3px);







}







@media (max-width: 992px) {







    .footer-grid {







        grid-template-columns: 1fr 1fr;







        gap: 40px;







    }







}







@media (max-width: 576px) {







    .footer-grid {







        grid-template-columns: 1fr;







    }







    .footer-bottom {







        flex-direction: column;







        gap: 20px;







        text-align: center;







    }







    .footer-bottom-right {







        justify-content: center;







    }







}







/* --- BLOG MODAL --- */







.blog-modal {







    position: fixed;







    top: 0;







    left: 0;







    width: 100%;







    height: 100%;







    background: rgba(5, 5, 8, 0.9);







    backdrop-filter: blur(20px);







    -webkit-backdrop-filter: blur(20px);







    z-index: 2000;







    display: none; /* Changed from flex to none */







    justify-content: center;







    align-items: center;







    opacity: 0;







    pointer-events: none !important;







    transition: opacity 0.4s ease, visibility 0.4s ease;







}







.blog-modal.active {







    display: flex;







    opacity: 1;







    pointer-events: auto !important;







}







.blog-modal-content {







    background: rgba(18, 18, 22, 0.95);







    width: 90%;







    max-width: 900px;







    height: 85vh;







    border-radius: 32px;







    border: 1px solid rgba(255, 255, 255, 0.1);







    position: relative;







    overflow: hidden;







    display: flex;







    flex-direction: column;







    transform: scale(0.9) translateY(30px);







    transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);







}







.blog-modal.active .blog-modal-content {







    transform: scale(1) translateY(0);







}







.close-blog-modal {







    position: absolute;







    top: 25px;







    right: 25px;







    width: 45px;







    height: 45px;







    border-radius: 50%;







    background: rgba(255, 255, 255, 0.05);







    border: 1px solid rgba(255, 255, 255, 0.1);







    color: white;







    font-size: 24px;







    display: flex;







    align-items: center;







    justify-content: center;







    cursor: pointer;







    z-index: 10;







    transition: all 0.3s ease;







}







.close-blog-modal:hover {







    background: var(--grad-glow);







    transform: rotate(90deg);







}







.blog-modal-hero {







    width: 100%;







    height: 180px;







    position: relative;







    overflow: hidden;







}







.blog-modal-hero img {







    width: 100%;







    height: 100%;







    object-fit: cover;







    object-position: center 30%;







}







.blog-modal-hero::after {







    content: '';







    position: absolute;







    inset: 0;







    background: linear-gradient(to bottom, transparent 50%, rgba(18, 18, 22, 1));







}







.blog-modal-body {







    padding: 50px;







    overflow-y: auto;







    flex: 1;







    min-height: 0;







    scrollbar-width: thin;







    scrollbar-color: var(--clr-brand-pink) transparent;







}







.blog-modal-body::-webkit-scrollbar {







    width: 6px;







}







.blog-modal-body::-webkit-scrollbar-thumb {







    background: var(--clr-brand-pink);







    border-radius: 10px;







}







.blog-modal-info {







    margin-bottom: 25px;







}







.blog-modal-category {







    display: inline-block;







    padding: 6px 15px;







    background: var(--grad-glow);







    border-radius: 100px;







    font-size: 0.8rem;







    font-weight: 700;







    margin-bottom: 15px;







}







.blog-modal-title {







    font-size: 2.5rem;







    font-weight: 800;







    line-height: 1.2;







    margin-bottom: 10px;







}







.blog-modal-date {







    color: var(--clr-brand-pink);







    font-weight: 600;







    font-size: 0.9rem;







}







.blog-modal-text {







    font-size: 1.1rem;







    line-height: 1.8;







    color: var(--clr-text-muted);







}







.blog-modal-text p {







    margin-bottom: 20px;







}







.blog-modal-text ul {







    list-style-type: disc;







    margin-left: 20px;







    margin-bottom: 20px;







}







.blog-modal-text li {







    margin-bottom: 10px;







}







.blog-modal-text strong {







    color: var(--clr-text);







    font-weight: 700;







}







@media (max-width: 768px) {







    .blog-modal-body { padding: 30px 20px; }







    .blog-modal-title { font-size: 1.8rem; }







    .blog-modal-hero { height: 250px; }







}







    /* About Us specific */







    .values-grid {







        grid-template-columns: 1fr;







    }







    .about-hero-title {







        font-size: 2.5rem !important;







    }







    .about-hero-subtitle {







        font-size: 1.2rem !important;







    }







}







/* --- Storytelling Sections (About Page) --- */







.story-section {







    position: relative;







    z-index: 2;







}







.story-grid {







    display: grid;







    grid-template-columns: 1.1fr 0.9fr;







    gap: 30px;







    align-items: center;







}







.story-grid.reversed {







    grid-template-columns: 0.9fr 1.1fr;







}







.story-grid.reversed .story-content {







    order: 2;







}







.story-grid.reversed .story-visual {







    order: 1;







}







.story-content {







    position: relative;







    z-index: 2;







}







.story-title {







    font-size: 3.2rem;







    font-weight: 800;







    margin-bottom: 25px;







}







.story-visual {







    position: relative;







    display: flex;







    justify-content: center;







    align-items: center;







}







.neon-asset-wrapper {







    position: relative;







    width: 100%;







    max-width: 450px;







    padding: 60px;







    z-index: 10; /* Ensure it's above background patterns */







}







.neon-asset {







    width: 100%;







    height: auto;







    position: relative;







    z-index: 2;







    mix-blend-mode: screen; /* Removes black backgrounds perfectly for neon assets */







}







.asset-glow {







    position: absolute;







    top: 50%;







    left: 50%;







    transform: translate(-50%, -50%);







    width: 80%;







    height: 80%;







    border-radius: 50%;







    filter: blur(80px);







    opacity: 0.7;







    z-index: 1;







    pointer-events: none;







    animation: glowPulse 3s infinite alternate ease-in-out;







}







@keyframes glowPulse {







    0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0.5; }







    100% { transform: translate(-50%, -50%) scale(1.2); opacity: 0.9; }







}







.spark-glow { background: radial-gradient(circle, #C850C0, transparent 70%); }







.target-glow { background: radial-gradient(circle, #4158D0, transparent 70%); }







.love-glow { background: radial-gradient(circle, #FFCC70, transparent 70%); }







.floating {







    animation: floatingAsset 6s ease-in-out infinite;







}







@keyframes floatingAsset {







    0%, 100% { transform: translateY(0) rotate(0deg); }







    50% { transform: translateY(-20px) rotate(2deg); }







}







/* --- Mission Section --- */







.mission-section {







    position: relative;







    padding: 120px 0;







}







.mission-card {







    position: relative;







    z-index: 2;







}







/* --- Premium Values Hub --- */







.about-values-hub {







    position: relative;







    width: 100%;







}







/* --- Premium Values Hub --- */







.about-values-hub {







    position: relative;







    width: 100%;







}







.hub-container {







    position: relative;







    width: 100%;







    max-width: 1300px;







    height: 1000px; /* Increased height for vertical breathing room */







    margin: 0 auto;







}







.hub-center {







    position: absolute;







    top: 50%;







    left: 50%;







    transform: translate(-50%, -50%);







    z-index: 10;







    display: flex;







    justify-content: center;







    align-items: center;







    width: 200px;







    height: 200px;







}







.hub-center-glow {







    position: absolute;







    width: 160%;







    height: 160%;







    border-radius: 50%;







    background: radial-gradient(circle at center, rgba(200, 80, 192, 0.35) 0%, transparent 70%);







    animation: hubPulseGlow 4s infinite alternate ease-in-out;







}







@keyframes hubPulseGlow {







    0% { transform: scale(0.9); opacity: 0.5; }







    100% { transform: scale(1.1); opacity: 0.8; }







}







.hub-center-core {







    position: relative;







    width: 220px;







    height: 220px;







    border-radius: 50%;







    display: flex;







    flex-direction: column;







    justify-content: center;







    align-items: center;







    text-align: center;







    padding: 20px;







    background: transparent; 







    border: none; 







    z-index: 2;







    transition: all 0.5s ease;







    filter: drop-shadow(0 0 15px rgba(200, 80, 192, 0.4)); /* Added glow for visibility */







}







.hub-center:hover .hub-center-core {







    border-color: rgba(200, 80, 192, 0.6);







    transform: scale(1.05);







}







.hub-lines {







    position: absolute;







    top: 50%;







    left: 50%;







    transform: translate(-50%, -50%);







    width: 100%;







    height: 100%;







    z-index: 1;







    pointer-events: none;







    overflow: visible;







}







.hub-radial-line { fill: none; stroke: rgba(255, 255, 255, 0.15); stroke-width: 1.5; }







.hub-ring { fill: none; stroke: rgba(255, 255, 255, 0.1); stroke-width: 1.5; stroke-dasharray: 5 10; }







.hub-pulse { fill: none; stroke: url(#hubGrad); stroke-width: 3; stroke-linecap: round; filter: url(#glow-filter); stroke-dasharray: 60 1000; stroke-dashoffset: 1000; animation: hubPulseAnim 4s infinite linear; opacity: 0.8; }







@keyframes hubPulseAnim {







    0% { stroke-dashoffset: 1000; opacity: 0; }







    10% { opacity: 1; }







    90% { opacity: 1; }







    100% { stroke-dashoffset: 0; opacity: 0; }







}







/* Nodes */







.hub-node {







    position: absolute;







    top: 50%;







    left: 50%;







    z-index: 5;







    transition: opacity 0.5s ease;







}







.hub-node:hover { z-index: 30; }







.node-group {







    position: relative;







    display: flex;







    flex-direction: column;







    align-items: center;







    justify-content: center;







    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);







}







.hub-container:hover .hub-node { opacity: 0.7 !important; } /* Less aggressive dimming */







.hub-container .hub-node:hover { opacity: 1 !important; }







.hub-node:hover .node-group { transform: scale(1.2); }







.node-icon {







    position: relative;







    width: 115px; /* Increased to avoid clipping the sphere */







    height: 115px;







    border-radius: 50%;







    overflow: hidden; /* This acts as the circular 'cutter' */







    display: flex;







    justify-content: center;







    align-items: center;







    z-index: 2;







    transition: all 0.4s ease;







    background: transparent;







}







.node-icon img {







    width: 100%;







    height: 100%;







    object-fit: cover; 







    position: relative;







    z-index: 2;







    filter: brightness(1.2) contrast(1.1) drop-shadow(0 0 10px rgba(255, 255, 255, 0.2)); /* Increased brightness and added subtle glow */







    transition: all 0.4s ease;







}







/* Pulse removed per user request to keep only spheres */







/* Animation removed */







@keyframes nodePulseGlow {







    0% { transform: scale(0.8); opacity: 0.5; }







    100% { transform: scale(1.2); opacity: 0.8; }







}







.node-content {







    position: absolute;







    width: 250px;







    pointer-events: none;







    opacity: 1; 







    z-index: 25;







}







.node-content h4 {







    font-size: 1.15rem;







    margin-bottom: 5px;







    font-weight: 800;







    text-shadow: 0 5px 15px rgba(0,0,0,0.9);







}







.node-content p {







    font-size: 0.85rem;







    line-height: 1.4;







    color: rgba(255, 255, 255, 0.8);







    margin: 0;







    font-weight: 500;







    text-shadow: 0 2px 5px rgba(0,0,0,0.8);







}







/* Positions */







.text-top { bottom: 125px; left: 50%; transform: translateX(-50%); text-align: center; }







.text-right { left: 135px; top: 50%; transform: translateY(-50%); text-align: left; }







.text-left { right: 135px; top: 50%; transform: translateY(-50%); text-align: right; }







.text-bottom-right { top: 110px; left: 80px; text-align: left; }







.text-bottom-left { top: 110px; right: 80px; text-align: right; }







/* Responsive adjustments */







@media (max-width: 992px) {







    .hub-container { height: auto; display: flex; flex-direction: column; align-items: center; gap: 40px; }







    .hub-center { position: relative; top: 0; left: 0; transform: none; margin-bottom: 30px; }







    .hub-node { opacity: 1 !important; position: relative !important; top: auto !important; left: auto !important; transform: none !important; width: 100% !important; max-width: 500px; flex-direction: row; align-items: center; height: auto; margin-bottom: 25px; }







    .node-group { flex-direction: row; width: 100%; align-items: center; }







    .node-content { position: relative !important; top: auto !important; left: auto !important; right: auto !important; bottom: auto !important; transform: none !important; text-align: left !important; width: calc(100% - 130px); padding-left: 20px; }







    .node-icon { flex: 0 0 100px; height: 100px; margin-right: 25px; }







}







/* Make Your Mark Section */







.about-mark {







    background: radial-gradient(circle at 30% 50%, rgba(65, 88, 208, 0.05), transparent 50%);







}







.mark-grid {







    display: grid;







    grid-template-columns: 1fr 1fr;







    gap: 60px;







    align-items: center;







    margin-top: 40px;







}







.mark-visual-col {







    display: flex;







    justify-content: center;







    align-items: center;







    position: relative;







}







.mark-svg-container {







    position: relative;







    width: 100%;







    max-width: 450px;







    padding: 20px;







}







.fingerprint-svg {







    width: 100%;







    height: auto;







    overflow: visible;







}







.fp-paths path {







    stroke-dasharray: 1000;







    stroke-dashoffset: 1000;







    animation: drawPath 3s forwards ease-out;







}







/* Specific pulse animations for some paths */







.pulse-path-1 { animation: drawPath 3s forwards ease-out, markPulse 6s infinite 3s linear !important; }







.pulse-path-2 { animation: drawPath 3s forwards ease-out 0.2s, markPulse 5s infinite 3.5s linear !important; }







.pulse-path-3 { animation: drawPath 3s forwards ease-out 0.4s, markPulse 7s infinite 4s linear !important; }







.pulse-path-4 { animation: drawPath 3s forwards ease-out 0.6s, markPulse 4s infinite 4.5s linear !important; }







.pulse-path-5 { animation: drawPath 3s forwards ease-out 0.8s, markPulse 8s infinite 5s linear !important; }







.pulse-path-6 { animation: drawPath 3s forwards ease-out 1s, markPulse 3s infinite 5.5s linear !important; }







@keyframes drawPath {







    to { stroke-dashoffset: 0; }







}







@keyframes markPulse {







    0% { stroke-dasharray: 0, 1000; stroke-dashoffset: 0; }







    20% { stroke-dasharray: 150, 850; stroke-dashoffset: -100; }







    100% { stroke-dasharray: 0, 1000; stroke-dashoffset: -1000; }







}







.mark-glow-bg {







    position: absolute;







    top: 50%;







    left: 50%;







    transform: translate(-50%, -50%);







    width: 80%;







    height: 80%;







    background: radial-gradient(circle, rgba(200, 80, 192, 0.2), transparent 70%);







    filter: blur(40px);







    z-index: -1;







}







.mark-text-col {







    display: flex;







    flex-direction: column;







    justify-content: center;







}







.mark-card {







    padding: 40px;







    border-radius: 30px;







    position: relative;







    border: 1px solid rgba(255,255,255,0.1);







}







.mark-description {







    font-size: 1.3rem;







    line-height: 1.8;







    color: var(--clr-text);







    margin: 0;







    padding: 10px 0;







}







.mark-accent-line {







    position: absolute;







    left: 40px;







    bottom: 25px;







    width: 60px;







    height: 3px;







    background: var(--grad-main);







    border-radius: 2px;







}







/* Responsive Mark Section */







@media (max-width: 991px) {







    .mark-grid {







        grid-template-columns: 1fr;







        gap: 40px;







    }







    .mark-visual-col {







        order: 1;







    }







    .mark-text-col {







        order: 2;







    }







    .section-title-new {







        font-size: 3rem !important;







    }







}







@media (max-width: 576px) {







    .mark-card {







        padding: 25px;







    }







    .mark-description {







        font-size: 1.1rem;







    }







}







/* Make Your Mark Section */







.mark-huge-title {







    font-size: clamp(3rem, 8vw, 6.5rem);







    font-weight: 900;







    text-transform: uppercase;







    letter-spacing: -2px;







    margin-bottom: 2rem;







    line-height: 1;







}







.mark-content-grid {







    display: grid;







    grid-template-columns: 1fr 1.2fr;







    gap: 80px;







    align-items: center;







    margin-top: 40px;







}







.mark-left {







    display: flex;







    justify-content: center;







    align-items: center;







}







.fingerprint-wrapper {







    position: relative;







    width: 100%;







    max-width: 480px;







}







.mark-fingerprint {







    width: 100%;







    height: auto;







    filter: drop-shadow(0 0 40px rgba(200, 80, 192, 0.4));







    animation: floatFingerprint 8s infinite ease-in-out;







}







@keyframes floatFingerprint {







    0%, 100% { transform: translateY(0) scale(1); }







    50% { transform: translateY(-20px) scale(1.02); }







}







.mark-right {







    padding-right: 20px;







    text-align: left;







}







.mark-text-box {







    position: relative;







}







.mark-main-text {







    font-size: 1.8rem;







    font-weight: 600;







    line-height: 1.4;







    margin-bottom: 2rem;







    color: var(--clr-text);







}







.mark-main-text .highlight {







    background: var(--grad-glow);







    -webkit-background-clip: text;







    -webkit-text-fill-color: transparent;







    background-clip: text;







}







.mark-sub-text {







    font-size: 1.2rem;







    line-height: 1.8;







    color: var(--clr-text-muted);







}







.about-mark {







    background: radial-gradient(circle at 30% 50%, rgba(65, 88, 208, 0.05), transparent 50%);







}







.mark-grid {







    display: grid;







    grid-template-columns: 1fr 1fr;







    gap: 60px;







    align-items: center;







    margin-top: 40px;







}







.mark-visual-col {







    display: flex;







    justify-content: center;







    align-items: center;







    position: relative;







}







.mark-svg-container {







    position: relative;







    width: 100%;







    max-width: 450px;







    padding: 20px;







}







.fingerprint-svg {







    width: 100%;







    height: auto;







    overflow: visible;







}







.fp-paths path {







    stroke-dasharray: 1000;







    stroke-dashoffset: 1000;







    animation: drawPath 3s forwards ease-out;







}







/* Specific pulse animations for some paths */







.pulse-path-1 { animation: drawPath 3s forwards ease-out, markPulse 6s infinite 3s linear !important; }







.pulse-path-2 { animation: drawPath 3s forwards ease-out 0.2s, markPulse 5s infinite 3.5s linear !important; }







.pulse-path-3 { animation: drawPath 3s forwards ease-out 0.4s, markPulse 7s infinite 4s linear !important; }







.pulse-path-4 { animation: drawPath 3s forwards ease-out 0.6s, markPulse 4s infinite 4.5s linear !important; }







.pulse-path-5 { animation: drawPath 3s forwards ease-out 0.8s, markPulse 8s infinite 5s linear !important; }







.pulse-path-6 { animation: drawPath 3s forwards ease-out 1s, markPulse 3s infinite 5.5s linear !important; }







@keyframes drawPath {







    to { stroke-dashoffset: 0; }







}







@keyframes markPulse {







    0% { stroke-dasharray: 0, 1000; stroke-dashoffset: 0; }







    20% { stroke-dasharray: 150, 850; stroke-dashoffset: -100; }







    100% { stroke-dasharray: 0, 1000; stroke-dashoffset: -1000; }







}







.mark-glow-bg {







    position: absolute;







    top: 50%;







    left: 50%;







    transform: translate(-50%, -50%);







    width: 80%;







    height: 80%;







    background: radial-gradient(circle, rgba(200, 80, 192, 0.2), transparent 70%);







    filter: blur(40px);







    z-index: -1;







}







.mark-text-col {







    display: flex;







    flex-direction: column;







    justify-content: center;







}







.mark-card {







    padding: 40px;







    border-radius: 30px;







    position: relative;







    border: 1px solid rgba(255,255,255,0.1);







}







.mark-description {







    font-size: 1.3rem;







    line-height: 1.8;







    color: var(--clr-text);







    margin: 0;







    padding: 10px 0;







}







.mark-accent-line {







    position: absolute;







    left: 40px;







    bottom: 25px;







    width: 60px;







    height: 3px;







    background: var(--grad-main);







    border-radius: 2px;







}







/* Responsive Mark Section */







@media (max-width: 991px) {







    .mark-grid {







        grid-template-columns: 1fr;







        gap: 40px;







    }







    .mark-visual-col {







        order: 1;







    }







    .mark-text-col {







        order: 2;







    }







    .section-title-new {







        font-size: 3rem !important;







    }







}







@media (max-width: 576px) {







    .mark-card {







        padding: 25px;







    }







    .mark-description {







        font-size: 1.1rem;







    }







}







/* Make Your Mark Section */







.mark-huge-title {







    font-size: clamp(3rem, 8vw, 6.5rem);







    font-weight: 900;







    text-transform: uppercase;







    letter-spacing: -2px;







    margin-bottom: 2rem;







    line-height: 1;







}







.mark-content-grid {







    display: grid;







    grid-template-columns: 1fr 1.2fr;







    gap: 80px;







    align-items: center;







    margin-top: 40px;







}







.mark-left {







    display: flex;







    justify-content: center;







    align-items: center;







}







.fingerprint-wrapper {







    position: relative;







    width: 100%;







    max-width: 480px;







}







.mark-fingerprint {







    width: 100%;







    height: auto;







    filter: drop-shadow(0 0 40px rgba(200, 80, 192, 0.4));







    animation: floatFingerprint 8s infinite ease-in-out;







}







@keyframes floatFingerprint {







    0%, 100% { transform: translateY(0) scale(1); }







    50% { transform: translateY(-20px) scale(1.02); }







}







.mark-right {







    padding-right: 20px;







    text-align: left;







}







.mark-text-box {







    position: relative;







}







.mark-main-text {







    font-size: 1.8rem;







    font-weight: 600;







    line-height: 1.4;







    margin-bottom: 2rem;







    color: var(--clr-text);







}







.mark-main-text .highlight {







    background: var(--grad-glow);







    -webkit-background-clip: text;







    -webkit-text-fill-color: transparent;







    background-clip: text;







}







.mark-sub-text {







    font-size: 1.2rem;







    line-height: 1.8;







    color: var(--clr-text-muted);







}







@media (max-width: 992px) {







    .mark-content-grid {







        grid-template-columns: 1fr;







        gap: 60px;







        text-align: center;







    }







    .mark-right {







        padding-right: 0;







        text-align: center;







    }







    .mark-huge-title {







        font-size: 4rem;







    }







}







.team-title-custom {







    display: block !important;







    width: 100% !important;







    text-align: center !important;







    margin-left: auto !important;







    margin-right: auto !important;







}







/* --- 3D Team Carousel --- */







.team-carousel-stage {







    position: relative;







    width: 100%;







    height: 480px;







    margin: -100px auto 0 auto;







    perspective: 2500px;







    display: flex;







    justify-content: center;







    align-items: center;







    overflow: visible;







}







.team-ring {







    position: relative;







    width: 280px;







    height: 100px;







    transform-style: preserve-3d;







}







.team-card {







    position: absolute;







    width: 280px; 







    height: 94px;







    left: 50%;







    top: 50%;







    margin-left: -140px; 







    margin-top: -47px;







    cursor: pointer;







    transition: opacity 0.6s ease, visibility 0.6s ease; /* No transform transition here to avoid JS conflict */







    -webkit-backface-visibility: hidden;







    backface-visibility: hidden;







    transform-style: preserve-3d;







}







.card-inner {







    width: 100%;







    height: 100%;







    display: flex;







    flex-direction: row;







    align-items: center;







    justify-content: flex-start;







    padding: 10px 15px;







    gap: 12px;







    border-radius: 14px;







    background: rgba(255, 255, 255, 0.07);







    backdrop-filter: blur(20px);







    border: 1px solid rgba(255, 255, 255, 0.12);







    box-shadow: 0 10px 40px rgba(0,0,0,0.4);







    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);







}







.team-card:hover .card-inner {







    background: rgba(255, 255, 255, 0.12);







    transform: scale(1.1) translateZ(30px);







    border-color: rgba(255, 255, 255, 0.3);







    box-shadow: 0 20px 60px rgba(200, 80, 192, 0.3);







}







.member-visual {







    width: 64px;







    height: 64px;







    border-radius: 12px;







    overflow: hidden;







    flex-shrink: 0;







    border: 1px solid rgba(255, 255, 255, 0.1);







    background: rgba(0,0,0,0.3);







}







.member-visual img {







    width: 100%;







    height: 100%;







    object-fit: cover;







}







.member-content {







    text-align: left;







    overflow: hidden;







}







.member-content h3 {







    font-size: 1.1rem;







    font-weight: 700;







    margin-bottom: 2px;







    color: #fff;







    white-space: nowrap;







}







.member-content p {







    font-size: 0.8rem;







    color: rgba(255, 255, 255, 0.6);







    line-height: 1.2;







    margin: 0;







}







/* Nav Buttons - Raised higher as requested */







.carousel-nav-btn {







    position: absolute;







    top: 48%; 







    transform: translateY(-50%);







    width: 64px;







    height: 64px;







    border-radius: 50%;







    background: rgba(255,255,255,0.1);







    border: 1px solid rgba(255,255,255,0.2);







    color: #fff;







    cursor: pointer;







    z-index: 200;







    display: flex;







    justify-content: center;







    align-items: center;







    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);







    backdrop-filter: blur(15px);







}







.carousel-nav-btn:hover {







    background: var(--grad-pink);







    box-shadow: 0 0 40px var(--clr-brand-pink);







    transform: translateY(-50%) scale(1.1);







}







.carousel-nav-btn.prev { left: -80px; }







.carousel-nav-btn.next { right: -80px; }







/* --- Team Modal Overhaul --- */







.team-modal {







    position: fixed;







    top: 0;







    left: 0;







    width: 100%;







    height: 100%;







    z-index: 20000;







    display: none;







    justify-content: center;







    align-items: center;







    opacity: 0;







    transition: opacity 0.4s ease;







}







.team-modal.active {







    display: flex;







    opacity: 1;







}







.modal-overlay {







    position: absolute;







    width: 100%;







    height: 100%;







    background: rgba(0,0,0,0.95);







    backdrop-filter: blur(30px);







}







.modal-container {







    position: relative;







    width: 90%;







    max-width: 960px;







    max-height: 85vh;







    padding: 60px;







    z-index: 20001;







    border-radius: 32px;







    background: rgba(20,20,20,0.98);







    border: 1px solid rgba(255,255,255,0.1);







    overflow: hidden; /* Prevent horizontal and vertical scrolls on desktop */







    transform: scale(0.9) translateY(40px);







    transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);







    scrollbar-width: none; /* Hide standard scrollbar */







    -ms-overflow-style: none; /* Hide IE scrollbar */







}







.modal-container::-webkit-scrollbar {







    display: none; /* Hide Webkit scrollbar */







}







.team-modal.active .modal-container {







    transform: scale(1) translateY(0);







}







.client-logo-text {







    font-size: 1.2rem;







    font-weight: 800;







    color: #fff;







    text-transform: uppercase;







    letter-spacing: 2px;







    background: linear-gradient(135deg, #4158D0, #C850C0);







    padding: 10px 20px;







    border-radius: 4px;







    box-shadow: 0 10px 20px rgba(0,0,0,0.3);







}







.service-tag {







    display: inline-block;







    padding: 6px 14px;







    margin: 5px;







    background: rgba(255, 255, 255, 0.05);







    border: 1px solid rgba(255, 255, 255, 0.1);







    border-radius: 20px;







    font-size: 0.85rem;







    color: #ccc;







    transition: all 0.3s ease;







}







.service-tag:hover {







    background: rgba(255, 255, 255, 0.15);







    border-color: #C850C0;







    color: #fff;







    transform: translateY(-2px);







}







.modal-close-btn {







    position: absolute;







    top: 25px;







    right: 25px;







    width: 44px;







    height: 44px;







    font-size: 2.5rem;







    color: #fff;







    background: rgba(255,255,255,0.05);







    border-radius: 50%;







    border: none;







    cursor: pointer;







    display: flex;







    justify-content: center;







    align-items: center;







    transition: all 0.3s;







    z-index: 20002;







}







.modal-close-btn:hover {







    background: rgba(255,255,255,0.15);







    transform: rotate(90deg);







}







.modal-layout {







    display: grid;







    grid-template-columns: 380px 1fr;







    gap: 60px;







    align-items: start;







}







.modal-img-frame {







    width: 100%;







    border-radius: 20px;







    overflow: hidden;







    border: 1px solid rgba(255,255,255,0.1);







    box-shadow: 0 30px 60px rgba(0,0,0,0.5);







    position: sticky;







    top: 0;







}







.modal-img-frame img {







    width: 100%;







    height: auto;







    display: block;







}







.modal-details {







    padding-top: 10px;







}







.modal-details h2 {







    font-size: 3rem;







    font-weight: 900;







    margin-bottom: 5px;







    letter-spacing: -1.5px;







    color: #fff;







}







.modal-details h3 {







    font-size: 1.6rem;







    font-weight: 600;







    margin-bottom: 25px;







    color: var(--clr-brand-pink);







}







.modal-divider {







    width: 60px;







    height: 4px;







    background: var(--grad-pink);







    border-radius: 2px;







    margin-bottom: 30px;







}







.modal-details p {







    font-size: 1.15rem;







    line-height: 1.8;







    color: rgba(255,255,255,0.85);







    font-weight: 300;







    text-align: justify;







}







@media (max-width: 1024px) {







    .modal-layout { grid-template-columns: 1fr; gap: 40px; text-align: center; }







    .modal-container { 







        padding: 40px; 







        overflow-y: auto; /* Allow vertical scroll for mobile/tablet */







        scrollbar-width: none; /* Hide scrollbars */







    }







    .modal-container::-webkit-scrollbar {







        display: none; /* Hide scrollbars */







    }







    .modal-img-frame { max-width: 300px; margin: 0 auto; }







    .modal-details h2 { font-size: 2.8rem; }







    







    .team-carousel-stage { height: 500px; }







}







@media (max-width: 768px) {







    .team-carousel-stage { height: 400px; perspective: 1200px; }







    .team-ring { width: 170px; height: 75px; }







    .team-card { width: 170px; height: 65px; margin-left: -85px; }







    .member-visual { width: 40px; height: 40px; }







    .member-content h3 { font-size: 0.85rem; }







    .member-content p { font-size: 0.7rem; }







    .carousel-nav-btn { display: none; }







}







/* ========================================= */







/* SERVICES PAGE SPECIFIC STYLES             */







/* ========================================= */







/* ========================================= */







/* SERVICES CAROUSEL & MODAL (FINAL FIXES)   */







/* ========================================= */







.services-carousel-section {







    position: relative;







    width: 100%;







    padding: 80px 0 40px; /* Reduced bottom padding to lift CTA section */







    overflow: hidden;







}







.services-carousel-container {







    position: relative;







    width: 100%;







    max-width: 1800px;







    margin: 0 auto;







    overflow: hidden; /* NO CLIPPING */







}







.carousel-viewport {







    overflow: hidden;







    position: relative;







    width: 100%;







}







.services-slider {







    display: flex;







    will-change: transform;







}







.service-slide {







    min-width: 450px;







    padding: 0 40px;







    /* Allow child to breathe */







    overflow: visible;







}







.service-card-premium {







    background: transparent;







    border: none;







    text-align: center;







    position: relative;







    cursor: pointer;







    transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);







    z-index: 5;







}







.service-card-premium:hover {







    transform: translateY(-30px) scale(1.1);







    z-index: 10;







}







.card-visual-wrap {







    position: relative;







    width: 100%;







    height: 350px;







    margin-bottom: 30px;







    display: flex;







    justify-content: center;







    align-items: center;







    overflow: visible; /* Glows must be seen */







}







.card-visual-img {







    width: 350px;







    height: auto;







    z-index: 2;







    transition: transform 0.8s ease;







    filter: drop-shadow(0 20px 40px rgba(0,0,0,0.5));







}







.service-card-premium:hover .card-visual-img {







    transform: scale(1.15) rotate(4deg);







    filter: drop-shadow(0 50px 100px rgba(200, 80, 192, 0.5));







}







.card-glow-bg {







    position: absolute;







    width: 300px;







    height: 300px;







    background: var(--grad-main);







    filter: blur(80px);







    border-radius: 50%;







    opacity: 0.2;







    z-index: 1;







    transition: all 0.6s ease;







}







.service-card-premium:hover .card-glow-bg {







    opacity: 0.4;







    transform: scale(1.6);







}







.card-title {







    font-size: 1.8rem;







    font-weight: 900;







    color: #fff;







    text-transform: uppercase;







    letter-spacing: 3px;







    margin-top: 20px;







}







/* 3x Smaller Centered Side Arrows */







.carousel-nav {







    position: absolute;







    top: 50%;







    left: 0;







    width: 100%;







    transform: translateY(-50%);







    display: flex;







    justify-content: space-between;







    padding: 0 20px;







    pointer-events: none;







    z-index: 100;







}







.portfolio-card:hover .portfolio-explore {







    transform: scale(1.1) rotate(0);







    opacity: 1;







    background: var(--grad-main);







}







.nav-btn {







    width: 35px; /* ~3x smaller than 80px */







    height: 35px;







    border-radius: 50%;







    background: rgba(255, 255, 255, 0.1);







    backdrop-filter: blur(10px);







    border: 1px solid rgba(255, 255, 255, 0.2);







    color: #fff;







    display: flex;







    align-items: center;







    justify-content: center;







    cursor: pointer;







    pointer-events: auto;







    transition: all 0.3s ease;







}







.nav-btn svg { width: 18px; height: 18px; }







.nav-btn:hover {







    background: #fff;







    color: #000;







    transform: scale(1.2);







}







/* Modal Fixes */







.service-modal {







    position: fixed;







    top: 0;







    left: 0;







    width: 100%;







    height: 100%;







    z-index: 3000;







    display: none;







    align-items: center;







    justify-content: center;







    padding: 20px;







}







.modal-backdrop {







    position: absolute;







    top: 0;







    left: 0;







    width: 100%;







    height: 100%;







    background: rgba(0, 0, 0, 0.5);







    backdrop-filter: blur(10px);







}







.modal-body {







    position: relative;







    background: rgba(20, 20, 25, 0.4);







    backdrop-filter: blur(80px); /* Extreme glass */







    border: 1px solid rgba(255, 255, 255, 0.1);







    border-radius: 50px;







    max-width: 1200px;







    width: 95%;







    max-height: 90vh;







    padding: 40px 80px; /* Reduced top/bottom padding by 2x */







    z-index: 3010;







    overflow-y: auto;







    scrollbar-width: none;







}







.modal-body::-webkit-scrollbar { display: none; }







.modal-close {







    position: absolute;







    top: 20px; /* Moved up since padding is smaller */







    right: 25px;







    width: 50px;







    height: 50px;







    border-radius: 50%;







    background: rgba(255, 255, 255, 0.05);







    border: 1px solid rgba(255, 255, 255, 0.1);







    color: #fff;







    font-size: 1.5rem;







    cursor: pointer;







    display: flex;







    align-items: center;







    justify-content: center;







    z-index: 3020;







    transition: all 0.3s ease;







}







.modal-close:hover {







    background: rgba(255, 255, 255, 0.1);







    transform: rotate(90deg);







}







.modal-header-flex {







    display: flex;







    align-items: center;







    gap: 60px;







    margin-bottom: 30px; /* Reduced margin by 2x */







}







.modal-visual-side {







    flex: 0 0 400px;







}







.modal-text-side {







    flex: 1;







}







.modal-text-side h2 {







    font-size: 3.5rem;







    font-weight: 900;







    margin-bottom: 25px;







    line-height: 1.1;







    background: var(--grad-glow);







    -webkit-background-clip: text;







    -webkit-text-fill-color: transparent;







}







.modal-lists-grid {







    display: grid;







    grid-template-columns: 1fr 1fr;







    gap: 60px;







}







.modal-list-title {







    font-size: 1.2rem;







    font-weight: 700;







    text-transform: uppercase;







    letter-spacing: 2px;







    margin-bottom: 25px;







    color: var(--clr-brand-yellow);







}







.modal-list {







    list-style: none;







}







.modal-list li {







    position: relative;







    padding-left: 25px;







    margin-bottom: 15px;







    color: var(--clr-text-muted);







    font-size: 1.1rem;







    line-height: 1.5;







}







.modal-list li::before {







    content: '★';







    position: absolute;







    left: 0;







    color: var(--clr-brand-pink);







}







@media (max-width: 1024px) {







    .service-slide { min-width: 100%; }







    .modal-header-flex { flex-direction: column; text-align: center; gap: 30px; }







    .modal-visual-side { flex: 0 0 auto; }







    .modal-body { padding: 40px 20px; }







    .modal-lists-grid { grid-template-columns: 1fr; }







    .modal-text-side h2 { font-size: 2.5rem; }







}







/* ========================================= */







/* BLOG PAGE STYLES                         */







/* ========================================= */







.blog-page {







    background: var(--clr-bg);







}







.blog-hero {







    padding-top: 180px;







    padding-bottom: 60px;







    text-align: center;







    position: relative;







    z-index: 10;







}







.blog-main-title {







    font-size: clamp(3rem, 6vw, 5rem);







    font-weight: 900;







    margin-bottom: 2rem;







    letter-spacing: -1px;







}







.blog-hero-desc {







    max-width: 900px;







    margin: 0 auto;







    font-size: 1.2rem;







    line-height: 1.8;







    color: var(--clr-text-muted);







    font-family: 'Outfit', sans-serif;







}







.blog-main {







    position: relative;







    z-index: 10;







    padding-top: 40px;







}







.news-grid {







    display: grid;







    grid-template-columns: repeat(2, 1fr);







    gap: 40px;







}







.news-card {







    background: rgba(255, 255, 255, 0.03);







    border: 1px solid rgba(255, 255, 255, 0.05);







    border-radius: 40px;







    overflow: hidden;







    display: flex;







    flex-direction: column;







    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);







    backdrop-filter: blur(20px);







    position: relative;







}







.news-card.featured {







    grid-column: span 2;







    flex-direction: row;







    min-height: 500px;







}







.news-image-wrapper {







    position: relative;







    overflow: hidden;







    flex: 1;







}







.news-card.featured .news-image-wrapper {







    width: 55%;







    flex: none;







}







.news-image {







    width: 100%;







    height: 100%;







    object-fit: cover;







    transition: transform 0.8s ease;







}







.news-card:hover .news-image {







    transform: scale(1.05);







}







.news-badge {







    position: absolute;







    top: 30px;







    left: 30px;







    padding: 0.5rem 1.2rem;







    background: var(--grad-glow);







    border-radius: 100px;







    font-size: 0.8rem;







    font-weight: 700;







    color: #000;







    z-index: 5;







}







.news-content {







    padding: 40px;







    flex: 1;







    display: flex;







    flex-direction: column;







    justify-content: center;







}







.news-meta {







    margin-bottom: 1.5rem;







    font-size: 0.85rem;







    color: var(--clr-brand-pink);







    font-weight: 600;







    text-transform: uppercase;







    letter-spacing: 1px;







    display: flex;







    gap: 20px;







}







.news-title {







    font-size: 2.2rem;







    font-weight: 800;







    line-height: 1.2;







    margin-bottom: 1rem;







    color: var(--clr-text);







}







.news-subtitle {







    font-size: 1.2rem;







    color: var(--clr-brand-yellow);







    margin-bottom: 1.5rem;







    font-weight: 500;







}







.news-excerpt {







    font-size: 1.05rem;







    line-height: 1.6;







    color: var(--clr-text-muted);







    margin-bottom: 2rem;







}







.news-full-text {







    max-height: 0;







    opacity: 0;







    overflow: hidden;







    transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);







    font-family: 'Outfit', sans-serif;







    font-size: 1.1rem;







    line-height: 1.8;







    color: #e2e2e2;







}







.news-full-text p {







    margin-bottom: 1.5rem;







}







.news-full-text h4 {







    font-size: 1.4rem;







    color: var(--clr-brand-pink);







    margin-top: 2rem;







    margin-bottom: 1rem;







}







.news-card.expanded .news-full-text {







    max-height: 5000px;







    opacity: 1;







    margin-bottom: 2rem;







}







.btn-read-more {







    align-self: flex-start;







    background: none;







    border: 1px solid rgba(255, 255, 255, 0.2);







    color: var(--clr-text);







    padding: 0.8rem 2rem;







    border-radius: 100px;







    font-family: inherit;







    font-weight: 600;







    cursor: pointer;







    transition: all 0.3s ease;







}







.btn-read-more:hover {







    background: var(--grad-glow);







    border-color: transparent;







    color: #000;







    box-shadow: 0 0 20px rgba(200, 80, 192, 0.4);







}







@media (max-width: 1024px) {







    .news-grid { grid-template-columns: 1fr; }







    .news-card.featured { flex-direction: column; }







    .news-card.featured .news-image-wrapper { width: 100%; height: 350px; }







}







@media (max-width: 768px) {







    .blog-main-title { font-size: 3rem; }







    .news-title { font-size: 1.8rem; }







    .news-content { padding: 30px; }







}







/* ========================================= */







/* MISSING STYLES RECONSTRUCTED              */







/* ========================================= */







.contact-form-wrapper {







    background: rgba(255,255,255,0.01);







    padding: 60px;







    border-radius: 50px;







    border: 1px solid rgba(255,255,255,0.04);







    backdrop-filter: blur(30px);







    box-shadow: 0 40px 100px rgba(0,0,0,0.4);







}







.partner-services-grid {







    display: grid;







    grid-template-columns: 1fr 1fr;







    gap: 15px;







    margin-top: 20px;







}







.partner-service-item {







    display: flex;







    align-items: center;







    gap: 12px;







    background: rgba(255, 255, 255, 0.03);







    padding: 12px 15px;







    border-radius: 12px;







    border: 1px solid rgba(255, 255, 255, 0.05);







    transition: all 0.3s ease;







}







.partner-service-item:hover {







    background: rgba(255, 255, 255, 0.08);







    border-color: rgba(200, 80, 192, 0.5);







    transform: translateY(-2px);







}







.psi-icon {







    display: flex;







    align-items: center;







    justify-content: center;







    width: 24px;







    height: 24px;







    color: var(--clr-brand-pink);







}







.psi-icon svg {







    width: 100%;







    height: 100%;







}







.psi-name {







    font-size: 0.9rem;







    color: var(--clr-text-muted);







    line-height: 1.2;







}







.partner-service-item:hover .psi-name {







    color: #fff;







}







#modalClientLogo {







    max-width: 250px;







    max-height: 120px;







    object-fit: contain;







    margin-bottom: 30px;







    filter: brightness(1.2);







}







.client-modal .modal-body {







    display: grid;







    grid-template-columns: 1.2fr 1fr;







    gap: 60px;







    align-items: center;







}







.blog-card-image img {







    width: 100%;







    height: 100%;







    object-fit: cover;







    object-position: center;







}







.mission-quote {







    display: flex;







    align-items: flex-start;







    gap: 40px;







    padding: 60px;







    position: relative;







    z-index: 2;







    text-align: left;







}







.mission-quote-icon {







    font-size: 10rem;







    line-height: 1;







    font-family: 'Montserrat', sans-serif;







    font-weight: 900;







    background: var(--grad-main);







    -webkit-background-clip: text;







    -webkit-text-fill-color: transparent;







    opacity: 0.9;







    margin-top: -30px;







}







.mission-text {







    font-size: 1.8rem;







    line-height: 1.6;







    font-weight: 600;







    color: #fff;







    text-shadow: 0 5px 15px rgba(0,0,0,0.5);







}







.mission-label {







    text-transform: uppercase;







    font-size: 1rem;







    letter-spacing: 2px;







    margin-top: 20px;







}







.values-grid {







    display: grid;







    grid-template-columns: repeat(3, 1fr);







    gap: 30px;







}







.value-card {







    padding: 40px;







    transition: transform 0.3s ease, box-shadow 0.3s ease;







}







.value-card:hover {







    transform: translateY(-10px);







    box-shadow: 0 40px 80px rgba(200, 80, 192, 0.15);







}







.value-icon {







    width: 60px;







    height: 60px;







    display: flex;







    align-items: center;







    justify-content: center;







    border-radius: 16px;







    background: rgba(255, 255, 255, 0.05);







    color: var(--clr-primary);







    margin-bottom: 25px;







    border: 1px solid rgba(255, 255, 255, 0.05);







}







.value-card h4 {







    font-size: 1.3rem;







    font-weight: 700;







    margin-bottom: 15px;







    color: var(--clr-text);







}







.value-card p {







    color: var(--clr-text-muted);







    line-height: 1.6;







    font-size: 1.05rem;







}







.mark-visual svg {







    animation: glow-pulse 3s infinite alternate;







}







@keyframes glow-pulse {







    0% { filter: drop-shadow(0 0 10px rgba(65, 88, 208, 0.4)); }







    100% { filter: drop-shadow(0 0 30px rgba(200, 80, 192, 0.8)); }







}







/* Animations for footsteps */







.footstep {







    opacity: 0;







    animation: footprintFade 6s infinite ease-in-out;







}







.step-1 { animation-delay: 0s; }







.step-2 { animation-delay: 0.4s; }







.step-3 { animation-delay: 0.8s; }







.step-4 { animation-delay: 1.2s; }







.step-5 { animation-delay: 1.6s; }







.step-6 { animation-delay: 2.0s; }







.step-7 { animation-delay: 2.4s; }







.step-8 { animation-delay: 2.8s; }







.step-9 { animation-delay: 3.2s; }







.step-10 { animation-delay: 3.6s; }







.step-11 { animation-delay: 4.0s; }







.step-12 { animation-delay: 4.4s; }







@keyframes footprintFade {







    0% { opacity: 0; filter: drop-shadow(0 0 0 transparent); }







    5% { opacity: 1; filter: drop-shadow(0 0 15px rgba(200,80,192,0.8)); }







    25% { opacity: 1; }







    40% { opacity: 0; }







    100% { opacity: 0; }







}







/* Animations for floating 3D objects */







.float-anim {







    animation: float3D 6s ease-in-out infinite;







}







@keyframes float3D {







    0% { transform: translateY(0); }







    50% { transform: translateY(-20px); }







    100% { transform: translateY(0); }







}







/* Pulsing background glow */







.pulse-glow {







    position: absolute;







    top: 50%;







    left: 50%;







    transform: translate(-50%, -50%);







    width: 210px;







    height: 250px;







    border-radius: 50%;







    filter: blur(80px);







    opacity: 0.4;







    animation: pulseBehind 4s ease-in-out infinite alternate;







    z-index: 0;







    pointer-events: none;







}







@keyframes pulseBehind {







    0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0.2; }







    100% { transform: translate(-50%, -50%) scale(1.3); opacity: 0.6; }







}







@media (max-width: 992px) {







    .contact-grid {







        grid-template-columns: 1fr;







        gap: 30px;







    }







    .client-modal-body {







        grid-template-columns: 1fr;







        gap: 30px;







    }







    .client-modal-content {







        padding: 30px;







        width: 95%;







    }







    #modalClientLetter {







        max-height: 400px; /* Сжимаем сертификат на планшетах/телефонах */







        margin-top: 10px;







    }







    .contact-form-wrapper {







        padding: 25px;







    }







    /* About Us specific */







    .about-hero-grid {







        grid-template-columns: 1fr;







        gap: 30px;







    }







    .about-hero-left {







        text-align: center;







    }







    .story-grid {







        grid-template-columns: 1fr;







        gap: 40px;







    }







    .values-grid {







        grid-template-columns: 1fr 1fr;







    }







}







@media (max-width: 768px) {







    .blog-modal-body { padding: 20px 15px; }







    .blog-modal-title { font-size: 1.5rem; }







    .blog-modal-hero { height: 120px; } /* Шапка блога еще тоньше на мобилках */







}







/* Perfect centering correction for letter-spacing: 12px */







.team-title-custom {







    padding-left: 12px;







}







/* Hide scrollbar completely in the team/specialist detail modal */







.modal-container {







    scrollbar-width: none !important;







    -ms-overflow-style: none !important;







}







.modal-container::-webkit-scrollbar {







    display: none !important;







    width: 0 !important;







    height: 0 !important;







}







.modal-container::-webkit-scrollbar-thumb {







    display: none !important;







    background: transparent !important;







    width: 0 !important;







    height: 0 !important;







}







.modal-container::-webkit-scrollbar-track {







    display: none !important;







    background: transparent !important;







}







/* ========================================= */







/* PORTFOLIO SPA HUB STYLES                  */







/* ========================================= */







.portfolio-page {







    scroll-behavior: smooth;







}







.portfolio-main-title {







    font-size: 4rem;







    text-align: center;







    margin-bottom: 10px;







}







.portfolio-subtitle {







    text-align: center;







    font-size: 1.2rem;







    color: var(--clr-text-muted);







    margin-bottom: 60px;







}







.portfolio-categories-grid {







    display: grid;







    grid-template-columns: repeat(2, 1fr);







    gap: 30px;







}







@media (max-width: 992px) {







    .portfolio-categories-grid {







        grid-template-columns: 1fr;







    }







}







.portfolio-category-card {







    background: rgba(20, 20, 25, 0.4);







    border: 1px solid rgba(255, 255, 255, 0.05);







    border-radius: 20px;







    padding: 30px;







    display: flex;







    flex-direction: column;







    gap: 20px;







    transition: all 0.4s ease;







    cursor: pointer;







    overflow: hidden;







    position: relative;







    justify-content: space-between;







}







.portfolio-category-card:hover {







    transform: translateY(-5px);







    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4), 0 0 20px rgba(65, 88, 208, 0.2);







    border-color: rgba(255, 204, 112, 0.3);







}







.port-card-content {







    display: flex;







    flex-direction: column;







    gap: 20px;







    align-items: stretch;







}







.port-card-text h2 {







    font-size: 1.8rem;







    margin-bottom: 10px;







    color: var(--clr-text);







}







.port-card-text p {







    font-size: 0.95rem;







    color: var(--clr-text-muted);







    line-height: 1.5;







    margin-bottom: 0px;







}







.port-card-stats {







    display: flex;







    gap: 20px;







}







.stat-item {







    display: flex;







    flex-direction: column;







}







.stat-val {







    font-size: 1.6rem;







    font-weight: 800;







    color: var(--clr-brand-pink);







    line-height: 1.2;







}







.stat-label {







    font-size: 0.8rem;







    color: var(--clr-text-muted);







    text-transform: uppercase;







    letter-spacing: 1px;







}







.port-card-visuals {







    display: flex;







    flex-direction: column;







    gap: 15px;







}







.port-card-main-img {







    width: 100%;







    height: 180px;







    border-radius: 12px;







    overflow: hidden;







    background: rgba(0,0,0,0.5);







}







.port-card-main-img img {







    width: 100%;







    height: 100%;







    object-fit: cover;







    opacity: 0.8;







    transition: opacity 0.4s ease;







}







.portfolio-category-card:hover .port-card-main-img img {







    opacity: 1;







}







.mini-gallery-title {







    font-size: 0.85rem;







    color: var(--clr-text-muted);







    display: block;







    margin-bottom: 8px;







}







.mini-thumbs {







    display: flex;







    gap: 10px;







}







.thumb-placeholder {







    width: 60px;







    height: 45px;







    background: rgba(255,255,255,0.05);







    border-radius: 6px;







    border: 1px solid rgba(255,255,255,0.1);







}







.port-card-footer {







    display: flex;







    justify-content: flex-start;







    margin-top: 10px;







}







/* ========================================= */







/* CATEGORY VIEW STYLES                      */







/* ========================================= */







.category-hero {







    position: relative;







    padding: 150px 0 80px;







    min-height: 50vh;







    display: flex;







    align-items: center;







    overflow: hidden;







}







.category-hero-bg {







    position: absolute;







    top: 0; left: 0; width: 100%; height: 100%;







    z-index: -1;







}







.category-hero-bg img {







    width: 100%; height: 100%; object-fit: cover;







}







.category-hero-overlay {







    position: absolute;







    inset: 0;







    background: linear-gradient(to right, rgba(10,10,15,0.95) 0%, rgba(10,10,15,0.7) 100%);







}







.category-hero-container {







    position: relative;







    z-index: 2;







    max-width: 800px;







}







.back-to-hub-btn {







    background: transparent;







    border: none;







    color: var(--clr-text-muted);







    font-family: inherit;







    font-size: 1rem;







    display: flex;







    align-items: center;







    gap: 10px;







    cursor: pointer;







    margin-bottom: 30px;







    padding: 0;







    transition: color 0.3s ease;







}







.back-to-hub-btn:hover {







    color: var(--clr-brand-pink);







}







.back-to-hub-btn svg { width: 18px; height: 18px; }







.category-hero-title {







    font-size: 3.5rem;







    margin-bottom: 20px;







    background: var(--grad-main);







    -webkit-background-clip: text;







    -webkit-text-fill-color: transparent;







}







.category-hero-desc {







    font-size: 1.2rem;







    line-height: 1.6;







    color: rgba(255,255,255,0.8);







    margin-bottom: 40px;







}







.category-stats-row {







    display: flex;







    gap: 40px;







}







.hero-stat-item {







    display: flex;







    flex-direction: column;







}







.hero-stat-val { font-size: 2.5rem; font-weight: 900; color: #fff; }







.hero-stat-label { font-size: 0.9rem; color: var(--clr-brand-pink); text-transform: uppercase; letter-spacing: 1px; }







/* Category Projects Grid */







.category-projects-section {







    padding: 60px 0 100px;







    background: var(--clr-bg);







}







.portfolio-filters {







    display: flex;







    gap: 15px;







    margin-bottom: 40px;







    flex-wrap: wrap;







}







.filter-btn {







    background: rgba(255,255,255,0.05);







    border: 1px solid rgba(255,255,255,0.1);







    color: var(--clr-text-muted);







    padding: 10px 20px;







    border-radius: 30px;







    cursor: pointer;







    font-family: inherit;







    font-size: 0.9rem;







    transition: all 0.3s ease;







}







.filter-btn:hover, .filter-btn.active {







    background: var(--clr-brand-blue);







    color: #fff;







    border-color: var(--clr-brand-blue);







}







.projects-grid {







    display: grid;







    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));







    gap: 30px;







    margin-bottom: 80px;







}







.project-card {







    background: rgba(20,20,25,0.5);







    border: 1px solid rgba(255,255,255,0.05);







    border-radius: 20px;







    overflow: hidden;







    cursor: pointer;







    transition: transform 0.4s ease, box-shadow 0.4s ease;







}







.project-card:hover {







    transform: translateY(-8px);







    box-shadow: 0 15px 30px rgba(0,0,0,0.5);







    border-color: rgba(200,80,192,0.3);







}







.project-card-img {







    width: 100%;







    height: 250px;







    position: relative;







}







.project-card-img img {







    width: 100%; height: 100%; object-fit: cover;







}







.project-year {







    position: absolute;







    top: 15px; right: 15px;







    background: rgba(0,0,0,0.6);







    backdrop-filter: blur(5px);







    padding: 5px 10px;







    border-radius: 8px;







    font-size: 0.8rem;







    font-weight: 700;







}







.project-card-info {







    padding: 25px;







}







.project-card-info h3 {







    font-size: 1.4rem;







    margin-bottom: 10px;







}







.project-tags {







    display: flex;







    gap: 10px;







    margin-bottom: 15px;







    flex-wrap: wrap;







}







.project-tag {







    font-size: 0.75rem;







    padding: 4px 10px;







    background: rgba(255,255,255,0.1);







    border-radius: 12px;







    color: var(--clr-text-muted);







}







.project-card-info p {







    font-size: 0.95rem;







    color: var(--clr-text-muted);







    line-height: 1.5;







    margin-bottom: 20px;







}







.project-readmore {







    color: var(--clr-brand-pink);







    font-weight: 600;







    font-size: 0.9rem;







    transition: opacity 0.3s ease;







}







.project-card:hover .project-readmore { opacity: 0.8; }







.portfolio-cta-banner {







    background: linear-gradient(135deg, rgba(65,88,208,0.15) 0%, rgba(200,80,192,0.1) 100%);







    border: 1px solid rgba(255,255,255,0.1);







    border-radius: 30px;







    padding: 40px 50px;







    display: flex;







    justify-content: space-between;







    align-items: center;







}







.cta-banner-content {







    display: flex;







    align-items: center;







    gap: 30px;







}







.cta-icon {







    width: 60px; height: 60px;







    background: rgba(255,255,255,0.1);







    border-radius: 15px;







    display: flex; align-items: center; justify-content: center;







    color: var(--clr-brand-pink);







}







.cta-icon svg { width: 30px; height: 30px; }







.cta-text h3 { font-size: 1.8rem; margin-bottom: 5px; }







.cta-text p { color: var(--clr-text-muted); margin: 0; }







/* ========================================= */







/* CASE STUDY MODAL STYLES                   */







/* ========================================= */







.case-modal {







    position: fixed;







    inset: 0;







    z-index: 9999;







    display: flex;







    align-items: center;







    justify-content: center;







}







.case-modal-overlay {







    position: absolute;







    inset: 0;







    background: rgba(10,10,15,0.9);







    backdrop-filter: blur(10px);







}







.case-modal-container {







    position: relative;







    width: 95%;







    max-width: 1400px;







    height: 90vh;







    background: #111114;







    border: 1px solid rgba(255,255,255,0.1);







    border-radius: 20px;







    display: flex;







    overflow: hidden;







    box-shadow: 0 25px 50px rgba(0,0,0,0.5);







}







.case-modal-close {







    position: absolute;







    top: 20px; right: 20px;







    z-index: 10;







    background: rgba(255,255,255,0.1);







    border: none;







    width: 40px; height: 40px;







    border-radius: 50%;







    color: #fff;







    cursor: pointer;







    display: flex; align-items: center; justify-content: center;







    transition: background 0.3s ease;







}







.case-modal-close:hover { background: var(--clr-brand-pink); }







.case-modal-layout {







    display: flex;







    width: 100%;







    height: 100%;







}







.case-modal-left {







    width: 40%;







    padding: 50px;







    overflow-y: auto;







    background: rgba(20,20,25,0.5);







    border-right: 1px solid rgba(255,255,255,0.05);







    scrollbar-width: none; /* Hide scrollbar */







}







.case-modal-left::-webkit-scrollbar { display: none; }







.case-modal-right {







    width: 60%;







    padding: 50px;







    overflow-y: auto;







    scrollbar-width: thin;







    scrollbar-color: var(--clr-brand-pink) transparent;







}







.case-modal-right::-webkit-scrollbar { width: 6px; }







.case-modal-right::-webkit-scrollbar-thumb { background: var(--clr-brand-pink); border-radius: 10px; }







/* Left Column Elements */







.case-breadcrumbs {







    font-size: 0.85rem;







    color: var(--clr-text-muted);







    margin-bottom: 20px;







}







.case-title {







    font-size: 2.5rem;







    line-height: 1.2;







    margin-bottom: 20px;







}







.case-description {







    font-size: 1.1rem;







    color: rgba(255,255,255,0.8);







    line-height: 1.6;







    margin-bottom: 40px;







}







.case-stats-grid {







    display: grid;







    grid-template-columns: 1fr 1fr 1fr;







    gap: 20px;







    margin-bottom: 40px;







}







.case-stat-box { display: flex; flex-direction: column; }







.case-stat-val { font-size: 1.5rem; font-weight: 700; color: var(--clr-brand-pink); }







.case-stat-label { font-size: 0.8rem; color: var(--clr-text-muted); text-transform: uppercase; }







.case-text-block { margin-bottom: 30px; }







.case-text-block h4 { font-size: 1.2rem; margin-bottom: 15px; color: #fff; }







.case-text-block p { color: var(--clr-text-muted); line-height: 1.6; }







.case-results-list { list-style: none; padding: 0; }







.case-results-list li {







    display: flex;







    align-items: flex-start;







    gap: 10px;







    margin-bottom: 12px;







    color: rgba(255,255,255,0.9);







}







.case-results-list svg {







    width: 20px; height: 20px;







    color: #2ecc71;







    flex-shrink: 0;







    margin-top: 2px;







}







.case-nav-footer {







    display: flex;







    justify-content: space-between;







    padding-top: 30px;







    border-top: 1px solid rgba(255,255,255,0.1);







}







.case-nav-btn {







    background: transparent;







    border: none;







    color: var(--clr-text-muted);







    font-family: inherit;







    display: flex; align-items: center; gap: 8px;







    cursor: pointer;







    transition: color 0.3s ease;







}







.case-nav-btn:hover { color: #fff; }







.case-nav-btn svg { width: 18px; height: 18px; }







/* Right Column Elements */







.case-main-visual {







    width: 100%;







    height: 450px;







    border-radius: 20px;







    overflow: hidden;







    margin-bottom: 20px;







}







.case-main-visual img { width: 100%; height: 100%; object-fit: cover; }







.case-gallery-slider {







    margin-bottom: 50px;







}







.case-gallery-track {







    display: flex;







    gap: 15px;







    overflow-x: auto;







    padding-bottom: 10px;







    scrollbar-width: none;







}







.case-gallery-track::-webkit-scrollbar { display: none; }







.gallery-thumb {







    width: 150px; height: 100px;







    border-radius: 12px;







    overflow: hidden;







    flex-shrink: 0;







    cursor: pointer;







    opacity: 0.5;







    transition: opacity 0.3s ease;







    border: 2px solid transparent;







}







.gallery-thumb.active { opacity: 1; border-color: var(--clr-brand-pink); }







.gallery-thumb:hover { opacity: 1; }







.gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }







.case-stages-grid {







    display: grid;







    grid-template-columns: 1fr 1fr;







    gap: 20px;







    margin-bottom: 50px;







}







.stage-card {







    background: rgba(255,255,255,0.03);







    border: 1px solid rgba(255,255,255,0.05);







    padding: 25px;







    border-radius: 15px;







}







.stage-icon-box {







    width: 40px; height: 40px;







    background: rgba(200,80,192,0.2);







    color: var(--clr-brand-pink);







    border-radius: 10px;







    display: flex; align-items: center; justify-content: center;







    font-weight: 700; font-size: 1.2rem;







    margin-bottom: 15px;







}







.stage-card h5 { margin-bottom: 10px; font-size: 1.1rem; }







.stage-card p { color: var(--clr-text-muted); font-size: 0.9rem; line-height: 1.5; margin: 0; }







.case-testimonial {







    background: rgba(20,20,25,0.8);







    border: 1px solid rgba(255,255,255,0.05);







    padding: 40px;







    border-radius: 20px;







    position: relative;







}







.quote-icon {







    position: absolute;







    top: 20px; left: 30px;







    font-size: 4rem;







    color: rgba(200,80,192,0.2);







    font-family: serif;







    line-height: 1;







}







.testimonial-text {







    font-size: 1.1rem;







    line-height: 1.6;







    color: rgba(255,255,255,0.9);







    margin-bottom: 25px;







    position: relative;







    z-index: 2;







}







.testimonial-author {







    display: flex;







    align-items: center;







    gap: 15px;







}







.testimonial-author img {







    width: 50px; height: 50px;







    border-radius: 50%;







    object-fit: cover;







}







.testimonial-author h5 { margin: 0 0 5px; font-size: 1rem; }







.testimonial-author span { color: var(--clr-text-muted); font-size: 0.85rem; }







@media (max-width: 1024px) {







    .port-card-content { grid-template-columns: 1fr; }







    .case-modal-layout { flex-direction: column; }







    .case-modal-left, .case-modal-right { width: 100%; }







    .case-modal-left { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.05); }







    .case-modal-container { height: 95vh; overflow-y: auto; }







}







@media (max-width: 768px) {







    .portfolio-main-title { font-size: 2.5rem; }







    .category-stats-row { flex-direction: column; gap: 20px; }







    .portfolio-cta-banner { flex-direction: column; text-align: center; gap: 30px; }







    .cta-banner-content { flex-direction: column; }







    .case-stages-grid { grid-template-columns: 1fr; }







    .case-stats-grid { grid-template-columns: 1fr; }







}







/* --- Dynamic Video Portfolio Rules --- */







.case-video-wrapper {







    position: relative;







    padding-bottom: 56.25%; /* 16:9 aspect ratio */







    height: 0;







    overflow: hidden;







    border-radius: 12px;







    background: #000;







    box-shadow: 0 10px 30px rgba(0,0,0,0.5);







    margin-bottom: 25px;







}







.case-video-wrapper iframe,







.case-video-wrapper video {







    position: absolute;







    top: 0;







    left: 0;







    width: 100%;







    height: 100%;







    border: none;







    border-radius: 12px;







}







.file-protocol-warning {







    position: relative;







    margin-top: 15px;







    background: rgba(30, 20, 10, 0.95);







    border: 1px solid #f39c12;







    border-radius: 10px;







    padding: 12px 18px;







    font-size: 0.9rem;







    z-index: 100;







    color: #fff;







    display: flex;







    align-items: center;







    gap: 12px;







    box-shadow: 0 10px 25px rgba(0,0,0,0.3);







    backdrop-filter: blur(10px);







}







.file-protocol-warning a {







    color: #f39c12;







    text-decoration: underline;







    font-weight: 600;







}







.file-protocol-warning code {







    background: rgba(255,255,255,0.1);







    padding: 2px 6px;







    border-radius: 4px;







    font-family: monospace;







    color: #00ffcc;







}







/* --- Homepage Twin Auto-Scrolling Tickers CSS --- */







.portfolio-tickers-container {







    display: flex;







    flex-direction: column;







    gap: 20px;







    width: 100%;







    margin-top: 10px;







    overflow: hidden;







    position: relative;







    padding: 5px 0;







}







/* Gradient fade effects on the edges of the ticker container */







.portfolio-tickers-container::before,







.portfolio-tickers-container::after {







    content: '';







    position: absolute;







    top: 0;







    width: 150px;







    height: 100%;







    z-index: 5;







    pointer-events: none;







}







.portfolio-tickers-container::before {







    left: 0;







    background: linear-gradient(to right, #0a0a0f 0%, transparent 100%);







}







.portfolio-tickers-container::after {







    right: 0;







    background: linear-gradient(to left, #0a0a0f 0%, transparent 100%);







}







.ticker-wrapper {







    display: flex;







    overflow: hidden;







    width: 100%;







    position: relative;







}







.ticker-track {







    display: flex;







    flex-wrap: nowrap;







    width: max-content;







    will-change: transform;







}







/* Scroll Direction Animations */







.ticker-ltr .ticker-track {







    animation: ticker-slide-left 45s linear infinite;







}







.ticker-rtl .ticker-track {







    animation: ticker-slide-right 45s linear infinite;







}







/* Infinite Marquee Translations */







@keyframes ticker-slide-left {







    0% { transform: translate3d(0, 0, 0); }







    100% { transform: translate3d(-50%, 0, 0); }







}







@keyframes ticker-slide-right {







    0% { transform: translate3d(-50%, 0, 0); }







    100% { transform: translate3d(0, 0, 0); }







}







/* Pause the entire row scroll on hover */







.ticker-wrapper:hover .ticker-track {







    animation-play-state: paused;







}







/* Compact Portfolio Ticker Card */







.ticker-card {







    flex: 0 0 340px;







    height: 220px;







    margin-right: 20px;







    border-radius: 16px;







    background: rgba(255, 255, 255, 0.02);







    border: 1px solid rgba(255, 255, 255, 0.05);







    backdrop-filter: blur(10px);







    overflow: hidden;







    position: relative;







    cursor: pointer;







    transition: border-color 0.3s, transform 0.3s;







}







.ticker-card:hover {







    border-color: var(--clr-brand-pink);







    transform: scale(1.02);







    box-shadow: 0 10px 25px rgba(244, 114, 182, 0.15);







}







.ticker-card-img-wrapper {







    width: 100%;







    height: 100%;







    position: absolute;







    top: 0;







    left: 0;







    z-index: 1;







}







.ticker-card-img-wrapper img {







    width: 100%;







    height: 100%;







    object-fit: cover;







    transition: transform 0.6s ease;







}







.ticker-card:hover .ticker-card-img-wrapper img {







    transform: scale(1.06);







}







/* Glassmorphic sliding text overlay on hover */







.ticker-card-overlay {







    position: absolute;







    bottom: 0;







    left: 0;







    width: 100%;







    height: 100%;







    padding: 20px;







    background: linear-gradient(to top, rgba(10, 10, 15, 0.95) 0%, rgba(10, 10, 15, 0.7) 70%, rgba(10, 10, 15, 0.2) 100%);







    z-index: 2;







    display: flex;







    flex-direction: column;







    justify-content: flex-end;







    opacity: 0;







    transform: translateY(20px);







    transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);







}







.ticker-card:hover .ticker-card-overlay {







    opacity: 1;







    transform: translateY(0);







}







.ticker-card-title {







    font-size: 1.1rem;







    font-weight: 700;







    color: #fff;







    margin-bottom: 6px;







    line-height: 1.3;







}







.ticker-card-tags {







    display: flex;







    gap: 6px;







    flex-wrap: wrap;







    margin-bottom: 10px;







}







.ticker-card-tag {







    font-size: 0.7rem;







    padding: 2px 8px;







    border-radius: 12px;







    background: rgba(255, 255, 255, 0.1);







    color: rgba(255, 255, 255, 0.9);







    border: 1px solid rgba(255, 255, 255, 0.05);







}







.ticker-card-btn {







    display: flex;







    align-items: center;







    gap: 4px;







    font-size: 0.8rem;







    font-weight: 600;







    color: var(--clr-brand-pink);







}







.ticker-card-btn svg {







    width: 14px;







    height: 14px;







    stroke: currentColor;







    transition: transform 0.2s;







}







.ticker-card:hover .ticker-card-btn svg {







    transform: translateX(4px);







}







/* Override padding for contact form when inside the modal to prevent vertical clipping */







#contactModal .contact-form-wrapper, #serviceModal .contact-form-wrapper {







    padding: 35px !important;







    border-radius: 40px !important;







}







/* ==========================================================================

   MOBILE & TABLET ADAPTATION (TRiM CUSTOM RESPONSIVE PATCH)

   ========================================================================== */



/* 1. Header & Mobile Menu */

@media (max-width: 991px) {

    .site-header {

        padding: 1rem 0;

    }

    .header-container {

        padding: 0 20px;

    }

    .main-nav {

        display: flex !important;

        position: fixed;

        top: 0;

        left: 0;

        width: 100vw;

        height: 100vh;

        background: rgba(9, 9, 11, 0.98);

        backdrop-filter: blur(20px);

        -webkit-backdrop-filter: blur(20px);

        z-index: 120;

        justify-content: center;

        align-items: center;

        transform: translateY(-100%);

        transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);

        pointer-events: none;

    }

    .main-nav.active {

        transform: translateY(0);

        pointer-events: auto;

    }

    .main-nav ul {

        flex-direction: column;

        align-items: center;

        gap: 2.5rem;

        padding: 0;

    }

    .main-nav a {

        font-size: 1.8rem;

        font-weight: 700;

        color: var(--clr-text);

        transition: color 0.3s ease;

    }

    .nav-indicator {

        display: none !important;

    }

    

    .nav-toggle {

        display: flex !important;

        flex-direction: column;

        justify-content: space-between;

        width: 30px;

        height: 20px;

        background: transparent;

        border: none;

        cursor: pointer;

        padding: 0;

        z-index: 150;

        outline: none;

        pointer-events: auto;

    }

    .nav-toggle .bar {

        width: 100%;

        height: 3px;

        background-color: #fff;

        border-radius: 2px;

        transition: all 0.3s ease;

    }

    .nav-toggle.active .bar:nth-child(1) {

        transform: translateY(8px) rotate(45deg);

    }

    .nav-toggle.active .bar:nth-child(2) {

        opacity: 0;

    }

    .nav-toggle.active .bar:nth-child(3) {

        transform: translateY(-9px) rotate(-45deg);

    }

    

    .header-actions {

        gap: 1rem;

    }

    .header-actions .btn-glow {

        padding: 0.6rem 1.2rem;

        font-size: 0.85rem;

    }

}



@media (max-width: 576px) {

    .header-actions .btn-glow {

        padding: 0.5rem 1rem;

        font-size: 0.75rem;

    }

}



/* 2. Hero Section Logo Fix */

.hero-logo-wrapper {

    width: 100%;

    max-width: 500px;

    display: flex;

    justify-content: center;

    margin-bottom: 30px !important;

}

.hero-fp-logo {

    width: 90%;

    max-width: 100%;

    height: auto !important;

}



@media (max-width: 768px) {

    .hero-logo-wrapper {

        margin-bottom: 20px !important;

    }

    .hero-fp-logo {

        width: 85%;

    }

    .hero-btn {

        padding: 0.8rem 2rem;

        font-size: 0.95rem;

    }

}



@media (max-width: 480px) {

    .hero-fp-logo {

        width: 80%;

    }

}



/* 3. About Stats Row Fix */

@media (max-width: 768px) {

    .about-stats-row {

        flex-direction: column !important;

        align-items: center;

        gap: 35px;

        margin-bottom: 2rem;

    }

    .stat-block {

        align-items: center;

        text-align: center;

    }

    .stat-number-new {

        font-size: 3rem;

    }

    .stat-text-new br {

        display: none; /* Let text flow on mobile */

    }

}



/* 4. Services Grid Mobile Fix */

@media (max-width: 991px) {

    .services-grid {

        grid-template-columns: 1fr !important;

        gap: 40px;

    }

    .service-card {

        min-height: auto;

    }

    .service-card-top {

        flex: 0 0 200px;

    }

}



/* 5. Blog Grid Mobile Fix */

@media (max-width: 991px) {

    .blog-grid {

        grid-template-columns: 1fr !important;

        gap: 40px;

    }

    .blog-card {

        min-height: auto;

    }

}



/* 6. Benefits (Values) Section Mobile Fixes */

@media (max-width: 768px) {

    .benefit-3d-icon-container {

        width: 160px !important;

        height: 180px !important;

        bottom: 10px !important;

        right: 10px !important;

        opacity: 0.12 !important; /* watermark look */

        z-index: 0 !important;

    }

    .benefit-display-content {

        padding: 30px 25px !important;

        min-height: 480px;

    }

    .benefit-display-content h3 {

        font-size: 1.8rem !important;

        margin-bottom: 15px;

    }

    .benefit-display-content p {

        font-size: 1rem !important;

        line-height: 1.6;

        z-index: 2;

    }

}



@media (max-width: 576px) {

    .benefits-menu {

        padding-left: 20px;

        padding-right: 20px;

        gap: 10px;

    }

    .benefit-tab {

        padding: 10px 15px !important;

    }

    .tab-title {

        font-size: 0.85rem !important;

    }

}


/* ==========================================================================
   Antigravity Mobile Responsiveness Fixes (July 2026)
   ========================================================================== */

/* 1. About Hero Section Layout & Typography */
.hero-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 60px;
    align-items: start;
    margin-top: 120px;
}

.footsteps-container {
    position: relative;
    width: 100%;
    height: 400px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible;
}

.about-hero .section-title-new {
    font-size: clamp(2.5rem, 6vw, 5.5rem) !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    letter-spacing: -1px !important;
}

.about-hero .subtitle-new {
    font-size: clamp(1.1rem, 3vw, 1.8rem) !important;
    color: #fff !important;
    opacity: 0.8 !important;
    font-weight: 300 !important;
}

@media (max-width: 991px) {
    .hero-grid {
        grid-template-columns: 1fr !important;
        gap: 45px !important;
        margin-top: 50px !important;
    }
    .about-hero {
        padding-top: 110px !important;
        padding-bottom: 30px !important;
    }
}

@media (max-width: 576px) {
    .footsteps-container {
        height: 280px !important;
    }
}

/* 2. Team Carousel 2D-Grid adaptation for Mobile & Tablets */
@media (max-width: 768px) {
    .team-carousel-stage {
        height: auto !important;
        margin-top: 30px !important;
        perspective: none !important;
        display: block !important;
    }
    .team-ring {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 20px !important;
        width: 100% !important;
        height: auto !important;
        transform: none !important;
        transform-style: flat !important;
    }
    .team-card {
        position: static !important;
        width: calc(50% - 10px) !important;
        min-width: 280px !important;
        height: 110px !important;
        margin: 0 !important;
        transform: none !important;
    }
    .team-card:hover .card-inner {
        transform: scale(1.02) !important;
        box-shadow: 0 10px 30px rgba(200, 80, 192, 0.2) !important;
    }
}

/* 3. Services Card Title scaling on Mobile */
@media (max-width: 768px) {
    .card-title {
        font-size: clamp(1.2rem, 4vw, 1.5rem) !important;
        letter-spacing: 1px !important;
        margin-top: 15px !important;
    }
}

/* 4. Text wrap adjustments for Story headings (avoid cutting off titles on mobile) */
@media (max-width: 576px) {
    .history-intro h2,
    .story-section h2,
    .story-section .section-title-new {
        font-size: clamp(2.0rem, 6.5vw, 3.0rem) !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }
}
