body{padding-top: 1px;}
.public-site-shell {
    min-height: 100vh;
    padding: 1px 0 35px;
    background: var(--page-bg,#f6f7f9)
}

.news-archive,.contact-page {
    width: min(1160px,calc(100% - 48px));
    margin: 0 auto
}

.archive-hero,.contact-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(26px,5vw,58px);
    border-radius: 25px;
    background: linear-gradient(120deg,#161321,#282138);
    color: #fff
}

.archive-hero:after,.contact-hero:after {
    content: "";
    position: absolute;
    left: 5%;
    top: -130px;
    width: 290px;
    height: 290px;
    border: 1px solid #ffffff20;
    border-radius: 50%;
    box-shadow: 0 0 0 35px #ffffff08,0 0 0 75px #ffffff06
}

.archive-hero h1,.contact-hero h1 {
    position: relative;
    z-index: 1;
    font-size: clamp(27px,4vw,44px);
    margin: 12px 0
}

.archive-hero p,.contact-hero p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #d5d1dd;
    font-size: 13px;
    line-height: 2
}

.archive-count {
    display: inline-block;
    margin-top: 24px;
    padding: 8px 13px;
    border: 1px solid #ffffff2b;
    border-radius: 99px;
    color: #e7e1ee;
    font-size: 10px
}

.news-categories {
    display: flex;
    gap: 9px;
    overflow: auto;
    padding: 20px 1px 18px
}

.news-categories a {
    display: flex;
    align-items: center;
    gap: 9px;
    white-space: nowrap;
    padding: 10px 14px;
    border: 1px solid var(--line);
    border-radius: 99px;
    background: var(--surface);
    color: var(--muted);
    text-decoration: none;
    font-size: 11px
}

.news-categories a.active {
    background: var(--brand);
    border-color: var(--brand);
    color: var(--on-brand, #fff)
}

.news-categories small {
    font-size: 9px;
    opacity: .8
}

.news-archive-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 17px
}

.archive-news-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: var(--surface);
    transition: transform .2s,box-shadow .2s
}

.archive-news-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 38px #1a20300e
}

.archive-news-image {
    height: 205px;
    display: block;
    position: relative;
    overflow: hidden;
    background: var(--surface-2)
}

.archive-news-image img,.article-cover img,.home-news-image,.news-admin-image img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.archive-news-image .news-category {
    position: absolute;
    right: 14px;
    bottom: 14px;
    background: #fff;
    color: #242132
}

.news-image-placeholder {
    height: 100%;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 8px;
    background: radial-gradient(circle at 70% 30%,#684b8760,transparent 30%),linear-gradient(135deg,#171421,#30233f);
    color: #fff
}

.news-image-placeholder b {
    font-size: 32px
}

.news-image-placeholder small {
    font-size: 11px;
    color: #ddd
}

.archive-news-copy {
    padding: 18px 19px 20px
}

.news-date,.article-heading time {
    color: var(--muted);
    font-size: 10px
}

.archive-news-copy h2 {
    font-size: 16px;
    line-height: 1.8;
    margin: 8px 0
}

.archive-news-copy h2 a {
    color: var(--ink);
    text-decoration: none
}

.archive-news-copy p {
    height: 44px;
    overflow: hidden;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.9;
    margin: 5px 0 15px
}

.news-archive .pagination-wrap {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 25px
}

.news-empty {
    margin: 20px 0
}

.news-article-public {
    width: min(940px,calc(100% - 48px));
    margin: 4px auto 28px;
    padding: 0 0 30px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: var(--surface);
    box-shadow: 0 14px 45px #1716210c
}

.article-back {
    display: block;
    margin: 21px 26px;
    color: var(--muted);
    text-decoration: none;
    font-size: 11px
}

.article-cover {
    height: clamp(230px,42vw,500px);
    margin: 0;
    position: relative;
    background: var(--surface-2)
}

.article-cover figcaption {
    position: absolute;
    right: 22px;
    bottom: 20px
}

.article-cover figcaption .news-category {
    background: white
}

.article-heading {
    padding: 30px clamp(22px,6vw,75px) 18px
}

.article-heading h1 {
    margin: 12px 0;
    font-size: clamp(26px,4vw,40px);
    line-height: 1.65
}

.article-heading>.news-category {
    display: none
}

.news-lead {
    margin: 23px 0 0;
    padding-right: 16px;
    border-right: 3px solid var(--brand);
    color: var(--muted);
    font-size: 14px;
    line-height: 2
}

.news-article-public .news-body {
    padding: 10px clamp(22px,6vw,75px) 34px;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 2.3;
    font-size: 14px
}

.article-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin: 10px clamp(22px,6vw,75px) 0;
    padding-top: 20px;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: 11px
}

