

    *,
    *::before,
    *::after {

        margin: 0;
        padding: 0;
        box-sizing: border-box;

    }

    :root {

        /* ========================================= */
        /* BRAND COLORS */
        /* ========================================= */

        --primary: #2563eb;
        --primary-hover: #1d4ed8;

        --secondary: #0f172a;

        --accent: #06b6d4;

        /* ========================================= */
        /* BACKGROUND */
        /* ========================================= */

        --background: #ffffff;

        --surface: #f8fafc;

        --surface-hover: #f1f5f9;

        /* ========================================= */
        /* TEXT */
        /* ========================================= */

        --text-primary: #111827;

        --text-secondary: #6b7280;

        --text-light: #9ca3af;

        /* ========================================= */
        /* BORDERS */
        /* ========================================= */

        --border: #e5e7eb;

        --border-dark: #d1d5db;

        /* ========================================= */
        /* STATUS */
        /* ========================================= */

        --success: #16a34a;

        --warning: #f59e0b;

        --danger: #dc2626;

        /* ========================================= */
        /* SHADOWS */
        /* ========================================= */

        --shadow-sm: 0 2px 8px rgba(0,0,0,.05);

        --shadow-md: 0 10px 30px rgba(0,0,0,.08);

        --shadow-lg: 0 25px 60px rgba(0,0,0,.12);

        /* ========================================= */
        /* BORDER RADIUS */
        /* ========================================= */

        --radius-sm: 8px;

        --radius-md: 14px;

        --radius-lg: 22px;

        --radius-xl: 30px;

        /* ========================================= */
        /* LAYOUT */
        /* ========================================= */

        --container-width: 1440px;

        --header-height: 80px;

        /* ========================================= */
        /* ANIMATION */
        /* ========================================= */

        --transition: .25s ease;

    }

    html {

        font-size: 16px;

        scroll-behavior: smooth;

        -webkit-text-size-adjust: 100%;

    }

    body {

        min-height: 100vh;

        font-family: "Inter", sans-serif;

        background: var(--background);

        color: var(--text-primary);

        line-height: 1.6;

        overflow-x: hidden;

        text-rendering: optimizeLegibility;

        -webkit-font-smoothing: antialiased;

        -moz-osx-font-smoothing: grayscale;

    }

    
/* ========================================= */
/* BACK TO TOP */
/* ========================================= */

.back-to-top{

    position:fixed;

    right:2rem;

    bottom:2rem;

    width:52px;

    height:52px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:var(--accent-color);

    color:#ffffff;

    box-shadow:var(--shadow-md);

    transition:var(--transition);

    z-index:100;

}

