
body.category { background:#fff; }

.emca-page {
    --emca-dark:#303033;
    --emca-blue:#3EC4F2;
    --emca-border:#E7EDF3;
    --emca-soft:#F7FBFD;
    --emca-muted:#6B7280;
    font-family:"Prompt",sans-serif;
    color:var(--emca-dark);
    background:#fff;
}

.emca-page *, .emca-page *::before, .emca-page *::after { box-sizing:border-box; }

.emca-shell {
    width:min(1180px, calc(100% - 40px));
    margin:0 auto;
}

.emca-hero {
    position:relative;
    overflow:hidden;
    padding:74px 0 40px;
    background:
        radial-gradient(circle at 78% 18%, rgba(62,196,242,.16), transparent 27%),
        radial-gradient(circle at 13% 76%, rgba(62,196,242,.10), transparent 26%),
        linear-gradient(135deg,#F7FCFF 0%,#EEF9FD 52%,#FFFFFF 100%);
    border-bottom:1px solid #EAF3F7;
}

.emca-hero::before,
.emca-hero::after {
    content:"";
    position:absolute;
    border-radius:50%;
    pointer-events:none;
}

.emca-hero::before {
    width:420px;
    height:420px;
    top:-250px;
    left:-120px;
    border:1px solid rgba(62,196,242,.18);
}

.emca-hero::after {
    width:620px;
    height:620px;
    right:-360px;
    bottom:-460px;
    border:1px solid rgba(62,196,242,.16);
}

.emca-hero-inner { position:relative; z-index:1; max-width:980px; }

.emca-kicker {
    display:inline-block;
    margin-bottom:10px;
    color:#3EC4F2;
    font-size:12px;
    line-height:1.4;
    font-weight:700;
    letter-spacing:.12em;
}

.emca-hero h1,
.emca-section-head h2,
.emca-card-title,
.emca-card-title a,
.emca-category-pill {
    color:#303033;
}

.emca-hero h1 {
    margin:0;
    font-family:"Prompt",sans-serif;
    font-size:clamp(34px,5vw,58px);
    line-height:1.12;
    font-weight:700;
    letter-spacing:-.025em;
}

.emca-description {
    max-width:740px;
    margin:14px 0 26px;
    color:#56616B;
    font-size:16px;
    line-height:1.8;
}

.emca-description p { margin:0; color:inherit; line-height:inherit; }

.emca-search {
    position:relative;
    display:grid;
    grid-template-columns:44px 1fr 52px;
    align-items:center;
    max-width:770px;
    min-height:58px;
    padding:4px 4px 4px 10px;
    background:rgba(255,255,255,.95);
    border:1px solid rgba(214,227,234,.95);
    border-radius:999px;
    box-shadow:0 12px 35px rgba(32,82,105,.10);
}

.emca-search-icon {
    display:grid;
    place-items:center;
    color:#60717D;
    font-size:24px;
    line-height:1;
}

.emca-search input[type="search"] {
    width:100%;
    height:48px;
    padding:0 10px;
    color:#303033;
    background:transparent;
    border:0 !important;
    outline:0;
    box-shadow:none !important;
    font:inherit;
    font-size:15px;
}

.emca-search input[type="search"]::placeholder { color:#97A3AC; opacity:1; }

.emca-search button {
    width:48px;
    height:48px;
    padding:0;
    display:grid;
    place-items:center;
    color:#fff;
    background:#3EC4F2;
    border:0;
    border-radius:50%;
    font-size:22px;
    line-height:1;
    cursor:pointer;
    transition:transform .2s ease, background .2s ease;
}

.emca-search button:hover {
    transform:translateX(2px);
    background:#2ebae9;
}

.emca-category-nav {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}

.emca-category-pill {
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:42px;
    padding:7px 15px 7px 8px;
    text-decoration:none !important;
    background:rgba(255,255,255,.88);
    border:1px solid #D8E7EF;
    border-radius:999px;
    box-shadow:0 4px 16px rgba(32,82,105,.05);
    font-size:13px;
    font-weight:600;
    white-space:nowrap;
    transition:all .2s ease;
}

.emca-category-pill:hover,
.emca-category-pill.is-active {
    color:#303033;
    border-color:#3EC4F2;
    box-shadow:0 8px 24px rgba(32,82,105,.09);
    transform:translateY(-1px);
}

.emca-category-pill.is-active {
    background:#F4FBFE;
}

.emca-pill-icon {
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    color:#fff;
    background:#3EC4F2;
    border-radius:8px;
    font-size:14px;
    line-height:1;
}

.emca-content { padding:48px 0 76px; }

.emca-section-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:24px;
}

.emca-section-head > div { display:flex; align-items:center; gap:10px; }

.emca-section-line {
    width:5px;
    height:31px;
    border-radius:999px;
    background:#3EC4F2;
}

.emca-count {
    color:#7B8790;
    font-size:13px;
    white-space:nowrap;
}

.emca-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.emca-card {
    min-width:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid #E7EDF3;
    border-radius:18px;
    box-shadow:0 8px 26px rgba(26,57,76,.06);
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.emca-card:hover {
    transform:translateY(-5px);
    border-color:#CFEAF5;
    box-shadow:0 18px 42px rgba(26,57,76,.11);
}

.emca-card-featured { grid-column:span 2; grid-row:span 2; }

.emca-card-media {
    position:relative;
    display:block;
    overflow:hidden;
    aspect-ratio:16/9;
    background:#EAF6FB;
}

.emca-card-media img {
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .45s ease;
}

.emca-card:hover .emca-card-media img { transform:scale(1.035); }

.emca-featured-badge {
    position:absolute;
    top:16px;
    left:16px;
    padding:7px 12px;
    color:#fff;
    background:#3EC4F2;
    border-radius:999px;
    font-size:12px;
    line-height:1;
    font-weight:600;
}

.emca-placeholder {
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    color:#3EC4F2;
    background:linear-gradient(135deg,#DFF4FC,#BFEAFA);
    font-weight:700;
    letter-spacing:.08em;
}

.emca-card-body {
    flex:1;
    display:flex;
    flex-direction:column;
    padding:20px 20px 18px;
}

.emca-card-featured .emca-card-body { padding:24px 26px 22px; }

.emca-meta {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:8px;
    color:#8A969E;
    font-size:12px;
    line-height:1.5;
}

.emca-meta-dot {
    width:4px;
    height:4px;
    border-radius:50%;
    background:#B6C0C7;
}

.emca-card-title {
    margin:0;
    font-family:"Prompt",sans-serif;
    font-size:19px;
    line-height:1.5;
    font-weight:600;
}

.emca-card-featured .emca-card-title {
    font-size:clamp(24px,3vw,34px);
    line-height:1.38;
}

.emca-card-title a:hover { color:#3EC4F2; }

.emca-card-excerpt {
    margin:10px 0 16px;
    color:#66727B;
    font-size:14px;
    line-height:1.75;
}

.emca-readmore {
    display:inline-flex;
    align-items:center;
    gap:7px;
    width:fit-content;
    margin-top:auto;
    color:#3EC4F2;
    text-decoration:none !important;
    font-size:13px;
    font-weight:600;
}

.emca-readmore span { transition:transform .2s ease; }
.emca-readmore:hover span { transform:translateX(4px); }

.emca-pagination { margin-top:42px; }

.emca-pagination .nav-links {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
}

.emca-pagination .page-numbers {
    min-width:42px;
    height:42px;
    padding:0 12px;
    display:inline-grid;
    place-items:center;
    color:#4E5962;
    text-decoration:none !important;
    background:#fff;
    border:1px solid #E7EDF3;
    border-radius:11px;
    font-size:13px;
    transition:all .2s ease;
}

.emca-pagination .page-numbers.current,
.emca-pagination .page-numbers:hover {
    color:#fff;
    background:#3EC4F2;
    border-color:#3EC4F2;
}

.emca-empty {
    padding:54px 30px;
    text-align:center;
    background:#F7FBFD;
    border:1px solid #E7EDF3;
    border-radius:18px;
}

.emca-empty h3 {
    margin:0 0 8px;
    color:#303033;
    font-size:24px;
}

.emca-empty p {
    margin:0;
    color:#6B7280;
}

@media (max-width:980px) {
    .emca-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .emca-card-featured { grid-column:span 2; grid-row:auto; }
}

@media (max-width:767px) {
    .emca-shell { width:min(100% - 28px,1180px); }
    .emca-hero { padding:42px 0 30px; }
    .emca-description { font-size:14px; line-height:1.7; }

    .emca-category-nav {
        flex-wrap:nowrap;
        overflow-x:auto;
        padding:2px 2px 9px;
        margin-right:-14px;
        scrollbar-width:none;
    }

    .emca-category-nav::-webkit-scrollbar { display:none; }
    .emca-category-pill { flex:0 0 auto; }

    .emca-grid { grid-template-columns:1fr; gap:18px; }
    .emca-card-featured { grid-column:auto; }
    .emca-card-featured .emca-card-title { font-size:22px; }
}
