.stack-page .stack-hero{
    padding: 150px 0 115px;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 14% 18%, rgba(34, 211, 238, 0.16), transparent 28%),
        radial-gradient(circle at 86% 74%, rgba(59, 130, 246, 0.14), transparent 30%),
        linear-gradient(180deg, #07131b 0%, #0d1b26 38%, #f8fafc 100%);
}

.stack-page .stack-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 38px 38px;
    opacity: .38;
    pointer-events: none;
    z-index: 0;
}

.stack-page .stack-hero::after{
    content:"";
    position:absolute;
    inset:0;
    background: linear-gradient(to bottom, rgba(7,19,27,0.08) 0%, rgba(7,19,27,0.02) 40%, rgba(248,250,252,0) 100%);
    pointer-events:none;
    z-index:0;
}

.stack-page .stack-hero .container{
    position: relative;
    z-index: 2;
}

.stack-page .stack-hero-grid{
    display:grid;
    grid-template-columns: 1.02fr .98fr;
    gap: 42px;
    align-items: center;
}

.stack-page .hero-copy{
    max-width: 700px;
}

.stack-page .hero-badge{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.10);
    color: #67e8f9;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.stack-page .stack-hero h1{
    font-size: clamp(2.9rem, 4.9vw, 4.8rem);
    line-height: 1.02;
    font-weight: 900;
    letter-spacing: -2px;
    margin: 0 0 18px;
    color: #ffffff;
}

.stack-page .stack-hero h1 span{
    color: #22d3ee;
}

.stack-page .stack-hero p{
    max-width: 660px;
    font-size: 18px;
    line-height: 1.85;
    color: rgba(255,255,255,0.78);
    margin-bottom: 30px;
}

.stack-page .hero-actions{
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.stack-page .hero-secondary-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 26px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,0.12);
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    background: rgba(255,255,255,0.04);
    transition: .3s ease;
}

.stack-page .hero-secondary-btn:hover{
    transform: translateY(-2px);
    background: rgba(255,255,255,0.08);
}

.stack-page .hero-panel{
    position: relative;
    padding: 24px;
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(15,23,42,.84), rgba(15,23,42,.68));
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 28px 70px rgba(0,0,0,0.20);
}

.stack-page .hero-panel-top{
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
}

.stack-page .hero-dot{
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255,255,255,0.16);
}

.stack-page .hero-code-block{
    border-radius: 20px;
    padding: 22px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    font-family: Consolas, monospace;
    color: #cbd5e1;
    font-size: 14px;
    line-height: 1.9;
    margin-bottom: 16px;
}

.stack-page .hero-code-block .accent{
    color: #22d3ee;
}

.stack-page .hero-code-block .soft{
    color: #93c5fd;
}

.stack-page .stack-mini-grid{
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.stack-page .stack-mini-card{
    border-radius: 18px;
    padding: 18px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.06);
}

.stack-page .stack-mini-card strong{
    display:block;
    color:#fff;
    font-size:16px;
    margin-bottom:6px;
}

.stack-page .stack-mini-card span{
    display:block;
    color:rgba(255,255,255,0.68);
    font-size:13px;
    line-height:1.65;
}

.stack-page .stack-strip{
    position: relative;
    z-index: 3;
    margin-top: -28px;
    padding-bottom: 24px;
}

.stack-page .stack-strip-grid{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    background: rgba(255,255,255,0.86);
    border: 1px solid rgba(34,211,238,0.08);
    border-radius: 28px;
    padding: 22px;
    box-shadow: 0 22px 55px rgba(15,23,42,0.08);
}

.stack-page .stack-strip-card{
    padding: 20px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,250,252,.95));
    border: 1px solid rgba(0,0,0,0.05);
}

.stack-page .stack-strip-card span{
    display:block;
    font-size:12px;
    font-weight:800;
    letter-spacing:1.2px;
    color:#0891b2;
    margin-bottom:8px;
}

.stack-page .stack-strip-card strong{
    display:block;
    font-size:18px;
    color:#111827;
    margin-bottom:8px;
}

.stack-page .stack-strip-card p{
    margin:0;
    color:#64748b;
    font-size:14px;
    line-height:1.7;
}

.stack-page .section{
    padding: 100px 0;
}

.stack-page .section-light{
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}

.stack-page .section-white{
    background: #ffffff;
}

