:root {
  --w: #FDFCF9;
  --bg: #F6F5F3;
  --fg: #18160E;
  --accent: #520350;
  --gold: #C4963A;
  --muted: #232323;
  --border: #DED9CF;
  --light: #EDE9DF;
  --font-display:        'Jost', system-ui, sans-serif;
  --font-display-weight: 400;
  --font-body:           'Roboto', system-ui, -apple-system, sans-serif;
  --font-script:         'Cormorant Garamond', Georgia, serif;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--w); color:var(--fg); font-family:var(--font-body); -webkit-font-smoothing:antialiased; letter-spacing:.01em; }


.hero {
  position:relative; height:60vh; min-height:550px;
  display:flex; align-items:center; justify-content:center;
}

.hero-bg { position:absolute; inset:0; overflow:hidden; background-color:#1a0d10; }
.hero-bg-slide {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0;
}
.hero-bg-slide.active { opacity:1; }
.hero-word { display:inline-block; transition:opacity .7s ease; }
.hero-word.swap { opacity:0; }

.hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,.32) 0%,
    rgba(0,0,0,.42) 50%,
    rgba(0,0,0,.52) 100%
  );
}

.hero-content {
	position: relative;
	z-index: 2;
	text-align: center;
	padding: 0 24px; 
	width: 100%;
}
.h-tag {
  display:inline-flex; align-items:center; gap:14px;
  font-size:10px; font-weight:700; letter-spacing:.24em; text-transform:uppercase;
  color:#fff; margin-bottom:28px; font-family:var(--font-body);
}
.h-tag span {
	display: block;
	width: 7px;
	height: 1px;
	background: currentColor;
	color: #eee5ee;
}.hero-h1 {
  margin-bottom:22px;
  text-shadow:0 4px 40px rgba(0,0,0,.4);
}
.hero-pre {
	display: block;
	font-size: clamp(14px,2.2vw,18px);
	color: #c7acd0;
	letter-spacing: .01em;
	margin-bottom: 15px;
	-webkit-text-stroke: 1px var(--accent);
	paint-order: stroke fill;
	text-shadow: 0 2px 12px rgba(0,0,0,.35);
	font-weight: normal;
}
.hero-word {
	display: block;
	font-family: var(--font-display);
	font-size: clamp(38px,5vw,55px);
	font-weight: var(--font-display-weight);
	text-transform: uppercase;
	letter-spacing: .03em;
	line-height: 1;
	color: #fff;
	transition: opacity .7s ease;
	font-weight: 500;
}
.hero-word.swap { opacity:0; }
.hero-h1 { margin-bottom:36px; }

