@font-face {
    font-family: "Cairo";
    src: url("../fonts/Cairo-300.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Cairo";
    src: url("../fonts/Cairo-400.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Cairo";
    src: url("../fonts/Cairo-600.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Cairo";
    src: url("../fonts/Cairo-700.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Cairo";
    src: url("../fonts/Cairo-800.ttf") format("truetype");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

:root {
    --alfa-ink: #0d2438;
    --alfa-primary: #17486d;
    --alfa-secondary: #1f6b93;
    --alfa-accent: #2c8f78;
    --alfa-mist: #f4f8fb;
    --alfa-cloud: #d6e2ea;
    --alfa-slate: #5c7284;
    --alfa-white: #ffffff;
    --alfa-line: rgba(23, 72, 109, 0.12);
    --alfa-shadow-soft: 0 20px 55px rgba(11, 34, 53, 0.08);
    --alfa-shadow-medium: 0 28px 70px rgba(11, 34, 53, 0.14);
    --alfa-shell-max: 1240px;
    --alfa-shell: min(100%, var(--alfa-shell-max));
    --alfa-radius-lg: 28px;
    --alfa-radius-md: 20px;
    --alfa-radius-sm: 14px;
    --alfa-page-gutter: clamp(32px, 6vw, 96px);
    --alfa-button-primary-start: #ffbe3b;
    --alfa-button-primary-end: #f06f23;
    --alfa-button-primary-text: #0d2438;
    --alfa-button-primary-border: rgba(205, 97, 28, 0.28);
    --alfa-button-primary-shadow: 0 20px 38px rgba(240, 111, 35, 0.24), 0 10px 24px rgba(11, 34, 53, 0.12);
    --alfa-button-primary-shadow-hover: 0 26px 46px rgba(240, 111, 35, 0.3), 0 14px 30px rgba(11, 34, 53, 0.14);
    --alfa-button-secondary-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 248, 251, 0.96));
    --alfa-button-secondary-text: #123b59;
    --alfa-button-secondary-border: rgba(13, 36, 56, 0.14);
    --alfa-button-secondary-shadow: 0 16px 30px rgba(11, 34, 53, 0.09);
    --alfa-button-secondary-shadow-hover: 0 22px 38px rgba(11, 34, 53, 0.12);
    --alfa-text-xs: 0.82rem;
    --alfa-text-sm: 0.9rem;
    --alfa-text-md: 0.975rem;
    --alfa-text-lg: clamp(1rem, 0.95vw + 0.78rem, 1.12rem);
    --alfa-title-sm: clamp(1.02rem, 0.7vw + 0.9rem, 1.24rem);
    --alfa-title-md: clamp(1.24rem, 1vw + 0.98rem, 1.68rem);
    --alfa-title-lg: clamp(1.68rem, 2vw + 1.08rem, 2.45rem);
    --alfa-title-xl: clamp(2.25rem, 3.5vw + 1.1rem, 3.75rem);
    --alfa-title-xl-rtl: clamp(2.05rem, 3vw + 1rem, 3.25rem);
}

html {
    scroll-behavior: smooth;
}

html,
body {
    margin: 0;
    padding: 0;
    font-family: "Cairo", sans-serif;
    color: var(--alfa-ink);
    background:
        radial-gradient(circle at top left, rgba(31, 107, 147, 0.1), transparent 28%),
        radial-gradient(circle at bottom right, rgba(44, 143, 120, 0.1), transparent 24%),
        linear-gradient(180deg, #fcfeff 0%, #f4f8fb 100%);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    direction: ltr;
    text-align: left;
    font-size: var(--alfa-text-md);
}

body.translatepress-ar,
body[dir="rtl"],
html[dir="rtl"] body {
    direction: rtl;
    text-align: right;
}

:where(h1, h2, h3, h4, h5, h6, .wp-block-heading) {
    font-weight: 600;
    line-height: 1.18;
    text-wrap: balance;
}

body.translatepress-ar :where(h1, h2, h3, h4, h5, h6, .wp-block-heading),
body[dir="rtl"] :where(h1, h2, h3, h4, h5, h6, .wp-block-heading),
html[dir="rtl"] body :where(h1, h2, h3, h4, h5, h6, .wp-block-heading) {
    letter-spacing: 0;
}

p,
li {
    line-height: 1.82;
}

a {
    color: var(--alfa-primary);
    text-decoration: none;
    transition: color 180ms ease, transform 180ms ease, opacity 180ms ease;
}

a:hover {
    color: var(--alfa-secondary);
}

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

.wp-site-blocks,
.wp-block-post-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.wp-site-blocks > *:first-child,
.wp-site-blocks > main,
.wp-block-post-content > *:first-child {
    margin-top: 0 !important;
}

@media (min-width: 782px) {
    .wp-block-columns {
        flex-direction: row;
    }

    body.translatepress-ar .wp-block-columns,
    body[dir="rtl"] .wp-block-columns,
    html[dir="rtl"] .wp-block-columns {
        flex-direction: row-reverse;
    }
}

body.admin-bar .site-header {
    top: 32px;
}

@media (max-width: 782px) {
    body.admin-bar .site-header {
        top: 46px;
    }
}

@media (max-width: 1024px) {
    :root {
        --alfa-page-gutter: clamp(24px, 5.6vw, 64px);
    }
}

@media (max-width: 782px) {
    :root {
        --alfa-page-gutter: clamp(22px, 6vw, 56px);
    }
}

@media (max-width: 640px) {
    :root {
        --alfa-page-gutter: clamp(20px, 7vw, 48px);
    }
}

@media (max-width: 420px) {
    :root {
        --alfa-page-gutter: clamp(18px, 7vw, 40px);
    }
}

.alfa-section {
    position: relative;
    padding-block: clamp(44px, 6vw, 80px);
    overflow: clip;
}

.alfa-shell {
    width: var(--alfa-shell);
    margin-inline: auto;
    padding-inline: var(--alfa-page-gutter) !important;
}

.alfa-section > .wp-block-group.alignwide,
.alfa-section > .wp-block-columns.alignwide,
.alfa-section > .wp-block-query.alignwide,
.alfa-metrics-band > .wp-block-columns.alignwide {
    width: min(var(--alfa-shell-max), calc(100% - (var(--alfa-page-gutter) * 2))) !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
    box-sizing: border-box;
}

.alfa-eyebrow {
    margin: 0 0 1rem;
    color: var(--alfa-accent);
    font-size: var(--alfa-text-xs);
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.alfa-display {
    margin: 0;
    font-size: var(--alfa-title-xl);
    line-height: 1.02;
    letter-spacing: -0.025em;
}

body.translatepress-ar .alfa-display,
body[dir="rtl"] .alfa-display,
html[dir="rtl"] .alfa-display {
    font-size: var(--alfa-title-xl-rtl);
    line-height: 1.08;
    letter-spacing: 0;
}

body.translatepress-ar .alfa-eyebrow,
body[dir="rtl"] .alfa-eyebrow,
html[dir="rtl"] .alfa-eyebrow {
    letter-spacing: 0.03em;
}

.alfa-lead {
    font-size: var(--alfa-text-lg);
    line-height: 1.78;
    color: var(--alfa-slate);
}

.alfa-surface {
    border: 1px solid var(--alfa-line);
    border-radius: var(--alfa-radius-lg);
    background: rgba(255, 255, 255, 0.86);
    box-shadow: var(--alfa-shadow-soft);
    backdrop-filter: blur(16px);
}

.alfa-inline-button,
.alfa-quote-button,
.wp-block-button__link,
.alfa-form-shell .ff-btn-submit,
.alfa-form-shell button.ff-btn,
.alfa-form-shell input.ff-btn-submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    --alfa-button-text: var(--alfa-button-primary-text);
    --alfa-button-border: var(--alfa-button-primary-border);
    --alfa-button-shadow-current: var(--alfa-button-primary-shadow);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 50px;
    padding: 12px 24px;
    border: 1px solid var(--alfa-button-border);
    border-radius: 999px;
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.34), transparent 36%),
        linear-gradient(135deg, var(--alfa-button-primary-start) 0%, var(--alfa-button-primary-end) 100%);
    color: var(--alfa-button-text) !important;
    font-size: var(--alfa-text-sm);
    font-weight: 600;
    letter-spacing: 0.005em;
    line-height: 1.3;
    box-sizing: border-box;
    max-width: 100%;
    text-decoration: none;
    box-shadow: var(--alfa-button-shadow-current);
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        border-color 180ms ease,
        background 180ms ease,
        color 180ms ease,
        filter 180ms ease;
}

.alfa-inline-button.is-ghost,
.wp-block-button.is-style-outline .wp-block-button__link {
    --alfa-button-text: var(--alfa-button-secondary-text);
    --alfa-button-border: var(--alfa-button-secondary-border);
    --alfa-button-shadow-current: var(--alfa-button-secondary-shadow);
    border-width: 1px !important;
    background: var(--alfa-button-secondary-bg);
    box-shadow: var(--alfa-button-shadow-current);
    color: var(--alfa-button-text) !important;
}

.alfa-inline-button:hover,
.alfa-quote-button:hover,
.wp-block-button__link:hover,
.alfa-form-shell .ff-btn-submit:hover,
.alfa-form-shell button.ff-btn:hover,
.alfa-form-shell input.ff-btn-submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    transform: translateY(-2px);
    box-shadow: var(--alfa-button-primary-shadow-hover);
    color: var(--alfa-button-text) !important;
    filter: saturate(1.04);
}

.alfa-inline-button.is-ghost:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
    border-color: rgba(240, 111, 35, 0.24);
    background: linear-gradient(180deg, #fffdf7, #fff5e8);
    box-shadow: var(--alfa-button-secondary-shadow-hover);
    color: var(--alfa-button-secondary-text) !important;
}

.alfa-inline-button:focus-visible,
.alfa-quote-button:focus-visible,
.wp-block-button__link:focus-visible,
.alfa-form-shell .ff-btn-submit:focus-visible,
.alfa-form-shell button.ff-btn:focus-visible,
.alfa-form-shell input.ff-btn-submit:focus-visible,
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible,
.woocommerce #respond input#submit:focus-visible {
    outline: none;
    box-shadow:
        0 0 0 4px rgba(255, 190, 59, 0.26),
        0 0 0 9px rgba(13, 36, 56, 0.08),
        var(--alfa-button-shadow-current);
}