.stack-page .section-soft{
    background: linear-gradient(180deg, #ecfeff 0%, #ffffff 100%);
}

.stack-page .section-head{
    max-width: 760px;
    margin-bottom: 44px;
}

.stack-page .section-head .mini{
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
    color: #0891b2;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.stack-page .section-head h2{
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.08;
    letter-spacing: -1.2px;
    margin-bottom: 16px;
    color: #111827;
}

.stack-page .section-head p{
    color: #64748b;
    font-size: 17px;
    line-height: 1.8;
}

.stack-page .layer-grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
}

.stack-page .layer-card{
    background:#fff;
    padding:34px;
    border-radius:24px;
    border:1px solid rgba(0,0,0,0.05);
    box-shadow:0 12px 28px rgba(0,0,0,0.03);
    transition:.35s ease;
}

.stack-page .layer-card:hover{
    transform: translateY(-8px);
    box-shadow: 0 22px 45px rgba(15,23,42,0.08);
    border-color: rgba(34,211,238,0.18);
}

.stack-page .layer-icon{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    color:#0891b2;
    background: rgba(34,211,238,0.09);
    border-radius:16px;
    margin-bottom:18px;
}

.stack-page .layer-card h3{
    font-size:20px;
    margin-bottom:12px;
    color:#111827;
}

.stack-page .layer-card p{
    margin:0;
    color:#64748b;
    line-height:1.75;
    font-size:15px;
}

.stack-page .split{
    display:grid;
    grid-template-columns: 1.02fr .98fr;
    gap: 70px;
    align-items: center;
}

.stack-page .content-side h2{
    font-size:42px;
    line-height:1.08;
    letter-spacing:-1.2px;
    margin-bottom:20px;
    color:#111827;
}

.stack-page .content-side p{
    color:#64748b;
    line-height:1.85;
    font-size:17px;
    margin-bottom:24px;
}

.stack-page .check-list{
    list-style:none;
    padding:0;
    margin:24px 0 0;
}

.stack-page .check-list li{
    margin-bottom:12px;
    color:#334155;
    font-weight:500;
}

.stack-page .check-list i{
    color:#10b981;
    margin-right:10px;
}

.stack-page .feature-grid{
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    gap:16px;
    margin-top:28px;
}

.stack-page .feature-box{
    background:#f8fafc;
    border:1px solid rgba(0,0,0,0.05);
    border-radius:18px;
    padding:18px;
}

.stack-page .feature-box strong{
    display:block;
    font-size:14px;
    color:#111827;
    margin-bottom:6px;
}

.stack-page .feature-box span{
    display:block;
    color:#64748b;
    font-size:14px;
    line-height:1.6;
}

.stack-page .visual-side{
    position:relative;
}

.stack-page .floating-badge{
    position:absolute;
    top:-18px;
    left:-18px;
    z-index:2;
    background: rgba(255,255,255,.82);
    border:1px solid rgba(34,211,238,0.10);
    border-radius:18px;
    padding:16px 18px;
    max-width:250px;
    box-shadow:0 18px 40px rgba(15,23,42,.08);
}

.stack-page .floating-badge span{
    display:block;
    font-size:11px;
    font-weight:800;
    color:#0891b2;
    letter-spacing:1.3px;
    margin-bottom:6px;
}

.stack-page .floating-badge strong{
    display:block;
    font-size:14px;
    line-height:1.5;
    color:#111827;
}

.stack-page .stack-mockup{
    width:100%;
    display:block;
    border-radius:28px;
    padding:24px;
    background: linear-gradient(180deg, #0f172a 0%, #131f37 100%);
    border:1px solid rgba(255,255,255,0.06);
    box-shadow:0 30px 70px rgba(15,23,42,0.12);
}

.stack-page .stack-mockup-top{
    display:flex;
    gap:8px;
    margin-bottom:16px;
}

.stack-page .stack-mockup-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background: rgba(255,255,255,0.16);
}

.stack-page .stack-mockup-header{
    height:70px;
    border-radius:18px;
    background: linear-gradient(90deg, rgba(34,211,238,.22), rgba(59,130,246,.08));
    margin-bottom:16px;
}

.stack-page .stack-node-grid{
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.stack-page .stack-node{
    min-height: 110px;
    border-radius: 18px;
    padding: 16px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.06);
}

.stack-page .stack-node strong{
    display:block;
    color:#fff;
    font-size:15px;
    margin-bottom:8px;
}

