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

:root {
    --event-ink: #090446;
    --event-muted: #5f6073;
    --event-blue: #037c82;
    --event-yellow: #f4c542;
    --event-paper: #f7f8fc;
    --event-line: #e4e7ef;
    --event-danger: #a63838;
}

.events-page, .dashboard-page { background: var(--event-paper); color: var(--event-ink); }
.events-page main, .dashboard-page main { text-align: left; }
body.gallery-page { overflow-x: clip; }
.events-shell { width: min(1180px, calc(100% - 5rem)); max-width: 1180px; box-sizing: border-box; margin: 0 auto; padding: 6rem 0 7rem; }
.events-hero { background: linear-gradient(115deg, #090446 0%, #037c82 100%); color: #fff; padding: clamp(10rem, 13vw, 12rem) 2.5rem 6rem; }
.events-hero__inner { max-width: 1180px; margin: 0 auto; }
.events-hero h1 { max-width: 700px; margin: .2rem 0 1rem; color: #fff; font-size: clamp(3.2rem, 7vw, 6.5rem); line-height: .98; }
.events-hero p { max-width: 620px; color: rgba(255,255,255,.82); font-size: 1.7rem; line-height: 1.6; }
.events-kicker { color: var(--event-yellow); font-size: 1.15rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.events-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 2rem; align-items: start; }
.events-panel { background: #fff; border: 1px solid var(--event-line); box-shadow: 0 16px 40px rgba(9,4,70,.07); padding: 2rem; }
.events-panel__heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.events-panel__heading h2 { margin: .2rem 0 0; font-size: 2.4rem; }
.events-panel__heading p { margin: 0; color: var(--event-muted); }
.event-list { display: grid; gap: 1rem; }
.event-item { border-left: 4px solid var(--event-yellow); border-bottom: 1px solid var(--event-line); padding: .3rem 0 1.3rem 1.2rem; }
.event-item:last-child { border-bottom: 0; padding-bottom: 0; }
.event-item h3 { margin: 0 0 .45rem; font-size: 1.8rem; }
.event-item p { color: var(--event-muted); line-height: 1.55; }
.event-item__date { color: var(--event-blue) !important; font-size: 1.2rem; font-weight: 800; }
.event-item__location { margin-bottom: 0; }
.events-empty, .events-state { color: var(--event-muted); line-height: 1.6; }
.events-error { border-left: 4px solid var(--event-danger); color: var(--event-danger); padding: 1rem 1.2rem; }
.events-link { color: var(--event-blue); font-weight: 800; text-decoration: underline; }
.Navbar_nav__HCetZ { overflow: visible; }
.enrol-nav { position: relative; }
.enrol-nav__trigger { display: inline-flex; align-items: center; gap: .4rem; color: black; font-weight: 600; padding: 0; cursor: pointer; list-style: none; }
.enrol-nav__trigger::marker { display: none; content: none; }
.enrol-nav__trigger::-webkit-details-marker { display: none; }
.enrol-nav__trigger:hover, .enrol-nav__trigger:focus-visible { color: #610097; }
.enrol-nav:not([open]) .enrol-nav__menu { display: none; }
.enrol-nav__menu { position: absolute; top: calc(100% + .4rem); right: 0; z-index: 700; display: grid; min-width: 13rem; padding: .35rem; border-radius: 4px; background: #fff; box-shadow: 0 8px 24px rgba(9,4,70,.2); }
.enrol-nav__menu--portal { position: fixed !important; top: auto; right: auto; left: auto; z-index: 1301; max-width: calc(100vw - 1rem); box-sizing: border-box; animation: enrol-dropdown .22s ease-out both; }
.enrol-nav[open] .enrol-nav__menu { animation: enrol-dropdown .22s ease-out both; }
@keyframes enrol-dropdown {
    from { opacity: 0; transform: translateY(-.6rem); }
    to { opacity: 1; transform: translateY(0); }
}
.enrol-nav__menu a { padding: .8rem 1rem; color: #090446; font-weight: 600; text-decoration: none; }
.enrol-nav__menu a:hover, .enrol-nav__menu a:focus-visible { border-radius: 3px; background: #f4e8fa; color: #610097; }
@media (max-width: 850px) {
    .Navbar_hide_nav_links__OifIj, .Navbar_nav_links__kuMht { scrollbar-width: none; }
    .Navbar_hide_nav_links__OifIj::-webkit-scrollbar, .Navbar_nav_links__kuMht::-webkit-scrollbar { display: none; }
    .enrol-nav { width: 100%; }
    .enrol-nav__trigger { justify-content: center; width: 100%; box-sizing: border-box; padding: 2.5vh 0; }
    .enrol-nav__menu { position: absolute; top: calc(100% + .4rem); right: 0; left: 0; width: 100%; box-sizing: border-box; }
}
.gallery-shell { width: min(1380px, calc(100% - 4rem)); max-width: 1380px; margin: 0 auto; padding: 0; }
.gallery-intro { padding: clamp(4rem, 7vw, 6rem) 0 1rem; }
.gallery-heading { display: flex; align-items: end; justify-content: space-between; gap: 2.5rem; margin-bottom: 2rem; }
.gallery-heading h2 { max-width: 650px; margin: .3rem 0 0; font-size: clamp(2.4rem, 5vw, 4.8rem); line-height: 1; letter-spacing: -.045em; color: var(--event-ink); }
.gallery-heading > p { max-width: 360px; margin: 0 0 .3rem; color: var(--event-muted); font-size: 1.15rem; line-height: 1.6; }
@property --angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: true;
}

.gallery-stage { position: relative; width: 100%; box-sizing: border-box; padding: clamp(2rem, 5vw, 4rem) clamp(1rem, 4vw, 4rem) clamp(5rem, 8vw, 8rem); overflow: visible; background: radial-gradient(circle at 20% 50%, rgba(97,0,151,.04), transparent 50%), radial-gradient(circle at 85% 60%, rgba(3,124,130,.05), transparent 45%); }
.cards input[type="radio"] { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }

.cards { --img-w: clamp(320px, 32vw, 420px); --duration: 350ms; --img-easing: cubic-bezier(0.34, 1.56, 0.64, 1); width: min(1380px, calc(100% - 2rem)); margin-inline: auto; display: grid; counter-reset: my-counter; }

.card { --cards-grid-cols: auto; --cards-grid-rows: var(--img-w) auto; --cards-grid-gap: 2.5rem; --cards-footer-justify: center; grid-area: 1/1; display: grid; place-items: center; grid-template-columns: var(--cards-grid-cols); grid-template-rows: var(--cards-grid-rows); gap: var(--cards-grid-gap); z-index: 1; pointer-events: none; }

@media (850px < width){ .card { --cards-grid-cols: var(--img-w) minmax(320px, 560px); --cards-grid-rows: auto; --cards-grid-gap: clamp(3.5rem, 6vw, 6rem); --cards-footer-justify: start; } }

.card-img { width: var(--img-w); height: var(--img-w); aspect-ratio: 1 / 1; rotate: var(--angle, 0deg); border-radius: 14px; border: 6px solid #FFF; overflow: hidden; transform-origin: center; object-fit: cover; box-shadow: 0 16px 40px rgba(9, 4, 70, .14), 0 4px 12px rgba(0, 0, 0, .08); cursor: pointer; pointer-events: auto; transition: box-shadow .3s ease; }
.card-img:hover { box-shadow: 0 24px 55px rgba(9, 4, 70, .22), 0 6px 16px rgba(0, 0, 0, .12); }

.cards input:checked + .card > .card-img { animation: reveal-img calc(var(--duration) * 2) forwards; animation-timing-function: var(--img-easing); }
@keyframes reveal-img { 50% { translate: -135% 0; --angle: 0deg; } }
@media (max-width: 850px) { @keyframes reveal-img { 50% { translate: 0 -115%; --angle: 0deg; } } }

.cards input:nth-of-type(1):checked + .card ~ .card > .card-img { animation: straighten-img-1 calc(var(--duration) * 2) forwards; animation-timing-function: var(--img-easing); }
.card:has(~ .cards input:nth-of-type(2):checked) > .card-img, .cards input:nth-of-type(2):checked + .card ~ .card > .card-img { animation: straighten-img-2 calc(var(--duration) * 2) forwards; animation-timing-function: var(--img-easing); }
.card:has(~ .cards input:nth-of-type(3):checked) > .card-img, .cards input:nth-of-type(3):checked + .card ~ .card > .card-img { animation: straighten-img-3 calc(var(--duration) * 2) forwards; animation-timing-function: var(--img-easing); }
.card:has(~ .cards input:nth-of-type(4):checked) > .card-img, .cards input:nth-of-type(4):checked + .card ~ .card > .card-img { animation: straighten-img-4 calc(var(--duration) * 2) forwards; animation-timing-function: var(--img-easing); }
.card:has(~ .cards input:nth-of-type(5):checked) > .card-img, .cards input:nth-of-type(5):checked + .card ~ .card > .card-img { animation: straighten-img-5 calc(var(--duration) * 2) forwards; animation-timing-function: var(--img-easing); }
.card:has(~ .cards input:nth-of-type(6):checked) > .card-img, .cards input:nth-of-type(6):checked + .card ~ .card > .card-img { animation: straighten-img-6 calc(var(--duration) * 2) forwards; animation-timing-function: var(--img-easing); }

@keyframes straighten-img-1 { 50%{ --angle: 0deg;} }
@keyframes straighten-img-2 { 50%{ --angle: 0deg;} }
@keyframes straighten-img-3 { 50%{ --angle: 0deg;} }
@keyframes straighten-img-4 { 50%{ --angle: 0deg;} }
@keyframes straighten-img-5 { 50%{ --angle: 0deg;} }
@keyframes straighten-img-6 { 50%{ --angle: 0deg;} }

.card { z-index: -1; }
.cards input:checked + .card { --data-opacity: 1; --data-y: 0; --data-delay: var(--duration); --card-events: auto; transition: z-index; transition-delay: var(--duration); z-index: 10 !important; }
.card:has(+ input:checked) { z-index: 9; }
.card:has(+ input + .card + input:checked) { z-index: 8; }
.card:has(+ input + .card + input + .card + input:checked) { z-index: 7; }
.card:has(+ input + .card + input + .card + input + .card + input:checked) { z-index: 6; }
.card:has(+ input + .card + input + .card + input + .card + input + .card + input:checked) { z-index: 5; }

#radio-1:checked ~ #radio-6 + .card { z-index: 9; }
#radio-1:checked ~ #radio-5 + .card { z-index: 8; }
#radio-1:checked ~ #radio-4 + .card { z-index: 7; }
#radio-1:checked ~ #radio-3 + .card { z-index: 6; }
#radio-1:checked ~ #radio-2 + .card { z-index: 5; }

#radio-2:checked ~ #radio-6 + .card { z-index: 8; }
#radio-2:checked ~ #radio-5 + .card { z-index: 7; }
#radio-2:checked ~ #radio-4 + .card { z-index: 6; }
#radio-2:checked ~ #radio-3 + .card { z-index: 5; }

#radio-3:checked ~ #radio-6 + .card { z-index: 7; }
#radio-3:checked ~ #radio-5 + .card { z-index: 6; }
#radio-3:checked ~ #radio-4 + .card { z-index: 5; }

#radio-4:checked ~ #radio-6 + .card { z-index: 6; }
#radio-4:checked ~ #radio-5 + .card { z-index: 5; }

#radio-5:checked ~ #radio-6 + .card { z-index: 5; }

.card-data { display: grid; gap: 1.1rem; max-width: 520px; }
.card-data > .card-num { opacity: var(--data-opacity, 0); font-size: .85rem; font-weight: 800; color: #610097; letter-spacing: .08em; text-transform: uppercase; }
.card-data > h2 { font-size: clamp(2.2rem, 4vw, 3.4rem); font-weight: 800; color: var(--event-ink); line-height: 1.08; letter-spacing: -.03em; margin: 0; }
.card-data > p { font-size: 1.15rem; color: var(--event-muted); line-height: 1.6; margin: 0; }
.card-data > h2, .card-data > p, .card-data > .card-num, .card-data > footer { transition: var(--duration) ease-in-out; transition-delay: var(--data-delay, 0ms); opacity: var(--data-opacity, 0); translate: 0 var(--data-y, 20px); }
.card-data > footer { display: flex; justify-content: var(--cards-footer-justify); gap: 1.25rem; margin-top: .5rem; }
.card-data > footer label { margin-block-start: auto; cursor: pointer; pointer-events: var(--card-events, none); opacity: var(--data-opacity, 0); transition: background-color 300ms ease-in-out, color 300ms ease-in-out, border-color 300ms ease-in-out, transform 200ms ease; color: var(--event-ink); background-color: #fff; border: 2px solid var(--event-line); border-radius: 50%; width: 3.25rem; height: 3.25rem; aspect-ratio: 1/1; display: grid; place-content: center; font-size: 1.25rem; box-shadow: 0 8px 20px rgba(9, 4, 70, .08); }
.cards input:checked:focus-visible + .card > .card-data > footer label, .card-data > footer label:hover { color: #fff; background-color: var(--event-ink); border-color: var(--event-ink); transform: scale(1.08); }
.gallery-lightbox[hidden] { display: none; }
.gallery-lightbox { position: fixed; inset: 0; z-index: 1300; display: grid; place-items: center; padding: 1.25rem; }
.gallery-lightbox__backdrop { position: absolute; inset: 0; border: 0; background: rgba(9,4,70,.86); cursor: pointer; }
.gallery-lightbox__dialog { position: relative; z-index: 1; width: min(950px, 100%); }
.gallery-lightbox__dialog img { display: block; width: 100%; max-height: 78vh; object-fit: contain; border-radius: 14px; }
.gallery-lightbox__dialog p { margin: .8rem 0 0; color: #fff; font-size: 1.1rem; font-weight: 800; }
.gallery-lightbox__close { position: absolute; top: -2.8rem; right: 0; width: 2.4rem; height: 2.4rem; border: 0; border-radius: 50%; background: #fff; color: var(--event-ink); cursor: pointer; font-size: 1.5rem; line-height: 1; }
.event-item__button { display: inline; border: 0; padding: 0; background: transparent; cursor: pointer; font: inherit; text-align: left; }
.event-item__button:hover, .event-item__button:focus-visible { color: var(--event-ink); }
.events-calendar-hint { margin: -.75rem 0 1rem; color: var(--event-muted); font-size: .9rem; }
.events-page .events-panel { border-radius: 24px; }
.events-page #events-calendar { min-height: 620px; padding: .75rem; border-radius: 16px; background: #fbfaff; }
.events-page #events-calendar .fc { --fc-border-color: #e9e5f2; --fc-today-bg-color: rgba(97, 0, 151, .07); color: var(--event-ink); }
.events-page #events-calendar .fc .fc-toolbar { gap: .75rem; margin-bottom: 1.25rem; }
.events-page #events-calendar .fc .fc-toolbar-title { color: var(--event-ink); font-size: 1.35rem; letter-spacing: -.025em; }
.events-page #events-calendar .fc .fc-button-primary { border: 0; border-radius: 9px; background: #eeeafa; color: var(--event-ink); font-size: .8rem; font-weight: 800; }
.events-page #events-calendar .fc .fc-button-primary:hover, .events-page #events-calendar .fc .fc-button-primary:focus, .events-page #events-calendar .fc .fc-button-primary:not(:disabled).fc-button-active { background: #610097; color: #fff; }
.events-page #events-calendar .fc .fc-col-header-cell-cushion, .events-page #events-calendar .fc .fc-timegrid-slot-label-cushion { color: var(--event-muted); font-size: .75rem; font-weight: 800; text-decoration: none; }
.events-page #events-calendar .fc .fc-timegrid-event { border: 0; border-radius: 8px; background: linear-gradient(135deg, #610097, #037c82); box-shadow: 0 5px 12px rgba(9, 4, 70, .15); padding: .25rem .4rem; }
.event-modal[hidden] { display: none; }
.event-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 1rem; }
.event-modal__backdrop { position: absolute; inset: 0; background: rgba(9, 4, 70, .7); backdrop-filter: blur(6px); }
.event-modal__dialog { position: relative; width: min(560px, 100%); box-sizing: border-box; border-radius: 24px; background: linear-gradient(145deg, #fff, #f5f2fb); box-shadow: 0 25px 80px rgba(9, 4, 70, .3); padding: clamp(1.5rem, 5vw, 3rem); }
.event-modal__close { position: absolute; top: 1rem; right: 1rem; width: 2.3rem; height: 2.3rem; border: 0; border-radius: 50%; background: #eeeafa; color: var(--event-ink); cursor: pointer; font-size: 1.5rem; line-height: 1; }
.event-modal__dialog h2 { margin: .3rem 2rem 1rem 0; color: var(--event-ink); font-size: clamp(1.8rem, 4vw, 2.8rem); line-height: 1.05; }
.event-modal__dialog p { color: var(--event-muted); line-height: 1.6; }
.event-modal__date { color: var(--event-blue) !important; font-weight: 800; }
.event-modal__location { font-weight: 700; }
body.modal-open { overflow: hidden; }
.events-gallery-panel { border: 0; border-radius: 0; background: transparent; box-shadow: none; padding: 0; }
.events-gallery-panel .events-panel__heading { margin-bottom: 2rem; }
.events-gallery-panel .events-panel__heading h2 { color: var(--event-ink); }
.events-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1.5rem; }
.events-gallery-card { cursor: pointer; }
.events-gallery-card:focus-visible { outline: 4px solid rgba(3, 124, 130, .35); outline-offset: 5px; }
.values-legacy { display: none !important; }
.millennial-hero {
    position: relative;
    display: grid;
    grid-template-rows: auto auto;
    align-content: start;
    gap: clamp(2rem, 5vh, 3.5rem);
    min-height: 0;
    box-sizing: border-box;
    padding: max(220px, calc(26vh + 2rem)) 0 0;
    overflow: hidden;
    isolation: isolate;
    color: #fff;
    background:
        linear-gradient(90deg, rgba(97, 0, 151, .88) 0%, rgba(61, 20, 130, .78) 50%, rgba(9, 4, 70, .72) 100%),
        url("images/hero.jpg") center 55% / cover no-repeat;
}
.millennial-hero::before, .millennial-hero::after {
    position: absolute;
    z-index: -1;
    width: 28rem;
    aspect-ratio: 1;
    border: 1px solid rgba(244, 197, 66, .2);
    border-radius: 50%;
    box-shadow: 0 0 0 2rem rgba(244, 197, 66, .035), 0 0 0 5rem rgba(255, 255, 255, .025);
    content: "";
    pointer-events: none;
}
.millennial-hero::before { top: -17rem; right: -8rem; }
.millennial-hero::after { bottom: -21rem; left: -11rem; }
.millennial-hero__intro {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
    align-content: center;
    padding: 0 clamp(1.25rem, 5vw, 5rem);
    text-align: center;
    overflow: visible;
}
.millennial-hero__intro > * { overflow: visible; }
.millennial-hero__eyebrow {
    margin: 0 0 .5rem;
    padding: 0;
    color: var(--event-yellow);
    font-size: clamp(.75rem, 1.1vw, .95rem);
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;
}
.millennial-hero__intro h1 {
    display: grid;
    justify-items: center;
    width: 100%;
    margin: 0;
    color: #fff;
    font-family: "Cloister Black", "Old English Text MT", serif;
    font-size: clamp(2rem, 8.2vw, 8.5rem);
    font-weight: 400;
    letter-spacing: -.035em;
    line-height: .95;
    overflow: visible;
}
.millennial-hero__intro h1 > * { overflow: visible; }
.millennial-hero__intro h1 span {
    margin-bottom: .24em;
    font-family: inherit;
    color: var(--event-yellow);
    font-size: .38em;
    letter-spacing: .02em;
    line-height: 1;
}
.millennial-hero__intro h1 strong { font: inherit; }
.millennial-hero__description {
    max-width: 34rem;
    margin: .8rem 0 0;
    padding: 0;
    color: rgba(255, 255, 255, .82);
    font-size: clamp(1rem, 1.7vw, 1.25rem);
    line-height: 1.5;
}
.millennial-hero__link {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    margin-top: .8rem;
    padding: .7rem 1rem;
    border: 1px solid rgba(244, 197, 66, .7);
    border-radius: 999px;
    color: #fff;
    font-size: .9rem;
    font-weight: 800;
    text-decoration: none;
    transition: color .2s ease, background .2s ease, border-color .2s ease;
}
.millennial-hero__link:hover, .millennial-hero__link:focus-visible {
    border-color: var(--event-yellow);
    outline: none;
    background: var(--event-yellow);
    color: var(--event-ink);
}
.millennial-hero__link span { color: var(--event-yellow); font-size: 1.2rem; }
.millennial-hero__link:hover span, .millennial-hero__link:focus-visible span { color: inherit; }
.millennial-hero__values {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
    width: 100%;
    margin: clamp(1.5rem, 4vh, 3rem) 0 0;
}
.millennial-hero__value {
    position: relative;
    min-width: 0;
    height: clamp(16rem, 42vh, 32rem);
    overflow: hidden;
    border-right: 1px solid rgba(255, 255, 255, .25);
    background: #090446;
    animation: millennial-value-enter .65s both;
}
.millennial-hero__value:last-child { border-right: 0; }
.millennial-hero__value:nth-child(2) { animation-delay: .08s; }
.millennial-hero__value:nth-child(3) { animation-delay: .16s; }
.millennial-hero__value:nth-child(4) { animation-delay: .24s; }
.millennial-hero__value:nth-child(5) { animation-delay: .32s; }
.millennial-hero__value:nth-child(6) { animation-delay: .4s; }
.millennial-hero__value::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(9, 4, 70, .58), transparent 38%, rgba(9, 4, 70, .72));
    content: "";
}
.millennial-hero__value img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .66;
    transition: opacity .35s ease, transform .5s ease;
}
.millennial-hero__value:nth-child(2) img,
.millennial-hero__value:nth-child(3) img { transform: scale(1.2); }
.millennial-hero__value:hover img { opacity: 1; transform: scale(1.05); }
.millennial-hero__value:nth-child(2):hover img,
.millennial-hero__value:nth-child(3):hover img { transform: scale(1.26); }
.millennial-hero__value h2 {
    position: absolute;
    z-index: 1;
    top: clamp(1.25rem, 3vh, 2rem);
    left: clamp(.75rem, 1.5vw, 1.5rem);
    max-width: calc(100% - 2rem);
    margin: 0;
    color: #fff;
    font-size: clamp(.75rem, 1.45vw, 1.45rem);
    font-weight: 700;
    letter-spacing: .025em;
    line-height: 1.25;
    text-align: left;
    text-transform: uppercase;
}
.half_section--photo-stack {
    display: grid;
    place-items: center;
    min-width: 0;
}
.feature-photo-stack {
    position: relative;
    display: grid;
    place-items: center;
    width: min(78%, 31rem);
    aspect-ratio: 1 / 1;
    isolation: isolate;
}
.feature-photo-stack__back {
    position: absolute;
    z-index: -1;
    inset: 7%;
    border-radius: 1.5rem;
    box-shadow: 0 1.25rem 2.5rem rgba(9, 4, 70, .12);
}
.feature-photo-stack__back--plum {
    background: #897085;
    transform: rotate(-10deg);
}
.feature-photo-stack__back--rose {
    background: #d18e9f;
    transform: rotate(10deg);
}
.feature-photo-stack img.block_image {
    display: block;
    width: 82%;
    height: 82%;
    margin: 0;
    border-radius: 1.5rem;
    object-fit: cover;
    box-shadow: 0 1.25rem 2.5rem rgba(9, 4, 70, .16);
}
@keyframes millennial-value-enter {
    from { opacity: 0; transform: translateY(1.2rem); }
    to { opacity: 1; transform: translateY(0); }
}
.values-card-section { width: min(70rem, 90%); margin: 0 auto; padding: clamp(3.5rem, 8vw, 6rem) 0; color: #111; }
.homepage-events__intro h2, .values-card-section h2 { max-width: 530px; margin: .3rem 0 .8rem; color: var(--event-ink); font-size: clamp(2.2rem, 4vw, 4.5rem); line-height: .98; letter-spacing: -.04em; }
.values-card-section__intro { margin: .8rem 0 0 .3rem; color: #696969; font-size: 1.05rem; }
.values-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; margin-top: 3rem; }
.value-card { position: relative; min-width: 0; padding: .625rem; border-radius: 1.5rem; background: #fff; box-shadow: 0 15px 35px rgba(9, 4, 70, .08); cursor: pointer; overflow: hidden; }
.value-card__image { height: 12rem; overflow: hidden; border-radius: 1.2rem; }
.value-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.value-card__footer { position: relative; display: flex; align-items: center; justify-content: space-between; min-height: 3.2rem; margin: -1px -.625rem -.625rem; padding: .45rem 1.2rem .45rem 1.4rem; border-radius: 1.1rem 0 0 0; background: #fff; }
.value-card__footer h3 { margin: 0; color: #696969; font-size: .82rem; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; }
.value-card__footer label { display: grid; place-items: center; cursor: pointer; }
.value-card__footer input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.value-card__check { display: block; width: 1rem; height: 1rem; border: 1px solid #c8c8c8; border-radius: .4rem; }
.value-card__footer input:checked + .value-card__check, .value-card.is-selected .value-card__check { border-color: #111; background: #111; box-shadow: inset 0 0 0 3px #fff; }
.value-card:hover img, .value-card:focus-within img { transform: scale(1.05); }
.value-card:focus-within { outline: 3px solid rgba(3, 124, 130, .25); outline-offset: 4px; }
.values-card-section__link { display: inline-block; margin-top: 2rem; }
.values-card-section__link button { border: 0; border-radius: 999px; padding: .9rem 1.25rem; background: var(--event-ink); color: #fff; cursor: pointer; font: inherit; font-weight: 800; }
.offerings_container .block.offering-card {
    box-sizing: border-box;
    padding: 0;
    border: 0;
    border-radius: 1.4rem;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}
.offering-card__inner {
    position: relative;
    display: block;
    height: 100%;
    min-height: 24rem;
    box-sizing: border-box;
    overflow: hidden;
    border-radius: 1.4rem;
    background: #353535;
    box-shadow: none;
}
.offering-card__inner::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, transparent 34%, rgba(97, 0, 151, .2) 49%, rgba(61, 20, 130, .88) 100%);
    backdrop-filter: blur(24px);
    -webkit-mask-image: linear-gradient(180deg, transparent 32%, #000 68%);
    mask-image: linear-gradient(180deg, transparent 32%, #000 68%);
    content: "";
    pointer-events: none;
}
.offering-card__cover {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.offering-card__body {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    margin: 0;
    padding: 1.25rem 1.4rem 1.5rem;
    color: #fff;
}
.offering-card__body h4 {
    margin: 0 0 .65rem;
    color: #fff;
    font-size: clamp(1.2rem, 1.6vw, 1.7rem);
    line-height: 1.15;
}
.offering-card__body p {
    margin: 0;
    color: rgba(255, 255, 255, .86);
    font-size: .9rem;
    line-height: 1.55;
}
.homepage-events { position: relative; display: grid; grid-template-columns: 1fr; gap: 2.25rem; width: 100%; box-sizing: border-box; margin: 0; padding: clamp(3rem, 6vw, 5rem) 7%; overflow: hidden; text-align: left; background: linear-gradient(180deg, #fff 0%, #f7f8fc 100%); }
.homepage-events::before { position: absolute; top: -7rem; right: 7%; width: 18rem; height: 18rem; border: 1px solid rgba(97,0,151,.12); border-radius: 50%; box-shadow: 0 0 0 1.5rem rgba(97,0,151,.04), 0 0 0 3.5rem rgba(97,0,151,.025); content: ""; }
.testimonials-section { position: relative; overflow: hidden; background: #fef6e4; color: #172c66; font-family: Georgia, "Times New Roman", serif; }
.testimonials-inner { position: relative; z-index: 1; display: flex; align-items: center; gap: clamp(3rem, 8vw, 8rem); max-width: none; min-height: 470px; box-sizing: border-box; margin: 0; padding: clamp(6rem, 10vw, 9rem) max(7%, 1rem) clamp(4rem, 8vw, 7rem); overflow-x: auto; overflow-y: hidden; cursor: grab; scroll-behavior: smooth; scroll-padding-inline: max(7%, 1rem); scroll-snap-type: x proximity; scrollbar-color: rgba(112, 0, 168, .55) transparent; scrollbar-width: thin; }
.testimonials-inner.is-dragging { cursor: grabbing; user-select: none; }
.testimonials-inner::-webkit-scrollbar { height: 10px; }
.testimonials-inner::-webkit-scrollbar-track { background: transparent; }
.testimonials-inner::-webkit-scrollbar-thumb { border: 3px solid #fef6e4; border-radius: 999px; background: rgba(112, 0, 168, .55); }
.testimonials-intro, .testimonial-cards { flex: 0 0 auto; scroll-snap-align: start; }
.testimonials-intro { width: min(520px, 72vw); }
.testimonials-intro h2 { max-width: 520px; margin: .5rem 0 1rem; color: #001858; font-size: clamp(2.5rem, 5vw, 4.7rem); font-weight: 700; line-height: 1.04; letter-spacing: -.04em; }
.testimonials-description { max-width: 420px; color: #172c66; font-family: Montserrat, sans-serif; font-size: 1rem; line-height: 1.6; }
.testimonials-scroll-hint { display: inline-flex; align-items: center; gap: .55rem; margin-top: 1.35rem; color: #7000a8; font-family: Montserrat, sans-serif; font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.testimonials-scroll-hint span { font-size: 1.35rem; line-height: 1; }
.testimonials-kicker { margin: 0; color: #7000a8; font-family: Montserrat, sans-serif; font-size: .8rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.testimonial-cards { display: flex; align-items: center; gap: clamp(1.5rem, 4vw, 3.5rem); min-height: 350px; padding: 1rem 1rem 1.5rem 0; }
.testimonial-card { position: relative; display: flex; flex-direction: column; flex: 0 0 300px; width: 300px; min-height: 350px; box-sizing: border-box; padding: 0 1.25rem 1.35rem; overflow: visible; border: 1px solid rgba(23, 44, 102, .08); border-radius: 10px; box-shadow: 0 18px 35px rgba(23, 44, 102, .12); backdrop-filter: blur(8px); transition: transform .3s ease, box-shadow .3s ease; }
.testimonial-card:hover { z-index: 5; box-shadow: 0 25px 45px rgba(23, 44, 102, .2); transform: translateY(-8px) rotate(0deg) !important; }
.testimonial-card--one { margin-left: .75rem; background: rgba(243, 210, 193, .72); transform: rotate(-4deg); }
.testimonial-card--two { background: rgba(139, 211, 221, .62); transform: rotate(3deg); }
.testimonial-card--three { background: rgba(245, 130, 174, .48); transform: rotate(-2deg); }
.testimonial-card__photo { display: block; width: calc(100% + 2.5rem); height: 154px; margin: 0 -1.25rem 1.1rem; object-fit: cover; border-radius: 10px 10px 0 0; }
.testimonial-card__pin { position: absolute; top: -2rem; right: 1.35rem; z-index: 2; display: block; width: 92px; height: 112px; padding: .35rem; object-fit: cover; border: 5px solid #fffdf5; border-radius: 3px; background: #fffdf5; box-shadow: 0 12px 22px rgba(23, 44, 102, .22); transform: rotate(6deg); }
.testimonial-card--two .testimonial-card__pin { left: 1.35rem; right: auto; transform: rotate(-7deg); }
.testimonial-card--three .testimonial-card__pin { top: -1.5rem; transform: rotate(4deg); }
.testimonial-card__quote { margin: 0 0 1.1rem; color: #172c66; font-size: 1.35rem; line-height: 1.18; }
.testimonial-card__author { margin: 0 0 0 auto; color: #001858; font-family: Montserrat, sans-serif; font-size: .72rem; font-weight: 800; text-align: right; }
.testimonials-cursor { position: absolute; z-index: 0; width: 250px; height: 250px; border-radius: 50%; background: radial-gradient(circle, rgba(245, 130, 174, .45), rgba(139, 211, 221, .12) 65%, transparent 70%); filter: blur(25px); opacity: 0; pointer-events: none; transition: opacity .5s ease; }
.homepage-events__intro { position: relative; z-index: 1; max-width: 700px; }
.homepage-events__intro p { color: var(--event-muted); line-height: 1.6; }
.homepage-events__intro a { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1rem; color: var(--event-blue); font-weight: 800; text-decoration: none; }
.homepage-events__intro a::after { content: "→"; font-size: 1.3em; transition: transform .2s ease; }
.homepage-events__intro a:hover::after { transform: translateX(.25rem); }
.homepage-events__swipe-hint { display: none; align-items: center; gap: .45rem; margin-top: .9rem; color: var(--event-blue); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.homepage-events__swipe-hint span { font-size: 1.25rem; line-height: 1; }
.homepage-events__list { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 18.5rem)); justify-content: center; gap: 1rem; align-items: stretch; overflow: visible; perspective: 100rem; }
.homepage-event-card { --card-rotate-x: 0deg; --card-rotate-y: 0deg; position: relative; width: min(100%, 18.5rem); min-width: 0; aspect-ratio: 5 / 7; justify-self: center; overflow: visible !important; overflow-x: visible !important; overflow-y: visible !important; touch-action: pan-y; transform: rotateX(var(--card-rotate-x)) rotateY(var(--card-rotate-y)); transform-style: preserve-3d; }
.homepage-event-card__image-link { position: absolute; inset: 0; display: block; overflow: hidden; border-radius: 1.25rem; background: var(--event-ink); box-shadow: 0 1.5rem 2rem -.75rem rgba(9, 4, 70, .5); transform-style: preserve-3d; }
.homepage-event-card__image-link { border: 0 !important; outline: 0; }
.homepage-event-card__image-link::after { position: absolute; inset: 0; border-radius: 1.25rem; background: linear-gradient(180deg, rgba(97,0,151,.28) 0%, rgba(74,0,126,.48) 38%, rgba(30,0,75,.94) 100%); content: ""; transform: translateZ(1rem); }
.homepage-event-card__shadow, .homepage-event-card__background, .homepage-event-card__cutout { position: absolute; inset: 0; border-radius: 1.25rem; background-position: center; background-size: cover; }
.homepage-event-card__shadow { background-image: var(--card-image); filter: blur(1.8rem) saturate(.9); opacity: .7; transform: translate3d(0, 1.6rem, -2rem) scale(.96); }
.homepage-event-card__background { background-image: var(--card-image); transform: translateZ(0); }
.homepage-event-card__cutout { background-image: var(--card-image); transform: translate3d(0, 0, 1.5rem) scale(.96); opacity: .08; }
.homepage-event-card__frame { display: none; }
.homepage-event-card__date-badge { position: absolute; top: 1.2rem; right: 1.2rem; z-index: 3; display: grid; width: 3.8rem; height: 3.8rem; place-items: center; border-radius: .7rem; background: #fff; color: var(--event-ink); font-size: .75rem; font-weight: 800; line-height: 1.1; text-align: center; text-transform: uppercase; box-shadow: 0 10px 20px rgba(9,4,70,.35); transform: translateZ(2.5rem); }
.homepage-event-card__body { position: absolute; inset: 0; z-index: 6; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; box-sizing: border-box; width: 100%; padding: 2.25rem; color: #fff; pointer-events: none; text-align: center; transform: translate3d(0, 0, 5rem); }
.homepage-event-card h3 { margin: 0 0 .65rem; color: #fff; font-size: clamp(1.35rem, 2vw, 1.8rem); line-height: 1.15; text-align: center; text-shadow: 0 0 1.5rem rgba(0,0,0,.65); }
.homepage-event-card h3 a { color: #fff !important; font-weight: 800; text-decoration: none; }
.homepage-event-card h3 a:hover { color: #f4d85f; }
.homepage-event-card__description { width: 100%; min-height: 0; margin: 0 0 1rem; color: rgba(255,255,255,.9); line-height: 1.5; text-align: center; text-shadow: 0 0 1rem rgba(0,0,0,.65); }
.homepage-event-card__meta { width: 100%; margin: 0; padding: .8rem 0 0; border-top: 1px solid rgba(255,255,255,.55); list-style: none; color: #fff; font-size: .7rem; font-weight: 800; letter-spacing: .06em; line-height: 1.4; text-align: center; text-transform: uppercase; }
.homepage-event-card__meta li { color: #fff !important; text-shadow: 0 1px 1rem rgba(0,0,0,.75); }
.homepage-event-card__meta li { display: flex; align-items: center; justify-content: center; gap: .4rem; padding: .35rem 0; }
.homepage-event-card__meta li::before { color: #63d8d5; font-size: 1rem; }
.homepage-event-card__meta-date::before { content: "▣"; }
.homepage-event-card__meta-time::before { content: "◷"; }
.homepage-event-card__meta-location::before { content: "⌖"; }
.homepage-event-card:focus-visible { outline: .25rem solid rgba(3, 124, 130, .55); outline-offset: .45rem; }
.events-gallery { perspective: 70rem; }
.events-gallery .homepage-event-card { width: min(100%, 18.5rem); }
.event-detail-card { max-width: 780px; margin: 0 auto; }
.dashboard-shell { max-width: 1280px; margin: 0 auto; padding: 5rem 2.5rem 7rem; }
.dashboard-hero { background: #090446; color: #fff; padding: 5rem 2.5rem; }
.dashboard-hero__inner { max-width: 1280px; margin: 0 auto; }
.dashboard-hero h1 { color: #fff; margin: .2rem 0 .8rem; font-size: clamp(3rem, 6vw, 5.5rem); }
.dashboard-hero p { color: rgba(255,255,255,.78); font-size: 1.6rem; }
.dashboard-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 2rem; align-items: start; }
.dashboard-panel { background: #fff; border: 1px solid var(--event-line); box-shadow: 0 16px 40px rgba(9,4,70,.07); padding: 2rem; }
.site-clock { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 7.5rem; margin-left: auto; padding: .35rem .7rem; border: 1px solid rgba(255, 255, 255, .3); border-radius: 999px; color: #fff; font-family: "Courier New", monospace; font-size: .85rem; font-variant-numeric: tabular-nums; font-weight: 700; letter-spacing: .04em; line-height: 1; text-align: center; }
.dashboard-tabs { display: flex; gap: .5rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--event-line); }
.dashboard-tab { position: relative; z-index: 1; border: 0; border-bottom: 3px solid transparent; padding: .8rem 1.1rem; background: transparent; color: var(--event-muted); cursor: pointer; font: inherit; font-weight: 800; pointer-events: auto; }
.dashboard-tab:hover, .dashboard-tab:focus-visible { color: var(--event-blue); outline: none; }
.dashboard-tab.is-active { border-bottom-color: var(--event-blue); color: var(--event-blue); }
.dashboard-tab-panel[hidden], #testimonial-admin[hidden] { display: none !important; }
.testimonial-admin { margin-top: 2rem; }
.testimonial-admin__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .75rem; margin-bottom: 2rem; }
.testimonial-admin__item { display: grid; gap: .35rem; min-height: 76px; padding: .9rem 1rem; border: 1px solid var(--event-line); border-radius: 10px; background: #fbfaff; color: var(--event-ink); cursor: pointer; font: inherit; text-align: left; }
.testimonial-admin__item:hover, .testimonial-admin__item:focus-visible { border-color: var(--event-blue); outline: 3px solid rgba(3, 124, 130, .14); }
.testimonial-admin__item span { color: var(--event-muted); font-size: .8rem; font-weight: 700; }
.testimonial-admin__hint, .testimonial-admin__empty { color: var(--event-muted); font-size: .9rem; line-height: 1.5; }
.testimonial-admin__hint { margin: -.4rem 0 .2rem; }
.testimonial-admin__form { display: grid; gap: 1rem; max-width: 900px; }
.testimonial-admin__form label { display: grid; gap: .45rem; color: var(--event-ink); font-weight: 700; }
.testimonial-admin__form input, .testimonial-admin__form textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--event-line); border-radius: 8px; padding: .75rem; font: inherit; }
.testimonial-admin__form input:focus, .testimonial-admin__form textarea:focus { border-color: var(--event-blue); outline: 3px solid rgba(3, 124, 130, .14); }
.testimonial-admin__form .dashboard-check { display: flex; grid-template-columns: none; align-items: center; gap: .5rem; }
.testimonial-admin__form .dashboard-check input { width: auto; }
.enquiries-list { display: grid; gap: 1rem; }
.enquiry-card { border: 1px solid var(--event-line); border-radius: 12px; padding: 1.1rem; background: #fff; }
.enquiry-card__head { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.enquiry-card__head > div { min-width: 0; }
.enquiry-card h3 { margin: 0; color: var(--event-ink); overflow-wrap: anywhere; }
.enquiry-card__head p, .enquiry-card__details, .enquiry-card time { color: var(--event-muted); font-size: .88rem; }
.enquiry-card__details { line-height: 1.6; }
.enquiry-card__message { white-space: pre-wrap; line-height: 1.5; }
.enquiry-card__registration { display: grid; gap: 1rem; margin-top: 1rem; }
.enquiry-card__registration[hidden] { display: none; }
.enquiry-card__type { margin: 0; color: var(--event-muted); font-size: .85rem; text-transform: capitalize; }
.enquiry-card__registration h4 { margin: 0 0 .5rem; color: var(--event-ink); }
.enquiry-card__registration dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: .75rem 1.25rem; margin: 0; }
.enquiry-card__registration dl > div { min-width: 0; }
.enquiry-card__registration dt { color: var(--event-muted); font-size: .78rem; }
.enquiry-card__registration dd { margin: .15rem 0 0; color: var(--event-ink); overflow-wrap: anywhere; }
.enquiry-card time { display: block; margin-top: .8rem; }
.enquiry-card select { width: auto; flex: 0 0 auto; border: 1px solid var(--event-line); border-radius: 7px; padding: .5rem; font: inherit; }
.testimonials-state { align-self: center; max-width: 24rem; color: #172c66; font-size: 1rem; line-height: 1.5; }
.testimonials-state--error { color: #9b2736; }
.dashboard-panel h2 { margin: .2rem 0 1.5rem; font-size: 2.3rem; }
.dashboard-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.dashboard-toolbar h2 { margin: 0; }
.dashboard-form { display: grid; gap: 1.2rem; }
.dashboard-form label { display: grid; gap: .45rem; color: var(--event-ink); font-weight: 700; }
.dashboard-form input, .dashboard-form textarea { width: 100%; border: 1px solid #cdd2df; border-radius: 0; background: #fff; color: var(--event-ink); font: inherit; padding: .9rem 1rem; }
.dashboard-form input:focus, .dashboard-form textarea:focus { border-color: var(--event-blue); outline: 3px solid rgba(3,124,130,.16); }
.dashboard-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.dashboard-check { display: flex !important; grid-template-columns: auto 1fr !important; align-items: center; gap: .7rem !important; font-weight: 500 !important; }
.dashboard-check input { width: auto; }
.dashboard-form__actions { display: flex; flex-wrap: wrap; gap: .7rem; padding-top: .5rem; }
.dashboard-button { border: 0; border-radius: 0; cursor: pointer; font: inherit; font-weight: 800; padding: .95rem 1.2rem; }
.dashboard-button--primary { background: var(--event-blue); color: #fff; }
.dashboard-button--secondary { background: #e8eef0; color: var(--event-ink); }
.dashboard-button--danger { background: #fff0f0; color: var(--event-danger); }
.dashboard-button:disabled { cursor: not-allowed; opacity: .5; }
.dashboard-status { min-height: 1.5em; color: var(--event-blue); font-weight: 700; }
.dashboard-status.is-error { color: var(--event-danger); }
.auth-panel { max-width: 520px; margin: 0 auto; }
.dashboard-calendar { min-height: 620px; }
.fc { font-family: Montserrat, sans-serif; }
.fc .fc-button-primary { background: var(--event-blue); border-color: var(--event-blue); border-radius: 0; }
.fc .fc-button-primary:hover, .fc .fc-button-primary:focus { background: var(--event-ink); border-color: var(--event-ink); }
.fc .fc-daygrid-event { background: var(--event-blue); border-color: var(--event-blue); padding: .2rem; }
.fc .event-unpublished { background: #77718f; border-color: #77718f; border-style: dashed; }
.dashboard-user { margin: .35rem 0 0; color: var(--event-muted); font-size: 1rem; font-weight: 500; overflow-wrap: anywhere; }

@media (max-width: 850px) {
    .millennial-hero { min-height: auto; padding-top: max(245px, calc(26vh + 2rem)); }
    .millennial-hero__values { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .millennial-hero__value { height: clamp(13rem, 34vw, 19rem); }
    .feature-photo-stack { width: min(78%, 26rem); }
    .gallery-intro .gallery-shell { width: calc(100% - 2.5rem); }
    .gallery-heading { align-items: start; flex-direction: column; gap: 1rem; }
    .gallery-stage { padding: 1rem 1.25rem 5rem; }
    .cards { --img-w: min(80vw, 360px); }
    .card-data { text-align: center; }







    .events-grid, .dashboard-layout, .homepage-events { grid-template-columns: 1fr; }
    .homepage-events__list { display: flex; min-width: 0; margin-right: -1rem; padding: .5rem 1rem 1rem 0; overflow-x: auto; overflow-y: hidden; gap: 1rem; scroll-padding-inline: 0; scroll-snap-type: x proximity; scrollbar-color: rgba(97,0,151,.5) transparent; scrollbar-width: thin; }
    .homepage-events__list::-webkit-scrollbar { height: 8px; }
    .homepage-events__list::-webkit-scrollbar-track { background: transparent; }
    .homepage-events__list::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(97,0,151,.5); }
    .homepage-events__list::after { flex: 0 0 .25rem; content: ""; }
    .homepage-event-card { flex: 0 0 min(76vw, 18.5rem); width: min(76vw, 18.5rem); scroll-snap-align: start; }
    .testimonials-inner { gap: 3rem; }
    .testimonials-intro { width: min(460px, 72vw); }
    .testimonial-cards { min-height: 380px; }
    .events-shell, .dashboard-shell { width: calc(100% - 3rem); padding: 4rem 0 5rem; }
    .events-hero, .dashboard-hero { padding-left: 1.5rem; padding-right: 1.5rem; }
}

@media (max-width: 520px) {
    .millennial-hero { gap: 2rem; padding: max(245px, calc(26vh + 2rem)) 0 0; }
    .millennial-hero__intro { padding: 0 1rem; }
    .millennial-hero__intro h1 { font-size: clamp(2rem, 9.5vw, 3.5rem); }
    .millennial-hero__intro h1 span { font-size: .48em; }
    .millennial-hero__description { margin-top: .8rem; }
    .millennial-hero__values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .millennial-hero__value { height: clamp(9.5rem, 42vw, 13rem); }
    .millennial-hero__value h2 { top: 1rem; left: .8rem; font-size: .8rem; }
    .feature-photo-stack { width: min(72%, 20rem); }
    .events-panel, .dashboard-panel { padding: 1.2rem; }
    .events-panel__heading, .dashboard-toolbar { align-items: flex-start; flex-direction: column; }
    .dashboard-form__grid { grid-template-columns: 1fr; }
    .dashboard-calendar { min-height: 520px; }
    .fc .fc-toolbar { align-items: flex-start; flex-direction: column; gap: .7rem; }
    .homepage-events__list { display: flex; min-width: 0; margin-right: -1rem; padding: .5rem 1rem 1rem 0; overflow-x: auto; overflow-y: hidden; gap: 1rem; scroll-padding-inline: 0; scroll-snap-type: x proximity; scrollbar-color: rgba(97,0,151,.5) transparent; scrollbar-width: thin; }
    .homepage-events__list::-webkit-scrollbar { height: 8px; }
    .homepage-events__list::-webkit-scrollbar-track { background: transparent; }
    .homepage-events__list::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(97,0,151,.5); }
    .homepage-events__list::after { flex: 0 0 .25rem; content: ""; }
    .homepage-events { gap: 1.5rem; padding: 2.1rem 1rem 3rem; }
    .homepage-events__intro { text-align: center; }
    .homepage-events__intro h2, .values-card-section h2 { margin-right: auto; margin-left: auto; font-size: 2rem; line-height: 1.05; }
    .homepage-events__intro p { margin-top: .65rem; font-size: .86rem; line-height: 1.45; }
    .homepage-events__intro a { margin-top: .6rem; font-size: .85rem; }
    .homepage-events__swipe-hint { display: inline-flex; }
    .homepage-event-card { flex-basis: min(76vw, 18.5rem); width: min(76vw, 18.5rem); height: auto; touch-action: pan-x; }
    .homepage-event-card__body { padding: 1rem; }
    .homepage-event-card__description { min-height: 0; font-size: .9rem; }
    .testimonials-inner { min-height: 0; gap: 2.25rem; padding: 5rem 1.25rem 4rem; scroll-padding-inline: 1.25rem; }
    .testimonials-intro { width: min(330px, 78vw); }
    .testimonials-intro h2 { font-size: 2.35rem; }
    .testimonial-cards { min-height: 0; gap: 1.25rem; padding-top: .5rem; }
    .testimonial-card { flex-basis: min(280px, 78vw); width: min(280px, 78vw); min-height: 320px; padding: 0 1.25rem 1.25rem; }
    .testimonial-card__photo { width: calc(100% + 2.5rem); margin-right: -1.25rem; margin-left: -1.25rem; }
    .testimonial-card__pin { width: 78px; height: 96px; }
    .testimonial-card:hover { transform: translateY(-4px) !important; }
    .events-shell { width: calc(100% - 2rem); padding: 2.5rem 0 4rem; }
    .events-page #events-calendar { min-height: 0; padding: .35rem; }
    .events-page #events-calendar .fc .fc-toolbar { align-items: stretch; flex-direction: column; }
    .events-page #events-calendar .fc .fc-toolbar-chunk { display: flex; justify-content: center; }
    .events-page #events-calendar .fc .fc-toolbar-title { font-size: 1.15rem; }
    .events-page #events-calendar .fc .fc-list-event-title a { color: var(--event-ink); font-weight: 800; }
    .events-page #events-calendar .fc .fc-list-event-time,
    .events-page #events-calendar .fc .fc-list-event-graphic { color: var(--event-blue); font-weight: 700; }
    .events-gallery { grid-template-columns: 1fr; }
    .values-card-section { width: calc(100% - 2rem); padding: 3rem 0 4rem; }
    .values-card-grid { grid-template-columns: 1fr; gap: 1rem; margin-top: 2rem; }
    .value-card__image { height: 11rem; }
    .gallery-stage { padding: .5rem .75rem 4rem; }
    .cards { --img-w: min(88vw, 300px); }
    .card-img { border-width: 4px; }
    .card-data > h2 { font-size: 1.85rem; }
    .card-data > p { font-size: 1rem; }







}

@media (prefers-reduced-motion: reduce) {
    .millennial-hero__value, .millennial-hero__value img, .millennial-hero__link { animation: none; transition: none; }
    .homepage-event-card { transform: none !important; }
    .homepage-event-card__shadow,
    .homepage-event-card__background,
    .homepage-event-card__cutout,
    .homepage-event-card__frame,
    .homepage-event-card__body,
    .homepage-event-card__date-badge { transform: none; }
    .card, .card-img, .card-data { transition: none !important; }
    .card-img { rotate: 0deg !important; animation: none !important; }
}

/* Keep the admin surface inside the same visual language as the home page. */
.dashboard-page {
    background: #fff;
}

.dashboard-page .dashboard-hero {
    background: transparent;
    color: inherit;
    padding: 0;
}

.dashboard-page .dashboard-hero .Home_hero__g_og0 {
    background-image: url("images/hero.jpg");
    background-position: center;
}

.dashboard-page .dashboard-hero .Home_overlay__QgBtt {
    top: 20vh;
}

.dashboard-page .dashboard-hero__inner {
    max-width: none;
    margin: 0 5%;
    padding-left: 0;
}

.dashboard-page .dashboard-hero__inner h1 {
    color: #fff;
    font-size: 50px;
    line-height: 1.1;
}

.dashboard-page .dashboard-hero__inner p:last-child {
    color: #fff;
    font-size: 16px;
    line-height: 30px;
}

.dashboard-page .dashboard-shell {
    width: 95%;
    max-width: none;
    margin: 0;
    padding: 5vh 2.5%;
}

.dashboard-page .dashboard-layout {
    gap: 2.5vw;
}

.dashboard-page .dashboard-panel {
    border: 0;
    border-radius: 10px;
    background: #f9f7ff;
    box-shadow: 0 3px 3px 0 rgba(0,0,0,.15);
}

.dashboard-page .dashboard-button {
    border-radius: 4px;
}

.dashboard-page .dashboard-form input,
.dashboard-page .dashboard-form textarea {
    border-radius: 4px;
    background: #fff;
}

.dashboard-page .auth-panel {
    background: #f9f7ff;
}

.dashboard-page #login-form {
    grid-template-columns: 1fr 1fr;
}

.dashboard-page #login-form .dashboard-button {
    grid-column: 1 / -1;
    justify-self: start;
}

.dashboard-page .Footer_footer__JrJN9 {
    text-align: left;
}

@media (max-width: 799px) {
    .dashboard-page .dashboard-hero__inner h1 {
        font-size: 42px;
    }

    .dashboard-page .dashboard-hero__inner p:last-child {
        line-height: 25px;
    }
}

@media (max-width: 520px) {
    .dashboard-page #login-form {
        grid-template-columns: 1fr;
    }

    .dashboard-page #login-form .dashboard-button {
        grid-column: auto;
    }
}

.dashboard-page #login-panel.auth-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    width: min(900px, 100%);
    max-width: 900px;
    min-height: 500px;
    margin: 2rem auto 0;
    overflow: hidden;
    border: 1px solid rgba(9, 4, 70, .08);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(9, 4, 70, .16);
}

.dashboard-page .auth-form-box {
    display: flex;
    align-items: center;
    padding: 4rem clamp(2rem, 5vw, 5rem);
    background: #fff;
}

.dashboard-page .auth-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    width: 100%;
}

.dashboard-page #login-panel #login-form {
    grid-template-columns: 1fr;
}

.dashboard-page .auth-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.dashboard-page .auth-form h2,
.dashboard-page .auth-welcome-box h2 {
    margin: 0;
    color: var(--event-ink);
    font-size: clamp(2.4rem, 4vw, 3.8rem);
    line-height: 1.05;
}

.dashboard-page .auth-copy {
    margin: -.2rem 0 .8rem;
    color: var(--event-muted);
    line-height: 1.5;
}

.dashboard-page .auth-eyebrow {
    margin: 0 0 .5rem;
    color: var(--event-blue);
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dashboard-page .auth-input-box {
    position: relative;
    display: block;
}

.dashboard-page .auth-input-box input {
    box-sizing: border-box;
    width: 100%;
    min-height: 52px;
    padding: .85rem 3rem .85rem 1.1rem;
    border: 0;
    border-radius: 10px;
    background: #f1f3f8;
    color: var(--event-ink);
    font: inherit;
}

.dashboard-page .auth-input-box input:focus {
    outline: 3px solid rgba(3, 124, 130, .2);
}

.dashboard-page .auth-input-box i {
    position: absolute;
    top: 50%;
    right: 1rem;
    color: var(--event-muted);
    font-size: 1.35rem;
    transform: translateY(-50%);
}

.dashboard-page .auth-submit {
    width: 100%;
    min-height: 52px;
    margin-top: .5rem;
    border: 0;
    border-radius: 10px;
    background: var(--event-blue);
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    transition: background .2s ease, transform .2s ease;
}

.dashboard-page .auth-submit:hover,
.dashboard-page .auth-submit:focus-visible {
    background: var(--event-ink);
    transform: translateY(-1px);
}

.dashboard-page .auth-welcome-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4rem clamp(2rem, 4vw, 4rem);
    background: var(--event-ink);
    color: #fff;
}

.dashboard-page .auth-welcome-box h2 {
    color: #fff;
    font-size: clamp(2.3rem, 4vw, 4rem);
}

.dashboard-page .auth-welcome-box .auth-eyebrow {
    color: var(--event-yellow);
}

.dashboard-page .auth-welcome-box p:last-child {
    max-width: 300px;
    color: rgba(255, 255, 255, .78);
    line-height: 1.7;
}

.dashboard-page .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 680px) {
    .dashboard-page #login-panel.auth-panel {
        grid-template-columns: 1fr;
        min-height: 0;
        margin-top: 0;
        border-radius: 20px;
    }

    .dashboard-page .auth-form-box,
    .dashboard-page .auth-welcome-box {
        padding: 2.5rem 1.5rem;
    }

    .dashboard-page .auth-welcome-box {
        order: -1;
        min-height: 190px;
    }

    .dashboard-page .auth-fields {
        grid-template-columns: 1fr;
    }
}

/* Keep the calendar and editor columns inside their grid tracks on desktop. */
.dashboard-page #dashboard-app {
    grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);
}

.dashboard-page #dashboard-app > .dashboard-panel {
    box-sizing: border-box;
    min-width: 0;
    overflow: hidden;
}

.dashboard-page #dashboard-app .dashboard-toolbar {
    align-items: flex-start;
}

.dashboard-page #dashboard-app .dashboard-toolbar > div {
    min-width: 0;
}

.dashboard-page #dashboard-app .dashboard-panel h2 {
    max-width: 100%;
    margin-bottom: 1.2rem;
    font-size: clamp(2rem, 3vw, 2.8rem);
    line-height: 1.08;
}

.dashboard-page #dashboard-app .dashboard-button {
    flex: 0 0 auto;
    white-space: nowrap;
}

.dashboard-page #dashboard-app .dashboard-form,
.dashboard-page #dashboard-app .dashboard-form__grid {
    min-width: 0;
}

.dashboard-page #dashboard-app .dashboard-form input,
.dashboard-page #dashboard-app .dashboard-form textarea,
.dashboard-page #dashboard-app .dashboard-form select {
    box-sizing: border-box;
    min-width: 0;
}

.dashboard-page #dashboard-app .dashboard-calendar {
    min-width: 0;
    overflow: hidden;
    min-height: 540px;
    padding: .5rem;
    border: 1px solid rgba(9, 4, 70, .08);
    background: #fff;
}

.dashboard-page #dashboard-app .fc {
    overflow-x: visible;
}

.dashboard-page #dashboard-app .fc .fc-scroller {
    overflow: auto !important;
}

.dashboard-page #dashboard-app .fc .fc-toolbar-title {
    color: var(--event-ink);
    font-size: 1.7rem;
}

.dashboard-page #dashboard-app .fc .fc-daygrid-day-number {
    color: var(--event-ink);
    font-weight: 700;
}

.dashboard-page .calendar-fallback {
    padding: 1rem;
    background: #fff;
}

.dashboard-page .calendar-fallback__head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    margin-bottom: 1.25rem;
    color: var(--event-muted);
}

.dashboard-page .calendar-fallback__head strong {
    color: var(--event-ink);
    font-size: 1.8rem;
}

.dashboard-page .calendar-fallback__week,
.dashboard-page .calendar-fallback__grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: .45rem;
}

.dashboard-page .calendar-fallback__week {
    margin-bottom: .45rem;
    color: var(--event-muted);
    font-size: .9rem;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
}

.dashboard-page .calendar-fallback__day,
.dashboard-page .calendar-fallback__empty {
    min-height: 68px;
}

.dashboard-page .calendar-fallback__day {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding: .75rem;
    border: 1px solid rgba(9, 4, 70, .1);
    border-radius: 6px;
    background: #fff;
    color: var(--event-ink);
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    text-align: left;
}

.dashboard-page .calendar-fallback__event {
    display: block;
    max-width: 100%;
    margin-top: .35rem;
    overflow: hidden;
    color: var(--event-blue);
    font-size: .8rem;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-page .calendar-fallback__day:hover,
.dashboard-page .calendar-fallback__day:focus-visible {
    border-color: var(--event-blue);
    outline: 3px solid rgba(3, 124, 130, .16);
}

.dashboard-page .calendar-fallback__day.has-event {
    background: #eef8f8;
}

.dashboard-page .calendar-fallback__dot {
    position: absolute;
    right: .7rem;
    bottom: .7rem;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--event-yellow);
}

@media (max-width: 520px) {
    .dashboard-page .calendar-fallback__day,
    .dashboard-page .calendar-fallback__empty {
        min-height: 48px;
    }

    .dashboard-page .calendar-fallback__day {
        padding: .5rem;
    }
}

/* Modern admin workspace skin. */
.dashboard-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at 8% 18%, rgba(112, 0, 168, .1), transparent 28rem),
        #f5f4fa;
}

.dashboard-page .dashboard-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(115deg, #17004b 0%, #610097 55%, #037c82 125%);
}

.dashboard-page .dashboard-hero .Home_hero__g_og0 {
    min-height: 310px;
    background-image: url("images/hero.jpg");
    background-position: center 58%;
    background-blend-mode: soft-light;
}

.dashboard-page .dashboard-hero .Home_overlay__QgBtt {
    top: 0;
    background: linear-gradient(115deg, rgba(23, 0, 75, .94), rgba(97, 0, 151, .72), rgba(3, 124, 130, .62));
}

.dashboard-page .dashboard-hero__inner {
    display: flex;
    min-height: 310px;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
    padding: 3rem 7%;
}

.dashboard-page .dashboard-hero__inner h1 {
    max-width: 720px;
    margin: .25rem 0 .75rem;
    font-size: clamp(2.7rem, 6vw, 5rem);
    letter-spacing: -.045em;
}

.dashboard-page .dashboard-hero__inner p:last-child {
    max-width: 560px;
    color: rgba(255, 255, 255, .82);
    font-size: 1.1rem;
    line-height: 1.6;
}

.dashboard-page .dashboard-shell {
    width: min(1380px, 92%);
    margin: -3rem auto 0;
    padding: 0 0 6rem;
    position: relative;
    z-index: 2;
}

.dashboard-page .dashboard-status {
    min-height: 0;
    margin: 0 0 1rem;
    padding: .8rem 1rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 10px 25px rgba(9, 4, 70, .06);
}

.dashboard-page #dashboard-app {
    gap: 1.5rem;
}

.dashboard-page #dashboard-app > .dashboard-panel {
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 24px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 22px 55px rgba(9, 4, 70, .11);
    padding: clamp(1.25rem, 2.5vw, 2.25rem);
    backdrop-filter: blur(16px);
}

.dashboard-page #dashboard-app .dashboard-toolbar {
    align-items: center;
    margin-bottom: 1.5rem;
}

.dashboard-page #dashboard-app .dashboard-toolbar .events-kicker {
    margin: 0 0 .35rem;
    color: var(--event-blue);
    font-size: .75rem;
}

.dashboard-page #dashboard-app .dashboard-panel h2 {
    margin: 0;
    font-size: clamp(1.6rem, 3vw, 2.35rem);
    letter-spacing: -.035em;
}

.dashboard-page #dashboard-app .dashboard-button {
    border-radius: 12px;
    padding: .8rem 1rem;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.dashboard-page #dashboard-app .dashboard-button:hover,
.dashboard-page #dashboard-app .dashboard-button:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(9, 4, 70, .14);
}

.dashboard-page #dashboard-app .dashboard-button--primary {
    background: linear-gradient(135deg, #610097, #037c82);
}

.dashboard-page #dashboard-app .dashboard-button--secondary {
    background: #eeeafa;
    color: var(--event-ink);
}

.dashboard-page #dashboard-app .dashboard-button--danger {
    background: #fff0f2;
}

.dashboard-page #dashboard-app .dashboard-form {
    gap: 1rem;
}

.dashboard-page #dashboard-app .dashboard-form label {
    gap: .45rem;
    color: var(--event-ink);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.dashboard-page #dashboard-app .dashboard-form input,
.dashboard-page #dashboard-app .dashboard-form textarea {
    border: 1px solid #e1deed;
    border-radius: 12px;
    background: #f8f7fc;
    padding: .85rem 1rem;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.dashboard-page #dashboard-app .dashboard-form input:focus,
.dashboard-page #dashboard-app .dashboard-form textarea:focus {
    border-color: #610097;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(97, 0, 151, .1);
    outline: 0;
}

.dashboard-page #dashboard-app .dashboard-check {
    padding: .7rem .85rem;
    border-radius: 10px;
    background: #f8f7fc;
    font-size: .78rem;
    text-transform: none;
}

.dashboard-page #dashboard-app .dashboard-check input {
    accent-color: #610097;
}

.dashboard-page #dashboard-app .dashboard-calendar {
    min-height: 560px;
    padding: .85rem;
    border: 0;
    border-radius: 16px;
    background: #fbfaff;
}

.dashboard-page #dashboard-app .fc {
    --fc-border-color: #e9e5f2;
    --fc-today-bg-color: rgba(97, 0, 151, .07);
    color: var(--event-ink);
}

.dashboard-page #dashboard-app .fc .fc-toolbar {
    gap: .75rem;
    margin-bottom: 1.25rem;
}

.dashboard-page #dashboard-app .fc .fc-toolbar-title {
    font-size: 1.35rem;
    letter-spacing: -.025em;
}

.dashboard-page #dashboard-app .fc .fc-button-primary {
    border: 0;
    border-radius: 9px;
    background: #eeeafa;
    color: var(--event-ink);
    font-size: .8rem;
    font-weight: 800;
}