.contact-page {
    padding-bottom: 18px
}

.contact-hero {
    margin-bottom: 23px
}

.contact-forms {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 17px
}

.contact-form {
    align-content: start
}

.contact-form>p {
    color: var(--muted);
    font-size: 11px;
    line-height: 1.9;
    margin: 0 0 3px
}

.contact-form h2 {
    margin: 0;
    font-size: 18px
}

.contact-form-icon {
    width: 43px;
    height: 43px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: var(--brand-soft);
    color: var(--brand);
    font-size: 20px
}

.contact-followup {
    font-size: 10px;
    color: var(--brand);
    text-decoration: none
}

.contact-login {
    padding: 30px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: var(--surface)
}

.contact-login h2 {
    margin-top: 0
}

.contact-login p {
    color: var(--muted);
    font-size: 12px;
    line-height: 2
}

.contact-login .button {
    margin-left: 8px
}

.news-admin-image {
    height: 120px;
    display: flex;
    align-items: center;
    gap: 15px
}

.news-admin-image img {
    width: 180px;
    border-radius: 12px
}

.news-admin-image label {
    font-size: 11px
}

.home-news-card {
    overflow: hidden
}

.home-news-image {
    display: block;
    height: 150px;
    border-radius: 12px 12px 0 0
}

.landing-footer a {
    color: var(--brand);
    text-decoration: none
}