.alfa-inline-button:active,
.alfa-quote-button:active,
.wp-block-button__link:active,
.alfa-form-shell .ff-btn-submit:active,
.alfa-form-shell button.ff-btn:active,
.alfa-form-shell input.ff-btn-submit:active,
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active,
.woocommerce #respond input#submit:active {
    transform: translateY(0);
    box-shadow: 0 10px 18px rgba(11, 34, 53, 0.12);
}

.alfa-reveal {
    opacity: 1;
    transform: none;
}

.alfa-lightbox {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: clamp(16px, 4vw, 40px);
    background: rgba(5, 16, 26, 0.86);
    z-index: 100500;
}

.alfa-lightbox.is-open {
    display: flex;
}

.alfa-lightbox__content {
    width: min(1100px, 92vw);
    display: flex;
    align-items: center;
    justify-content: center;
}

.alfa-lightbox__img {
    max-width: min(1080px, 92vw);
    max-height: 86vh;
    width: auto;
    height: auto;
    border-radius: 18px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.45);
}

.alfa-lightbox__img[hidden],
.alfa-lightbox__video[hidden] {
    display: none;
}

.alfa-lightbox__video {
    width: min(1100px, 92vw);
    aspect-ratio: 16 / 9;
    border-radius: 18px;
    overflow: hidden;
    background: #02080d;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.45);
}

