/* =========================================
   TECHNOLOGY PAGE
========================================= */

.technology-page{

    background:#f5f8fc;

    overflow:hidden;

}

/* =========================================
   CONTAINER
========================================= */

.container{

    width:min(1200px,92%);

    margin:auto;

}

/* =========================================
   HERO
========================================= */

.technology-hero{

    position:relative;

    padding:170px 20px 110px;

    overflow:hidden;

    background:
    linear-gradient(
    135deg,
    #0a2540 0%,
    #003b7a 45%,
    #0d6efd 100%);

    color:#fff;

    text-align:center;

}

/* Floating Glow */

.technology-hero::before{

    content:"";

    position:absolute;

    width:650px;

    height:650px;

    border-radius:50%;

    background:rgba(255,255,255,.08);

    top:-280px;

    right:-220px;

    filter:blur(10px);

}

.technology-hero::after{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    left:-120px;

    bottom:-180px;

    filter:blur(10px);

}

.technology-hero .container{

    position:relative;

    z-index:2;

}


/* =========================================
   HERO TITLE
========================================= */

.technology-hero h1{

    font-size:clamp(2.7rem,6vw,4.3rem);

    line-height:1.1;

    margin-bottom:25px;

    font-weight:800;

    letter-spacing:-1px;

}

.technology-hero p{

    width:min(760px,100%);

    margin:auto;

    font-size:1.12rem;

    line-height:1.9;

    color:rgba(255,255,255,.92);

}

/* =========================================
   HERO STATS
========================================= */

.hero-stats{

    display:flex;

    justify-content:center;

    gap:25px;

    flex-wrap:wrap;

    margin-top:65px;

}

.stat-box{

    width:170px;

    padding:28px 20px;

    border-radius:22px;

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(12px);

    border:1px solid rgba(255,255,255,.18);

    transition:.35s;

}

.stat-box:hover{

    transform:translateY(-8px);

    background: transparent;

    border:3px solid rgba(255,255,255,.18);

}

.stat-box h3{

    font-size:2rem;

    color:#fff;

    margin-bottom:10px;

}

.stat-box span{

    color:rgba(255,255,255,.88);

    font-size:.95rem;

}

/* =========================================
   SECTION SPACING
========================================= */

.search-section,

.featured-section,

.latest-section{

    padding:90px 0;

}

/* =========================================
   SECTION HEADING
========================================= */

.section-heading{

    width:min(760px,100%);

    margin:0 auto 60px;

    text-align:center;

}

.section-badge{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:10px 22px;

    border-radius:999px;

    background:#eef5ff;

    color:#0057b8;

    font-size:.85rem;

    font-weight:700;

    border:1px solid #dbe9ff;

    margin-bottom:20px;

}

.section-heading h2{

    font-size:clamp(2rem,5vw,2.9rem);

    color:#0a2540;

    margin-bottom:18px;

    line-height:1.2;

}

.section-heading p{

    color:#64748b;

    line-height:1.8;

    font-size:1.03rem;

}

/* =========================================
   SEARCH SECTION
========================================= */

.search-container{

    display:flex;

    justify-content:center;

    margin-top:20px;

}

.search-box{

    position:relative;

    width:100%;

    max-width:760px;

}

.search-icon{

    position:absolute;

    top:50%;

    left:24px;

    transform:translateY(-50%);

    font-size:1.15rem;

    color:#94a3b8;

    pointer-events:none;

}

.search-box input{

    width:100%;

    height:68px;

    padding:0 28px 0 62px;

    border:none;

    outline:none;

    border-radius:60px;

    background:#fff;

    box-shadow:
    0 15px 40px rgba(15,23,42,.08);

    font-size:1rem;

    color:#1e293b;

    transition:.35s ease;

}

.search-box input::placeholder{

    color:#94a3b8;

}

.search-box input:focus{

    transform:translateY(-3px);

    box-shadow:
    0 22px 45px rgba(0,87,184,.18);

}

.no-results{

    display:none;

    text-align:center;

    margin-top:25px;

    color:#dc2626;

    font-weight:600;

}

/* =========================================
   FEATURED CARD
========================================= */

.featured-card{

    display:grid;

    grid-template-columns:1.15fr 1fr;

    gap:45px;

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    box-shadow:0 18px 45px rgba(0,0,0,.08);

    transition:.35s;

}

.featured-card:hover{

    transform:translateY(-8px);

    box-shadow:0 28px 55px rgba(0,0,0,.12);

}

/* =========================================
   FEATURED IMAGE
========================================= */

.featured-image{

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

    background:#f5f7fa;

}

.featured-image img{

    width:100%;

    height:auto;

    display:block;

    transition:.5s;

}

.featured-card:hover .featured-image img{

    transform:scale(1.03);

}

/* =========================================
   FEATURED CONTENT
========================================= */

.featured-content{

    padding:45px;

    display:flex;

    flex-direction:column;

    justify-content:center;

}

.post-category{

    display:inline-flex;

    align-items:center;

    width:max-content;

    padding:8px 18px;

    border-radius:50px;

    background:#edf5ff;

    color:#0057b8;

    font-size:.82rem;

    font-weight:700;

    margin-bottom:22px;

}

.featured-content h2{

    font-size:2.2rem;

    line-height:1.25;

    color:#0a2540;

    margin-bottom:20px;

}

.featured-content p{

    color:#64748b;

    line-height:1.9;

    margin-bottom:28px;

    font-size:1rem;

}

.post-meta{

    display:flex;

    gap:24px;

    flex-wrap:wrap;

    margin-bottom:32px;

    color:#64748b;

    font-size:.95rem;

}

.post-meta span{

    display:flex;

    align-items:center;

    gap:8px;

}

.read-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:max-content;

    padding:15px 34px;

    border-radius:999px;

    background:#0057b8;

    color:#fff;

    text-decoration:none;

    font-weight:600;

    transition:.35s;

}

