:root {
    --bg: #060403;
    --bg-2: #0b0705;
    --bg-3: #140d08;
    --panel: rgba(15, 10, 7, 0.86);
    --panel-strong: rgba(10, 7, 5, 0.94);
    --panel-soft: rgba(32, 22, 15, 0.56);
    --text: #f5efe5;
    --muted: #c5b59f;
    --muted-2: #a79177;
    --gold: #c9a15c;
    --gold-soft: #ead8b2;
    --gold-deep: #8e6530;
    --line: rgba(201, 161, 92, 0.15);
    --line-strong: rgba(201, 161, 92, 0.28);
    --shadow: 0 26px 70px rgba(0, 0, 0, 0.5);
    --shadow-soft: 0 18px 44px rgba(0, 0, 0, 0.36);
    --radius: 30px;
    --radius-lg: 40px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    min-height: 100vh;
    color: var(--text);
    font-family: 'Inter', sans-serif;
    background:
        radial-gradient(circle at 14% 10%, rgba(201,161,92,.12), transparent 20%),
        radial-gradient(circle at 86% 18%, rgba(111,72,36,.16), transparent 16%),
        linear-gradient(180deg, #1b120d 0%, #090705 34%, #050403 100%);
    overflow-x: hidden;
}
body::before,
body::after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
}
body::before {
    background:
        linear-gradient(90deg, rgba(255,255,255,.018), transparent 7%, transparent 93%, rgba(255,255,255,.018)),
        linear-gradient(180deg, rgba(201,161,92,.05), transparent 12%, transparent 88%, rgba(201,161,92,.05));
    opacity: .9;
}
body::after {
    background:
        radial-gradient(circle at center, rgba(201,161,92,.04), transparent 58%),
        repeating-linear-gradient(90deg, rgba(255,255,255,.014) 0 1px, transparent 1px 140px);
    opacity: .34;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }

.site-bg-orb {
    position: fixed;
    border-radius: 50%;
    filter: blur(105px);
    pointer-events: none;
    z-index: -1;
    opacity: .32;
}
.site-bg-orb-one { width: 440px; height: 440px; top: -120px; left: -140px; background: rgba(201,161,92,.18); }
.site-bg-orb-two { width: 400px; height: 400px; right: -140px; bottom: -30px; background: rgba(92,57,30,.22); }

.page-shell,
.admin-shell {
    width: min(1460px, calc(100% - 44px));
    margin: 0 auto;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 18px 0;
    background: linear-gradient(180deg, rgba(6,4,3,.96), rgba(6,4,3,.7));
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(201,161,92,.08);
}
.site-header::before,
.site-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(201,161,92,.55), transparent);
    pointer-events: none;
}
.site-header::before { top: 0; opacity: .36; }
.site-header::after { bottom: 0; opacity: .22; }

.brand-wrap {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 18px;
    position: relative;
    z-index: 2;
}
.brand-logo {
    width: 84px;
    height: 84px;
    object-fit: contain;
    filter: drop-shadow(0 20px 30px rgba(0,0,0,.46));
}
.brand-block {
    display: flex;
    flex-direction: column-reverse;
    gap: 8px;
    min-width: 0;
}
.brand {
    font-family: 'Cinzel', serif;
    font-size: clamp(1.35rem, 2vw, 2.2rem);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--gold-soft);
    white-space: nowrap;
}
.tagline,
.eyebrow {
    color: var(--gold);
    text-transform: uppercase;
    letter-spacing: .34em;
    font-size: .72rem;
}

.site-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    position: relative;
    z-index: 2;
}
.site-nav a {
    position: relative;
    padding: 13px 16px;
    border-radius: 999px;
    color: rgba(245,239,229,.9);
    font-size: .92rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: transform .28s ease, color .28s ease, background .28s ease, border-color .28s ease;
    border: 1px solid transparent;
}
.site-nav a::before {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 7px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(234,216,178,.9), transparent);
    opacity: 0;
    transition: opacity .28s ease;
}
.site-nav a:hover {
    transform: translateY(-1px);
    color: var(--gold-soft);
    background: rgba(255,255,255,.028);
    border-color: rgba(201,161,92,.14);
}
.site-nav a:hover::before { opacity: 1; }

.menu-toggle {
    display: none;
    width: 54px;
    height: 54px;
    border: 1px solid rgba(201,161,92,.18);
    border-radius: 50%;
    background: rgba(255,255,255,.03);
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    flex: 0 0 auto;
}
.menu-toggle span {
    width: 22px;
    height: 2px;
    background: var(--gold-soft);
    border-radius: 999px;
    transition: transform .28s ease, opacity .28s ease;
}
.nav-overlay {
    position: fixed;
    inset: 0;
    z-index: 44;
    background: rgba(0,0,0,.64);
    backdrop-filter: blur(4px);
}
body.nav-open { overflow: hidden; }
body.nav-open .menu-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
body.nav-open .menu-toggle span:nth-child(2) { opacity: 0; }
body.nav-open .menu-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

