:root {
    --blue: #123fbd;
    --gold: #f3d369;
    --ink: #14171d;
    --muted: #777b82;
    --line: #e8e8ec;
    --wash: #f4f3f9;
    --shadow: 0 3px 12px #17213a18
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 25px
}

body {
    margin: 0;
    font-family: Anjoman,Arial,sans-serif;
    color: var(--ink);
    background: #fff;
    font-size: 15px;
    line-height: 1.9
}

a {
    color: inherit;
    text-decoration: none
}

button {
    font: inherit;
    cursor: pointer
}

img {
    max-width: 100%;
    vertical-align: middle
}

button, a {
    -webkit-tap-highlight-color: transparent
}

    a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
        outline: 3px solid #0878c7;
        outline-offset: 5px
    }

    button:disabled {
        opacity: .4;
        cursor: default
    }

[hidden] {
    display: none !important
}

.container {
    width: min(1240px,calc(100% - 48px));
    margin-inline: auto
}

.section {
    padding-block: 70px
}

.skip-link {
    position: fixed;
    top: -100px;
    inset-inline-start: 20px;
    background: white;
    color: var(--blue);
    padding: 10px 20px;
    z-index: 20
}

    .skip-link:focus {
        top: 10px
    }

.hero {
    color: #fff;
    background: linear-gradient(#214f78bb,#184f7bb8),url('/images/hamafza/hero.webp') center/cover no-repeat;
    min-height: 1044px;
    position: relative
}

    .hero:after {
        content: "";
        position: absolute;
        inset: 130px 0 0;
        background: url('/images/hamafza/wave.webp') center/cover;
        opacity: .08;
        pointer-events: none
    }

.topbar {
    border-bottom: 1px solid #ffffff30;
    font-size: 13px;
    position: relative;
    z-index: 4
}

.topbar-inner, .top-links, .top-contact {
    display: flex;
    align-items: center;
    gap: 24px
}

.topbar-inner {
    justify-content: space-between;
    min-height: 49px
}

.top-contact {
    direction: ltr
}

.language {
    position: relative
}

    .language summary {
        cursor: pointer;
        list-style: none
    }

        .language summary:after {
            content: '⌄';
            margin-left: 8px
        }

    .language > div {
        position: absolute;
        top: 30px;
        left: 0;
        background: #fff;
        color: var(--ink);
        padding: 12px 20px;
        border-radius: 8px;
        box-shadow: var(--shadow);
        min-width: 120px
    }

    .language a {
        display: block;
        padding: 4px
    }

.navigation {
    display: flex;
    align-items: center;
    gap: 30px;
    min-height: 96px;
    border-bottom: 1px solid #ffffff40;
    position: relative;
    z-index: 3
}

.brand {
    flex: 0 0 190px
}

    .brand img, .hero-logo, .organizers img, .footer-logo {
        filter: brightness(0) invert(1)
    }

.nav-links {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 1;
    gap: 22px;
    font-size: 14px
}

    .nav-links a {
        position: relative;
        white-space: nowrap;
        padding-block: 30px
    }

        .nav-links a:hover {
            color: var(--gold)
        }

    .nav-links .current:after {
        content: "";
        position: absolute;
        bottom: -9px;
        left: calc(50% - 13px);
        border: 9px solid transparent;
        border-bottom-color: white
    }

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: white;
    color: var(--blue);
    padding: 10px 17px;
    border-radius: 5px;
    font-weight: 600;
    font-size: 13px;
    line-height: 1.6;
    border: 1px solid transparent;
    transition: background .2s,transform .2s
}

    .button:hover {
        background: #eaf0fb;
        transform: translateY(-2px)
    }

.button-gold {
    background: var(--gold);
    color: var(--blue)
}

    .button-gold:hover {
        background: #ffe391
    }

.panel-link {
    white-space: nowrap;
    color: #333;
    font-size: 12px;
    padding: 9px 12px
}

.menu-toggle {
    display: none
}

.hero-content {
    position: relative;
    z-index: 1;
    text-align: center;
    padding-top: 210px;
    padding-bottom: 165px
}

.hero-logo {
    width: 575px;
    height: auto
}

.hero h1 {
    font-size: 30px;
    line-height: 1.8;
    font-weight: 600;
    margin: 44px auto 53px;
    max-width: 950px
}

.hero-actions {
    display: flex;
    justify-content: center;
    gap: 25px
}

.organizers {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-top: 61px;
    height: 80px
}

    .organizers img {
        max-height: 80px;
        width: auto;
        max-width: 112px;
        object-fit: contain
    }

.quick-links {
    display: flex;
    justify-content: center;
    gap: 20px;
    position: relative;
    z-index: 2;
    margin-top: -78px
}

.quick-card {
    width: 154px;
    min-height: 156px;
    border-radius: 13px;
    background: white;
    box-shadow: 0 2px 5px #0003;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 20px 15px;
    text-align: center;
    font-size: 14px;
    line-height: 1.8;
    transition: background .2s,transform .2s
}

    .quick-card img {
        object-fit: contain;
        width: 52px;
        height: 54px
    }

    .quick-card:last-child, .quick-card:hover {
        background: var(--gold)
    }

    .quick-card:hover {
        transform: translateY(-5px)
    }

    .quick-card img, .topic-card img, .service-card img, .event-facts img, .project-card > img {
        filter: brightness(0) saturate(100%) invert(84%) sepia(46%) saturate(743%) hue-rotate(344deg) brightness(101%) contrast(91%)
    }

    .quick-card:last-child img, .topic-card:nth-child(3) img, .service-card:nth-child(2) img {
        filter: brightness(0) saturate(100%) invert(23%) sepia(99%) saturate(2460%) hue-rotate(222deg) brightness(85%) contrast(94%)
    }

.section-heading {
    margin-bottom: 40px
}

    .section-heading.centered {
        text-align: center
    }

.eyebrow {
    display: inline-block;
    position: relative;
    font-size: 16px;
    color: var(--blue);
    line-height: 1.5;
    padding-top: 27px;
    padding-inline-end: 53px;
    font-weight: 600;
    margin-bottom: 21px;
    isolation: isolate
}

    .eyebrow:before {
        content: attr(data-word);
        position: absolute;
        inset-inline-end: 0;
        bottom: 1px;
        font-family: Arial,sans-serif;
        font-size: 46px;
        font-weight: 800;
        color: #f3d36955;
        line-height: 1;
        z-index: -1;
        white-space: nowrap
    }

    .eyebrow:after {
        content: "";
        width: 43px;
        height: 5px;
        border-radius: 10px;
        position: absolute;
        inset-inline-end: 0;
        bottom: 7px;
        background: linear-gradient(to right,var(--blue) 70%,transparent 70%,transparent 78%,var(--blue) 78%)
    }

h2 {
    font-size: 30px;
    font-weight: 900;
    line-height: 1.65;
    margin: 0
}

h3 {
    font-size: 17px;
    line-height: 1.8;
    margin: 0
}

p {
    margin: 0 0 16px
}

.about {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 65px;
    align-items: center;
    padding-block: 70px 95px
}

.about-copy > .section-heading {
    margin-bottom: 20px
}

.about h2 {
    font-size: 27px
}

.about-copy > p {
    color: #757575;
    line-height: 2.5;
    text-align: justify
}

.about-images {
    height: 650px;
    position: relative;
    direction: ltr
}

    .about-images:before {
        content: "";
        position: absolute;
        width: 175px;
        height: 170px;
        top: 0;
        left: 48%;
        border: 5px solid #087eb3
    }

    .about-images:after {
        content: "";
        position: absolute;
        width: 5px;
        height: 80px;
        bottom: 0;
        left: 25%;
        background: var(--blue)
    }

    .about-images img {
        position: absolute;
        object-fit: cover;
        width: 69%;
        height: 76%
    }

.about-back {
    top: 50px;
    left: 0;
    object-position: 35% center
}

.about-front {
    bottom: 0;
    right: 0;
    object-position: 35% center
}

.event-facts {
    display: flex;
    gap: 20px;
    border: 2px solid #e0e3e9;
    border-radius: 29px;
    padding: 12px 17px;
    margin: 24px 0 17px
}

    .event-facts > div {
        display: flex;
        align-items: center;
        gap: 10px;
        flex: 1
    }

    .event-facts img {
        width: 32px;
        max-height: 40px;
        object-fit: contain
    }

    .event-facts strong, .event-facts span {
        display: block;
        font-size: 12px;
        line-height: 1.9
    }

    .event-facts span {
        color: var(--muted);
        font-size: 11px
    }

.contact-note {
    color: #757575;
    font-size: 13px
}

    .contact-note p {
        margin: 0
    }