.alfa-lightbox__video.is-document {
    width: min(1180px, 94vw);
    height: min(88vh, 1100px);
    aspect-ratio: auto;
    background: #ffffff;
}

.alfa-lightbox__iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.alfa-lightbox__video.is-document .alfa-lightbox__iframe {
    background: #ffffff;
}

.alfa-lightbox__close {
    position: absolute;
    top: clamp(14px, 3vw, 24px);
    right: clamp(14px, 3vw, 24px);
    width: 42px;
    height: 42px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.1);
    cursor: pointer;
}

.alfa-lightbox__close::before,
.alfa-lightbox__close::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 18px;
    height: 2px;
    background: #ffffff;
    transform-origin: center;
}

.alfa-lightbox__close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.alfa-lightbox__close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

body.alfa-lightbox-open {
    overflow: hidden;
}

.alfa-js .alfa-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.alfa-js .alfa-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.alfa-js .alfa-home-hero .alfa-reveal,
.alfa-js .alfa-hero .alfa-reveal,
.alfa-js .alfa-page-hero .alfa-reveal {
    opacity: 1;
    transform: none;
}

.alfa-js .alfa-form-shell.alfa-reveal {
    opacity: 1;
    transform: none;
}

body.alfa-trp-editing .alfa-reveal,
body.alfa-trp-editing .alfa-reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
}

body.alfa-trp-editing .alfa-hero__slide,
body.alfa-trp-editing .alfa-hero__slide img,
body.alfa-trp-editing .alfa-category-card,
body.alfa-trp-editing .alfa-category-card img {
    transition: none !important;
    animation: none !important;
}

.alfa-delay-2 {
    transition-delay: 0.08s;
}

.alfa-delay-3 {
    transition-delay: 0.16s;
}

.alfa-delay-4 {
    transition-delay: 0.24s;
}

.alfa-anchor-card {
    height: 100%;
    color: inherit;
}

.alfa-muted {
    color: var(--alfa-slate);
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

body.alfa-menu-open {
    overflow: hidden;
    touch-action: none;
}

@media (max-width: 782px) {
    .alfa-section {
        padding-block: clamp(34px, 8vw, 56px);
    }
}

@media (max-width: 640px) {
    .alfa-section {
        padding-block: clamp(28px, 8vw, 44px);
    }

    .alfa-display {
        font-size: clamp(1.9rem, 8vw, 2.7rem);
    }

    .alfa-lead {
        font-size: 0.98rem;
    }

    .wp-block-buttons {
        width: 100%;
        gap: 10px;
    }

    .wp-block-buttons > .wp-block-button {
        width: 100%;
    }

    .wp-block-buttons > .wp-block-button > .wp-block-button__link {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .alfa-section {
        padding-block: 26px 40px;
    }
}
