@font-face{font-family:"Limelight";src:url("/assets/fonts/limelight-latin.woff2") format("woff2");font-weight:400;font-style:normal;font-display:optional}
@font-face{font-family:"Figtree";src:url("/assets/fonts/figtree-latin.woff2") format("woff2");font-weight:400 800;font-style:normal;font-display:optional}

:root{
  --c-bg:#0b1714;
  --c-felt:#0f2a22;
  --c-felt-2:#14362c;
  --c-gold:#d6a84a;
  --c-gold-2:#f0cf7d;
  --c-text:#f3ead8;
  --c-muted:#b8b19d;
  --c-wine:#8c2433;
  --c-line:rgba(214,168,74,.2);
  --c-grad:linear-gradient(135deg,#f0cf7d 0%,#d6a84a 55%,#a97a26 100%);
  --ease:cubic-bezier(.22,1,.36,1);
  --radius:14px;
  --f-display:"Limelight",Georgia,"Times New Roman",serif;
  --f-body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

*,*::before,*::after{-moz-box-sizing:border-box;box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;overflow-x:clip;width:100%;max-width:100%;min-height:100vh;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background:var(--c-bg);color:var(--c-text);font-family:var(--f-body);font-size:17px;line-height:1.65}
main{-webkit-flex:1;-ms-flex:1;flex:1}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
svg{-ms-flex-negative:0;-webkit-flex-shrink:0;flex-shrink:0}
a{color:inherit;text-decoration:none;overflow-wrap:break-word;word-break:break-word}
h1,h2,h3,h4{margin:0 0 .5em;font-weight:400;line-height:1.15;overflow-wrap:break-word;word-break:break-word}
h1,h2{font-family:var(--f-display);letter-spacing:.01em}
h3{font-family:var(--f-body);font-weight:800;font-size:1.2rem;line-height:1.3}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}
address{font-style:normal}
[hidden]{display:none!important}
a,button,summary,label,.btn{-ms-touch-action:manipulation;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}
button,.btn,summary,.nav a,.chips span{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
button{font:inherit;color:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.container{max-width:1240px;margin-inline:auto;padding-inline:24px}

section{padding-block:96px}
.section-title{font-size:clamp(1.9rem,3.6vw,2.8rem);color:var(--c-gold-2)}
.section-lead{color:var(--c-muted);max-width:none;margin-bottom:40px}

/* Buttons */
.btn{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:10px;border:1px solid transparent;font-weight:700;font-size:16px;cursor:pointer;transition:box-shadow .25s var(--ease),background-color .25s var(--ease),border-color .25s var(--ease),-webkit-transform .25s var(--ease);transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .25s var(--ease),border-color .25s var(--ease);transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .25s var(--ease),border-color .25s var(--ease),-webkit-transform .25s var(--ease)}
.btn svg{width:20px;height:20px}
.btn--gold{background:var(--c-grad);color:#1a1307;box-shadow:0 8px 24px rgba(214,168,74,.25)}
.btn--gold:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);box-shadow:0 12px 30px rgba(214,168,74,.35)}
.btn--ghost{border-color:var(--c-line);background:rgba(243,234,216,.04)}
.btn--ghost:hover{border-color:var(--c-gold);background:rgba(214,168,74,.1)}
.btn--sm{min-height:40px;padding:0 18px;font-size:14px}
.btn:disabled{opacity:.6;cursor:progress}
.link-arrow{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;gap:8px;margin-top:32px;color:var(--c-gold-2);font-weight:700}
.visual-note{margin:18px 0 0;font-size:13px;color:var(--c-muted)}
.link-arrow svg{width:20px;height:20px;transition:-webkit-transform .25s var(--ease);transition:transform .25s var(--ease);transition:transform .25s var(--ease), -webkit-transform .25s var(--ease)}
.link-arrow:hover svg{-webkit-transform:translateX(4px);transform:translateX(4px)}

/* Header */
.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:60;background:rgba(11,23,20,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--c-line);overflow:visible}
.site-header__row{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;gap:24px;padding-block:12px}
.brand{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;gap:12px;font-family:var(--f-display);font-size:24px;color:var(--c-gold-2);white-space:nowrap}
.brand svg{width:40px;height:40px}
.nav{margin-left:auto;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;gap:28px}
.nav a{font-weight:600;font-size:15px;position:relative}
.nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--c-grad);-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left;transform-origin:left;transition:-webkit-transform .35s var(--ease);transition:transform .35s var(--ease);transition:transform .35s var(--ease), -webkit-transform .35s var(--ease)}
.nav a:not(.nav-cta):hover::after,.nav a.is-active::after{-webkit-transform:scaleX(1);transform:scaleX(1)}
.nav .nav-cta{display:none}
.site-header__actions{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;gap:20px;-ms-flex-negative:0;-webkit-flex-shrink:0;flex-shrink:0}

