/* ===================================================== */
/* RESET */
/* ===================================================== */

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


:root {
    --ink: #20211d;
    --ink-soft: #30312c;

    --olive: #292d27;
    --olive-light: #373d35;

    --sand: #b29a7b;
    --sand-light: #d6c4aa;

    --cream: #f3efe7;
    --cream-2: #e9e2d8;

    --paper: #faf9f6;
    --white: #ffffff;

    --text: #242520;
    --muted: #74756e;

    --line: rgba(32, 33, 29, .16);
    --line-light: rgba(255, 255, 255, .18);
}


html {
    scroll-behavior: smooth;
}


body {
    margin: 0;

    background: var(--paper);

    color: var(--text);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    -webkit-font-smoothing: antialiased;
}


body,
input,
textarea,
button {
    font-family:
        Arial,
        Helvetica,
        sans-serif;
}


a {
    color: inherit;
}


img {
    display: block;

    max-width: 100%;
}


button,
input,
textarea {
    border-radius: 0;
}


.container {
    width:
        min(
            1240px,
            calc(100% - 64px)
        );

    margin: 0 auto;
}


/* ===================================================== */
/* HERO */
/* ===================================================== */

.hero {
    position: relative;

    min-height: 820px;

    background:
        var(--olive)
        url("../images/baghramyan-hero.jpg")
        center center / cover
        no-repeat;

    color: var(--white);

    overflow: hidden;
}


.hero::after {
    content: "";

    position: absolute;

    inset:
        auto
        0
        0
        0;

    height: 1px;

    background:
        rgba(
            255,
            255,
            255,
            .22
        );
}


.hero-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(17, 20, 17, .94) 0%,
            rgba(17, 20, 17, .80) 32%,
            rgba(17, 20, 17, .36) 63%,
            rgba(17, 20, 17, .14) 100%
        );
}


.hero-inner {
    position: relative;

    z-index: 2;

    min-height: 820px;

    display: flex;

    align-items: center;
}


/* ===================================================== */
/* BRAND */
/* ===================================================== */

.hero-brand {
    position: absolute;

    top: 38px;
    left: 0;

    display: inline-flex;

    flex-direction: column;

    text-decoration: none;

    color: var(--white);

    z-index: 20;
}


.hero-brand-main {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 23px;

    line-height: 1;

    letter-spacing: .16em;
}


.hero-brand-sub {
    margin-top: 7px;

    padding-top: 7px;

    border-top:
        1px solid
        rgba(
            255,
            255,
            255,
            .50
        );

    font-size: 8px;

    font-weight: 700;

    letter-spacing: .54em;

    text-align: center;
}


/* ===================================================== */
/* LANGUAGE SWITCHER */
/* ===================================================== */

.language-switcher {
    position: absolute;

    top: 44px;
    right: 0;

    z-index: 20;

    display: flex;

    align-items: center;

    gap: 10px;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: .14em;
}


.language-switcher a {
    color:
        rgba(
            255,
            255,
            255,
            .52
        );

    text-decoration: none;

    transition:
        color .2s ease;
}


.language-switcher a:hover {
    color: var(--white);
}


.language-switcher a.active {
    color: var(--sand-light);
}


.language-switcher span {
    color:
        rgba(
            255,
            255,
            255,
            .25
        );
}


/* ===================================================== */
/* HERO COPY */
/* ===================================================== */

.hero-copy {
    width: min(760px, 100%);

    padding:
        155px
        0
        100px;
}


.hero-kicker {
    position: relative;

    margin:
        0
        0
        29px;

    padding-left: 54px;

    color: var(--sand-light);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: .27em;

    text-transform: uppercase;
}


.hero-kicker::before {
    content: "";

    position: absolute;

    left: 0;

    top: 50%;

    width: 36px;

    height: 1px;

    background: var(--sand);
}


.hero h1 {
    margin: 0;

    max-width: 850px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            64px,
            7.2vw,
            108px
        );

    font-weight: 400;

    line-height: .91;

    letter-spacing: -.045em;
}