.services-band {
    position: relative;
    margin-block: 0 115px;
    padding-block: 0
}

    .services-band:before {
        content: "";
        background: var(--blue);
        position: absolute;
        inset: 30px 0 24px
    }

.services {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 30px;
    position: relative
}

.service-card {
    background: #f1f2f6;
    border-radius: 10px;
    padding: 30px 36px;
    min-height: 250px
}

    .service-card:nth-child(2) {
        background: var(--gold)
    }

    .service-card img {
        height: 39px;
        width: 40px;
        object-fit: contain;
        margin-bottom: 20px
    }

    .service-card h3 {
        font-size: 16px;
        margin-bottom: 10px
    }

    .service-card p {
        color: #808080;
        font-weight: 600;
        line-height: 2
    }

    .service-card > span {
        color: var(--blue)
    }

.patterned {
    background: var(--wash) url('/images/hamafza/wave.webp') center/cover no-repeat
}

.topics {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
    max-width: 940px;
    margin-inline: auto
}

.topic-card {
    background: white;
    flex: 0 0 calc(25% - 24px);
    min-height: 190px;
    padding: 35px 18px 20px;
    text-align: center
}

    .topic-card:nth-child(3) {
        background: var(--gold);
        color: var(--blue)
    }

    .topic-card img {
        width: 64px;
        height: 64px;
        object-fit: contain;
        margin-bottom: 16px
    }

    .topic-card h3 {
        font-size: 16px;
        font-weight: 600
    }

.day-tabs {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    margin: 55px 0 48px
}

    .day-tabs button {
        position: relative;
        flex: 1;
        max-width: 333px;
        min-height: 95px;
        padding: 15px 30px;
        border: 1px solid var(--line);
        border-radius: 5px;
        background: #fff;
        box-shadow: 0 1px 6px #0001;
        text-align: start
    }

    .day-tabs strong, .day-tabs span {
        display: block
    }

    .day-tabs strong {
        font-size: 20px
    }

    .day-tabs span {
        font-size: 13px;
        color: #74777c
    }

    .day-tabs [aria-selected=true] {
        background: var(--gold);
        color: var(--blue);
        border-color: var(--gold)
    }

    .day-tabs b {
        position: absolute;
        inset-inline-end: 30px;
        bottom: -21px;
        border: 5px solid #d1def5;
        width: 43px;
        height: 43px;
        border-radius: 50%;
        background: var(--blue);
        color: white;
        text-align: center;
        line-height: 33px
    }

.time-axis {
    display: flex;
    justify-content: space-between;
    border-top: 3px solid #d8dff4;
    padding-top: 10px;
    color: #90939a;
    font-size: 13px
}

.schedule-events {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 14px;
    padding-top: 25px;
    background: repeating-linear-gradient(to right,transparent 0,transparent calc(11.11% - 1px),#eee 11.11%)
}

.schedule-card {
    border-radius: 20px;
    background: #d9e9ef;
    padding: 17px;
    transition: background .2s
}

    .schedule-card:hover {
        background: #c8dfe9
    }

    .schedule-card h3 {
        font-size: 14px;
        margin-bottom: 15px
    }

    .schedule-card > div {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        font-size: 11px
    }

.location {
    background: var(--gold);
    border-radius: 5px;
    padding: 0 10px
}

.schedule-card time {
    direction: ltr;
    white-space: nowrap;
    color: var(--blue)
}

.speaker-grid {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 20px
}

.speaker-card {
    box-shadow: 0 2px 7px #0003;
    background: white;
    text-align: center
}

    .speaker-card > img {
        width: 100%;
        aspect-ratio: 1.08;
        object-fit: cover
    }

    .speaker-card > div {
        padding: 7px 10px 9px
    }

    .speaker-card:nth-child(3) > div {
        background: var(--gold)
    }

    .speaker-card h3 {
        font-size: 13px
    }

    .speaker-card p {
        font-size: 10px;
        color: var(--muted);
        margin: 2px 0 0
    }

.projects-band {
    position: relative;
    isolation: isolate
}

    .projects-band:before {
        content: "";
        position: absolute;
        inset: 42% 0 28%;
        background: var(--blue);
        z-index: -1
    }

.project-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 30px;
    max-width: 1110px;
    margin-inline: auto
}

.project-card {
    background: white;
    box-shadow: 0 3px 14px #0003;
    padding: 35px;
    text-align: center;
    display: flex;
    align-items: center;
    flex-direction: column;
    min-height: 380px;
    transition: transform .2s,background .2s
}

    .project-card:nth-child(3n), .project-card:hover {
        background: var(--gold)
    }

    .project-card:hover {
        transform: translateY(-5px)
    }

    .project-card > img {
        width: 74px;
        height: 77px;
        object-fit: contain;
        margin: 10px 0 20px
    }

    .project-card > span, .project-card small {
        color: var(--muted);
        font-size: 13px
    }

    .project-card h3 {
        color: var(--blue);
        font-size: 21px;
        margin-block: 10px
    }

    .project-card p {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-size: 14px;
        color: #777
    }

    .project-card small {
        margin-top: auto
    }

.section-action {
    text-align: center;
    margin-top: 40px
}

.mentor-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 24px
}

.mentor-card {
    display: flex;
    align-items: stretch;
    gap: 15px;
    border: 1px solid #dcdce4;
    border-radius: 5px;
    box-shadow: 0 2px 4px #0002;
    overflow: hidden;
    background: #ffffff30
}

    .mentor-card > img {
        width: 120px;
        object-fit: cover;
        min-height: 136px
    }

    .mentor-card > div {
        flex: 1;
        padding: 13px 7px 10px
    }

    .mentor-card h3 {
        font-size: 14px
    }

    .mentor-card p {
        font-size: 12px;
        color: #7e7e83;
        margin-block: 6px 10px
    }

    .mentor-card .button {
        font-size: 11px;
        padding: 6px 9px
    }

.text-link {
    color: var(--blue);
    font-size: 14px
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 28px
}

.news-card {
    padding: 22px;
    border: 1px solid #ccc;
    border-radius: 22px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

    .news-card > a > img {
        width: 100%;
        aspect-ratio: 1.55;
        object-fit: cover;
        border-radius: 10px;
        margin-bottom: 15px
    }

    .news-card h3 {
        font-size: 20px
    }

    .news-card > p {
        font-size: 13px;
        color: #777;
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
        margin: 0
    }

    .news-card > div {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        margin-top: auto
    }

    .news-card time {
        font-size: 11px;
        color: var(--blue)
    }

    .news-card .button {
        font-size: 11px;
        padding: 7px 12px
    }

.media-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px
}

.media-tabs {
    display: flex;
    align-self: end;
    margin-bottom: 44px
}

    .media-tabs button {
        padding: 9px 25px;
        border: 0;
        border-bottom: 2px solid #d9ebf1;
        background: white;
        color: #888
    }

    .media-tabs [aria-selected=true] {
        border-color: var(--blue);
        color: var(--blue)
    }

.video-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 12px
}

.video-card {
    position: relative;
    border: 0;
    border-radius: 10px;
    overflow: hidden;
    min-height: 135px;
    padding: 0;
    background: #174178;
    color: white;
    text-align: start;
    box-shadow: var(--shadow)
}

    .video-card:first-child {
        grid-column: span 3;
        grid-row: span 3;
        min-height: 430px
    }

    .video-card:not(:first-child) {
        grid-column: 4
    }

    .video-card > img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: .68;
        transition: opacity .2s
    }

    .video-card:hover > img {
        opacity: .9
    }

.play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    border-radius: 50%;
    background: #ffd000;
    color: white;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    padding-inline-start: 3px;
    font-size: 17px
}

.video-card:first-child .play {
    width: 82px;
    height: 82px;
    font-size: 30px
}

.video-card strong {
    position: absolute;
    bottom: 15px;
    inset-inline: 20px;
    font-size: 13px;
    text-shadow: 0 1px 5px #000
}

.video-card:first-child strong {
    bottom: 45px;
    inset-inline: 50px;
    font-size: 25px
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px
}

    .gallery-grid img {
        width: 100%;
        aspect-ratio: 1.6;
        object-fit: cover;
        border-radius: 10px
    }

    .gallery-grid h3 {
        font-size: 15px;
        margin-top: 10px
    }

.sponsor-grid {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap
}

    .sponsor-grid a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 220px;
        height: 160px;
        padding: 12px;
        box-sizing: border-box
    }

    .sponsor-grid img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: contain
    }

.empty-state {
    text-align: center;
    background: #f7f8fb;
    border: 1px solid #eceef4;
    border-radius: 10px;
    padding: 25px;
    color: #7a7f8b;
    font-size: 14px
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr 1fr;
    gap: 65px;
    padding-block: 55px 35px
}

