* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    background:#fff;
    color:#071633;
    font-family:"Droid Arabic Kufi",Tahoma,Arial,sans-serif;
    line-height:1.85
}

a {
    color:inherit;
    text-decoration:none
}

img {
    display:block;
    max-width:100%;
    height:auto
}

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

.site-header {
    background:#061632;
    color:#fff;
    border-top:3px solid #dfe7f2
}

.topline {
    font-size:12px;
    border-bottom:1px solid rgba(255,255,255,.12)
}

.topline .shell {
    display:flex;
    justify-content:space-between;
    padding:8px 0
}

.top-note {
    opacity:.7
}

.mast {
    height:108px;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative
}

.brand img {
    width:300px;
    max-height:86px;
    object-fit:contain;
    filter:none
}

.menu-btn,.search-btn {
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    background:none;
    border:0;
    color:#fff;
    font-size:30px;
    cursor:pointer
}

.menu-btn {
    right:0
}

.search-btn {
    left:0
}

.main-nav {
    border-top:1px solid rgba(255,255,255,.1)
}

.main-nav .shell {
    display:flex;
    justify-content:center;
    gap:30px;
    overflow:auto;
    white-space:nowrap
}

.main-nav a {
    padding:13px 0;
    font-size:13px;
    letter-spacing:.2px;
    border-bottom:3px solid transparent
}

.main-nav a:hover,.main-nav a.active {
    border-color:#2b8de5
}

.search-panel {
    display:none;
    gap:10px;
    padding:14px 0
}

.search-panel.open {
    display:flex
}

.search-panel input {
    flex:1;
    border:0;
    border-radius:4px;
    padding:12px 15px;
    font:inherit
}

.search-panel button {
    border:1px solid #fff;
    background:transparent;
    color:#fff;
    border-radius:4px;
    padding:8px 14px
}

.briefs {
    border-bottom:1px solid #d8dee8;
    background:#fafbfd
}

.briefs .shell {
    display:grid;
    grid-template-columns:repeat(4,1fr)
}

.brief {
    padding:16px 18px;
    border-left:1px solid #d8dee8
}

.brief:last-child {
    border-left:0
}

.brief b {
    display:block;
    font-size:12px;
    color:#1568b0;
    margin-bottom:4px
}

.brief span {
    font-size:13px;
    color:#263651
}

.home-main {
    padding:28px 0 10px
}

.lead-grid {
    display:grid;
    grid-template-columns:1.6fr .82fr;
    gap:28px;
    border-bottom:1px solid #ccd5e2;
    padding-bottom:28px
}

.hero h1 {
    font-size:42px;
    line-height:1.35;
    margin:8px 0 12px;
    font-family:"Droid Arabic Naskh","Droid Arabic Kufi",Tahoma,serif
}

.hero .hero-img {
    aspect-ratio:16/9;
    overflow:hidden;
    background:#eef2f7
}

.hero .hero-img img {
    width:100%;
    height:100%;
    object-fit:cover
}

.kicker {
    display:inline-block;
    color:#0878ce;
    font-size:12px;
    font-weight:700;
    margin-bottom:5px
}

.hero p {
    font-size:16px;
    color:#455268;
    margin:8px 0
}

.hero-meta,.story-date {
    font-size:11px;
    color:#778397
}

.side-stack {
    border-right:1px solid #d8dee8;
    padding-right:22px
}

.side-stack h2,.section-title {
    font-size:17px;
    letter-spacing:.4px;
    border-top:3px solid #071633;
    padding-top:8px;
    margin:0 0 16px
}

.side-feature img {
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover
}

.side-feature h3 {
    font-size:22px;
    line-height:1.5;
    margin:8px 0
}

.mini-list {
    margin-top:14px
}

.mini-item {
    padding:12px 0;
    border-top:1px solid #dde3eb
}

.mini-item h4 {
    margin:2px 0;
    font-size:16px;
    line-height:1.55
}

.section {
    padding:34px 0;
    border-bottom:1px solid #d6dee8
}

.cards {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px
}

.story-card {
    min-width:0
}

.story-image {
    display:block;
    overflow:hidden;
    background:#edf1f5;
    aspect-ratio:16/9
}

.story-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .25s
}

.story-card:hover img {
    transform:scale(1.025)
}

.story-copy h3 {
    font-size:19px;
    line-height:1.55;
    margin:5px 0
}

.story-copy p {
    font-size:13px;
    line-height:1.7;
    color:#5d6878;
    margin:4px 0 8px
}

.img-fallback {
    height:100%;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,#0a234d,#177ed0);
    color:#fff;
    font-weight:700
}

.archive-strip {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px
}

.archive-strip .story-copy p {
    display:none
}

.newsletter {
    margin:36px 0;
    background:#071633;
    color:#fff;
    padding:28px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px
}

.newsletter h3 {
    margin:0;
    font-size:24px
}

.newsletter p {
    margin:4px 0 0;
    color:#c5cfdb
}

.newsletter a {
    background:#0c7dd4;
    padding:12px 20px;
    border-radius:3px;
    font-size:13px
}