.hero h1 em {
    color: var(--sand-light);

    font-weight: 400;
}


/* ===================================================== */
/* HERO SUBTITLE */
/* ===================================================== */

.hero-subtitle {
    max-width: 590px;

    margin:
        32px
        0
        0;

    color:
        rgba(
            255,
            255,
            255,
            .80
        );

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 21px;

    line-height: 1.55;

    letter-spacing: .015em;
}


/* ===================================================== */
/* HERO META */
/* ===================================================== */

.hero-meta {
    display: grid;

    grid-template-columns:
        repeat(3, auto);

    justify-content: start;

    margin-top: 44px;

    border-top:
        1px solid
        var(--line-light);

    border-bottom:
        1px solid
        var(--line-light);
}


.hero-meta-item {
    min-width: 150px;

    padding:
        17px
        30px
        17px
        0;

    margin-right: 30px;

    border-right:
        1px solid
        var(--line-light);
}


.hero-meta-item:last-child {
    margin-right: 0;

    border-right: 0;
}


.hero-meta-item span {
    display: block;

    margin-bottom: 7px;

    color:
        rgba(
            255,
            255,
            255,
            .48
        );

    font-size: 9px;

    font-weight: 700;

    letter-spacing: .18em;

    text-transform: uppercase;
}


.hero-meta-item strong {
    color: var(--white);

    font-size: 13px;

    font-weight: 600;

    letter-spacing: .04em;
}


/* ===================================================== */
/* HERO CTA */
/* ===================================================== */

.hero-cta {
    display: inline-flex;

    align-items: center;

    justify-content: space-between;

    gap: 55px;

    min-width: 225px;

    margin-top: 42px;

    padding:
        18px
        22px;

    border:
        1px solid
        rgba(
            214,
            196,
            170,
            .85
        );

    color: var(--white);

    text-decoration: none;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .08em;

    transition:
        color .25s ease,
        background .25s ease,
        transform .25s ease;
}


.hero-cta:hover {
    background: var(--sand-light);

    color: var(--ink);

    transform:
        translateY(-2px);
}


.hero-cta-arrow {
    font-size: 18px;

    font-weight: 400;
}


/* ===================================================== */
/* HERO SIDE TEXT */
/* ===================================================== */

.hero-side-text {
    position: absolute;

    right: -78px;

    bottom: 165px;

    transform:
        rotate(-90deg);

    transform-origin: center;

    color:
        rgba(
            255,
            255,
            255,
            .42
        );

    font-size: 9px;

    letter-spacing: .28em;
}


/* ===================================================== */
/* GENERIC SECTION */
/* ===================================================== */

.section-top {
    display: flex;

    align-items: center;

    justify-content: space-between;

    padding-bottom: 18px;

    border-bottom:
        1px solid
        var(--line);
}


.section-top.light {
    border-bottom-color:
        rgba(
            255,
            255,
            255,
            .15
        );
}


.section-label {
    color: #74746d;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: .22em;

    text-transform: uppercase;
}


.section-top.light .section-label {
    color:
        rgba(
            255,
            255,
            255,
            .55
        );
}


.section-number {
    color: var(--sand);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 12px;
}


/* ===================================================== */
/* INTRO */
/* ===================================================== */

.intro-section {
    padding:
        105px
        0
        125px;

    background: var(--paper);
}


.intro-grid {
    display: grid;

    grid-template-columns:
        1.1fr
        .9fr;

    gap: 120px;

    margin-top: 55px;

    align-items: start;
}


.intro-heading h2 {
    margin: 0;

    max-width: 690px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            43px,
            4.9vw,
            72px
        );

    font-weight: 400;

    line-height: 1.03;

    letter-spacing: -.035em;
}


.intro-copy {
    padding-top: 10px;
}


.intro-copy p {
    margin:
        0
        0
        23px;

    color: var(--muted);

    font-size: 16px;

    line-height: 1.8;
}