.burger{display:none;width:44px;height:44px;position:relative;z-index:110;-ms-flex-negative:0;-webkit-flex-shrink:0;flex-shrink:0;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid var(--c-line);cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:#fff;border-radius:2px;transition:opacity .2s var(--ease),top .3s var(--ease),-webkit-transform .3s var(--ease);transition:transform .3s var(--ease),opacity .2s var(--ease),top .3s var(--ease);transition:transform .3s var(--ease),opacity .2s var(--ease),top .3s var(--ease),-webkit-transform .3s var(--ease)}
.burger span:nth-child(1){top:15px}
.burger span:nth-child(2){top:21px}
.burger span:nth-child(3){top:27px}
.burger[aria-expanded="true"] span:nth-child(1){top:21px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){top:21px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}

/* Hero */
.hero-vault{position:relative;isolation:isolate;overflow:hidden;padding-block:64px 56px;background-color:var(--c-bg)}
.hero-vault__media{position:absolute;inset:0;z-index:-1;background:var(--c-bg) url("/assets/img/hero/hero-poster.avif?v=47798c70") center/cover no-repeat}
.hero-vault__dim{position:absolute;inset:0;background:var(--c-bg);opacity:0;transition:opacity .7s ease}
.hero-vault__media.is-dim .hero-vault__dim{opacity:1}
.hero-vault__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,23,20,.95) 0%,rgba(11,23,20,.8) 45%,rgba(11,23,20,.35) 100%)}
.hero-vault__video{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;pointer-events:none}
.hero-vault__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:56px;-webkit-align-items:center;-ms-flex-align:center;align-items:center}
.hero-vault__text{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}
.hero-vault__kicker{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;gap:8px;padding:6px 14px;border:1px solid var(--c-line);border-radius:6px;color:var(--c-gold-2);font-weight:600;font-size:14px;-webkit-animation:rise .8s var(--ease) both;animation:rise .8s var(--ease) both}
.hero-vault__kicker svg{width:16px;height:16px}
.hero-vault__title{font-size:clamp(1.9rem,3.6vw,3rem);max-width:20ch;margin-top:10px;-webkit-animation:rise .9s var(--ease) .08s both;animation:rise .9s var(--ease) .08s both}
.hero-vault__lead{max-width:60ch;font-size:1.05rem;color:#e2d9c4;-webkit-animation:rise .9s var(--ease) .16s both;animation:rise .9s var(--ease) .16s both}
.hero-vault__actions{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:14px;margin-top:12px;-webkit-animation:rise .9s var(--ease) .24s both;animation:rise .9s var(--ease) .24s both}
.hero-vault__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;-webkit-animation:rise .9s var(--ease) .32s both;animation:rise .9s var(--ease) .32s both}
.hero-vault__facts li{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;gap:12px;padding:20px;border:1px solid var(--c-line);border-radius:var(--radius);background:rgba(15,42,34,.88)}
.hero-vault__facts svg{width:26px;height:26px;color:var(--c-gold)}
.hero-vault__facts span{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;line-height:1.25;font-size:14px;color:var(--c-muted)}
.hero-vault__facts strong{color:var(--c-text);font-size:17px}
@-webkit-keyframes rise{from{opacity:0;-webkit-transform:translateY(18px);transform:translateY(18px)}to{opacity:1;-webkit-transform:none;transform:none}}
@keyframes rise{from{opacity:0;-webkit-transform:translateY(18px);transform:translateY(18px)}to{opacity:1;-webkit-transform:none;transform:none}}