.back-to-top:hover{

    background:var(--accent-hover);

    transform:translateY(-6px);

}

    img,
    picture,
    video,
    canvas,
    svg {

        display: block;

        max-width: 100%;

    }

    button,
    input,
    textarea,
    select {

        font: inherit;

    }

    button {

        border: none;

        background: none;

        cursor: pointer;

    }

    a {

        color: inherit;

        text-decoration: none;

    }

    ul,
    ol {

        list-style: none;

    }

    table {

        border-collapse: collapse;

        border-spacing: 0;

    }

    .website {

        width: 100%;

        min-height: 100vh;

        background: var(--background);

    }

    .container {

        width: min(100% - 32px, var(--container-width));

        margin-inline: auto;

    }

    section {

        width: 100%;

        }
            /* ========================================= */
    /* PART 1.C */
    /* TYPOGRAPHY • UTILITIES • FOUNDATION */
    /* ========================================= */

    /* ========================================= */
    /* TYPOGRAPHY */
    /* ========================================= */

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {

        color: var(--text-primary);

        font-weight: 800;

        line-height: 1.2;

        letter-spacing: -.03em;

    }

    h1 {

        font-size: clamp(2.5rem, 5vw, 4rem);

    }

    h2 {

        font-size: clamp(2rem, 4vw, 3rem);

    }

    h3 {

        font-size: 1.45rem;

    }

    h4 {

        font-size: 1.2rem;

    }

    p {

        color: var(--text-secondary);

        font-size: 1rem;

        line-height: 1.8;

    }

    small {

        color: var(--text-light);

        font-size: .875rem;

    }

    strong {

        font-weight: 700;

    }

    /* ========================================= */
    /* COMMON UTILITIES */
    /* ========================================= */

    .hidden {

        display: none !important;

    }

    .flex {

        display: flex;

    }

    .grid {

        display: grid;

    }

    .block {

        display: block;

    }

    .inline-flex {

        display: inline-flex;

    }

    .align-center {

        align-items: center;

    }

    .justify-center {

        justify-content: center;

    }

    .justify-between {

        justify-content: space-between;

    }

    .text-center {

        text-align: center;

    }

    .text-left {

        text-align: left;

    }

    .text-right {

        text-align: right;

    }

    .w-100 {

        width: 100%;

    }

    .h-100 {

        height: 100%;

    }

    .rounded {

        border-radius: var(--radius-md);

    }

    .shadow {

        box-shadow: var(--shadow-md);

    }

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

    a,
    button,
    input,
    textarea,
    select,
    img {

        transition: all var(--transition);

    }

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

    :focus-visible {

        outline: 3px solid rgba(37, 99, 235, .25);

        outline-offset: 3px;

    }

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

    ::selection {

        background: var(--primary);

        color: #ffffff;

    }

    ::-moz-selection {

        background: var(--primary);

        color: #ffffff;

    }

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

    ::-webkit-scrollbar {

        width: 10px;

    }

    ::-webkit-scrollbar-track {

        background: var(--surface);

    }

    ::-webkit-scrollbar-thumb {

        background: #cbd5e1;

        border-radius: 999px;

    }

    ::-webkit-scrollbar-thumb:hover {

        background: #94a3b8;

    }

    /* ========================================= */
    /* REDUCED MOTION */
    /* ========================================= */

    @media (prefers-reduced-motion: reduce) {

        *,
        *::before,
        *::after {

            animation-duration: .01ms !important;

            animation-iteration-count: 1 !important;

            transition-duration: .01ms !important;

            scroll-behavior: auto !important;

        }

            }
            /* ========================================= */
    /* PART 2.A */
    /* HEADER FOUNDATION */
    /* ========================================= */

    .header {

        position: sticky;

        top: 0;

        left: 0;

        width: 100%;

        height: var(--header-height);

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

        backdrop-filter: blur(20px);

        -webkit-backdrop-filter: blur(20px);

        border-bottom: 1px solid var(--border);

        z-index: 1000;

    }

    .header::before {

        content: "";

        position: absolute;

        inset: 0;

        background:
            linear-gradient(
                to bottom,
                rgba(255,255,255,.65),
                rgba(255,255,255,.92)
            );

        pointer-events: none;

    }

    .header-container {

        position: relative;

        z-index: 2;

        width: min(100% - 32px, var(--container-width));

        height: 100%;

        margin-inline: auto;

        display: grid;

        grid-template-columns:
            auto
            minmax(280px,1fr)
            auto;

        align-items: center;

        gap: 24px;

    }

    .header-left {

        display: flex;

        align-items: center;

        gap: 18px;

        min-width: 0;

    }

    .header-center {

        display: flex;

        justify-content: center;

        min-width: 0;

    }

    .header-right {

        display: flex;

        align-items: center;

        justify-content: flex-end;

        gap: 14px;

    }

    /* ========================================= */
    /* BRAND */
    /* ========================================= */
.brand{

    display:flex;

    align-items:center;

    gap:16px;

    user-select:none;

    flex-shrink:0;

}

.brand-logo{

    width:52px;

    height:52px;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    border-radius:16px;

    background:linear-gradient(
        135deg,
        #2563eb,
        #06b6d4
    );

    color:#ffffff;

    font-size:1.4rem;

    box-shadow:
        0 12px 30px rgba(37,99,235,.28);

    transition:.25s;

}

.brand:hover .brand-logo{

    transform:rotate(-8deg) scale(1.05);

}


    .brand-content {

        display: flex;

        flex-direction: column;

        gap: 2px;

    }

  .brand-title{

    font-size:1.35rem;

    font-weight:900;

    color:#0f172a;

    line-height:1;

    letter-spacing:-0.03em;

}
.brand-subtitle{

    margin-top:4px;

    font-size:.80rem;

    font-weight:600;

    color:#64748b;

    line-height:1.2;

}

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

    .header-button {

        width: 46px;

        height: 46px;

        display: flex;

        align-items: center;

        justify-content: center;

        border-radius: var(--radius-md);

        background: var(--surface);

        border: 1px solid var(--border);

        color: var(--text-primary);

        transition: all var(--transition);

    }

    .header-button:hover {

        background: var(--surface-hover);

        border-color: var(--primary);

        color: var(--primary);

        transform: translateY(-2px);

        box-shadow: var(--shadow-sm);

    }

    .header-button i {

        font-size: 1.05rem;

    }

    /* ========================================= */
    /* RESPONSIVE HEADER */
    /* ========================================= */