.intro-copy .intro-lead {
    color: var(--text);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 21px;

    line-height: 1.6;
}


/* ===================================================== */
/* HIGHLIGHTS */
/* ===================================================== */

.highlights-section {
    padding:
        105px
        0
        120px;

    background:
        var(--olive);

    color: var(--white);
}


.highlights-heading {
    display: grid;

    grid-template-columns:
        1fr
        .65fr;

    gap: 100px;

    align-items: end;

    margin:
        50px
        0
        65px;
}


.highlights-heading h2 {
    margin: 0;

    max-width: 700px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            45px,
            5vw,
            70px
        );

    font-weight: 400;

    line-height: 1.02;

    letter-spacing: -.035em;
}


.highlights-heading p {
    margin: 0;

    color:
        rgba(
            255,
            255,
            255,
            .59
        );

    font-size: 15px;

    line-height: 1.75;
}


/* ===================================================== */
/* HIGHLIGHT GRID */
/* ===================================================== */

.highlights-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            1fr
        );

    border-top:
        1px solid
        rgba(
            255,
            255,
            255,
            .16
        );

    border-left:
        1px solid
        rgba(
            255,
            255,
            255,
            .16
        );
}


.highlight-card {
    min-height: 280px;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    padding: 32px;

    border-right:
        1px solid
        rgba(
            255,
            255,
            255,
            .16
        );

    border-bottom:
        1px solid
        rgba(
            255,
            255,
            255,
            .16
        );

    transition:
        background .25s ease;
}


.highlight-card:hover {
    background:
        rgba(
            255,
            255,
            255,
            .04
        );
}


.highlight-number {
    color: var(--sand);

    font-size: 10px;

    letter-spacing: .16em;
}


.highlight-card h3 {
    margin:
        0
        0
        14px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 29px;

    font-weight: 400;

    line-height: 1.15;
}


.highlight-card p {
    max-width: 430px;

    margin: 0;

    color:
        rgba(
            255,
            255,
            255,
            .58
        );

    font-size: 14px;

    line-height: 1.7;
}


/* ===================================================== */
/* STATEMENT */
/* ===================================================== */

.statement-section {
    padding:
        115px
        0;

    background: var(--cream);
}


.statement-inner {
    position: relative;

    text-align: center;
}


.statement-mark {
    display: block;

    height: 55px;

    color: var(--sand);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 82px;

    line-height: 1;
}


.statement-inner p {
    max-width: 920px;

    margin:
        0
        auto;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            32px,
            4vw,
            54px
        );

    font-weight: 400;

    line-height: 1.15;

    letter-spacing: -.025em;
}


.statement-caption {
    display: inline-block;

    margin-top: 35px;

    color: #777168;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: .32em;
}


/* ===================================================== */
/* REGISTRATION */
/* ===================================================== */

.registration-section {
    padding:
        110px
        0
        125px;

    background: var(--paper);
}


.registration-grid {
    display: grid;

    grid-template-columns:
        .8fr
        1.2fr;

    gap: 100px;

    align-items: start;

    margin-top: 60px;
}


/* ===================================================== */
/* REGISTRATION INFO */
/* ===================================================== */

.registration-info {
    position: sticky;

    top: 35px;
}


.registration-info h2 {
    margin:
        0
        0
        30px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            48px,
            5vw,
            72px
        );

    font-weight: 400;

    line-height: .98;

    letter-spacing: -.04em;
}


.registration-info h2 em {
    display: block;

    color: var(--sand);

    font-weight: 400;
}


.registration-info > p {
    max-width: 480px;

    margin: 0;

    color: var(--muted);

    font-size: 16px;

    line-height: 1.75;
}


/* ===================================================== */
/* EVENT INFO */
/* ===================================================== */

.event-info-list {
    margin-top: 45px;

    border-top:
        1px solid
        var(--line);
}


.event-info-list div {
    display: grid;

    grid-template-columns:
        100px
        1fr;

    gap: 20px;

    padding:
        17px
        0;

    border-bottom:
        1px solid
        var(--line);
}


