:root {
    --bg: #000;
    --panel: #0b0b0b;
    --panel-2: #14110d;
    --ink: #f7efe1;
    --muted: #b9ad9d;
    --gold: #d6a84f;
    --gold-2: #f2cf7a;
    --red: #7f1f1f;
    --line: rgba(247, 239, 225, 0.16);
    --shadow: 0 28px 80px rgba(0, 0, 0, 0.5);
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background:
        radial-gradient(circle at 12% 8%, rgba(214, 168, 79, 0.08), transparent 28rem),
        radial-gradient(circle at 92% 18%, rgba(127, 31, 31, 0.12), transparent 30rem),
        var(--bg);
    color: var(--ink);
    font-family: Inter, Arial, sans-serif;
    line-height: 1.6;
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
}

.skip-link {
    position: absolute;
    left: -999px;
}

.skip-link:focus {
    left: 1rem;
    top: 1rem;
    z-index: 20;
    background: var(--gold);
    color: #080604;
    padding: 0.7rem 1rem;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem clamp(1rem, 4vw, 3rem);
    background: rgba(0, 0, 0, 0.84);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid var(--line);
}

.site-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -7px;
    height: 5px;
    background-image: linear-gradient(rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.72)), url("../images/africanprint1.jpg");
    background-size: auto, 220px auto;
    background-position: center;
    opacity: 0.38;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    text-decoration: none;
}

.brand-mark {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--gold);
    border-radius: 50%;
    color: var(--gold-2);
    font-family: Cinzel, serif;
    font-weight: 700;
}

.brand strong,
h1,
h2,
h3 {
    font-family: Cinzel, Georgia, serif;
    line-height: 1.08;
}

h1,
h2 {
    text-shadow: 0 1px 0 rgba(214, 168, 79, 0.2);
}

.brand small {
    display: block;
    color: var(--muted);
    font-size: 0.76rem;
}

.site-nav {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.site-nav a {
    padding: 0.65rem 0.85rem;
    border-radius: 999px;
    color: var(--muted);
    text-decoration: none;
    font-weight: 700;
    font-size: 0.92rem;
}

.site-nav a:hover,
.site-nav a.active {
    background: rgba(214, 168, 79, 0.12);
    color: var(--gold-2);
}

.menu-toggle {
    display: none;
    background: transparent;
    color: var(--ink);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 0.6rem 0.9rem;
}

.hero {
    position: relative;
    min-height: 88vh;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    padding: clamp(4.8rem, 9vw, 8rem) clamp(1rem, 6vw, 5rem) clamp(2rem, 8vw, 5rem);
    background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.54), rgba(0, 0, 0, 0.76)), var(--hero-image);
    background-size: cover;
    background-position: center;
}

.hero-split {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.82fr);
    align-items: center;
    min-height: 86vh;
    background-image: radial-gradient(circle at 18% 22%, rgba(127, 31, 31, 0.36), transparent 34%), linear-gradient(110deg, #000 0%, #080604 54%, #000 100%);
}

.hero-split::before {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 10px;
    background-image: linear-gradient(rgba(0, 0, 0, 0.76), rgba(0, 0, 0, 0.76)), url("../images/africanprint1.jpg");
    background-size: auto, 260px auto;
    opacity: 0.32;
}

.hero-split h1 {
    max-width: 10ch;
}

.hero-slider {
    position: relative;
    min-height: clamp(430px, 62vh, 690px);
    border: 1px solid rgba(214, 168, 79, 0.42);
    box-shadow: var(--shadow);
    overflow: hidden;
    background: var(--panel);
}

.hero-slide {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    transform: scale(1.04);
    transition: opacity 900ms ease, transform 1200ms ease;
}

.hero-slide.active {
    opacity: 1;
    transform: scale(1);
}

.hero-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 42%, rgba(0, 0, 0, 0.86));
}

.hero-slide figcaption {
    position: absolute;
    left: 1.2rem;
    right: 1.2rem;
    bottom: 1.2rem;
    z-index: 1;
    color: var(--ink);
    font-weight: 800;
    font-size: 1.15rem;
}

.compact-hero {
    min-height: 46vh;
    padding-top: clamp(4.2rem, 7vw, 6rem);
    padding-bottom: clamp(2rem, 5vw, 3.5rem);
}

.hero-content {
    max-width: 820px;
}

.eyebrow {
    margin: 0 0 0.8rem;
    color: var(--gold-2);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-size: 0.78rem;
    font-weight: 800;
}

.eyebrow::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 6px;
    margin-right: 0.65rem;
    background-image: linear-gradient(rgba(0, 0, 0, 0.66), rgba(0, 0, 0, 0.66)), url("../images/africanprint1.jpg");
    background-size: auto, 90px auto;
    vertical-align: 0.08em;
    opacity: 0.42;
}

h1 {
    margin: 0;
    max-width: 12ch;
    font-size: clamp(3rem, 8vw, 7.5rem);
}

.compact-hero h1 {
    font-size: clamp(2.7rem, 6vw, 5.6rem);
}

h2 {
    margin: 0 0 1rem;
    font-size: clamp(2rem, 4vw, 4rem);
}

h3 {
    margin: 0 0 0.7rem;
    font-size: 1.45rem;
}

.hero p {
    max-width: 690px;
    color: var(--muted);
    font-size: 1.1rem;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.8rem;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0.8rem 1.2rem;
    border-radius: 999px;
    border: 1px solid var(--line);
    text-decoration: none;
    font-weight: 800;
    cursor: pointer;
}

.button-primary {
    background: var(--gold);
    color: #090703;
    border-color: var(--gold);
}

.button-ghost {
    background: rgba(0, 0, 0, 0.3);
    color: var(--ink);
}

.visit-card {
    max-width: 320px;
    padding: 1.2rem;
    background: rgba(10, 8, 6, 0.78);
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
}

.visit-card span,
.footer-heading {
    color: var(--gold-2);
    font-weight: 800;
}

.visit-card strong {
    display: block;
    margin-top: 0.4rem;
}

.section {
    padding: clamp(3rem, 7vw, 7rem) clamp(1rem, 6vw, 5rem);
}

.section:nth-of-type(even) {
    background:
        linear-gradient(rgba(0, 0, 0, 0.965), rgba(0, 0, 0, 0.975)),
        url("../images/africanprint1.jpg");
    background-size: auto, 420px auto;
    background-attachment: scroll;
}

.intro-grid,
.about-story {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
    gap: clamp(2rem, 6vw, 5rem);
    align-items: start;
}

.intro-grid p,
.about-story p,
.split-feature p,
.story-card p,
.event-card p,
.learning-grid p,
.values-grid p,
.collection-row p {
    color: var(--muted);
}

.image-rail {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.8rem;
    padding-top: 0;
}

.image-rail figure,
.masonry-gallery figure {
    margin: 0;
    overflow: hidden;
    background: var(--panel);
}

.image-rail img {
    width: 100%;
    height: 340px;
    object-fit: cover;
}

.section-heading {
    max-width: 800px;
    margin-bottom: 2rem;
}

.section-heading p:not(.eyebrow) {
    color: var(--muted);
}

.story-grid,
.event-grid,
.learning-grid,
.values-grid,
.ticket-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.story-card,
.event-card,
.learning-grid article,
.values-grid article,
.ticket-card,
.booking-form,
.booking-summary,
.login-panel {
    background: linear-gradient(145deg, var(--panel), var(--panel-2));
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 1.4rem;
}

.story-card::before,
.event-card::before,
.learning-grid article::before,
.values-grid article::before,
.ticket-card::before,
.booking-summary::before,
.login-panel::before {
    content: "";
    display: block;
    height: 6px;
    margin: -1.4rem -1.4rem 1.2rem;
    border-radius: 8px 8px 0 0;
    background-image: linear-gradient(rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0.62)), url("../images/africanprint1.jpg");
    background-size: auto, 190px auto;
    opacity: 0.28;
}

.split-feature,
.booking-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.72fr);
    gap: 2rem;
    align-items: center;
}

.split-feature img {
    width: 100%;
    height: 620px;
    object-fit: cover;
}

.text-link {
    color: var(--gold-2);
    font-weight: 800;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
}

.cta-band {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    background: linear-gradient(90deg, #120b05, #000);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.collection-list {
    display: grid;
    gap: 1rem;
}

.collection-row {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 1.5rem;
    align-items: center;
    padding: 1rem;
    border: 1px solid var(--line);
    background: var(--panel);
    border-left: 7px solid var(--gold);
}

.collection-row img {
    width: 100%;
    height: 240px;
    object-fit: cover;
}

.timeline {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
}

.timeline div {
    background: var(--panel);
    padding: 1.3rem;
    border: 1px solid var(--line);
    border-top: 6px solid var(--gold);
}

.timeline span {
    color: var(--gold-2);
    font-weight: 900;
}

.masonry-gallery {
    columns: 3 260px;
    column-gap: 1rem;
}

.masonry-gallery figure {
    break-inside: avoid;
    margin-bottom: 1rem;
}

.masonry-gallery img {
    width: 100%;
    min-height: 260px;
    object-fit: cover;
}

.event-card span,
.form-row span {
    color: var(--gold-2);
    font-weight: 800;
}

.booking-layout {
    align-items: start;
}

.ticket-showcase {
    padding-bottom: 1rem;
}

.ticket-card {
    text-align: left;
    color: var(--ink);
    cursor: pointer;
    min-height: 230px;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.ticket-card:hover,
.ticket-card.active {
    transform: translateY(-4px);
    border-color: var(--gold);
    background: linear-gradient(145deg, #171008, #0b0b0b);
}

.ticket-card span {
    display: inline-flex;
    margin-bottom: 1rem;
    color: var(--gold-2);
    text-transform: uppercase;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.ticket-card strong {
    display: block;
    margin-top: 1rem;
    font-size: 1.4rem;
    color: var(--gold-2);
}


.ticket-subtypes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 1rem;
}

.ticket-subtype {
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #090909;
    color: var(--ink);
    padding: 0.65rem 0.8rem;
    display: grid;
    gap: 0.2rem;
    text-align: left;
    cursor: pointer;
    transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.ticket-subtype:hover,
.ticket-subtype.active {
    border-color: var(--gold);
    background: #2a1b0d;
    transform: translateY(-1px);
}

.ticket-subtype b {
    color: var(--ink);
    font-size: 0.85rem;
}

.ticket-subtype small {
    color: var(--gold-2);
    font-weight: 800;
}
.booking-side {
    display: grid;
    gap: 1rem;
}

.booking-form {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.form-row {
    display: grid;
    gap: 0.45rem;
}

.form-row label {
    color: var(--ink);
    font-weight: 800;
}

input,
select {
    width: 100%;
    min-height: 48px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #050505;
    color: var(--ink);
    padding: 0.8rem;
}

.booking-form .button {
    grid-column: 1 / -1;
}

.price-line {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1rem;
    margin-top: 1rem;
    border-top: 1px solid var(--line);
}

.booking-message {
    margin-top: 1rem;
    color: var(--muted);
}

.booking-message.success {
    color: #99e6a7;
}

.booking-message.error {
    color: #ffb0a6;
}

.login-panel h2 {
    font-size: clamp(1.6rem, 3vw, 2.4rem);
}

.login-panel form {
    display: grid;
    gap: 0.85rem;
}

.login-status {
    margin-bottom: 0;
    color: var(--muted);
}

.login-status.success {
    color: #99e6a7;
}

.login-status.error {
    color: #ffb0a6;
}

.payment-return {
    display: grid;
    gap: 2rem;
    padding-top: clamp(2.5rem, 5vw, 4rem);
}

.payment-return-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.68fr);
    gap: 1.2rem;
    align-items: stretch;
}

.payment-status-card,
.return-visit-panel,
.ticket-placeholder,
.web-ticket-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(145deg, var(--panel), var(--panel-2));
    box-shadow: var(--shadow);
}

.payment-status-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    min-height: 100%;
    padding: clamp(1.5rem, 4vw, 2.4rem);
    position: relative;
    overflow: hidden;
}

.payment-status-card::before,
.return-visit-panel::before,
.ticket-placeholder::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 7px;
    background-image: linear-gradient(rgba(0, 0, 0, 0.66), rgba(0, 0, 0, 0.66)), url("../images/africanprint1.jpg");
    background-size: auto, 240px auto;
    opacity: 0.46;
}

.payment-status-card h2,
.return-visit-panel h2,
.ticket-placeholder h2 {
    font-size: clamp(1.8rem, 4vw, 3.3rem);
}

.payment-help {
    margin-top: 1.4rem;
    padding: 1rem;
    border: 1px solid rgba(214, 168, 79, 0.22);
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.25);
}

.payment-help p {
    margin: 0.35rem 0 0;
    color: var(--muted);
}

.payment-progress {
    display: flex;
    gap: 0.5rem;
    margin-top: 1.4rem;
}

.payment-progress span {
    width: 54px;
    height: 7px;
    border-radius: 999px;
    background: var(--gold);
    animation: paymentPulse 1.4s ease-in-out infinite;
}

.payment-progress span:nth-child(2) {
    animation-delay: 160ms;
}

.payment-progress span:nth-child(3) {
    animation-delay: 320ms;
}