.read-btn:hover{

    background:#003366;

    transform:translateY(-3px);

    box-shadow:
    0 15px 35px rgba(0,87,184,.28);

}

/* =========================================
   LATEST ARTICLES
========================================= */

.latest-section{

    padding-top:20px;

}

.posts-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));

    gap:35px;

    align-items:stretch;

}

/* =========================================
   ARTICLE CARD
========================================= */

.post-card{

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    box-shadow:
    0 12px 35px rgba(15,23,42,.08);

    transition:
    transform .35s ease,
    box-shadow .35s ease;

    display:flex;

    flex-direction:column;

    height:100%;

}

.post-card:hover{

    transform:translateY(-10px);

    box-shadow:
    0 24px 55px rgba(15,23,42,.14);

}

.post-card a{

    display:flex;

    flex-direction:column;

    height:100%;

    color:inherit;

    text-decoration:none;

}

.posts-grid.search-active{

    grid-template-columns:repeat(auto-fill,minmax(340px,340px));

    justify-content:center;

}

/* =========================================
   ARTICLE IMAGE
========================================= */

.post-image{

    position:relative;

    overflow:hidden;

    aspect-ratio:16/9;

}

.post-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    object-position:center;

    display:block;

    transition:transform .7s ease;

}

.post-card:hover .post-image img{

    transform:scale(1.08);

}

/* Gradient Overlay */

.post-image::after{

    content:"";

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    to top,
    rgba(0,0,0,.35),
    transparent 55%);

    opacity:0;

    transition:.35s;

}

.post-card:hover .post-image::after{

    opacity:1;

}

/* =========================================
   ARTICLE CONTENT
========================================= */

.post-content{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:28px;

}

.post-content .post-category{

    display:inline-flex;

    align-items:center;

    width:max-content;

    padding:7px 16px;

    border-radius:999px;

    background:#edf5ff;

    color:#0057b8;

    font-size:.78rem;

    font-weight:700;

    margin-bottom:18px;

}

.post-content h3{

    font-size:1.42rem;

    line-height:1.4;

    color:#0a2540;

    margin-bottom:18px;

    transition:.3s;

}

.post-card:hover h3{

    color:#0057b8;

}

.post-content p{

    color:#64748b;

    line-height:1.85;

    font-size:.96rem;

    margin-bottom:auto;

}

/* =========================================
   ARTICLE FOOTER
========================================= */

.post-footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-top:28px;

    padding-top:22px;

    border-top:1px solid #edf2f7;

}

.post-footer span{

    color:#94a3b8;

    font-size:.9rem;

}

.read-more{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:#0057b8 !important;

    font-weight:700;

    transition:.3s;

}

.post-card:hover .read-more{

    transform:translateX(6px);

}

/* =========================================
   IMAGE LOADING EFFECT
========================================= */

.post-image img,

.featured-image img{

    background:#eef2f7;

}

/* =========================================
   HIGHLIGHT
========================================= */

mark{

    background:#fff3a3;

    color:#111827;

    padding:2px 5px;

    border-radius:5px;

}

/* =========================================
   BUTTONS
========================================= */

.read-btn,
.read-more{

    position:relative;

    overflow:hidden;

}

.read-btn::before{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:120%;

    height:100%;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.25),
        transparent
    );

    transition:.7s;

}