.event-info-list span {
    color: #898980;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: .15em;

    text-transform: uppercase;
}


.event-info-list strong {
    font-size: 13px;

    font-weight: 600;

    line-height: 1.45;
}


/* ===================================================== */
/* FORM CARD */
/* ===================================================== */

.form-card {
    padding:
        52px
        54px;

    background: var(--cream);

    border-top:
        3px solid
        var(--olive);
}


/* ===================================================== */
/* FORM */
/* ===================================================== */

.form-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            1fr
        );

    gap:
        31px
        28px;
}


.field {
    display: block;
}


.field.full {
    grid-column:
        1 / -1;
}


.field > span {
    display: block;

    margin-bottom: 9px;

    color: #55564f;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: .09em;
}


/* ===================================================== */
/* INPUT */
/* ===================================================== */

.field input,
.field textarea {
    width: 100%;

    padding:
        12px
        0
        13px;

    border: 0;

    border-bottom:
        1px solid
        #aaa69d;

    background: transparent;

    color: var(--text);

    font: inherit;

    font-size: 15px;

    outline: none;

    transition:
        border-color .2s ease;
}


.field input::placeholder,
.field textarea::placeholder {
    color: #99968f;
}


.field input:focus,
.field textarea:focus {
    border-bottom-color:
        var(--ink);
}


.field textarea {
    min-height: 105px;

    resize: vertical;
}


/* ===================================================== */
/* FORM SECTION */
/* ===================================================== */

.form-section {
    margin-top: 39px;

    padding-top: 31px;

    border-top:
        1px solid
        rgba(
            32,
            33,
            29,
            .13
        );
}


/* ===================================================== */
/* CONSENT */
/* ===================================================== */

.consent {
    display: flex;

    align-items: flex-start;

    gap: 13px;

    margin-top: 34px;

    cursor: pointer;
}


.consent input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}


.check-ui {
    position: relative;

    width: 18px;

    height: 18px;

    flex:
        0
        0
        auto;

    margin-top: 1px;

    border:
        1px solid
        #88887e;
}


.consent input:checked + .check-ui {
    background: var(--olive);

    border-color: var(--olive);
}


.consent input:checked + .check-ui::after {
    content: "✓";

    position: absolute;

    left: 3px;

    top: 0;

    color: var(--white);

    font-size: 11px;

    line-height: 16px;
}


.consent-text {
    color: #67675f;

    font-size: 12px;

    line-height: 1.65;
}


/* ===================================================== */
/* SUBMIT */
/* ===================================================== */

.submit-button {
    width: 100%;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 25px;

    margin-top: 31px;

    padding:
        19px
        22px;

    border: 0;

    background: var(--olive);

    color: var(--white);

    cursor: pointer;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .05em;

    transition:
        background .2s ease,
        transform .2s ease;
}


.submit-button:hover {
    background: var(--olive-light);

    transform:
        translateY(-2px);
}


.button-arrow {
    color: var(--sand-light);

    font-size: 19px;

    font-weight: 400;
}


/* ===================================================== */
/* IMPORTANT NOTE */
/* ===================================================== */

.important-note {
    margin-top: 27px;

    padding-top: 23px;

    border-top:
        1px solid
        rgba(
            32,
            33,
            29,
            .13
        );
}


.important-note strong {
    color: var(--ink);

    font-size: 10px;

    letter-spacing: .12em;

    text-transform: uppercase;
}


.important-note p {
    margin:
        8px
        0
        0;

    color: #76766e;

    font-size: 12px;

    line-height: 1.65;
}


/* ===================================================== */
/* ERRORS */
/* ===================================================== */

.errors {
    margin-bottom: 30px;

    padding:
        17px
        20px;

    border-left:
        3px solid
        #913f39;

    background: #f8e8e5;

    color: #782f2b;

    font-size: 13px;

    line-height: 1.65;
}


/* ===================================================== */
/* FOOTER */
/* ===================================================== */