/* Inner page heroes */
.quests-hero,.events-hero,.about-hero,.contact-hero{padding-block:88px 48px;background:var(--c-felt);border-bottom:1px solid var(--c-gold)}
.page-hero__title{font-size:clamp(2.1rem,4.6vw,3.6rem);color:var(--c-gold-2);max-width:20ch}
.page-hero__lead{font-size:1.1rem;color:#e2d9c4;margin:0}

/* Room cards */
.home-rooms__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.room-card{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;border:1px solid var(--c-line);border-radius:var(--radius);background:var(--c-felt);overflow:hidden;transition:border-color .3s var(--ease),box-shadow .3s var(--ease),-webkit-transform .3s var(--ease);transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease);transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease),-webkit-transform .3s var(--ease)}
.room-card:hover{-webkit-transform:translateY(-4px);transform:translateY(-4px);border-color:var(--c-gold);box-shadow:0 18px 40px rgba(0,0,0,.35)}
.room-card img{aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;width:100%}
.room-card__body{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex:1;-ms-flex:1;flex:1;padding:20px}
.room-card__body p{color:var(--c-muted);font-size:15px;-webkit-flex:1;-ms-flex:1;flex:1}
.room-card__meta,.quest-row__meta{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px 16px;font-size:14px;font-weight:700;color:var(--c-gold-2)}
.room-card__meta li,.quest-row__meta li{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;gap:6px}
.room-card__meta svg,.quest-row__meta svg{width:18px;height:18px}

/* Steps */
.home-steps{background:var(--c-felt)}
.home-steps__inner,.home-why__inner,.about-story__inner,.about-visit__inner,.events-package__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;-webkit-align-items:center;-ms-flex-align:center;align-items:center}
.home-steps__photo img,.home-why__photo img,.about-story__photo img,.about-visit__photo img,.events-package__photo img{width:100%;border-radius:var(--radius);border:1px solid var(--c-line)}
.home-steps__list{display:grid;gap:22px;margin-top:8px}
.home-steps__list li{display:-webkit-flex;display:-ms-flexbox;display:flex;gap:18px;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}
.home-steps__list h3{margin-bottom:4px}
.home-steps__list p{margin:0;color:var(--c-muted)}
.home-steps__num{-ms-flex-negative:0;-webkit-flex-shrink:0;flex-shrink:0;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:52px;height:52px;border-radius:50%;border:2px dashed var(--c-gold);color:var(--c-gold-2)}
.home-steps__num svg{width:24px;height:24px}