@media (max-width:1024px){

    .header{

        height:auto;

        padding:14px 0;

    }

   .header-container{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:16px;

}

    .header-left{

        grid-area:brand;

        justify-content:flex-start;

    }

   

    .header-right{

        grid-area:menu;

        display:flex;

        justify-content:flex-end;

        align-items:center;

    }

}

    @media (max-width:640px){

       

        .brand-title{

            font-size:1rem;

        }

        .brand-subtitle{

            display:none;

        }

        .header-button{

            width:42px;

            height:42px;

        }

    }
.header-right{

    margin-left:auto;

}
        /* ========================================= */
/* PART 2.B */
/* SEARCH BAR */
/* ========================================= */

.search-wrapper{

    position:relative;

    width:100%;

    max-width:760px;

    margin:18px auto 20px;

}

.search-box{

    position:relative;

    display:flex;

    align-items:center;

    gap:16px;

    width:100%;

    height:64px;

    padding:0 24px;

    background:linear-gradient(135deg,#ffffff,#f8fbff);

    border:2px solid #dbeafe;

    border-radius:20px;

    box-shadow:

        0 10px 30px rgba(37,99,235,.08);

    transition:.3s;

}

.search-box::before {

    content: "";

    position: absolute;

    inset: 0;

    background:

    linear-gradient(
        90deg,
        rgba(37,99,235,.04),
        transparent,
        rgba(6,182,212,.04)
    );

    opacity: 0;

    transition: opacity .25s ease;

}

.search-box:hover{

    border-color:#60a5fa;

    box-shadow:

        0 16px 40px rgba(37,99,235,.16);

}

.search-box:focus-within{

    border-color:#2563eb;

    box-shadow:

        0 0 0 6px rgba(37,99,235,.12),

        0 18px 45px rgba(37,99,235,.18);

}

.search-box:focus-within::before {

    opacity: 1;

}

.search-icon {

    position: relative;

    z-index: 2;

    font-size: 1rem;

    color: var(--text-secondary);

    flex-shrink: 0;

}

.search-box:focus-within .search-icon {

    color: var(--primary);

}

.search-input {

    position: relative;

    z-index: 2;

    width: 100%;

    border: none;

    outline: none;

    background: transparent;

    color: var(--text-primary);

    font-size: .97rem;

    font-weight: 500;

}

.search-input::placeholder {

    color: var(--text-light);

}

.search-clear {

    position: relative;

    z-index: 2;

    width: 36px;

    height: 36px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    color: var(--text-secondary);

    transition: all var(--transition);

    flex-shrink: 0;

}

.search-clear:hover {

    background: var(--surface-hover);

    color: var(--danger);

}

.search-shortcut {

    position: relative;

    z-index: 2;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 6px 12px;

    border-radius: var(--radius-sm);

    background: #ffffff;

    border: 1px solid var(--border);

    color: var(--text-secondary);

    font-size: .78rem;

    font-weight: 700;

    white-space: nowrap;

    flex-shrink: 0;

}

/* ========================================= */
/* SEARCH LOADING */
/* ========================================= */

.search-loading {

    position: absolute;

    top: 50%;

    right: 60px;

    transform: translateY(-50%);

    width: 18px;

    height: 18px;

    border: 2px solid #dbeafe;

    border-top-color: var(--primary);

    border-radius: 50%;

    animation: searchSpin .7s linear infinite;

    display: none;

}

.search-loading.active {

    display: block;

}

@keyframes searchSpin {

    to {

        transform:
            translateY(-50%)
            rotate(360deg);

    }

}

/* ========================================= */
/* RESPONSIVE SEARCH */
/* ========================================= */

@media (max-width:768px){

    .search-box{

        height:52px;

        padding:0 16px;

    }

    .search-shortcut{

        display:none;

    }

}

@media (max-width:480px){

    .search-box{

        height:48px;

    }

    }
        /* ========================================= */
/* PART 2.C */
/* HEADER ACTIONS • MOBILE MENU • RESPONSIVE */
/* ========================================= */

/* Header Action Group */

.header-actions {

    display: flex;

    align-items: center;

    gap: 12px;

}

/* Menu Button */

.menu-button {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 46px;

    height: 46px;

    border-radius: var(--radius-md);

    background: var(--surface);

    border: 1px solid var(--border);

    color: var(--text-primary);

    transition: all var(--transition);

}

.menu-button:hover {

    background: var(--surface-hover);

    border-color: var(--primary);

    color: var(--primary);

    transform: translateY(-2px);

    box-shadow: var(--shadow-sm);

}

/* Notification Badge */

.notification-badge {

    position: absolute;

    top: -4px;

    right: -4px;

    width: 18px;

    height: 18px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: var(--danger);

    color: #ffffff;

    font-size: .65rem;

    font-weight: 700;

    border-radius: 50%;

}
/* Mobile Navigation */

.mobile-menu{

    position:fixed;

    top:16px;

    right:-360px;

    width:340px;

    height:calc(100vh - 32px);

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

    backdrop-filter:blur(28px);

    -webkit-backdrop-filter:blur(28px);

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

    border-left:1px solid rgba(37,99,235,.15);

    border-radius:28px 0 0 28px;

    box-shadow:

        0 40px 80px rgba(15,23,42,.25),

        0 8px 25px rgba(37,99,235,.15);

    overflow:hidden;

    transition:.45s cubic-bezier(.22,.61,.36,1);

    z-index:2000;

}

.mobile-menu.active{

    right:16px;

}


.mobile-menu-header{

    padding:26px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    border-bottom:1px solid rgba(148,163,184,.18);

    background:

        linear-gradient(

            135deg,

            rgba(37,99,235,.10),

            rgba(6,182,212,.08)

        );

}

.mobile-menu-title{

    font-size:1.45rem;

    font-weight:900;

    color:#0f172a;

    letter-spacing:-.02em;

}

.mobile-menu-close{

    width:46px;

    height:46px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:16px;

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

    backdrop-filter:blur(12px);

    border:1px solid rgba(37,99,235,.12);

    color:#1e293b;

    transition:.3s;

}

.mobile-menu-close:hover{

    background:#2563eb;

    color:white;

    transform:rotate(90deg);

}

.mobile-menu-links{

    display:flex;

    flex-direction:column;

    gap:12px;

    padding:24px;

}
.mobile-menu-links a{

    position:relative;

    display:flex;

    align-items:center;

    gap:18px;

    padding:18px 22px;

    border-radius:18px;

    font-weight:700;

    color:#334155;

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

    border:1px solid rgba(37,99,235,.08);

    transition:.35s;

    overflow:hidden;

}
.mobile-menu-links a::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:4px;

    height:100%;

    background:

        linear-gradient(

            #2563eb,

            #06b6d4

        );

    transform:scaleY(0);

    transition:.3s;

}