.site-footer {
    padding:
        47px
        0;

    background: var(--ink);

    color: var(--white);
}


.footer-inner {
    display: grid;

    grid-template-columns:
        1fr
        1fr
        1fr;

    gap: 30px;

    align-items: center;
}


.footer-brand {
    display: inline-flex;

    width: fit-content;

    flex-direction: column;
}


.footer-brand-main {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 18px;

    letter-spacing: .14em;
}


.footer-brand-sub {
    margin-top: 6px;

    padding-top: 6px;

    border-top:
        1px solid
        rgba(
            255,
            255,
            255,
            .40
        );

    font-size: 7px;

    font-weight: 700;

    letter-spacing: .48em;

    text-align: center;
}


.footer-copy {
    text-align: center;
}


.footer-copy > span {
    display: block;

    color: var(--sand-light);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 15px;
}


.footer-copy small {
    display: block;

    margin-top: 8px;

    color:
        rgba(
            255,
            255,
            255,
            .42
        );

    font-size: 10px;
}


.footer-year {
    color:
        rgba(
            255,
            255,
            255,
            .43
        );

    text-align: right;

    font-size: 10px;
}


/* ===================================================== */
/* RESULT PAGES */
/* ===================================================== */

.result-page {
    position: relative;

    min-height: 100vh;

    display: grid;

    place-items: center;

    padding: 32px;

    background: var(--olive);

    overflow: hidden;
}


.result-bg {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            rgba(18, 21, 18, .76),
            rgba(18, 21, 18, .91)
        ),
        url("../images/baghramyan-hero.jpg")
        center center / cover
        no-repeat;
}


.result-card {
    position: relative;

    z-index: 2;

    width:
        min(
            720px,
            100%
        );

    padding:
        56px
        55px;

    background:
        rgba(
            247,
            244,
            237,
            .97
        );

    text-align: center;

    border-top:
        3px solid
        var(--sand);
}


.result-logo {
    display: flex;

    justify-content: center;

    align-items: center;

    margin-bottom: 20px;
}


.result-logo img {
    width: 190px;

    height: auto;
}


.result-icon {
    width: 58px;

    height: 58px;

    display: grid;

    place-items: center;

    margin:
        28px
        auto
        22px;

    border:
        1px solid
        var(--olive);

    color: var(--olive);

    border-radius: 50%;

    font-size: 21px;
}


.result-kicker {
    color: #878176;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: .22em;

    text-transform: uppercase;
}


.result-card h1 {
    max-width: 600px;

    margin:
        17px
        auto
        24px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            42px,
            6vw,
            67px
        );

    font-weight: 400;

    line-height: 1;

    letter-spacing: -.035em;
}


.result-text {
    max-width: 560px;

    margin:
        0
        auto
        14px;

    color: var(--text);

    font-size: 15px;

    line-height: 1.7;
}


.muted-result {
    color: var(--muted);
}


.result-meta {
    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    margin:
        30px
        0;

    border-top:
        1px solid
        var(--line);

    border-bottom:
        1px solid
        var(--line);
}


.result-meta span {
    padding:
        12px
        17px;

    color: #64645c;

    font-size: 10px;

    letter-spacing: .08em;
}


.back-link {
    display: inline-block;

    margin-top: 16px;

    color: var(--ink);

    font-size: 12px;

    font-weight: 700;

    text-decoration: none;

    border-bottom:
        1px solid
        var(--sand);

    padding-bottom: 4px;
}


/* ===================================================== */
/* ADMIN LOGIN */
/* ===================================================== */

.admin-login-page {
    min-height: 100vh;

    display: grid;

    place-items: center;

    padding: 25px;

    background:
        linear-gradient(
            145deg,
            var(--ink),
            var(--olive)
        );
}


.admin-login-card {
    width:
        min(
            430px,
            100%
        );

    padding: 44px;

    background: var(--paper);
}


.admin-brand {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 22px;

    letter-spacing: .13em;
}


