/*
 * Página da Gala de Aniversário (34 anos)
 * Ideia: a pista de atletismo vista de cima. As linhas duplas douradas
 * (as marcas das pistas e as molduras do material da gala) são o único
 * elemento estrutural da página.
 */
.gala-page {
    --night: #090a0d;
    --night-2: #12141a;
    --gold: #d9b25f;
    --gold-deep: #a9812f;
    --gold-pale: #f1dca6;
    --silver: #e8e9ee;
    --club-red: #c8102e;
    --club-red-dark: #970c22;
    --ink-soft: rgba(255, 255, 255, .78);
    --lane: rgba(217, 178, 95, .7);
    --serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    --sans: "Jost", "Helvetica Neue", Arial, sans-serif;
}

.gala-page .gala {
    position: relative;
    overflow: hidden;
    background-color: var(--night);
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22600%22 height=%22600%22%3E%3Ccircle cx=%22547%22 cy=%22371%22 r=%221.5%22 fill=%22%23ffffff%22 fill-opacity=%220.25%22/%3E%3Ccircle cx=%2236%22 cy=%22404%22 r=%221%22 fill=%22%23f1dca6%22 fill-opacity=%220.25%22/%3E%3Ccircle cx=%22319%22 cy=%22355%22 r=%220.6%22 fill=%22%23ffffff%22 fill-opacity=%220.4%22/%3E%3Ccircle cx=%22286%22 cy=%22361%22 r=%221.5%22 fill=%22%23ffffff%22 fill-opacity=%220.25%22/%3E%3Ccircle cx=%22542%22 cy=%2294%22 r=%220.6%22 fill=%22%23bcd0ff%22 fill-opacity=%220.55%22/%3E%3Ccircle cx=%22571%22 cy=%2267%22 r=%221.2%22 fill=%22%23bcd0ff%22 fill-opacity=%220.4%22/%3E%3Ccircle cx=%22304%22 cy=%22396%22 r=%221%22 fill=%22%23ffffff%22 fill-opacity=%220.4%22/%3E%3Ccircle cx=%22469%22 cy=%22554%22 r=%220.8%22 fill=%22%23f1dca6%22 fill-opacity=%220.4%22/%3E%3Ccircle cx=%22562%22 cy=%22440%22 r=%220.8%22 fill=%22%23ffffff%22 fill-opacity=%220.4%22/%3E%3Ccircle cx=%2282%22 cy=%22461%22 r=%221%22 fill=%22%23ffffff%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22295%22 cy=%22208%22 r=%220.8%22 fill=%22%23bcd0ff%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22467%22 cy=%2298%22 r=%221.5%22 fill=%22%23f1dca6%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22478%22 cy=%22377%22 r=%220.8%22 fill=%22%23bcd0ff%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22149%22 cy=%22245%22 r=%220.8%22 fill=%22%23bcd0ff%22 fill-opacity=%220.55%22/%3E%3Ccircle cx=%2276%22 cy=%22312%22 r=%221.5%22 fill=%22%23bcd0ff%22 fill-opacity=%220.25%22/%3E%3Ccircle cx=%22422%22 cy=%22238%22 r=%221.2%22 fill=%22%23bcd0ff%22 fill-opacity=%220.55%22/%3E%3Ccircle cx=%22472%22 cy=%2272%22 r=%220.6%22 fill=%22%23bcd0ff%22 fill-opacity=%220.25%22/%3E%3Ccircle cx=%22425%22 cy=%22334%22 r=%220.8%22 fill=%22%23f1dca6%22 fill-opacity=%220.4%22/%3E%3Ccircle cx=%22356%22 cy=%22499%22 r=%221%22 fill=%22%23ffffff%22 fill-opacity=%220.55%22/%3E%3Ccircle cx=%22272%22 cy=%22530%22 r=%221.5%22 fill=%22%23ffffff%22 fill-opacity=%220.25%22/%3E%3Ccircle cx=%22282%22 cy=%22126%22 r=%221.5%22 fill=%22%23ffffff%22 fill-opacity=%220.55%22/%3E%3Ccircle cx=%22566%22 cy=%22475%22 r=%220.8%22 fill=%22%23ffffff%22 fill-opacity=%220.55%22/%3E%3Ccircle cx=%22485%22 cy=%22190%22 r=%221%22 fill=%22%23ffffff%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22119%22 cy=%22481%22 r=%221%22 fill=%22%23ffffff%22 fill-opacity=%220.4%22/%3E%3Ccircle cx=%22278%22 cy=%22468%22 r=%221.5%22 fill=%22%23ffffff%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22422%22 cy=%22479%22 r=%221.5%22 fill=%22%23f1dca6%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22179%22 cy=%22154%22 r=%220.6%22 fill=%22%23f1dca6%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22538%22 cy=%22319%22 r=%220.8%22 fill=%22%23f1dca6%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22229%22 cy=%22426%22 r=%221.5%22 fill=%22%23f1dca6%22 fill-opacity=%220.55%22/%3E%3Ccircle cx=%22278%22 cy=%22573%22 r=%221.5%22 fill=%22%23ffffff%22 fill-opacity=%220.25%22/%3E%3Ccircle cx=%22160%22 cy=%22525%22 r=%221%22 fill=%22%23bcd0ff%22 fill-opacity=%220.25%22/%3E%3Ccircle cx=%2211%22 cy=%22128%22 r=%221.2%22 fill=%22%23f1dca6%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22557%22 cy=%22315%22 r=%220.8%22 fill=%22%23ffffff%22 fill-opacity=%220.55%22/%3E%3Ccircle cx=%22356%22 cy=%22355%22 r=%221%22 fill=%22%23ffffff%22 fill-opacity=%220.55%22/%3E%3Ccircle cx=%22335%22 cy=%22318%22 r=%220.8%22 fill=%22%23f1dca6%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%2243%22 cy=%2214%22 r=%220.6%22 fill=%22%23f1dca6%22 fill-opacity=%220.25%22/%3E%3Ccircle cx=%22104%22 cy=%22588%22 r=%221%22 fill=%22%23ffffff%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22177%22 cy=%22462%22 r=%221.2%22 fill=%22%23f1dca6%22 fill-opacity=%220.25%22/%3E%3Ccircle cx=%22315%22 cy=%22196%22 r=%220.6%22 fill=%22%23f1dca6%22 fill-opacity=%220.4%22/%3E%3Ccircle cx=%22361%22 cy=%22227%22 r=%221%22 fill=%22%23f1dca6%22 fill-opacity=%220.25%22/%3E%3Ccircle cx=%22390%22 cy=%22197%22 r=%220.8%22 fill=%22%23ffffff%22 fill-opacity=%220.4%22/%3E%3Ccircle cx=%22577%22 cy=%22232%22 r=%220.6%22 fill=%22%23bcd0ff%22 fill-opacity=%220.25%22/%3E%3Ccircle cx=%22370%22 cy=%22245%22 r=%221%22 fill=%22%23bcd0ff%22 fill-opacity=%220.55%22/%3E%3Ccircle cx=%22456%22 cy=%22177%22 r=%221.5%22 fill=%22%23f1dca6%22 fill-opacity=%220.55%22/%3E%3Ccircle cx=%22278%22 cy=%22522%22 r=%221.5%22 fill=%22%23bcd0ff%22 fill-opacity=%220.55%22/%3E%3Ccircle cx=%22485%22 cy=%22246%22 r=%220.6%22 fill=%22%23ffffff%22 fill-opacity=%220.25%22/%3E%3C/svg%3E");
    background-size: 600px 600px;
    color: var(--ink-soft);
    font-family: var(--sans);
    font-size: 17px;
    line-height: 1.7;
}

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