main { padding: 34px 0 92px; }
.hero,
.split-heading,
.brand-ribbon,
.item-row,
.vip-lock-grid,
.vip-layout,
.contact-layout,
.highlight-grid,
.admin-grid,
.card-grid.three-cols,
.hero-stat-row,
.feature-meta-row {
    display: grid;
    gap: 28px;
}

.hero {
    min-height: calc(100vh - 136px);
    grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr);
    align-items: center;
    gap: 38px;
}
.hero-copy {
    max-width: 720px;
    padding-right: 18px;
}
.hero h1,
.page-heading h1,
.vip-lock-card h1,
.hero-floating-note h3,
.brand-ribbon h2,
.highlight-card h3,
.item-copy h2,
.product-card h2,
.contact-card h2,
.vip-booking h2,
.vip-info h2,
.admin-login-card h1,
.admin-panel h2,
.vip-showcase-copy h2 {
    margin: 10px 0 16px;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 600;
    line-height: .94;
    letter-spacing: .02em;
    color: var(--gold-soft);
}
.hero h1,
.page-heading h1,
.vip-lock-card h1 { font-size: clamp(3.3rem, 6vw, 6.3rem); }
.hero p,
.page-heading p,
.luxury-card p,
.highlight-card p,
.hero-stat span,
.feature-meta span,
.site-footer p,
.contact-card p,
.item-copy p,
.vip-showcase-copy p,
.admin-help { 
    color: var(--muted);
    line-height: 1.72;
    font-size: 1rem;
}
.page-heading {
    max-width: 980px;
    padding: 18px 0 26px;
}
.page-heading p {
    max-width: 720px;
}

.hero-actions,
.admin-top-actions,
.footer-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}
.hero-actions { margin-top: 28px; }

.button {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 54px;
    padding: 15px 26px;
    border-radius: 999px;
    border: 1px solid var(--line-strong);
    font-weight: 600;
    letter-spacing: .02em;
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
    cursor: pointer;
}
.button::before {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-120%);
    background: linear-gradient(110deg, transparent, rgba(255,255,255,.18), transparent);
    transition: transform .8s ease;
}
.button:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-soft);
}
.button:hover::before { transform: translateX(120%); }
.button-gold {
    color: #140d08;
    background: linear-gradient(135deg, #8e6530 0%, #c49d59 44%, #ead8b2 100%);
    border-color: rgba(255,255,255,.12);
}
.button-ghost {
    background: rgba(255,255,255,.03);
    color: var(--text);
}
.button.small {
    min-height: 42px;
    padding: 10px 14px;
    font-size: .92rem;
}

.luxury-card,
.luxury-panel {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius);
    background:
        linear-gradient(180deg, rgba(25,17,12,.94), rgba(9,7,5,.98)),
        linear-gradient(135deg, rgba(201,161,92,.04), transparent 44%);
    border: 1px solid rgba(201,161,92,.14);
    box-shadow: var(--shadow);
}
.luxury-card { padding: 34px; }
.luxury-card::before,
.luxury-panel::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    border: 1px solid rgba(255,255,255,.03);
    pointer-events: none;
}
.luxury-card::after,
.luxury-panel::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(135deg, rgba(255,255,255,.04), transparent 26%, transparent 72%, rgba(201,161,92,.04)),
        radial-gradient(circle at top right, rgba(201,161,92,.08), transparent 26%);
}

.hero-visual {
    min-height: 690px;
    display: grid;
    place-items: center;
    padding: 40px;
    background:
        radial-gradient(circle at 50% 12%, rgba(201,161,92,.16), transparent 22%),
        radial-gradient(circle at 50% 78%, rgba(201,161,92,.09), transparent 22%),
        linear-gradient(180deg, rgba(39,25,16,.8), rgba(8,6,5,.98)),
        linear-gradient(135deg, #43291b 0%, #110c09 72%);
}
.crest-stack {
    position: relative;
    width: min(560px, 100%);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
}
.crest-ring,
.crest-stack::before,
.crest-stack::after {
    position: absolute;
    border-radius: 50%;
    content: "";
}
.crest-ring {
    inset: 7%;
    border: 1px solid rgba(201,161,92,.22);
    box-shadow: inset 0 0 0 22px rgba(255,255,255,.01), 0 0 54px rgba(201,161,92,.07);
}
.crest-stack::before {
    inset: 0;
    border: 1px solid rgba(201,161,92,.14);
}
.crest-stack::after {
    inset: 14%;
    border: 1px dashed rgba(201,161,92,.18);
}
.hero-logo {
    width: 100%;
    max-width: 470px;
    object-fit: contain;
    filter: drop-shadow(0 26px 42px rgba(0,0,0,.6));
    position: relative;
    z-index: 1;
}
.hero-floating-note {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 28px;
    padding: 24px 26px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(14,10,8,.76), rgba(14,10,8,.5));
    border: 1px solid rgba(201,161,92,.12);
    backdrop-filter: blur(14px);
}
.hero-floating-note h3 { font-size: 2.35rem; }