footer {
    background: #123354;
    color: #d6e2f1;
    margin-top: 30px;
    font-size: 13px
}

.footer-logo {
    width: 190px;
    margin-bottom: 20px
}

footer h2 {
    font-size: 18px;
    color: white;
    margin-bottom: 15px
}

footer a {
    display: block;
    margin-block: 7px
}

    footer a:hover {
        color: var(--gold)
    }

.copyright {
    padding-block: 18px;
    border-top: 1px solid #ffffff20;
    font-size: 12px
}

dialog {
    border: 0;
    padding: 40px 16px 16px;
    border-radius: 12px;
    width: min(960px,calc(100% - 30px));
    background: #13243a;
    overflow: visible
}

    dialog::backdrop {
        background: #061325d9
    }

    dialog video {
        width: 100%;
        max-height: 78vh;
        display: block
    }

.dialog-close {
    position: absolute;
    top: 0;
    right: 8px;
    background: none;
    border: 0;
    color: white;
    font-size: 30px;
    width: 40px;
    height: 40px
}

html[dir=ltr] .hero-actions span, html[dir=ltr] .text-link {
    direction: ltr
}

html[dir=ltr] .hero h1 {
    font-size: 32px
}

html[dir=ltr] .nav-links {
    font-size: 13px;
    gap: 16px
}

html[dir=ltr] .about-copy > p {
    text-align: start
}

html[dir=ltr] .about h2 {
    font-size: 29px
}

html[dir=ltr] .event-facts {
    gap: 10px
}

html[dir=ltr] .mentor-card > img {
    width: 100px
}

@media(min-width:1600px) {
    .container {
        width: min(1240px,calc(100% - 80px))
    }
}

@media(max-width:1199px) {
    .navigation {
        gap: 20px
    }

    .brand {
        flex-basis: 155px
    }

    .nav-links {
        gap: 13px;
        font-size: 12px
    }

    .panel-link {
        font-size: 11px
    }

    .hero {
        min-height: 900px
    }

    .hero-content {
        padding-top: 155px;
        padding-bottom: 140px
    }

    .hero-logo {
        width: 480px
    }

    .hero h1 {
        font-size: 26px
    }

    .about {
        gap: 35px
    }

    .about-images {
        height: 570px
    }

    .about h2 {
        font-size: 23px
    }

    .service-card {
        padding: 25px
    }

    .mentor-grid {
        grid-template-columns: repeat(2,1fr)
    }

    .speaker-grid {
        gap: 12px
    }

    .event-facts {
        flex-direction: column
    }

    .video-card:first-child {
        min-height: 405px
    }

    html[dir=ltr] .nav-links {
        font-size: 11px;
        gap: 12px
    }
}

@media(max-width:991px) {
    .container {
        width: calc(100% - 40px)
    }

    .navigation {
        flex-wrap: wrap;
        justify-content: space-between;
        min-height: 85px
    }

    .brand {
        flex-basis: 165px
    }

    .panel-link {
        margin-inline-start: auto
    }

    .menu-toggle {
        display: flex;
        flex-direction: column;
        gap: 5px;
        background: transparent;
        border: 1px solid #ffffff70;
        padding: 12px;
        border-radius: 5px;
        order: 3
    }

        .menu-toggle span {
            width: 22px;
            height: 2px;
            background: white
        }

    .nav-links {
        display: none;
        width: 100%;
        flex-basis: 100%;
        order: 4;
        flex-direction: column;
        align-items: stretch;
        background: #173f65;
        padding: 10px 20px;
        border-radius: 8px;
        margin-bottom: 15px
    }

        .nav-links.open {
            display: flex
        }

        .nav-links a {
            padding: 8px
        }

        .nav-links .current:after {
            display: none
        }

    .hero-content {
        padding-top: 130px
    }

    .hero h1 {
        font-size: 25px
    }

    .hero {
        min-height: 850px
    }

    .about {
        gap: 25px
    }

    .about-images {
        height: 520px
    }

    .about-copy > p {
        line-height: 2.1
    }

    .about h2 {
        font-size: 23px
    }

    .services {
        gap: 18px
    }

    .service-card {
        padding: 22px;
        min-height: 260px
    }

        .service-card h3 {
            font-size: 14px
        }

        .service-card p {
            font-size: 13px
        }

    .speaker-grid {
        grid-template-columns: repeat(3,1fr)
    }

    .project-grid {
        gap: 20px
    }

    .project-card {
        padding: 22px
    }

        .project-card h3 {
            font-size: 18px
        }

    .news-card {
        padding: 16px
    }

        .news-card h3 {
            font-size: 17px
        }

        .news-card > div {
            flex-wrap: wrap
        }

    .topic-card {
        flex-basis: calc(25% - 18px)
    }

    .topics {
        gap: 18px
    }

    .footer-grid {
        gap: 30px
    }

    .day-tabs button {
        padding: 15px
    }

    .day-tabs strong {
        font-size: 17px
    }
}

@media(max-width:767px) {
    .section {
        padding-block: 48px
    }

    .topbar-inner {
        min-height: 43px
    }

    .top-links {
        gap: 12px;
        font-size: 11px
    }

    .top-contact > a {
        display: none
    }

    .top-contact {
        font-size: 12px
    }

    .topbar-inner {
        gap: 12px
    }

    .hero {
        min-height: 780px;
        background-position: 48% center
    }

    .hero-content {
        padding-top: 100px;
        padding-bottom: 145px
    }

    .hero-logo {
        width: 340px;
        max-width: 85%
    }

    .hero h1 {
        font-size: 23px;
        line-height: 1.9;
        margin-block: 30px
    }

    .hero-actions {
        gap: 12px;
        flex-wrap: wrap
    }

        .hero-actions .button {
            font-size: 12px;
            padding: 12px 15px
        }

    .organizers {
        margin-top: 35px;
        gap: 12px
    }

        .organizers img {
            max-width: 80px;
            max-height: 64px
        }

    .quick-links {
        gap: 12px;
        flex-wrap: wrap;
        margin-top: -60px;
        width: min(570px,calc(100% - 30px))
    }

    .quick-card {
        width: calc(33.333% - 10px);
        min-height: 135px;
        padding: 15px 10px;
        font-size: 12px;
        gap: 8px
    }

        .quick-card img {
            height: 44px;
            width: 44px
        }

    .about {
        display: flex;
        flex-direction: column;
        gap: 30px;
        padding-block: 55px
    }

    .about-copy {
        width: 100%
    }

    .about-images {
        width: min(480px,100%);
        height: 490px
    }

    .about h2 {
        font-size: 24px
    }

    .event-facts {
        flex-direction: row
    }

    .about-copy > p {
        font-size: 14px;
        line-height: 2.3
    }

    .services-band {
        margin-block: 10px 60px
    }

    .services {
        grid-template-columns: repeat(2,1fr);
        gap: 16px
    }

    .service-card {
        min-height: 220px;
        padding: 25px
    }

    .services-band:before {
        inset: 30px 0
    }

    .section-heading {
        margin-bottom: 30px
    }

    h2 {
        font-size: 25px
    }

    .eyebrow {
        font-size: 14px;
        margin-bottom: 15px
    }

        .eyebrow:before {
            font-size: 36px
        }

    .topics {
        gap: 14px
    }

    .topic-card {
        flex: 0 0 calc(50% - 7px);
        min-height: 175px;
        padding: 25px 16px 18px
    }

        .topic-card:last-child {
            flex-basis: calc(50% - 7px)
        }

        .topic-card h3 {
            font-size: 14px
        }

    .day-tabs {
        gap: 10px;
        overflow-x: auto;
        padding-bottom: 22px;
        margin-block: 35px 20px
    }

        .day-tabs button {
            flex: 0 0 175px;
            padding: 15px;
            min-height: 90px
        }

        .day-tabs strong {
            font-size: 16px
        }

        .day-tabs span {
            font-size: 11px
        }

        .day-tabs b {
            width: 36px;
            height: 36px;
            line-height: 26px;
            bottom: -17px
        }

    .time-axis {
        font-size: 10px
    }

    .schedule-events {
        grid-template-columns: 1fr;
        background: none;
        padding-top: 15px
    }

    .schedule-card {
        padding: 18px
    }

    .speaker-grid {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding: 5px 3px 15px
    }

    .speaker-card {
        flex: 0 0 180px;
        scroll-snap-align: start
    }

        .speaker-card h3 {
            font-size: 14px
        }

    .project-grid {
        grid-template-columns: 1fr;
        max-width: 430px
    }

    .project-card {
        min-height: 330px;
        padding: 25px 35px
    }

        .project-card h3 {
            font-size: 20px
        }

    .projects-band:before {
        inset: 25% 0 20%
    }

    .mentor-grid {
        grid-template-columns: 1fr
    }

    .mentor-card > img {
        width: 120px;
        height: 140px
    }

    .mentor-card h3 {
        font-size: 15px
    }

    .mentor-card p {
        font-size: 13px
    }

    .mentor-card > div {
        padding: 15px
    }

    .news-grid {
        grid-template-columns: 1fr
    }

    .news-card {
        padding: 22px
    }

        .news-card h3 {
            font-size: 20px
        }

        .news-card > div {
            flex-wrap: nowrap
        }

    .media-heading {
        align-items: start;
        flex-direction: column;
        gap: 0
    }

        .media-heading .section-heading {
            margin-bottom: 20px
        }

    .media-tabs {
        align-self: stretch;
        margin-bottom: 25px
    }

        .media-tabs button {
            flex: 1
        }

    .video-grid {
        grid-template-columns: repeat(3,1fr)
    }

    .video-card:first-child {
        grid-column: 1/-1;
        grid-row: auto;
        min-height: 290px
    }

    .video-card:not(:first-child) {
        grid-column: auto;
        min-height: 100px
    }

    .video-card:first-child strong {
        font-size: 20px;
        bottom: 25px;
        inset-inline: 20px
    }

    .video-card:not(:first-child) strong {
        font-size: 10px;
        inset-inline: 7px;
        bottom: 7px;
        line-height: 1.5
    }

    .video-card:not(:first-child) .play {
        width: 30px;
        height: 30px;
        font-size: 12px;
        top: 40%
    }

    .gallery-grid {
        grid-template-columns: repeat(2,1fr)
    }

    .sponsor-grid {
        gap: 25px
    }

        .sponsor-grid a {
            width: min(180px, calc((100% - 25px) / 2));
            height: 130px;
            padding: 8px
        }

    .footer-grid {
        grid-template-columns: 1fr 1fr
    }

        .footer-grid > div:first-child {
            grid-column: 1/-1
        }

    .copyright {
        font-size: 11px
    }

    .empty-state {
        padding: 22px 15px
    }

    html[dir=ltr] .about h2 {
        font-size: 25px
    }

    html[dir=ltr] .hero h1 {
        font-size: 25px
    }
}