.read-btn:hover::before{

    left:130%;

}

/* =========================================
   SMOOTH TRANSITIONS
========================================= */

.post-card,
.featured-card,
.read-btn,
.search-box input,
.stat-box{

    transition:all .35s ease;

}

/* =========================================
   IMAGE RENDERING
========================================= */

img{

    max-width:100%;

    display:block;

    image-rendering:auto;

}

/* =========================================
   LINKS
========================================= */

a{

    transition:.3s ease;

}

/* =========================================
   CUSTOM SCROLLBAR
========================================= */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#edf2f7;

}

::-webkit-scrollbar-thumb{

    background:#0057b8;

    border-radius:30px;

}

::-webkit-scrollbar-thumb:hover{

    background:#003366;

}

/* =========================================
   SELECTION
========================================= */

::selection{

    background:#0057b8;

    color:#fff;

}

/* =========================================
   SEARCH HIGHLIGHT
========================================= */

mark{

    background:#ffe58a;

    color:#111827;

    padding:2px 5px;

    border-radius:4px;

}

/* =========================================
   SMALL FADE ANIMATION
========================================= */

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(35px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.featured-card{

    animation:fadeUp .7s ease;

}

.post-card{

    animation:fadeUp .7s ease;

}

/* =========================================
   REMOVE BLUE TAP ON MOBILE
========================================= */

*{

    -webkit-tap-highlight-color:transparent;

}

/* =========================================
   FOCUS STATES
========================================= */

input:focus,
button:focus,
a:focus{

    outline:none;

}

/* =========================================
   LARGE DESKTOP
========================================= */

@media (max-width:1200px){

    .container{

        width:min(1100px,94%);

    }

    .technology-hero h1{

        font-size:3.5rem;

    }

    .featured-card{

        grid-template-columns:55% 45%;

    }

}

/* =========================================
   TABLET
========================================= */

@media (max-width:992px){

    .technology-hero{

        padding:140px 20px 90px;

    }

    .technology-hero h1{

        font-size:2.9rem;

    }

    .technology-hero p{

        font-size:1.05rem;

    }

    .hero-stats{

        gap:20px;

    }

    .stat-box{

        width:160px;

        padding:24px;

    }

    .search-section,

    .featured-section,

    .latest-section{

        padding:70px 0;

    }

    .featured-card{

        grid-template-columns:1fr;

    }

    .featured-image{

        aspect-ratio:16/9;

    }

    .featured-content{

        padding:40px;

    }

    .featured-content h2{

        font-size:2rem;

    }

    .posts-grid{

        grid-template-columns:repeat(2,1fr);

        gap:28px;

    }

}

/* =========================================
   MOBILE
========================================= */

@media (max-width:768px){

    .technology-hero{

        padding:120px 18px 70px;

    }

    .technology-hero h1{

        font-size:2.2rem;

        line-height:1.25;

    }

    .technology-hero p{

        font-size:1rem;

    }

    .hero-stats{

        flex-direction:column;

        align-items:center;

    }

    .stat-box{

        width:100%;

        max-width:320px;

    }

    .section-heading{

        margin-bottom:45px;

    }

    .section-heading h2{

        font-size:2rem;

    }

    .section-heading p{

        font-size:.96rem;

    }

    .search-box input{

        height:58px;

        font-size:15px;

        padding-left:58px;

    }

    .search-icon{

        left:20px;

        font-size:1rem;

    }

    .featured-content{

        padding:30px;

    }

    .featured-content h2{

        font-size:1.7rem;

    }

    .featured-content p{

        font-size:.95rem;

    }

    .post-meta{

        gap:15px;

    }

    .posts-grid{

        grid-template-columns:1fr;

    }

    .post-content{

        padding:24px;

    }

    .post-content h3{

        font-size:1.3rem;

    }

}

/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width:480px){

    .technology-hero{

        padding:105px 15px 60px;

    }

    .hero-badge{

        font-size:.8rem;

        padding:8px 16px;

    }

    .technology-hero h1{

        font-size:1.85rem;

    }

    .technology-hero p{

        font-size:.92rem;

    }

    .section-heading h2{

        font-size:1.7rem;

    }

    .section-heading p{

        font-size:.92rem;

    }

    .featured-content{

        padding:22px;

    }

    .featured-content h2{

        font-size:1.4rem;

    }

    .featured-content p{

        font-size:.92rem;

    }

    .read-btn{

        width:100%;

        justify-content:center;

    }

    .post-content{

        padding:20px;

    }

    .post-content h3{

        font-size:1.15rem;

    }

    .post-content p{

        font-size:.9rem;

    }

}