.hero-stat-row,
.feature-meta-row {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 24px;
}
.hero-stat,
.feature-meta {
    position: relative;
    padding: 20px 20px 18px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,.026), rgba(255,255,255,.015));
    border: 1px solid rgba(201,161,92,.12);
}
.hero-stat::before,
.feature-meta::before {
    content: "";
    position: absolute;
    left: 20px;
    right: 20px;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(201,161,92,.6), transparent);
}
.hero-stat strong,
.feature-meta strong {
    display: block;
    margin-bottom: 6px;
    color: var(--gold-soft);
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.45rem;
}

.brand-ribbon {
    margin-top: 30px;
    padding: 38px;
    align-items: center;
    grid-template-columns: minmax(0, 1fr) 360px;
}
.brand-ribbon h2 { font-size: clamp(2.2rem, 4vw, 3.8rem); }
.brand-ribbon-copy p { max-width: 760px; }
.ribbon-art {
    width: 100%;
    max-width: 310px;
    justify-self: center;
    filter: drop-shadow(0 22px 34px rgba(0,0,0,.54));
}

.highlight-grid,
.contact-layout,
.card-grid.three-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.highlight-card,
.contact-card,
.product-card {
    min-height: 100%;
}
.highlight-card {
    padding: 30px;
    border-radius: var(--radius);
    border: 1px solid rgba(201,161,92,.12);
    background: linear-gradient(180deg, rgba(23,16,12,.95), rgba(8,6,5,.98));
    box-shadow: var(--shadow-soft);
}
.highlight-card h3 { font-size: 2rem; }
.icon-badge {
    width: 62px;
    height: 62px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--gold-soft);
    border: 1px solid rgba(201,161,92,.2);
    background: radial-gradient(circle, rgba(201,161,92,.16), rgba(201,161,92,.03));
    box-shadow: inset 0 0 24px rgba(201,161,92,.08);
}

.split-heading {
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
    align-items: center;
}
.heading-art,
.heading-brand-card,
.vip-art-card {
    min-height: 330px;
    display: grid;
    place-items: center;
}
.heading-art img,
.heading-brand-card img,
.vip-art-card img {
    max-height: 360px;
    object-fit: contain;
    filter: drop-shadow(0 22px 34px rgba(0,0,0,.5));
}

.list-stack { display: grid; gap: 32px; }
.item-row {
    grid-template-columns: minmax(300px, .95fr) minmax(0, 1.05fr);
    align-items: stretch;
}
.item-row.reverse { grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr); }
.item-row.reverse .item-image { order: 2; }
.item-image,
.item-copy,
.product-card,
.contact-card,
.vip-info,
.vip-booking { position: relative; }
.item-image img,
.product-card img {
    width: 100%;
    height: 100%;
    min-height: 380px;
    object-fit: cover;
    border-radius: var(--radius);
    border: 1px solid rgba(201,161,92,.16);
    background:
        radial-gradient(circle at 50% 15%, rgba(201,161,92,.1), transparent 24%),
        linear-gradient(140deg, rgba(76,49,28,.84), rgba(10,8,6,.98));
    box-shadow: var(--shadow-soft);
}
.product-card img { min-height: 260px; margin-bottom: 18px; }
.item-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.item-copy h2,
.product-card h2,
.contact-card h2,
.vip-booking h2,
.vip-info h2,
.admin-panel h2 { font-size: 2.3rem; }
.contact-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.contact-mini-art {
    margin-top: auto;
    width: 140px;
}
.contact-mini-art img { filter: drop-shadow(0 16px 24px rgba(0,0,0,.45)); }