@media(max-width:380px) {
    .container {
        width: calc(100% - 28px)
    }

    .brand {
        flex-basis: 130px
    }

    .navigation {
        gap: 10px
    }

    .panel-link {
        padding: 8px;
        font-size: 10px
    }

    .hero h1 {
        font-size: 21px
    }

    .organizers img {
        max-width: 65px
    }

    .top-links > a:nth-child(2) {
        font-size: 10px
    }

    .event-facts {
        flex-direction: column
    }

    .about-images {
        height: 410px
    }

    .service-card {
        padding: 20px
    }

    .footer-grid {
        grid-template-columns: 1fr
    }

        .footer-grid > div:first-child {
            grid-column: auto
        }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    *, *:before, *:after {
        transition: none !important;
        animation: none !important
    }
}
/* Timeline placement follows actual times; short and overlapping sessions get separate lanes. */
@media(min-width:768px) {
    .schedule-events {
        display: block;
        position: relative
    }

    .schedule-card {
        position: absolute;
        height: 118px;
        overflow: auto
    }

        .schedule-card h3 {
            line-height: 1.6
        }
}

@media(max-width:767px) {
    .navigation {
        gap: 12px
    }

    .brand {
        flex-basis: 145px
    }

    .panel-link {
        margin-inline-start: 0
    }

    .menu-toggle {
        margin-inline-start: auto
    }

    .hero-content {
        padding-top: 85px
    }
}

@media(max-width:380px) {
    .navigation {
        gap: 8px
    }

    .brand {
        flex-basis: 125px
    }

    .menu-toggle {
        padding: 10px
    }

    .hero-content {
        padding-top: 70px
    }
}

@media(min-width:768px) {
    .project-grid:has(>.project-card:only-child) {
        display: flex;
        justify-content: center
    }

        .project-grid:has(>.project-card:only-child) > .project-card {
            width: 350px
        }

    .mentor-grid:has(>.mentor-card:nth-child(2):last-child) {
        grid-template-columns: repeat(2,minmax(0,390px));
        justify-content: center
    }
}
/* Keep decorative headings inside the reading edge in both text directions. */
.eyebrow {
    padding-inline-start: 53px;
    padding-inline-end: 0
}

    .eyebrow:before, .eyebrow:after {
        inset-inline-start: 0;
        inset-inline-end: auto
    }

@media(max-width:767px) {
    .eyebrow:before {
        font-size: 32px
    }

    .about-copy > p {
        font-size: 15px
    }
}

.section-heading.centered .eyebrow {
    min-width: min(290px,100%)
}

.project-card:nth-child(3n) > img, .project-card:hover > img {
    filter: brightness(0) saturate(100%) invert(23%) sepia(99%) saturate(2460%) hue-rotate(222deg) brightness(85%) contrast(94%)
}

.video-grid {
    direction: ltr
}

.video-card {
    direction: rtl
}

html[dir=ltr] .video-card {
    direction: ltr
}

html[lang=en] body {
    font-family: Arial,sans-serif
}

.language > div {
    left: auto;
    right: 0
}

html[dir=rtl] .language > div {
    left: 0;
    right: auto
}

@media(max-width:767px) {
    .about-images:before {
        left: 45%;
        width: 35%;
        height: 140px
    }
}
/* Viewport-conscious composition and genuine interactive states. */
.hero {
    min-height: 100svh;
    display: flex;
    flex-direction: column
}

.hero-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-block: 45px 70px
}

.hero-logo {
    width: clamp(280px,30vw,460px)
}

.hero h1 {
    font-size: clamp(22px,1.65vw,28px);
    margin: 28px auto 32px
}

.organizers {
    margin-top: 35px;
    height: 65px
}

    .organizers img {
        max-height: 65px
    }

.quick-links {
    margin-top: 0;
    padding-top: 28px;
    padding-bottom: 12px
}

.quick-card {
    min-height: 125px;
    padding: 16px 12px
}

    .quick-card img {
        width: 44px;
        height: 44px
    }

    .quick-card:last-child, .service-card:nth-child(2), .topic-card:nth-child(3), .project-card:nth-child(3n) {
        background: #fff;
        color: var(--ink)
    }

.service-card {
    background: #f1f2f6
}

.speaker-card:nth-child(3) > div {
    background: white
}

.quick-card img, .quick-card:last-child img, .service-card img, .service-card:nth-child(2) img, .topic-card img, .topic-card:nth-child(3) img, .project-card > img, .project-card:nth-child(3n) > img {
    filter: brightness(0) saturate(100%) invert(65%) sepia(72%) saturate(530%) hue-rotate(4deg) brightness(94%) contrast(94%)
}

.quick-card:hover, .quick-card:focus-visible, .topic-card:hover, .service-card:hover, .project-card:hover, .project-card:focus-visible {
    background: var(--gold);
    color: #123fbd
}

    .quick-card:hover img, .quick-card:focus-visible img, .topic-card:hover img, .service-card:hover img, .project-card:hover > img, .project-card:focus-visible > img {
        filter: brightness(0) saturate(100%) invert(23%) sepia(99%) saturate(2460%) hue-rotate(222deg) brightness(85%) contrast(94%)
    }

.service-card, .topic-card, .mentor-card, .news-card {
    transition: background .2s,box-shadow .2s
}

    .service-card:hover p, .project-card:hover p, .project-card:hover small, .project-card:hover > span {
        color: #304568
    }

.speaker-card:hover > div {
    background: var(--gold)
}

.mentor-card:hover, .news-card:hover {
    background: #fffbed;
    box-shadow: 0 5px 16px #17213a20
}

.section {
    padding-block: 38px
}

.section-heading {
    margin-bottom: 25px
}

h2 {
    font-size: 26px
}

.eyebrow {
    font-size: 14px;
    margin-bottom: 12px
}

    .eyebrow:before {
        font-size: 36px
    }

.about {
    gap: 45px;
    padding-block: 35px 45px
}

    .about h2, html[dir=ltr] .about h2 {
        font-size: 24px
    }

.about-images {
    height: 470px
}

.about-copy > p {
    font-size: 15px;
    line-height: 2.1;
    color: #646971;
    margin-bottom: 12px
}

.event-facts {
    margin-block: 16px 12px
}

    .event-facts span {
        font-size: 12px
    }

.services-band {
    margin-block: 10px 45px
}