.dashboard-page #dashboard-app .fc .fc-button-primary:hover,
.dashboard-page #dashboard-app .fc .fc-button-primary:focus {
    background: #610097;
    color: #fff;
}

.dashboard-page #dashboard-app .fc .fc-button-primary:not(:disabled).fc-button-active {
    background: #610097;
    color: #fff;
}

.dashboard-page #dashboard-app .fc .fc-col-header-cell-cushion,
.dashboard-page #dashboard-app .fc .fc-daygrid-day-number {
    color: var(--event-muted);
    font-size: .76rem;
    font-weight: 800;
    text-decoration: none;
}

.dashboard-page #dashboard-app .fc .fc-daygrid-day-number {
    color: var(--event-ink);
    padding: .65rem;
}

.dashboard-page #dashboard-app .fc .fc-daygrid-event {
    margin: .2rem;
    border: 0;
    border-radius: 6px;
    background: linear-gradient(135deg, #610097, #037c82);
    padding: .25rem .4rem;
    font-size: .7rem;
    font-weight: 700;
}

@media (max-width: 850px) {
    .site-clock { margin-right: .75rem; }
    .dashboard-page .dashboard-shell {
        width: 94%;
    }
}

@media (max-width: 520px) {
    .site-clock { min-width: 6.8rem; padding: .4rem .5rem; font-size: .72rem; }
    .dashboard-page .dashboard-hero .Home_hero__g_og0,
    .dashboard-page .dashboard-hero__inner {
        min-height: 270px;
    }

    .dashboard-page .dashboard-shell {
        margin-top: -2rem;
    }

    .dashboard-page #dashboard-app > .dashboard-panel {
        border-radius: 18px;
        padding: 1rem;
    }

    .dashboard-page #dashboard-app .dashboard-toolbar {
        align-items: flex-start;
    }

    .dashboard-page #dashboard-app .dashboard-calendar {
        padding: .35rem;
    }
}