.stack-page .stack-node span{
    display:block;
    color:rgba(255,255,255,0.68);
    font-size:13px;
    line-height:1.65;
}

.stack-page .benefit-grid{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap:22px;
}

.stack-page .benefit-card{
    background:#fff;
    border:1px solid rgba(0,0,0,0.05);
    border-radius:22px;
    padding:28px 24px;
    box-shadow:0 12px 28px rgba(0,0,0,0.03);
}

.stack-page .benefit-card strong{
    display:block;
    font-size:18px;
    color:#111827;
    margin-bottom:10px;
}

.stack-page .benefit-card p{
    margin:0;
    color:#64748b;
    font-size:15px;
    line-height:1.7;
}

.stack-page .process-grid{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap:22px;
}

.stack-page .process-card{
    background:#fff;
    border-radius:22px;
    padding:28px 24px;
    border:1px solid rgba(0,0,0,0.05);
    box-shadow:0 12px 28px rgba(0,0,0,0.03);
}

.stack-page .process-step{
    width:46px;
    height:46px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background: rgba(34,211,238,0.10);
    color:#0891b2;
    font-weight:800;
    margin-bottom:16px;
}

.stack-page .process-card h3{
    font-size:19px;
    color:#111827;
    margin-bottom:10px;
}

.stack-page .process-card p{
    margin:0;
    color:#64748b;
    font-size:15px;
    line-height:1.7;
}

.stack-page .insight-box{
    max-width:940px;
    margin-top:36px;
    padding:26px 28px;
    border-radius:22px;
    background: rgba(255,255,255,.84);
    border:1px solid rgba(34,211,238,.08);
    box-shadow:0 16px 38px rgba(15,23,42,.05);
}

.stack-page .insight-box h3{
    font-size:22px;
    color:#111827;
    margin-bottom:12px;
}

.stack-page .insight-box p{
    margin:0;
    color:#64748b;
    line-height:1.8;
    font-size:15px;
}

.stack-page .cta-section{
    padding:100px 0 110px;
    background:#ffffff;
}

.stack-page .cta-box{
    text-align:center;
    padding:64px 50px;
    border-radius:32px;
    background: linear-gradient(135deg,#06b6d4 0%, #0891b2 55%, #3b82f6 100%);
    color:#fff;
    box-shadow:0 24px 60px rgba(34,211,238,.20);
}

.stack-page .cta-box h2{
    font-size:42px;
    line-height:1.08;
    letter-spacing:-1px;
    margin-bottom:14px;
    color:#fff;
}

.stack-page .cta-box p{
    max-width:700px;
    margin:0 auto 30px;
    color:rgba(255,255,255,.92);
    font-size:17px;
    line-height:1.75;
}

.stack-page .cta-box .cta-button{
    background:#0A0B10;
    color:#fff;
    padding:16px 30px;
    border-radius:999px;
    text-decoration:none;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:all .3s ease;
}

.stack-page .cta-box .cta-button:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 25px rgba(0,0,0,.16);
}

@media (max-width: 1100px){
    .stack-page .stack-hero-grid,
    .stack-page .stack-strip-grid,
    .stack-page .layer-grid,
    .stack-page .split,
    .stack-page .benefit-grid,
    .stack-page .process-grid{
        grid-template-columns: 1fr;
    }

    .stack-page .feature-grid,
    .stack-page .stack-node-grid{
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px){
    .stack-page .stack-hero{
        padding: 120px 0 76px;
    }

    .stack-page .stack-hero h1{
        font-size: 2.3rem;
    }

    .stack-page .stack-hero p{
        font-size: 16px;
        line-height: 1.8;
    }

    .stack-page .hero-panel,
    .stack-page .stack-strip-grid,
    .stack-page .stack-mockup,
    .stack-page .insight-box{
        padding:22px;
        border-radius:24px;
    }

    .stack-page .feature-grid,
    .stack-page .stack-node-grid{
        grid-template-columns: 1fr;
    }

    .stack-page .floating-badge{
        position: static;
        max-width: 100%;
        margin-bottom: 18px;
    }

    .stack-page .cta-box{
        padding:42px 24px;
    }

    .stack-page .cta-box h2,
    .stack-page .section-head h2,
    .stack-page .content-side h2{
        font-size:30px;
    }
}

@media (max-width: 480px){
    .stack-page .stack-hero h1{
        font-size:1.95rem;
    }
}