.vip-lock-shell {
    min-height: calc(100vh - 168px);
    display: grid;
    align-items: center;
}
.vip-lock-grid {
    grid-template-columns: minmax(0, 1fr) minmax(360px, .92fr);
    align-items: stretch;
}
.vip-lock-card,
.vip-showcase-card {
    min-height: 670px;
}
.vip-lock-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    background:
        radial-gradient(circle at 50% 10%, rgba(201,161,92,.16), transparent 18%),
        linear-gradient(180deg, rgba(25,17,12,.97), rgba(8,6,5,.99));
}
.vip-unlock-form,
.booking-form,
.admin-form {
    display: grid;
    gap: 14px;
    margin-top: 24px;
}
input,
select,
textarea {
    width: 100%;
    padding: 17px 18px;
    border-radius: 18px;
    border: 1px solid rgba(201,161,92,.15);
    background: linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.016));
    color: var(--text);
    font: inherit;
    outline: none;
    transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
input:focus,
select:focus,
textarea:focus {
    border-color: rgba(234,216,178,.44);
    box-shadow: 0 0 0 5px rgba(201,161,92,.08);
    background: rgba(255,255,255,.045);
}
input::placeholder,
textarea::placeholder { color: rgba(245,239,229,.44); }
label {
    display: grid;
    gap: 8px;
    color: var(--gold-soft);
    font-weight: 600;
}
.form-error,
.admin-notice {
    padding: 12px 16px;
    border-radius: 16px;
    border: 1px solid rgba(201,161,92,.22);
    background: rgba(201,161,92,.09);
}
.reservation-hint {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 18px auto 0;
    color: var(--muted);
}
.inline-icon { width: 18px; height: 18px; flex: 0 0 auto; }

.vip-showcase-card {
    justify-content: center;
    text-align: left;
    background:
        radial-gradient(circle at 50% 18%, rgba(201,161,92,.14), transparent 20%),
        linear-gradient(145deg, rgba(66,42,25,.72), rgba(9,7,6,.99));
}
.vip-showcase-card::before {
    inset: 24px;
    border-radius: calc(var(--radius) - 6px);
    border: 1px solid rgba(201,161,92,.12);
}
.vip-showcase-card::after {
    background:
        radial-gradient(circle at center, rgba(201,161,92,.12), transparent 18%),
        linear-gradient(180deg, transparent, rgba(255,255,255,.02) 48%, transparent);
}
.vip-showcase-copy {
    position: relative;
    z-index: 2;
    max-width: 440px;
    margin: 0 auto;
}
.vip-showcase-copy h2 { font-size: 3.2rem; }
.vip-showcase-art { display: none; }

.vip-heading { max-width: 960px; }
.vip-exit {
    margin-top: 12px;
    color: var(--gold);
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .86rem;
}
.vip-reveal {
    position: fixed;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    z-index: 38;
}
.vip-reveal.active {
    animation: vipRevealFade 1.25s ease forwards;
}
.vip-reveal::before,
.vip-reveal::after {
    content: "";
    position: absolute;
    inset: 0;
}
.vip-reveal::before {
    background: radial-gradient(circle at center, rgba(234,216,178,.18), transparent 26%);
    animation: vipRevealGlow 1.1s ease forwards;
}
.vip-reveal::after {
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.18) 50%, transparent 100%);
    filter: blur(16px);
    width: 30%;
    left: 35%;
    right: auto;
    animation: vipRevealSweep 1.05s ease forwards;
}

.vip-layout {
    grid-template-columns: minmax(0, 1fr) minmax(340px, .94fr);
    align-items: start;
}
.vip-info-premium {
    background:
        radial-gradient(circle at 82% 18%, rgba(201,161,92,.09), transparent 18%),
        linear-gradient(180deg, rgba(25,17,12,.96), rgba(8,6,5,.99));
}
.vip-experience-list {
    margin-top: 22px;
    display: grid;
    gap: 14px;
}
.vip-experience-list li {
    position: relative;
    padding-left: 26px;
    color: var(--text);
}
.vip-experience-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--gold), var(--gold-soft));
    box-shadow: 0 0 0 4px rgba(201,161,92,.08);
}
.vip-note {
    margin-top: 18px;
    color: var(--gold);
    font-size: .95rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.full-row { grid-column: 1 / -1; }

.site-footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
    padding: 34px 0 42px;
    border-top: 1px solid rgba(201,161,92,.08);
}
.footer-actions { align-items: center; justify-content: flex-end; }
.footer-actions a { color: var(--gold-soft); }