.admin-login-card > p {
    color: #818078;

    font-size: 10px;

    letter-spacing: .14em;
}


.admin-login-card h1 {
    margin:
        31px
        0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 45px;

    font-weight: 400;
}


/* ===================================================== */
/* ADMIN */
/* ===================================================== */

.admin-page {
    min-height: 100vh;

    padding: 34px;

    background: #efede8;
}


.admin-header {
    display: flex;

    justify-content: space-between;

    align-items: end;

    gap: 25px;

    margin-bottom: 24px;
}


.admin-header h1 {
    margin:
        11px
        0
        4px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 42px;

    font-weight: 400;
}


.admin-header p {
    margin: 0;

    color: #74746d;
}


.admin-actions {
    display: flex;

    gap: 10px;
}


.admin-primary,
.admin-secondary {
    padding:
        13px
        17px;

    text-decoration: none;

    font-size: 12px;

    font-weight: 700;
}


.admin-primary {
    background: var(--olive);

    color: var(--white);
}


.admin-secondary {
    background: var(--white);

    color: var(--text);

    border:
        1px solid
        #d2cfc8;
}


/* ===================================================== */
/* ADMIN STATS */
/* ===================================================== */

.admin-stats {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            1fr
        );

    gap: 14px;

    margin-bottom: 18px;
}


.admin-stats article {
    padding: 24px;

    background: var(--white);

    border:
        1px solid
        #dbd8d1;
}


.admin-stats span {
    color: #7d7c74;

    font-size: 11px;
}


.admin-stats strong {
    display: block;

    margin-top: 10px;

    font-size: 34px;
}


/* ===================================================== */
/* ADMIN TABLE */
/* ===================================================== */

.admin-table-card {
    background: var(--white);

    border:
        1px solid
        #dbd8d1;
}


.table-scroll {
    overflow-x: auto;
}


table {
    width: 100%;

    min-width: 1100px;

    border-collapse: collapse;
}


th,
td {
    padding:
        13px
        14px;

    border-bottom:
        1px solid
        #e7e4dd;

    text-align: left;

    vertical-align: top;

    font-size: 12px;
}


th {
    background: var(--olive);

    color: var(--white);

    white-space: nowrap;
}


tbody tr:hover {
    background: #f7f5f0;
}


.empty-table {
    padding: 35px;

    color: #7e7d75;

    text-align: center;
}


/* ===================================================== */
/* TABLET */
/* ===================================================== */

@media (max-width: 1024px) {

    .hero,
    .hero-inner {
        min-height: 760px;
    }


    .hero {
        background-position:
            60%
            center;
    }


    .hero-copy {
        width:
            min(
                660px,
                100%
            );
    }


    .hero-side-text {
        display: none;
    }


    .intro-grid,
    .registration-grid {
        grid-template-columns: 1fr;

        gap: 55px;
    }


    .intro-grid {
        gap: 55px;
    }


    .registration-info {
        position: static;
    }


    .highlights-heading {
        grid-template-columns: 1fr;

        gap: 25px;
    }

}


/* ===================================================== */
/* MOBILE */
/* ===================================================== */