.service-card {
    min-height: 210px;
    padding: 24px
}

    .service-card img {
        margin-bottom: 12px
    }

    .service-card p {
        font-size: 14px;
        line-height: 1.9
    }

.topic-card {
    min-height: 155px;
    padding: 22px 16px 16px
}

    .topic-card img {
        width: 52px;
        height: 52px;
        margin-bottom: 10px
    }

    .topic-card h3 {
        font-size: 15px
    }

.topics {
    gap: 18px
}

.day-tabs {
    margin-block: 30px 35px
}

.project-card {
    min-height: 300px;
    padding: 24px
}

    .project-card > img {
        width: 58px;
        height: 60px;
        margin: 0 0 12px
    }

    .project-card h3 {
        font-size: 18px
    }

.section-action {
    margin-top: 24px
}

.news-card {
    padding: 18px;
    gap: 12px
}

    .news-card h3 {
        font-size: 17px
    }

    .news-card > a > img {
        aspect-ratio: 1.8;
        margin-bottom: 10px
    }

    .news-card > p {
        -webkit-line-clamp: 3;
        font-size: 14px
    }

.media-tabs {
    margin-bottom: 25px
}

    .media-tabs button {
        line-height: 1.8;
        min-height: 44px;
        white-space: nowrap
    }

.video-card:first-child {
    min-height: 330px
}

.video-card:not(:first-child) {
    min-height: 102px
}

.video-card:first-child strong {
    font-size: 21px
}

.empty-state {
    padding: 18px
}

.section:has(>.empty-state) {
    padding-block: 28px
}

@media(min-width:992px) {
    .container {
        width: min(1170px,calc(100% - 72px))
    }

    .speaker-card > img {
        max-height: 215px
    }

    .mentor-grid {
        gap: 16px
    }

    .about {
        grid-template-columns: 1.2fr 1fr
    }

    .brand {
        flex-basis: 160px
    }

    .navigation {
        gap: 24px
    }

    .nav-links {
        gap: 16px;
        font-size: 13px
    }

    .mentor-card > img {
        width: 105px;
        min-height: 120px
    }

    .mentor-card h3 {
        font-size: 14px
    }

    .mentor-card p {
        font-size: 13px
    }
}

@media(max-height:800px) and (min-width:992px) {
    .section {
        padding-block: 28px
    }

    .about-images {
        height: 410px
    }

    .about-copy > p {
        line-height: 1.9
    }

    .section-heading {
        margin-bottom: 20px
    }

    .hero-content {
        padding-block: 25px 40px
    }

    .hero-logo {
        width: 360px
    }

    .hero h1 {
        margin-block: 20px 25px
    }

    .organizers {
        margin-top: 25px
    }

    .topic-card {
        min-height: 140px;
        padding-block: 16px
    }

        .topic-card img {
            height: 44px
        }

    .project-card {
        min-height: 280px
    }

    .video-card:first-child {
        min-height: 290px
    }

    .video-card:not(:first-child) {
        min-height: 88px
    }
}

@media(max-width:991px) {
    .hero-logo {
        width: min(420px,80%)
    }

    .hero h1, html[dir=ltr] .hero h1 {
        font-size: 24px
    }

    .hero-content {
        padding-block: 45px 60px
    }

    .about-images {
        height: 440px
    }
}

@media(max-width:767px) {
    .hero-content {
        padding-block: 40px 55px
    }

    .hero-logo {
        width: 300px
    }

    .hero h1, html[dir=ltr] .hero h1 {
        font-size: 22px;
        line-height: 1.8
    }

    .organizers {
        margin-top: 28px
    }

        .organizers img {
            max-height: 60px
        }

    .quick-links {
        padding-top: 20px
    }

    .section {
        padding-block: 32px
    }

    .about {
        gap: 25px
    }

    .about-images {
        height: 420px
    }

    .about h2, html[dir=ltr] .about h2 {
        font-size: 22px
    }

    .services-band {
        margin-bottom: 30px
    }

    .service-card {
        min-height: 190px;
        padding: 20px
    }

    .topic-card {
        min-height: 150px
    }

    .project-card {
        min-height: 280px
    }

    .video-card:first-child {
        min-height: 260px
    }

    .video-card:not(:first-child) {
        min-height: 100px
    }

        .video-card:not(:first-child) strong {
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden
        }

    .eyebrow:before {
        font-size: 30px
    }

    h2 {
        font-size: 23px
    }
}

.section-pager {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 18px
}

    .section-pager button {
        border: 1px solid #d9deea;
        border-radius: 6px;
        background: white;
        color: #123fbd;
        padding: 6px 20px;
        font-size: 13px
    }

        .section-pager button:hover:not(:disabled) {
            background: #f3d369
        }

    .section-pager[hidden] {
        display: none
    }

@media(max-width:767px) {
    .speaker-grid {
        display: grid;
        grid-template-columns: 1fr;
        max-width: 230px;
        margin-inline: auto;
        overflow: visible
    }

    .speaker-card {
        min-width: 0
    }

    .project-grid, .news-grid {
        max-width: 420px;
        margin-inline: auto
    }
}

.service-card:nth-child(2) {
    background: #f1f2f6
}

    .service-card:nth-child(2):hover {
        background: var(--gold)
    }
/* Reference proportions: generous composition, overlapping access cards and two-row mentors. */
.hero {
    min-height: calc(100svh + 120px)
}

.navigation {
    border-bottom: 0;
    min-height: 96px;
    position: relative
}

    .navigation:after {
        content: "";
        position: absolute;
        bottom: 0;
        height: 1px;
        background: #ffffff45;
        width: 100vw;
        left: 50%;
        transform: translateX(-50%);
        pointer-events: none
    }

.nav-links {
    align-self: stretch
}

    .nav-links a {
        display: flex;
        align-items: center;
        padding-block: 26px
    }

    .nav-links .current:after {
        bottom: 0;
        border-width: 0 10px 9px;
        border-bottom-color: white;
        left: calc(50% - 10px)
    }

    .nav-links .current:before {
        content: "";
        position: absolute;
        bottom: -1px;
        left: 50%;
        transform: translateX(-50%);
        width: 60px;
        height: 3px;
        border-radius: 2px;
        background: #fff;
        pointer-events: none
    }

.hero-content {
    padding-block: 90px 150px;
    justify-content: center
}

.hero-logo {
    width: clamp(360px,30vw,575px)
}

.hero h1 {
    margin: 41px auto 48px;
    font-size: clamp(22px,1.3vw,23px);
}

.organizers {
    margin-top: 52px;
    height: 70px;
}

    .organizers img {
        max-height: 70px;
    }

.quick-links {
    margin-top: -78px;
    padding-top: 0;
    padding-bottom: 0;
    gap: 20px
}

.quick-card {
    width: 154px;
    min-height: 156px;
    padding: 20px 15px;
    font-size: 14px
}

    .quick-card img {
        width: 52px;
        height: 54px
    }

.section {
    padding-block: 60px
}

.section-heading {
    margin-bottom: 36px
}

.eyebrow {
    margin-bottom: 20px
}

h2 {
    font-size: 27px
}

.about {
    padding-block: 60px 80px;
    gap: 65px;
    grid-template-columns: 1.15fr 1fr
}

.about-images {
    height: clamp(510px,34vw,647px)
}

    .about-images img {
        width: 69%;
        height: 76%
    }

.about-back {
    top: 6.5%
}

.about-front {
    bottom: 0
}

.about-images:before {
    left: 48%;
    width: 34%;
    height: 26%
}

.about-images:after {
    left: 25%;
    height: 12%
}

.about-copy > .section-heading {
    margin-bottom: 24px
}

.about h2, html[dir=ltr] .about h2 {
    font-size: 25px
}

.about-copy > p {
    line-height: 2.35;
    margin-bottom: 18px;
    font-size: 15px
}

.event-facts {
    margin-block: 22px 18px;
    padding: 14px 18px
}

.services-band {
    margin-block: 0 85px
}

.services {
    max-width: 1170px;
    gap: 28px
}

.service-card, .service-card:nth-child(2) {
    min-height: 250px;
    padding: 28px 30px;
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

    .service-card img {
        margin-bottom: 22px
    }

    .service-card h3 {
        margin-bottom: 12px
    }

    .service-card p {
        line-height: 2
    }

    .service-card > span {
        margin-top: auto;
        align-self: flex-end
    }

.topics {
    gap: 24px
}

.topic-card {
    min-height: 185px;
    padding: 30px 18px 20px
}

    .topic-card img {
        width: 58px;
        height: 58px;
        margin-bottom: 16px
    }

.project-card {
    min-height: 330px;
    padding: 30px
}

    .project-card > img {
        margin-bottom: 20px
    }

.section-action {
    margin-top: 32px
}

.news-card {
    gap: 16px;
    padding: 22px
}

    .news-card > a > img {
        margin-bottom: 16px
    }

.mentor-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 24px
}