.article-wrap {
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    gap:42px;
    padding:38px 0 60px
}

.article-main {
    min-width:0
}

.breadcrumbs {
    font-size:12px;
    color:#6e7888;
    margin-bottom:16px
}

.article-title {
    font-family:"Droid Arabic Naskh","Droid Arabic Kufi",Tahoma,serif;
    font-size:46px;
    line-height:1.35;
    margin:8px 0 12px
}

.article-meta {
    font-size:12px;
    color:#7b8593;
    border-bottom:1px solid #dce2e9;
    padding-bottom:16px;
    margin-bottom:22px
}

.article-hero {
    width:100%;
    max-height:590px;
    object-fit:cover;
    margin-bottom:26px
}

.article-body {
    font-family:"Droid Arabic Naskh","Droid Arabic Kufi",Tahoma,serif;
    font-size:20px;
    line-height:2.05;
    color:#1a273c
}

.article-body p {
    margin:0 0 22px
}

.article-body h2 {
    font-family:"Droid Arabic Kufi",Tahoma,sans-serif;
    font-size:26px;
    line-height:1.5;
    margin:34px 0 12px;
    color:#071633
}

.article-body h3 {
    font-size:22px
}

.article-body img {
    margin:22px auto;
    max-width:100%
}

.article-body a {
    color:#0878ce
}

.article-body ul,.article-body ol {
    padding-right:26px
}

.sidebar {
    border-right:1px solid #d9e0e9;
    padding-right:24px
}

.sidebar .story-card {
    padding-bottom:16px;
    margin-bottom:16px;
    border-bottom:1px solid #dce3eb
}

.sidebar .story-copy p {
    display:none
}

.sidebar .story-copy h3 {
    font-size:16px
}

.category-head {
    padding:34px 0 18px;
    border-bottom:1px solid #d7dfe9
}

.category-head h1 {
    font-size:36px;
    margin:0
}

.category-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
    padding:30px 0 60px
}

.category-grid .story-card {
    border-bottom:1px solid #d9e0e8;
    padding-bottom:22px
}

.page-wrap {
    padding:44px 0 70px;
    max-width:900px
}

.page-wrap h1 {
    font-size:38px
}

.site-footer {
    background:#061632;
    color:#fff;
    margin-top:20px;
    padding:42px 0 18px
}

.footer-grid {
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:34px
}

.footer-grid>div {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:7px
}

.footer-grid a {
    font-size:13px;
    color:#ccd6e3
}

.footer-logo {
    width:220px;
    filter:none
}

.site-footer p {
    color:#b9c4d2;
    font-size:13px
}

.copyright {
    margin-top:26px;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.12);
    font-size:11px;
    color:#8ea0b5
}

.empty-search {
    display:none;
    padding:30px;
    text-align:center;
    color:#777
}

@media(max-width:920px) {
    .top-note {
        display:none
    }
    .mast {
        height:88px
    }
    .brand img {
        width:245px
    }
    .main-nav .shell {
        justify-content:flex-start
    }
    .lead-grid,.article-wrap {
        grid-template-columns:1fr
    }
    .side-stack,.sidebar {
        border-right:0;
        padding-right:0
    }
    .side-stack {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:20px
    }
    .cards,.category-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .archive-strip {
        grid-template-columns:repeat(2,1fr)
    }
    .article-title {
        font-size:38px
    }
    .article-body {
        font-size:19px
    }
}

@media(max-width:640px) {
    .shell {
        width:min(100% - 26px,1220px)
    }
    .topline .shell {
        padding:6px 0
    }
    .mast {
        height:76px
    }
    .brand img {
        width:190px
    }
    .menu-btn,.search-btn {
        font-size:24px
    }
    .main-nav {
        display:none
    }
    .main-nav.open {
        display:block
    }
    .main-nav .shell {
        flex-direction:column;
        gap:0;
        white-space:normal;
        padding:8px 0 12px
    }
    .main-nav a {
        width:100%;
        padding:8px 0;
        border-bottom:1px solid rgba(255,255,255,.08)
    }
    .briefs .shell {
        display:flex;
        overflow:auto
    }
    .brief {
        min-width:250px
    }
    .home-main {
        padding-top:18px
    }
    .lead-grid {
        gap:20px
    }
    .hero h1 {
        font-size:30px
    }
    .side-stack {
        display:block;
        padding-top:18px;
        border-top:1px solid #d7dfe8
    }
    .cards,.category-grid,.archive-strip {
        grid-template-columns:1fr
    }
    .section {
        padding:25px 0
    }
    .story-copy h3 {
        font-size:18px
    }
    .newsletter {
        align-items:flex-start;
        flex-direction:column
    }
    .article-wrap {
        padding-top:25px;
        gap:20px
    }
    .article-title {
        font-size:31px
    }
    .article-body {
        font-size:18px;
        line-height:1.95
    }
    .article-body h2 {
        font-size:23px
    }
    .category-head h1 {
        font-size:30px
    }
    .footer-grid {
        grid-template-columns:1fr 1fr
    }
    .footer-grid>div:first-child {
        grid-column:1/-1
    }
}
