:root {
  --sc-ink: #18121d;
  --sc-ink-soft: #5f5764;
  --sc-purple-950: #2a0736;
  --sc-purple-900: #3b0a4f;
  --sc-purple-800: #55106e;
  --sc-purple-700: #741a92;
  --sc-purple-600: #9826b8;
  --sc-purple-500: #b83bd0;
  --sc-lilac: #f2e9f6;
  --sc-lilac-2: #faf7fb;
  --sc-white: #ffffff;
  --sc-line: #e7e0ea;
  --sc-green: #176b54;
  --sc-amber: #a65f00;
  --sc-red: #a83b49;
  --sc-shadow: 0 22px 60px rgba(50, 16, 61, 0.12);
  --sc-radius-lg: 28px;
  --sc-radius-md: 20px;
  --sc-radius-sm: 13px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { width:100%; max-width:100%; overflow-x:hidden; }
body {
  margin: 0;
  color: var(--sc-ink);
  background: #fff;
  font-family: "Open Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

h1,h2,h3,h4,h5,h6,.navbar-brand,.display-font {
  font-family: "Work Sans", system-ui, sans-serif;
}
a { color: var(--sc-purple-700); }
a:hover { color: var(--sc-purple-900); }
img { max-width: 100%; }

.sc-topline {
  background: var(--sc-purple-950);
  color: rgba(255,255,255,.86);
  font-size: .84rem;
}
.sc-topline a { color: #fff; text-decoration: none; }
.sc-topline-inner {
  max-width: 1320px; margin: 0 auto; padding: .55rem 1.25rem;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.sc-topline-links { display: flex; gap: 1.25rem; align-items: center; }
.sc-eyebrow {
  display: inline-flex; align-items: center; gap: .45rem;
  text-transform: uppercase; letter-spacing: .12em; font-size: .76rem; font-weight: 800;
  color: var(--sc-purple-700);
}
.sc-eyebrow-light { color: #ead5f2; }

.sc-navbar {
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(78, 35, 91, .08);
  box-shadow: 0 6px 26px rgba(42,7,54,.05);
}
.sc-navbar .navbar-brand { padding:0; margin-right:1.25rem; text-decoration:none; }
.sc-brand {
  display:inline-flex; align-items:center; gap:.72rem; color:var(--sc-purple-800);
  text-decoration:none; line-height:1;
}
.sc-brand:hover { color:var(--sc-purple-900); }
.sc-brand-icon {
  position:relative; width:42px; height:42px; flex:0 0 42px; border-radius:14px;
  display:grid; place-items:center; color:#fff;
  background:linear-gradient(145deg,var(--sc-purple-700),var(--sc-purple-500));
  box-shadow:0 10px 24px rgba(116,26,146,.20);
}
.sc-brand-icon > .bi-geo-alt-fill { font-size:1.38rem; transform:translateY(-1px); }
.sc-brand-icon > .bi-building {
  position:absolute; right:7px; bottom:7px; width:16px; height:16px; border-radius:50%;
  display:grid; place-items:center; background:#fff; color:var(--sc-purple-800); font-size:.58rem;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.sc-brand-copy { display:grid; gap:1px; white-space:nowrap; }
.sc-brand-copy strong {
  font-family:"Work Sans",system-ui,sans-serif; font-size:1.38rem; font-weight:900;
  letter-spacing:-.055em; color:var(--sc-purple-700);
}
.sc-brand-copy small {
  font-family:"Work Sans",system-ui,sans-serif; font-size:.73rem; font-weight:800;
  letter-spacing:-.02em; color:#4f3d56;
}
.sc-brand--footer .sc-brand-icon { background:linear-gradient(145deg,#fff,#d9bce1); color:var(--sc-purple-900); box-shadow:none; }
.sc-brand--footer .sc-brand-icon > .bi-building { background:var(--sc-purple-950); color:#fff; }
.sc-brand--footer .sc-brand-copy strong { color:#fff; }
.sc-brand--footer .sc-brand-copy small { color:rgba(255,255,255,.62); }
.sc-navbar .nav-link { color: var(--sc-ink); font-weight: 700; font-size: .94rem; padding: 1.35rem .85rem !important; }
.sc-navbar .nav-link:hover,.sc-navbar .nav-link.active { color: var(--sc-purple-700); }
.sc-navbar .dropdown-menu { border: 1px solid var(--sc-line); box-shadow: var(--sc-shadow); border-radius: 16px; padding: .65rem; }
.sc-navbar .dropdown-item { border-radius: 10px; padding: .7rem .8rem; font-weight: 650; }
.sc-navbar .dropdown-item:hover { background: var(--sc-lilac); color: var(--sc-purple-900); }

.sc-btn {
  border: 0; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center;
  gap: .55rem; min-height: 46px; padding: .72rem 1.15rem; font-weight: 800; text-decoration: none;
  transition: .2s ease; cursor: pointer;
}
.sc-btn:hover { transform: translateY(-1px); }
.sc-btn-primary { color:#fff; background: linear-gradient(135deg,var(--sc-purple-700),var(--sc-purple-500)); box-shadow: 0 12px 28px rgba(116,26,146,.24); }
.sc-btn-primary:hover { color:#fff; background: linear-gradient(135deg,var(--sc-purple-800),var(--sc-purple-600)); }
.sc-btn-dark { background: var(--sc-ink); color:#fff; }
.sc-btn-dark:hover { background:#000; color:#fff; }
.sc-btn-light { background:#fff; color:var(--sc-purple-900); border:1px solid rgba(255,255,255,.4); }
.sc-btn-outline { background:#fff; color:var(--sc-ink); border:1px solid var(--sc-line); }
.sc-btn-outline:hover { border-color:#cbbbd0; background:var(--sc-lilac-2); color:var(--sc-purple-900); }
.sc-btn-sm { min-height: 38px; padding: .5rem .85rem; font-size:.86rem; }
.sc-btn-block { width:100%; }

.sc-home-hero {
  position: relative; overflow: hidden; color:#fff;
  background:
    linear-gradient(90deg, rgba(31,2,39,.98) 0%, rgba(52,7,66,.94) 38%, rgba(79,13,96,.78) 62%, rgba(102,23,122,.34) 100%),
    url("../img/bg.jpg") center right / cover no-repeat;
}
.sc-home-hero:before {
  content:""; position:absolute; inset:0; opacity:.13; z-index:1; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px);
  background-size:54px 54px; mask-image:linear-gradient(to right,black,rgba(0,0,0,.45),transparent 86%);
}
.sc-home-hero:after {
  content:""; position:absolute; top:0; right:0; bottom:0; width:min(50%,760px); z-index:0; pointer-events:none;
  background:
    linear-gradient(90deg,rgba(69,10,84,.96) 0%,rgba(85,13,101,.42) 30%,rgba(85,13,101,.05) 72%),
    url("../img/intro01.jpg") center 19% / cover no-repeat;
  opacity:.34;
}
.sc-home-hero .container { position:relative; z-index:2; padding-top:3.25rem; padding-bottom:3.45rem; }
.sc-home-hero h1 {
  font-size:clamp(3rem,5.3vw,5.25rem); line-height:.91; letter-spacing:-.065em;
  font-weight:900; max-width:790px; margin-bottom:0; color:#fff;
}
.sc-home-hero h1 span { color:#ead0f2; }
.sc-home-hero .lead { max-width:710px; font-size:clamp(1rem,1.55vw,1.18rem); color:rgba(255,255,255,.84); margin-bottom:0; }
.sc-hero-badges { display:flex; flex-wrap:wrap; gap:.48rem; margin-top:1rem; }
.sc-hero-badge { border:1px solid rgba(255,255,255,.24); background:rgba(255,255,255,.08); border-radius:999px; padding:.42rem .68rem; font-size:.76rem; color:#fff; backdrop-filter:blur(8px); }

.sc-search-shell {
  position:relative; max-width:980px; margin-top:1.55rem;
  padding:.55rem; display:grid; grid-template-columns: 1fr auto; gap:.5rem;
  background:#fff; border-radius:22px; box-shadow:0 26px 70px rgba(0,0,0,.25);
}
.sc-search-field { position:relative; }
.sc-search-field input {
  width:100%; min-height:54px; border:0; outline:0; border-radius:16px; padding:0 1rem 0 3rem;
  font-size:1rem; color:var(--sc-ink); background:#fff;
}
.sc-search-field .bi { position:absolute; left:1.05rem; top:50%; transform:translateY(-50%); color:var(--sc-purple-600); font-size:1.2rem; }
.sc-search-results {
  position:absolute; top:calc(100% + 10px); left:0; right:0; background:#fff; color:var(--sc-ink);
  border:1px solid var(--sc-line); box-shadow:var(--sc-shadow); border-radius:18px; z-index:30; overflow:hidden; display:none;
}
.sc-search-results.is-open { display:block; }
.sc-search-result { display:flex; justify-content:space-between; gap:1rem; padding:.9rem 1rem; text-decoration:none; color:inherit; border-bottom:1px solid #f1edf2; }
.sc-search-result:last-child { border-bottom:0; }
.sc-search-result:hover { background:var(--sc-lilac-2); }
.sc-search-result strong { display:block; font-size:.92rem; }
.sc-search-result small { color:var(--sc-ink-soft); }

.sc-section { padding: 5.5rem 0; }
.sc-section-soft { background: var(--sc-lilac-2); }
.sc-section-dark { background: var(--sc-ink); color:#fff; }
.sc-section-heading { max-width:820px; margin-bottom:2.1rem; }
.sc-section-heading h2 { font-size:clamp(2rem,4vw,3.3rem); letter-spacing:-.045em; font-weight:850; margin:.35rem 0 .75rem; }
.sc-section-heading p { color:var(--sc-ink-soft); font-size:1.04rem; }
.sc-section-dark .sc-section-heading p { color:rgba(255,255,255,.65); }

.sc-event-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.sc-event-card {
  border:1px solid var(--sc-line); border-radius:var(--sc-radius-md); background:#fff; padding:1.25rem;
  min-height:210px; text-decoration:none; color:inherit; display:flex; flex-direction:column; justify-content:space-between;
  box-shadow:0 10px 28px rgba(42,7,54,.045); transition:.2s ease;
}
.sc-event-card:hover { transform:translateY(-4px); border-color:#d4c2db; box-shadow:var(--sc-shadow); color:inherit; }
.sc-event-card .sc-event-icon { width:46px; height:46px; border-radius:14px; background:var(--sc-lilac); color:var(--sc-purple-800); display:grid; place-items:center; font-size:1.2rem; }
.sc-event-card h3 { font-size:1.15rem; font-weight:800; margin:1rem 0 .35rem; }
.sc-event-card p { color:var(--sc-ink-soft); font-size:.88rem; margin:0; }
.sc-event-card .sc-card-link { color:var(--sc-purple-700); font-weight:800; font-size:.86rem; margin-top:1rem; }

.sc-proximity-stage {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.9fr); gap:2.5rem; align-items:center;
}
.sc-faux-map { position:relative; height:520px; overflow:hidden; border-radius:32px; background:#e9e5e8; box-shadow:var(--sc-shadow); }
.sc-faux-map:before { content:""; position:absolute; inset:0; background:
  linear-gradient(35deg, transparent 47%, rgba(255,255,255,.9) 48%, rgba(255,255,255,.9) 50%, transparent 51%),
  linear-gradient(125deg, transparent 44%, rgba(255,255,255,.72) 45%, rgba(255,255,255,.72) 48%, transparent 49%),
  linear-gradient(#dde4dc 1px, transparent 1px), linear-gradient(90deg,#dde4dc 1px, transparent 1px);
  background-size: 180px 180px,220px 220px,55px 55px,55px 55px; opacity:.85; }
.sc-map-venue { position:absolute; top:47%; left:52%; transform:translate(-50%,-50%); background:var(--sc-purple-900); color:#fff; border-radius:16px; padding:.8rem 1rem; box-shadow:0 12px 30px rgba(42,7,54,.28); z-index:2; font-weight:800; }
.sc-map-price { position:absolute; background:#fff; color:var(--sc-ink); border:2px solid #fff; border-radius:999px; padding:.38rem .62rem; box-shadow:0 8px 20px rgba(0,0,0,.16); z-index:2; font-weight:850; font-size:.82rem; }
.sc-map-price:nth-of-type(2){top:20%;left:17%}.sc-map-price:nth-of-type(3){top:33%;right:11%}.sc-map-price:nth-of-type(4){bottom:20%;left:22%}.sc-map-price:nth-of-type(5){bottom:14%;right:18%}
.sc-point-list { display:grid; gap:.9rem; margin-top:1.7rem; }
.sc-point { display:flex; gap:.85rem; align-items:flex-start; }
.sc-point-num { flex:0 0 34px; height:34px; border-radius:50%; background:var(--sc-lilac); color:var(--sc-purple-800); display:grid; place-items:center; font-weight:900; }
.sc-point strong { display:block; }
.sc-point span { color:var(--sc-ink-soft); font-size:.91rem; }

.sc-trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.sc-trust-card { border:1px solid rgba(255,255,255,.12); border-radius:20px; padding:1.35rem; background:rgba(255,255,255,.035); }
.sc-trust-card .bi { font-size:1.5rem; color:#e8bff3; }
.sc-trust-card h3 { font-size:1rem; font-weight:800; margin:.8rem 0 .35rem; }
.sc-trust-card p { color:rgba(255,255,255,.62); margin:0; font-size:.9rem; }

.sc-cta-band { border-radius:32px; padding:2.2rem; color:#fff; background:linear-gradient(125deg,var(--sc-purple-900),var(--sc-purple-600)); box-shadow:var(--sc-shadow); }
.sc-cta-band h2 { font-weight:850; letter-spacing:-.035em; }

/* Event page */
.sc-event-hero {
  position:relative; overflow:hidden; color:#fff;
  background:
    linear-gradient(90deg,rgba(32,3,40,.98) 0%,rgba(53,7,67,.94) 42%,rgba(86,17,104,.72) 68%,rgba(98,26,120,.30) 100%),
    url("../img/bg.jpg") center right / cover no-repeat;
}
.sc-event-hero:before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 77% 12%,rgba(232,176,246,.20),transparent 29%);
}
.sc-event-hero:after {
  content:""; position:absolute; right:-12vw; bottom:-34vw; width:52vw; height:52vw;
  border:1px solid rgba(255,255,255,.10); border-radius:50%;
  box-shadow:0 0 0 54px rgba(255,255,255,.02),0 0 0 108px rgba(255,255,255,.016);
}
.sc-event-hero .container { position:relative; z-index:2; padding-top:2.65rem; padding-bottom:2.75rem; }
.sc-event-hero h1 {
  font-size:clamp(2.45rem,4.8vw,4.45rem); font-weight:900; letter-spacing:-.06em;
  line-height:.94; max-width:860px; margin-bottom:0; color:#fff;
}
.sc-event-hero .lead { color:rgba(255,255,255,.80); max-width:760px; font-size:1.02rem; margin-bottom:0; }
.sc-event-meta { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }
.sc-event-meta span {
  border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.08);
  padding:.43rem .66rem; border-radius:999px; font-size:.78rem; backdrop-filter:blur(5px);
}

.sc-inventory-shell { background:#fff; }
.sc-inventory-toolbar { position:sticky; top:67px; z-index:10; background:rgba(255,255,255,.96); backdrop-filter:blur(10px); border-bottom:1px solid var(--sc-line); }
.sc-toolbar-inner { max-width:1500px; margin:0 auto; padding:.85rem 1rem; display:grid; grid-template-columns:2fr repeat(3,minmax(130px,1fr)) auto; gap:.55rem; align-items:center; }
.sc-filter-control { min-height:44px; border:1px solid var(--sc-line); border-radius:12px; padding:.55rem .75rem; background:#fff; color:var(--sc-ink); outline:none; width:100%; }
.sc-filter-control:focus { border-color:#b97acb; box-shadow:0 0 0 3px rgba(152,38,184,.08); }
.sc-inventory-layout { max-width:1600px; width:100%; margin:0 auto; display:grid; grid-template-columns:minmax(0,46%) minmax(0,54%); min-height:760px; overflow:hidden; }
.sc-inventory-layout > * { min-width:0; }
.sc-list-panel { padding:1.15rem 1.15rem 4rem; }
.sc-list-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-end; margin-bottom:1rem; }
.sc-list-head h2 { font-size:1.35rem; font-weight:850; margin:0; }
.sc-list-head p { margin:0; color:var(--sc-ink-soft); font-size:.87rem; }
.sc-sort { border:0; background:transparent; color:var(--sc-purple-800); font-weight:800; }
.sc-hotel-list { display:grid; gap:.9rem; }
.sc-hotel-card { display:grid; grid-template-columns:190px 1fr; border:1px solid var(--sc-line); border-radius:20px; overflow:hidden; background:#fff; transition:.18s ease; }
.sc-hotel-card:hover,.sc-hotel-card.is-active { border-color:#c69ad3; box-shadow:0 18px 36px rgba(50,16,61,.10); }
.sc-hotel-photo { position:relative; min-height:190px; background:linear-gradient(135deg,#eee8f0,#d8cedb); overflow:hidden; }
.sc-hotel-photo img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.sc-hotel-photo .sc-badge { position:absolute; left:.7rem; top:.7rem; z-index:2; }
.sc-hotel-body { padding:1rem; min-width:0; display:flex; flex-direction:column; }
.sc-hotel-top { display:flex; justify-content:space-between; gap:1rem; }
.sc-hotel-name { font-size:1.02rem; font-weight:850; margin:0; line-height:1.2; }
.sc-stars { color:#9a5c00; font-size:.78rem; white-space:nowrap; }
.sc-address { color:var(--sc-ink-soft); font-size:.78rem; margin:.35rem 0 .65rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sc-room-preview { display:grid; gap:.25rem; color:#4f4952; font-size:.81rem; margin-bottom:.8rem; }
.sc-hotel-bottom { margin-top:auto; display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; }
.sc-from { font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--sc-ink-soft); }
.sc-price { font-family:"Work Sans",sans-serif; font-size:1.24rem; font-weight:900; line-height:1; }
.sc-price small { font-size:.72rem; font-weight:600; color:var(--sc-ink-soft); }
.sc-badge { display:inline-flex; width:max-content; align-items:center; gap:.3rem; border-radius:999px; padding:.35rem .55rem; font-size:.68rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; background:#fff; color:var(--sc-purple-900); box-shadow:0 5px 16px rgba(0,0,0,.12); }
.sc-badge[data-tone="value"] { color:#0e6a52; }
.sc-badge[data-tone="luxury"] { color:#7a4c00; }
.sc-badge[data-tone="group"] { color:#30567b; }

.sc-map-panel { position:sticky; top:128px; height:calc(100vh - 128px); min-height:600px; min-width:0; overflow:hidden; background:#eee; border-left:1px solid var(--sc-line); isolation:isolate; }
#hotel-map { width:100%; height:100%; min-width:0; overflow:hidden; position:relative; }
.leaflet-container { font-family:"Open Sans",sans-serif; max-width:100%; overflow:hidden; }
.sc-price-marker { background:#fff; color:var(--sc-ink); border:1px solid rgba(0,0,0,.11); border-radius:999px; padding:5px 8px; font-size:12px; font-weight:900; white-space:nowrap; box-shadow:0 7px 18px rgba(0,0,0,.18); }
.sc-price-marker.is-active { background:var(--sc-purple-800); color:#fff; border-color:var(--sc-purple-800); }
.sc-venue-marker { width:42px; height:42px; border-radius:14px; display:grid; place-items:center; background:var(--sc-purple-900); color:#fff; border:3px solid #fff; box-shadow:0 8px 22px rgba(0,0,0,.24); font-size:18px; }
.sc-map-status { position:absolute; top:12px; left:50%; transform:translateX(-50%); z-index:500; background:rgba(255,255,255,.92); border:1px solid var(--sc-line); border-radius:999px; padding:.45rem .7rem; font-size:.76rem; box-shadow:0 6px 18px rgba(0,0,0,.1); }

.sc-empty { border:1px dashed #d3c5d8; background:var(--sc-lilac-2); border-radius:20px; padding:2rem; text-align:center; color:var(--sc-ink-soft); }
.sc-loading-card { height:210px; border-radius:20px; background:linear-gradient(90deg,#f4f0f5 25%,#fbf9fb 40%,#f4f0f5 60%); background-size:400% 100%; animation:scshimmer 1.25s infinite; }
@keyframes scshimmer { 0%{background-position:100% 0}100%{background-position:0 0} }

.sc-request-section { padding:4.8rem 0; background:var(--sc-lilac-2); }
.sc-request-card { display:grid; grid-template-columns:.85fr 1.15fr; overflow:hidden; border:1px solid var(--sc-line); border-radius:28px; background:#fff; box-shadow:var(--sc-shadow); }
.sc-request-intro { padding:2rem; background:linear-gradient(145deg,var(--sc-purple-950),var(--sc-purple-700)); color:#fff; }
.sc-request-intro h2 { font-weight:850; letter-spacing:-.035em; }
.sc-request-intro p { color:rgba(255,255,255,.72); }
.sc-request-form { padding:2rem; }
.sc-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.85rem; }
.sc-form-group { display:grid; gap:.35rem; }
.sc-form-group.full { grid-column:1/-1; }
.sc-form-group label { font-size:.76rem; font-weight:800; color:#544d57; }
.sc-form-group input,.sc-form-group select,.sc-form-group textarea { width:100%; border:1px solid var(--sc-line); border-radius:11px; padding:.7rem .78rem; outline:0; background:#fff; }
.sc-form-group textarea { min-height:94px; resize:vertical; }
.sc-form-group input:focus,.sc-form-group select:focus,.sc-form-group textarea:focus { border-color:#bc7acd; box-shadow:0 0 0 3px rgba(152,38,184,.08); }
.sc-form-status { margin-top:.8rem; font-size:.85rem; min-height:1.2rem; }

.sc-guide-section { padding:4.8rem 0; background:#fff; }
.sc-guide-section.sc-guide-soft { background:var(--sc-lilac-2); }
.sc-guide-intro { max-width:820px; margin-bottom:2rem; }
.sc-guide-intro h2 { font-size:clamp(2rem,3.8vw,3rem); font-weight:880; letter-spacing:-.045em; margin:.45rem 0 .7rem; }
.sc-guide-intro p { color:var(--sc-ink-soft); margin:0; }
.sc-price-table-wrap { border:1px solid var(--sc-line); border-radius:22px; overflow:hidden; box-shadow:0 14px 34px rgba(42,7,54,.06); }
.sc-price-table { width:100%; border-collapse:collapse; background:#fff; }
.sc-price-table th,.sc-price-table td { padding:.86rem 1rem; text-align:left; border-bottom:1px solid #efe9f1; vertical-align:middle; }
.sc-price-table th { background:#f7f2f8; color:#5b4f60; font-size:.73rem; text-transform:uppercase; letter-spacing:.08em; }
.sc-price-table tr:last-child td { border-bottom:0; }
.sc-price-table .hotel { font-weight:800; color:var(--sc-ink); }
.sc-price-table .area,.sc-price-table .stay { color:var(--sc-ink-soft); font-size:.84rem; }
.sc-price-table .rate { font-family:"Work Sans",sans-serif; font-weight:900; color:var(--sc-purple-800); white-space:nowrap; }
.sc-price-note { margin-top:.85rem; color:var(--sc-ink-soft); font-size:.78rem; }

.sc-area-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.sc-area-card { border:1px solid var(--sc-line); border-radius:20px; padding:1.25rem; background:#fff; }
.sc-area-card .bi { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background:var(--sc-lilac); color:var(--sc-purple-800); font-size:1.05rem; }
.sc-area-card h3 { font-size:1rem; font-weight:850; margin:.9rem 0 .4rem; }
.sc-area-card p { color:var(--sc-ink-soft); font-size:.88rem; margin:0; }

.sc-faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.sc-faq-grid details { border:1px solid var(--sc-line); border-radius:16px; background:#fff; padding:0 1rem; }
.sc-faq-grid summary { list-style:none; cursor:pointer; font-weight:800; padding:1rem 1.8rem 1rem 0; position:relative; }
.sc-faq-grid summary::-webkit-details-marker { display:none; }
.sc-faq-grid summary:after { content:"+"; position:absolute; right:0; top:.78rem; font-size:1.35rem; color:var(--sc-purple-700); }
.sc-faq-grid details[open] summary:after { content:"–"; }
.sc-faq-grid details p { color:var(--sc-ink-soft); margin:0; padding:0 0 1rem; font-size:.9rem; }

.sc-modal .modal-content { border:0; border-radius:24px; overflow:hidden; box-shadow:0 30px 100px rgba(20,5,24,.25); }
.sc-modal .modal-header { border-bottom:1px solid var(--sc-line); }
.sc-room-option { border:1px solid var(--sc-line); border-radius:16px; padding:1rem; display:grid; grid-template-columns:1fr auto; gap:1rem; align-items:center; margin-bottom:.65rem; }
.sc-room-option h4 { font-size:.93rem; font-weight:800; margin:0 0 .35rem; }
.sc-room-option p { font-size:.78rem; color:var(--sc-ink-soft); margin:0; }
.sc-room-option-price { text-align:right; }
.sc-room-option-price strong { display:block; font-family:"Work Sans",sans-serif; font-size:1.12rem; }

.sc-content-strip { padding:4rem 0; border-top:1px solid var(--sc-line); }
.sc-content-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.sc-content-grid h2 { font-weight:850; letter-spacing:-.03em; }
.sc-content-grid p,.sc-content-grid li { color:var(--sc-ink-soft); }

.sc-footer { background:#120d15; color:#fff; padding:3.5rem 0 1.4rem; }
.sc-footer-logo { width:290px; max-width:100%; filter:brightness(0) invert(1); opacity:.92; }
.sc-footer p,.sc-footer a { color:rgba(255,255,255,.62); text-decoration:none; }
.sc-footer a:hover { color:#fff; }
.sc-footer h3 { font-size:.9rem; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.sc-footer-grid { display:grid; grid-template-columns:1.35fr .9fr .9fr; gap:2rem; }
.sc-footer-links { display:grid; gap:.45rem; }
.sc-footer-bottom { border-top:1px solid rgba(255,255,255,.09); margin-top:2rem; padding-top:1.1rem; color:rgba(255,255,255,.42); font-size:.78rem; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }

@media (max-width: 1199px) {
  .sc-event-grid { grid-template-columns:repeat(3,1fr); }
  .sc-proximity-stage { grid-template-columns:1fr 1fr; }
  .sc-inventory-layout { grid-template-columns:minmax(480px,52%) 1fr; }
  .sc-hotel-card { grid-template-columns:160px 1fr; }
}
@media (max-width: 991px) {
  .sc-topline-inner { justify-content:center; }
  .sc-topline-links span:first-child { display:none; }
  .sc-navbar .nav-link { padding:.7rem .5rem !important; }
  .sc-navbar .navbar-collapse { padding:0 1rem 1rem; }
  .sc-home-hero .container { padding-top:4.6rem; padding-bottom:4.8rem; }
  .sc-event-grid { grid-template-columns:repeat(2,1fr); }
  .sc-proximity-stage { grid-template-columns:1fr; }
  .sc-faux-map { height:430px; order:2; }
  .sc-trust-grid { grid-template-columns:1fr; }
  .sc-toolbar-inner { grid-template-columns:2fr 1fr 1fr auto; }
  .sc-toolbar-inner select:nth-of-type(3) { display:none; }
  .sc-inventory-layout { display:block; }
  .sc-map-panel { position:relative; top:auto; height:56vh; min-height:450px; border-left:0; border-top:1px solid var(--sc-line); }
  .sc-request-card { grid-template-columns:1fr; }
  .sc-content-grid { grid-template-columns:1fr; }
  .sc-footer-grid { grid-template-columns:1fr 1fr; }
  .sc-footer-grid > div:first-child { grid-column:1/-1; }
}
@media (max-width: 767px) {
  .sc-topline { display:none; }
  .sc-navbar .navbar-brand img { width:235px; max-width:68vw; }
  .sc-home-hero .container { padding-top:3.6rem; padding-bottom:3.8rem; }
  .sc-search-shell { grid-template-columns:1fr; background:rgba(255,255,255,.96); }
  .sc-search-shell .sc-btn { width:100%; }
  .sc-section { padding:4rem 0; }
  .sc-event-grid { grid-template-columns:1fr; }
  .sc-event-card { min-height:170px; }
  .sc-faux-map { height:360px; }
  .sc-event-hero .container { padding-top:3.2rem; padding-bottom:3.2rem; }
  .sc-inventory-toolbar { top:69px; overflow-x:auto; }
  .sc-toolbar-inner { min-width:760px; }
  .sc-list-panel { padding:.85rem .75rem 3rem; }
  .sc-hotel-card { grid-template-columns:120px 1fr; border-radius:16px; }
  .sc-hotel-photo { min-height:190px; }
  .sc-hotel-body { padding:.8rem; }
  .sc-hotel-bottom { align-items:flex-start; flex-direction:column; }
  .sc-hotel-bottom .sc-btn { width:100%; }
  .sc-map-panel { height:52vh; min-height:390px; }
  .sc-request-section { padding:3.4rem 0; }
  .sc-request-intro,.sc-request-form { padding:1.35rem; }
  .sc-form-grid { grid-template-columns:1fr; }
  .sc-form-group.full { grid-column:auto; }
  .sc-footer-grid { grid-template-columns:1fr; }
  .sc-footer-grid > div:first-child { grid-column:auto; }
}
@media (max-width: 480px) {
  .sc-hotel-card { grid-template-columns:1fr; }
  .sc-hotel-photo { min-height:210px; }
  .sc-address { white-space:normal; }
}

.sc-footer .sc-brand { margin-bottom:.35rem; }

@media (max-width: 1199.98px) {
  .sc-inventory-layout { grid-template-columns:minmax(0,52%) minmax(0,48%); }
  .sc-area-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 991.98px) {
  .sc-navbar .nav-link { padding:.7rem .5rem !important; }
  .sc-home-hero .container { padding-top:2.75rem; padding-bottom:2.9rem; }
  .sc-event-hero .container { padding-top:2.35rem; padding-bottom:2.45rem; }
  .sc-inventory-layout { display:block; overflow:visible; }
  .sc-map-panel { position:relative; top:auto; height:52vh; min-height:410px; border-left:0; border-top:1px solid var(--sc-line); }
  .sc-faq-grid { grid-template-columns:1fr; }
}
@media (max-width: 767.98px) {
  .sc-brand-icon { width:38px; height:38px; flex-basis:38px; border-radius:12px; }
  .sc-brand-copy strong { font-size:1.15rem; }
  .sc-brand-copy small { font-size:.64rem; }
  .sc-home-hero .container { padding-top:2.35rem; padding-bottom:2.45rem; }
  .sc-home-hero h1 { font-size:clamp(2.8rem,13vw,4.1rem); }
  .sc-home-hero .lead { font-size:.98rem; }
  .sc-event-hero .container { padding-top:2rem; padding-bottom:2.1rem; }
  .sc-event-hero h1 { font-size:clamp(2.35rem,11.5vw,3.45rem); }
  .sc-event-hero .lead { font-size:.94rem; }
  .sc-hero-badges { display:none; }
  .sc-area-grid { grid-template-columns:1fr; }
  .sc-guide-section { padding:3.6rem 0; }
  .sc-price-table-wrap { overflow-x:auto; }
  .sc-price-table { min-width:720px; }
}
@media (max-width: 575.98px) {
  .sc-brand-copy small { display:none; }
  .sc-search-shell { grid-template-columns:1fr; border-radius:18px; }
  .sc-search-shell .sc-btn { width:100%; }
}

@media (max-width: 767.98px) {
  .sc-home-hero:after { width:100%; opacity:.16; }
  .sc-inventory-toolbar { position:relative; top:auto; overflow:visible; }
  .sc-toolbar-inner { min-width:0; grid-template-columns:1fr 1fr; gap:.5rem; padding:.7rem; }
  .sc-toolbar-inner #hotel-search { grid-column:1/-1; }
  .sc-toolbar-inner select:nth-of-type(3) { display:block; }
  .sc-toolbar-inner #clear-filters { width:100%; }
}
@media (max-width: 480px) {
  .sc-toolbar-inner { grid-template-columns:1fr; }
  .sc-toolbar-inner #hotel-search { grid-column:auto; }
}