.mobile-menu-links a:hover{

    color:#2563eb;

    background:

        linear-gradient(

            90deg,

            rgba(37,99,235,.10),

            rgba(6,182,212,.08)

        );

    transform:

        translateX(8px)

        scale(1.02);

    box-shadow:

        0 15px 30px rgba(37,99,235,.15);

}

.mobile-menu-links a:hover::before{

    transform:scaleY(1);

}

/* Overlay */

.mobile-overlay {

    position: fixed;

    inset: 0;

    background: rgba(15,23,42,.45);

    backdrop-filter: blur(3px);

    opacity: 0;

    visibility: hidden;

    transition: all .3s ease;

    z-index: 1500;

}

.mobile-overlay.active {

    opacity: 1;

    visibility: visible;

}
.mobile-menu-links i{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:14px;

    background:

        linear-gradient(

            135deg,

            #2563eb,

            #06b6d4

        );

    color:white;

    font-size:1rem;

    flex-shrink:0;

    box-shadow:

        0 10px 22px rgba(37,99,235,.25);

}
/* Responsive */

@media (max-width:1024px){

    .header-actions{

        display:none;

    }

}

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

.hero-section{

    position:relative;

    overflow:hidden;

padding:34px 0 22px;
    background:linear-gradient(
        180deg,
        #fcfdff 0%,
        #f5f9ff 100%
    );

    border-bottom:1px solid #e8eef8;

}

.hero-section::before{

    content:"";

    position:absolute;

    inset:0;

    background:
        radial-gradient(circle at top right,
        rgba(255,255,255,.16),
        transparent 45%),

        radial-gradient(circle at bottom left,
        rgba(255,255,255,.10),
        transparent 40%);

}

.hero-content{

    max-width:620px;

}

.hero-title{

    font-size:clamp(1.9rem,3vw,2.7rem);

    font-weight:800;

    color:#0f172a;

    line-height:1.2;

    letter-spacing:-0.02em;

    margin-bottom:12px;

}