.check-list{display:grid;gap:12px;margin:8px 0 20px}
.check-list li{position:relative;padding-left:34px}
.check-list svg{position:absolute;left:0;top:3px;width:22px;height:22px;padding:3px;border-radius:50%;background:rgba(214,168,74,.18);color:var(--c-gold-2)}
.home-why__text>p,.about-story__text p,.about-visit__text p,.events-package__text p{color:#ddd4bf}

/* Events teaser */
.home-events__card{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--c-line);min-height:420px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}
.home-events__bg{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}
.home-events__card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,16,14,.97) 0%,rgba(8,16,14,.85) 40%,rgba(8,16,14,.25) 100%)}
.home-events__content{position:relative;z-index:1;padding:48px;max-width:640px}
.home-events__content p{color:#e2d9c4}

/* FAQ */
.home-faq{background:var(--c-felt)}
.faq{display:grid;gap:12px;margin-top:24px}
.faq__item{border:1px solid var(--c-line);border-radius:var(--radius);background:var(--c-bg);overflow:hidden}
.faq__item summary{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;gap:16px;padding:20px 22px;font-weight:700;font-size:1.05rem;cursor:pointer;list-style:none}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary svg{width:22px;height:22px;color:var(--c-gold);transition:-webkit-transform .3s var(--ease);transition:transform .3s var(--ease);transition:transform .3s var(--ease), -webkit-transform .3s var(--ease)}
.faq__item.is-open summary svg{-webkit-transform:rotate(45deg);transform:rotate(45deg)}
.faq__body{padding:0 22px 6px;color:var(--c-muted)}

/* Forms */
.home-booking__inner,.events-enquiry__inner,.contact-booking__inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;-webkit-align-items:start;-ms-flex-align:start;align-items:start}
.home-booking__intro p,.events-enquiry__intro p,.contact-booking__intro p{color:#ddd4bf}
.home-booking__phone{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px}
.home-booking__phone svg{width:20px;height:20px;color:var(--c-gold)}
.home-booking__phone a{color:var(--c-gold-2);font-weight:700}
.form-card{display:grid;gap:18px;padding:32px;border:1px solid var(--c-line);border-radius:20px;background:var(--c-felt-2)}
.form-card__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.field{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--c-muted)}
.field input,.field textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--c-line);border-radius:10px;background:rgba(11,23,20,.7);color:var(--c-text);font:inherit;font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .2s var(--ease)}
.field textarea{resize:none;min-height:110px}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--c-gold)}
.field input[type="date"]{color-scheme:dark}
.chips{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0;min-width:0}
.chips legend{width:100%;margin-bottom:6px;padding:0;font-size:14px;font-weight:600;color:var(--c-muted)}
.chips label{position:relative;cursor:pointer}
.chips input{position:absolute;opacity:0;width:1px;height:1px}
.chips span{display:inline-block;padding:8px 14px;border:1px solid var(--c-line);border-radius:999px;font-size:14px;font-weight:600;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}
.chips input:checked+span{background:var(--c-gold);border-color:var(--c-gold);color:#1a1307}
.chips input:focus-visible+span{outline:2px solid var(--c-gold-2);outline-offset:2px}
.consent{display:-webkit-flex;display:-ms-flexbox;display:flex;gap:10px;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;font-size:14px;color:var(--c-muted)}
.consent input{width:18px;height:18px;margin-top:3px;accent-color:var(--c-gold);-ms-flex-negative:0;-webkit-flex-shrink:0;flex-shrink:0}
.consent a{color:var(--c-gold-2);text-decoration:underline}
.form-card .btn{justify-self:start}

/* Quests page */
.quests-list .container{display:grid;gap:40px}
.quest-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:24px;border:1px solid var(--c-line);border-radius:20px;background:var(--c-felt);scroll-margin-top:140px}
.quest-row:nth-child(odd){grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.quest-row:nth-child(odd) img{-webkit-order:2;-ms-flex-order:2;order:2}
.quest-row img{width:100%;border-radius:12px}
.quest-row h3{font-family:var(--f-display);font-weight:400;font-size:2rem;color:var(--c-gold-2)}
.quest-row__meta{margin-bottom:16px}
.quest-row__body p{color:#ddd4bf}
.quests-prices{background:var(--c-felt)}
.table-wrap{overflow-x:auto;border:1px solid var(--c-line);border-radius:var(--radius)}
.price-table{width:100%;border-collapse:collapse;min-width:520px}
.price-table th,.price-table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--c-line)}
.price-table th{background:rgba(214,168,74,.12);color:var(--c-gold-2);font-size:14px;text-transform:uppercase;letter-spacing:.06em}
.price-table tbody tr:last-child td{border-bottom:0}
.events-formats__grid,.about-values__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:36px}
.contact-details__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.format-card,.value-card,.info-card{padding:26px;border:1px solid var(--c-line);border-radius:var(--radius);background:var(--c-felt);transition:border-color .3s var(--ease),-webkit-transform .3s var(--ease);transition:transform .3s var(--ease),border-color .3s var(--ease);transition:transform .3s var(--ease),border-color .3s var(--ease),-webkit-transform .3s var(--ease)}
.format-card:hover,.value-card:hover,.info-card:hover{-webkit-transform:translateY(-3px);transform:translateY(-3px);border-color:var(--c-gold)}
.format-card svg,.value-card svg,.info-card svg{width:36px;height:36px;color:var(--c-gold);margin-bottom:14px}
.format-card p,.value-card p{margin:0;color:var(--c-muted);font-size:15px}
.rules-grid,.contact-directions__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin-bottom:36px}
.contact-directions__grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}
.rules-grid li,.route-card{display:grid;-ms-flex-line-pack:start;align-content:start;grid-template-columns:24px minmax(0,1fr);gap:4px 14px;padding:20px 0;border-top:1px solid var(--c-line)}
.rules-grid svg,.route-card svg{grid-row:span 2;width:24px;height:24px;margin-top:2px;color:var(--c-gold)}
.rules-grid h3,.route-card h3{margin:0;font-size:1.05rem}
.rules-grid p,.route-card p{margin:0;color:var(--c-muted);font-size:15px}
.info-card a{color:var(--c-gold-2);font-weight:700}
.info-card__note{color:var(--c-muted);font-size:14px;margin:0}
.events-package,.about-values,.contact-booking{background:var(--c-felt)}
.events-package .form-card,.contact-booking .form-card{background:var(--c-bg)}
.hours-list{display:grid;gap:0;margin-top:20px;border:1px solid var(--c-line);border-radius:var(--radius)}
.hours-list li{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--c-line);font-size:15px}
.hours-list li:last-child{border-bottom:0}
.hours-list span:last-child{color:var(--c-gold-2);font-weight:700;text-align:right}
.contact-booking{scroll-margin-top:110px}