.mentor-card > img {
    width: 120px;
    min-height: 132px
}

.mentor-card > div {
    padding: 15px 10px
}

.mentor-card p {
    margin-block: 8px 12px
}

.section-pager.mentor-pager {
    direction: rtl;
    gap: 10px;
    margin-top: 40px
}

.mentor-pager button {
    width: 58px;
    height: 58px;
    padding: 0;
    font-family: Arial,sans-serif;
    font-size: 27px;
    border: 0;
    background: #d5e8ee;
    color: #387079;
    border-radius: 10px
}

    .mentor-pager button:disabled {
        opacity: .45
    }

@media(min-width:992px) {
    .container {
        width: min(1240px,calc(100% - 80px))
    }

    .services {
        width: min(1170px,calc(100% - 80px))
    }
}

@media(max-height:800px) and (min-width:992px) {
    .hero-content {
        padding-block: 40px 125px;
    }

    .hero-logo {
        width: 399px;
    }

    .hero h1 {
        margin-block: 28px 35px;
    }

    .organizers {
        margin-top: 28px;
    }

    .section {
        padding-block: 48px
    }

    .about-images {
        height: 510px
    }

    .about-copy > p {
        line-height: 2.15
    }

    .topic-card {
        min-height: 170px;
        padding-block: 24px
    }
}

@media(max-width:991px) {
    .hero-content {
        padding-block: 65px 130px
    }

    .hero-logo {
        width: min(480px,80%)
    }

    .about {
        gap: 35px
    }

    .about-images {
        height: 530px
    }

    .mentor-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
}

@media(max-width:767px) {
    .hero {
        min-height: calc(100svh + 100px)
    }

    .hero-content {
        padding-block: 50px 130px
    }

    .hero-logo {
        width: 300px
    }

    .hero h1, html[dir=ltr] .hero h1 {
        font-size: 22px;
        margin-block: 30px 35px
    }

    .organizers {
        margin-top: 35px
    }

        .organizers img {
            max-height: 60px
        }

    .quick-links {
        margin-top: -65px;
        gap: 12px
    }

    .quick-card {
        width: calc(33.333% - 10px);
        min-height: 135px;
        padding: 15px 10px;
        font-size: 12px
    }

        .quick-card img {
            width: 44px;
            height: 44px
        }

    .section {
        padding-block: 42px
    }

    .about {
        padding-block: 45px 60px;
        gap: 35px
    }

    .about-images {
        height: 490px
    }

    .about-copy > p {
        font-size: 15px;
        line-height: 2.2
    }

    .about h2, html[dir=ltr] .about h2 {
        font-size: 23px
    }

    .services-band {
        margin-bottom: 55px
    }

    .service-card, .service-card:nth-child(2) {
        min-height: 225px;
        padding: 24px
    }

    .mentor-grid {
        grid-template-columns: 1fr
    }

    .mentor-pager button {
        width: 48px;
        height: 48px
    }

    .topic-card {
        min-height: 170px;
        padding: 25px 16px
    }

    .nav-links {
        align-self: auto
    }

        .nav-links a {
            padding-block: 8px
        }

    .navigation:after {
        bottom: 0
    }

    .about-images:before {
        left: 45%;
        width: 35%
    }
}

.brand {
    flex: 0 0 200px;
    min-width: 0;
    display: block;
    padding: 4px
}

    .brand img {
        display: block;
        width: 100%;
        height: auto;
        max-width: 100%;
        object-fit: contain
    }

.hero-logo {
    height: auto;
    object-fit: contain
}

.navigation {
    gap: 24px
}

.nav-links {
    min-width: 0
}

@media(max-width:1199px) {
    .brand {
        flex-basis: 165px
    }

    .navigation {
        gap: 16px
    }

    .nav-links {
        gap: 12px
    }
}

@media(max-width:767px) {
    .brand {
        flex-basis: 150px
    }

    .navigation {
        gap: 10px
    }
}

@media(max-width:380px) {
    .brand {
        flex-basis: 125px
    }

    .navigation {
        gap: 8px
    }
}

@media(min-width:992px) {
    .nav-links {
        align-items: stretch
    }

        .nav-links a {
            align-self: stretch
        }
}
/* The original background film stays behind the blue readability overlay. */
.hero {
    isolation: isolate;
    background: #214f78 url('/images/hamafza/hero.webp') center/cover no-repeat
}

.hero-background-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
    pointer-events: none
}

.hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(#214f78bb,#184f7bb8);
    z-index: -1;
    pointer-events: none
}

.mentor-pager button:disabled {
    opacity: 1;
    cursor: default
}

.brand-dropdown {
    position: relative;
    display: flex;
    align-items: center;
    white-space: nowrap
}

    .brand-dropdown > summary {
        cursor: pointer;
        list-style: none;
        padding-block: 26px
    }

        .brand-dropdown > summary:after, .brand-submenu > summary:after {
            content: '⌄';
            margin-inline-start: 7px
        }

.brand-dropdown-items {
    position: absolute;
    top: 100%;
    inset-inline-start: 0;
    min-width: 230px;
    max-width: min(320px,85vw);
    background: white;
    color: #14171d;
    border-radius: 8px;
    box-shadow: 0 8px 24px #071d3930;
    padding: 10px;
    z-index: 20
}

.nav-links .brand-dropdown-items a {
    display: block;
    padding: 9px 12px;
    white-space: normal;
    color: #263549
}

.brand-dropdown-items a:hover {
    background: #fff4ce;
    color: #123fbd
}

.brand-submenu summary {
    padding: 9px 12px;
    cursor: pointer;
    white-space: normal
}

.brand-submenu > div {
    padding-inline-start: 15px
}

.footer-grid {
    grid-template-columns: 1.1fr .8fr .8fr 1.1fr;
    gap: 35px
}

@media(max-width:1199px) and (min-width:992px) {
    .brand-dropdown > summary {
        font-size: 12px
    }

    .nav-links {
        gap: 10px
    }
}

@media(max-width:991px) {
    .brand-dropdown {
        display: block
    }

        .brand-dropdown > summary {
            padding-block: 8px
        }

    .brand-dropdown-items {
        position: static;
        max-width: 100%;
        min-width: 0;
        margin-block: 8px
    }

    .footer-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
}

@media(max-width:380px) {
    .footer-grid {
        grid-template-columns: 1fr
    }
}

/* Reference proportions for the exhibition introduction. */
.contact-note .secretariat-phone a {
    display: inline-block;
    white-space: nowrap
}

.about .contact-note {
    font-size: 14px;
    line-height: 1.9;
    margin-top: 20px
}

@media(min-width:992px) {
    .about.container {
        grid-template-columns: 1.14fr 1fr;
        gap: 65px;
        align-items: center;
        padding-block: 45px 85px
    }

    .about-images {
        height: auto;
        aspect-ratio: 595/710;
        min-width: 0
    }

        .about-images img {
            width: 68.6%;
            height: 76%;
            object-position: center
        }

    .about-back {
        top: 7.7%;
        left: 0
    }

    .about-front {
        bottom: 0;
        right: 0
    }

    .about-images:before {
        left: 48.2%;
        width: 33.3%;
        height: 27%;
        border-width: 5px
    }

    .about-images:after {
        left: 24.8%;
        height: 12%;
        width: 6px
    }

    .about-copy > .section-heading {
        margin-bottom: 22px
    }

    .about .eyebrow {
        margin-bottom: 24px
    }

        .about .eyebrow:before {
            font-size: 44px
        }

    .about h2, html[dir=ltr] .about h2 {
        font-size: 24px;
        line-height: 1.65
    }

    .about-copy > p {
        font-size: 15px;
        line-height: 2.2;
        margin-bottom: 16px
    }

    .about .event-facts {
        flex-direction: row;
        align-items: center;
        margin: 24px 0 18px;
        padding: 14px 20px;
        min-height: 84px;
        border-radius: 32px;
        gap: 18px
    }

        .about .event-facts > div:first-child {
            flex: 1.6
        }

        .about .event-facts img {
            width: 36px;
            max-height: 46px
        }

        .about .event-facts strong {
            font-size: 14px
        }

        .about .event-facts span {
            font-size: 12px
        }
}

