/* GridLogic Theme Styles */
:root {
    --brand-accent-1: #4ade80;
    --brand-accent-2: #06b6d4;
    --btn-hover-shadow: -5px 8px 24px rgba(74, 222, 128, 0.28), 5px 8px 24px rgba(6, 182, 212, 0.28);
}

.hero-section-gridlogic {
    background: linear-gradient(-45deg, #ffffff, #f0fdf4, #dcfce7, var(--accent-green), var(--accent-cyan), #cffafe, #ecfeff);
    background-size: 400% 400%;
    animation: unifiedFlow 18s ease infinite;
    border-bottom: 1px solid var(--border);
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 200px 0 120px 0;
    text-align: left;
    position: relative;
    overflow: hidden;
}

.hero-section-gridlogic::after {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: radial-gradient(circle at 20% 50%, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.52) 100%);
    pointer-events: none;
}

.hero-content {
    width: 90%;
    max-width: 1400px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 26px;
    position: relative;
    z-index: 2;
}

.hero-title {
    font-size: clamp(42px, 5.5vw, 80px);
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -2.5px;
    color: var(--primary);
    max-width: 1100px;
}

.hero-title span {
    background: linear-gradient(135deg, var(--accent-green-dark), var(--accent-cyan-dark));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero-desc {
    font-size: clamp(16px, 1.3vw, 20px);
    line-height: 1.65;
    color: var(--text-main);
    max-width: 780px;
}

.hero-cta {
    display: flex;
    gap: 16px;
    margin-top: 8px;
    flex-wrap: wrap;
    justify-content: flex-start;
}

/* Card variants */
.card-infra:hover { border-color: var(--accent-green); }
.card-infra::before { background: var(--accent-green); }
.card-infra:hover::before { transform: scaleX(1); }
.card-infra .card-icon { background: rgba(74, 222, 128, 0.12); color: var(--accent-green-dark); }
.card-infra .tag { background: rgba(74, 222, 128, 0.08); color: #166534; border: 1px solid rgba(74, 222, 128, 0.2); }

.card-wifi:hover { border-color: var(--accent-cyan); }
.card-wifi::before { background: var(--accent-cyan); }
.card-wifi:hover::before { transform: scaleX(1); }
.card-wifi .card-icon { background: rgba(6, 182, 212, 0.12); color: var(--accent-cyan-dark); }
.card-wifi .tag { background: rgba(6, 182, 212, 0.08); color: #155e75; border: 1px solid rgba(6, 182, 212, 0.2); }

.card-dual {
    background: linear-gradient(to bottom right, #ffffff, #f0fdfa);
    border: 1px solid #000000;
}
.card-dual:hover {
    border-color: var(--accent-cyan);
    box-shadow: 0 10px 30px rgba(6, 182, 212, 0.15);
}
.card-dual::before {
    background: linear-gradient(90deg, var(--accent-green), var(--accent-cyan));
}
.card-dual:hover::before { transform: scaleX(1); }
.card-dual .card-icon { background: #000000; color: var(--accent-cyan); }