.admin-body { min-height: 100vh; }
.admin-login-wrap {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 30px;
}
.admin-login-card {
    width: min(560px, 100%);
    text-align: center;
}
.admin-topbar {
    margin: 28px 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
}
.admin-topbar h1 {
    margin: 0;
    font-size: 3rem;
    color: var(--gold-soft);
    font-family: 'Cormorant Garamond', serif;
}
.admin-panel.full-width { grid-column: 1 / -1; }
.admin-subcard {
    margin-top: 16px;
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(201,161,92,.12);
    background: rgba(255,255,255,.02);
}
.admin-subcard h3 {
    margin: 0 0 12px;
    color: var(--gold-soft);
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.6rem;
}
.compact-form {
    grid-template-columns: 1fr 1fr auto;
    align-items: end;
}
.blocked-list { margin-top: 18px; }
.unblock-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-top: 1px solid rgba(201,161,92,.08);
}
.reservation-table-wrap { overflow-x: auto; }
.reservation-table { width: 100%; border-collapse: collapse; }
.reservation-table th,
.reservation-table td {
    padding: 14px 12px;
    text-align: left;
    border-bottom: 1px solid rgba(201,161,92,.08);
    color: var(--muted);
}
.reservation-table th { color: var(--gold-soft); font-weight: 600; }

@keyframes vipRevealFade {
    0% { opacity: 0; }
    18% { opacity: 1; }
    100% { opacity: 0; }
}
@keyframes vipRevealGlow {
    0% { transform: scale(.76); opacity: 0; }
    35% { opacity: 1; }
    100% { transform: scale(1.35); opacity: 0; }
}
@keyframes vipRevealSweep {
    0% { transform: translateX(-190%); opacity: 0; }
    25% { opacity: .95; }
    100% { transform: translateX(190%); opacity: 0; }
}

@media (max-width: 1180px) {
    .hero,
    .split-heading,
    .brand-ribbon,
    .item-row,
    .item-row.reverse,
    .vip-lock-grid,
    .vip-layout,
    .contact-layout,
    .highlight-grid,
    .card-grid.three-cols,
    .admin-grid {
        grid-template-columns: 1fr;
    }

    .hero {
        min-height: auto;
        padding-top: 10px;
    }
    .hero-copy { padding-right: 0; }
    .hero-visual,
    .vip-lock-card,
    .vip-showcase-card { min-height: auto; }
    .brand-ribbon { padding: 30px; }
    .ribbon-art { max-width: 270px; }
    .split-heading .heading-art,
    .split-heading .heading-brand-card,
    .split-heading .vip-art-card { order: -1; }
}

@media (max-width: 920px) {
    .page-shell,
    .admin-shell {
        width: min(100%, calc(100% - 28px));
    }

    .site-header {
        padding: 14px 0;
    }
    .brand-logo {
        width: 68px;
        height: 68px;
    }
    .brand {
        font-size: 1.05rem;
        white-space: normal;
    }
    .tagline {
        font-size: .64rem;
        letter-spacing: .2em;
    }

    .menu-toggle { display: inline-flex; }
    .site-nav {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        width: min(82vw, 360px);
        padding: 96px 24px 28px;
        background: linear-gradient(180deg, rgba(11,8,6,.98), rgba(6,4,3,.99));
        border-left: 1px solid rgba(201,161,92,.14);
        box-shadow: -30px 0 70px rgba(0,0,0,.4);
        transform: translateX(105%);
        transition: transform .32s ease;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 10px;
        z-index: 45;
        flex-wrap: nowrap;
    }
    .site-nav::before {
        content: "Navigation";
        margin-bottom: 12px;
        color: var(--gold);
        text-transform: uppercase;
        letter-spacing: .28em;
        font-size: .72rem;
        padding: 0 6px 12px;
        border-bottom: 1px solid rgba(201,161,92,.12);
    }
    .site-nav a {
        padding: 16px 18px;
        border-radius: 18px;
        border: 1px solid rgba(201,161,92,.1);
        background: rgba(255,255,255,.02);
    }
    .site-nav a::before { display: none; }
    body.nav-open .site-nav { transform: translateX(0); }

    .hero h1,
    .page-heading h1,
    .vip-lock-card h1 {
        font-size: clamp(2.7rem, 12vw, 4.3rem);
    }
    .hero-stat-row,
    .feature-meta-row {
        grid-template-columns: 1fr;
    }
    .luxury-card { padding: 26px; }
    .hero-visual { padding: 28px; min-height: auto; }
    .hero-floating-note {
        position: relative;
        inset: auto;
        margin-top: 20px;
    }
    .item-image img,
    .product-card img { min-height: 300px; }
    .site-footer {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 640px) {
    main { padding: 18px 0 68px; }
    .site-header {
        gap: 14px;
    }
    .brand-wrap {
        gap: 12px;
        min-width: 0;
    }
    .brand-logo {
        width: 58px;
        height: 58px;
    }
    .brand {
        font-size: .92rem;
        letter-spacing: .14em;
    }
    .tagline,
    .eyebrow {
        font-size: .62rem;
        letter-spacing: .22em;
    }
    .hero-actions,
    .footer-actions,
    .admin-topbar,
    .admin-top-actions {
        flex-direction: column;
        align-items: stretch;
    }
    .button,
    .button.small {
        width: 100%;
    }
    .brand-ribbon,
    .luxury-card,
    .highlight-card { padding: 22px; }
    .vip-lock-card,
    .vip-showcase-card { min-height: auto; }
    .contact-mini-art { width: 110px; }
    .compact-form { grid-template-columns: 1fr; }
    .item-copy h2,
    .product-card h2,
    .contact-card h2,
    .vip-booking h2,
    .vip-info h2,
    .vip-showcase-copy h2,
    .admin-panel h2 { font-size: 2rem; }
}

/* === Luxe refresh v2 === */
:root {
  --bg: #050505;
  --bg-2: #0c0b0a;
  --bg-3: #151311;
  --panel: rgba(11, 10, 9, 0.92);
  --panel-strong: rgba(7, 7, 7, 0.97);
  --panel-soft: rgba(30, 25, 19, 0.66);
  --text: #f4ede3;
  --muted: #c9baa3;
  --muted-2: #a98f6a;
  --gold: #b48a4a;
  --gold-soft: #e9d5ae;
  --gold-deep: #6f5129;
  --line: rgba(180, 138, 74, 0.16);
  --line-strong: rgba(180, 138, 74, 0.3);
  --radius: 26px;
  --radius-lg: 38px;
}

body {
  background:
    radial-gradient(circle at 10% 10%, rgba(180,138,74,.14), transparent 18%),
    radial-gradient(circle at 88% 14%, rgba(120,77,37,.13), transparent 16%),
    linear-gradient(180deg, #15110e 0%, #070707 42%, #040404 100%);
}
body::after {
  background:
    radial-gradient(circle at center, rgba(180,138,74,.05), transparent 56%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.012) 0 1px, transparent 1px 120px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.01) 0 1px, transparent 1px 120px);
  opacity: .18;
}