@media(max-width:767px) {
    .about .contact-note {
        font-size: 14px
    }

    .about {
        padding-bottom: 80px
    }
}
/* Keep centered section labels grouped at the end of the English word. */
.section-heading.centered .eyebrow {
    display: inline-block;
    min-width: 0;
    width: max-content;
    max-width: 100%;
    padding: 0 38px 0 0;
    margin-bottom: 14px;
    font-size: 12px;
    line-height: 1.5;
    text-align: right;
    isolation: isolate
}

    .section-heading.centered .eyebrow:before {
        position: relative;
        display: block;
        inset: auto;
        bottom: auto;
        margin-right: -38px;
        margin-bottom: -13px;
        font-size: 36px;
        line-height: 1;
        font-weight: 800;
        letter-spacing: 0;
        color: #f3d36966;
        z-index: -1
    }

    .section-heading.centered .eyebrow:after {
        inset: auto 0 3px auto;
        width: 32px;
        height: 4px;
        border-radius: 6px;
        background: linear-gradient(to right,var(--blue) 70%,transparent 70%,transparent 79%,var(--blue) 79%)
    }

.section-heading.centered h2 {
    font-size: 24px;
    line-height: 1.65
}

@media(max-width:767px) {
    .section-heading.centered .eyebrow:before {
        font-size: 30px;
        margin-bottom: -12px
    }

    .section-heading.centered .eyebrow {
        font-size: 11px;
        margin-bottom: 12px;
        padding-right: 34px
    }

        .section-heading.centered .eyebrow:before {
            margin-right: -34px
        }

        .section-heading.centered .eyebrow:after {
            width: 29px
        }

    .section-heading.centered h2 {
        font-size: 22px
    }
}

.mentor-pager {
    gap: 10px
}

    .mentor-pager button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 60px;
        height: 60px;
        border-radius: 11px
    }

        .mentor-pager button svg {
            width: 29px;
            height: 29px;
            fill: none;
            stroke: currentColor;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round
        }

@media(max-width:767px) {
    .mentor-pager button {
        width: 48px;
        height: 48px
    }

        .mentor-pager button svg {
            width: 25px;
            height: 25px
        }
}

/* Slider controls: the reference highlight is a hover state. */
.section-pager.mentor-pager button {
    background: #d3e6ef;
    color: #205962;
    border: 0;
    box-shadow: none;
    transition: background-color .18s ease,color .18s ease
}

    .section-pager.mentor-pager button:hover, .section-pager.mentor-pager button:focus-visible {
        background: #f3d369;
        color: #123fbd;
        border: 0;
        box-shadow: none
    }

    .section-pager.mentor-pager button:disabled {
        opacity: 1
    }
/* Center multimedia tabs independently of the section title. */
.media-heading {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    align-items: end;
    gap: 24px
}

    .media-heading .section-heading {
        grid-column: 1;
        grid-row: 1;
        min-width: 0
    }

    .media-heading .media-tabs {
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
        align-self: end;
        margin-bottom: 36px;
        direction: ltr
    }

        .media-heading .media-tabs button {
            min-width: 105px
        }

@media(max-width:767px) {
    .media-heading {
        grid-template-columns: minmax(0,1fr);
        gap: 0
    }

        .media-heading .section-heading {
            grid-column: 1;
            grid-row: 1
        }

        .media-heading .media-tabs {
            grid-column: 1;
            grid-row: 2;
            justify-self: center;
            align-self: auto;
            margin-bottom: 25px
        }

            .media-heading .media-tabs button {
                flex: initial
            }
}

.media-tabs button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex-direction: row-reverse
}

.media-tab-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    stroke: currentColor;
    stroke-width: 1;
    stroke-linecap: round;
    stroke-linejoin: round
}

html[dir=ltr] .section-pager.mentor-pager {
    direction: ltr
}

.top-links > a, .top-contact > a, .language > summary {
    display: inline-flex;
    align-items: center;
    gap: 8px
}

.topbar-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round
}

.icon-user, .icon-mail {
    fill: currentColor;
    stroke: none
}

    .icon-mail .mail-fold {
        fill: none;
        stroke: #315674;
        stroke-width: 1.5
    }

.language-chevron {
    width: 14px;
    height: 14px;
    stroke: currentColor;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round
}

.language summary:after {
    content: none
}

.language summary::-webkit-details-marker {
    display: none
}

.hero-particles {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1
}

.hero-content {
    z-index: 2
}

/* Compact utility navigation, shared by all three languages. */
@media(max-width:767px) {
    .topbar-inner {
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        gap: 8px;
        padding-block: 10px;
        min-height: 64px
    }

    .top-links {
        display: grid;
        grid-template-columns: auto minmax(0,1fr);
        gap: 6px;
        min-width: 0;
        font-size: 11px
    }

        .top-links > a, .language > summary {
            min-height: 40px;
            padding: 6px 8px;
            border: 1px solid #ffffff10;
            border-radius: 8px;
            background: #ffffff05;
            line-height: 1.6
        }

        .top-links > a {
            gap: 6px;
            min-width: 0;
            overflow-wrap: anywhere
        }

            .top-links > a:nth-child(2) {
                font-size: 11px
            }

    .top-contact {
        display: block;
        min-width: 0;
        font-size: 11px
    }

        .top-contact > a {
            display: none
        }

    .language > summary {
        gap: 5px;
        white-space: nowrap
    }

    .topbar-icon {
        width: 17px;
        height: 17px
    }

    .language-chevron {
        width: 10px;
        height: 10px
    }

    .language > div {
        top: calc(100% + 8px)
    }

    .navigation {
        flex-wrap: wrap;
        min-width: 0
    }
}

@media(max-width:359px) {
    .topbar-inner {
        grid-template-columns: minmax(0,1fr)
    }

    .top-contact {
        justify-self: end
    }

    .top-links {
        grid-template-columns: auto minmax(0,1fr);
        width: 100%
    }
}

/* Size the portrait artwork independently of the horizontal navigation logo. */
.hero .hero-logo {
    width: auto;
    height: clamp(320px, 44svh, 410px);
    max-width: 100%;
    object-fit: contain;
    flex-shrink: 0;
    margin-bottom: 28px;
    filter: none;
}

.hero .hero-content {
    padding-block: 28px 115px;
}

@media(max-width:767px) {
    .hero .hero-logo {
        height: clamp(290px, 39svh, 340px);
        margin-bottom: 24px;
    }

    .hero .hero-content {
        padding-block: 24px 110px;
    }
}

@media(max-width:380px) {
    .hero .hero-logo {
        height: 280px;
    }

    .hero .organizers {
        margin-top: 24px;
    }
}

/* Keep venue and date details readable in all three languages. */
.about .event-facts {
    flex-wrap: wrap;
    padding: 20px 26px;
    gap: 24px;
}

    .about .event-facts > div {
        flex: 0 0 auto;
        min-width: 0;
        gap: 14px;
    }

        .about .event-facts > div:first-child {
            flex: 1 0 auto;
            max-width: 100%;
        }

        .about .event-facts > div > div {
            min-width: 0;
        }

    .about .event-facts img {
        flex-shrink: 0;
    }

    .about .event-facts strong {
        font-size: 18px;
        line-height: 1.7;
        margin-bottom: 4px;
        color: #172b40;
    }

    .about .event-facts span {
        font-size: 16px;
        font-weight: 500;
        line-height: 1.9;
        color: #34465a;
        white-space: nowrap;
    }

    .about .event-facts > div:last-child {
        gap: 12px;
    }

        .about .event-facts > div:last-child img {
            width: 28px;
            max-height: 36px;
        }

        .about .event-facts > div:last-child strong {
            font-size: 16px;
        }

        .about .event-facts > div:last-child span {
            font-size: 14px;
        }

@media(max-width:767px) {
    .about .event-facts {
        flex-direction: column;
        align-items: stretch;
        border-radius: 24px;
        padding: 18px;
        gap: 18px;
    }

        .about .event-facts > div,
        .about .event-facts > div:first-child {
            flex: initial;
        }

        .about .event-facts span {
            white-space: normal;
        }
}

.hero-countdown {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 28px;
    direction: ltr
}

    .hero-countdown > div {
        min-width: 64px;
        padding: 10px 14px;
        border: 1px solid #ffffff40;
        border-radius: 12px;
        background: #12345466;
        text-align: center
    }

    .hero-countdown strong {
        display: block;
        font-size: 28px;
        line-height: 1.3;
        font-variant-numeric: tabular-nums;
        color: var(--gold)
    }

    .hero-countdown span {
        display: block;
        font-size: 12px;
        margin-top: 4px
    }

/* Reduce the navigation artwork while retaining its layout space. */
.navigation .brand img {
    width: 85%;
    margin-inline: auto;
}