/* Legal */
.legal-privacy,.legal-terms,.legal-cookies{padding-block:72px}
.legal-content h1{font-size:clamp(2.1rem,4.4vw,3.2rem);color:var(--c-gold-2)}
.legal-content h2{font-size:1.6rem;color:var(--c-gold-2);margin-top:1.6em}
.legal-content p,.legal-content li{color:#ddd4bf}
.legal-content ul{list-style:disc;padding-left:22px;margin-bottom:1em}
.legal-content li{margin-bottom:.4em}
.legal-content a{color:var(--c-gold-2);text-decoration:underline}
.legal-content .table-wrap{margin-bottom:1em}
.legal-date{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:14px;color:var(--c-muted)!important}
.legal-date svg{width:18px;height:18px;color:var(--c-gold)}

/* Footer */
.site-footer{padding-block:64px 28px;background:#07100e;border-top:1px solid var(--c-line)}
.footer-ticket{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);border:1px solid var(--c-line);border-radius:22px;background:var(--c-felt)}
.footer-ticket__stub{position:relative;padding:36px;border-right:2px dashed var(--c-line)}
.footer-ticket__stub::before,.footer-ticket__stub::after{content:"";position:absolute;right:-17px;width:32px;height:32px;border-radius:50%;background:#07100e;border:1px solid var(--c-line)}
.footer-ticket__stub::before{top:-17px}
.footer-ticket__stub::after{bottom:-17px}
.brand--footer{font-size:26px}
.footer-ticket__admit{margin:14px 0 18px;font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--c-gold)}
.footer-ticket__address{display:grid;gap:10px;font-size:15px;color:#ddd4bf}
.footer-ticket__address span,.footer-ticket__address a{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;gap:10px}
.footer-ticket__address svg{width:18px;height:18px;margin-top:4px;color:var(--c-gold)}
.footer-ticket__address a:hover{color:var(--c-gold-2)}
.footer-ticket__body{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;gap:18px;padding:36px 40px}
.footer-ticket__row{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:10px 28px;font-family:var(--f-display);font-size:1.3rem}
.footer-ticket__row a:hover{color:var(--c-gold-2)}
.footer-ticket__row--legal{font-family:var(--f-body);font-size:15px;color:var(--c-muted)}
.footer-ticket__hours{margin:0;font-size:14px;color:var(--c-muted)}
.footer-rg{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-top:36px;padding-bottom:28px;border-bottom:1px solid var(--c-line)}
.footer-rg__text{margin:0;font-size:13px;color:var(--c-muted)}
.footer-rg__text a{color:var(--c-gold-2);text-decoration:underline}
.footer-rg__badge{width:40px;height:40px}
.footer-bottom{margin:20px 0 0;font-size:13px;color:var(--c-muted);text-align:center}
.footer-bottom a:hover{color:var(--c-gold-2)}


/* Cookie */
.cookie{position:fixed;left:20px;right:20px;bottom:20px;z-index:90;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:center;-ms-flex-align:center;align-items:center;gap:12px 24px;max-width:920px;margin-inline:auto;padding:18px 22px;border:1px solid var(--c-line);border-radius:16px;background:rgba(15,42,34,.97);box-shadow:0 18px 50px rgba(0,0,0,.5)}
.cookie__title{margin:0;font-weight:800;width:100%}
.cookie__text{margin:0;-webkit-flex:1 1 360px;-ms-flex:1 1 360px;flex:1 1 360px;font-size:14px;color:var(--c-muted)}
.cookie__text a{color:var(--c-gold-2);text-decoration:underline}
.cookie__actions{display:-webkit-flex;display:-ms-flexbox;display:flex;gap:10px;margin-left:auto}

/* Toast */
.toast-overlay{position:fixed;inset:0;z-index:200;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding:24px;background:rgba(5,10,9,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .3s ease}
.toast-overlay.show{opacity:1;pointer-events:auto}
.toast-card{width:100%;max-width:440px;padding:36px 32px 30px;text-align:center;border:1px solid var(--c-line);border-radius:18px;background:var(--c-felt);box-shadow:0 12px 30px rgba(0,0,0,.45);opacity:0;-webkit-transform:scale(.88) translateY(8px);transform:scale(.88) translateY(8px);transition:opacity .3s ease,-webkit-transform .35s var(--ease);transition:transform .35s var(--ease),opacity .3s ease;transition:transform .35s var(--ease),opacity .3s ease,-webkit-transform .35s var(--ease)}
.toast-overlay.show .toast-card{opacity:1;-webkit-transform:none;transform:none}
.toast-icon{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;font-size:30px;font-weight:800;line-height:1}
.toast-card.ok .toast-icon{background:rgba(214,168,74,.16);border:2px solid var(--c-gold);color:var(--c-gold-2)}
.toast-card.err .toast-icon{background:rgba(140,36,51,.25);border:2px solid #d8546a;color:#ff8da0}
.toast-card.info .toast-icon{background:rgba(243,234,216,.08);border:2px solid var(--c-line);color:var(--c-text)}
.toast-text{font-size:1.02rem}

/* Reveal */
.reveal{opacity:0;-webkit-transform:translateY(24px);transform:translateY(24px);transition:opacity .7s var(--ease),-webkit-transform .7s var(--ease);transition:opacity .7s var(--ease),transform .7s var(--ease);transition:opacity .7s var(--ease),transform .7s var(--ease),-webkit-transform .7s var(--ease)}
.reveal.is-in,.no-js .reveal{opacity:1;-webkit-transform:none;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{-webkit-animation-duration:.01ms!important;animation-duration:.01ms!important;-webkit-animation-delay:0s!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .reveal{opacity:1;-webkit-transform:none;transform:none}
}

@media (max-width:1220px){
  section{padding-block:80px}
  .burger{display:block}
  .site-header__actions{margin-left:auto}
  .nav{position:absolute;top:100%;left:0;right:0;width:100%;max-width:100vw;max-height:calc(100dvh - var(--header-offset,64px));z-index:50;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;gap:0;padding:12px 24px 28px;background:linear-gradient(160deg,#0b1714 0%,#14362c 100%);border-top:1px solid var(--c-line);box-shadow:0 18px 40px rgba(0,0,0,.4);overflow-y:auto;-ms-scroll-chaining:none;overscroll-behavior:contain;-webkit-transform:translateY(-12px);transform:translateY(-12px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s var(--ease),visibility 0s linear .3s,-webkit-transform .3s var(--ease);transition:transform .3s var(--ease),opacity .25s var(--ease),visibility 0s linear .3s;transition:transform .3s var(--ease),opacity .25s var(--ease),visibility 0s linear .3s,-webkit-transform .3s var(--ease)}
  .nav[data-open="true"]{-webkit-transform:translateY(0);transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto;transition:opacity .25s var(--ease),visibility 0s linear 0s,-webkit-transform .3s var(--ease);transition:transform .3s var(--ease),opacity .25s var(--ease),visibility 0s linear 0s;transition:transform .3s var(--ease),opacity .25s var(--ease),visibility 0s linear 0s,-webkit-transform .3s var(--ease)}
  .nav a{width:100%;padding:15px 0;font-size:20px;text-align:left;border-bottom:1px solid var(--c-line)}
  .nav a:not(.nav-cta)::after{display:none}
  .nav .nav-cta{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-top:20px;padding:14px;border:0;border-radius:10px;background:var(--c-grad);color:#1a1307;font-weight:800;text-align:center}
  .home-rooms__grid,.events-formats__grid,.about-values__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-steps__inner,.home-why__inner,.about-story__inner,.about-visit__inner,.events-package__inner{gap:36px}
  .home-booking__inner,.events-enquiry__inner,.contact-booking__inner{grid-template-columns:minmax(0,1fr);gap:28px}
}

@media (max-width:820px){
  body{font-size:16px}
  section{padding-block:64px}
  .hero-vault{padding-block:44px 44px}
  .hero-vault__media::after{background:linear-gradient(180deg,rgba(11,23,20,.8) 0%,rgba(11,23,20,.9) 55%,rgba(11,23,20,.97) 100%)}
  .hero-vault__inner{grid-template-columns:minmax(0,1fr);gap:0}
  .hero-vault__facts{margin-top:24px}
  .hero-vault__facts li{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:10px 14px}
  .quests-hero,.events-hero,.about-hero,.contact-hero{padding-block:64px 40px}
  .home-steps__inner,.home-why__inner,.about-story__inner,.about-visit__inner,.events-package__inner{grid-template-columns:minmax(0,1fr)}
  .home-why__photo,.about-story__photo{-webkit-order:-1;-ms-flex-order:-1;order:-1}
  .quest-row,.quest-row:nth-child(odd){grid-template-columns:minmax(0,1fr);gap:20px;padding:18px}
  .quest-row:nth-child(odd) img{-webkit-order:0;-ms-flex-order:0;order:0}
  .quest-row h3{font-size:1.7rem}
  .contact-details__grid,.contact-directions__grid,.rules-grid{grid-template-columns:minmax(0,1fr)}
  .home-events__content{padding:28px}
  .form-card{padding:22px}
  .form-card__row{grid-template-columns:minmax(0,1fr)}
  .footer-ticket{grid-template-columns:minmax(0,1fr)}
  .footer-ticket__stub{padding:28px;border-right:0;border-bottom:2px dashed var(--c-line)}
  .footer-ticket__stub::before,.footer-ticket__stub::after{top:auto;right:auto;bottom:-17px}
  .footer-ticket__stub::before{left:-17px}
  .footer-ticket__stub::after{right:-17px}
  .footer-ticket__body{padding:28px}
  .cookie{left:12px;right:12px;bottom:12px}
}

@media (max-width:520px){
  .container{padding-inline:16px}
  .site-header__row{gap:12px}
  .nav{padding-inline:16px}
  .brand{font-size:20px}
  .brand svg{width:34px;height:34px}
  .home-rooms__grid,.events-formats__grid,.about-values__grid{grid-template-columns:minmax(0,1fr)}
  .hero-vault__kicker{display:none}
  .hero-vault__title{margin-top:0}
  .hero-vault__lead{font-size:15px}
  .hero-vault__actions{width:100%;gap:10px}
  .hero-vault__actions .btn{-webkit-flex:1 1 140px;-ms-flex:1 1 140px;flex:1 1 140px;min-height:46px;padding:0 14px;font-size:15px;white-space:nowrap}
  .hero-vault__facts{gap:10px}
  .hero-vault__facts li{padding:12px;gap:8px}
  .hero-vault__facts svg{width:22px;height:22px}
  .form-card .btn{justify-self:stretch}
  .cookie__actions{width:100%;margin-left:0;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}
  .footer-ticket__row{font-size:1.15rem;gap:8px 20px}
}

@media (max-width:430px){
  .site-header__actions .btn{display:none}
}