@media (max-width: 720px) {

    .container {
        width:
            min(
                calc(100% - 30px),
                1240px
            );
    }


    /* HERO */

    .hero,
    .hero-inner {
        min-height: 730px;
    }


    .hero {
        background-position:
            65%
            center;
    }


    .hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(17, 20, 17, .96) 0%,
                rgba(17, 20, 17, .87) 68%,
                rgba(17, 20, 17, .60) 100%
            );
    }


    .hero-brand {
        top: 24px;
    }


    .hero-brand-main {
        font-size: 16px;
    }


    .hero-brand-sub {
        font-size: 6px;

        letter-spacing: .40em;
    }


    .language-switcher {
        top: 29px;

        font-size: 9px;

        gap: 6px;
    }


    .hero-copy {
        padding:
            130px
            0
            60px;
    }


    .hero-kicker {
        margin-bottom: 23px;

        padding-left: 42px;

        font-size: 9px;
    }


    .hero-kicker::before {
        width: 27px;
    }


    .hero h1 {
        font-size:
            clamp(
                49px,
                15vw,
                72px
            );

        line-height: .94;
    }


    .hero-subtitle {
        max-width: 400px;

        margin-top: 25px;

        font-size: 17px;
    }


    .hero-meta {
        grid-template-columns: 1fr;

        width: 100%;

        max-width: 390px;

        margin-top: 30px;
    }


    .hero-meta-item {
        min-width: 0;

        width: 100%;

        margin: 0;

        padding:
            11px
            0;

        border-right: 0;

        border-bottom:
            1px solid
            rgba(
                255,
                255,
                255,
                .13
            );
    }


    .hero-meta-item:last-child {
        border-bottom: 0;
    }


    .hero-meta-item span {
        display: inline-block;

        width: 78px;

        margin:
            0
            10px
            0
            0;
    }


    .hero-meta-item strong {
        font-size: 12px;
    }


    .hero-cta {
        min-width: 195px;

        margin-top: 28px;
    }


    /* SECTIONS */

    .intro-section,
    .highlights-section,
    .statement-section,
    .registration-section {
        padding:
            75px
            0;
    }


    .intro-grid {
        margin-top: 37px;
    }


    .intro-heading h2 {
        font-size:
            clamp(
                38px,
                11vw,
                52px
            );
    }


    .intro-copy .intro-lead {
        font-size: 18px;
    }


    .intro-copy p {
        font-size: 15px;
    }


    /* HIGHLIGHTS */

    .highlights-heading {
        margin:
            38px
            0
            42px;
    }


    .highlights-heading h2 {
        font-size:
            clamp(
                39px,
                11vw,
                52px
            );
    }


    .highlights-grid {
        grid-template-columns: 1fr;
    }


    .highlight-card {
        min-height: 235px;

        padding: 25px;
    }


    .highlight-card h3 {
        font-size: 25px;
    }


    /* STATEMENT */

    .statement-inner p {
        font-size:
            clamp(
                29px,
                9vw,
                42px
            );
    }


    /* REGISTRATION */

    .registration-grid {
        margin-top: 40px;
    }


    .registration-info h2 {
        font-size:
            clamp(
                42px,
                13vw,
                56px
            );
    }


    .form-card {
        padding:
            32px
            22px;
    }


    .form-grid {
        grid-template-columns: 1fr;
    }


    .field.full {
        grid-column: auto;
    }


    .event-info-list div {
        grid-template-columns:
            80px
            1fr;
    }


    /* FOOTER */

    .footer-inner {
        grid-template-columns: 1fr;

        gap: 24px;

        text-align: center;
    }


    .footer-brand {
        margin: 0 auto;
    }


    .footer-year {
        text-align: center;
    }


    /* RESULT */

    .result-page {
        padding: 15px;
    }


    .result-card {
        padding:
            38px
            22px;
    }


    .result-logo img {
        width: 155px;
    }


    /* ADMIN */

    .admin-page {
        padding:
            20px
            14px;
    }


    .admin-header {
        flex-direction: column;

        align-items: flex-start;
    }


    .admin-stats {
        grid-template-columns: 1fr;
    }


    .admin-actions {
        width: 100%;
    }


    .admin-actions a {
        flex: 1;

        text-align: center;
    }

}


/* ===================================================== */
/* SMALL MOBILE */
/* ===================================================== */

@media (max-width: 460px) {

    .hero-brand-main {
        font-size: 14px;

        letter-spacing: .12em;
    }


    .hero-brand-sub {
        letter-spacing: .30em;
    }


    .language-switcher {
        font-size: 8px;
    }


    .hero h1 {
        font-size: 47px;
    }


    .hero-subtitle {
        font-size: 15px;
    }


    .hero-meta-item span {
        width: 70px;

        font-size: 8px;
    }


    .form-card {
        padding:
            29px
            18px;
    }

}