/* Shared navigation spacing and readable menu weights in every language. */
.navigation .nav-links,
.navigation .nav-links > a,
.navigation .nav-links summary,
.navigation .brand-dropdown-items a,
.topbar .language {
    font-weight: 500;
}

@media (min-width: 992px) {
    .navigation .nav-links {
        justify-content: center;
        align-items: center;
        gap: clamp(26px, 2.5vw, 40px);
    }

        .navigation .nav-links > a,
        .navigation .brand-dropdown > summary {
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 76px;
            padding-block: 20px;
            text-align: center;
        }
}
/* Center speaker cards and preserve the portrait proportions of the reference. */
#speakers .speaker-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    max-width: none;
    margin-inline: auto;
    overflow: visible;
    padding: 5px 0 15px;
}

#speakers .speaker-card {
    flex: 0 1 240px;
    width: 240px;
    min-width: 0;
    box-shadow: 0 1px 4px #0002;
    font-family: inherit;
}

    #speakers .speaker-card > img {
        display: block;
        width: 100%;
        height: auto;
        max-height: none;
        aspect-ratio: 240 / 295;
        object-fit: cover;
        object-position: center top;
    }

    #speakers .speaker-card > div {
        padding: 8px 10px 10px;
    }

    #speakers .speaker-card h3 {
        margin: 0;
        font-family: inherit;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.8;
    }

    #speakers .speaker-card p {
        margin: 10px 0 0;
        font-family: inherit;
        font-size: 13px;
        font-weight: 400;
        line-height: 1.8;
        color: #444;
    }

.side-events-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:24px 24px 32px;scroll-padding-inline:24px;-webkit-mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 24px),transparent);scrollbar-color:#123fbd #edf1f8}
.side-event-card{scroll-snap-align:start;background:#f7f9fd;border:1px solid #e2e8f2;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:22px;box-shadow:0 8px 24px #1233540a}
.side-event-heading{display:flex;align-items:center;gap:16px}.side-event-heading img{width:76px;height:76px;object-fit:contain;background:#123354;border-radius:50%;padding:10px;box-sizing:border-box;flex-shrink:0}.side-event-heading h3{font-size:17px;line-height:1.9;margin:0}.side-event-actions{display:flex;flex-wrap:wrap;gap:10px}.side-event-actions .button{font-size:13px;padding:9px 16px}.side-event-date{margin-top:auto;padding-top:16px;border-top:1px solid #e2e8f2;display:flex;flex-direction:column;gap:8px;font-size:13px;color:#526174}.side-events-track:focus-visible{outline:2px solid #123fbd;outline-offset:5px}
@media(max-width:991px){.side-events-track{grid-auto-columns:calc((100% - 24px)/2)}}
@media(max-width:600px){.side-events-track{grid-auto-columns:100%;gap:16px}.side-event-card{padding:20px}}
.sponsor-grid [hidden]{display:none!important}.sponsor-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:16px;box-sizing:border-box;border:1px solid #e2e8f2;border-radius:14px;background:#f7f9fd;color:#123354;text-align:center;font-size:16px;font-weight:700;line-height:1.9}

/* Compact session cards, matching the exhibition card layout. */
#side-events{position:relative}.side-events-track{align-items:stretch}.side-event-card{display:grid;grid-template-columns:minmax(0,1fr) 76px;grid-template-rows:auto auto 1fr;gap:12px 16px;padding:20px;border-radius:10px;min-height:210px;box-shadow:0 4px 16px #12335412}.side-event-heading{display:contents}.side-event-heading img{grid-column:2;grid-row:1 / 3;width:76px;height:76px;align-self:start}.side-event-heading h3{grid-column:1;grid-row:1;font-size:15px;line-height:1.8;text-align:start}.side-event-actions{grid-column:1;grid-row:2;gap:8px;align-self:start}.side-event-actions .button{padding:5px 13px;min-height:0;font-size:12px;border-radius:30px;line-height:1.5;background:var(--gold);color:var(--blue)}.side-event-actions .button-gold{background:var(--gold);color:var(--blue)}.side-event-actions .button:hover{background:#ffe391}.side-event-date{grid-column:1 / -1;grid-row:3;border:0;padding-top:18px;font-size:12px;gap:4px;align-self:end}.side-events-controls{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}.side-events-controls button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:9px;background:#123fbd;color:#fff;font-size:26px;cursor:pointer}.side-events-controls button:focus-visible{outline:2px solid #123fbd;outline-offset:3px}
@media(max-width:600px){.side-event-card{padding:16px;grid-template-columns:minmax(0,1fr) 64px;gap:12px}.side-event-heading img{width:64px;height:64px}}
.side-events-carousel{position:relative;padding-inline:48px}.side-events-carousel .side-events-controls{position:absolute;inset:0;display:block;margin:0;pointer-events:none}.side-events-carousel .side-events-controls button{position:absolute;top:50%;transform:translateY(-50%);pointer-events:auto;width:38px;height:38px;box-shadow:0 4px 12px #12335426}.side-events-controls button[data-side-step="-1"]{inset-inline-start:0}.side-events-controls button[data-side-step="1"]{inset-inline-end:0}.side-events-controls svg{width:22px;height:22px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}[dir=ltr] .side-events-controls svg{transform:rotate(180deg)}
@media(max-width:600px){.side-events-carousel{padding-inline:36px}.side-events-carousel .side-events-controls button{width:30px;height:34px}.side-events-controls svg{width:18px;height:18px}}
/* Reference layout: logo at the reading edge, actions below the title. */
.side-event-card{grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:18px;row-gap:14px;min-height:236px;padding:20px;border:1px solid #fff;border-radius:12px;background:#f4f6ff;box-shadow:0 5px 22px #12335412}
.side-event-heading img{grid-column:1;grid-row:1 / 3;width:96px;height:96px;padding:0;background:transparent;border-radius:50%}
.side-event-heading h3{grid-column:2;grid-row:1;font-size:18px;font-weight:700;line-height:1.7;margin:0;align-self:center}
.side-event-actions{grid-column:2;grid-row:2;display:flex;flex-wrap:nowrap;gap:12px;align-self:start}
.side-event-actions .button{display:flex;align-items:center;justify-content:center;flex:1;white-space:nowrap;font-size:14px;font-weight:500;line-height:1.5;padding:5px 10px;border-radius:24px}
.side-event-date{grid-column:1 / -1;grid-row:3;display:flex;flex-direction:row;align-items:center;gap:10px;margin-top:20px;padding:0;border:0;font-size:14px;line-height:1.8;color:#17233b;white-space:nowrap}
.side-event-date svg{width:24px;height:24px;flex-shrink:0;stroke:#159fde;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.side-event-date time{font-size:inherit;font-weight:500}
@media(min-width:992px) and (max-width:1250px){.side-event-card{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:16px}.side-event-heading img{width:72px;height:72px}.side-event-heading h3{font-size:16px}.side-event-actions{gap:6px}.side-event-actions .button{font-size:12px}.side-event-date{font-size:12px;gap:6px}}
@media(max-width:600px){.side-event-card{grid-template-columns:72px minmax(0,1fr);padding:16px;gap:12px;min-height:220px}.side-event-heading img{width:72px;height:72px}.side-event-heading h3{font-size:16px}.side-event-actions{gap:8px}.side-event-actions .button{font-size:12px;padding:5px 8px}.side-event-date{font-size:12px;gap:6px}}
.brand-dropdown>summary,.brand-submenu>summary{display:flex;align-items:center;gap:9px;list-style:none}
.brand-dropdown>summary::-webkit-details-marker,.brand-submenu>summary::-webkit-details-marker{display:none}
.brand-dropdown>summary::marker,.brand-submenu>summary::marker{content:""}
.brand-dropdown>summary:after,.brand-submenu>summary:after{content:"";display:inline-block;width:7px;height:7px;margin:0 2px 3px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(45deg);transition:transform .2s ease;flex-shrink:0}
.brand-dropdown[open]>summary:after,.brand-submenu[open]>summary:after{transform:translateY(3px) rotate(225deg)}
@media(prefers-reduced-motion:reduce){.brand-dropdown>summary:after,.brand-submenu>summary:after{transition:none}}
#schedule .schedule-card{box-sizing:border-box;height:auto;min-height:140px;overflow:visible;display:flex;flex-direction:column;gap:16px;padding:18px}
#schedule .schedule-card h3{font-size:15px;line-height:1.8;margin:0;font-weight:700}
#schedule .schedule-card>div{margin-top:auto;flex-wrap:wrap;gap:10px;font-size:12px;line-height:1.8}
#schedule .schedule-card .location{padding:3px 10px;max-width:100%;overflow-wrap:anywhere}
#schedule .schedule-card time{font-size:12px;line-height:1.8}