@keyframes paymentPulse {
    0%, 100% { opacity: 0.25; transform: scaleX(0.7); }
    50% { opacity: 1; transform: scaleX(1); }
}

.status-dot {
    width: 18px;
    height: 18px;
    margin-top: 0.35rem;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 0 8px rgba(214, 168, 79, 0.12);
}

.status-dot.success {
    background: #40d46f;
    box-shadow: 0 0 0 8px rgba(64, 212, 111, 0.12);
}

.status-dot.error {
    background: #ff665c;
    box-shadow: 0 0 0 8px rgba(255, 102, 92, 0.12);
}

.return-visit-panel {
    position: relative;
    overflow: hidden;
    padding: clamp(1.5rem, 4vw, 2rem);
    background:
        linear-gradient(rgba(0, 0, 0, 0.86), rgba(0, 0, 0, 0.92)),
        url("../images/africanprint1.jpg"),
        linear-gradient(145deg, var(--panel), var(--panel-2));
    background-size: auto, 460px auto, auto;
}

.return-visit-panel p:not(.eyebrow) {
    color: var(--muted);
}

.mini-ticket {
    margin-top: 2rem;
    padding: 1.1rem;
    border-radius: 8px;
    border: 1px dashed rgba(214, 168, 79, 0.5);
    background: rgba(0, 0, 0, 0.42);
}

.mini-ticket span,
.mini-ticket strong {
    display: block;
}