.page-shell { width: min(1380px, calc(100% - 36px)); }

.site-header {
  position: sticky;
  top: 14px;
  margin-top: 14px;
  padding: 14px 22px;
  border: 1px solid rgba(180,138,74,.14);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(8,8,8,.92), rgba(8,8,8,.8));
  box-shadow: 0 16px 48px rgba(0,0,0,.35);
}
.site-header::before,
.site-header::after { display:none; }
.brand-wrap { flex: 0 0 auto; gap: 14px; }
.brand-logo { width: 62px; height: 62px; }
.brand-block { gap: 4px; }
.brand {
  font-size: 1.16rem;
  letter-spacing: .18em;
  line-height: 1;
}
.tagline {
  font-size: .64rem;
  letter-spacing: .32em;
  opacity: .92;
  white-space: nowrap;
}
.site-nav {
  flex: 1 1 auto;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 6px;
  min-width: 0;
}
.site-nav a {
  padding: 11px 13px;
  font-size: .78rem;
  letter-spacing: .16em;
  white-space: nowrap;
}
.site-nav a:hover {
  background: linear-gradient(180deg, rgba(180,138,74,.14), rgba(255,255,255,.02));
  border-color: rgba(180,138,74,.22);
}

main { padding-top: 28px; }
.hero {
  grid-template-columns: minmax(0, 1fr) minmax(420px, .92fr);
  gap: 30px;
  align-items: stretch;
}
.hero-copy,
.hero-visual,
.brand-ribbon,
.highlight-card,
.item-copy,
.vip-lock-card,
.vip-booking,
.vip-info,
.contact-card {
  box-shadow: 0 30px 80px rgba(0,0,0,.34);
}
.hero-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding: 44px 0;
}
.hero h1,
.page-heading h1,
.vip-lock-card h1 {
  font-family: 'Cinzel', serif;
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: .03em;
}
.hero h1 { max-width: 11ch; font-size: clamp(3.4rem, 5.4vw, 5.9rem); }
.hero p { max-width: 560px; font-size: 1.02rem; }
.eyebrow {
  color: var(--gold-soft);
  letter-spacing: .42em;
  font-size: .66rem;
}
.hero-actions { margin-top: 24px; }
.button {
  min-height: 52px;
  padding: 14px 24px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: .76rem;
}
.button-gold {
  background: linear-gradient(135deg, #8f6630 0%, #c49a58 50%, #ead7b1 100%);
}
.button-ghost {
  background: rgba(255,255,255,.02);
  border-color: rgba(180,138,74,.18);
}

.luxury-card,
.luxury-panel,
.highlight-card {
  background:
    linear-gradient(180deg, rgba(17,15,13,.96), rgba(7,7,7,.98)),
    linear-gradient(135deg, rgba(180,138,74,.05), transparent 46%);
  border: 1px solid rgba(180,138,74,.13);
  border-radius: 28px;
}
.luxury-card::after,
.luxury-panel::after,
.highlight-card::after {
  background:
    linear-gradient(135deg, rgba(255,255,255,.03), transparent 28%, transparent 76%, rgba(180,138,74,.04)),
    radial-gradient(circle at top right, rgba(180,138,74,.08), transparent 24%);
}
.hero-visual {
  min-height: 720px;
  background:
    radial-gradient(circle at 50% 8%, rgba(180,138,74,.19), transparent 18%),
    linear-gradient(180deg, rgba(35,26,20,.8), rgba(8,8,8,.96));
}
.crest-ring { box-shadow: inset 0 0 0 22px rgba(255,255,255,.008), 0 0 60px rgba(180,138,74,.1); }
.hero-floating-note {
  left: 22px; right: 22px; bottom: 22px;
  background: linear-gradient(180deg, rgba(14,12,10,.78), rgba(14,12,10,.56));
}
.hero-floating-note h3 { font-size: 1.7rem; }
.hero-stat-row { margin-top: 18px; gap: 14px; }
.hero-stat {
  min-height: 110px;
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.008));
}