@media(max-width: 900px) {
    .news-archive-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media(max-width: 620px) {
    .news-archive,.contact-page {
        width:calc(100% - 28px)
    }

    .news-archive-grid,.contact-forms {
        grid-template-columns: 1fr
    }

    .archive-news-image {
        height: 190px
    }

    .news-article-public {
        width: calc(100% - 28px)
    }

    .article-footer {
        align-items: flex-start;
        flex-direction: column
    }

    .archive-hero,.contact-hero {
        border-radius: 19px
    }

    .news-admin-image {
        height: auto;
        align-items: flex-start;
        flex-direction: column
    }

    .news-admin-image img {
        width: 100%;
        height: 160px
    }
}

.landing>.site-header {
    margin-top: 15px;
    margin-bottom: 12px;
}

.landing>.hero {
    padding-top: 8px;
}

.landing>.hero .orbit-one {
    animation: orbit-drift-one 14s ease-in-out infinite alternate
}

.landing>.hero .orbit-two {
    animation: orbit-drift-two 17s ease-in-out infinite alternate
}

.landing>.hero .service-preview {
    animation: preview-float 5.5s ease-in-out .8s infinite
}

.landing>.hero .float-card {
    animation: float-card-hover 4.5s ease-in-out 1.2s infinite
}

.landing>.hero .service-preview {
    box-shadow: 0 28px 70px #25153b30,0 0 0 1px #ffffff35
}

.landing>.hero .float-card {
    box-shadow: 0 18px 45px #17142130,0 0 0 1px #ffffff55
}

.landing .service-strip {
    border-color: color-mix(in srgb,var(--brand) 24%,var(--line));
    box-shadow: 0 18px 44px #20152c14,0 0 0 1px #ffffff80;
    background: linear-gradient(115deg,var(--surface),color-mix(in srgb,var(--brand-soft) 48%,var(--surface)))
}

.landing .home-news-grid .news-card {
    border: 1px solid color-mix(in srgb,var(--brand) 22%,var(--line));
    box-shadow: 0 14px 34px #17142112,0 0 0 1px #ffffffa6;
    background: var(--surface);
    transition: transform .22s,box-shadow .22s,border-color .22s
}

.landing .home-news-grid .news-card:hover {
    transform: translateY(-5px);
    border-color: color-mix(in srgb,var(--brand) 50%,var(--line));
    box-shadow: 0 23px 48px #17142120,0 0 0 1px #ffffff
}

.landing .home-news-card .news-category {
    margin-top: 13px
}

.landing-footer {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: 1.5fr 1fr auto;
    align-items: center;
    gap: 25px;
    margin: 44px calc((min(1320px,100vw) - 100vw)/2) 0;
    padding: 48px max(48px,calc((100vw - 1224px)/2));
    min-height: 180px;
    overflow: hidden;
    background: radial-gradient(ellipse at 82% 0%,#60447a70,transparent 32%),linear-gradient(125deg,#15121e,#211c2b 62%,#181520);
    color: #ddd8e6;
    font-size: 12px
}

.landing-footer:before {
    content: "ح";
    position: absolute;
    z-index: -1;
    left: 9%;
    top: -90px;
    font-size: 290px;
    font-weight: 900;
    line-height: 1;
    color: #ffffff07
}

.landing-footer>span:first-child {
    font-weight: 800;
    color: #fff;
    font-size: 14px
}

.landing-footer>span:nth-child(2) {
    color: #c5bfce
}

.landing-footer a {
    justify-self: end;
    padding: 11px 17px;
    border: 1px solid #ffffff32;
    border-radius: 12px;
    color: #fff;
    text-decoration: none;
    transition: background .2s,border-color .2s
}

.landing-footer a:hover {
    background: #ffffff12;
    border-color: #ffffff65
}

.preview-route-label {
    margin-top: 19px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 700
}

@keyframes orbit-drift-one {
    from { transform: rotate(-16deg) scale(1); }
    to { transform: rotate(-9deg) scale(1.035); }
}

@keyframes orbit-drift-two {
    from { transform: rotate(22deg) scale(1.02); }
    to { transform: rotate(15deg) scale(.98); }
}

@keyframes preview-float {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
}

@keyframes float-card-hover {
    0%,100% { transform: translateY(0) rotate(0); }
    50% { transform: translateY(-9px) rotate(-1deg); }
}

@media(prefers-reduced-motion:reduce) {
    .landing>.hero,.landing>.hero .hero-copy,.landing>.hero .hero-visual {
        animation: none!important
    }

    .landing>.hero .orbit-one,.landing>.hero .orbit-two,
    .landing>.hero .service-preview,.landing>.hero .float-card {
        animation: none!important
    }

    .landing .home-news-grid .news-card,.landing-footer a {
        transition: none
    }
}

@media(max-width: 850px) {
    .landing-footer {
        margin-inline:-24px;
        padding: 36px 28px;
        grid-template-columns: 1fr auto;
        gap: 14px
    }

    .landing-footer>span:nth-child(2) {
        grid-column: 1
    }

    .landing-footer a {
        grid-column: 2;
        grid-row: 1/3
    }
}

@media(max-width: 520px) {
    .landing>.site-header {
        margin-top:8px;
        margin-bottom: 8px
    }

    .landing-footer {
        margin-inline:-14px;padding: 30px 18px;
        grid-template-columns: 1fr;
        gap: 10px
    }

    .landing-footer>span:nth-child(2),.landing-footer a {
        grid-column: 1;
        grid-row: auto;
        justify-self: start
    }
}