.hero-description{

    max-width:580px;

    font-size:0.98rem;

    line-height:1.7;

    color:#64748b;

}
        /* ========================================= */
/* PART 3.A */
/* FEATURE CARD FOUNDATION */
/* ========================================= */

.feature-card {

    position: relative;

    display: flex;

    flex-direction: column;

    width: 100%;

    background: #ffffff;

    border: 1px solid var(--border);

    border-radius: var(--radius-xl);

    overflow: hidden;

    box-shadow: var(--shadow-sm);

    transition: all .35s ease;

    isolation: isolate;

}

.feature-card:hover {

    transform: translateY(-8px);

    border-color: var(--primary);

    box-shadow: var(--shadow-lg);

}

.feature-card::before {

    content: "";

    position: absolute;

    inset: 0;

    background:

        linear-gradient(
            135deg,
            rgba(37,99,235,.05),
            transparent 40%,
            rgba(6,182,212,.05)
        );

    opacity: 0;

    transition: opacity .35s ease;

    pointer-events: none;

}

.feature-card:hover::before {

    opacity: 1;

}

/* ========================================= */
/* FEATURE LINK */
/* ========================================= */

.feature-link {

    display: flex;

    flex-direction: column;

    width: 100%;

    height: 100%;

    color: inherit;

}

/* ========================================= */
/* FEATURE THUMBNAIL */
/* ========================================= */

.feature-thumbnail {

    position: relative;

    width: 100%;

    aspect-ratio: 16 / 9;

    overflow: hidden;

    background: var(--surface);

}

.feature-thumbnail img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform .45s ease;

}

.feature-card:hover .feature-thumbnail img {

    transform: scale(1.08);

}

/* ========================================= */
/* FEATURE BADGE */
/* ========================================= */

.feature-badge {

    position: absolute;

    top: 16px;

    left: 16px;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 8px 16px;

    border-radius: 999px;

    background: rgba(37,99,235,.96);

    color: #ffffff;

    font-size: .82rem;

    font-weight: 700;

    backdrop-filter: blur(10px);

}

.feature-badge i {

    font-size: .8rem;

}

/* ========================================= */
/* FEATURE CONTENT */
/* ========================================= */

.feature-content {

    display: flex;

    flex-direction: column;

    gap: 18px;

    padding: 26px;

    flex: 1;

    height: 100%;

}

.feature-title {

    font-size: 1.45rem;

    font-weight: 800;

    color: var(--text-primary);

    line-height: 1.35;

}

.feature-description {

    color: var(--text-secondary);

    font-size: .97rem;

    line-height: 1.8;

}

/* ========================================= */
/* FEATURE META */
/* ========================================= */

.feature-meta {

    display: flex;

    flex-wrap: wrap;

    gap: 18px;

    margin-top: auto;

}

.feature-meta-item {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    color: var(--text-secondary);

    font-size: .88rem;

    font-weight: 600;

}

.feature-meta-item i {

    color: var(--primary);

}

/* ========================================= */
/* FEATURE FOOTER */
/* ========================================= */

.feature-footer {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 18px;

    margin-top: auto;

    padding-top: 26px;

}
.feature-price {

    display: flex;

    flex-direction: column;

    gap: 4px;

}

.feature-price-label {

    color: var(--text-light);

    font-size: .78rem;

    font-weight: 700;

    text-transform: uppercase;

}

.feature-price-value {

    color: var(--text-primary);

    font-size: 1.35rem;

    font-weight: 800;

}

.feature-button {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    padding: 14px 22px;

    background: var(--primary);

    color: #ffffff;

    border-radius: 999px;

    font-size: .94rem;

    font-weight: 700;

    transition: all .25s ease;

}

.feature-button:hover {

    background: var(--primary-hover);

    transform: translateY(-2px);

}

.feature-button i {

    transition: transform .25s ease;

}

.feature-button:hover i {

    transform: translateX(4px);

}
        /* ========================================= */
/* PART 3.B */
/* FEATURE GRID • RESPONSIVE LAYOUT */
/* ========================================= */
.feature-section{

    width:100%;

    padding:20px 0 72px;

}

.feature-grid {

    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 28px;

    align-items: stretch;

}

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

@media (min-width: 1600px) {

    .feature-grid {

        grid-template-columns: repeat(4, minmax(0, 1fr));

    }

}

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

@media (min-width: 1200px) and (max-width: 1599px) {

    .feature-grid {

        grid-template-columns: repeat(3, minmax(0, 1fr));

    }

}

/* ========================================= */
/* LAPTOP */
/* ========================================= */