.brand-ribbon {
  grid-template-columns: 1.1fr .9fr;
  padding: 28px;
  margin-top: 18px;
}
.brand-ribbon h2 {
  font-family: 'Cinzel', serif;
  font-size: clamp(2rem, 3vw, 3.1rem);
  line-height: 1.08;
}
.ribbon-art { max-width: 360px; }

.split-heading {
  grid-template-columns: 1fr 280px;
  align-items: end;
  gap: 22px;
  padding: 8px 0 4px;
}
.page-heading p { max-width: 540px; }
.heading-brand-card,
.heading-art,
.vip-art-card {
  min-height: 240px;
  padding: 24px;
  background: linear-gradient(180deg, rgba(17,15,13,.92), rgba(9,8,7,.98));
}

.item-row,
.item-row.reverse {
  grid-template-columns: minmax(320px,.88fr) minmax(0,1.12fr);
  gap: 24px;
}
.item-image img,
.product-card img {
  border-radius: 28px;
  border: 1px solid rgba(180,138,74,.16);
  background: linear-gradient(145deg, rgba(67,44,26,.84), rgba(10,8,6,.98));
}
.item-copy {
  padding: 38px;
  justify-content: space-between;
}
.item-copy h2,
.product-card h2,
.contact-card h2,
.vip-booking h2,
.vip-info h2 { font-family: 'Cinzel', serif; font-size: 2.05rem; line-height: 1.08; }
.feature-meta-row {
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
}
.feature-meta,
.highlight-card {
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.008));
}

.highlight-grid,
.card-grid.three-cols,
.contact-layout { gap: 22px; }
.highlight-card { padding: 28px; }
.highlight-card h3 { font-family: 'Cinzel', serif; font-size: 1.4rem; line-height: 1.15; }
.icon-badge {
  width: 56px; height:56px;
  background: radial-gradient(circle, rgba(180,138,74,.17), rgba(180,138,74,.04));
}

