/* ====== Embedded styles.css ====== */
:root {
    --bg: #0b0d10;
    --card: #0f1319;
    --text: #eaf0ff;
    --muted: #a7b1c7;
    --line: rgba(255, 255, 255, .10);
    --brand: #f3b562;
    --brand2: #b85cff;
    --shadow: 0 18px 45px rgba(0, 0, 0, .35);
    --radius: 18px;
    --radius2: 26px;
    --container: 1120px
}

* {
    box-sizing: border-box
}

html,
body {
    height: 100%
}

body {
    margin: 0;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
    letter-spacing: .05px;
    background: radial-gradient(1200px 900px at 15% -10%, rgba(243, 181, 98, .15), transparent 50%),
        radial-gradient(1000px 800px at 90% 15%, rgba(184, 92, 255, .15), transparent 50%),
        linear-gradient(180deg, #07080b, #0b0d10 40%, #080a0d);
    background-attachment: fixed;
    color: var(--text);
    min-height: 100vh;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

a {
    color: inherit;
    text-decoration: none
}

.container {
    width: min(var(--container), calc(100% - 40px));
    margin-inline: auto
}

.btn {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .88rem 1.05rem;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, .04);
    backdrop-filter: blur(10px);
    transition: .2s transform, .2s background, .2s border;
    box-shadow: 0 10px 26px rgba(0, 0, 0, .25)
}

.btn:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, .07);
    border-color: rgba(255, 255, 255, .18)
}

.btn.primary {
    background: linear-gradient(135deg, rgba(243, 181, 98, .9), rgba(184, 92, 255, .9));
    border-color: transparent;
    color: #0b0d10;
    font-weight: 700
}

.btn.primary:hover {
    filter: saturate(1.05) brightness(1.05)
}

.pill {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .35rem .65rem;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, .04);
    color: var(--muted);
    font-size: .9rem
}

nav {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(11, 13, 16, .65);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(255, 255, 255, .06)
}

.navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    gap: 16px
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px
}

.logo {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(243, 181, 98, .95), rgba(184, 92, 255, .95));
    display: grid;
    place-items: center;
    box-shadow: var(--shadow);
    overflow: hidden;
}

.logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 2px;
}

.logo svg {
    width: 22px;
    height: 22px;
}

.brand h1 {
    font-size: 1rem;
    margin: 0;
    line-height: 1.15
}

.brand span {
    display: block;
    color: var(--muted);
    font-size: .83rem;
    margin-top: 2px
}

.menu {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end
}

.menu a {
    color: var(--muted);
    font-size: .95rem;
    padding: 8px 10px;
    border-radius: 10px;
    transition: .2s;
    background: transparent
}

.menu a:hover {
    background: rgba(255, 255, 255, .05);
    color: var(--text)
}

.hero {
    padding: 56px 0 28px
}

.heroGrid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 26px;
    align-items: stretch
}

@media (max-width: 920px) {
    .heroGrid {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .menu {
        display: none
    }
}

.heroCard {
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: var(--radius2);
    background: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02));
    box-shadow: var(--shadow);
    overflow: hidden
}

.heroMedia {
    min-height: 420px;
    background-size: cover;
    background-position: center;
    position: relative;
    border-bottom: 1px solid rgba(255, 255, 255, .05);
}

.heroMedia::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(11, 13, 16, .05), rgba(11, 13, 16, .75))
}

.heroBody {
    padding: 22px 22px 18px;
    position: relative
}

.heroTitle {
    font-size: clamp(1.75rem, 3.4vw, 2.7rem);
    line-height: 1.05;
    margin: 10px 0 10px
}

.heroText {
    color: var(--muted);
    font-size: 1.02rem;
    line-height: 1.65;
    margin: 0 0 18px
}

.heroActions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap
}

.heroStats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding: 16px 18px;
    border-top: 1px solid rgba(255, 255, 255, .06)
}

.stat {
    padding: 12px 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .035);
    border: 1px solid rgba(255, 255, 255, .07)
}

.stat b {
    display: block;
    font-size: 1.15rem;
    margin-bottom: 2px
}

.stat span {
    color: var(--muted);
    font-size: .9rem
}

.section {
    padding: 34px 0
}

.sectionHeader {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px
}

.sectionHeader h2 {
    margin: 0;
    font-size: 1.4rem
}

.sectionHeader p {
    margin: 0;
    color: var(--muted)
}

.grid2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

@media (max-width: 920px) {
    .grid2 {
        grid-template-columns: 1fr
    }
}

.card {
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: var(--radius);
    background: rgba(255, 255, 255, .03);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .28);
    overflow: hidden;
    transition: transform 0.3s ease, border-color 0.3s ease;
}

.card:hover {
    border-color: rgba(255, 255, 255, 0.2);
    transform: translateY(-4px);
}

.card img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.cardPad {
    padding: 18px
}

.badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 10px 0 0
}

.list {
    display: grid;
    gap: 10px;
    margin: 14px 0 0
}

.item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .03);
    border: 1px solid rgba(255, 255, 255, .06)
}

.icon {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: rgba(243, 181, 98, .14);
    border: 1px solid rgba(243, 181, 98, .25);
    display: grid;
    place-items: center;
    flex: 0 0 auto
}

.icon svg {
    width: 18px;
    height: 18px
}

.item b {
    display: block;
    margin: 0 0 2px
}

.item span {
    color: var(--muted);
    line-height: 1.45
}

.gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px
}

@media (max-width: 920px) {
    .gallery {
        grid-template-columns: repeat(2, 1fr)
    }
}

.gItem {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, .08);
    cursor: pointer;
    background: #0b0d10
}

.gItem img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 1/1;
    transition: transform .28s ease
}

.gItem:hover img {
    transform: scale(1.04)
}

.gItem::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .35));
    opacity: .7
}

.split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

@media (max-width: 920px) {
    .split {
        grid-template-columns: 1fr
    }
}

.mapWrap {
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .08);
    min-height: 320px
}

footer {
    padding: 26px 0 40px;
    border-top: 1px solid rgba(255, 255, 255, .06);
    color: var(--muted)
}

footer .row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap
}

.small {
    font-size: .9rem
}

.lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .82);
    display: none;
    place-items: center;
    padding: 22px;
    z-index: 99
}

.lightbox.open {
    display: grid
}

.lbInner {
    max-width: min(1020px, 92vw);
    max-height: 86vh;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .14);
    background: #0b0d10;
    box-shadow: 0 22px 60px rgba(0, 0, 0, .5)
}

.lbInner img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #0b0d10
}

.lbClose {
    position: fixed;
    top: 16px;
    right: 16px
}

.skiplink {
    position: absolute;
    left: -999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden
}

.skiplink:focus {
    left: 16px;
    top: 16px;
    width: auto;
    height: auto;
    padding: 10px 12px;
    border-radius: 12px;
    background: #111;
    color: #fff;
    z-index: 999;
    border: 1px solid rgba(255, 255, 255, .2)
}