@media (min-width: 768px) and (max-width: 1199px) {

    .feature-grid {

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

        gap: 24px;

    }

}

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

@media (max-width: 767px) {

    .feature-section {

        padding: 36px 0 56px;

    }

    .feature-grid {

        grid-template-columns: 1fr;

        gap: 20px;

    }

    .feature-content {

        padding: 22px;

    }

    .feature-title {

        font-size: 1.3rem;

    }

    .feature-description {

        font-size: .94rem;

    }

    .feature-footer {

        flex-direction: column;

        align-items: stretch;

        gap: 18px;

    }

    .feature-button {

        width: 100%;

    }

}

.feature-grid > * {

    animation: featureFadeUp .45s ease both;

}

@keyframes featureFadeUp {

    from {

        opacity: 0;

        transform: translateY(18px);

    }

    to {

        opacity: 1;

        transform: translateY(0);

    }

}
        /* ========================================= */
/* PART 3.C */
/* SKELETON • EMPTY STATE • CARD ANIMATIONS */
/* ========================================= */

/* ========================================= */
/* FEATURE SKELETON */
/* ========================================= */

.feature-skeleton {

    width: 100%;

    height: 430px;

    border-radius: var(--radius-xl);

    overflow: hidden;

    position: relative;

    background: #f1f5f9;

    border: 1px solid var(--border);

}

.feature-skeleton::before {

    content: "";

    position: absolute;

    inset: 0;

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

    transform: translateX(-100%);

    animation: skeleton-loading 1.3s infinite;

}

@keyframes skeleton-loading {

    100% {

        transform: translateX(100%);

    }

}

/* ========================================= */
/* EMPTY STATE */
/* ========================================= */

.empty-state {

    display: none;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    padding: 90px 24px;

}

.empty-state.active {

    display: flex;

}

.empty-icon {

    width: 90px;

    height: 90px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: var(--surface);

    border: 1px solid var(--border);

    margin-bottom: 24px;

}

.empty-icon i {

    font-size: 2rem;

    color: var(--text-light);

}

.empty-title {

    font-size: 1.8rem;

    font-weight: 800;

    color: var(--text-primary);

    margin-bottom: 12px;

}

.empty-description {

    max-width: 620px;

    color: var(--text-secondary);

    line-height: 1.8;

    margin-bottom: 28px;

}

.empty-button {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 14px 24px;

    border-radius: 999px;

    background: var(--primary);

    color: #ffffff;

    font-weight: 700;

    transition: all .25s ease;

}

.empty-button:hover {

    background: var(--primary-hover);

    transform: translateY(-2px);

}

/* ========================================= */
/* FEATURE GRID STATES */
/* ========================================= */

.feature-grid.loading {

    opacity: .8;

    pointer-events: none;

}

.feature-grid.loaded {

    opacity: 1;

    transition: opacity .3s ease;

}

/* ========================================= */
/* CARD APPEAR ANIMATION */
/* ========================================= */

.feature-card {

    animation: cardFadeUp .45s ease both;

}

@keyframes cardFadeUp {

    from {

        opacity: 0;

        transform: translateY(24px);

    }

    to {

        opacity: 1;

        transform: translateY(0);

    }

}

/* ========================================= */
/* STAGGER ANIMATION */
/* ========================================= */

.feature-card:nth-child(2) {

    animation-delay: .05s;

}

.feature-card:nth-child(3) {

    animation-delay: .1s;

}

.feature-card:nth-child(4) {

    animation-delay: .15s;

}

.feature-card:nth-child(5) {

    animation-delay: .2s;

}

.feature-card:nth-child(6) {

    animation-delay: .25s;

}

/* ========================================= */
/* RESPONSIVE */
/* ========================================= */

@media (max-width:768px) {

    .empty-state {

        padding: 70px 20px;

    }

    .empty-title {

        font-size: 1.5rem;

    }

    .feature-skeleton {

        height: 390px;

    }

}
        /* ========================================= */
/* PART 5.A */
/* SEARCH RESULTS • FEATURE STATS • FILTER BAR */
/* ========================================= */

/* ========================================= */
/* FEATURE TOOLBAR */
/* ========================================= */

.feature-toolbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:24px;

    flex-wrap:wrap;

   margin:8px 0 18px;

    padding:20px 24px;

    background:#ffffff;

    border:1px solid #e5edf8;

    border-radius:18px;

    box-shadow:

        0 8px 22px rgba(15,23,42,.05);

}

/* ========================================= */
/* RESULT INFORMATION */
/* ========================================= */