@media (max-width: 850px) {
    .dashboard-page #dashboard-app {
        grid-template-columns: 1fr;
    }
}

.login-page {
    min-height: 100vh;
    background: #081d36;
}

.login-layout {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
    min-height: 100vh;
    background: linear-gradient(89.48deg, rgba(97, 0, 151, .9) .83%, rgba(0, 0, 0, 0) 65.63%), url("images/hero.jpg") center / cover;
}

.login-showcase {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-sizing: border-box;
    min-height: 100vh;
    padding: clamp(2rem, 6vw, 6rem);
    overflow: hidden;
    color: #fff;
}

.login-showcase::after {
    position: absolute;
    right: -12rem;
    bottom: -12rem;
    width: 28rem;
    height: 28rem;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
    box-shadow: 0 0 0 2rem rgba(255, 255, 255, .04), 0 0 0 5rem rgba(255, 255, 255, .025);
    content: "";
}

.login-brand {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-self: center;
    width: min(250px, 78%);
    padding: .7rem 1rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .16);
}

.login-brand img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
}

.login-showcase__content {
    position: relative;
    z-index: 1;
    max-width: 650px;
}

.login-showcase__content h1 {
    margin: .4rem 0 1.5rem;
    color: #fff;
    font-size: clamp(2.8rem, 5.5vw, 5.7rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.login-showcase__content > p:last-child {
    max-width: 520px;
    color: rgba(255, 255, 255, .82);
    font-size: clamp(1rem, 1.5vw, 1.3rem);
    line-height: 1.65;
}

.login-showcase__footer {
    position: relative;
    z-index: 1;
    margin: 0;
    color: rgba(255, 255, 255, .7);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.login-wrap {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    min-height: 100vh;
    padding: clamp(2rem, 6vw, 6rem);
    background: rgba(8, 29, 54, .12);
}

.login-card {
    box-sizing: border-box;
    width: 100%;
    max-width: 500px;
    padding: clamp(1.8rem, 4vw, 3.5rem);
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, .42);
    background: rgba(35, 12, 62, .58);
    box-shadow: 0 24px 70px rgba(9, 4, 70, .3);
    backdrop-filter: blur(22px);
}

.login-card__intro h2 {
    margin: .3rem 0 .8rem;
    color: #fff;
    font-size: clamp(2.2rem, 4vw, 3.6rem);
    line-height: 1;
    letter-spacing: -.045em;
}

.login-card__intro > p:last-child {
    margin: 0 0 1.25rem;
    color: rgba(255, 255, 255, .82);
    line-height: 1.6;
}

.login-form {
    display: grid;
    gap: 1.25rem;
}

.login-form label {
    display: grid;
    gap: .5rem;
    color: #fff;
    font-weight: 700;
}

.login-form input {
    box-sizing: border-box;
    width: 100%;
    min-height: 56px;
    padding: .85rem 1.1rem;
    border: 1px solid rgba(255, 255, 255, .48);
    border-radius: 10px;
    background: rgba(255, 255, 255, .16);
    color: #fff;
    font: inherit;
}

.login-form input:focus {
    border-color: #fff;
    outline: 3px solid rgba(255, 255, 255, .2);
}

.login-form input::placeholder {
    color: rgba(255, 255, 255, .72);
}

.login-submit {
    width: 100%;
    min-height: 56px;
    margin-top: .5rem;
    border: 0;
    border-radius: 10px;
    background: #fff;
    color: var(--event-ink);
    cursor: pointer;
    font: inherit;
    font-weight: 800;
}

.login-submit:hover,
.login-submit:focus-visible {
    background: var(--event-ink);
}

.login-submit:disabled {
    cursor: wait;
    opacity: .6;
}

.login-status {
    min-height: 1.5em;
    margin: 0 0 1.25rem;
    color: #fff;
    font-weight: 700;
}

.login-status:empty {
    display: none;
}

.login-status.is-error,
.login-alert {
    color: var(--event-danger);
}

.login-alert {
    margin-bottom: 1.5rem;
    padding: 1rem;
    border-left: 4px solid var(--event-danger);
    background: #fff0f0;
    line-height: 1.5;
}

.login-back {
    margin: 2.5rem 0 0;
    text-align: center;
}

.login-back a {
    color: #fff;
    font-weight: 800;
    text-decoration: underline;
}

@media (max-width: 520px) {
    .login-layout {
        display: block;
        background-position: 65% center;
    }

    .login-showcase {
        min-height: 52vh;
        padding: 2rem 1.5rem 2.5rem;
    }

    .login-showcase__content h1 {
        font-size: clamp(2.5rem, 12vw, 4rem);
    }

    .login-wrap {
        min-height: auto;
        padding: 3.5rem 1.2rem 4rem;
    }

    .login-card {
        padding: 2rem 1.4rem;
    }
}

.gallery-page .events-hero {
    padding: clamp(12rem, 15vw, 15rem) 2rem clamp(4rem, 6vw, 5.5rem);
}

.gallery-page .events-hero .events-kicker {
    margin: 0 0 1rem;
    font-size: .95rem;
    line-height: 1.4;
}

.gallery-page .events-hero h1 {
    font-size: clamp(2.8rem, 6vw, 5.5rem);
    line-height: 1.04;
}

.gallery-page .events-hero__inner > p:last-child {
    margin: 0;
    font-size: clamp(1.05rem, 1.7vw, 1.25rem);
    line-height: 1.65;
}

.gallery-page .gallery-intro {
    padding: clamp(3rem, 6vw, 5rem) 0 0;
}

.gallery-page .gallery-heading {
    margin-bottom: 0;
}

.gallery-page .gallery-heading h2 {
    font-size: clamp(2rem, 4.5vw, 3.8rem);
    line-height: 1.08;
}

.gallery-page .gallery-stage {
    padding: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 4vw, 4rem) clamp(4rem, 7vw, 6rem);
}

.gallery-page .cards {
    width: min(1120px, 100%);
    --img-w: clamp(280px, 32vw, 390px);
}

.gallery-page .card {
    --cards-grid-cols: minmax(0, var(--img-w)) minmax(0, 1fr);
    --cards-grid-rows: auto;
    --cards-grid-gap: clamp(2.5rem, 6vw, 5rem);
    --cards-footer-justify: start;
    min-width: 0;
}

.gallery-page .card-img {
    max-width: 100%;
}

.gallery-page .card-data {
    width: 100%;
    min-width: 0;
}

.gallery-page .gallery-stage .cards,
.gallery-page .gallery-stage .card,
.gallery-page .gallery-stage .card-data {
    overflow: visible !important;
}

.gallery-page .card:nth-of-type(1) { --angle: 4deg; }
.gallery-page .card:nth-of-type(2) { --angle: -8deg; }
.gallery-page .card:nth-of-type(3) { --angle: -7deg; }
.gallery-page .card:nth-of-type(4) { --angle: 11deg; }
.gallery-page .card:nth-of-type(5) { --angle: 13deg; }
.gallery-page .card:nth-of-type(6) { --angle: -17deg; }

@media (max-width: 850px) {
    .gallery-page .gallery-hero {
        padding: max(15rem, 27vh) 1.5rem 3.5rem;
    }

    .gallery-page .gallery-hero h1 {
        font-size: clamp(2.6rem, 9vw, 4rem);
    }

    .gallery-page .gallery-hero .events-kicker {
        font-size: .85rem;
    }

    .gallery-page .gallery-intro {
        padding: 3rem 0 0;
    }

    .gallery-page .gallery-heading {
        gap: .85rem;
    }

    .gallery-page .gallery-heading h2 {
        font-size: clamp(2rem, 8vw, 3rem);
    }

    .gallery-page .gallery-heading > p {
        font-size: 1rem;
        line-height: 1.6;
    }

    .gallery-page .gallery-stage {
        padding: 2.5rem 1.25rem 4rem;
    }

    .gallery-page .cards {
        --img-w: min(76vw, 320px);
    }

    .gallery-page .card {
        --cards-grid-cols: minmax(0, 1fr);
        --cards-grid-rows: auto auto;
        --cards-grid-gap: 1.5rem;
        --cards-footer-justify: center;
    }

    .gallery-page .card-data {
        gap: .85rem;
        text-align: center;
    }

    .gallery-page .card-data > footer {
        order: -1;
        margin: 0 0 .25rem;
    }

    .gallery-page .card:nth-of-type(1) { --angle: 1deg; }
    .gallery-page .card:nth-of-type(2) { --angle: -2deg; }
    .gallery-page .card:nth-of-type(3) { --angle: 2deg; }
    .gallery-page .card:nth-of-type(4) { --angle: -1deg; }
    .gallery-page .card:nth-of-type(5) { --angle: 2deg; }
    .gallery-page .card:nth-of-type(6) { --angle: -2deg; }
}

@media (max-width: 520px) {
    .gallery-page .gallery-shell {
        width: calc(100% - 2.5rem);
    }

    .gallery-page .gallery-hero {
        padding-top: max(14.5rem, 27vh);
    }

    .gallery-page .gallery-stage {
        padding-inline: 1rem;
    }

    .gallery-page .cards {
        --img-w: min(74vw, 290px);
    }

    .gallery-page .card-data > footer {
        gap: 1rem;
    }
}