.mini-ticket span {
    color: var(--gold-2);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.mini-ticket strong {
    margin-top: 0.35rem;
    font-size: 1.4rem;
}

.ticket-placeholder {
    position: relative;
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 1.5rem;
    align-items: center;
    overflow: hidden;
    padding: clamp(1.5rem, 4vw, 2rem);
}

.ticket-placeholder p:not(.eyebrow) {
    color: var(--muted);
}

.placeholder-qr {
    width: 190px;
    height: 190px;
    margin: 0 auto;
    border-radius: 8px;
    border: 12px solid #fff;
    background:
        linear-gradient(90deg, #111 14px, transparent 14px) 0 0 / 28px 28px,
        linear-gradient(#111 14px, transparent 14px) 0 0 / 28px 28px,
        #fff;
    opacity: 0.16;
}

.web-ticket-card {
    overflow: hidden;
}

.web-ticket-card header {
    padding: clamp(1.4rem, 4vw, 2rem);
    background:
        linear-gradient(rgba(0, 0, 0, 0.64), rgba(0, 0, 0, 0.78)),
        url("../images/africanprint1.jpg"),
        var(--gold);
    background-size: auto, 420px auto, auto;
}

.web-ticket-card header p {
    margin: 0 0 0.4rem;
    color: #fff;
    font-family: Cinzel, Georgia, serif;
    font-size: clamp(1.6rem, 4vw, 2.4rem);
    font-weight: 900;
}

.web-ticket-card header span {
    color: rgba(255, 255, 255, 0.82);
}

.web-ticket-body {
    padding: clamp(1.5rem, 4vw, 2.2rem);
}

.qr-box {
    display: grid;
    place-items: center;
    width: 238px;
    min-height: 238px;
    margin: 0 auto 1.8rem;
    padding: 1rem;
    border: 10px solid var(--gold);
    border-radius: 14px;
    background: #fff;
    color: #111;
    text-align: center;
    font-weight: 800;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.35);
}

.ticket-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
}

.ticket-info span {
    display: block;
    color: var(--muted);
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ticket-info strong {
    display: block;
    margin-top: 0.25rem;
    overflow-wrap: anywhere;
}

.ticket-description {
    margin-top: 1.2rem;
    color: var(--muted);
}

.ticket-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.4rem;
}

.payment-return-actions {
    margin-top: 0;
}

.site-footer {
    padding: 3rem clamp(1rem, 6vw, 5rem) 1.5rem;
    background: #050505;
    border-top: 1px solid var(--line);
}

.app-download {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.5rem;
    align-items: center;
    margin-bottom: 3rem;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    border: 1px solid rgba(214, 168, 79, 0.34);
    border-radius: 8px;
    background:
        linear-gradient(rgba(0, 0, 0, 0.91), rgba(0, 0, 0, 0.94)),
        url("../images/africanprint1.jpg"),
        linear-gradient(135deg, rgba(127, 31, 31, 0.28), transparent 34%),
        linear-gradient(145deg, #111, #060606);
    background-size: auto, 460px auto, auto, auto;
}

.app-download > div:first-child {
    min-width: 0;
}

.app-download h2 {
    margin-bottom: 0.7rem;
    font-size: clamp(1.9rem, 4vw, 3.4rem);
}

.app-download p:not(.eyebrow) {
    max-width: 680px;
    margin: 0;
    color: var(--muted);
}

.store-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.8rem;
    min-width: 0;
}

.store-badges a {
    display: inline-flex;
    margin: 0;
    transition: transform 180ms ease;
}

.store-badges a:hover {
    transform: translateY(-3px);
}

.store-badges img {
    width: 180px;
    height: auto;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1fr 180px 180px;
    gap: 2rem;
}

.site-footer a {
    display: block;
    color: var(--muted);
    text-decoration: none;
    margin: 0.35rem 0;
}

.copyright {
    margin-top: 2rem;
    color: var(--muted);
    font-size: 0.9rem;
}

@media (max-width: 920px) {
    .menu-toggle {
        display: inline-flex;
    }

    .site-nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        display: none;
        flex-direction: column;
        align-items: stretch;
        padding: 1rem;
        background: #030303;
        border-bottom: 1px solid var(--line);
    }

    .site-nav.open {
        display: flex;
    }

    .hero,
    .hero-split,
    .payment-return-grid,
    .intro-grid,
    .about-story,
    .split-feature,
    .booking-layout,
    .collection-row,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .hero {
        min-height: 68vh;
        align-items: flex-end;
    }

    .compact-hero {
        min-height: 42vh;
    }

    .visit-card {
        display: none;
    }

    .image-rail,
    .story-grid,
    .event-grid,
    .learning-grid,
    .values-grid,
    .ticket-card-grid,
    .timeline {
        grid-template-columns: 1fr;
    }

    .image-rail img,
    .split-feature img,
    .collection-row img {
        height: 280px;
    }

    .booking-form {
        grid-template-columns: 1fr;
    }

    .ticket-placeholder {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .cta-band {
        align-items: flex-start;
        flex-direction: column;
    }

    .app-download {
        grid-template-columns: 1fr;
    }

    .store-badges {
        justify-content: flex-start;
    }

    .store-badges img {
        width: min(180px, 100%);
    }
}

.mobile-bottom-nav{display:none}.gallery-trigger{position:relative;cursor:pointer;overflow:hidden}.gallery-trigger img{transition:transform .35s ease}.gallery-trigger:hover img{transform:scale(1.035)}.gallery-trigger figcaption{position:absolute;inset:auto 0 0;padding:1rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.88))}.gallery-modal{position:fixed;inset:0;z-index:1200;display:none;place-items:center;padding:1rem;background:rgba(0,0,0,.88)}.gallery-modal.open{display:grid}.gallery-modal-dialog{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);width:min(1050px,100%);max-height:90vh;overflow:auto;background:#0d0d0d;border:1px solid var(--line);border-radius:8px}.gallery-modal-dialog img{width:100%;height:100%;max-height:82vh;object-fit:cover}.gallery-modal-copy{padding:clamp(1.5rem,4vw,3rem);align-self:center}.gallery-modal-close{position:absolute;top:.75rem;right:.75rem;z-index:2;width:42px;height:42px;border:0;border-radius:50%;font-size:1.6rem;color:#fff;background:#000b;cursor:pointer}.commerce-layout,.shop-layout,.jobs-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.7fr);gap:2rem;align-items:start}.catalog-grid,.job-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.catalog-card,.job-card,.commerce-aside,.application-panel,.ticket-track-panel{border:1px solid var(--line);border-radius:8px;background:#0b0b0b;padding:1.25rem}.catalog-card img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:1rem}.catalog-card>span,.job-card>span{color:var(--gold);font-size:.78rem;text-transform:uppercase}.catalog-meta,.job-meta,.cart-line,.price-line{display:flex;gap:.75rem;justify-content:space-between;align-items:center;margin:1rem 0}.job-meta{flex-wrap:wrap;justify-content:flex-start;color:var(--muted)}.job-card.active{border-color:var(--gold)}.commerce-aside,.application-panel{position:sticky;top:6rem}.cart-line button{border:0;background:transparent;color:#fff;font-size:1.3rem}.commerce-aside textarea,.application-panel textarea{min-height:130px;resize:vertical}.track-results{display:grid;gap:.7rem;margin-top:1rem}.track-ticket{display:grid;gap:.25rem;padding:.9rem;border-left:3px solid var(--gold);background:#151515}.track-ticket small,.track-visit{color:var(--muted)}
@media(max-width:920px){body{padding-bottom:76px}.site-footer{padding-bottom:2rem}.mobile-bottom-nav{position:fixed;z-index:1000;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;height:68px;padding:6px;background:rgba(5,5,5,.97);border-top:1px solid var(--line);backdrop-filter:blur(14px)}.mobile-bottom-nav a{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);text-decoration:none;font-size:.68rem}.mobile-bottom-nav a.active{color:var(--gold)}.mobile-bottom-nav i{font-size:1.05rem}.commerce-layout,.shop-layout,.jobs-layout,.gallery-modal-dialog{grid-template-columns:1fr}.commerce-aside,.application-panel{position:static}.catalog-grid,.job-list{grid-template-columns:1fr}.gallery-modal-dialog img{height:min(48vh,430px)}}
.drawer-heading,.nav-scrim{display:none}.menu-toggle{align-items:center;gap:.55rem}.menu-toggle-icon{position:relative;width:20px;height:14px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}.menu-toggle-icon::after{content:"";position:absolute;left:0;right:0;top:5px;border-top:2px solid currentColor}.checkout-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(340px,1.15fr);gap:2rem;align-items:start}.checkout-summary,.checkout-form-panel,.shop-cart-panel{padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--line);border-radius:8px;background:#0b0b0b}.checkout-summary{position:sticky;top:6rem}.checkout-button{display:flex;width:100%;justify-content:center;margin-top:1.25rem}.checkout-button.disabled{opacity:.4;pointer-events:none}.cart-line>div{display:grid;gap:.2rem}.cart-line small{color:var(--muted)}.empty-cart{display:grid;place-items:center;min-height:170px;text-align:center;color:var(--muted)}.empty-cart-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;font-size:1.6rem;color:var(--gold)}
.nav-icon{display:grid;place-items:center;width:26px;height:24px;font-family:Arial,sans-serif;font-size:1.3rem;font-weight:700;line-height:1}.nav-icon::before{display:block}.nav-icon-home::before{content:"ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡"}.nav-icon-ticket::before{content:"ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â£"}.nav-icon-shop::before{content:"ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â«"}.nav-icon-gallery::before{content:"ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¦"}.nav-icon-jobs::before{content:"ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¦"}
@media(max-width:920px){body.menu-open{overflow:hidden}.nav-scrim{position:fixed;inset:0;z-index:1080;display:block;background:rgba(0,0,0,.72);opacity:0;pointer-events:none;transition:opacity .25s ease}.menu-open .nav-scrim{opacity:1;pointer-events:auto}.site-header .site-nav{position:fixed;z-index:1100;top:0;right:0;bottom:0;left:auto;display:flex;width:min(88vw,420px);padding:0 1.4rem 2rem;overflow-y:auto;background:#080808;border-left:1px solid rgba(214,168,79,.3);transform:translateX(102%);transition:transform .3s ease;box-shadow:-24px 0 70px rgba(0,0,0,.55)}.site-header .site-nav.open{display:flex;transform:translateX(0)}.drawer-heading{display:flex;align-items:center;justify-content:space-between;min-height:88px;margin-bottom:1rem;border-bottom:1px solid var(--line);color:var(--gold);font-family:"Cinzel",serif;font-weight:700}.drawer-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:#fff;font-size:1.8rem}.site-header .site-nav>a{display:flex;align-items:center;min-height:62px;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.09);font-family:"Cinzel",serif;font-size:clamp(1.25rem,5vw,1.7rem);color:#fff}.site-header .site-nav>a.active{padding-left:1rem;border-left:3px solid var(--gold);color:var(--gold)}.mobile-bottom-nav{height:72px}.mobile-bottom-nav a{position:relative;font-weight:600}.mobile-bottom-nav a.active::after{content:"";position:absolute;top:-6px;width:30px;height:3px;background:var(--gold)}.mobile-bottom-nav a.active .nav-icon{transform:translateY(-1px)}.checkout-layout{grid-template-columns:1fr}.checkout-summary{position:static}.checkout-hero{min-height:38vh}}
/* Mobile navigation containment */
html,body{max-width:100%;overflow-x:clip}
@media(max-width:920px){
.site-header{z-index:1300;backdrop-filter:none}
.site-header .site-nav{right:0;left:auto;width:min(88vw,420px);max-width:100vw;overflow-x:hidden;transform:translate3d(100%,0,0);will-change:transform}
.site-header .site-nav.open{transform:translate3d(0,0,0)}
.nav-scrim{inset:0;width:100vw;max-width:100vw}
.mobile-bottom-nav{z-index:1000;max-width:100vw;overflow:hidden}
body.menu-open{width:100%;height:100%;overflow:hidden}
body.menu-open main,body.menu-open footer,body.menu-open .mobile-bottom-nav{pointer-events:none}
body.menu-open .site-header{pointer-events:auto}
}
.jobs-board{max-width:1500px;margin:auto}.jobs-board-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.jobs-count{color:var(--gold-2);font-weight:800}.job-search-bar{display:grid;grid-template-columns:minmax(280px,1fr) repeat(2,minmax(180px,.35fr));gap:.8rem;margin-bottom:1.5rem;padding:1rem;border:1px solid var(--line);background:#0b0b0b}.job-search-bar label{display:grid;gap:.35rem;color:var(--muted);font-size:.75rem;font-weight:700}.job-search{display:flex!important;align-items:center;gap:.6rem;padding:0 .8rem;border:1px solid var(--line);background:#111}.job-search input,.job-search-bar select{width:100%;min-height:48px;border:1px solid var(--line);background:#111;color:var(--ink);padding:.7rem}.job-search input{border:0;outline:0}.advanced-job-list{grid-template-columns:repeat(3,minmax(0,1fr))}.job-card-clickable{display:flex;min-height:310px;flex-direction:column;cursor:pointer;transition:transform .2s ease,border-color .2s ease}.job-card-clickable:hover,.job-card-clickable:focus{transform:translateY(-4px);border-color:var(--gold);outline:0}.job-card-top{display:flex;justify-content:space-between;gap:1rem}.job-card-top small{color:var(--muted)}.job-card-clickable .job-meta{margin-top:auto}.job-view-link{color:var(--gold-2);font-weight:800}.job-modal{position:fixed;inset:0;z-index:1500;display:none;place-items:center;padding:1rem;background:rgba(0,0,0,.86)}.job-modal.open{display:grid}.modal-open{overflow:hidden}.job-modal-dialog{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);width:min(1100px,100%);max-height:92vh;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#0b0b0b;box-shadow:var(--shadow)}.job-detail-pane,.job-apply-pane{padding:clamp(1.5rem,4vw,3rem)}.job-apply-pane{border-left:1px solid var(--line);background:#111}.job-apply-pane[hidden],.job-detail-pane[hidden]{display:none}.job-modal-close{position:absolute;z-index:2;top:.8rem;right:.8rem;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#080808;color:#fff;font-size:1.5rem}.job-detail-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 2rem}.job-detail-meta span{padding:.45rem .7rem;border:1px solid var(--line);color:var(--muted);font-size:.8rem}.job-detail-section{padding:1.2rem 0;border-top:1px solid var(--line)}.job-detail-section div{color:var(--muted)}.job-detail-section h3{font-size:1.1rem}.empty-job-card{grid-column:1/-1}
@media(max-width:920px){.advanced-job-list{grid-template-columns:repeat(2,minmax(0,1fr))}.job-modal-dialog{grid-template-columns:1fr}.job-apply-pane{border-left:0;border-top:1px solid var(--line)}}@media(max-width:640px){.jobs-board-head{align-items:start;flex-direction:column}.job-search-bar{grid-template-columns:1fr}.advanced-job-list{grid-template-columns:1fr}.job-card-clickable{min-height:260px}.job-modal{padding:0}.job-modal-dialog{width:100%;height:100%;max-height:none;border:0;border-radius:0}.job-detail-pane,.job-apply-pane{padding:4.5rem 1.2rem 2rem}}
.job-card-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;margin-top:1.1rem}.job-card-actions button{min-height:46px;border-radius:5px;font:inherit;font-weight:800;cursor:pointer}.job-apply-button{padding:.7rem 1rem;border:1px solid var(--gold);background:var(--gold);color:#090703}.job-share-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.7rem .9rem;border:1px solid var(--line);background:#111;color:var(--ink)}.job-share-button span{font-size:1.05rem;color:var(--gold-2)}.job-apply-button:hover,.job-apply-button:focus{background:var(--gold-2);border-color:var(--gold-2)}.job-share-button:hover,.job-share-button:focus{border-color:var(--gold);color:var(--gold-2)}.job-card-actions button:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}
@media(max-width:420px){.job-card-actions{grid-template-columns:1fr}.job-share-button{width:100%}}
.header-actions{display:flex;align-items:center;gap:.45rem;flex:0 0 auto}.header-icon-button{position:relative;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.04);color:var(--ink);text-decoration:none;cursor:pointer}.header-icon-button:hover,.header-icon-button:focus{border-color:var(--gold);color:var(--gold-2);background:rgba(214,168,79,.1)}.header-icon-button svg,.site-search-input svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cart-count{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid #050505;border-radius:999px;background:var(--gold);color:#080604;font-size:.68rem;font-weight:900}.site-search-panel{position:fixed;inset:0;z-index:1700;display:none;place-items:start center;padding:clamp(5rem,12vh,8rem) 1rem 1rem;background:rgba(0,0,0,.88);backdrop-filter:blur(12px)}.site-search-panel.open{display:grid}.search-open{overflow:hidden}.site-search-dialog{width:min(760px,100%);max-height:78vh;overflow:auto;padding:clamp(1.2rem,4vw,2rem);border:1px solid rgba(214,168,79,.38);border-radius:8px;background:#0b0b0b;box-shadow:var(--shadow)}.site-search-head{display:flex;align-items:center;justify-content:space-between}.site-search-close{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;color:#fff;font-size:1.6rem}.site-search-input{display:flex;align-items:center;gap:.75rem;margin:1rem 0;padding:0 .9rem;border:1px solid var(--line);background:#111}.site-search-input input{width:100%;min-height:54px;border:0;outline:0;background:transparent;color:var(--ink);font:inherit}.site-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.site-search-results a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:58px;padding:.8rem 1rem;border:1px solid var(--line);color:var(--ink);text-decoration:none}.site-search-results a:hover,.site-search-results a:focus{border-color:var(--gold);color:var(--gold-2)}.site-search-results small{color:var(--muted)}.site-search-results [hidden]{display:none}
@media(max-width:920px){.site-header{gap:.6rem}.header-actions{margin-left:auto}.header-icon-button{width:40px;height:40px}.menu-toggle{min-height:40px}.site-search-results{grid-template-columns:1fr}.site-search-panel{padding-top:5rem}}@media(max-width:440px){.menu-toggle span:last-child{display:none}.menu-toggle{width:40px;height:40px;padding:9px;border-radius:50%}.brand small{display:none}.brand{gap:.5rem}.brand-mark{width:38px;height:38px}.header-actions{gap:.3rem}}
.job-meta-item{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted)}.job-meta-item svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:var(--gold-2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.job-card-actions{grid-template-columns:minmax(0,1fr) 48px}.job-apply-button{display:flex;align-items:center;justify-content:center;gap:.65rem;font-size:.92rem}.job-apply-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.job-share-button{width:48px;padding:0}.job-share-button svg{width:20px;height:20px;fill:none;stroke:var(--gold-2);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.job-share-button span{display:none}
@media(max-width:420px){.job-card-actions{grid-template-columns:minmax(0,1fr) 48px}.job-share-button{width:48px}}

/* Header side cart */
body.cart-open{overflow:hidden}.side-cart-scrim{position:fixed;inset:0;z-index:1790;background:rgba(0,0,0,.72);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease;backdrop-filter:blur(4px)}.side-cart-scrim.open{opacity:1;visibility:visible}.side-cart{position:fixed;z-index:1800;top:0;right:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(440px,100vw);height:100dvh;border-left:1px solid rgba(214,168,79,.32);background:linear-gradient(155deg,#15130f 0,#090909 34%,#060606 100%);box-shadow:-28px 0 80px rgba(0,0,0,.62);transform:translate3d(102%,0,0);transition:transform .32s cubic-bezier(.22,.8,.25,1);visibility:hidden}.side-cart.open{transform:translate3d(0,0,0);visibility:visible}.side-cart-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem 1.5rem;border-bottom:1px solid var(--line)}.side-cart-head .eyebrow{margin:0 0 .25rem}.side-cart-head h2{margin:0;font-size:clamp(1.45rem,4vw,2rem)}.side-cart-close{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.04);color:#fff;font-size:1.7rem;cursor:pointer}.side-cart-close:hover,.side-cart-close:focus{border-color:var(--gold);color:var(--gold-2)}.side-cart-body{min-height:0;padding:.5rem 1.5rem;overflow-y:auto;overscroll-behavior:contain}.side-cart-empty{display:grid;justify-items:center;align-content:center;min-height:100%;padding:3rem 1rem;text-align:center}.side-cart-empty>span,.side-cart-item-mark{display:grid;place-items:center;border:1px solid rgba(214,168,79,.42);background:rgba(214,168,79,.08);color:var(--gold-2);font-family:"Cinzel",serif}.side-cart-empty>span{width:72px;height:72px;margin-bottom:1.2rem;border-radius:50%;font-size:2rem}.side-cart-empty h3{margin:.2rem 0}.side-cart-empty p{max-width:290px;color:var(--muted)}.side-cart-item{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:.85rem;align-items:center;padding:1.15rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.side-cart-item img,.side-cart-item-mark{width:68px;height:68px;border-radius:4px;object-fit:cover}.side-cart-item>div{display:grid;gap:.28rem;min-width:0}.side-cart-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-cart-item small{color:var(--muted)}.side-cart-item>b{align-self:start;color:var(--gold-2);font-size:.82rem;white-space:nowrap}.side-cart-item-meta{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:.75rem}.side-cart-item-meta button{padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--gold-2);font:inherit;cursor:pointer}.side-cart-footer{padding:1.3rem 1.5rem calc(1.3rem + env(safe-area-inset-bottom));border-top:1px solid rgba(214,168,79,.25);background:rgba(0,0,0,.38)}.side-cart-footer[hidden]{display:none}.side-cart-total{display:flex;align-items:end;justify-content:space-between;gap:1rem}.side-cart-total span{color:var(--muted)}.side-cart-total strong{color:var(--gold-2);font-family:"Cinzel",serif;font-size:1.25rem}.side-cart-footer>p{margin:.5rem 0 1rem;color:var(--muted);font-size:.76rem}.side-cart-checkout{display:flex;width:100%;align-items:center;justify-content:space-between}.side-cart-shop-link{display:block;margin-top:.9rem;color:var(--muted);font-size:.8rem;text-align:center}.side-cart-shop-link:hover{color:var(--gold-2)}
@media(max-width:480px){.side-cart{width:100vw}.side-cart-head,.side-cart-body,.side-cart-footer{padding-left:1.1rem;padding-right:1.1rem}.side-cart-item{grid-template-columns:58px minmax(0,1fr)}.side-cart-item img,.side-cart-item-mark{width:58px;height:58px}.side-cart-item>b{grid-column:2;justify-self:start}.side-cart-item>div{grid-row:1/3}}
.job-detail-section>div{line-height:1.72}.job-detail-section>div p{margin:.55rem 0}.job-detail-section>div h2,.job-detail-section>div h3{margin:1.15rem 0 .45rem;color:var(--ink);font-family:"Cinzel",serif}.job-detail-section>div h2{font-size:1.3rem}.job-detail-section>div h3{font-size:1.08rem}.job-detail-section>div ul,.job-detail-section>div ol{display:grid;gap:.4rem;margin:.75rem 0;padding-left:1.35rem}.job-detail-section>div li::marker{color:var(--gold-2)}.job-detail-section>div blockquote{margin:1rem 0;padding:.8rem 1rem;border-left:3px solid var(--gold);background:#15130f}.job-detail-section>div a{color:var(--gold-2);text-decoration-thickness:1px;text-underline-offset:3px}

/* Advanced job application */
.job-modal.application-mode .job-modal-dialog{grid-template-columns:1fr;width:min(900px,100%)}.job-modal.application-mode .job-apply-pane{border-left:0}.job-apply-pane{background:radial-gradient(circle at 100% 0,rgba(214,168,79,.09),transparent 34%),#0d0d0d}.application-heading{display:flex;align-items:center;gap:1rem;padding-right:3rem}.application-heading .eyebrow,.application-heading h2{margin:0}.application-heading-icon{display:grid;place-items:center;flex:0 0 auto;width:52px;height:52px;border:1px solid rgba(214,168,79,.42);border-radius:12px;background:rgba(214,168,79,.08);color:var(--gold-2)}.application-heading-icon svg,.cv-upload-icon svg,.application-submit svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.application-role{display:inline-flex;margin:1.25rem 0 .5rem;padding:.45rem .75rem;border:1px solid var(--line);border-radius:999px;color:var(--gold-2);background:#080808;font-size:.78rem;font-weight:800}.application-intro{margin:.45rem 0 1.4rem;color:var(--muted);font-size:.86rem}.application-intro span,.job-application-form label>span,.cv-fieldset legend span{color:var(--gold-2)}.job-application-form{display:grid;gap:1.2rem}.application-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.job-application-form .form-row{gap:.45rem}.job-application-form label,.cv-fieldset legend{color:var(--ink);font-size:.78rem;font-weight:800}.job-application-form input:not([type="checkbox"]),.job-application-form textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:#070707;color:var(--ink);font:inherit;transition:border-color .18s ease,box-shadow .18s ease}.job-application-form input:not([type="checkbox"]){min-height:49px;padding:.8rem}.job-application-form textarea{min-height:170px;padding:.9rem;resize:vertical;line-height:1.6}.job-application-form input:focus,.job-application-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(214,168,79,.12);outline:0}.job-application-form input::placeholder,.job-application-form textarea::placeholder{color:#777}.job-application-form .form-row>small{color:var(--muted);font-size:.7rem}.cover-letter-row>small{text-align:right}.cv-fieldset{min-width:0;margin:0;padding:1rem;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.018)}.cv-fieldset legend{padding:0 .35rem}.cv-dropzone{position:relative;display:grid;justify-items:center;gap:.4rem;padding:1.35rem;border:1px dashed rgba(214,168,79,.5);border-radius:7px;background:rgba(214,168,79,.035);text-align:center;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.cv-dropzone:hover,.cv-dropzone.dragging,.cv-dropzone:focus-within{border-color:var(--gold-2);background:rgba(214,168,79,.1);transform:translateY(-1px)}.cv-dropzone input{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.cv-upload-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#090703;background:var(--gold)}.cv-dropzone strong{color:var(--ink);font-size:.9rem}.cv-dropzone small{color:var(--muted);font-weight:500}.cv-file-name{max-width:100%;margin-top:.25rem;padding:.3rem .55rem;overflow:hidden;border-radius:4px;color:var(--muted);background:#080808;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.cv-dropzone.has-file .cv-file-name{color:#a8e8b3;background:rgba(73,171,93,.12)}.cv-divider{display:flex;align-items:center;gap:.7rem;margin:.9rem 0;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.cv-divider::before,.cv-divider::after{content:"";height:1px;flex:1;background:var(--line)}.application-consent{display:flex;align-items:flex-start;gap:.65rem;padding:.8rem;border:1px solid var(--line);border-radius:6px;color:var(--muted)!important;background:#090909;font-size:.73rem!important;font-weight:500!important;line-height:1.5}.application-consent input{width:17px;min-width:17px;height:17px;min-height:0;margin:.12rem 0 0;accent-color:var(--gold)}.application-submit{display:flex;width:100%;align-items:center;justify-content:center;gap:.7rem;min-height:52px}.application-submit:disabled{cursor:wait;opacity:.65}.application-submit.submitting span::after{content:"ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¦"}.booking-message.success{padding:.85rem;border:1px solid rgba(87,194,107,.35);border-radius:6px;background:rgba(87,194,107,.08)}.booking-message.error{padding:.85rem;border:1px solid rgba(255,115,98,.35);border-radius:6px;background:rgba(255,115,98,.08)}
@media(max-width:760px){.application-fields{grid-template-columns:1fr}.job-modal.application-mode .job-modal-dialog{height:100%;max-height:none}.job-modal.application-mode .job-apply-pane{padding:4.5rem 1.15rem 2rem}.application-heading{padding-right:2rem}.application-heading-icon{width:46px;height:46px}.cv-fieldset{padding:.8rem}.cv-dropzone{padding:1.1rem .7rem}}

/* Job application progress and confirmation */
.job-apply-pane{position:relative}.application-progress{position:absolute;z-index:8;inset:0;display:grid;place-items:center;min-height:100%;padding:clamp(1rem,4vw,2.5rem);background:rgba(5,5,5,.94);backdrop-filter:blur(10px)}.application-progress[hidden]{display:none}.application-progress-card{width:min(560px,100%);padding:clamp(1.35rem,4vw,2.35rem);border:1px solid rgba(214,168,79,.32);border-radius:14px;background:radial-gradient(circle at 50% 0,rgba(214,168,79,.12),transparent 36%),#0d0d0d;box-shadow:0 28px 80px rgba(0,0,0,.55);text-align:center}.application-progress-mark{position:relative;display:grid;place-items:center;width:86px;height:86px;margin:0 auto 1.15rem}.application-spinner{width:72px;height:72px;border:3px solid rgba(214,168,79,.18);border-top-color:var(--gold-2);border-radius:50%;animation:application-spin .85s linear infinite}.application-check,.application-error-icon{display:none;width:82px;height:82px;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.application-check{stroke:#8fe09e}.application-error-icon{stroke:#ff8f83}.application-progress[data-state="success"] .application-spinner,.application-progress[data-state="error"] .application-spinner{display:none}.application-progress[data-state="success"] .application-check{display:block;animation:application-pop .38s ease-out}.application-progress[data-state="error"] .application-error-icon{display:block;animation:application-pop .38s ease-out}.application-progress-card>.eyebrow{margin:0 0 .3rem}.application-progress-card h3{margin:.2rem 0;font:700 clamp(1.45rem,4vw,2rem) "Cinzel",serif}.application-progress-copy{max-width:470px;margin:.65rem auto 1.15rem;color:var(--muted);line-height:1.65}.application-progress-bar{height:6px;margin:1rem 0 1.4rem;overflow:hidden;border-radius:999px;background:#24201a}.application-progress-bar span{display:block;width:8%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--gold-2));transition:width .35s ease}.application-progress[data-state="success"] .application-progress-bar span{background:linear-gradient(90deg,#4ca866,#9be4a8)}.application-progress-steps{display:grid;gap:.65rem;margin:0;padding:0;list-style:none;text-align:left}.application-progress-steps li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:.7rem;align-items:center;padding:.65rem .75rem;border:1px solid transparent;border-radius:7px;color:#736c62;transition:.25s ease}.application-progress-steps li>span{display:grid;place-items:center;width:20px;height:20px;border:2px solid #484139;border-radius:50%}.application-progress-steps li>div{display:grid;gap:.1rem}.application-progress-steps strong{font-size:.78rem}.application-progress-steps small{font-size:.68rem}.application-progress-steps li.active{border-color:rgba(214,168,79,.25);color:var(--ink);background:rgba(214,168,79,.07)}.application-progress-steps li.active>span{border-color:var(--gold);box-shadow:inset 0 0 0 4px #0d0d0d;background:var(--gold)}.application-progress-steps li.done{color:#a8c9af}.application-progress-steps li.done>span{border-color:#62b878;background:#62b878}.application-progress-steps li.done>span::after{content:"ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã¢â‚¬Å“";color:#061109;font-size:.68rem;font-weight:900}.application-reference{display:inline-flex;margin:1.25rem 0 .35rem;padding:.55rem .8rem;border:1px solid rgba(143,224,158,.3);border-radius:999px;color:#a9eab5;background:rgba(72,155,90,.1);font-size:.78rem;font-weight:800}.application-delivery-note{margin:.6rem auto 1rem;padding:.7rem;border-radius:6px;font-size:.75rem;line-height:1.5}.application-delivery-note.delivered{color:#a9eab5;background:rgba(72,155,90,.1)}.application-delivery-note.delayed{color:#f2cf7a;background:rgba(214,168,79,.1)}.application-progress-action{width:100%;margin-top:.4rem}.application-progress[data-state="success"] .application-progress-steps,.application-progress[data-state="error"] .application-progress-steps{opacity:.75}@keyframes application-spin{to{transform:rotate(360deg)}}@keyframes application-pop{0%{opacity:0;transform:scale(.65)}70%{transform:scale(1.08)}100%{opacity:1;transform:scale(1)}}
@media(max-width:600px){.application-progress{position:fixed;inset:0;padding:.75rem;overflow-y:auto}.application-progress-card{margin:auto;padding:1.25rem}.application-progress-mark{width:70px;height:70px}.application-spinner{width:60px;height:60px}.application-check,.application-error-icon{width:68px;height:68px}.application-progress-steps li{padding:.5rem}.application-progress-copy{font-size:.84rem}}

/* Full-bleed home hero carousel */
.hero-home{min-height:clamp(680px,calc(100svh - 75px),940px);padding:0;overflow:hidden;background:#080604}
.hero-home .hero-slider{position:absolute;inset:0;min-height:0;border:0;box-shadow:none}
.hero-home .hero-slide{pointer-events:none;transform:scale(1.045);transition:opacity 900ms cubic-bezier(.22,.8,.25,1),transform 6.5s ease}
.hero-home .hero-slide.active{pointer-events:auto;transform:scale(1)}
.hero-home .hero-slide::after{background:linear-gradient(90deg,rgba(247,239,225,.18) 0,transparent 7%,transparent 91%,rgba(242,207,122,.15) 100%),linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.54) 42%,rgba(0,0,0,.12) 72%,rgba(0,0,0,.42) 100%),linear-gradient(180deg,rgba(0,0,0,.16) 45%,rgba(0,0,0,.78) 100%)}
.hero-home .hero-slide::before{content:"";position:absolute;z-index:2;inset:0;border:clamp(8px,1vw,16px) solid rgba(247,239,225,.07);box-shadow:inset 0 0 90px rgba(242,207,122,.12);pointer-events:none}
.hero-home .hero-content{position:absolute;z-index:3;left:clamp(1.25rem,7vw,7rem);bottom:clamp(6.8rem,13vh,9rem);max-width:760px}
.hero-home .hero-content h1{max-width:11ch;font-size:clamp(3rem,7.2vw,7.2rem)}
.hero-home .hero-content>p:not(.eyebrow){max-width:640px;color:rgba(247,239,225,.82);text-shadow:0 2px 24px rgba(0,0,0,.8)}
.hero-home .hero-content>*{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s cubic-bezier(.22,.8,.25,1)}
.hero-home .hero-slide.active .hero-content>*{opacity:1;transform:none}
.hero-home .hero-slide.active .hero-content>*:nth-child(2){transition-delay:.08s}.hero-home .hero-slide.active .hero-content>*:nth-child(3){transition-delay:.16s}.hero-home .hero-slide.active .hero-content>*:nth-child(4){transition-delay:.24s}
.hero-controls{position:absolute;z-index:5;right:clamp(1.25rem,5vw,5rem);bottom:clamp(2rem,5vw,3.5rem);display:flex;align-items:center;gap:.9rem}
.hero-arrow{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(247,239,225,.4);border-radius:50%;background:rgba(5,5,5,.34);color:var(--ink);font-size:1.15rem;cursor:pointer;backdrop-filter:blur(10px);transition:.2s ease}
.hero-arrow:hover,.hero-arrow:focus-visible{border-color:var(--gold-2);background:rgba(214,168,79,.18);transform:translateY(-2px);outline:0}
.hero-dots{display:flex;align-items:center;gap:.45rem}.hero-dot{width:22px;height:3px;padding:0;border:0;border-radius:99px;background:rgba(247,239,225,.38);cursor:pointer;transition:width .3s ease,background .3s ease}.hero-dot.active{width:48px;background:var(--gold-2)}
@media(max-width:920px){.hero-home{min-height:calc(100svh - 70px)}.hero-home .hero-content{right:1.25rem;bottom:8.5rem}.hero-home .hero-content h1{font-size:clamp(2.8rem,12vw,5.2rem)}.hero-home .hero-slide::after{background:linear-gradient(90deg,rgba(247,239,225,.12),transparent 10%,transparent 90%,rgba(242,207,122,.1)),linear-gradient(180deg,rgba(0,0,0,.08) 20%,rgba(0,0,0,.84) 78%,rgba(0,0,0,.94))}.hero-controls{left:1.25rem;right:auto;bottom:2.2rem}}
@media(prefers-reduced-motion:reduce){.hero-home .hero-slide,.hero-home .hero-content>*{transition-duration:.01ms!important}}
/* Prominent ticket type and Ghana cedi pricing */
.ticket-showcase .ticket-card{display:flex;min-height:330px;flex-direction:column;padding:clamp(1.5rem,2.5vw,2.2rem)}
.ticket-showcase .ticket-card::before{margin:calc(clamp(1.5rem,2.5vw,2.2rem) * -1) calc(clamp(1.5rem,2.5vw,2.2rem) * -1) 1.5rem}
.ticket-showcase .ticket-card>h3{margin:.15rem 0 .8rem;color:var(--ink);font-size:clamp(2rem,3vw,3.25rem);font-weight:900;letter-spacing:-.025em}
.ticket-showcase .ticket-card>p{margin:0;color:var(--muted)}
.ticket-showcase .ticket-current-price{margin-top:auto;padding-top:1.4rem;color:var(--gold-2);font-family:Cinzel,Georgia,serif;font-size:clamp(2.8rem,5vw,5rem);font-weight:900;line-height:.95;letter-spacing:-.045em}
.ticket-showcase .ticket-subtypes+.ticket-current-price{margin-top:1.35rem}
.ticket-showcase .ticket-subtype small{font-size:.8rem;font-weight:900}
@media(max-width:920px){.ticket-showcase .ticket-card{min-height:290px}.ticket-showcase .ticket-current-price{font-size:clamp(2.65rem,13vw,4.5rem)}}
.ticket-showcase .ticket-current-price{display:inline-flex;align-items:flex-start;gap:.16em}
.ticket-showcase .ticket-current-price .ticket-currency{display:inline-block;margin:.1em 0 0;font-family:Inter,Arial,sans-serif;font-size:.28em;font-weight:900;line-height:1;letter-spacing:0;text-transform:none;vertical-align:super}
.ticket-showcase .ticket-current-price .ticket-amount{display:inline-block;margin:0;color:inherit;font:inherit;line-height:.95;letter-spacing:inherit;text-transform:none}
/* Ticket booking modal and hero tracking panel */
.tickets-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.58fr);align-items:center;gap:clamp(2rem,6vw,6rem);min-height:clamp(500px,62vh,680px)}
.tickets-hero .hero-content{max-width:760px}
.ticket-track-overlay{position:relative;z-index:2;width:100%;padding:clamp(1.4rem,3vw,2rem);border:1px solid rgba(242,207,122,.32);border-radius:14px;background:linear-gradient(145deg,rgba(18,15,11,.9),rgba(4,4,4,.86));box-shadow:0 24px 70px rgba(0,0,0,.45);backdrop-filter:blur(16px)}
.ticket-track-overlay .eyebrow{margin-bottom:.35rem}.ticket-track-overlay h2{margin:0 0 .55rem;font-size:clamp(1.7rem,3vw,2.5rem)}.ticket-track-overlay>p:not(.eyebrow){margin:.35rem 0 1rem;font-size:.88rem}
.track-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.35rem;border:1px solid rgba(247,239,225,.22);border-radius:9px;background:rgba(0,0,0,.68)}
.track-search:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(214,168,79,.1)}
.track-search-icon{display:grid;place-items:center;width:34px;color:var(--gold-2);font-size:1.15rem}.track-search input{min-height:46px;padding:.55rem 0;border:0;background:transparent;outline:0}.track-search button{min-height:42px;padding:.55rem .95rem;border:1px solid var(--gold);border-radius:6px;background:var(--gold);color:#090703;font:inherit;font-weight:900;cursor:pointer}
.ticket-track-overlay .track-results{max-height:190px;overflow:auto}.ticket-track-overlay .track-ticket{background:rgba(255,255,255,.04)}
.ticket-showcase .ticket-buy-button{display:flex;width:100%;margin-top:1.35rem;justify-content:space-between;border-radius:7px}.ticket-showcase .ticket-buy-button span{margin:0;color:inherit;font:inherit;letter-spacing:0;text-transform:none}
.ticket-modal-open{overflow:hidden}.ticket-booking-modal{position:fixed;inset:0;z-index:1900;display:grid;place-items:center;padding:clamp(.6rem,2vw,1.5rem);background:rgba(0,0,0,.82);opacity:0;visibility:hidden;pointer-events:none;backdrop-filter:blur(9px);transition:opacity .25s ease,visibility .25s ease}.ticket-booking-modal.open{opacity:1;visibility:visible;pointer-events:auto}
.ticket-booking-dialog{position:relative;width:min(1080px,100%);max-height:94dvh;overflow:auto;border:1px solid rgba(214,168,79,.38);border-radius:16px;background:radial-gradient(circle at 100% 0,rgba(214,168,79,.1),transparent 30%),#090909;box-shadow:0 34px 100px rgba(0,0,0,.68);transform:translateY(18px) scale(.985);transition:transform .28s cubic-bezier(.22,.8,.25,1)}.ticket-booking-modal.open .ticket-booking-dialog{transform:none}
.ticket-booking-close{position:absolute;z-index:3;top:1rem;right:1rem;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#050505;color:#fff;font-size:1.65rem;cursor:pointer}.ticket-booking-close:hover,.ticket-booking-close:focus{border-color:var(--gold);color:var(--gold-2);outline:0}
.ticket-booking-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:clamp(1.4rem,3vw,2.2rem);padding-right:5rem;border-bottom:1px solid var(--line)}.ticket-booking-head .eyebrow{margin-bottom:.35rem}.ticket-booking-head h2{margin:0;font-size:clamp(1.75rem,3vw,2.7rem)}.ticket-booking-head>span{color:var(--gold-2);font-size:.78rem;font-weight:800}
.ticket-booking-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.72fr);gap:0}.ticket-booking-grid .booking-form{padding:clamp(1.4rem,3vw,2.2rem);border:0;border-radius:0;background:transparent}.ticket-booking-grid .booking-summary{margin:clamp(1.4rem,3vw,2.2rem);margin-left:0;align-self:start;border-color:rgba(214,168,79,.28);background:linear-gradient(150deg,#17120c,#0d0d0d)}
.coupon-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.coupon-field .button{grid-column:auto;min-height:48px}.booking-submit{display:flex!important;justify-content:space-between!important;padding-inline:1.3rem!important}
.booking-assurances{display:grid;gap:.6rem;margin:1.2rem 0 0;padding:1.1rem 0 0;border-top:1px solid var(--line);list-style:none;color:var(--muted);font-size:.78rem}.booking-assurances li::before{content:"\2713";margin-right:.6rem;color:var(--gold-2);font-weight:900}
@media(max-width:920px){.tickets-hero{grid-template-columns:1fr;min-height:auto;align-items:end;padding-top:clamp(4.5rem,10vw,6rem)}.tickets-hero .hero-content{padding-top:2rem}.ticket-track-overlay{margin-top:1rem}.ticket-booking-grid{grid-template-columns:1fr}.ticket-booking-grid .booking-summary{margin:0 clamp(1.4rem,3vw,2.2rem) clamp(1.4rem,3vw,2.2rem)}.ticket-booking-head{align-items:start;flex-direction:column}.ticket-booking-head>span{display:none}}
@media(max-width:620px){.ticket-booking-modal{padding:0}.ticket-booking-dialog{width:100%;height:100dvh;max-height:none;border:0;border-radius:0}.ticket-booking-grid .booking-form{grid-template-columns:1fr}.coupon-field{grid-template-columns:1fr}.ticket-booking-close{top:.7rem;right:.7rem}.ticket-booking-head{padding:1.25rem 4.3rem 1.15rem 1.2rem}.ticket-booking-grid .booking-summary{margin:0 1.2rem 1.2rem}.track-search{grid-template-columns:auto minmax(0,1fr)}.track-search button{grid-column:1/-1;width:100%}}
/* Stable CSS-drawn mobile navigation icons */
.mobile-bottom-nav .nav-icon{position:relative;width:25px;height:23px;font-size:0;color:currentColor}
.mobile-bottom-nav .nav-icon::before,.mobile-bottom-nav .nav-icon::after{content:"";position:absolute;display:block;box-sizing:border-box}
.mobile-bottom-nav .nav-icon-home::before{left:5px;top:4px;width:15px;height:15px;border-top:2px solid currentColor;border-left:2px solid currentColor;transform:rotate(45deg);border-radius:2px}
.mobile-bottom-nav .nav-icon-home::after{left:7px;bottom:1px;width:12px;height:12px;border:2px solid currentColor;border-top:0;background:#050505}
.mobile-bottom-nav .nav-icon-ticket::before{inset:3px 1px;border:2px solid currentColor;border-radius:3px}
.mobile-bottom-nav .nav-icon-ticket::after{left:8px;top:6px;width:9px;height:11px;border-left:2px dashed currentColor;border-right:2px dashed currentColor}
.mobile-bottom-nav .nav-icon-shop::before{left:4px;top:7px;width:17px;height:14px;border:2px solid currentColor;border-radius:3px}
.mobile-bottom-nav .nav-icon-shop::after{left:8px;top:2px;width:9px;height:9px;border:2px solid currentColor;border-bottom:0;border-radius:8px 8px 0 0}
.mobile-bottom-nav .nav-icon-gallery::before{inset:2px;border:2px solid currentColor;border-radius:3px}
.mobile-bottom-nav .nav-icon-gallery::after{left:6px;bottom:5px;width:14px;height:9px;border-left:2px solid currentColor;border-top:2px solid currentColor;transform:skewY(-28deg)}
.mobile-bottom-nav .nav-icon-jobs::before{left:2px;top:7px;width:21px;height:14px;border:2px solid currentColor;border-radius:3px}
.mobile-bottom-nav .nav-icon-jobs::after{left:8px;top:3px;width:9px;height:6px;border:2px solid currentColor;border-bottom:0;border-radius:3px 3px 0 0}

/* Museum ticket perforation */
.ticket-showcase .ticket-card{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 0 52%,#000 0 9px,transparent 10px),radial-gradient(circle at 100% 52%,#000 0 9px,transparent 10px),linear-gradient(145deg,var(--panel),var(--panel-2))}
.ticket-showcase .ticket-card:hover,.ticket-showcase .ticket-card.active{background:radial-gradient(circle at 0 52%,#000 0 9px,transparent 10px),radial-gradient(circle at 100% 52%,#000 0 9px,transparent 10px),linear-gradient(145deg,#171008,#0b0b0b)}
.ticket-showcase .ticket-card::after{content:"";position:absolute;z-index:-1;inset:11px;border:1px dashed rgba(242,207,122,.48);border-radius:5px;pointer-events:none;transition:border-color .2s ease}
.ticket-showcase .ticket-card:hover::after,.ticket-showcase .ticket-card.active::after{border-color:rgba(242,207,122,.88)}
.ticket-showcase .ticket-card>*{position:relative;z-index:1}
/* Gyamadudu brand refresh */
.brand{gap:.7rem;min-width:max-content}
.brand-logo{display:block;width:58px;height:48px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(214,168,79,.18))}
.brand-copy{display:grid;gap:.08rem;line-height:1}
.brand-copy strong{font-family:Cinzel,Georgia,serif;font-size:clamp(.84rem,1.15vw,1.08rem);font-weight:700;letter-spacing:.055em;white-space:nowrap}
.brand-gold{color:#f2cf7a;text-shadow:0 0 18px rgba(214,168,79,.18)}
.brand-ivory{color:#ead9bd;background:linear-gradient(100deg,#f8eddc 5%,#d9a95b 55%,#c77d52 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.brand-copy small{color:#a99a87;font-size:.65rem;letter-spacing:.19em;text-transform:uppercase}
.site-footer{position:relative;overflow:hidden;background:radial-gradient(circle at 8% 0,rgba(214,168,79,.14),transparent 27rem),radial-gradient(circle at 92% 100%,rgba(127,31,31,.24),transparent 32rem),linear-gradient(145deg,#241016 0%,#160b10 48%,#0c0909 100%);border-top:1px solid rgba(242,207,122,.32)}
.site-footer::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#7f1f1f,#d6a84f 35%,#f2cf7a 50%,#d6a84f 65%,#7f1f1f)}
.site-footer::after{content:"";position:absolute;inset:4px 0 auto;height:1px;background:rgba(255,255,255,.1)}
.site-footer .app-download{background:linear-gradient(115deg,rgba(8,6,5,.72),rgba(73,32,29,.38));border-color:rgba(242,207,122,.24)}
.site-footer .footer-heading,.site-footer .eyebrow{color:#f2cf7a}.site-footer a{color:#cbbcab}.site-footer a:hover,.site-footer a:focus{color:#f2cf7a}.site-footer .copyright{padding-top:1.2rem;border-top:1px solid rgba(242,207,122,.14);color:#9f9183}

/* Public shop and table rentals */
.rental-hero{min-height:560px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.55fr);align-items:end;gap:4rem;padding:clamp(6rem,11vw,10rem) clamp(1.25rem,7vw,7rem) clamp(4rem,7vw,6rem);background:linear-gradient(90deg,rgba(5,5,5,.94),rgba(5,5,5,.58)),url('../images/photo_2026-05-24_16-21-39.jpg') center/cover}.rental-hero h1{max-width:12ch;margin:.4rem 0 1rem;font:700 clamp(3.2rem,7vw,7rem)/.96 Cinzel,serif}.rental-hero h1 em{color:var(--gold-2);font-style:normal}.rental-hero>div>p:last-child{max-width:700px;color:#d2c7b8;line-height:1.75}.rental-hero aside{display:grid;grid-template-columns:42px 1fr;gap:1rem;padding:1.5rem;border:1px solid rgba(242,207,122,.3);background:rgba(8,8,8,.75);backdrop-filter:blur(12px)}.rental-hero aside span{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--gold);border-radius:50%;color:var(--gold-2);font-size:.72rem}.rental-hero aside strong{align-self:center;font-size:.85rem}.rental-shell{display:grid;grid-template-columns:minmax(240px,.6fr) minmax(0,1.4fr);gap:clamp(2rem,6vw,7rem);padding:clamp(4rem,8vw,8rem) clamp(1.25rem,7vw,7rem);background:radial-gradient(circle at 0 0,rgba(127,31,31,.16),transparent 34rem),#080808}.rental-intro{position:sticky;top:110px;align-self:start}.rental-intro h2{font-size:clamp(2.2rem,4vw,4rem)}.rental-form{display:grid;gap:1.3rem}.rental-type-switch{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.rental-type-switch input{position:absolute;opacity:0}.rental-type-switch span{display:grid;gap:.2rem;padding:1.25rem;border:1px solid var(--line);border-radius:9px;background:#101010;cursor:pointer;font-weight:800}.rental-type-switch small{color:var(--muted);font-weight:500}.rental-type-switch input:checked+span{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);color:var(--gold-2);background:rgba(214,168,79,.08)}.rental-form fieldset{margin:0;padding:clamp(1.2rem,3vw,2rem);border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#111,#0c0c0c)}.rental-form legend{padding:0 .7rem;color:#fff;font:700 1rem Cinzel,serif}.rental-form legend b{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:.5rem;border-radius:50%;background:var(--gold);color:#090703}.rental-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.rental-grid .wide{grid-column:1/-1}.rental-form label{display:grid;gap:.45rem;color:#cfc3b4;font-size:.78rem;font-weight:700}.rental-form input,.rental-form select{width:100%;min-height:52px;padding:.75rem;border:1px solid #39342e;border-radius:7px;background:#080808;color:#fff}.rental-form input:focus,.rental-form select:focus{border-color:var(--gold);outline:3px solid rgba(214,168,79,.12)}.rental-price{margin-top:1rem;padding:.8rem;border-left:3px solid var(--gold);color:var(--gold-2);background:rgba(214,168,79,.06)}.rental-total{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.4rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--line)}.rental-total span{font-weight:800}.rental-total strong{color:var(--gold-2);font:700 clamp(2rem,4vw,3.5rem) Cinzel,serif}.rental-total small{flex-basis:100%;text-align:right;color:var(--muted)}.rental-consent{grid-template-columns:auto 1fr!important;align-items:start}.rental-consent input{width:20px!important;min-height:20px!important}.rental-pay{width:100%;display:flex!important;justify-content:space-between!important;font-size:1rem!important}
@media(max-width:880px){.rental-hero,.rental-shell{grid-template-columns:1fr}.rental-hero{min-height:680px;gap:2rem}.rental-intro{position:static}.rental-grid{grid-template-columns:1fr}.rental-grid .wide{grid-column:auto}}@media(max-width:520px){.rental-type-switch{grid-template-columns:1fr}.rental-hero aside{display:none}.rental-hero{min-height:580px}.rental-form fieldset{padding:1rem}.rental-total strong{font-size:2rem}}
@media(max-width:1120px){.brand-logo{width:50px;height:43px}.brand-copy strong{font-size:.78rem;letter-spacing:.035em}.brand-copy small{font-size:.58rem}.site-nav{gap:.15rem}.site-nav a{padding-inline:.65rem}}
@media(max-width:520px){.brand{gap:.42rem}.brand-logo{width:43px;height:39px}.brand-copy strong{font-size:.66rem;letter-spacing:.02em}.brand-copy small{display:none}.site-header{padding-inline:.75rem}}

/* Shop submenu and food ordering */
.student-attendees{margin:0;padding:1rem;border:1px solid rgba(214,168,79,.42);border-radius:8px;background:rgba(214,168,79,.06)}
.student-attendees[hidden]{display:none}.student-attendees legend{padding:0 .4rem;color:var(--gold-2);font-weight:800}.student-attendees>p{margin:.2rem 0 1rem;color:var(--muted);font-size:.85rem}.student-attendee-field{display:grid;gap:.4rem;margin-top:.8rem}
.ticket-bundle-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem;padding:1.2rem;border:1px solid var(--line);background:#0b0b0b}.ticket-bundle-actions strong{margin-right:auto;color:var(--gold-2);font-size:1.1rem}.qr-download-card{display:grid;justify-items:center;gap:.45rem;margin:auto;padding:14px;background:#fff;color:#173d32;border:2px solid #d6a84f;border-radius:12px}.qr-download-card>strong{letter-spacing:1px}.qr-download-card>small{font-weight:700;letter-spacing:.8px}
.nav-item{position:relative;display:inline-flex;align-items:center}.nav-has-submenu{padding-bottom:.25rem;margin-bottom:-.25rem}.nav-parent{display:inline-flex;align-items:center;gap:.35rem}.nav-parent::after{content:"";width:.42rem;height:.42rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.12rem) rotate(45deg);opacity:.72}.nav-submenu{position:absolute;top:calc(100% + .55rem);left:0;z-index:30;display:grid;min-width:210px;padding:.45rem;border:1px solid rgba(214,168,79,.28);border-radius:8px;background:rgba(7,7,7,.98);box-shadow:0 18px 50px rgba(0,0,0,.45);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.nav-submenu::before{content:"";position:absolute;left:1rem;top:-7px;width:12px;height:12px;border-left:1px solid rgba(214,168,79,.28);border-top:1px solid rgba(214,168,79,.28);background:#070707;transform:rotate(45deg)}.nav-has-submenu:hover .nav-submenu,.nav-has-submenu:focus-within .nav-submenu{opacity:1;visibility:visible;transform:translateY(0)}.site-nav .nav-submenu a{display:flex;border-radius:6px;padding:.75rem .85rem;color:var(--ink);font-size:.9rem}.site-nav .nav-submenu a:hover,.site-nav .nav-submenu a:focus,.site-nav .nav-submenu a.active{background:rgba(214,168,79,.12);color:var(--gold-2)}.food-order-hero h1{max-width:12ch}.food-order-section{padding-top:clamp(2rem,5vw,4rem)}.food-order-shell{overflow:hidden;border:1px solid rgba(214,168,79,.3);border-radius:10px;background:#080808;box-shadow:var(--shadow)}.food-order-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,3vw,1.5rem);border-bottom:1px solid var(--line);background:linear-gradient(135deg,rgba(214,168,79,.1),rgba(127,31,31,.1))}.food-order-bar h2{margin:0}.food-order-bar .eyebrow{margin-bottom:.2rem}.food-order-frame{display:block;width:100%;height:min(78vh,900px);min-height:620px;border:0;background:#fff}.food-order-fallback{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,3vw,1.5rem);border-top:1px solid var(--line);background:#0d0d0d}.food-order-fallback h3{margin:0 0 .25rem}.food-order-fallback p{margin:0;color:var(--muted)}
@media(max-width:920px){.site-header .site-nav .nav-item{display:grid;width:100%;align-items:stretch}.site-header .site-nav .nav-parent{display:flex;align-items:center;min-height:62px;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.09);font-family:"Cinzel",serif;font-size:clamp(1.25rem,5vw,1.7rem);color:#fff;text-decoration:none}.site-header .site-nav .nav-parent.active{padding-left:1rem;border-left:3px solid var(--gold);color:var(--gold)}.site-header .site-nav .nav-submenu{position:static;display:grid;min-width:0;margin:.25rem 0 .8rem 1rem;padding:.25rem 0 .25rem 1rem;border:0;border-left:1px solid rgba(214,168,79,.32);border-radius:0;background:transparent;box-shadow:none;opacity:1;visibility:visible;transform:none}.site-header .site-nav .nav-submenu::before{display:none}.site-header .site-nav .nav-submenu a{min-height:46px;padding:.55rem 0;border:0;font-family:Inter,Arial,sans-serif;font-size:1rem;color:var(--muted)}.site-header .site-nav .nav-submenu a.active{padding-left:.75rem;border-left:2px solid var(--gold);color:var(--gold-2)}.food-order-bar,.food-order-fallback{align-items:flex-start;flex-direction:column}.food-order-frame{height:72vh;min-height:560px}}
.food-order-app{min-height:calc(100vh - 92px);padding:clamp(5rem,9vw,8rem) clamp(1rem,6vw,5rem);background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.62)),url('../images/photo_2026-05-24_16-21-20.jpg') center/cover}.food-order-app .food-order-frame{width:100%;height:calc(100vh - 160px);min-height:680px;border:0;background:#fff}.food-order-setup{display:grid;place-items:center}.food-order-setup-panel{width:min(760px,100%);padding:clamp(1.4rem,4vw,2.4rem);border:1px solid rgba(214,168,79,.34);border-radius:10px;background:rgba(7,7,7,.88);box-shadow:var(--shadow);backdrop-filter:blur(12px)}.food-order-setup-panel h1{margin:.25rem 0 1rem;font-size:clamp(2rem,5vw,4.2rem)}.food-order-setup-panel p:not(.eyebrow){margin:0;color:var(--muted);font-size:1.02rem}
@media(max-width:920px){.food-order-app{min-height:calc(100vh - 72px);padding:5rem 1rem 6rem}.food-order-app .food-order-frame{height:calc(100vh - 128px);min-height:580px}}
/* Fast full-page food ordering surface */
.food-order-app{min-height:calc(100dvh - 78px)!important;padding:0!important;background:#fff!important}.food-order-app .food-order-frame{display:block;width:100%!important;height:calc(100dvh - 78px)!important;min-height:720px!important;border:0!important;background:#fff!important}.food-order-app+.site-footer{margin-top:0}
@media(max-width:920px){.food-order-app{min-height:calc(100dvh - 72px)!important}.food-order-app .food-order-frame{height:calc(100dvh - 72px)!important;min-height:640px!important}}

/* Native food ordering */
.food-native{min-height:calc(100dvh - 78px);padding:clamp(1rem,3vw,2rem);background:#f7efe1;color:#3d1f1f}.food-native-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:1.2rem;align-items:end;margin:0 auto 1rem;max-width:1500px}.food-native-head h1{margin:.15rem 0 .55rem;color:#3d1f1f;font-size:clamp(2rem,4.5vw,4.6rem)}.food-native-head p:not(.eyebrow){max-width:680px;margin:0;color:#6f5444}.food-search{display:grid;gap:.35rem;color:#7b4a34;font-size:.75rem;font-weight:900;text-transform:uppercase}.food-search input{width:100%;min-height:54px;padding:0 1rem;border:1px solid #d5b394;border-radius:8px;background:#fff;color:#3d1f1f;font:inherit}.food-category-strip{display:flex;gap:.6rem;max-width:1500px;margin:0 auto 1.2rem;padding:.25rem 0;overflow:auto}.food-category-strip button{flex:0 0 auto;min-height:42px;padding:.55rem 1rem;border:1px solid #c9916a;border-radius:999px;background:#fff;color:#5a2a1e;font:inherit;font-size:.85rem;font-weight:900;cursor:pointer}.food-category-strip button.active{background:#8b3a2c;color:#fff;border-color:#8b3a2c}.food-native-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:1.2rem;max-width:1500px;margin:auto}.food-menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;align-content:start}.food-card,.food-cart-panel,.food-loading,.food-empty{border:1px solid rgba(139,58,44,.18);border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(90,25,15,.08)}.food-card{overflow:hidden}.food-card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#ecd9c7}.food-card-body{display:grid;gap:.65rem;padding:1rem}.food-card-body>span{color:#9a4b2e;font-size:.7rem;font-weight:900;text-transform:uppercase}.food-card h3{margin:0;color:#2f1712;font-family:Inter,Arial,sans-serif;font-size:1rem;line-height:1.25}.food-card p{margin:0;color:#765c4a;font-size:.82rem}.food-card select{width:100%;min-height:42px;border:1px solid #e1c7ad;border-radius:7px;background:#fffaf5;color:#3d1f1f}.food-card-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.food-card-actions strong,.food-cart-total strong{color:#8b3a2c}.food-card-actions .button{min-height:42px;padding:.55rem 1rem}.food-cart-panel{position:sticky;top:95px;align-self:start;padding:1rem}.food-cart-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.food-cart-head h2{margin:0;color:#3d1f1f}.food-cart-head .eyebrow{margin:0;color:#8b3a2c}.food-cart-head button{border:0;background:transparent;color:#8b3a2c;font-weight:900;cursor:pointer}.food-cart-items{display:grid;gap:.7rem;min-height:90px;margin:1rem 0;color:#765c4a}.food-cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.6rem;align-items:center;padding:.75rem;border:1px solid #ead5bf;border-radius:8px;background:#fffaf5}.food-cart-line strong{display:block;color:#3d1f1f;font-size:.88rem}.food-cart-line small{display:block;color:#765c4a}.food-cart-line button{width:30px;height:30px;border:0;border-radius:50%;background:#8b3a2c;color:#fff;font-size:1.2rem}.food-cart-total{display:flex;align-items:center;justify-content:space-between;margin:1rem 0;padding-top:1rem;border-top:1px solid #ead5bf;font-weight:900}.food-checkout{display:grid;gap:.7rem}.food-checkout input,.food-checkout textarea{width:100%;padding:.8rem;border:1px solid #d5b394;border-radius:8px;background:#fff;color:#3d1f1f;font:inherit}.food-checkout .button{width:100%;justify-content:center}.food-status{min-height:1.4rem;margin:.2rem 0 0;color:#8b3a2c;font-weight:800}.food-loading,.food-empty{display:grid;grid-column:1/-1;place-items:center;min-height:260px;padding:2rem;text-align:center;color:#6f5444}.food-loading strong,.food-empty strong{color:#3d1f1f;font-size:1.2rem}@media(max-width:980px){.food-native-head,.food-native-layout{grid-template-columns:1fr}.food-cart-panel{position:static}.food-native{padding:1rem 1rem 5.5rem}}@media(max-width:560px){.food-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.food-card-body{padding:.75rem}.food-card h3{font-size:.9rem}.food-card-actions{align-items:stretch;flex-direction:column}.food-card-actions .button{width:100%;justify-content:center}.food-native-head h1{font-size:2.2rem}}

/* Food ordering mobile cart, quantity, and processing states */
.food-quantity-row,.food-cart-qty{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:.35rem}.food-quantity-row button,.food-cart-qty button{height:38px;border:1px solid #d8bda3;border-radius:8px;background:#fff7ef;color:#8b3a2c;font:inherit;font-weight:900;cursor:pointer}.food-quantity-row input,.food-cart-qty input{width:100%;height:38px;border:1px solid #d8bda3;border-radius:8px;background:#fff;color:#3d1f1f;text-align:center;font:inherit;font-weight:900}.food-cart-line{grid-template-columns:minmax(0,1fr) 112px auto 30px}.food-cart-actions{display:flex;align-items:center;gap:.45rem}.food-cart-close{display:none!important}.food-cart-drag{display:none}.food-cart-fab{position:fixed;z-index:1200;left:50%;bottom:calc(78px + env(safe-area-inset-bottom));display:none;align-items:center;justify-content:space-between;gap:.75rem;width:min(420px,calc(100vw - 1.5rem));min-height:58px;padding:.65rem .75rem .65rem 1rem;border:1px solid rgba(139,58,44,.28);border-radius:999px;background:#8b3a2c;color:#fff;box-shadow:0 18px 50px rgba(60,20,10,.28);transform:translateX(-50%);font:inherit;font-weight:900}.food-cart-fab strong{color:#fff;font-size:.86rem}.food-cart-fab em{display:grid;place-items:center;min-width:28px;height:28px;padding:0 .45rem;border-radius:999px;background:#fff;color:#8b3a2c;font-style:normal}.food-cart-fab.has-items{background:#7a2f22}.food-cart-scrim{position:fixed;inset:0;z-index:1250;display:none;background:rgba(30,12,8,.55);backdrop-filter:blur(4px)}.food-cart-scrim.open{display:block}.food-processing-open,.food-cart-open{overflow:hidden}.food-processing-modal{position:fixed;inset:0;z-index:2100;display:none;place-items:center;padding:1rem;background:rgba(30,12,8,.68);backdrop-filter:blur(7px)}.food-processing-modal.open{display:grid}.food-processing-card{width:min(420px,100%);padding:2rem;border:1px solid rgba(139,58,44,.22);border-radius:16px;background:#fffaf5;color:#3d1f1f;text-align:center;box-shadow:0 26px 80px rgba(40,12,6,.38)}.food-processing-spinner{width:64px;height:64px;margin:0 auto 1rem;border:4px solid #ead5bf;border-top-color:#8b3a2c;border-radius:50%;animation:food-spin .8s linear infinite}.food-processing-card h2{margin:.2rem 0 .5rem;color:#3d1f1f;font-size:1.65rem}.food-processing-card p{margin:0;color:#765c4a}.food-processing-modal[data-state="success"] .food-processing-spinner,.food-processing-modal[data-state="error"] .food-processing-spinner{display:grid;place-items:center;border:0;background:#8b3a2c;color:#fff;animation:food-pop .25s ease-out}.food-processing-modal[data-state="success"] .food-processing-spinner::before{content:"\2713";font-size:2rem;font-weight:900}.food-processing-modal[data-state="error"] .food-processing-spinner{background:#b3261e}.food-processing-modal[data-state="error"] .food-processing-spinner::before{content:"!";font-size:2rem;font-weight:900}@keyframes food-spin{to{transform:rotate(360deg)}}@keyframes food-pop{from{transform:scale(.82);opacity:.55}to{transform:scale(1);opacity:1}}
@media(max-width:980px){.food-cart-fab{display:flex}.food-cart-panel{position:fixed!important;z-index:1300;left:0;right:0;bottom:0;top:auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;width:100%;max-height:min(88dvh,760px);padding:0 1rem 1rem!important;border-radius:22px 22px 0 0!important;border:1px solid rgba(139,58,44,.22)!important;background:#fff!important;box-shadow:0 -22px 70px rgba(50,14,8,.32)!important;transform:translateY(105%);visibility:hidden;transition:transform .28s cubic-bezier(.22,.8,.25,1),visibility .28s ease}.food-cart-panel.open{transform:translateY(0);visibility:visible}.food-cart-drag{display:block;width:46px;height:5px;margin:.7rem auto .35rem;border-radius:999px;background:#d6bda7}.food-cart-close{display:grid!important;place-items:center;width:38px;height:38px;border:1px solid #ead5bf!important;border-radius:50%;background:#fff7ef!important;color:#8b3a2c!important;font-size:1.5rem!important}.food-cart-items{min-height:0;max-height:32dvh;overflow:auto;padding-right:.15rem}.food-checkout{padding-top:.75rem;border-top:1px solid #ead5bf}.food-native{padding-bottom:calc(7rem + env(safe-area-inset-bottom))}.food-cart-line{grid-template-columns:minmax(0,1fr) 104px 72px 30px}.food-cart-line span{text-align:right;font-size:.82rem}.food-cart-qty{grid-template-columns:30px minmax(0,42px) 30px}.food-cart-qty button,.food-cart-qty input{height:32px}}
@media(max-width:560px){.food-quantity-row{grid-template-columns:34px minmax(0,1fr) 34px}.food-quantity-row button,.food-quantity-row input{height:34px}.food-cart-line{grid-template-columns:minmax(0,1fr) 94px 30px}.food-cart-line>span{grid-column:1/2;grid-row:2;text-align:left;font-weight:900}.food-cart-line>button{grid-column:3;grid-row:1}.food-cart-qty{grid-column:2;grid-row:1/3}.food-cart-panel{max-height:90dvh}.food-cart-items{max-height:30dvh}.food-processing-card{padding:1.45rem}}
@media(max-width:980px){.food-cart-scrim{z-index:1550}.food-cart-panel{z-index:1600!important}.food-cart-fab{z-index:1500}}

/* Museum declaration */
.museum-declaration-intro h2 {
    max-width: 780px;
}

.declaration-section {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.declaration-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(145deg, var(--panel), var(--panel-2));
    padding: clamp(1.2rem, 3vw, 2rem);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .2);
}

.declaration-card::before {
    content: "";
    display: block;
    width: 58px;
    height: 4px;
    margin-bottom: 1.1rem;
    border-radius: 999px;
    background: var(--gold);
}

.declaration-card blockquote {
    margin: 0;
    color: var(--ink);
    font-family: "Cinzel", serif;
    font-size: clamp(1rem, 1.8vw, 1.25rem);
    line-height: 1.75;
}

.declaration-card p {
    margin: 0 0 .9rem;
}

.declaration-card-twi h3 {
    margin: 0 0 1rem;
    color: var(--gold-2);
    font-family: "Cinzel", serif;
    font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.declaration-lines {
    color: var(--muted);
    line-height: 1.72;
}

.declaration-lines ul {
    display: grid;
    gap: .45rem;
    margin: .35rem 0 1rem;
    padding-left: 1.2rem;
    color: var(--ink);
}

.declaration-lines li::marker {
    color: var(--gold-2);
}

@media (max-width: 900px) {
    .declaration-section {
        grid-template-columns: 1fr;
    }
}
/* Home route map, quick tickets, and USSD access */
.hero-ussd-card {
    display: inline-grid;
    gap: .12rem;
    min-width: min(100%, 320px);
    margin-top: 1rem;
    padding: .9rem 1.1rem;
    border: 1px solid rgba(242, 207, 122, .7);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(214, 168, 79, .96), rgba(242, 207, 122, .82));
    color: #100906;
    text-decoration: none;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .35);
}

.hero-ussd-card span,
.hero-ussd-card small {
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.hero-ussd-card span {
    font-size: .68rem;
}

.hero-ussd-card strong {
    font: 900 clamp(1.55rem, 3vw, 2.35rem) / 1 Inter, Arial, sans-serif;
    letter-spacing: 0;
}

.hero-ussd-card small {
    color: rgba(16, 9, 6, .76);
    font-size: .66rem;
}

.heritage-route-map {
    position: relative;
    grid-column: 1 / -1;
    overflow: hidden;
    min-height: 260px;
    margin-top: clamp(1.2rem, 3vw, 2rem);
    padding: clamp(1rem, 3vw, 1.6rem);
    border: 1px solid rgba(214, 168, 79, .32);
    border-radius: 8px;
    background: linear-gradient(145deg, rgba(11, 11, 11, .98), rgba(20, 17, 13, .94));
    box-shadow: var(--shadow);
}

.route-map-bg {
    position: absolute;
    inset: 0;
    opacity: .42;
    background:
        linear-gradient(115deg, transparent 0 46%, rgba(247, 239, 225, .16) 46% 47%, transparent 47% 100%),
        linear-gradient(25deg, transparent 0 54%, rgba(247, 239, 225, .12) 54% 55%, transparent 55% 100%),
        repeating-linear-gradient(0deg, transparent 0 39px, rgba(247, 239, 225, .08) 40px, transparent 41px),
        repeating-linear-gradient(90deg, transparent 0 46px, rgba(247, 239, 225, .07) 47px, transparent 48px);
}

.route-map-bg span {
    position: absolute;
    height: 2px;
    width: 46%;
    border-radius: 99px;
    background: rgba(247, 239, 225, .18);
    transform-origin: left center;
}

.route-map-bg span:nth-child(1) { left: 4%; top: 24%; transform: rotate(7deg); }
.route-map-bg span:nth-child(2) { left: 14%; top: 72%; transform: rotate(-12deg); }
.route-map-bg span:nth-child(3) { left: 48%; top: 18%; transform: rotate(16deg); }
.route-map-bg span:nth-child(4) { left: 52%; top: 68%; transform: rotate(-6deg); }
.route-map-bg span:nth-child(5) { left: 18%; top: 43%; transform: rotate(38deg); }
.route-map-bg span:nth-child(6) { left: 64%; top: 42%; transform: rotate(-34deg); }

.route-steps {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
    gap: clamp(1rem, 4vw, 3rem);
    min-height: 170px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.route-steps::before {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    top: 54%;
    height: 6px;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--red), #c94738 48%, var(--gold-2));
    box-shadow: 0 0 0 6px rgba(127, 31, 31, .18), 0 16px 36px rgba(0, 0, 0, .35);
}

.route-steps li {
    position: relative;
    display: grid;
    justify-items: center;
    gap: .35rem;
    min-width: 0;
    color: var(--ink);
    text-align: center;
}

.route-steps li:nth-child(1) { align-self: start; padding-top: .4rem; }
.route-steps li:nth-child(2) { align-self: end; padding-bottom: .2rem; }
.route-steps li:nth-child(3) { align-self: start; padding-top: .1rem; }

.route-pin {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: clamp(58px, 8vw, 82px);
    height: clamp(58px, 8vw, 82px);
    border: 6px solid rgba(247, 239, 225, .92);
    border-radius: 50% 50% 50% 0;
    background: #2f8ba0;
    box-shadow: 0 18px 36px rgba(0, 0, 0, .42);
    transform: rotate(-45deg);
}

.route-pin::before {
    content: "";
    width: 42%;
    height: 42%;
    border-radius: 50%;
    background: var(--ink);
}

.route-pin-start {
    width: clamp(48px, 7vw, 68px);
    height: clamp(48px, 7vw, 68px);
    background: #6b2731;
}

.route-pin-destination {
    width: clamp(68px, 9vw, 96px);
    height: clamp(68px, 9vw, 96px);
    background: #1f8799;
}

.route-steps strong,
.route-steps small {
    position: relative;
    z-index: 3;
    display: block;
    padding: .2rem .55rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, .62);
    backdrop-filter: blur(8px);
}

.route-steps strong {
    color: #fff;
    font-weight: 900;
}

.route-steps small {
    color: var(--gold-2);
    font-size: .78rem;
    font-weight: 800;
}

.route-map-action {
    position: relative;
    z-index: 2;
    display: inline-flex;
    margin-top: 1.2rem;
    color: var(--gold-2);
    font-weight: 900;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
}

.home-ticket-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.home-ticket-card {
    display: grid;
    gap: .65rem;
    min-height: 185px;
    padding: 1.15rem;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(145deg, var(--panel), var(--panel-2));
    color: var(--ink);
    text-decoration: none;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.home-ticket-card:hover,
.home-ticket-card:focus-visible {
    border-color: var(--gold);
    background: linear-gradient(145deg, #171008, #0b0b0b);
    outline: 0;
    transform: translateY(-4px);
}

.home-ticket-card span {
    color: var(--gold-2);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.home-ticket-card h3 {
    margin: 0;
    font-size: clamp(1.15rem, 2vw, 1.45rem);
}

.home-ticket-card p {
    margin: 0;
    color: var(--muted);
}

.home-ticket-card strong {
    align-self: end;
    color: var(--gold-2);
}

@media (max-width: 920px) {
    .hero-ussd-card {
        min-width: min(100%, 290px);
    }

    .home-ticket-grid {
        grid-template-columns: 1fr;
    }

    .heritage-route-map {
        min-height: 360px;
    }

    .route-steps {
        grid-template-columns: 1fr;
        min-height: 290px;
        gap: .85rem;
    }

    .route-steps::before {
        top: 10%;
        bottom: 12%;
        left: 50%;
        right: auto;
        width: 6px;
        height: auto;
        transform: translateX(-50%);
        background: linear-gradient(180deg, var(--red), #c94738 48%, var(--gold-2));
    }

    .route-steps li,
    .route-steps li:nth-child(1),
    .route-steps li:nth-child(2),
    .route-steps li:nth-child(3) {
        align-self: center;
        padding: 0;
    }
}

/* Revised home hero USSD placement and compact travel map */
.hero-home .hero-content {
    max-width: min(720px, 52vw);
}

.hero-home .hero-ussd-card {
    position: absolute;
    z-index: 4;
    right: clamp(1.25rem, 7vw, 7rem);
    bottom: clamp(8rem, 18vh, 13rem);
    width: min(360px, 30vw);
    min-width: 280px;
    margin: 0;
    padding: 1.15rem 1.25rem;
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .65s ease, transform .65s cubic-bezier(.22, .8, .25, 1), border-color .2s ease;
}

.hero-home .hero-slide.active .hero-ussd-card {
    opacity: 1;
    transform: none;
    transition-delay: .3s;
}

.hero-home .hero-ussd-card strong {
    font-size: clamp(2rem, 3.5vw, 3rem);
}

.museum-declaration-intro {
    grid-template-columns: minmax(0, .85fr) minmax(360px, 1.15fr);
    align-items: center;
}

.museum-welcome-copy p:not(.eyebrow) {
    max-width: 660px;
    color: var(--muted);
    font-size: 1.05rem;
}

.museum-declaration-intro .heritage-route-map {
    grid-column: auto;
    min-height: 0;
    margin-top: 0;
    padding: 1rem;
    align-self: stretch;
}

.route-map-head {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .35rem .8rem;
    align-items: start;
}

.route-map-head .eyebrow {
    grid-column: 1 / -1;
    margin-bottom: 0;
    font-size: .65rem;
}

.route-map-head h3 {
    margin: 0;
    font-size: clamp(1.25rem, 2vw, 1.8rem);
}

.route-map-head .route-map-action {
    margin-top: .15rem;
    padding: .35rem .6rem;
    border: 1px solid rgba(214, 168, 79, .4);
    border-radius: 999px;
    background: rgba(0, 0, 0, .42);
    font-size: .76rem;
    text-decoration: none;
}

.route-mini-map {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 64px;
    align-items: center;
    gap: .45rem;
    min-height: 78px;
    margin: .85rem 0;
    padding: .5rem .65rem;
    border: 1px solid rgba(247, 239, 225, .1);
    border-radius: 8px;
    background: rgba(0, 0, 0, .24);
}

.route-mini-map .route-pin {
    width: 44px;
    height: 44px;
    border-width: 4px;
}

.route-mini-map .route-pin-destination {
    width: 56px;
    height: 56px;
}

.route-line {
    height: 5px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--red), #d34b3b 55%, var(--gold-2));
    box-shadow: 0 0 0 5px rgba(127, 31, 31, .13);
}

.route-time-list {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem .6rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.route-time-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .55rem;
    min-width: 0;
    padding: .5rem .55rem;
    border: 1px solid rgba(247, 239, 225, .1);
    border-radius: 7px;
    background: rgba(0, 0, 0, .34);
}

.route-time-list span {
    min-width: 0;
    overflow: hidden;
    color: rgba(247, 239, 225, .82);
    font-size: .78rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.route-time-list strong {
    flex: 0 0 auto;
    color: var(--gold-2);
    font-size: .78rem;
    font-weight: 900;
}

.route-fare-note {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-top: .75rem;
    padding: .75rem .85rem;
    border: 1px solid rgba(242, 207, 122, .35);
    border-radius: 8px;
    background: rgba(214, 168, 79, .1);
}

.route-fare-note span {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.route-fare-note strong {
    color: var(--gold-2);
    font-size: .9rem;
    text-align: right;
}

@media (max-width: 1100px) {
    .hero-home .hero-content {
        max-width: 56vw;
    }

    .hero-home .hero-ussd-card {
        width: min(330px, 34vw);
        min-width: 250px;
    }

    .museum-declaration-intro {
        grid-template-columns: minmax(0, .9fr) minmax(330px, 1.1fr);
    }

    .route-time-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 920px) {
    .hero-home .hero-content {
        max-width: none;
        right: 1.25rem;
        bottom: 13.7rem;
    }

    .hero-home .hero-ussd-card {
        left: 1.25rem;
        right: 1.25rem;
        bottom: 5.3rem;
        width: auto;
        min-width: 0;
        padding: .9rem 1rem;
    }

    .hero-home .hero-ussd-card strong {
        font-size: clamp(1.7rem, 8vw, 2.4rem);
    }

    .museum-declaration-intro {
        grid-template-columns: 1fr;
    }

    .museum-declaration-intro .heritage-route-map {
        margin-top: 0;
    }

    .route-time-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .hero-home .hero-content {
        bottom: 14.8rem;
    }

    .hero-home .hero-content h1 {
        font-size: clamp(2.45rem, 10vw, 4rem);
    }

    .hero-home .hero-content > p:not(.eyebrow) {
        font-size: .95rem;
    }

    .route-map-head {
        grid-template-columns: 1fr;
    }

    .route-map-head .route-map-action {
        justify-self: start;
    }

    .route-time-list span,
    .route-time-list strong {
        font-size: .74rem;
    }

    .route-fare-note {
        align-items: flex-start;
        flex-direction: column;
    }

    .route-fare-note strong {
        text-align: left;
    }
}

/* Center hero USSD card */
.hero-home .hero-ussd-card {
    left: 50%;
    right: auto;
    bottom: clamp(5.6rem, 10vh, 7.5rem);
    width: min(360px, calc(100vw - 2.5rem));
    min-width: 280px;
    transform: translate(-50%, 24px);
}

.hero-home .hero-slide.active .hero-ussd-card {
    transform: translate(-50%, 0);
}

@media (max-width: 920px) {
    .hero-home .hero-ussd-card {
        left: 50%;
        right: auto;
        bottom: 5.3rem;
        width: min(360px, calc(100vw - 2.5rem));
        min-width: 0;
        transform: translate(-50%, 24px);
    }

    .hero-home .hero-slide.active .hero-ussd-card {
        transform: translate(-50%, 0);
    }
}

/* Right-side centered hero USSD card */
.hero-home .hero-ussd-card {
    left: auto;
    right: clamp(1.25rem, 7vw, 7rem);
    top: 50%;
    bottom: auto;
    width: min(360px, 30vw);
    min-width: 280px;
    transform: translateY(calc(-50% + 24px));
}

.hero-home .hero-slide.active .hero-ussd-card {
    transform: translateY(-50%);
}

@media (max-width: 920px) {
    .hero-home .hero-ussd-card {
        left: 50%;
        right: auto;
        top: auto;
        bottom: 5.3rem;
        width: min(360px, calc(100vw - 2.5rem));
        min-width: 0;
        transform: translate(-50%, 24px);
    }

    .hero-home .hero-slide.active .hero-ussd-card {
        transform: translate(-50%, 0);
    }
}

/* Learn page room tabs */
.learn-hero h1 {
    max-width: 14ch;
}

.learn-intro-panel {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 5vw, 4rem);
    align-items: end;
    padding-bottom: clamp(2rem, 4vw, 3rem);
}

.learn-intro-panel p:not(.eyebrow) {
    color: var(--muted);
    font-size: 1.05rem;
}

.learn-tabs-shell {
    display: grid;
    grid-template-columns: minmax(210px, .32fr) minmax(0, 1fr);
    gap: clamp(1rem, 3vw, 2rem);
    padding-top: clamp(2rem, 4vw, 3rem);
    background: radial-gradient(circle at 0 0, rgba(214, 168, 79, .08), transparent 30rem), #060606;
}

.learn-tabs-nav {
    position: sticky;
    top: 104px;
    align-self: start;
    display: grid;
    gap: .55rem;
    padding: .8rem;
    border: 1px solid rgba(214, 168, 79, .24);
    border-radius: 8px;
    background: linear-gradient(145deg, rgba(20, 17, 13, .96), rgba(7, 7, 7, .98));
    box-shadow: var(--shadow);
}

.learn-tabs-nav button {
    min-height: 46px;
    border: 1px solid transparent;
    border-radius: 7px;
    background: rgba(255, 255, 255, .035);
    color: var(--muted);
    font: inherit;
    font-weight: 900;
    text-align: left;
    cursor: pointer;
    padding: .7rem .85rem;
}

.learn-tabs-nav button:hover,
.learn-tabs-nav button:focus-visible,
.learn-tabs-nav button.active {
    border-color: rgba(214, 168, 79, .45);
    background: rgba(214, 168, 79, .13);
    color: var(--gold-2);
    outline: 0;
}

.learn-tabs-content {
    min-width: 0;
}

.learn-tab-panel {
    display: grid;
    gap: 1rem;
}

.learn-tab-panel[hidden] {
    display: none;
}

.learn-room-hero {
    display: grid;
    grid-template-columns: minmax(280px, .74fr) minmax(0, 1fr);
    gap: clamp(1rem, 3vw, 2rem);
    align-items: center;
    overflow: hidden;
    border: 1px solid rgba(214, 168, 79, .28);
    border-radius: 8px;
    background: linear-gradient(145deg, var(--panel), var(--panel-2));
}

.learn-room-hero.alt {
    background: linear-gradient(145deg, #111, #090909);
}

.learn-room-hero img {
    width: 100%;
    height: clamp(260px, 35vw, 420px);
    object-fit: cover;
}

.learn-room-hero div {
    min-width: 0;
    padding: clamp(1rem, 3vw, 2rem);
}

.learn-room-hero h2 {
    margin-bottom: .65rem;
    font-size: clamp(2rem, 4vw, 4rem);
    overflow-wrap: anywhere;
}

.learn-room-hero p:not(.eyebrow) {
    color: var(--muted);
    font-size: 1.05rem;
}

.learn-language-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.learn-language-grid.compact {
    align-items: start;
}

.learn-text-card,
.clan-grid-card,
.learn-image-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(145deg, var(--panel), var(--panel-2));
    box-shadow: 0 22px 60px rgba(0, 0, 0, .25);
}

.learn-text-card {
    padding: clamp(1.1rem, 2.5vw, 1.7rem);
    color: var(--muted);
    line-height: 1.75;
}

.learn-text-card.featured {
    border-color: rgba(214, 168, 79, .32);
    background: linear-gradient(145deg, #17120c, #090909);
}

.learn-text-card.twi-card {
    border-color: rgba(242, 207, 122, .22);
}

.learn-text-card.wide {
    grid-column: 1 / -1;
}

.learn-text-card h3,
.clan-grid-card h3,
.learn-image-card h3 {
    margin-bottom: .9rem;
    color: var(--ink);
    font-size: clamp(1.25rem, 2.2vw, 2rem);
    overflow-wrap: anywhere;
}

.learn-text-card p,
.learn-text-card blockquote {
    margin: 0 0 .85rem;
}

.learn-text-card blockquote {
    padding-left: 1rem;
    border-left: 4px solid var(--gold);
    color: var(--ink);
    font-family: Cinzel, Georgia, serif;
}

.learn-room-stack {
    display: grid;
    gap: 1rem;
}

.learn-image-card {
    display: grid;
    grid-template-columns: minmax(260px, .62fr) minmax(0, 1fr);
    overflow: hidden;
}

.learn-image-card img {
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
}

.learn-image-card div {
    padding: clamp(1.1rem, 2.5vw, 1.8rem);
    color: var(--muted);
}

.learn-image-card p {
    margin: 0 0 .8rem;
}

.clan-grid-card {
    display: grid;
    grid-template-columns: minmax(240px, .55fr) minmax(0, 1fr);
    gap: 1rem;
    padding: clamp(1.1rem, 2.5vw, 1.7rem);
}

.clan-grid-card > div,
.clan-grid-card blockquote {
    color: var(--muted);
}

.clan-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.clan-list li {
    display: grid;
    gap: .2rem;
    padding: .75rem;
    border: 1px solid rgba(247, 239, 225, .1);
    border-radius: 7px;
    background: rgba(0, 0, 0, .28);
}

.clan-list strong {
    color: var(--gold-2);
}

.clan-list span {
    color: var(--muted);
}

.clan-grid-card blockquote {
    grid-column: 1 / -1;
    margin: 0;
    padding: 1rem;
    border-left: 4px solid var(--gold);
    background: rgba(214, 168, 79, .08);
    color: var(--ink);
    font-family: Cinzel, Georgia, serif;
}

@media (max-width: 980px) {
    .learn-intro-panel,
    .learn-tabs-shell,
    .learn-room-hero,
    .learn-language-grid,
    .learn-image-card,
    .clan-grid-card {
        grid-template-columns: 1fr;
    }

    .learn-tabs-nav {
        position: static;
        display: flex;
        overflow-x: auto;
        padding: .65rem;
    }

    .learn-tabs-nav button {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .learn-room-hero img,
    .learn-image-card img {
        min-height: 0;
        height: 300px;
    }
}

@media (max-width: 560px) {
    .learn-tabs-shell {
        padding-inline: .85rem;
    }

    .clan-list {
        grid-template-columns: 1fr;
    }

    .learn-room-hero img,
    .learn-image-card img {
        height: 240px;
    }

    .learn-text-card,
    .clan-grid-card,
    .learn-image-card div,
    .learn-room-hero div {
        padding: 1rem;
    }
}