.feature-results{

    display:flex;

    flex-direction:column;

    gap:4px;

    flex:1;

}

.feature-results-title{

    font-size:1.6rem;

    font-weight:800;

    line-height:1.2;

    margin:0;

}

.feature-results-description{

    font-size:.92rem;

    color:#64748b;

    line-height:1.5;

}

/* ========================================= */
/* LIVE STATISTICS */
/* ========================================= */

.feature-statistics{

    display:flex;

    gap:12px;

    align-items:center;

}

.feature-stat{

    display:flex;

    align-items:center;

    gap:10px;

    padding:10px 16px;

    border-radius:14px;

    background:#f8fbff;

    border:1px solid #dbeafe;

    box-shadow:none;

}

.feature-stat-icon{

    width:38px;

    height:38px;

    font-size:.95rem;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:linear-gradient(
        135deg,
        #2563eb,
        #06b6d4
    );

    color:#fff;

}

.feature-stat-content {

    display: flex;

    flex-direction: column;

    gap: 2px;

}

.feature-stat-value{

    font-size:1rem;

    font-weight:800;

    line-height:1;

}

.feature-stat-label{

    font-size:.72rem;

    color:#64748b;

    font-weight:600;

}

/* ========================================= */
/* FILTER BAR */
/* ========================================= */

.filter-bar {

    display: flex;

    align-items: center;

    gap: 12px;

    flex-wrap: wrap;

    margin-bottom: 34px;

}

.filter-chip{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:14px 22px;

    border-radius:999px;

    background:#ffffff;

    border:2px solid #dbeafe;

    color:#2563eb;

    font-weight:700;

    font-size:.92rem;

    box-shadow:

        0 6px 18px rgba(37,99,235,.08);

    transition:.25s;

}

.filter-chip:hover{

    transform:translateY(-3px);

    border-color:#2563eb;

    background:#eff6ff;

    box-shadow:

        0 12px 24px rgba(37,99,235,.18);

}

.filter-chip.active{

    background:linear-gradient(

        135deg,

        #2563eb,

        #06b6d4

    );

    color:white;

    border-color:transparent;

    box-shadow:

        0 12px 28px rgba(37,99,235,.35);

}

/* ========================================= */
/* ACTIVE SEARCH */
/* ========================================= */

.active-search {

    display: none;

    align-items: center;

    gap: 10px;

    margin-bottom: 24px;

    color: var(--text-secondary);

    font-size: .95rem;

    font-weight: 600;

}

.active-search.visible {

    display: flex;

}

.active-search-keyword {

    color: var(--primary);

    font-weight: 700;

}

/* ========================================= */
/* RESPONSIVE */
/* ========================================= */

@media (max-width:768px){

    .feature-toolbar{

        flex-direction:column;

        align-items:flex-start;

    }

    .feature-results-title{

        font-size:1.6rem;

    }

    .feature-statistics{

        width:100%;

    }

    .feature-stat{

        flex:1;

        min-width:140px;

    }

   .filter-bar{

    display:flex;

    align-items:center;

    gap:14px;

    flex-wrap:wrap;

    margin:0 0 22px;

}

}
        /* ========================================= */
/* PART 5.B */
/* PAGINATION • NAVIGATION • USER FEEDBACK */
/* ========================================= */

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

.pagination {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 12px;

    flex-wrap: wrap;

    margin: 56px 0;

}

/* ========================================= */
/* PAGINATION BUTTON */
/* ========================================= */

.pagination-button {

    min-width: 48px;

    height: 48px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 0 18px;

    background: #ffffff;

    border: 1px solid var(--border);

    border-radius: var(--radius-md);

    color: var(--text-primary);

    font-size: .95rem;

    font-weight: 700;

    cursor: pointer;

    transition: all var(--transition);

    box-shadow: var(--shadow-sm);

}

.pagination-button:hover {

    background: var(--surface-hover);

    border-color: var(--primary);

    color: var(--primary);

    transform: translateY(-2px);

}

/* ========================================= */
/* ACTIVE PAGE */
/* ========================================= */

.pagination-button.active {

    background: var(--primary);

    border-color: var(--primary);

    color: #ffffff;

    box-shadow: var(--shadow-md);

}

.pagination-button.active:hover {

    background: var(--primary-hover);

    color: #ffffff;

}

/* ========================================= */
/* DISABLED */
/* ========================================= */

.pagination-button:disabled {

    opacity: .45;

    cursor: not-allowed;

    transform: none;

    box-shadow: none;

}

