@font-face {
    font-display: swap;
    font-family: "Nekst";
    font-style: normal;
    font-weight: 100;
    src: url("../font/Nekst/Nekst-Thin.woff") format("woff");
}

@font-face {
    font-display: swap;
    font-family: "Nekst";
    font-style: normal;
    font-weight: 300;
    src: url("../font/Nekst/Nekst-Light.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "Nekst";
    font-style: normal;
    font-weight: 600;
    src: url("../font/Nekst/Nekst-SemiBold.woff") format("woff");
}

@font-face {
    font-display: swap;
    font-family: "Nekst";
    font-style: normal;
    font-weight: 900;
    src: url("../font/Nekst/Nekst-Black.woff2") format("woff2");
}

:root {
    --sv-black: #000000;
    --sv-blue: #1C487E;
    --sv-blue-dark: #15365F;
    --sv-blue-deep: #0D0D0D;
    --sv-blue-mid: #315C8D;
    --sv-blue-soft: #5B7CA2;
    --sv-blue-pale: #D9E1EA;
    --sv-red: #CD293D;
    --sv-red-dark: #A32234;
    --sv-red-mid: #D95365;
    --sv-red-soft: #F0C4CA;
    --sv-red-pale: #F8E3E6;
    --sv-off-white: #F2F0EA;
    --sv-white: #FFFFFF;
    --sv-near-black: #0D0D0D;
    --sv-charcoal: #161616;
    --sv-warm-gray: #A8A59C;
    --sv-text: #0D0D0D;
    --sv-muted: #6B685F;
    --sv-border: rgba(168, 165, 156, 0.24);

    --sv-black-rgb: 0, 0, 0;
    --sv-blue-rgb: 28, 72, 126;
    --sv-red-rgb: 205, 41, 61;
    --sv-off-white-rgb: 242, 240, 234;
    --sv-near-black-rgb: 13, 13, 13;
    --sv-warm-gray-rgb: 168, 165, 156;
    --sv-white-rgb: 255, 255, 255;

    --sv-container: 1280px;
    --sv-wide: 1440px;
    --sv-gutter: clamp(20px, 4vw, 64px);
    --sv-section-space: clamp(88px, 10vw, 168px);

    --sv-display: clamp(3.4rem, 8.5vw, 8.8rem);
    --sv-h1: clamp(3.2rem, 7.6vw, 8rem);
    --sv-h2: clamp(2.5rem, 5.2vw, 5.8rem);
    --sv-h3: clamp(1.35rem, 2.2vw, 2.2rem);
    --sv-body-lg: clamp(1.15rem, 1.5vw, 1.55rem);
    --sv-body: 1rem;
    --sv-small: 0.78rem;
    --sv-eyebrow: 0.72rem;

    --sv-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
    --sv-fast: 240ms;
    --sv-standard: 620ms;
    --sv-slow: 1000ms;

    --sv-font-en: "Nekst", Arial, Helvetica, sans-serif;
    --sv-font-primary: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html[lang="en"] {
    --sv-font-primary: var(--sv-font-en);
    --sv-display-hero-en: clamp(4rem, 6vw, 6.5rem);
    --sv-heading-xl-en: clamp(3rem, 4.2vw, 5rem);
    --sv-heading-lg-en: clamp(3rem, 4vw, 4.8rem);
    --sv-heading-md-en: clamp(2.4rem, 3.2vw, 4rem);
    --sv-heading-cta-en: clamp(3rem, 4.5vw, 5.5rem);
    --sv-body-lg-en: clamp(1rem, 1.2vw, 1.35rem);
}

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

html {
    scroll-behavior: smooth;
}

body {
    background: var(--sv-off-white);
    color: var(--sv-text);
    font-family: var(--sv-font-primary);
    line-height: 1.5;
    margin: 0;
    overflow-x: hidden;
}

html[lang="en"] body {
    font-synthesis: none;
    font-weight: 300;
    line-height: 1.6;
}

body.sv-preloader-active,
body.sv-menu-open {
    overflow: hidden;
}

button,
input,
select,
textarea {
    font: inherit;
}

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

.site-branding__official-logo {
    background: var(--sv-off-white);
    height: auto;
    max-height: 40px;
    max-width: 164px;
    object-fit: contain;
    width: auto;
}

.site-footer__official-logo {
    background: var(--sv-off-white);
    display: block;
    height: auto;
    max-height: 44px;
    max-width: 180px;
    object-fit: contain;
    width: auto;
}

a {
    color: inherit;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1,
h2,
h3 {
    font-weight: 500;
    letter-spacing: -0.055em;
    line-height: 0.96;
}

html[lang="en"] h1 {
    font-weight: 900;
}

html[lang="en"] h2,
html[lang="en"] h3 {
    font-weight: 600;
}

.container {
    margin-inline: auto;
    max-width: var(--sv-container);
    width: min(calc(100% - (var(--sv-gutter) * 2)), var(--sv-container));
}

.screen-reader-text {
    border: 0;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    clip: auto;
    clip-path: none;
    height: auto;
    left: 5px;
    margin: 0;
    overflow: visible;
    padding: 12px 16px;
    top: 5px;
    width: auto;
    z-index: 100000;
}

:where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 4px;
}

.site-main {
    min-height: 50vh;
}

.sv-eyebrow {
    align-items: center;
    display: flex;
    font-size: var(--sv-eyebrow);
    font-weight: 700;
    gap: 10px;
    letter-spacing: 0.13em;
    line-height: 1.2;
    margin-bottom: 24px;
    text-transform: uppercase;
}

html[lang="en"] .sv-eyebrow,
html[lang="en"] .sv-button {
    font-weight: 600;
}

html[lang="en"] .sv-button span {
    font-weight: 300;
}

.sv-eyebrow::before {
    background: currentColor;
    content: "";
    display: inline-block;
    height: 7px;
    width: 7px;
}

.sv-button {
    align-items: center;
    border: 1px solid transparent;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 700;
    gap: 18px;
    justify-content: center;
    letter-spacing: 0.08em;
    min-height: 54px;
    padding: 14px 20px;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color var(--sv-fast) var(--sv-ease), color var(--sv-fast) var(--sv-ease), border-color var(--sv-fast) var(--sv-ease), transform var(--sv-fast) var(--sv-ease);
}

.sv-button span {
    font-size: 1.1rem;
    font-weight: 400;
}

.sv-button:hover {
    transform: translateY(-2px);
}