.vip-lock-shell {
  min-height: calc(100vh - 180px);
  align-items: center;
}
.vip-lock-shell-refined {
  display:block;
}
.vip-lock-card-single {
  width:min(900px,100%);
  margin: 30px auto 0;
  text-align:center;
  padding: 56px 48px;
  background:
    radial-gradient(circle at 50% 0%, rgba(180,138,74,.16), transparent 20%),
    linear-gradient(180deg, rgba(16,14,12,.98), rgba(7,7,7,.99));
}
.vip-lock-card-single h1 { font-size: clamp(2.6rem, 5vw, 4rem); margin-bottom: 10px; }
.vip-lock-card-single p { max-width: 540px; margin-inline:auto; }
.vip-unlock-form-hero {
  max-width: 620px;
  margin: 28px auto 0;
  gap: 16px;
}
.vip-unlock-form-hero input { text-align:center; font-size: 1rem; min-height: 58px; }
.reservation-hint-centered { justify-content: center; margin-top: 20px; }
.vip-lock-signature {
  margin-top: 34px;
  display:grid;
  grid-template-columns: 1fr 220px;
  align-items:center;
  gap: 18px;
  padding: 22px;
  border-radius: 24px;
  border: 1px solid rgba(180,138,74,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
  text-align:left;
}
.vip-lock-signature-copy strong {
  display:block;
  margin: 8px 0 6px;
  color: var(--gold-soft);
  font-family: 'Cinzel', serif;
  font-size: 1.25rem;
}
.vip-lock-signature-art { max-height: 180px; justify-self:end; }
.vip-premium-banner {
  margin: 8px 0 24px;
  padding: 26px;
  display:grid;
  grid-template-columns: 1fr 280px;
  align-items:center;
  gap: 18px;
}
.vip-premium-banner h2 {
  margin: 10px 0 8px;
  font-family: 'Cinzel', serif;
  font-size: 2rem;
  color: var(--gold-soft);
}
.vip-premium-banner img {
  max-width: 250px;
  justify-self:end;
  filter: drop-shadow(0 18px 30px rgba(0,0,0,.4));
}
.vip-reveal::before {
  background: radial-gradient(circle at center, rgba(234,216,178,.14), transparent 24%);
}
.vip-reveal::after {
  background: linear-gradient(90deg, transparent 0%, rgba(255,232,192,.22) 50%, transparent 100%);
}
.vip-layout { gap: 22px; }
.booking-form { gap: 12px; }
input, select, textarea {
  background: linear-gradient(180deg, rgba(255,255,255,.026), rgba(255,255,255,.01));
  border-radius: 16px;
}
label { font-size: .86rem; letter-spacing: .08em; text-transform: uppercase; }

.site-footer {
  padding-top: 26px;
  border-top: 1px solid rgba(180,138,74,.08);
}
.footer-actions a {
  padding: 10px 14px;
  border: 1px solid rgba(180,138,74,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.02);
}

@media (max-width: 1180px) {
  .site-header {
    top: 10px;
    margin-top: 10px;
    padding: 12px 16px;
  }
  .site-nav a { font-size: .72rem; padding: 10px 10px; }
  .brand-logo { width: 56px; height: 56px; }
  .tagline { display:none; }
  .hero { grid-template-columns: 1fr; }
  .brand-ribbon,
  .vip-premium-banner,
  .vip-lock-signature,
  .split-heading,
  .item-row,
  .item-row.reverse { grid-template-columns: 1fr; }
  .vip-premium-banner img,
  .vip-lock-signature-art,
  .ribbon-art { justify-self:center; }
}

@media (max-width: 920px) {
  .page-shell,
  .admin-shell { width:min(100%, calc(100% - 20px)); }
  .site-header {
    top: 8px;
    padding: 10px 12px;
    border-radius: 20px;
    gap: 10px;
  }
  .brand-wrap { flex:1 1 auto; min-width:0; }
  .brand-logo { width: 52px; height: 52px; }
  .brand { font-size: .94rem; letter-spacing: .16em; }
  .menu-toggle {
    display:inline-flex;
    width: 48px; height: 48px;
    background: rgba(18,16,13,.95);
    border-color: rgba(180,138,74,.22);
    position: relative; z-index: 60;
  }
  .nav-overlay {
    z-index: 53;
    background: rgba(0,0,0,.74);
    backdrop-filter: blur(8px);
  }
  .site-nav {
    z-index: 54;
    width: min(86vw, 360px);
    padding: 88px 18px 20px;
    background:
      linear-gradient(180deg, rgba(12,11,10,.99), rgba(7,7,7,.995)),
      radial-gradient(circle at top, rgba(180,138,74,.1), transparent 28%);
    border-left: 1px solid rgba(180,138,74,.16);
    box-shadow: -20px 0 60px rgba(0,0,0,.58);
    backdrop-filter: blur(18px);
  }
  .site-nav::before {
    content:'Menu';
    color: var(--gold-soft);
    letter-spacing: .34em;
    font-size: .66rem;
  }
  .site-nav a {
    padding: 16px 16px;
    border-radius: 16px;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(180,138,74,.1);
    font-size: .82rem;
  }
  .hero h1 { max-width:none; font-size: clamp(2.6rem, 10vw, 4rem); }
  .hero-visual { min-height:auto; padding: 24px; }
  .hero-stat-row,
  .feature-meta-row,
  .vip-lock-signature { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  main { padding: 16px 0 62px; }
  .site-header { border-radius: 18px; }
  .brand-block { gap: 2px; }
  .brand { font-size: .86rem; }
  .tagline,.eyebrow { letter-spacing: .22em; font-size: .58rem; }
  .luxury-card,
  .luxury-panel,
  .highlight-card,
  .item-copy,
  .vip-lock-card-single,
  .vip-premium-banner { padding: 20px; }
  .hero-actions,
  .footer-actions,
  .admin-topbar,
  .admin-top-actions { flex-direction: column; align-items: stretch; }
  .button,
  .button.small { width:100%; }
  .vip-lock-card-single h1,
  .page-heading h1 { font-size: 2.2rem; }
  .site-nav { width: min(90vw, 340px); }
}