/* ========================================= */
/* PAGE INFORMATION */
/* ========================================= */

.pagination-info {

    width: 100%;

    text-align: center;

    margin-top: 18px;

    color: var(--text-secondary);

    font-size: .92rem;

    font-weight: 600;

}

/* ========================================= */
/* LOADING STATE */
/* ========================================= */

.pagination.loading {

    opacity: .6;

    pointer-events: none;

}

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

.pagination-button {

    animation: paginationFade .3s ease;

}

@keyframes paginationFade {

    from {

        opacity: 0;

        transform: translateY(10px);

    }

    to {

        opacity: 1;

        transform: translateY(0);

    }

}

/* ========================================= */
/* RESPONSIVE */
/* ========================================= */

@media (max-width:768px) {

    .pagination {

        gap: 8px;

        margin: 42px 0;

    }

    .pagination-button {

        min-width: 42px;

        height: 42px;

        padding: 0 14px;

        font-size: .88rem;

    }

    .pagination-info {

        font-size: .85rem;

    }

        }
        /* ========================================= */
/* PART 5.C */
/* FOOTER • BACK TO TOP • PAGE UTILITIES */
/* ========================================= */

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

.footer {

    margin-top: 80px;

    background: var(--secondary);

    color: #ffffff;

}

.footer-container {

    width: min(100% - 32px, var(--container-width));

    margin-inline: auto;

    padding: 70px 0 30px;

}

.footer-grid {

    display: grid;

    grid-template-columns:
        2fr
        1fr
        1fr
        1fr;

    gap: 40px;

}

.footer-brand {

    display: flex;

    flex-direction: column;

    gap: 18px;

}

.footer-title {

    font-size: 1.6rem;

    font-weight: 800;

    color: #ffffff;

}

.footer-description {

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

    line-height: 1.8;

    max-width: 420px;

}

.footer-heading {

    font-size: 1rem;

    font-weight: 700;

    margin-bottom: 18px;

    color: #ffffff;

}

.footer-links {

    display: flex;

    flex-direction: column;

    gap: 12px;

}

.footer-links a {

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

    transition: color var(--transition);

}

.footer-links a:hover {

    color: #ffffff;

}

.footer-social {

    display: flex;

    gap: 14px;

    margin-top: 10px;

}

.footer-social a {

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

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

    color: #ffffff;

    transition: all var(--transition);

}

.footer-social a:hover {

    background: var(--primary);

    transform: translateY(-3px);

}

.footer-bottom {

    margin-top: 50px;

    padding-top: 25px;

    border-top: 1px solid rgba(255,255,255,.12);

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 20px;

    flex-wrap: wrap;

}

.footer-copyright {

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

    font-size: .9rem;

}

.footer-bottom-links {

    display: flex;

    gap: 22px;

}

.footer-bottom-links a {

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

    font-size: .9rem;

}

.footer-bottom-links a:hover {

    color: #ffffff;

}

/* ========================================= */
/* BACK TO TOP */
/* ========================================= */

.back-to-top {

    position: fixed;

    right: 24px;

    bottom: 24px;

    width: 54px;

    height: 54px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: var(--primary);

    color: #ffffff;

    box-shadow: var(--shadow-lg);

    cursor: pointer;

    opacity: 0;

    visibility: hidden;

    transform: translateY(20px);

    transition: all .3s ease;

    z-index: 999;

}

.back-to-top.show {

    opacity: 1;

    visibility: visible;

    transform: translateY(0);

}

.back-to-top:hover {

    background: var(--primary-hover);

    transform: translateY(-4px);

}

/* ========================================= */
/* PAGE UTILITIES */
/* ========================================= */

html {

    scroll-padding-top: var(--header-height);

}

body.loading {

    overflow: hidden;

}

/* ========================================= */
/* RESPONSIVE */
/* ========================================= */

@media (max-width:1024px){

    .footer-grid{

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

    }

}

@media (max-width:768px){

    .footer-grid{

        grid-template-columns:1fr;

    }

    .footer-bottom{

        flex-direction:column;

        align-items:flex-start;

    }

    .back-to-top{

        width:48px;

        height:48px;

        right:18px;

        bottom:18px;

    }

}

/* ========================================= */
/* Mobile Navigation */
/* ========================================= */


.mobile-overlay{

    position:fixed;

    inset:0;

    background:

        rgba(15,23,42,.55);

    backdrop-filter:blur(10px);

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:1500;

}

.mobile-overlay.active{

    opacity:1;

    visibility:visible;

}