.gala-page .gala :where(h1, h2, h3, p, ol, dl, dd) {
    margin: 0;
    padding: 0;
}

.gala-page .gala h2,
.gala-page .gala h3 {
    color: #fff;
    font-family: var(--serif);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.05;
}

.gala-page .gala a {
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.gala-page .gala :focus-visible {
    outline: 2px solid var(--gold-pale);
    outline-offset: 3px;
}

/* Linhas de pista: duas linhas finas, como nas molduras do cartaz */
.gala-page .gala .gala-lanes {
    display: block;
    width: 100%;
    height: 5px;
    border-top: 1px solid var(--lane);
    border-bottom: 1px solid var(--lane);
}

/* ---------------------------------------------------------------
   Topo
   --------------------------------------------------------------- */
.gala-page .gala-hero {
    position: relative;
    display: flex;
    min-height: min(88vh, 820px);
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 70px 20px 110px;
    background:
        radial-gradient(ellipse 60% 50% at 50% 42%, rgba(217, 178, 95, .16), transparent 70%),
        linear-gradient(to bottom, #050507, var(--night));
}

.gala-page .gala-hero::before {
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cg fill='%23f1dca6'%3E%3Ccircle cx='20' cy='40' r='1' opacity='.7'/%3E%3Ccircle cx='120' cy='20' r='.8' opacity='.5'/%3E%3Ccircle cx='210' cy='70' r='1.2' opacity='.6'/%3E%3Ccircle cx='70' cy='130' r='.8' opacity='.4'/%3E%3Ccircle cx='180' cy='160' r='1' opacity='.6'/%3E%3Ccircle cx='30' cy='220' r='1.2' opacity='.5'/%3E%3Ccircle cx='140' cy='235' r='.8' opacity='.5'/%3E%3Ccircle cx='235' cy='210' r='1' opacity='.4'/%3E%3C/g%3E%3C/svg%3E");
    content: "";
    animation: gala-twinkle 6s ease-in-out infinite alternate;
}

.gala-page .gala-hero::after {
    position: absolute;
    inset: 0;
    z-index: 3;
    background: linear-gradient(to bottom, transparent 88%, var(--night) 100%);
    content: "";
    pointer-events: none;
}

.gala-page .gala-hero__spot {
    position: absolute;
    top: -12%;
    z-index: 1;
    width: 34vw;
    height: 130%;
    background: linear-gradient(to bottom, rgba(241, 220, 166, .22), rgba(241, 220, 166, 0) 80%);
    clip-path: polygon(42% 0, 58% 0, 100% 100%, 0 100%);
    filter: blur(6px);
    mix-blend-mode: screen;
    pointer-events: none;
    transform-origin: 50% 0;
}

.gala-page .gala-hero__spot--l {
    left: 4%;
    transform: rotate(-16deg);
    animation: gala-sweep-l 9s ease-in-out infinite alternate;
}

.gala-page .gala-hero__spot--r {
    right: 4%;
    transform: rotate(16deg);
    animation: gala-sweep-r 11s ease-in-out infinite alternate;
}

.gala-page .gala-hero__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 760px;
    text-align: center;
    animation: gala-rise 1.8s cubic-bezier(.2, .6, .2, 1) both;
}

.gala-page .gala-hero__eyebrow {
    margin: 0 0 18px;
    color: var(--gold-pale);
    font: 500 13px/1 var(--sans);
    letter-spacing: .5em;
    text-indent: .5em;
    text-transform: uppercase;
}

.gala-page .gala-hero__logo,
.gala-page .gala-hero__logo img {
    display: block;
    margin: 0 auto;
}

.gala-page .gala-hero__logo img {
    width: min(100%, 520px);
    height: auto;
    filter: drop-shadow(0 0 28px rgba(217, 178, 95, .35));
}

.gala-page .gala-hero__word {
    margin: 6px 0 0;
    background: linear-gradient(to bottom, #fff 10%, var(--silver) 45%, #8d90a0 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font: 400 clamp(88px, 17vw, 190px)/.9 "Ovo", var(--serif);
    letter-spacing: .28em;
    text-indent: .28em;
    text-transform: uppercase;
}

.gala-page .gala-hero__rule {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 20px auto 24px;
    max-width: 420px;
}

.gala-page .gala-hero__rule span {
    flex: 1;
    height: 7px;
    border-top: 1px solid var(--gold);
    border-bottom: 1px solid var(--gold);
}

.gala-page .gala-hero__rule i {
    width: 10px;
    height: 10px;
    background: var(--gold);
    transform: rotate(45deg);
}

.gala-page .gala-hero__date {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    margin: 0;
    color: var(--silver);
    text-align: left;
}

.gala-page .gala-hero__day {
    font: 600 clamp(58px, 10vw, 96px)/1 var(--serif);
    color: var(--gold-pale);
}

.gala-page .gala-hero__dm {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-left: 18px;
    border-left: 2px solid var(--gold);
}

.gala-page .gala-hero__dm b {
    font: 600 clamp(20px, 3.4vw, 32px)/1 var(--sans);
    letter-spacing: .3em;
    text-transform: uppercase;
}

.gala-page .gala-hero__dm em {
    color: var(--gold);
    font: 500 15px/1 var(--sans);
    letter-spacing: .25em;
    font-style: normal;
    text-transform: uppercase;
}

.gala-page .gala-hero__beam {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(100deg, transparent 36%, rgba(241, 220, 166, .12) 50%, transparent 64%);
    background-size: 220% 100%;
    mix-blend-mode: screen;
    pointer-events: none;
    animation: gala-beam 12s ease-in-out 1.2s infinite alternate;
}

.gala-page .gala-hero__confetti {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

@keyframes gala-twinkle {
    from { opacity: .45; }
    to { opacity: 1; }
}

@keyframes gala-sweep-l {
    from { transform: rotate(-24deg); }
    to { transform: rotate(-8deg); }
}

@keyframes gala-sweep-r {
    from { transform: rotate(24deg); }
    to { transform: rotate(8deg); }
}

@keyframes gala-rise {
    from {
        opacity: 0;
        transform: scale(1.05);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes gala-beam {
    from {
        background-position: 100% 0;
    }
    to {
        background-position: 0 0;
    }
}

/* ---------------------------------------------------------------
   Cronómetro
   --------------------------------------------------------------- */
.gala-page .gala-clock {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px 40px;
    max-width: 1080px;
    margin: -76px auto 0;
    padding: 24px 40px;
    border-top: 3px double var(--lane);
    border-bottom: 3px double var(--lane);
    background: rgba(9, 10, 13, .88);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    animation: gala-clock-in 1s cubic-bezier(.2, .6, .2, 1) 1.1s both;
}

@keyframes gala-clock-in {
    from {
        opacity: 0;
        transform: translateY(26px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.gala-page .gala-clock__lead {
    color: var(--gold);
    font-family: var(--serif);
    font-size: 30px;
    font-style: italic;
    line-height: 1;
}

.gala-page .gala-clock__digits {
    display: flex;
    justify-content: center;
    gap: 0;
}

.gala-page .gala-clock__unit {
    min-width: 92px;
    padding: 0 18px;
    text-align: center;
}

.gala-page .gala-clock__unit + .gala-clock__unit {
    border-left: 1px solid rgba(217, 178, 95, .35);
}

.gala-page .gala-clock__value {
    display: block;
    color: #fff;
    font-family: var(--serif);
    font-size: clamp(44px, 5vw, 66px);
    font-variant-numeric: lining-nums tabular-nums;
    font-weight: 600;
    line-height: 1;
}

.gala-page .gala-clock__label {
    display: block;
    margin-top: 6px;
    color: var(--gold);
    font-size: 13px;
    letter-spacing: .04em;
}

.gala-page .gala-clock__msg {
    grid-column: 2;
    color: #fff;
    font-family: var(--serif);
    font-size: clamp(26px, 3vw, 38px);
    font-style: italic;
    line-height: 1.15;
    text-align: center;
}

.gala-page .gala-clock.is-over .gala-clock__digits,
.gala-page .gala-clock.is-over .gala-clock__lead {
    display: none;
}

/* ---------------------------------------------------------------
   Botões
   --------------------------------------------------------------- */
.gala-page .gala-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 13px 28px;
    border: 1px solid var(--club-red);
    border-radius: 3px;
    background: var(--club-red);
    color: #fff;
    font-family: var(--sans);
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
}

.gala-page .gala-button:hover,
.gala-page .gala-button:focus {
    border-color: var(--gold);
    background: var(--club-red-dark);
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
}

.gala-page .gala-button--ghost {
    border-color: rgba(217, 178, 95, .6);
    background: transparent;
    color: var(--gold-pale);
}

.gala-page .gala-button--ghost:hover,
.gala-page .gala-button--ghost:focus {
    border-color: var(--gold);
    background: rgba(217, 178, 95, .1);
    color: #fff;
}

/* ---------------------------------------------------------------
   História
   --------------------------------------------------------------- */
.gala-page .gala-story {
    max-width: 1180px;
    margin: 0 auto;
    padding: 120px 28px 0;
}

.gala-page .gala-story__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    align-items: end;
    gap: 28px 80px;
}

.gala-page .gala-story__intro h2 {
    font-size: clamp(46px, 6vw, 84px);
}

.gala-page .gala-story__intro p {
    max-width: 52ch;
    font-size: 18px;
}

.gala-page .gala-track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0 28px;
    margin-top: 72px;
    padding-top: 36px;
    list-style: none;
    border-top: 3px double var(--lane);
}

.gala-page .gala-track__item {
    position: relative;
}

.gala-page .gala-track__item::before {
    position: absolute;
    top: -43px;
    left: 0;
    width: 11px;
    height: 11px;
    border: 2px solid var(--gold);
    border-radius: 50%;
    background: var(--night);
    content: "";
}

.gala-page .gala-track__item:last-child::before {
    background: var(--gold);
    box-shadow: 0 0 0 5px rgba(217, 178, 95, .18);
}

.gala-page .gala-track__year {
    display: block;
    margin-bottom: 10px;
    color: var(--gold);
    font-family: var(--serif);
    font-size: 40px;
    font-variant-numeric: lining-nums;
    font-weight: 600;
    line-height: 1;
}

.gala-page .gala-track__item p {
    font-size: 15px;
    line-height: 1.6;
}

/* ---------------------------------------------------------------
   Menu
   --------------------------------------------------------------- */
.gala-page .gala-menu {
    padding: 140px 28px 0;
}

.gala-page .gala-menu__card {
    position: relative;
    max-width: 760px;
    margin: 0 auto;
    padding: 84px 56px 88px;
    border: 1px solid rgba(217, 178, 95, .28);
    background: radial-gradient(ellipse at 50% -10%, rgba(176, 148, 52, .34), transparent 56%),
    rgba(9, 10, 13, .55);
    text-align: center;
}

/* Cantos em linha dupla, como no cartaz */
.gala-page .gala-menu__card::before,
.gala-page .gala-menu__card::after {
    position: absolute;
    width: 46%;
    height: 54%;
    border: 3px double var(--lane);
    content: "";
    pointer-events: none;
}

.gala-page .gala-menu__card::before {
    top: -14px;
    right: -14px;
    border-bottom: 0;
    border-left: 0;
}

.gala-page .gala-menu__card::after {
    bottom: -14px;
    left: -14px;
    border-top: 0;
    border-right: 0;
}

.gala-page .gala-menu__title {
    margin-bottom: 52px;
    background: linear-gradient(180deg, #fff 20%, #aeb0b9 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: #fff;
    -webkit-text-fill-color: transparent;
    font-size: clamp(72px, 11vw, 124px);
    font-weight: 500;
    line-height: .9;
}

.gala-page .gala-menu__course + .gala-menu__course {
    position: relative;
    margin-top: 34px;
    padding-top: 34px;
}

.gala-page .gala-menu__course + .gala-menu__course::before {
    position: absolute;
    top: 0;
    left: 50%;
    width: 120px;
    height: 1px;
    margin-left: -60px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    content: "";
}

.gala-page .gala-menu__course h3 {
    margin-bottom: 8px;
    color: var(--gold);
    font-size: 30px;
    font-style: italic;
}

.gala-page .gala-menu__course p {
    max-width: 30ch;
    margin: 0 auto;
    color: #fff;
    font-size: 20px;
    font-weight: 300;
    line-height: 1.5;
}

/* ---------------------------------------------------------------
   Informação e inscrição
   --------------------------------------------------------------- */
.gala-page .gala-join {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 56px 96px;
    max-width: 1180px;
    margin: 0 auto;
    padding: 140px 28px 130px;
}

.gala-page .gala-join__info h2,
.gala-page .gala-join__cta h2 {
    margin-bottom: 30px;
    font-size: clamp(40px, 4.6vw, 62px);
}

.gala-page .gala-facts {
    border-top: 3px double var(--lane);
}

.gala-page .gala-facts__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 0;
    border-bottom: 1px solid rgba(217, 178, 95, .22);
}

.gala-page .gala-facts dt {
    color: var(--gold);
    font-family: var(--serif);
    font-size: 24px;
    font-style: italic;
    font-weight: 500;
    line-height: 1.2;
}

.gala-page .gala-facts dd {
    color: #fff;
    font-size: 19px;
    font-weight: 400;
    text-align: right;
}

.gala-page .gala-join__cta {
    align-self: center;
}

.gala-page .gala-join__cta p {
    max-width: 44ch;
    margin-bottom: 30px;
}

.gala-page .gala-join__cta a:not(.gala-button) {
    color: var(--gold-pale);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.gala-page .gala-join__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.gala-page .gala-join__closed {
    color: var(--gold-pale);
    font-family: var(--serif);
    font-size: 28px;
    font-style: italic;
}

/* ---------------------------------------------------------------
   Ecrãs pequenos
   --------------------------------------------------------------- */
@media (max-width: 991px) {
    .gala-page .gala-clock {
        grid-template-columns: 1fr;
        justify-items: center;
        margin: -56px 20px 0;
        padding: 26px 20px 28px;
        text-align: center;
    }

    .gala-page .gala-clock__msg {
        grid-column: 1;
    }

    .gala-page .gala-story__intro {
        grid-template-columns: 1fr;
    }

    .gala-page .gala-track {
        grid-template-columns: 1fr;
        gap: 38px 0;
        margin-top: 56px;
        padding: 0 0 0 34px;
        border-top: 0;
        border-left: 3px double var(--lane);
    }

    .gala-page .gala-track__item::before {
        top: 8px;
        left: -41px;
    }

    .gala-page .gala-join {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .gala-page .gala {
        font-size: 16px;
    }

    .gala-page .gala-hero {
        min-height: 0;
        padding: 56px 16px 90px;
    }

    .gala-page .gala-hero__eyebrow {
        font-size: 11px;
        letter-spacing: .32em;
        text-indent: .32em;
    }

    .gala-page .gala-hero__date {
        gap: 12px;
    }

    .gala-page .gala-hero__dm {
        padding-left: 12px;
    }

    .gala-page .gala-hero__dm em {
        font-size: 12px;
    }

    .gala-page .gala-hero__spot {
        width: 60vw;
    }

    .gala-page .gala-clock__unit {
        min-width: 0;
        padding: 0 12px;
    }

    .gala-page .gala-story {
        padding-top: 88px;
    }

    .gala-page .gala-menu {
        padding: 96px 20px 0;
    }

    .gala-page .gala-menu__card {
        padding: 56px 24px 60px;
    }

    .gala-page .gala-menu__course p {
        font-size: 18px;
    }

    .gala-page .gala-join {
        padding: 96px 20px 88px;
    }

    .gala-page .gala-facts__row {
        flex-direction: column;
        gap: 4px;
    }

    .gala-page .gala-facts dd {
        text-align: left;
    }

    .gala-page .gala-button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gala-page .gala-hero__inner,
    .gala-page .gala-hero::before,
    .gala-page .gala-hero__spot,
    .gala-page .gala-hero__beam,
    .gala-page .gala-clock {
        animation: none;
    }

    .gala-page .gala-hero__confetti {
        display: none;
    }
}

.gala-page .gala-facts__line,
.gala-page .gala-facts dd small,
.gala-page .gala-facts dd a {
    display: block;
}

.gala-page .gala-facts__line b {
    margin-left: 6px;
    color: var(--gold-pale);
}

.gala-page .gala-facts dd small {
    margin-top: 4px;
    color: var(--ink-soft);
    font-size: .8em;
}

.gala-page .gala-facts dd a {
    margin-top: 6px;
    color: var(--gold);
    font-size: .85em;
}