.hero-popular { margin-top:24px; color:#fff; }
.hero-popular-lbl {
  display:block; font-size:14px; font-weight:600;
  color:#fff; margin-bottom:10px; letter-spacing:.01em;
}
.hero-popular-list {
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:0 18px; list-style:none; margin:0; padding:0;
  font-size:13.5px; color:rgba(255,255,255,.78);
}
.hero-popular-list li {
  position:relative; padding-right:18px;
}
.hero-popular-list li + li::before {
  content:''; position:absolute; left:-18px; top:50%;
  width:1px; height:14px; background:rgba(255,255,255,.3);
  transform:translateY(-50%);
}
.hero-popular-list a {
  color:rgba(255,255,255,.78); text-decoration:none;
  transition:color .15s;
}
.hero-popular-list a:hover { color:#fff; text-decoration:underline; }

.hero-search { max-width:780px; width:100%; margin:0 auto; position:relative; }
.hero-tabs {
  display:flex; gap:6px; justify-content:center; flex-wrap:wrap;
  margin-bottom:14px;
}
.hero-tab {
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.2);
  color:rgba(255,255,255,.75);
  padding:7px 18px; border-radius:100px;
  font-family:var(--font-body);
  font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  cursor:pointer; transition:all .18s;
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.hero-tab:hover { background:rgba(255,255,255,.16); color:#fff; }
.hero-tab.on { background:#fff; color:var(--fg); border-color:#fff; }
.hsf-field {
	background: #fff;
}
.hero-search-form {
  display:flex; align-items:stretch;
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border-radius:100px; overflow:hidden;
  box-shadow:0 14px 50px rgba(0,0,0,.28);
}
.hsf-field {
  display:flex; flex-direction:column; justify-content:center;
  padding:10px 24px; flex:1; min-width:0; cursor:text;
  text-align:left;
}
.hsf-field:hover { background:#f6f6f6; }
.hsf-lbl {
  font-size:10px; font-weight:700; color:var(--fg);
  letter-spacing:.16em; text-transform:uppercase; margin-bottom:2px;
}
.hsf-field input {
  border:none; outline:none; background:transparent;
  font-size:14px; color:var(--fg);
  font-family:var(--font-body); width:100%;
}
.hsf-field input::placeholder { color:var(--muted); }
.hsf-div { width:1px; background:rgba(0,0,0,.08); align-self:center; height:36px; }
.hsf-btn {
  background:var(--accent); color:#fff;
  border:none; cursor:pointer;
  padding:0 28px;
  display:flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--font-body); font-size:12px;
  font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  transition:background .18s;
}
.hsf-btn:hover { background:var(--fg); }
.hsf-btn svg { width:16px; height:16px; }

.hsf-cities {
  position:absolute; top:calc(100% + 10px);
  background:var(--card-bg); border-radius:var(--card-radius);
  box-shadow:var(--card-shadow);
  border:0;
  max-height:320px; overflow-y:auto;
  padding:8px; z-index:200;
  text-align:left; min-width:280px;
  opacity:0; transform:translateY(-6px); pointer-events:none;
  transition:opacity .15s ease, transform .15s ease;
}
.hsf-cities.open { opacity:1; transform:none; pointer-events:auto; }
.hsf-city-opt {
  display:flex; align-items:center; gap:10px;
  width:100%; text-align:left;
  padding:9px 12px; border:none; background:transparent;
  font-size:13.5px; color:var(--fg);
  font-family:var(--font-body);
  cursor:pointer; border-radius:var(--card-radius);
  transition:background .12s, color .12s;
}
.hsf-city-opt svg { width:15px; height:15px; color:var(--muted); flex-shrink:0; transition:color .12s; }
.hsf-city-opt:hover, .hsf-city-opt.focus {
  background:var(--bg); color:var(--accent);
}
.hsf-city-opt:hover svg, .hsf-city-opt.focus svg { color:var(--accent); }
.hsf-city-opt.hidden { display:none; }
.hsf-city-empty {
  padding:14px 12px; font-size:12.5px; color:var(--muted);
  text-align:center; font-family:var(--font-body);
}

.h-stats { display:flex; justify-content:center; gap:64px; padding-top:36px; }
.hst-n { font-family:var(--font-display); font-size:44px; font-weight:var(--font-display-weight); color:#fff; line-height:1; margin-bottom:7px; }
.hst-l { font-size:9.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.38); font-family:var(--font-body); }

.cats {
  padding:24px 60px; border-bottom:1px solid var(--border);
  background:var(--w); position:sticky; top:68px; z-index:100;
}
.cats-row { display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; }
.cats-row::-webkit-scrollbar { display:none; }
.chip {
	flex-shrink: 0;
	padding: 7px 18px;
	border-radius: 100px;
	border: 1px solid var(--border);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--muted);
	cursor: pointer;
	transition: all .18s;
	background: transparent;
	font-family: var(--font-body);
	white-space: nowrap;
	text-decoration: none;
}
.chip:hover { border-color:var(--fg); color:var(--fg); }
.chip.on { background:var(--fg); color:#fff; border-color:var(--fg); }

.sec-alt { background:var(--bg); }
.eyebrow {
  display:inline-flex; align-items:center; gap:14px;
  font-size:9.5px; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  color:var(--accent); margin-bottom:16px; font-family:var(--font-body);
}
.eyebrow::before { content:''; display:block; width:10px; height:1px; background:var(--accent); opacity:.8; }
.sec-h {
  font-family:var(--font-display);
  font-size:clamp(20px,3.4vw,40px); font-weight:var(--font-display-weight);
  line-height:1.05; letter-spacing:-.02em; color:var(--fg);
  text-transform: capitalize;
}
.sec-row { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:36px; gap:20px; flex-wrap:wrap; }
.v-all { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .18s; margin-bottom:3px; font-family:var(--font-body); }
.v-all:hover { color:var(--accent); }
.sec-arrows { display:flex; gap:8px; margin-bottom:3px; }
.sec-arr {
  width:42px; height:42px; border-radius:50%;
  border:1px solid var(--border); background:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:20px; line-height:1; color:var(--fg); cursor:pointer;
  transition:all .18s; font-family:inherit;
}
.sec-arr:hover { border-color:var(--fg); background:var(--fg); color:#fff; }
.sec-arr:disabled { opacity:.35; cursor:not-allowed; }

.ev-grid {
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:340px 240px;
  gap:10px;
}
.ev-grid .g1 { grid-column:1/6; grid-row:1/3; }
.ev-grid .g2 { grid-column:6/9; grid-row:1; }
.ev-grid .g3 { grid-column:9/13; grid-row:1; }
.ev-grid .g4 { grid-column:6/9; grid-row:2; }
.ev-grid .g5 { grid-column:9/13; grid-row:2; }

.ev-card {
  position:relative; overflow:hidden; border-radius:var(--card-radius);
  cursor:pointer; height:100%; display:block;
  box-shadow:var(--card-shadow);
}
.ev-img {
  width:100%; height:100%;
  background-size:cover; background-position:center;
  transition:transform .6s ease;
}
.ev-card:hover .ev-img { transform:scale(1.05); }
.ev-ov {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.76) 0%,rgba(0,0,0,.12) 50%,transparent 70%);
  display:flex; flex-direction:column; justify-content:flex-end; padding:20px;
}
.ev-type { font-size:9.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.55); margin-bottom:7px; font-family:var(--font-body); }
.ev-name { font-family:var(--font-display); font-size:22px; font-weight:var(--font-display-weight); color:#fff; line-height:1.18; margin-bottom:5px; }
.ev-loc { font-size:11px; color:rgba(255,255,255,.46); letter-spacing:.04em; font-family:var(--font-body); }
.ev-pill { position:absolute; top:14px; left:14px; background:rgba(255,255,255,.15); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.22); border-radius:100px; padding:4px 12px; font-size:10.5px; color:rgba(255,255,255,.85); }

.ev-bg-1{background-color:#3C0A16;}
.ev-bg-2{background-color:#0A1A30;}
.ev-bg-3{background-color:#221040;}
.ev-bg-4{background-color:#142210;}
.ev-bg-5{background-color:#2C1008;}

.vcat-swiper { margin-top:10px; padding:5px 0; }
.vcat-swiper .swiper-slide { height:auto; }
.ven-swiper, .fv-swiper { padding:5px 0; overflow:hidden; max-width:100%; }
.ven-swiper .swiper-slide,
.fv-swiper .swiper-slide { height:auto; }
.vcat-card { width:100%; height:280px; position:relative; overflow:hidden; border-radius:var(--card-radius-sm); cursor:pointer; transition:box-shadow .25s, transform .25s; display:block; text-decoration:none; }
.vcat-card:hover { box-shadow:var(--card-shadow-hover); }
.vcat-card.active { box-shadow:0 0 0 2.5px var(--fg); }
.vcat-card:hover .vcat-bg { transform:scale(1.07); }
.vcat-bg { width:100%; height:100%; background-size:cover; background-position:center; transition:transform .55s ease; }
.vcat-ov { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.1) 60%,transparent 80%); display:flex; flex-direction:column; justify-content:flex-end; padding:18px 16px; }
.vcat-name { font-family:var(--font-display); font-size:21px; font-weight:var(--font-display-weight); color:#fff; margin-bottom:4px; line-height:1.2; }
.vcat-count { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.5); font-family:var(--font-body); }

.fv-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.fv-card { border:0; border-radius:var(--card-radius); overflow:hidden; cursor:pointer; transition:transform .25s, box-shadow .25s; background:var(--card-bg); box-shadow:var(--card-shadow); }
.fv-card:hover { transform:translateY(-4px); box-shadow:var(--card-shadow-hover); }
.fv-photo-wrap { overflow:hidden; }
.fv-photo { aspect-ratio:4/3; background-size:cover; background-position:center; background-color:var(--light); transition:transform .55s ease; }
.fv-card:hover .fv-photo { transform:scale(1.05); }
.fv-body { padding:18px 16px 20px; }
.fv-cat { font-size:9.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:7px; font-family:var(--font-body); }
.fv-name { font-family:var(--font-display); font-size:20px; font-weight:var(--font-display-weight); color:var(--fg); margin-bottom:10px; letter-spacing:-.01em; line-height:1.18; }
.fv-stars { display:flex; align-items:center; gap:5px; margin-bottom:8px; }
.fv-star-ico { display:flex; gap:2px; }
.fv-star { width:10px; height:10px; background:var(--accent); clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%); flex-shrink:0; }
.fv-rating { font-size:12.5px; font-weight:700; color:var(--fg); }
.fv-reviews { font-size:11px; color:var(--muted); }
.fv-loc { font-size:12px; color:var(--muted); margin-bottom:14px; display:flex; align-items:center; gap:5px; }
.fv-footer { display:flex; align-items:center; justify-content:space-between; padding-top:14px; border-top:1px solid var(--border); }
.fv-price { font-size:13px; font-weight:600; color:var(--fg); font-family:var(--font-body); }
.fv-link { font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); text-decoration:none; font-family:var(--font-body); transition:color .18s; }
.fv-link:hover { color:var(--fg); }
.fv-cat-row { display:flex; gap:8px; margin-bottom:40px; flex-wrap:wrap; }
.fv-cat-btn { padding:6px 16px; border-radius:100px; border:1px solid var(--border); font-size:10.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); cursor:pointer; transition:all .18s; background:transparent; font-family:var(--font-body); }
.fv-cat-btn.on { background:var(--fg); color:#fff; border-color:var(--fg); }
.fv-cat-btn:hover:not(.on) { border-color:var(--fg); color:var(--fg); }

.how-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:52px; }
.how-step {
  position:relative; padding:40px 32px 36px;
  border:0; border-radius:var(--card-radius);
  background:var(--card-bg); box-shadow:var(--card-shadow);
  transition:transform .3s ease, box-shadow .3s ease; overflow:hidden;
}
.how-step::before {
  content:attr(data-step); position:absolute; top:14px; right:22px;
  font-family:var(--font-display); font-size:100px; font-weight:var(--font-display-weight);
  color:var(--accent); opacity:.08; line-height:1; letter-spacing:-.03em;
  transition:opacity .3s; pointer-events:none;
}
.how-step:hover { transform:translateY(-4px); box-shadow:var(--card-shadow-hover); }
.how-step:hover::before { opacity:.16; }
.how-ico {
  width:48px; height:48px; display:flex; align-items:center; justify-content:center;
  color:var(--accent); margin-bottom:22px;
  background:rgba(82,3,80,.07); border-radius:100px;
  position:relative; z-index:1;
}
.how-ico svg { width:22px; height:22px; }
.how-t { font-family:var(--font-display); font-size:26px; font-weight:var(--font-display-weight); color:var(--fg); margin-bottom:12px; letter-spacing:-.01em; line-height:1.1; position:relative; z-index:1; }
.how-b { font-size:13.5px; color:var(--muted); line-height:1.8; font-weight:400; position:relative; z-index:1; }


.inspiration { background:var(--fg); padding:64px 52px; display:flex; align-items:center; gap:80px; }
.insp-text { flex:1; }
.insp-text .eyebrow { color:rgba(255,255,255,.35); }
.insp-h { font-family:var(--font-display); font-size:clamp(32px,3.5vw,56px); font-weight:var(--font-display-weight); color:#fff; line-height:1.05; margin-bottom:18px; letter-spacing:-.02em; }
.insp-sub { font-size:13.5px; color:rgba(255,255,255,.42); line-height:1.78; max-width:360px; font-weight:400; }
.insp-photos { flex:1; display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:140px 140px; gap:6px; }
.insp-photo { border-radius:var(--card-radius-sm); overflow:hidden; }
.insp-photo:first-child { grid-row:1/3; }
.ip-bg { width:100%; height:100%; background-size:cover; background-position:center; }
.swiper{
	padding-bottom: 20px !important;
}
.test-swiper .swiper-slide { height:auto; }
.t-card {
  height:100%;
  padding:26px 22px 22px;
  border:0; border-radius:var(--card-radius);
  background:var(--card-bg);
  box-shadow:var(--card-shadow);
  display:flex; flex-direction:column;
  transition:box-shadow .25s, transform .25s;
}
.t-card:hover { box-shadow:var(--card-shadow-hover); transform:translateY(-2px); }
.t-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.t-stars { display:flex; gap:3px; }
.star { width:11px; height:11px; background:var(--accent); clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%); }
.t-badge { font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); border:1px solid var(--border); padding:4px 8px 3px; font-weight:600; }
.t-openq { font-family:var(--font-display); font-size:64px; font-weight:var(--font-display-weight); color:var(--accent); line-height:.55; margin-bottom:6px; opacity:.22; }
.t-q { font-family:var(--font-display); font-size:16px; font-weight:var(--font-display-weight); font-style:italic; line-height:1.65; color:var(--fg); margin-bottom:22px; flex:1; }
.t-auth { display:flex; align-items:flex-start; gap:12px; padding-top:16px; border-top:1px solid var(--border); }
.t-auth-meta { min-width:0; flex:1; }
.t-av { width:38px; height:38px; border-radius:50%; flex-shrink:0; background-size:cover; background-position:center; }
.t-av-init { display:flex; align-items:center; justify-content:center; background:var(--accent); color:#fff; font-family:var(--font-display); font-size:14px; letter-spacing:.04em; }
.t-name { font-size:13px; font-weight:600; color:var(--fg); letter-spacing:.01em; line-height:1.2; }
.t-sub { display:flex; flex-wrap:wrap; align-items:center; gap:5px; font-size:10.5px; color:var(--muted); margin-top:5px; letter-spacing:.04em; text-transform:uppercase; }
.t-dot { opacity:.5; }

.cta-sec { padding:104px 52px; background:var(--fg); text-align:center; position:relative; overflow:hidden; isolation:isolate; }
.cta-sec::before { content:''; position:absolute; inset:0; background-image:var(--cta-bg); background-size:cover; background-position:center; z-index:-2; }
.cta-sec::after { content:''; position:absolute; inset:0; background:linear-gradient(to bottom,rgba(0,0,0,.45),rgba(0,0,0,.6)); z-index:-1; }
.cta-sec .eyebrow { color:rgba(255,255,255,.55); justify-content:center; }
.cta-sec .eyebrow::before { background:rgba(255,255,255,.45); }
.cta-sec .sec-h { color:#fff; margin:0 auto 14px; }
.cta-sec p { font-size:15px; color:rgba(255,255,255,.78); line-height:1.7; max-width:600px; margin:0 auto 36px; }
.cta-btns { display:flex; gap:12px; justify-content:center; }
.btn-cta-w { background:#fff; color:var(--fg); border:1px solid transparent; padding:13px 32px; font-size:14px; }
.btn-cta-w:hover { background:#eee; }
.btn-cta-o { border:1px solid rgba(255,255,255,.2); color:rgba(255,255,255,.65); padding:13px 32px; font-size:14px; background:transparent; }
.btn-cta-o:hover { border-color:rgba(255,255,255,.5); color:#fff; }

footer { background:#0D0B09; padding:64px 52px 36px; }
.foot-top { display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr 1fr; gap:44px; margin-bottom:56px; }
.f-logo { display:inline-block; margin-bottom:14px; }
.f-logo img { height:32px; width:auto; display:block; filter:brightness(0) invert(1); }
.f-desc { font-size:13px; line-height:1.72; color:rgba(255,255,255,.32); margin-bottom:24px; }
.f-social { display:flex; gap:8px; }
.f-sb { width:30px; height:30px; border:1px solid rgba(255,255,255,.1); border-radius:var(--card-radius-sm); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .18s; color:rgba(255,255,255,.36); }
.f-sb:hover { border-color:var(--accent); color:var(--accent); }
.f-col-t { font-size:9.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.22); margin-bottom:18px; font-family:var(--font-body); }
.f-links { list-style:none; display:flex; flex-direction:column; gap:10px; }
.f-links a { text-decoration:none; font-size:13px; color:rgba(255,255,255,.4); transition:color .18s; }
.f-links a:hover { color:var(--accent); }
.foot-bot { border-top:1px solid rgba(255,255,255,.07); padding-top:24px; display:flex; justify-content:space-between; font-size:12px; color:rgba(255,255,255,.24); }
.foot-bot a { color:inherit; text-decoration:none; }
.foot-bot a:hover { color:var(--accent); }

#megaBackdrop {
  position:fixed; inset:0; top:68px; z-index:248;
  background:rgba(0,0,0,.22); opacity:0; pointer-events:none;
  transition:opacity .22s ease;
}
#megaBackdrop.open { opacity:1; pointer-events:auto; }
.mega-menu {
  position:fixed; top:68px; left:0; right:0; z-index:249;
  background:#fff; border-top:1px solid var(--border);
  box-shadow:0 24px 64px rgba(0,0,0,.13);
  padding:36px 60px 40px;
  display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:36px;
  opacity:0; pointer-events:none;
  transform:translateY(-12px);
  transition:opacity .22s ease, transform .22s ease;
}
.mega-menu.open { opacity:1; pointer-events:auto; transform:none; }
.mega-col { min-width:0; }
.mega-col-hd {
  font-size:10.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--muted); font-family:var(--font-body);
  margin-bottom:18px;
}
.mega-item {
  display:flex; gap:14px; align-items:flex-start; padding:9px 0;
  text-decoration:none; color:inherit;
}
.mega-item:hover .mega-item-title { color:var(--accent); }
.mega-ico {
  width:38px; height:38px; flex-shrink:0;
  background:var(--bg);
  display:flex; align-items:center; justify-content:center;
  border-radius:var(--card-radius-sm); color:var(--accent);
  transition:background .18s, color .18s;
}
.mega-item:hover .mega-ico { background:var(--accent); color:#fff; }
.mega-ico svg { width:18px; height:18px; }
.mega-item-body { flex:1; min-width:0; padding-top:1px; }
.mega-item-title {
  font-size:14px; font-weight:600; color:var(--fg);
  line-height:1.25; margin-bottom:3px;
  transition:color .15s;
}
.mega-item-sub {
  font-size:12.5px; color:var(--muted); font-weight:400;
  line-height:1.45;
}
.mega-cta-box {
  background:var(--bg); padding:22px;
  border-radius:var(--card-radius-sm); margin-top:14px;
}
.mega-cta-title {
  font-family:var(--font-display); font-size:22px; font-weight:var(--font-display-weight);
  color:var(--fg); margin-bottom:8px; letter-spacing:.01em; line-height:1.1;
}
.mega-cta-desc {
  font-size:12.5px; color:var(--muted); line-height:1.6;
  margin-bottom:18px; margin-top:0;
}
.mega-cta-btn {
  display:block; text-align:center;
  background:var(--fg); color:#fff;
  padding:11px 16px; border-radius:var(--card-radius-sm);
  font-size:13px; font-weight:600; letter-spacing:.01em;
  text-decoration:none; transition:background .18s;
}
.mega-cta-btn:hover { background:var(--accent); }
.nav-arr { font-size:9px; margin-left:4px; display:inline-block; transition:transform .2s; vertical-align:middle; }
.mega-trigger-active .nav-arr { transform:rotate(180deg); }

.city-modal-bd {
  position:fixed; inset:0; z-index:600;
  background:rgba(15,12,8,.55);
  display:none; align-items:flex-start; justify-content:center;
  padding:48px 24px; overflow-y:auto;
}
.city-modal-bd.open { display:flex; }
.city-modal {
  background:#fff; border-radius:var(--card-radius); width:100%; max-width:1080px;
  position:relative; box-shadow:0 24px 64px rgba(0,0,0,.25);
  padding:32px 36px 0;
  font-family:var(--font-body);
}
.city-modal-x {
  position:absolute; top:18px; right:20px; width:34px; height:34px;
  border-radius:50%; background:#f4f1eb; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  color:var(--fg); font-size:16px; line-height:1;
}
.city-modal-x:hover { background:#e9e4d8; }
.city-modal-search {
  display:flex; align-items:center; gap:12px;
  border:1px solid var(--border); border-radius:var(--card-radius-sm);
  padding:14px 18px; margin:8px 0 18px;
}
.city-modal-search svg { color:var(--muted); width:18px; height:18px; flex-shrink:0; }
.city-modal-search input {
  flex:1; border:none; outline:none; background:transparent;
  font-size:15px; color:var(--fg); font-family:var(--font-body);
}
.city-detect {
  display:inline-flex; align-items:center; gap:8px;
  color:var(--accent); font-size:14px; font-weight:600;
  background:none; border:none; cursor:pointer;
  padding:6px 0 26px;
  font-family:var(--font-body);
}
.city-detect svg { width:16px; height:16px; }
.city-section-h {
  text-align:center; font-family:var(--font-body);
  font-size:18px; font-weight:700; color:var(--fg);
  margin:8px 0 28px;
}
.city-grid {
  display:grid; grid-template-columns:repeat(8,1fr); gap:14px; margin-bottom:18px;
}
.city-pick {
  display:flex; flex-direction:column; align-items:center; gap:10px;
  padding:14px 6px; border-radius:var(--card-radius-sm); cursor:pointer;
  background:none; border:none;
  font-family:var(--font-body);
  transition:background .15s;
}
.city-pick:hover { background:var(--bg); }
.city-pick svg { width:50px; height:50px; color:var(--fg); }
.city-pick-name { font-size:14px; color:var(--fg); font-weight:500; }
.city-other-empty {
  text-align:center; color:var(--muted); padding:28px 0 20px; font-size:14px;
}
.city-modal-foot {
  border-top:1px solid var(--border);
  padding:18px 0; margin:0 -36px; text-align:center;
  position:sticky; bottom:0; background:#fff;
}
.city-toggle-all {
  background:none; border:none; cursor:pointer;
  color:var(--accent); font-weight:600; font-size:15px;
  font-family:var(--font-body);
}
.city-toggle-all:hover { text-decoration:underline; }
@media (max-width:880px) { 
  .hero {height: auto;}.city-grid { grid-template-columns:repeat(4,1fr); } }
@media (max-width:520px) { .city-grid { grid-template-columns:repeat(3,1fr); } }

.rev { opacity:0; transform:translateY(20px); transition:opacity .65s ease,transform .65s ease; }
.rev.in { opacity:1; transform:none; }

/* ── Blog slider (home) ────────────────────────────────────────────────── */
.blg-swiper { padding:5px 0; overflow:hidden; max-width:100%; }
.blg-swiper .swiper-slide { height:auto; }
.blg-card {
  display:flex; flex-direction:column; height:100%;
  background:var(--card-bg); border:0; border-radius:var(--card-radius);
  box-shadow:var(--card-shadow);
  overflow:hidden; text-decoration:none; color:inherit;
  transition:transform .25s, box-shadow .25s;
  position:relative;
}
.blg-card:hover {
  transform:translateY(-3px);
  box-shadow:var(--card-shadow-hover);
}
.blg-card-img {
  aspect-ratio:16/10;
  background:var(--light) center/cover no-repeat;
  transition:transform .55s ease;
}
.blg-card:hover .blg-card-img { transform:scale(1.04); }
.blg-card-tag {
  position:absolute; top:14px; left:14px;
  padding:5px 12px; background:rgba(255,255,255,.95); backdrop-filter:blur(6px);
  border-radius:100px;
  font-family:var(--font-body); font-size:10px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--accent);
}
.blg-card-h {
  font-family:var(--font-display); font-size:22px;
  font-weight:var(--font-display-weight);
  letter-spacing:.01em; line-height:1.12;
  color:var(--fg); margin:18px 20px 8px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}
.blg-card:hover .blg-card-h { color:var(--accent); }
.blg-card-excerpt {
  font-size:13.5px; color:var(--muted); line-height:1.6;
  margin:0 20px 14px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}
.blg-card-meta {
  margin:auto 20px 18px;
  font-size:11.5px; color:var(--muted);
  display:flex; gap:7px; align-items:center;
}

.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}
.d4{transition-delay:.32s}.d5{transition-delay:.4s}.d6{transition-delay:.48s}
.d7{transition-delay:.56s}.d8{transition-delay:.64s}.d9{transition-delay:.72s}

.ev-img, .ip-bg, .hm {
  background-color:#e8e0ea;
}
.t-av {
  background-color:#430051;
}
@media (min-width:767px) and (max-width:1200px) {
.hero {
  position:relative; height:50vh; min-height:400px;
  display:flex; align-items:center; justify-content:center;
}
}
@media (max-width:1100px) {
  .cat-strip , .sec { padding:40px 42px; }
  .cats { padding:20px 32px; }
  .ev-grid { grid-template-rows:280px 200px; }
  .fv-grid { grid-template-columns:repeat(2,1fr); }
  .vend-grid { grid-template-columns:repeat(3,1fr); }
  .mega-menu { padding:36px 32px 44px; grid-template-columns:1fr 1fr; gap:36px; }
  .foot-top { grid-template-columns:1.5fr 1fr 1fr 1fr; gap:32px; }
  .inspiration { padding:48px 32px; gap:48px; }
}
@media (max-width:880px) {
  .hero-search-form {
    background: #fff;
  }
  .sec-row {
    margin-bottom: 15px;
  } 
  .sec-row { flex-direction:row; align-items:flex-end; }
  .sec-h { font-size:clamp(28px,7vw,48px); }
  .cats { padding:16px 20px; top:64px; }
  .cats-row { gap:6px; }
  .chip { padding:6px 14px; font-size:10px; }
  .hero { min-height:400px; }
  .hero-content { padding:0 20px; }
  .hero-search { max-width:560px; }
  .hero-search-form { flex-direction:row; align-items:center; padding:5px; }
  .hsf-field { padding:6px 16px; }
  .hsf-lbl { display:none; }
  .hsf-field input { font-size:14px; }
  .hsf-div, .hsf-field-city { display:none; }
  .hsf-btn { width:44px; height:44px; padding:0; border-radius:50%; flex:0 0 auto; }
  .hsf-btn-lbl { display:none; }
  .hsf-btn svg { width:18px; height:18px; }
  .hero-tabs { gap:4px; }
  .hero-tab { padding:6px 14px; font-size:10px; }
  .ev-grid { grid-template-columns:1fr; grid-template-rows:auto; gap:8px; }
  .ev-grid .g1, .ev-grid .g2, .ev-grid .g3, .ev-grid .g4, .ev-grid .g5 { grid-column:auto; grid-row:auto; height:240px; }
  .vcat-card { height:235px; }
  .fv-grid { grid-template-columns:1fr; }
  .fv-cat-row { gap:6px; }
  .vend-grid { grid-template-columns:repeat(2,1fr); gap:10px; }
  .cat-tile { padding:10px; gap:12px; }
  .cat-tile-thumb { width:60px; height:60px; }
  .cat-tile-name { font-size:18px; }
  .how-grid { grid-template-columns:1fr; gap:18px; margin-top:36px; }
  .how-step { padding:30px 24px; }
  .inspiration { flex-direction:column; padding:40px 24px; gap:32px; }
  .insp-photos { width:100%; }
  .test-grid { gap:14px; }
  .t-card { padding:24px 22px; }
  .cta-sec { padding:64px 24px; }
  .cta-btns { flex-direction:column; gap:10px; }
  .cta-btns .btn { width:100%; justify-content:center; }
  footer { padding:48px 24px 28px; }
  .foot-top { grid-template-columns:1fr 1fr; gap:32px; margin-bottom:36px; }
  .foot-top > div:first-child { grid-column:1 / -1; }
  .foot-bot { flex-direction:column; gap:8px; text-align:center; }
  .mega-menu { display:none !important; }
  .sec-arr { width:36px; height:36px; font-size:18px; }
  #megaBackdrop { display:none; }
}
@media (max-width:560px) {
  .h-tag span {
    width: 12px;
  }
  .cat-strip, .sec { padding:28px 16px; }
  .cats { padding:14px 16px; }
  .hero-h1 { font-size:clamp(40px,11vw,64px); }
  .h-stats { gap:36px; padding-top:28px; }
  .hst-n { font-size:34px; }
  .vcat-card { height:220px; }
  .vend-grid { grid-template-columns:1fr; }
  .foot-top { grid-template-columns:1fr; gap:24px; }
  .sec-arrows { display:none; }
  .fv-cat-row { display:none; }
}

.exp-card { transition:transform .25s ease; }
.exp-card:hover { transform:translateY(-3px); }
.exp-card .ratio {
  border-radius:var(--card-radius);
  box-shadow:var(--card-shadow);
  overflow:hidden;
  transition:box-shadow .25s ease;
}
.exp-card:hover .ratio { box-shadow:var(--card-shadow-hover); }
.exp-card:hover .exp-img-zoom { transform:scale(1.05); }
.exp-img-zoom { transition:transform .55s ease; }
.exp-name { font-family:var(--font-display); font-size:22px; font-weight:var(--font-display-weight); color:var(--fg); letter-spacing:.02em; line-height:1.2; margin-top:14px; }
.exp-card:hover .exp-name { color:var(--accent); }
.exp-tag { font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-top:4px; }
.sec-sub { font-size:14.5px; line-height:1.7; color:var(--muted); max-width:520px; margin-top:14px; }
  .ck-banner { position:fixed; left:16px; right:16px; bottom:16px; z-index:500; max-width:780px; margin:0 auto; padding:18px 22px; background:#18140f; color:#fff; border:1px solid rgba(255,255,255,.12); box-shadow:0 12px 40px rgba(0,0,0,.35); display:none; align-items:center; gap:18px; flex-wrap:wrap; font-family:var(--font-body); }
  .ck-banner.is-visible { display:flex; }
  .ck-banner-text { flex:1; min-width:240px; font-size:13.5px; line-height:1.55; color:rgba(255,255,255,.85); }
  .ck-banner-text a { color:#fff; text-decoration:underline; text-underline-offset:2px; }
  .ck-banner-actions { display:flex; gap:8px; flex-shrink:0; }
  .ck-banner-btn { padding:10px 18px; font-size:11.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; border:1px solid rgba(255,255,255,.3); background:transparent; color:#fff; transition:background .15s, border-color .15s; }
  .ck-banner-btn:hover { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.6); }
  .ck-banner-btn--primary { background:#fff; color:#18140f; border-color:#fff; }
  .ck-banner-btn--primary:hover { background:#e8e3d8; color:#18140f; }
  @media (max-width:520px) { .ck-banner-actions { width:100%; } .ck-banner-btn { flex:1; padding:11px 14px; } }
