:root {
  --bg: #f2ece6;
  --surface: #fcf8f2;
  --surface-soft: #eee3d7;
  --ink: #2a2320;
  --muted: #6f5f57;
  --border: #dbc9bd;
  --primary: #ac1318;
  --primary-dark: #680b0e;
  --secondary: #3a2c29;
  --secondary-soft: #efe2dc;
  --accent: #d6cab8;
  --radius-lg: 24px;
  --radius-md: 16px;
  --shadow: 0 20px 42px rgba(48, 32, 28, 0.14);
  --container: 1280px;
  --container-wide: 1720px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { width: 100%; overflow-x: clip; }
body {
  font-family: 'Bai Jamjuree', sans-serif;
  color: var(--ink);
  background:
    radial-gradient(circle at 12% -20%, rgba(172, 19, 24, 0.18), transparent 46%),
    radial-gradient(circle at 96% 4%, rgba(219, 201, 189, 0.32), transparent 38%),
    var(--bg);
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.container { width: min(var(--container), calc(100% - 32px)); margin: 0 auto; }

.announcement-bar {
  background: linear-gradient(90deg, #870f13, #ac1318 45%, #5f090c);
  color: #f5eee4;
  font-size: 13px;
}
.announcement-inner {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.announcement-inner span i { color: #efe3d1; margin-right: 6px; }
.announcement-inner a {
  color: #fff4e5;
  border-bottom: 1px solid rgba(255, 244, 229, .45);
  font-weight: 600;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(246, 238, 229, .9);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid transparent;
  transition: .2s ease;
}
.site-header.scrolled {
  border-bottom-color: var(--border);
  box-shadow: 0 10px 28px rgba(63, 41, 37, 0.12);
}
.header-inner {
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 220px;
}
.brand.has-image {
  min-width: auto;
  gap: 0;
}
.brand-mark {
  width: 42px;
  height: 42px;
  clip-path: polygon(21% 0, 79% 0, 100% 22%, 100% 78%, 79% 100%, 21% 100%, 0 78%, 0 22%);
  display: grid;
  place-items: center;
  background: var(--primary);
  border: 2px solid #ded5c5;
  color: #f5ecdc;
  font-weight: 800;
  font-size: 18px;
}
.brand-logo-img {
  width: auto;
  height: 68px;
  max-width: min(420px, 44vw);
  object-fit: contain;
  display: block;
}
.brand-text strong {
  font-family: 'Bai Jamjuree', sans-serif;
  display: block;
  font-size: 18px;
  line-height: 1.05;
}
.brand-text small {
  display: block;
  color: var(--muted);
  font-size: 11px;
}
.desktop-nav {
  display: flex;
  align-items: center;
  gap: 10px;
}
.nav-item-wrap {
  position: relative;
}
.desktop-nav .nav-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 13px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  color: #3f312c;
}
.desktop-nav .nav-link i {
  font-size: 10px;
}
.desktop-nav .nav-link:hover,
.desktop-nav .nav-link.is-active,
.nav-item-wrap:hover .nav-link {
  background: #eadbcf;
  color: var(--primary-dark);
}
.nav-submenu {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  min-width: 220px;
  padding: 10px;
  border: 1px solid rgba(16, 63, 55, .12);
  border-radius: 8px;
  background: rgba(255, 252, 248, .98);
  box-shadow: 0 18px 48px rgba(58, 37, 27, .14);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 8px);
  transition: .18s ease;
  z-index: 80;
}
.nav-submenu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -14px;
  height: 14px;
}
.nav-item-wrap:hover .nav-submenu,
.nav-item-wrap:focus-within .nav-submenu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
.nav-submenu a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 11px;
  border-radius: 6px;
  color: #332722;
  font-size: 14px;
  font-weight: 650;
  white-space: nowrap;
}
.nav-submenu a:hover {
  background: #f2e5da;
  color: var(--primary-dark);
}
.nav-submenu a.is-featured::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--primary);
  flex: 0 0 auto;
}
.header-right {
  display: flex;
  align-items: center;
  gap: 10px;
}
.lang-select {
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 999px;
  padding: 9px 30px 9px 12px;
  font-size: 12px;
  color: var(--ink);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  padding: 10px 16px;
  border: none;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: .2s ease;
}
.btn-primary {
  background: linear-gradient(120deg, var(--primary), var(--primary-dark));
  color: #f7efe2;
}
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 10px 20px rgba(16, 63, 55, .3); }
.btn-soft {
  background: var(--surface);
  border: 1px solid var(--border);
  color: #403732;
}
.btn-soft:hover { border-color: #c0a99a; background: #f1e6dc; }
.btn-search {
  gap: 7px;
  min-width: 82px;
}
.btn-outline {
  background: transparent;
  border: 1px solid rgba(251, 240, 225, .6);
  color: #fff4e5;
}
.btn-outline:hover { background: rgba(253, 241, 225, .17); }

.mobile-toggle {
  width: 40px;
  height: 40px;
  border-radius: 11px;
  border: 1px solid var(--border);
  background: #fff;
  display: none;
  align-items: center;
  justify-content: center;
}
.mobile-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  opacity: 0;
  visibility: hidden;
  transition: .2s ease;
  z-index: 45;
}
.mobile-panel {
  position: fixed;
  top: 0;
  right: -320px;
  width: min(86vw, 320px);
  height: 100vh;
  background: #f7efe7;
  z-index: 46;
  transition: .25s ease;
  padding: 18px;
  overflow-y: auto;
  box-shadow: -18px 0 32px rgba(0, 0, 0, .2);
}
.mobile-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.mobile-panel-head button {
  border: 1px solid var(--border);
  background: var(--surface-soft);
  width: 34px;
  height: 34px;
  border-radius: 10px;
}
.mobile-nav { display: grid; gap: 8px; }
.mobile-nav a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 11px 10px;
  border-radius: 10px;
  font-weight: 600;
  background: #f3e7dc;
}
.mobile-nav a.is-active { background: #ead9cc; color: var(--primary-dark); }
.mobile-nav a.mobile-sub-link {
  min-height: 36px;
  margin-left: 14px;
  padding: 8px 10px;
  background: transparent;
  color: #594842;
  font-size: 14px;
  font-weight: 650;
}
.mobile-nav a.mobile-sub-link.is-featured {
  color: var(--primary-dark);
}
.mobile-nav a.mobile-sub-link::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 8px;
  border-radius: 999px;
  background: #d8c3b4;
  flex: 0 0 auto;
}
.mobile-nav a.mobile-sub-link.is-featured::before {
  background: var(--primary);
}
body.menu-open { overflow: hidden; }
body.menu-open .mobile-overlay { opacity: 1; visibility: visible; }
body.menu-open .mobile-panel { right: 0; }

main { padding-bottom: 70px; }
.section {
  padding: 68px 0;
}
.section-head {
  margin-bottom: 22px;
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  letter-spacing: .8px;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--primary-dark);
  background: var(--secondary-soft);
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid #dcc6bb;
}
.section h2,
.title {
  margin-top: 10px;
  font-size: clamp(28px, 3.8vw, 44px);
  line-height: 1.15;
}
.section h2 {
  font-family: 'Bai Jamjuree', sans-serif;
  font-weight: 700;
  letter-spacing: .2px;
}
.title {
  font-family: 'Bai Jamjuree', sans-serif;
  font-weight: 700;
}
.section p.lead {
  margin-top: 8px;
  max-width: 760px;
  color: var(--muted);
  font-size: 17px;
}

.hero {
  padding: 0 0 30px;
}
.hero .container {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.hero-wrap {
  position: relative;
  border-radius: 0;
  overflow: hidden;
  width: 100vw;
  min-height: 700px;
  background: #2f2320;
  box-shadow: none;
  border: 1px solid rgba(236, 222, 201, .26);
  border-left: 0;
  border-right: 0;
}
.hero-slider {
  isolation: isolate;
}
.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .65s ease;
  z-index: 1;
}
.hero-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 2;
}
.hero-media {
  position: absolute;
  inset: 0;
  background: var(--hero-image, url('/images/luamia/hero.jpg')) center/cover no-repeat;
  transform: scale(1.05);
}
.hero-slide.is-active .hero-media {
  animation: heroSlideMotion 5.2s ease both;
}
.hero-grid {
  position: relative;
  z-index: 2;
  min-height: 700px;
  width: min(var(--container-wide), calc(100% - 80px));
  margin: 0 auto;
  padding: 72px 0 64px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: end;
}
.hero-slide .hero-grid {
  opacity: 0;
  transform: translateY(22px);
  transition: transform .7s ease, opacity .7s ease;
}
.hero-slide.is-active .hero-grid {
  opacity: 1;
  transform: translateY(0);
}
.hero-content {
  color: #fff;
  max-width: 760px;
  text-shadow: 0 3px 14px rgba(0, 0, 0, .72), 0 1px 3px rgba(0, 0, 0, .9);
  background: rgba(0, 0, 0, .42);
  border-radius: 14px;
  padding: 22px 24px;
  backdrop-filter: blur(1.5px);
}
.hero-content .eyebrow {
  background: rgba(247, 236, 221, .2);
  color: #f7ebdc;
  border: 1px solid rgba(247, 236, 221, .34);
  text-shadow: none;
}
.hero-content h1 {
  margin-top: 0;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: clamp(34px, 5.2vw, 62px);
  line-height: 1.06;
  text-shadow: 0 4px 18px rgba(0, 0, 0, .82), 0 1px 4px rgba(0, 0, 0, .95);
}
.hero-content p {
  margin-top: 0;
  font-size: 17px;
  color: #fff;
  text-shadow: 0 3px 14px rgba(0, 0, 0, .72), 0 1px 3px rgba(0, 0, 0, .9);
}
.hero-actions {
  display: flex;
  gap: 10px;
  margin-top: 26px;
  flex-wrap: wrap;
}
.hero-metrics {
  margin-top: 16px;
  display: grid;
  gap: 7px;
}
.hero-metrics p {
  margin: 0;
  font-size: 14px;
  color: rgba(249, 239, 227, .92);
}
.hero-metrics strong {
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 24px;
  margin-right: 8px;
  color: #fff;
}
.hero-slider-controls {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
}
.hero-dots {
  position: absolute;
  left: 50%;
  bottom: 26px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 8px;
  pointer-events: auto;
}
.hero-dot {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  border: 1px solid rgba(247, 235, 220, .52);
  background: rgba(247, 235, 220, .2);
  transition: .2s ease;
}
.hero-dot.is-active {
  width: 34px;
  background: #f7ead8;
  border-color: #f7ead8;
}
.hero-nav {
  position: absolute;
  top: 50%;
  width: 66px;
  height: 66px;
  border-radius: 16px;
  border: 1px solid rgba(247, 235, 220, .48);
  background: rgba(90, 52, 48, .34);
  color: #f8ebd8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  pointer-events: auto;
  transform: translateY(-50%);
  transition: .2s ease;
}
.hero-nav-prev {
  left: 24px;
}
.hero-nav-next {
  right: 24px;
}
.hero-nav:hover {
  background: rgba(30, 100, 86, .56);
  border-color: rgba(247, 235, 220, .8);
  transform: translateY(-50%) scale(1.03);
}
@keyframes heroSlideMotion {
  from { transform: scale(1.06); }
  to { transform: scale(1); }
}

.cards-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.world-card {
  position: relative;
  background: linear-gradient(165deg, #fffdfa, #f8edec 72%);
  border: 1px solid rgba(172, 19, 24, .24);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 16px 36px rgba(23, 82, 70, .14);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.world-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid rgba(255, 245, 232, .32);
  pointer-events: none;
  z-index: 3;
}
.world-card:hover {
  transform: translateY(-6px);
  border-color: rgba(172, 19, 24, .46);
  box-shadow: 0 24px 46px rgba(23, 82, 70, .22);
}
.world-thumb {
  position: relative;
  aspect-ratio: 16/10;
  background: #d7c6b8 center/cover no-repeat;
  overflow: hidden;
  transition: transform .35s ease;
}
.world-thumb::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(28, 20, 18, .08) 28%, rgba(78, 45, 40, .55) 100%);
}
.world-card:hover .world-thumb {
  transform: scale(1.02);
}
.world-pill {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(41, 26, 23, .72);
  border: 1px solid rgba(245, 228, 205, .34);
  color: #f7ebdc;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .4px;
  padding: 6px 10px;
  border-radius: 999px;
}
.world-body { padding: 16px; }
.world-body h3 {
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 19px;
  line-height: 1.25;
  margin-bottom: 8px;
  color: #352622;
}
.world-body p {
  color: #705e54;
  font-size: 14px;
  line-height: 1.65;
}
.world-meta {
  margin-top: 12px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 700;
  color: var(--primary);
  background: rgba(172, 19, 24, .12);
  border: 1px solid rgba(172, 19, 24, .28);
  border-radius: 999px;
  padding: 6px 10px;
}

.season-section {
  padding-top: 52px;
}
.season-shell {
  position: relative;
  border-radius: 18px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid rgba(222, 190, 135, .34);
  box-shadow: 0 18px 34px rgba(28, 19, 14, .18);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, 0) 38%),
    linear-gradient(180deg, #2a211d 0%, #3a2923 48%, #1f1916 100%);
}
.season-shell::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(212, 174, 106, .16), transparent 32%, rgba(255, 244, 224, .08));
  pointer-events: none;
}
.season-shell::after {
  content: '';
  position: absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(244, 218, 174, .65), transparent);
  pointer-events: none;
}
.season-shell > * {
  position: relative;
  z-index: 1;
}
.season-shell-head {
  margin-bottom: 12px;
  padding: 2px 2px 10px;
  border-bottom: 1px solid rgba(222, 190, 135, .26);
}
.season-shell-head h2 {
  margin: 0;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: clamp(18px, 2.2vw, 24px);
  letter-spacing: .8px;
  text-transform: uppercase;
  color: #f7e7c8;
}
.season-carousel {
  --season-gap: 14px;
  --season-visible: 4;
  position: relative;
}
.season-viewport {
  overflow: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.season-viewport::-webkit-scrollbar {
  display: none;
}
.season-track {
  display: flex;
  gap: var(--season-gap);
  align-items: stretch;
}
.season-card {
  flex: 0 0 calc((100% - ((var(--season-visible) - 1) * var(--season-gap))) / var(--season-visible));
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  border-radius: 14px;
  min-height: 360px;
  position: relative;
  overflow: hidden;
  contain: layout paint;
  border: 1px solid rgba(224, 194, 145, .42);
  box-shadow: 0 12px 26px rgba(16, 11, 9, .18);
  background: #fbf4e8;
  text-decoration: none;
}
.season-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid rgba(255, 248, 232, .18);
  background: none;
  pointer-events: none;
}
.season-card-image {
  flex: 1 1 auto;
  min-height: 255px;
  background: #3a2a27 center/cover no-repeat;
}
.season-copy {
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  z-index: 1;
  color: #261f1b;
  background:
    linear-gradient(180deg, #fffaf1 0%, #f6ead9 100%);
  border: 0;
  border-top: 1px solid rgba(214, 177, 116, .48);
  border-radius: 0;
  padding: 15px 16px 16px;
  box-shadow: none;
}
.season-card h3 {
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 19px;
  line-height: 1.12;
  margin-bottom: 7px;
  color: #241b17;
  font-weight: 700;
}
.season-card p {
  font-size: 13.5px;
  color: #6a5849;
  line-height: 1.55;
  margin: 0;
}
.season-controls {
  margin-top: 10px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.season-nav {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid rgba(226, 195, 143, .40);
  background: rgba(247, 231, 200, .96);
  color: #2a211d;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: transform .2s ease, background-color .2s ease, color .2s ease;
}
.season-nav:hover {
  transform: translateY(-1px);
  background: #fff3d7;
}

.mekan-section {
  padding-top: 18px;
}
.mekan-shell {
  position: relative;
  border-radius: 26px;
  padding: 20px;
  overflow: hidden;
  border: 1px solid rgba(172, 19, 24, .44);
  box-shadow: 0 22px 36px rgba(16, 63, 55, .28);
  background:
    radial-gradient(440px 220px at 6% -8%, rgba(172, 19, 24, .26), transparent 70%),
    radial-gradient(360px 200px at 100% 118%, rgba(16, 63, 55, .16), transparent 70%),
    linear-gradient(180deg, #d36b42 0%, var(--primary) 50%, var(--primary-dark) 100%);
}
.mekan-shell::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 237, 217, .07) 0%, rgba(79, 24, 22, .40) 100%);
  pointer-events: none;
}
.mekan-shell::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(90deg, rgba(172, 19, 24, .10) 0 1px, rgba(172, 19, 24, 0) 1px 22px);
  pointer-events: none;
}
.mekan-shell > * {
  position: relative;
  z-index: 1;
}
.mekan-shell-head {
  margin-bottom: 14px;
  padding: 2px 2px 8px;
  border-bottom: 1px solid rgba(255, 230, 224, .26);
}
.mekan-shell-head h2 {
  color: #f7e9d6;
  margin-top: 8px;
}
.mekan-shell-head p.lead {
  margin-top: 6px;
  max-width: 560px;
  color: rgba(250, 236, 218, .84);
  font-size: 14px;
}
.mekan-shell .eyebrow {
  background: rgba(247, 231, 213, .14);
  border-color: rgba(255, 232, 206, .28);
  color: #ffe9cc;
}
.mekan-carousel {
  --mekan-gap: 14px;
  --mekan-visible: 4;
  position: relative;
}
.mekan-viewport {
  overflow: hidden;
}
.mekan-track {
  display: flex;
  gap: var(--mekan-gap);
  align-items: stretch;
  will-change: transform;
}
.mekan-shot {
  flex: 0 0 calc((100% - ((var(--mekan-visible) - 1) * var(--mekan-gap))) / var(--mekan-visible));
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  min-height: 260px;
  border: 1px solid rgba(255, 234, 230, .34);
  background: #3a2a27 center/cover no-repeat;
  box-shadow: 0 14px 30px rgba(20, 73, 63, .24);
}
.mekan-shot::before {
  content: none;
}
.mekan-shot span {
  position: absolute;
  left: 12px;
  bottom: 12px;
  z-index: 1;
  color: #f5ebdc;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  display: inline-flex;
  max-width: calc(100% - 24px);
  background: rgba(24, 16, 14, .56);
  border: 1px solid rgba(255, 233, 208, .26);
  border-radius: 10px;
  padding: 7px 10px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .32);
  backdrop-filter: blur(1.5px);
}
.mekan-controls {
  margin-top: 10px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.mekan-nav {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: 1px solid rgba(172, 19, 24, .32);
  background: rgba(255, 244, 242, .94);
  color: var(--primary-dark);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: transform .2s ease, background-color .2s ease, color .2s ease;
}
.mekan-nav:hover {
  transform: translateY(-1px);
  background: #fff1ef;
}

.branch-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.branch-card {
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  overflow: hidden;
  background: var(--surface);
}
.branch-card .thumb {
  aspect-ratio: 16/10;
  background: #d2cabf center/cover no-repeat;
}
.branch-card .body {
  padding: 14px;
}
.branch-card h3 {
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 18px;
  margin-bottom: 3px;
}
.branch-card p { color: var(--muted); font-size: 13px; }
.branch-tags {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.branch-tags span {
  font-size: 11px;
  background: rgba(172, 19, 24, .12);
  border: 1px solid rgba(172, 19, 24, .28);
  border-radius: 999px;
  padding: 5px 9px;
}

.cta-band {
  margin-top: 16px;
  position: relative;
  overflow: hidden;
  border-radius: 26px;
  background: linear-gradient(128deg, #7c281f, #ac1318 52%, #0a2f29);
  border: 1px solid rgba(255, 225, 220, .18);
  box-shadow: 0 22px 46px rgba(16, 63, 55, .42);
  color: #f7ecdc;
  padding: clamp(26px, 5vw, 42px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.cta-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      45deg,
      rgba(247, 236, 220, .08) 0 2px,
      transparent 2px 20px
    ),
    repeating-linear-gradient(
      -45deg,
      rgba(247, 236, 220, .06) 0 1px,
      transparent 1px 18px
    );
  opacity: .42;
  pointer-events: none;
}
.cta-band::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(360px 180px at 8% 12%, rgba(255, 255, 255, .12), transparent 72%),
    radial-gradient(420px 220px at 88% 90%, rgba(172, 19, 24, .33), transparent 76%);
  pointer-events: none;
}
.cta-band > * {
  position: relative;
  z-index: 1;
}
.cta-band h3 {
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: clamp(26px, 3.4vw, 36px);
  line-height: 1.18;
  margin-bottom: 8px;
}
.cta-band p { max-width: 650px; color: rgba(247, 236, 220, .9); }

.page-hero {
  padding: 40px 0 24px;
}
.page-hero .container {
  width: min(var(--container), calc(100% - 32px));
}
.page-hero-box {
  border-radius: 26px;
  min-height: 330px;
  padding: clamp(24px, 5vw, 44px);
  background: var(--hero-bg, url('/images/luamia/hero.jpg')) center/cover no-repeat;
  color: #fff;
  display: flex;
  align-items: end;
  text-shadow: 0 3px 14px rgba(0, 0, 0, .72), 0 1px 3px rgba(0, 0, 0, .9);
}
.page-hero-box > div {
  max-width: 780px;
  background: rgba(0, 0, 0, .42);
  border-radius: 14px;
  padding: 20px 22px;
  backdrop-filter: blur(1.5px);
}
.page-hero-box .eyebrow,
.page-hero-box .eyebrow i {
  text-shadow: none;
}
.page-hero-box .title {
  text-shadow: 0 4px 18px rgba(0, 0, 0, .82), 0 1px 4px rgba(0, 0, 0, .95);
}
.page-hero-box p { max-width: 700px; color: #fff; margin-top: 10px; text-shadow: 0 3px 14px rgba(0, 0, 0, .72), 0 1px 3px rgba(0, 0, 0, .9); }
.page-hero-box-compact {
  min-height: 224px;
  padding: clamp(18px, 3.2vw, 30px);
  border-radius: 20px;
}

.simple-grid { display: grid; gap: 16px; }
.simple-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.simple-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.simple-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
.panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 16px;
}
.panel h3 {
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 18px;
  margin-bottom: 7px;
}
.panel p, .panel li { color: var(--muted); font-size: 14px; }
.panel ul { padding-left: 18px; }

.menu-category-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.menu-category-card {
  position: relative;
  min-height: 260px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(172, 19, 24, .28);
  background: #720d11 center/cover no-repeat;
  box-shadow: 0 16px 28px rgba(16, 63, 55, .2);
  transition: transform .24s ease, box-shadow .24s ease;
}
.menu-category-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(30, 22, 20, .04) 30%, rgba(30, 22, 20, .62) 100%);
}
.menu-category-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 34px rgba(16, 63, 55, .26);
}
.menu-category-body {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 1;
  border-radius: 12px;
  background: rgba(30, 22, 20, .34);
  border: 1px solid rgba(255, 235, 215, .28);
  backdrop-filter: blur(2px);
  padding: 10px 12px;
  color: #fff;
}
.menu-category-body h3 {
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 18px;
  margin-bottom: 5px;
}
.menu-category-body p {
  color: rgba(255, 245, 232, .92);
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0;
}

.menu-taxonomy {
  display: grid;
  gap: 22px;
}
.menu-group-tabs {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 6px;
  border: 1px solid rgba(172, 19, 24, .16);
  border-radius: 8px;
  background: #fffaf5;
}
.menu-group-tab {
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #49342e;
  cursor: pointer;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 14px;
  font-weight: 800;
  padding: 11px 18px;
  text-transform: uppercase;
}
.menu-group-tab.is-active {
  background: #3d211b;
  color: #fff7ec;
}
.menu-taxonomy-group {
  border: 1px solid rgba(172, 19, 24, .18);
  border-radius: 8px;
  background: #fffaf5;
  padding: 20px;
}
.menu-taxonomy-group h2 {
  margin: 0 0 14px;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 22px;
  color: var(--primary-dark);
  text-transform: uppercase;
}
.menu-taxonomy-buttons {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 14px;
}
.menu-filter-card {
  border: 1px solid rgba(172, 19, 24, .24);
  background: #fff;
  color: #302420;
  border-radius: 8px;
  padding: 0;
  cursor: pointer;
  overflow: hidden;
  text-align: left;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(59, 36, 28, .08);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.menu-filter-card:hover,
.menu-filter-card.is-active {
  border-color: var(--primary-dark);
  box-shadow: 0 18px 38px rgba(59, 36, 28, .14);
  transform: translateY(-2px);
}
.menu-filter-card.is-active .menu-filter-card-copy {
  background: #3d211b;
  color: #fff7ec;
}
.menu-filter-card-image {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  background-size: cover;
  background-position: center;
  transition: transform .28s ease, filter .28s ease;
}
.menu-filter-card:hover .menu-filter-card-image {
  filter: saturate(1.08) contrast(1.03);
  transform: scale(1.035);
}
.menu-filter-card-copy {
  display: grid;
  gap: 4px;
  min-height: 78px;
  padding: 14px;
  transition: background .18s ease, color .18s ease;
}
.menu-filter-card-copy small {
  color: var(--secondary);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.menu-filter-card.is-active .menu-filter-card-copy small {
  color: #f6c9a5;
}
.menu-filter-card-copy strong {
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 17px;
  line-height: 1.15;
}

.menu-item {
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 15px;
  background: var(--surface);
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.menu-item .world-thumb {
  aspect-ratio: 4 / 3;
  transition: transform .28s ease, filter .28s ease;
}
.menu-item .world-thumb::before {
  display: none;
}
.menu-item:hover .world-thumb {
  filter: saturate(1.08) contrast(1.03);
  transform: scale(1.025);
}
.menu-item h3 { font-size: 18px; font-family: 'Bai Jamjuree', sans-serif; margin-bottom: 4px; }
.menu-item .meta { font-size: 13px; color: var(--secondary); font-weight: 700; margin-bottom: 8px; }
.menu-item p { color: var(--muted); font-size: 13px; line-height: 1.55; }
.menu-products-stack {
  display: grid;
  gap: 24px;
}
.menu-product-category {
  display: grid;
  gap: 24px;
}
.menu-product-category:not(.is-active) {
  display: none;
}
.menu-results-section.is-searching .menu-products-stack {
  gap: 52px;
}
.menu-results-section.is-searching .menu-product-category::before {
  content: attr(data-menu-category-title);
  display: block;
  padding: 0 0 14px;
  border-bottom: 1px solid rgba(172, 19, 24, .18);
  color: #ac1318;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.menu-catalog-page.is-menu-searching .menu-browser {
  display: none;
}
.menu-product-subgroup {
  display: grid;
  gap: 16px;
}
.menu-subgroup-title {
  display: block;
  width: 100%;
  margin: 0;
  border: 1px solid rgba(61, 33, 27, .28);
  border-left: 5px solid #b8844f;
  border-radius: 8px;
  padding: 15px 18px;
  background:
    linear-gradient(135deg, rgba(255, 246, 229, .10), rgba(255, 255, 255, 0) 42%),
    linear-gradient(100deg, #2f201c 0%, #4d2a22 58%, #7a4a30 100%);
  box-shadow: 0 14px 30px rgba(59, 36, 28, .16);
}
.menu-subgroup-title strong {
  color: #fff8ed;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: 0;
}
.menu-search-empty {
  margin-top: 12px;
  border: 1px dashed rgba(172, 19, 24, .3);
  border-radius: 12px;
  padding: 12px;
  color: #6c4b42;
  background: #f8eee9;
}

.form-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 18px;
}
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.form-group { margin-bottom: 12px; }
.form-group label {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 700;
}
.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 11px;
  padding: 11px 12px;
  font: inherit;
  color: var(--ink);
  background: #fcf8f3;
}
.form-group textarea { min-height: 130px; resize: vertical; }
.notice {
  border-radius: 12px;
  padding: 10px 12px;
  margin-bottom: 12px;
  font-size: 13px;
}
.notice.success { background: #e6f6e8; color: #225f2a; border: 1px solid #c8e7cd; }
.notice.error { background: #ffeceb; color: #8a2222; border: 1px solid #f6cccc; }

.branch-map-layout {
  display: grid;
  grid-template-columns: minmax(0, 390px) minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
}
.branch-map-list {
  display: grid;
  gap: 10px;
}
.branch-map-item {
  width: 100%;
  text-align: left;
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 16px;
  padding: 14px;
  cursor: pointer;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease, background-color .24s ease;
}
.branch-map-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 24px rgba(48, 32, 28, .12);
}
.branch-map-item.is-active {
  border-color: rgba(172, 19, 24, .6);
  background: #f8eceb;
  box-shadow: 0 16px 26px rgba(64, 36, 32, .16);
}
.branch-map-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  margin-bottom: 6px;
}
.branch-map-top strong {
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 17px;
  line-height: 1.2;
}
.branch-map-top span {
  font-size: 12px;
  font-weight: 700;
  color: #7d5a4f;
}
.branch-map-item p {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 7px;
}
.branch-map-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 12px;
  color: #62443c;
  font-weight: 700;
}
.branch-map-meta i {
  margin-right: 5px;
}
.branch-map-stage {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  min-height: 430px;
  border: 1px solid rgba(172, 19, 24, .28);
  background: #f0dfde;
  box-shadow: 0 22px 34px rgba(44, 28, 25, .17);
}
.branch-map-glow {
  position: absolute;
  top: -72px;
  right: -62px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(172, 19, 24, .24) 0%, rgba(172, 19, 24, 0) 68%);
  animation: mapPulse 4.8s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}
.branch-map-frame {
  width: 100%;
  height: 100%;
  min-height: 430px;
  border: 0;
  display: block;
  transition: opacity .28s ease, filter .28s ease;
}
.branch-map-stage.is-loading .branch-map-frame {
  opacity: .58;
  filter: saturate(.72);
}
.btn-map-route {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 2;
  box-shadow: 0 12px 20px rgba(64, 36, 32, .3);
}
@keyframes mapPulse {
  0% { transform: scale(.92); opacity: .65; }
  50% { transform: scale(1.08); opacity: 1; }
  100% { transform: scale(.92); opacity: .65; }
}

.login-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.account-box {
  border-radius: 20px;
  border: 1px solid var(--border);
  background: var(--surface);
  padding: 18px;
}
.account-box h3 {
  font-family: 'Bai Jamjuree', sans-serif;
  margin-bottom: 12px;
}

.site-footer {
  margin-top: 30px;
  background: #3d2c29;
  color: #f4ebde;
}
.footer-grid {
  padding: 46px 0 30px;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.4fr;
  gap: 22px;
}
.site-footer h3,
.site-footer h4 {
  font-family: 'Bai Jamjuree', sans-serif;
  margin-bottom: 10px;
}
.site-footer p,
.site-footer a,
.site-footer span {
  color: rgba(246,239,230,.78);
  font-size: 13px;
  display: block;
  margin-bottom: 8px;
}
.site-footer a:hover { color: #fff; }
.social-links { display: flex; gap: 8px; margin-top: 12px; }
.social-links a {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.22);
  display: grid;
  place-items: center;
}
.newsletter-inline {
  display: flex;
  gap: 8px;
}
.newsletter-inline input {
  flex: 1;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.08);
  color: #fff;
  padding: 10px;
}
.newsletter-inline button {
  border: none;
  border-radius: 10px;
  background: var(--primary);
  color: #fff6e8;
  font-weight: 700;
  padding: 0 14px;
}
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.13);
}
.footer-bottom-inner {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
  color: rgba(246,239,230,.62);
}
.footer-mini-links { display: inline-flex; gap: 14px; }

.back-top {
  position: fixed;
  right: 16px;
  bottom: 16px;
  width: 42px;
  height: 42px;
  border: none;
  border-radius: 12px;
  background: var(--primary);
  color: #fff;
  box-shadow: 0 10px 24px rgba(16, 63, 55, .34);
  display: none;
  place-items: center;
  z-index: 60;
}
.back-top.show { display: grid; }

@media (max-width: 1080px) {
  .header-inner { min-height: 86px; }
  .desktop-nav { display: none; }
  .brand-logo-img { height: 60px; }
  .mobile-toggle { display: inline-flex; }
  .header-right .btn-soft,
  .header-right .btn-primary { display: none; }
  .hero-grid {
    grid-template-columns: 1fr;
    align-items: end;
    width: calc(100% - 40px);
    min-height: 560px;
    padding: 42px 0;
  }
  .hero-wrap { min-height: 560px; }
  .hero-slider-controls {
    inset: 0;
  }
  .hero-nav {
    width: 56px;
    height: 56px;
    border-radius: 14px;
  }
  .hero-nav-prev { left: 14px; }
  .hero-nav-next { right: 14px; }
  .hero-dots {
    bottom: 16px;
  }
  .cards-3,
  .branch-grid { grid-template-columns: 1fr 1fr; }
  .mekan-shell {
    padding: 16px;
    border-radius: 22px;
  }
  .season-shell {
    padding: 16px;
    border-radius: 22px;
  }
  .menu-category-grid { grid-template-columns: 1fr 1fr; }
  .branch-map-layout { grid-template-columns: 1fr; }
  .branch-map-stage,
  .branch-map-frame { min-height: 380px; }
  .season-carousel { --season-visible: 2; }
  .mekan-carousel { --mekan-visible: 2; }
  .mekan-shot {
    min-height: 220px;
  }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  .announcement-inner { min-height: 48px; font-size: 12px; }
  .header-inner { min-height: 76px; gap: 10px; }
  .brand-logo-img {
    height: 50px;
    max-width: 68vw;
  }
  .mobile-toggle { width: 42px; height: 42px; }
  .lang-select { display: none; }
  .hero-wrap,
  .hero-grid { min-height: 480px; }
  .hero-media {
    background-image: var(--hero-image-mobile, var(--hero-image, url('/images/luamia/hero.jpg')));
  }
  .page-hero-box {
    background-image: var(--hero-bg-mobile, var(--hero-bg, url('/images/luamia/hero.jpg')));
  }
  .hero-grid {
    width: calc(100% - 26px);
    padding: 28px 0;
  }
  .hero-content p { font-size: 15px; }
  .hero-content,
  .page-hero-box > div {
    padding: 16px;
    border-radius: 12px;
  }
  .hero-slider-controls {
    inset: 0;
  }
  .hero-nav { display: none; }
  .hero-dots { bottom: 10px; }
  .hero-dot {
    width: 10px;
    height: 10px;
  }
  .hero-dot.is-active { width: 26px; }
  .season-shell {
    padding: 12px;
    border-radius: 18px;
  }
  .mekan-shell {
    padding: 12px;
    border-radius: 18px;
  }
  .mekan-shell-head h2 { font-size: 24px; }
  .mekan-shell-head p.lead { font-size: 13px; }
  .season-shell-head h2 {
    font-size: 18px;
    letter-spacing: 1px;
  }
  .season-carousel { --season-visible: 1; }
  .season-card { min-height: 340px; }
  .season-card-image { min-height: 230px; }
  .season-copy {
    padding: 14px;
  }
  .season-card h3 { font-size: 18px; }
  .season-card p { font-size: 13px; }
  .section { padding: 52px 0; }
  .branch-map-item { padding: 12px; }
  .branch-map-stage,
  .branch-map-frame { min-height: 310px; }
  .btn-map-route {
    right: 10px;
    bottom: 10px;
    padding: 10px 12px;
  }
  .page-hero-box-compact { min-height: 188px; }
  .cards-3,
  .menu-category-grid,
  .branch-grid,
  .simple-grid.cols-2,
  .simple-grid.cols-3,
  .simple-grid.cols-4,
  .login-grid,
  .form-row,
  .footer-grid { grid-template-columns: 1fr; }
  .mekan-carousel { --mekan-visible: 1; }
  .mekan-shot {
    min-height: 200px;
  }
  .footer-bottom-inner { flex-direction: column; justify-content: center; text-align: center; padding: 12px 0; }
}

/* Editorial coffee-house refresh */
:root {
  --bg: #f5f0e8;
  --surface: #fffdf8;
  --surface-soft: #ebe2d5;
  --ink: #261d18;
  --muted: #76685e;
  --border: #d9cdbf;
  --primary: #ac1318;
  --primary-dark: #720d11;
  --radius-lg: 8px;
  --radius-md: 6px;
  --shadow: 0 22px 60px rgba(48, 31, 23, .12);
}
body { font-family: 'Bai Jamjuree', sans-serif; background: var(--bg); }
.section h2, .title, .hero-content h1, .branch-card h3,
.cta-band h3, .season-card h3 { font-family: 'Bai Jamjuree', sans-serif; }
.announcement-bar { background: #251b17; }
.site-header {
  background: rgba(250, 247, 241, .94);
  border-bottom: 1px solid rgba(56, 39, 30, .12);
}
.header-inner { min-height: 88px; }
.desktop-nav { gap: 2px; }
.nav-item-wrap { position: relative; }
.desktop-nav .nav-link {
  position: relative;
  border-radius: 0;
  padding: 14px 12px;
  font-size: 12px;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.desktop-nav .nav-link:hover, .desktop-nav .nav-link.is-active,
.nav-item-wrap:hover .nav-link { background: transparent; color: var(--primary); }
.desktop-nav .nav-link::after {
  content: ''; position: absolute; left: 12px; right: 12px; bottom: 7px;
  height: 1px; background: currentColor; transform: scaleX(0); transition: transform .2s ease;
}
.desktop-nav .nav-link:hover::after, .desktop-nav .nav-link.is-active::after { transform: scaleX(1); }
.btn { border-radius: 2px; padding: 13px 21px; letter-spacing: .035em; }
.btn-primary { background: var(--primary); box-shadow: none; }
.btn-primary:hover { background: var(--primary-dark); }

.hero { padding-bottom: 0; }
.hero-wrap, .hero-grid { min-height: min(760px, calc(100vh - 88px)); }
.hero-media::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(22,14,10,.78), rgba(22,14,10,.38) 50%, rgba(22,14,10,.1) 78%),
    linear-gradient(0deg, rgba(22,14,10,.35), transparent 50%);
}
.hero-grid { align-items: center; }
.hero-content { max-width: 700px; padding: 0; background: transparent; backdrop-filter: none; }
.hero-kicker, .section-kicker, .cta-kicker {
  display: inline-flex; align-items: center; gap: 12px; font-size: 11px; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
}
.hero-kicker { color: #f4dfbb; margin-bottom: 18px; }
.hero-kicker::before, .section-kicker::before, .cta-kicker::before {
  content: ''; width: 34px; height: 1px; background: currentColor;
}
.hero-content h1 {
  max-width: 680px; font-size: clamp(48px, 6.2vw, 88px); font-weight: 500;
  letter-spacing: -.035em; line-height: .98;
}
.hero-content p { max-width: 610px; margin-top: 24px; font-size: 17px; line-height: 1.75; }
.hero-nav { width: 50px; height: 50px; border-radius: 50%; background: rgba(32,22,17,.38); }

.section { padding: 96px 0; }
.season-section { padding: 92px 0; }
.season-shell { padding: 0; overflow: visible; border: 0; box-shadow: none; background: transparent; }
.season-shell::before, .season-shell::after { display: none; }
.season-shell-head {
  display: flex; align-items: end; justify-content: space-between; gap: 28px;
  margin-bottom: 38px; padding: 0; border: 0;
}
.section-kicker { color: var(--primary); }
.season-shell-head h2 {
  margin-top: 9px; color: var(--ink); font-family: 'Bai Jamjuree', sans-serif;
  font-size: clamp(35px, 4vw, 56px); font-weight: 500; letter-spacing: -.025em; text-transform: none;
}
.season-all-link {
  padding-bottom: 7px; border-bottom: 1px solid var(--ink); font-size: 13px; font-weight: 700; white-space: nowrap;
}
.season-all-link i { margin-left: 8px; }
.season-card {
  min-height: 430px; border: 0; border-radius: 0; background: transparent;
  box-shadow: none; transition: transform .25s ease;
}
.season-card:hover { transform: translateY(-7px); }
.season-card-image { min-height: 320px; border-radius: 50% 50% 5px 5px; background-color: #e5dbce; }
.season-copy { padding: 19px 4px 0; border: 0; background: transparent; }
.season-card h3 { font-size: 24px; font-weight: 500; }
.season-card p { color: var(--muted); }
.season-nav, .mekan-nav { border-radius: 50%; background: transparent; border-color: currentColor; }

.mekan-section { padding: 0 0 96px !important; }
.mekan-shell {
  padding: clamp(30px, 5vw, 64px); border: 0; border-radius: 0; background: #2c211c; box-shadow: none;
}
.mekan-shell::before, .mekan-shell::after { display: none; }
.mekan-shell-head { border: 0; margin-bottom: 32px; }
.mekan-shell-head h2 { max-width: 700px; font-size: clamp(38px, 5vw, 62px); font-weight: 500; }
.mekan-shot { min-height: 390px; border: 0; border-radius: 3px; box-shadow: none; }
.mekan-shot span {
  left: 18px; bottom: 18px; border: 0; border-radius: 0; background: #f5f0e8;
  color: var(--ink); text-shadow: none;
}

.section-head { margin-bottom: 36px; }
.section-head h2 { max-width: 760px; font-size: clamp(38px, 5vw, 60px); font-weight: 500; }
.eyebrow {
  padding: 0; border: 0; border-radius: 0; background: transparent; letter-spacing: .15em;
}
.branch-grid { gap: 24px; }
.branch-card { border: 0; border-radius: 0; background: transparent; }
.branch-card .thumb { aspect-ratio: 4/5; }
.branch-card .body { padding: 20px 0 0; }
.branch-card h3 { font-size: 28px; font-weight: 500; }
.branch-card p { margin-top: 8px; font-size: 14px; line-height: 1.7; }
.branch-tags span { border-radius: 2px; background: transparent; }
.cta-band {
  margin-top: 70px; border: 0; border-radius: 0; padding: clamp(38px, 7vw, 80px);
  background: var(--primary); box-shadow: none;
}
.cta-band::before, .cta-band::after { opacity: .16; }
.cta-kicker { width: 100%; margin-bottom: -6px; color: #f0d9c2; }
.cta-band h3 { font-size: clamp(36px, 5vw, 60px); font-weight: 500; }

@media (max-width: 1080px) {
  .hero-wrap, .hero-grid { min-height: 620px; }
  .season-card-image { min-height: 290px; }
}
@media (max-width: 680px) {
  .header-inner { min-height: 74px; }
  .section { padding: 68px 0; }
  .hero-wrap, .hero-grid { min-height: 560px; }
  .hero-grid { width: calc(100% - 40px); padding: 60px 0 76px; }
  .hero-content h1 { font-size: clamp(42px, 13vw, 58px); }
  .hero-content p { font-size: 15px; line-height: 1.65; }
  .season-shell-head { align-items: flex-start; flex-direction: column; }
  .season-card { min-height: 410px; }
  .season-card-image { min-height: 300px; }
  .mekan-shell { margin: 0 -16px; }
  .mekan-shot { min-height: 340px; }
  .branch-card .thumb { aspect-ratio: 4/3; }
  .cta-band { margin-top: 46px; }
}

/* MASADAKILER — editorial table experience */
.table-page { overflow: hidden; background: #fbf7f2; color: #422721; }
.table-hero {
  position: relative;
  min-height: min(850px, calc(100vh - 108px));
  display: flex;
  align-items: center;
  padding: 70px 0 90px;
  background:
    radial-gradient(circle at 18% 12%, rgba(172,19,24,.09), transparent 25%),
    #fbf7f2;
}
.table-hero::before {
  content: '';
  position: absolute;
  width: 44vw;
  height: 44vw;
  left: -22vw;
  bottom: -28vw;
  border: 1px solid rgba(172,19,24,.13);
  border-radius: 50%;
}
.table-hero-grid {
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  align-items: center;
  gap: clamp(40px, 7vw, 110px);
}
.table-hero-copy { position: relative; z-index: 4; }
.table-overline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 26px;
  color: #ac1318;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.table-overline::before { content: ''; width: 42px; height: 1px; background: currentColor; }
.table-hero h1 {
  max-width: 620px;
  margin: 0;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: clamp(64px, 7.2vw, 112px);
  font-weight: 600;
  line-height: .84;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.table-hero-copy > p {
  max-width: 500px;
  margin: 32px 0 0;
  color: #76635c;
  font-size: 17px;
  line-height: 1.8;
}
.table-circle-link {
  width: 112px;
  height: 112px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 38px;
  border: 1px solid rgba(172,19,24,.42);
  border-radius: 50%;
  color: #ac1318;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: transform .45s cubic-bezier(.22,1,.36,1), color .35s ease, background .35s ease;
}
.table-circle-link:hover { transform: rotate(-8deg) scale(1.06); color: #fff; background: #ac1318; }
.table-hero-visual {
  position: relative;
  min-height: 640px;
}
.table-hero-main {
  position: absolute;
  inset: 6% 10% 2% 14%;
  overflow: hidden;
  margin: 0;
  border-radius: 48% 48% 30px 30px;
  box-shadow: 0 42px 85px rgba(88,43,34,.22);
}
.table-hero-main::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(58,26,22,.23));
}
.table-hero-main img,
.table-hero-float img,
.table-selection figure img,
.table-category-panel figure img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.table-hero-main img { animation: tableHeroImage 12s ease-in-out infinite alternate; }
@keyframes tableHeroImage { to { transform: scale(1.08); } }
.table-hero-float {
  position: absolute;
  z-index: 2;
  overflow: hidden;
  margin: 0;
  border: 8px solid #fbf7f2;
  box-shadow: 0 25px 55px rgba(70,35,28,.18);
}
.table-hero-float-one {
  width: 175px;
  height: 220px;
  left: -2%;
  top: 8%;
  border-radius: 88px;
  animation: tableFloat 5s ease-in-out infinite;
}
.table-hero-float-two {
  width: 190px;
  height: 150px;
  right: -1%;
  bottom: 5%;
  border-radius: 22px;
  animation: tableFloat 5.8s .5s ease-in-out infinite reverse;
}
@keyframes tableFloat { 50% { transform: translateY(-14px) rotate(2deg); } }
.table-hero-orbit {
  position: absolute;
  z-index: 3;
  right: 0;
  top: 2%;
  width: 148px;
  height: 148px;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(172,19,24,.42);
  border-radius: 50%;
  color: #ac1318;
  animation: artisanOrbit 22s linear infinite;
}
.table-hero-orbit span { max-width: 90px; text-align: center; font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.table-handnote {
  position: absolute;
  z-index: 4;
  left: 3%;
  bottom: 9%;
  color: #fff;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 24px;
  font-style: italic;
  line-height: .95;
  transform: rotate(-9deg);
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
}
.table-ticker {
  overflow: hidden;
  padding: 18px 0;
  color: #fff;
  background: #ac1318;
  transform: rotate(-1deg) scale(1.02);
}
.table-ticker > div {
  width: max-content;
  display: flex;
  align-items: center;
  gap: 34px;
  animation: tableTicker 24s linear infinite;
}
.table-ticker span { font-family: 'Bai Jamjuree', sans-serif; font-size: 27px; font-weight: 600; }
.table-ticker i { color: #e9cfc4; font-style: normal; }
@keyframes tableTicker { to { transform: translateX(-50%); } }
.table-signatures { padding: clamp(100px, 12vw, 170px) 0; background: #fffaf6; }
.table-section-head {
  display: grid;
  grid-template-columns: 1fr 1.3fr 1fr;
  align-items: end;
  gap: 40px;
  margin-bottom: 70px;
}
.table-section-head > span { align-self: start; color: #ac1318; font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.table-section-head h2 {
  margin: 0;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: clamp(62px, 8vw, 118px);
  font-weight: 600;
  line-height: .76;
  letter-spacing: -.06em;
}
.table-section-head p { margin: 0; color: #76635c; line-height: 1.8; }
.table-selection-list { display: grid; gap: 22px; }
.table-selection {
  position: relative;
  min-height: 350px;
  display: grid;
  grid-template-columns: .7fr 1.05fr 1.2fr;
  align-items: center;
  gap: clamp(24px, 5vw, 72px);
  overflow: hidden;
  padding: 34px clamp(28px, 5vw, 68px);
  border-radius: 28px;
  transition: transform .55s cubic-bezier(.22,1,.36,1), box-shadow .45s ease;
}
.table-selection:hover { transform: translateX(10px); box-shadow: 0 30px 60px rgba(78,38,31,.13); }
.table-selection-rose { background: #ead4cc; }
.table-selection-cream { background: #f5e9e1; }
.table-selection-sand { background: #e7d9d1; }
.table-selection-meta { align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; }
.table-selection-meta > span { font-family: 'Bai Jamjuree', sans-serif; font-size: 68px; opacity: .2; }
.table-selection-meta small { color: #ac1318; font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.table-selection figure {
  width: min(100%, 280px);
  aspect-ratio: 1;
  overflow: hidden;
  margin: 0 auto;
  border-radius: 50%;
  box-shadow: 0 24px 48px rgba(72,37,30,.17);
  transition: border-radius .6s ease, transform .6s cubic-bezier(.22,1,.36,1);
}
.table-selection:hover figure { border-radius: 30%; transform: rotate(3deg) scale(1.04); }
.table-selection-copy h3 {
  margin: 0;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: clamp(46px, 6vw, 78px);
  line-height: .9;
  letter-spacing: -.04em;
}
.table-selection-copy p { max-width: 380px; color: #6d5750; line-height: 1.7; }
.table-selection-arrow {
  position: absolute;
  right: 30px;
  top: 30px;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(66,39,33,.35);
  border-radius: 50%;
  transform: rotate(45deg);
  transition: transform .45s ease, color .35s ease, background .35s ease;
}
.table-selection:hover .table-selection-arrow { transform: rotate(90deg); color: #fff; background: #ac1318; }
.table-category-stage { padding: clamp(100px, 11vw, 160px) 0; color: #fff; background: #4f211d; }
.table-category-layout {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: clamp(34px, 6vw, 86px);
  align-items: stretch;
}
.table-category-tabs {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  margin: 0;
  border-top: 1px solid rgba(255,255,255,.18);
}
.table-category-tabs button {
  min-height: 112px;
  display: grid;
  grid-template-columns: 38px 1fr 24px;
  align-items: center;
  gap: 12px;
  padding: 0 8px;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.18);
  border-radius: 0;
  color: rgba(255,255,255,.65);
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: color .35s ease, padding .45s cubic-bezier(.22,1,.36,1);
}
.table-category-tabs button > span {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  opacity: .55;
}
.table-category-tabs button > strong {
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 31px;
  font-weight: 600;
}
.table-category-tabs button > i {
  opacity: 0;
  transform: translateX(-12px);
  transition: opacity .3s ease, transform .4s ease;
}
.table-category-tabs button:hover { padding-left: 15px; color: #fff; }
.table-category-tabs button.is-active { padding-left: 18px; color: #fff4ed; }
.table-category-tabs button.is-active > i { opacity: 1; transform: translateX(0); }
.table-category-panels { min-width: 0; }
.table-category-panel {
  position: relative;
  display: none;
  min-height: 660px;
  overflow: hidden;
  border-radius: 34px;
}
.table-category-panel.is-active { display: block; animation: tablePanelIn .65s cubic-bezier(.22,1,.36,1) both; }
@keyframes tablePanelIn { from { opacity: 0; transform: translateY(24px); } }
.table-category-panel::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(41,18,15,.88), rgba(41,18,15,.04) 72%);
  pointer-events: none;
}
.table-category-copy {
  position: absolute;
  z-index: 3;
  left: clamp(28px, 5vw, 66px);
  right: clamp(28px, 5vw, 66px);
  bottom: clamp(30px, 5vw, 58px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  column-gap: 40px;
}
.table-category-copy > span { color: #e3bdb0; font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.table-category-copy h2 {
  grid-column: 1;
  max-width: 680px;
  margin: 15px 0;
  color: #fff;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: clamp(58px, 6.6vw, 96px);
  font-weight: 600;
  line-height: .82;
  letter-spacing: -.05em;
}
.table-category-copy p {
  grid-column: 1;
  max-width: 520px;
  margin: 0;
  color: rgba(255,255,255,.75);
  font-size: 15px;
  line-height: 1.75;
}
.table-category-copy .btn { grid-column: 2; grid-row: 1 / span 3; align-self: end; }
.table-category-number {
  position: absolute;
  z-index: 2;
  right: 22px;
  top: 8px;
  color: rgba(255,255,255,.13);
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: clamp(68px, 9vw, 132px);
  font-weight: 700;
  letter-spacing: -.06em;
  line-height: 1;
}
.table-category-panel figure { position: absolute; inset: 0; height: auto; overflow: hidden; margin: 0; border-radius: 0; }
.table-category-panel figure img { transition: transform 1s cubic-bezier(.22,1,.36,1); }
.table-category-panel:hover figure img { transform: scale(1.05); }
.table-closing { padding: clamp(110px, 13vw, 190px) 0; text-align: center; background: #f6e9e2; }
.table-closing-inner > span { color: #ac1318; font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.table-closing h2 {
  margin: 25px auto 38px;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: clamp(62px, 9vw, 130px);
  font-weight: 600;
  line-height: .78;
  letter-spacing: -.06em;
}
.table-closing-inner > div { display: flex; justify-content: center; gap: 10px; }
@media (max-width: 900px) {
  .table-hero-grid { grid-template-columns: 1fr; }
  .table-hero-copy { padding-top: 30px; }
  .table-hero-visual { min-height: 570px; }
  .table-section-head { grid-template-columns: 1fr; }
  .table-selection { grid-template-columns: .4fr 1fr 1.1fr; }
  .table-category-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 24px; }
  .table-category-copy { grid-template-columns: 1fr; }
  .table-category-copy .btn { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 24px; }
}
@media (max-width: 680px) {
  .table-hero { padding: 35px 0 70px; }
  .table-hero h1 { font-size: 62px; }
  .table-hero-copy > p { font-size: 15px; }
  .table-circle-link { width: 92px; height: 92px; }
  .table-hero-visual { min-height: 480px; }
  .table-hero-main { inset: 4% 3% 2% 8%; border-radius: 44% 44% 20px 20px; }
  .table-hero-float-one { width: 105px; height: 150px; left: -5%; border-width: 5px; }
  .table-hero-float-two { width: 130px; height: 105px; border-width: 5px; }
  .table-hero-orbit { width: 100px; height: 100px; }
  .table-signatures { padding: 95px 0; }
  .table-section-head { margin-bottom: 45px; }
  .table-section-head h2 { font-size: 68px; }
  .table-selection {
    min-height: 520px;
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 25px;
  }
  .table-selection-meta { min-height: 52px; flex-direction: row; }
  .table-selection-meta > span { font-size: 44px; }
  .table-selection figure { width: 235px; }
  .table-selection-copy h3 { font-size: 52px; }
  .table-selection-arrow { right: 20px; top: 20px; }
  .table-category-layout { display: block; }
  .table-category-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 20px;
    border: 0;
  }
  .table-category-tabs button {
    min-height: 74px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    padding: 8px;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.18);
    text-align: center;
  }
  .table-category-tabs button > strong { font-size: 22px; }
  .table-category-tabs button > i { display: none; }
  .table-category-tabs button:hover,
  .table-category-tabs button.is-active { padding-left: 8px; border-bottom-color: #fff4ed; }
  .table-category-panel { min-height: 590px; border-radius: 24px; }
  .table-category-copy h2 { font-size: 62px; }
  .table-category-copy { display: block; }
  .table-category-copy .btn { margin-top: 22px; }
  .table-closing h2 { font-size: 65px; }
  .table-closing-inner > div { flex-direction: column; align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
  .table-hero-main img, .table-hero-float, .table-hero-orbit, .table-ticker > div { animation: none; }
}

/* Blog system: filters, editorial detail and related stories */
.journal-tag-filter{padding:25px 0 0;background:#fff}
.journal-tag-filter>.container{display:grid;grid-template-columns:150px 1fr;gap:25px;align-items:start}
.journal-tag-filter>.container>span{display:flex;align-items:center;gap:9px;padding-top:10px;color:#ac1318;font-size:10px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.journal-tag-filter>.container>div{display:flex;gap:7px;flex-wrap:wrap}
.journal-tag-filter a,.journal-detail-tags a{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid #eaded8;border-radius:999px;color:#6b5650;background:#fff;font-size:10px;font-weight:700;transition:transform .3s ease,color .3s ease,border-color .3s ease,background .3s ease,box-shadow .3s ease}
.journal-tag-filter a small{opacity:.55}.journal-tag-filter a:hover,.journal-tag-filter a.is-active,.journal-detail-tags a:hover{color:#fff;border-color:#ac1318;background:linear-gradient(110deg,#ac1318,#c9876e);box-shadow:0 10px 22px rgba(121,13,17,.18);transform:translateY(-2px)}
.journal-card{position:relative}.journal-card figure{position:relative}.journal-card figure em{position:absolute;left:16px;top:16px;padding:8px 12px;border-radius:999px;color:#fff;background:#ac1318;font-size:9px;font-style:normal;font-weight:750;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 10px 20px rgba(80,14,17,.2)}
.journal-card-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:17px}.journal-card-tags b{padding:6px 9px;border-radius:999px;color:#8d2526;background:#f8ece8;font-size:9px;font-weight:650}
.journal-detail header>.container{max-width:1180px}.journal-detail-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:25px;color:rgba(255,255,255,.78);font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.journal-detail-meta span{display:flex;align-items:center;gap:7px}.journal-detail-meta i{color:#efb2a4}
.journal-article-body{align-items:start}.journal-article-body>aside{position:sticky;top:115px;padding-top:8px}.journal-article-body>aside>span{color:#ac1318;font-size:9px;font-weight:750;letter-spacing:.16em}.journal-article-body>aside>strong{margin-top:12px;color:#382824;font-family:'Bai Jamjuree', sans-serif;font-size:24px;line-height:1.05}.journal-detail-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:24px}.journal-detail-tags a{padding:7px 10px;font-size:9px}
.journal-rich-content{max-width:850px;color:#51403a;font-size:17px;line-height:1.95}.journal-rich-content>p:first-child{color:#382824;font-family:'Bai Jamjuree', sans-serif;font-size:clamp(27px,3vw,38px);line-height:1.35}.journal-rich-content h2{margin:55px 0 18px;color:#382824;font-size:clamp(38px,4.7vw,58px);line-height:.92}.journal-rich-content h3{margin:38px 0 15px;font-size:31px}.journal-rich-content p{margin:0 0 23px}.journal-rich-content ul,.journal-rich-content ol{display:grid;gap:10px;margin:0 0 28px;padding-left:24px}.journal-rich-content img{width:100%;margin:35px 0;border-radius:22px}.journal-rich-content a{color:#ac1318;border-bottom:1px solid rgba(172,19,24,.3)}.journal-rich-content blockquote{margin:38px 0;padding:25px 30px;border-left:4px solid #ac1318;border-radius:0 18px 18px 0;color:#5d4038;background:#f8eee9;font-family:'Bai Jamjuree', sans-serif;font-size:27px;line-height:1.35}
.journal-related{padding:clamp(80px,10vw,135px) 0;background:#f8f2ee}.journal-related header{display:grid;grid-template-columns:.55fr 1.45fr;gap:40px;align-items:start;margin-bottom:48px}.journal-related header>span{color:#ac1318;font-size:10px;font-weight:750;letter-spacing:.16em;text-transform:uppercase}.journal-related h2{margin:0;font-size:clamp(48px,6vw,82px);line-height:.84}.journal-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.journal-related-grid>a{color:#392b27}.journal-related-grid figure{height:270px;overflow:hidden;margin:0 0 22px;border-radius:20px}.journal-related-grid img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.journal-related-grid a:hover img{transform:scale(1.06)}.journal-related-grid small{color:#ac1318;font-size:9px;font-weight:700;text-transform:uppercase}.journal-related-grid h3{margin:11px 0 20px;font-size:35px;line-height:.95}.journal-related-grid>a>span{display:flex;gap:8px;align-items:center;color:#ac1318;font-size:10px;font-weight:700;text-transform:uppercase}
.journal-pagination{display:flex;justify-content:center;gap:8px;padding-top:45px}.journal-pagination a{width:44px;height:44px;display:grid;place-items:center;border:1px solid #eaded8;border-radius:50%;color:#6b5650;background:#fff;font-size:11px;font-weight:700;transition:transform .3s ease,color .3s ease,background .3s ease}.journal-pagination a:hover,.journal-pagination a.is-active{color:#fff;background:#ac1318;transform:translateY(-3px)}
.journal-not-found{max-width:760px;margin:120px auto;padding:90px 30px}.journal-not-found .btn{margin-top:25px}
@media(max-width:900px){.journal-tag-filter>.container{grid-template-columns:1fr}.journal-related-grid{grid-template-columns:1fr 1fr}.journal-article-body>aside{position:static}}
@media(max-width:680px){.journal-detail-meta{gap:10px}.journal-article-body{grid-template-columns:1fr;gap:35px}.journal-related header{grid-template-columns:1fr;gap:14px}.journal-related-grid{grid-template-columns:1fr}.journal-tag-filter{padding-top:18px}.journal-tag-filter a{font-size:9px}.journal-rich-content{font-size:15px}.journal-rich-content>p:first-child{font-size:27px}}

/* Premium subpage system */
.page-hero {
  position: relative;
  padding: clamp(28px, 4vw, 58px) 0 22px;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 15%, rgba(172,19,24,.1), transparent 26%),
    linear-gradient(180deg, #fffaf6, #f7eee9);
}
.page-hero::after {
  content: 'LUAMIA';
  position: absolute;
  right: -2vw;
  bottom: -5vw;
  color: rgba(172,19,24,.035);
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: clamp(110px, 18vw, 280px);
  font-weight: 700;
  letter-spacing: -.08em;
  pointer-events: none;
}
.page-hero-box {
  isolation: isolate;
  position: relative;
  min-height: clamp(430px, 60vw, 650px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 34px;
  background-image: linear-gradient(90deg, rgba(37,19,16,.86), rgba(37,19,16,.25) 65%, rgba(37,19,16,.08)), var(--hero-bg);
  background-position: center;
  background-size: cover;
  box-shadow: 0 30px 80px rgba(76,32,26,.18);
}
.page-hero-box::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: var(--hero-bg);
  background-position: center;
  background-size: cover;
  animation: subHeroBreath 14s ease-in-out infinite alternate;
}
.page-hero-box::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(43,20,17,.88) 0%, rgba(43,20,17,.45) 52%, rgba(43,20,17,.12));
}
.page-hero-box > div {
  max-width: 760px;
  padding: clamp(34px, 6vw, 78px);
}
.page-hero-box .title {
  max-width: 720px;
  font-size: clamp(48px, 7vw, 88px);
  line-height: .92;
  text-wrap: balance;
}
.page-hero-box p {
  max-width: 600px;
  margin-top: 20px;
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.7;
}
.page-hero-box-compact { min-height: clamp(340px, 42vw, 500px); }
@keyframes subHeroBreath {
  from { transform: scale(1); }
  to { transform: scale(1.07); }
}

main > .section {
  position: relative;
  background: #fbf7f2;
}
main > .section:nth-of-type(odd):not(.page-hero) { background: #fffaf6; }
.panel,
.form-card,
.account-box,
.menu-taxonomy {
  border: 1px solid rgba(172,19,24,.13);
  border-radius: 24px;
  background: rgba(255,252,248,.92);
  box-shadow: 0 16px 42px rgba(86,43,34,.07);
}
.panel {
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 3vw, 38px);
  transition: transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s ease, border-color .4s ease;
}
a.panel:hover,
.simple-grid > .panel:hover {
  transform: translateY(-8px);
  border-color: rgba(172,19,24,.32);
  box-shadow: 0 28px 58px rgba(86,43,34,.13);
}
.panel::before {
  content: '';
  position: absolute;
  width: 90px;
  height: 3px;
  left: 0;
  top: 0;
  background: linear-gradient(90deg, #ac1318, rgba(172,19,24,0));
}
.panel h3 { color: #4a2823; font-size: clamp(25px, 2.5vw, 34px); }
.panel p, .panel li { font-size: 15px; line-height: 1.8; }
.form-card, .account-box { padding: clamp(24px, 4vw, 44px); }
.form-group input,
.form-group textarea,
.form-group select {
  border-color: rgba(172,19,24,.18);
  border-radius: 12px;
  background: #fff;
  transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  outline: none;
  border-color: #ac1318;
  box-shadow: 0 0 0 4px rgba(172,19,24,.1);
  transform: translateY(-1px);
}
.menu-discovery { padding-bottom: 22px; }
.menu-discovery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.menu-discovery-grid a {
  position: relative;
  min-height: 190px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding: 24px;
  border: 1px solid rgba(172,19,24,.14);
  border-radius: 22px;
  color: #4a2823;
  text-decoration: none;
  background: linear-gradient(145deg, #fffaf6, #f0dfd7);
  transition: transform .5s cubic-bezier(.22,1,.36,1), color .4s ease, background .4s ease;
}
.menu-discovery-grid a::after {
  content: '↗';
  position: absolute;
  right: 20px;
  top: 18px;
  font-size: 25px;
  transition: transform .4s ease;
}
.menu-discovery-grid a:hover {
  transform: translateY(-8px);
  color: #fff;
  background: linear-gradient(145deg, #ac1318, #682823);
}
.menu-discovery-grid a:hover::after { transform: rotate(45deg); }
.menu-discovery-grid span {
  position: absolute;
  left: 20px;
  top: 14px;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 42px;
  opacity: .16;
}
.menu-discovery-grid strong {
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 27px;
}
.menu-discovery-grid small { margin-top: 6px; opacity: .72; }
.legal-copy {
  max-width: 900px;
  margin: 0 auto;
  padding: clamp(30px, 5vw, 64px);
}
.legal-copy h2, .legal-copy h3 {
  margin: 26px 0 10px;
  color: #4a2823;
  font-family: 'Bai Jamjuree', sans-serif;
}
.legal-copy h2 { margin-top: 0; font-size: 42px; }
.legal-copy h3 { font-size: 28px; }
.legal-copy p { font-size: 16px; line-height: 1.9; }
.site-footer a { transition: color .25s ease, transform .25s ease; }
.site-footer a:hover { transform: translateX(4px); }
.social-links a:hover { transform: translateY(-4px) rotate(5deg); }

@media (max-width: 900px) {
  .menu-discovery-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .page-hero { padding-top: 16px; }
  .page-hero-box {
    min-height: 500px;
    border-radius: 22px;
    background-image: var(--hero-bg-mobile, var(--hero-bg));
  }
  .page-hero-box::before { background-image: var(--hero-bg-mobile, var(--hero-bg)); }
  .page-hero-box::after { background: linear-gradient(0deg, rgba(43,20,17,.9), rgba(43,20,17,.08) 85%); }
  .page-hero-box > div { padding: 30px 24px; }
  .page-hero-box .title { font-size: 48px; }
  .page-hero-box-compact { min-height: 390px; }
  .menu-discovery-grid { grid-template-columns: 1fr; }
  .menu-discovery-grid a { min-height: 145px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-hero-box::before { animation: none; }
}

/* Premium motion layer */
html { scroll-behavior: smooth; }
body::before {
  content: '';
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: var(--scroll-progress, 0%);
  height: 2px;
  background: linear-gradient(90deg, #bd7a51, #f1d8a8);
  pointer-events: none;
}
.site-header { transition: min-height .45s ease, background-color .45s ease, box-shadow .45s ease; }
.site-header.scrolled { background: rgba(250,247,241,.88); }
.brand-logo-img { transition: transform .45s cubic-bezier(.22,1,.36,1); }
.brand:hover .brand-logo-img { transform: scale(1.035); }

.hero-wrap { cursor: default; }
.hero-media {
  will-change: transform;
  transform: scale(1.1) translate3d(var(--hero-x, 0), var(--hero-y, 0), 0);
  transition: transform 1.8s cubic-bezier(.22,1,.36,1);
}
.hero-slide.is-active .hero-media {
  animation: eliteHeroZoom 8s cubic-bezier(.2,.65,.3,1) both;
}
.hero-slide.is-active .hero-kicker { animation: heroTextIn .75s .12s both; }
.hero-slide.is-active h1 { animation: heroTextIn .9s .22s both; }
.hero-slide.is-active .hero-content p { animation: heroTextIn .9s .34s both; }
.hero-slide.is-active .hero-actions { animation: heroTextIn .9s .46s both; }
.hero-content h1 {
  color: #fffaf2;
  animation: heroTextIn .9s .22s both !important;
}
@keyframes heroTextIn {
  from { opacity: 0; transform: translateY(32px); filter: blur(8px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}
@keyframes eliteHeroZoom {
  from { transform: scale(1.12) translate3d(var(--hero-x, 0), var(--hero-y, 0), 0); }
  to { transform: scale(1.02) translate3d(var(--hero-x, 0), var(--hero-y, 0), 0); }
}
.brand-marquee {
  overflow: hidden;
  padding: 18px 0;
  border-top: 1px solid rgba(255,255,255,.09);
  border-bottom: 1px solid rgba(255,255,255,.09);
  background: #2b201b;
  color: #ead9c7;
}
.brand-marquee-track {
  width: max-content;
  display: flex;
  align-items: center;
  gap: 30px;
  animation: marqueeFlow 25s linear infinite;
}
.brand-marquee span {
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: clamp(18px, 2vw, 27px);
  font-style: italic;
  letter-spacing: .02em;
  white-space: nowrap;
}
.brand-marquee i {
  width: 7px;
  height: 7px;
  border-radius: 50% 0 50% 50%;
  background: #e2a84a;
  transform: rotate(-45deg);
}
@keyframes marqueeFlow { to { transform: translateX(-50%); } }

[data-reveal] {
  opacity: 0;
  transform: translateY(45px);
  filter: blur(5px);
  transition:
    opacity .9s cubic-bezier(.22,1,.36,1),
    transform .9s cubic-bezier(.22,1,.36,1),
    filter .9s cubic-bezier(.22,1,.36,1);
  transition-delay: var(--reveal-delay, 0ms);
}
[data-reveal="left"] { transform: translateX(-50px); }
[data-reveal="right"] { transform: translateX(50px); }
[data-reveal].is-visible { opacity: 1; transform: translate(0); filter: blur(0); }

.season-card { perspective: 900px; }
.season-card-image {
  position: relative;
  overflow: hidden;
  background-size: cover;
  transition: transform .7s cubic-bezier(.22,1,.36,1), border-radius .7s ease, filter .7s ease;
}
.season-card-image::after, .branch-card .thumb::after, .mekan-shot::after {
  content: '';
  position: absolute;
  inset: -80% -30%;
  background: linear-gradient(105deg, transparent 42%, rgba(255,255,255,.28) 50%, transparent 58%);
  transform: translateX(-60%) rotate(8deg);
  transition: transform .85s cubic-bezier(.22,1,.36,1);
  pointer-events: none;
}
.season-card:hover .season-card-image {
  transform: translateY(-5px) scale(1.025);
  border-radius: 46% 46% 5px 5px;
  filter: saturate(1.08) contrast(1.03);
}
.season-card:hover .season-card-image::after,
.branch-card:hover .thumb::after,
.mekan-shot:hover::after { transform: translateX(70%) rotate(8deg); }
.season-card h3::after {
  content: ' ↗';
  display: inline-block;
  opacity: 0;
  transform: translate(-7px, 7px);
  transition: .35s ease;
}
.season-card:hover h3::after { opacity: 1; transform: translate(2px, -2px); }

.mekan-shot { background-size: cover; transition: transform .55s cubic-bezier(.22,1,.36,1), filter .55s ease; }
.mekan-shot:hover { transform: scale(.985); filter: saturate(1.12); }
.mekan-shot span { transition: transform .45s cubic-bezier(.22,1,.36,1), background-color .35s ease; }
.mekan-shot:hover span { transform: translate(7px, -7px); background: #fffaf0; }

.branch-card .thumb {
  position: relative;
  overflow: hidden;
  background-size: cover;
  transition: transform .65s cubic-bezier(.22,1,.36,1), filter .65s ease;
}
.branch-card:hover .thumb { transform: translateY(-8px); filter: saturate(1.08); }
.branch-card h3 { transition: color .3s ease, transform .35s ease; }
.branch-card:hover h3 { color: var(--primary); transform: translateX(7px); }
.branch-tags span { transition: background-color .3s ease, color .3s ease, transform .3s ease; }
.branch-card:hover .branch-tags span { background: var(--primary); color: #fff7ec; transform: translateY(-2px); }

.cta-band { isolation: isolate; }
.cta-band::after {
  opacity: 1;
  background:
    radial-gradient(circle at var(--cta-x, 80%) var(--cta-y, 50%), rgba(255,220,166,.26), transparent 24%),
    repeating-radial-gradient(circle at 80% 50%, transparent 0 28px, rgba(255,255,255,.035) 29px 30px);
  transition: background-position .2s ease;
}
.cta-band .btn { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.35); }
.cta-band .btn::after {
  content: ''; position: absolute; inset: 0; background: #f4e2ca;
  transform: translateY(102%); transition: transform .4s cubic-bezier(.22,1,.36,1); z-index: -1;
}
.cta-band .btn:hover { color: var(--primary-dark); }
.cta-band .btn:hover::after { transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
  [data-reveal] { opacity: 1; transform: none; filter: none; }
}
@media (max-width: 680px) {
  .brand-marquee { padding: 13px 0; }
  .brand-marquee-track { gap: 20px; animation-duration: 19s; }
  .hero-media { transform: scale(1.04); }
  [data-reveal], [data-reveal="left"], [data-reveal="right"] { transform: translateY(24px); }
}

/* Unified premium typography */
h1, h2, h3, h4,
.title,
.section h2,
.hero-content h1,
.season-shell-head h2,
.season-card h3,
.mekan-shell-head h2,
.section-head h2,
.branch-card h3,
.cta-band h3,
.panel h3,
.menu-category-body h3,
.menu-taxonomy-group h2,
.menu-item h3,
.menu-subgroup-title strong,
.footer-grid h3,
.footer-grid h4 {
  font-family: 'Bai Jamjuree', sans-serif;
  font-weight: 600;
  letter-spacing: -.018em;
}
.hero-content h1 {
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: .94;
}
.season-card h3,
.branch-card h3,
.menu-item h3,
.menu-category-body h3 {
  letter-spacing: -.01em;
}
.brand-marquee span {
  font-family: 'Bai Jamjuree', sans-serif;
  font-weight: 600;
}
.desktop-nav,
.btn,
.eyebrow,
.hero-kicker,
.section-kicker,
.cta-kicker,
.menu-group-tab,
.menu-filter-card-copy,
body {
  font-family: 'Bai Jamjuree', sans-serif;
}

/* Animated signature showcase */
.ritual-section {
  --ritual-accent: #ac1318;
  position: relative;
  overflow: hidden;
  padding: clamp(82px, 9vw, 140px) 0;
  background: #ede4d7;
  isolation: isolate;
}
.ritual-section::before {
  display: none;
}
.ritual-heading { position: relative; z-index: 4; text-align: center; margin-bottom: -42px; }
.ritual-heading .section-kicker { justify-content: center; }
.ritual-heading h2 {
  margin-top: 12px;
  font-size: clamp(48px, 6.5vw, 92px);
  font-weight: 600;
  line-height: .82;
  color: #2d211c;
}
.ritual-stage {
  min-height: 660px;
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(390px, 1.35fr) minmax(210px, .75fr);
  align-items: center;
  gap: 26px;
}
.ritual-copy { position: relative; z-index: 3; min-height: 320px; }
.ritual-counter { display: flex; align-items: center; gap: 10px; margin-bottom: 70px; }
.ritual-counter strong {
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 38px;
  font-weight: 600;
  color: var(--primary);
}
.ritual-counter span { width: 60px; height: 1px; background: rgba(45,33,28,.36); }
.ritual-counter small { font-size: 12px; letter-spacing: .12em; color: var(--muted); }
.ritual-text {
  position: absolute;
  top: 110px;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transform: translateX(42px);
  filter: blur(7px);
  transition: opacity .65s ease, transform .75s cubic-bezier(.22,1,.36,1), filter .65s ease, visibility .65s;
}
.ritual-text.is-active { opacity: 1; visibility: visible; transform: translateX(0); filter: blur(0); }
.ritual-text.is-exiting-left { opacity: 0; visibility: visible; transform: translateX(-42px); filter: blur(5px); }
.ritual-text > span, .ritual-side-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--primary);
}
.ritual-text h3 { margin: 10px 0 14px; font-size: clamp(35px, 4vw, 55px); line-height: .98; }
.ritual-text p { max-width: 360px; color: var(--muted); line-height: 1.75; }
.ritual-text a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--ink);
  font-size: 13px;
  font-weight: 700;
}
.ritual-text a i { transition: transform .3s ease; }
.ritual-text a:hover i { transform: translateX(6px); }
.ritual-visual {
  position: relative;
  height: 620px;
  display: grid;
  place-items: center;
}
.ritual-halo {
  position: absolute;
  width: min(36vw, 440px);
  height: 520px;
  border-radius: 32px;
  background: linear-gradient(145deg, rgba(255,255,255,.8), rgba(255,245,239,.34)), var(--ritual-accent);
  box-shadow: 0 45px 90px rgba(67,39,28,.18);
  transform: rotate(4deg);
  transition: background-color .8s ease, transform .9s cubic-bezier(.22,1,.36,1);
  animation: ritualPulse 5s ease-in-out infinite;
}
.ritual-halo::before,
.ritual-halo::after { display: none; }

/* Compact slider copy — approximately 50% smaller */
.home-page .hero-content { max-width: 410px; }
.home-page .hero-content::before {
  inset: -18px -38px -20px -20px;
  border-radius: 18px;
}
.home-page .hero-content h1 {
  max-width: 410px;
  font-size: clamp(30px, 3.2vw, 44px);
  line-height: 1;
  letter-spacing: -.025em;
}
.home-page .hero-content p {
  max-width: 390px;
  margin-top: 14px;
  font-size: 13px;
  line-height: 1.55;
}
.home-page .hero-kicker {
  margin-bottom: 12px;
  padding: 5px 9px;
  font-size: 8px;
  letter-spacing: .14em;
}
.home-page .hero-kicker::before { width: 20px; }
@media (max-width: 680px) {
  .home-page .hero-content { max-width: 290px; }
  .home-page .hero-content::before { inset: -14px -18px -16px -16px; border-radius: 15px; }
  .home-page .hero-content h1 { max-width: 290px; font-size: 30px; }
  .home-page .hero-content p { max-width: 280px; margin-top: 11px; font-size: 12px; line-height: 1.45; }
  .home-page .hero-kicker { margin-bottom: 9px; font-size: 7px; }
}

/* Balanced home section typography */
.home-page .season-shell-head h2,
.home-page .ritual-heading h2,
.home-page .mekan-shell-head h2,
.home-page > .section > .container > .section-head h2 {
  font-size: clamp(38px, 4.6vw, 64px);
  line-height: .94;
  letter-spacing: -.035em;
}
.home-page .cta-content h3 {
  font-size: clamp(40px, 4.2vw, 60px);
  line-height: .94;
}
@media (max-width: 680px) {
  .home-page .season-shell-head h2,
  .home-page .ritual-heading h2,
  .home-page .mekan-shell-head h2,
  .home-page > .section > .container > .section-head h2 {
    font-size: 40px;
    line-height: .96;
  }
  .home-page .cta-content h3 { font-size: 40px; }
}

/* Bright cinematic hero — no full-image dark overlay */
.home-page .hero-media::after { display: none; background: none; }
.home-page .hero-slide::after {
  content: '';
  position: absolute;
  z-index: 1;
  width: min(42vw, 620px);
  aspect-ratio: 1;
  right: -10%;
  top: -28%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,218,194,.2), rgba(193,38,21,.07) 38%, transparent 70%);
  mix-blend-mode: screen;
  pointer-events: none;
  animation: heroLightDrift 9s ease-in-out infinite alternate;
}
.home-page .hero-content {
  position: relative;
  isolation: isolate;
  text-shadow: 0 2px 12px rgba(28,12,10,.5);
}
.home-page .hero-content::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -30px -75px -32px -32px;
  border-radius: 28px;
  background: linear-gradient(90deg, rgba(65,10,12,.58), rgba(96,18,19,.28) 58%, transparent 100%);
  backdrop-filter: blur(2px);
  -webkit-mask-image: linear-gradient(90deg, #000 0 72%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0 72%, transparent 100%);
}
.home-page .hero-content h1,
.home-page .hero-content p { text-shadow: 0 3px 15px rgba(26,10,9,.55); }
.home-page .hero-kicker {
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 999px;
  background: rgba(86,13,15,.2);
  backdrop-filter: blur(7px);
}
.home-page .hero-nav {
  border-color: rgba(255,255,255,.55);
  background: rgba(255,255,255,.12);
  color: #fff;
  backdrop-filter: blur(10px);
}
.home-page .hero-nav:hover { background: #ac1318; border-color: #ac1318; }
@keyframes heroLightDrift {
  from { transform: translate3d(-3%, 0, 0) scale(.92); opacity: .65; }
  to { transform: translate3d(7%, 10%, 0) scale(1.08); opacity: 1; }
}
@media (max-width: 680px) {
  .home-page .hero-content::before { inset: -22px -28px -24px -22px; background: rgba(65,10,12,.42); mask-image: none; -webkit-mask-image: none; }
  .home-page .hero-slide::after { width: 340px; right: -45%; top: -12%; }
}
@media (prefers-reduced-motion: reduce) { .home-page .hero-slide::after { animation: none; } }
.ritual-word {
  position: absolute;
  z-index: 1;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: clamp(74px, 10vw, 150px);
  font-weight: 700;
  letter-spacing: -.08em;
  color: rgba(255,244,228,.17);
}
.ritual-product {
  position: absolute;
  z-index: 2;
  width: min(31vw, 390px);
  aspect-ratio: 4/5;
  opacity: 0;
  transform: translate3d(90px, 0, 0) scale(.92);
  filter: blur(12px);
  transition: opacity .65s ease, transform .95s cubic-bezier(.16,1,.3,1), filter .7s ease;
}
.ritual-product.is-active { opacity: 1; transform: translate3d(0,0,0) scale(1); filter: blur(0); }
.ritual-product.is-exiting-left { opacity: 0; transform: translate3d(-90px,0,0) scale(.92); filter: blur(10px); }
.ritual-product-image {
  width: 100%;
  height: 100%;
  border-radius: 24px;
  background-position: center;
  background-size: cover;
  box-shadow: 0 36px 65px rgba(37,24,19,.3);
  animation: none;
}
.ritual-shadow {
  position: absolute;
  z-index: 0;
  bottom: 68px;
  width: 55%;
  height: 28px;
  border-radius: 50%;
  background: rgba(45,28,20,.22);
  filter: blur(16px);
  animation: shadowBreath 4.8s ease-in-out infinite;
}
.ritual-side { position: relative; z-index: 3; padding-top: 170px; }
.ritual-side p { max-width: 270px; margin-top: 14px; color: var(--muted); line-height: 1.75; }
.ritual-controls { display: flex; gap: 10px; margin-top: 34px; }
.ritual-controls button {
  width: 50px; height: 50px; border-radius: 50%; border: 1px solid rgba(45,33,28,.44);
  background: transparent; color: var(--ink); cursor: pointer; transition: .3s ease;
}
.ritual-controls button:hover { background: var(--primary); border-color: var(--primary); color: #fff; transform: translateY(-3px); }
.ritual-progress { width: 180px; height: 2px; margin-top: 32px; overflow: hidden; background: rgba(45,33,28,.16); }
.ritual-progress i { display: block; width: 0; height: 100%; background: var(--primary); }
.ritual-progress i.is-running { animation: ritualProgress 5s linear both; }
.ritual-orbit { position: absolute; z-index: -1; border: 1px solid rgba(92,47,38,.11); border-radius: 50%; }
.ritual-orbit-one { width: 420px; height: 420px; left: -230px; top: 15%; }
.ritual-orbit-two { width: 320px; height: 320px; right: -180px; bottom: 8%; }
@keyframes ritualFloat { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-16px) rotate(1deg); } }
@keyframes shadowBreath { 0%,100% { transform: scale(1); opacity: .75; } 50% { transform: scale(.86); opacity: .5; } }
@keyframes ritualPulse { 0%,100% { transform: rotate(4deg) scale(1); } 50% { transform: rotate(2deg) scale(1.018); } }
@keyframes ritualSpin { to { transform: rotate(360deg); } }
@keyframes ritualProgress { from { width: 0; } to { width: 100%; } }
@media (max-width: 980px) {
  .ritual-heading { margin-bottom: 25px; }
  .ritual-stage { grid-template-columns: 1fr 1fr; min-height: auto; }
  .ritual-visual { grid-column: 2; grid-row: 1 / span 2; height: 560px; }
  .ritual-halo { width: min(48vw, 430px); }
  .ritual-product { width: min(40vw, 350px); }
  .ritual-side { padding-top: 0; align-self: start; }
}
@media (max-width: 680px) {
  .ritual-section { padding: 74px 0 82px; }
  .ritual-heading h2 { font-size: 52px; }
  .ritual-stage { display: flex; flex-direction: column; gap: 12px; }
  .ritual-visual { order: 1; width: 100%; height: 430px; }
  .ritual-halo { width: 330px; }
  .ritual-product { width: 270px; }
  .ritual-copy { order: 2; width: 100%; min-height: 300px; }
  .ritual-counter { margin: 10px 0 32px; }
  .ritual-text { top: 75px; }
  .ritual-side { order: 3; width: 100%; display: grid; grid-template-columns: 1fr auto; gap: 10px 20px; align-items: end; }
  .ritual-side p { grid-column: 1 / -1; }
  .ritual-controls { margin-top: 10px; }
  .ritual-progress { align-self: center; margin-top: 10px; width: 130px; }
}

/* Lively non-corporate palette — logo keeps its original brand color */
:root {
  --bg: #fff8e9;
  --surface: #fffdf7;
  --surface-soft: #f8e8d2;
  --ink: #35231d;
  --muted: #7c675b;
  --border: #ead6c2;
  --primary: #ac1318;
  --primary-dark: #720d11;
  --secondary: #d99a35;
  --secondary-soft: #f7e7ba;
  --accent: #e2a84a;
}
body {
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 2%, rgba(226,168,74,.18), transparent 30%),
    radial-gradient(circle at 92% 18%, rgba(229,139,58,.17), transparent 34%),
    var(--bg);
}
.announcement-bar {
  background: linear-gradient(90deg, #6b211c, #ac1318 48%, #a44936);
  color: #fffaf0;
}
.site-header { background: rgba(255,253,247,.92); }
.site-header.scrolled { background: rgba(255,253,247,.86); }
.desktop-nav .nav-link:hover,
.desktop-nav .nav-link.is-active,
.nav-item-wrap:hover .nav-link { color: #ac1318; }
.nav-submenu { border-color: rgba(182,66,50,.16); }
.nav-submenu a:hover { background: #fff1e1; color: #ac1318; }
.btn-primary {
  background: linear-gradient(120deg, #ac1318, #dc7144);
  color: #fffdf4;
}
.btn-primary:hover { background: linear-gradient(120deg, #720d11, #ac1318); }
.btn-soft:hover { border-color: #d9a078; background: #fff0df; }
.brand-marquee { background: #67221d; color: #fff0c9; }
.brand-marquee i { background: #f1b94f; }
.section-kicker, .eyebrow { color: #ac1318; }
.season-section { background: linear-gradient(180deg, #fff8e9, #fff5e8); }
.season-card-image { background-color: #f7dfc5; }
.season-nav:hover { background: #f1b94f; color: #35231d; }
.mekan-shell {
  background:
    radial-gradient(circle at 92% 12%, rgba(226,168,74,.22), transparent 30%),
    linear-gradient(135deg, #6b211c, #a43d2f 58%, #c25b3d);
}
.mekan-shell .eyebrow { color: #ffd978; border-color: rgba(255,217,120,.35); }
.mekan-nav { color: #f7d582; border-color: rgba(247,213,130,.55); }
.mekan-nav:hover { background: #f1b94f; color: #67251f; }
.branch-tags span {
  border-color: rgba(182,66,50,.28);
  color: #ac1318;
}
.branch-card:hover h3 { color: #ac1318; }
.branch-card:hover .branch-tags span { background: #ac1318; color: #fffdf4; }
.cta-band {
  background:
    radial-gradient(circle at 85% 20%, rgba(255,214,112,.35), transparent 28%),
    linear-gradient(120deg, #720d11, #ac1318 58%, #d46a40);
}
.cta-kicker { color: #ffd978; }
.cta-band .btn { background: #f1b94f; border-color: #f7d582; color: #3b261e; }
.cta-band .btn::after { background: #fff4d1; }
.cta-band .btn:hover { color: #720d11; }
.ritual-section {
  background:
    radial-gradient(circle at 12% 18%, rgba(241,185,79,.28), transparent 24%),
    radial-gradient(circle at 86% 72%, rgba(217,84,63,.24), transparent 28%),
    #fff0dc;
}
.ritual-section::before { opacity: .18; }
.ritual-heading h2 { color: #67251f; }
.ritual-counter strong,
.ritual-text > span,
.ritual-side-label { color: #ac1318; }
.ritual-controls button:hover { background: #f1b94f; border-color: #f1b94f; color: #67251f; }
.ritual-progress i { background: linear-gradient(90deg, #ac1318, #e2a84a); }
.menu-group-tab.is-active,
.menu-filter-card.is-active .menu-filter-card-copy {
  background: #ac1318;
  color: #fffdf4;
}
.menu-taxonomy-group { background: #fffdf7; border-color: rgba(182,66,50,.16); }
.menu-subgroup-title {
  border-left-color: #e2a84a;
  background: linear-gradient(105deg, #6b211c, #a43d2f 60%, #d99a35);
}
.back-top { background: #ac1318; }

/* Borderless editorial venue gallery */
.mekan-section {
  position: relative;
  padding: 120px 0 130px !important;
  background: transparent;
}
.mekan-shell {
  overflow: visible;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.mekan-shell::before,
.mekan-shell::after { display: none; }
.mekan-shell-head {
  position: relative;
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(420px, 1.4fr);
  align-items: end;
  gap: 60px;
  margin-bottom: 58px;
  padding: 0 0 28px;
  border-bottom: 1px solid rgba(53,35,29,.18);
}
.mekan-shell-head::after {
  content: 'SPACES / 01';
  position: absolute;
  right: 0;
  top: 0;
  color: #ac1318;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .22em;
}
.mekan-shell .eyebrow {
  grid-column: 1;
  color: #ac1318;
}
.mekan-shell-head h2 {
  grid-column: 1;
  max-width: 520px;
  margin-top: 14px;
  color: #35231d;
  font-size: clamp(48px, 6vw, 78px);
  line-height: .9;
}
.mekan-shell-head p.lead {
  grid-column: 2;
  grid-row: 1 / span 2;
  max-width: 470px;
  margin: 0 0 4px;
  color: #7c675b;
  font-size: 16px;
  line-height: 1.8;
}
.mekan-carousel { --mekan-gap: 22px; }
.mekan-viewport {
  overflow: hidden;
  padding: 28px 0 44px;
}
.mekan-track { align-items: center; }
.mekan-shot {
  min-height: 0;
  aspect-ratio: 1 / 1;
  border: 1px solid #e1ddd9;
  border-radius: 12px;
  background-position: center;
  box-shadow: 0 26px 52px rgba(103,55,42,.14);
  filter: saturate(.92);
  transition:
    transform .7s cubic-bezier(.22,1,.36,1),
    border-radius .7s cubic-bezier(.22,1,.36,1),
    filter .5s ease,
    box-shadow .5s ease;
}
.mekan-slide:nth-child(even) {
  min-height: 0;
  border-radius: 12px;
  transform: none;
}
.mekan-slide:nth-child(3n) {
  min-height: 0;
  border-radius: 12px;
  transform: none;
}
.mekan-shot::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 48%, rgba(42,24,19,.7));
}
.mekan-shot:hover {
  z-index: 2;
  transform: none;
  border-radius: 12px;
  filter: saturate(1.08);
  box-shadow: 0 34px 65px rgba(103,55,42,.22);
}
.mekan-slide:nth-child(even):hover,
.mekan-slide:nth-child(3n):hover { transform: none; }
.mekan-shot-caption {
  position: absolute;
  z-index: 2;
  left: 22px;
  right: 22px;
  bottom: 22px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  color: #fffdf4;
}
.mekan-shot-caption small {
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 24px;
  font-weight: 600;
  color: #f1b94f;
}
.mekan-shot-caption span {
  position: static;
  max-width: 190px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-align: right;
  text-shadow: none;
  backdrop-filter: none;
}
.mekan-shot:hover .mekan-shot-caption span { transform: none; background: transparent; }
.mekan-controls {
  justify-content: center;
  gap: 12px;
  margin-top: 0;
}
.mekan-nav {
  width: 52px;
  height: 52px;
  border-color: rgba(53,35,29,.45);
  background: transparent;
  color: #35231d;
}
.mekan-nav:hover {
  border-color: #ac1318;
  background: #ac1318;
  color: #fffdf4;
}
@media (max-width: 680px) {
  .mekan-section { padding: 82px 0 90px !important; }
  .mekan-shell { margin: 0; }
  .mekan-shell-head {
    display: block;
    margin-bottom: 34px;
    padding: 0 0 24px;
  }
  .mekan-shell-head::after { display: none; }
  .mekan-shell-head h2 { margin-top: 12px; font-size: 52px; }
  .mekan-shell-head p.lead { margin-top: 20px; font-size: 14px; }
  .mekan-viewport { overflow: hidden; padding: 10px 0 34px; }
  .mekan-shot,
  .mekan-slide:nth-child(even),
  .mekan-slide:nth-child(3n) {
    min-height: 0;
    aspect-ratio: 1 / 1;
    border-radius: 12px;
    transform: none;
  }
}

/* MENU — visual and usable catalog */
.menu-catalog-page { background: #fbf7f2; }
.menu-catalog-page .page-hero { padding-bottom: 0; }
.menu-catalog-page .page-hero-box {
  min-height: clamp(400px, 48vw, 590px);
  border-radius: 30px 30px 0 0;
}
.menu-quickbar {
  position: sticky;
  z-index: 20;
  top: 76px;
  padding: 0;
  background: rgba(255,250,246,.92);
  border-bottom: 1px solid rgba(172,19,24,.12);
  box-shadow: 0 14px 35px rgba(75,37,30,.07);
  backdrop-filter: blur(15px);
}
.menu-quickbar-inner {
  min-height: 108px;
  display: grid;
  grid-template-columns: 230px minmax(280px, 650px) 110px;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.menu-quickbar-inner > div span {
  display: block;
  margin-bottom: 4px;
  color: #ac1318;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .2em;
}
.menu-quickbar-inner > div strong {
  color: #4a2823;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 24px;
}
.menu-search-field {
  height: 58px;
  display: grid;
  grid-template-columns: 44px 1fr 42px;
  align-items: center;
  padding: 0 8px;
  border: 1px solid rgba(172,19,24,.18);
  border-radius: 999px;
  background: #fff;
  transition: border-color .3s ease, box-shadow .3s ease;
}
.menu-search-field:focus-within {
  border-color: #ac1318;
  box-shadow: 0 0 0 5px rgba(172,19,24,.08);
}
.menu-search-field > i { color: #ac1318; text-align: center; }
.menu-search-field input {
  width: 100%;
  border: 0;
  outline: 0;
  color: #422721;
  background: transparent;
  font: 500 14px 'Bai Jamjuree', sans-serif;
}
.menu-search-field button {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: #ac1318;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: scale(.7);
  transition: opacity .25s ease, transform .25s ease;
}
.menu-search-field button.is-visible { opacity: 1; pointer-events: auto; transform: scale(1); }
.menu-quickbar-inner > a {
  color: #6c514a;
  text-align: right;
  text-decoration: none;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.menu-quickbar-inner > a span {
  display: block;
  color: #ac1318;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 34px;
  line-height: .8;
}
.menu-browser { padding: clamp(90px, 10vw, 140px) 0 55px; }
.menu-browser-heading {
  display: grid;
  grid-template-columns: .65fr 1.35fr 1fr;
  align-items: end;
  gap: 40px;
  margin-bottom: 48px;
}
.menu-browser-heading > span {
  align-self: start;
  color: #ac1318;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.menu-browser-heading h2 {
  margin: 0;
  color: #422721;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: clamp(48px, 6vw, 80px);
  line-height: .86;
}
.menu-browser-heading p { margin: 0; color: #76635c; }
.menu-catalog-page .menu-taxonomy {
  overflow: hidden;
  padding: 0;
  border-radius: 28px;
  background: #4f211d;
}
.menu-catalog-page .menu-group-tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  padding: 0;
  border-bottom: 1px solid rgba(255,255,255,.28);
  background: #3f1916;
}
.menu-catalog-page .menu-group-tab {
  position: relative;
  min-height: 88px;
  border: 0;
  border-radius: 0;
  color: #fff;
  background: transparent;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .72;
  transition: color .3s ease, background .3s ease, opacity .3s ease;
}
.menu-catalog-page .menu-group-tab::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 4px;
  background: #fff5ef;
  transform: translateX(-50%);
  transition: width .4s cubic-bezier(.22,1,.36,1);
}
.menu-catalog-page .menu-group-tab:hover { color: #fff; opacity: 1; background: rgba(255,255,255,.06); }
.menu-catalog-page .menu-group-tab + .menu-group-tab { border-left: 1px solid rgba(255,255,255,.24); }
.menu-catalog-page .menu-group-tab.is-active { color: #4f211d; background: #fff5ef; opacity: 1; }
.menu-catalog-page .menu-group-tab.is-active::after { width: 70px; background: #ac1318; }
.menu-catalog-page .menu-taxonomy-group {
  padding: clamp(28px, 4vw, 52px);
  border: 0;
  background: transparent;
}
.menu-catalog-page .menu-taxonomy-group h2 { display: none; }
.menu-catalog-page .menu-taxonomy-buttons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.menu-catalog-page .menu-filter-card {
  min-width: 0;
  min-height: 118px;
  display: grid;
  grid-template-columns: 78px 1fr;
  align-items: center;
  gap: 16px;
  overflow: hidden;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 16px;
  color: #4c2a24;
  background: #f7ebe5;
  text-align: left;
  transition: transform .4s cubic-bezier(.22,1,.36,1), background .3s ease, border-color .3s ease;
}
.menu-catalog-page .menu-filter-card:hover { transform: translateY(-5px); border-color: #fff; background: #fffaf6; }
.menu-catalog-page .menu-filter-card.is-active { border-color: #fff; background: #fff; color: #702b26; box-shadow: 0 15px 32px rgba(25,9,8,.18); }
.menu-catalog-page .menu-filter-card-image {
  width: 78px;
  height: 78px;
  display: block;
  border: 3px solid rgba(172,19,24,.1);
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  filter: saturate(.75);
  transition: transform .5s ease, filter .4s ease;
}
.menu-catalog-page .menu-filter-card:hover .menu-filter-card-image { transform: rotate(5deg) scale(1.06); filter: saturate(1); }
.menu-catalog-page .menu-filter-card-copy {
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr 28px;
  align-items: center;
  gap: 6px;
  padding: 0;
}
.menu-filter-number {
  grid-column: 1 / -1;
  color: #ac1318;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .16em;
}
.menu-catalog-page .menu-filter-card-copy strong {
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 23px;
  line-height: 1;
}
.menu-catalog-page .menu-filter-card-copy small {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(172,19,24,.25);
  border-radius: 50%;
  color: #ac1318;
  font-size: 10px;
  transition: color .3s ease, background .3s ease, transform .3s ease;
}
.menu-catalog-page .menu-filter-card:hover small,
.menu-catalog-page .menu-filter-card.is-active small { color: #fff; background: #ac1318; transform: rotate(45deg); }
.menu-results-section { padding: 80px 0 130px !important; background: #fffaf6 !important; }
.menu-results-head {
  display: grid;
  grid-template-columns: .6fr 1.3fr 1fr;
  align-items: end;
  gap: 30px;
}
.menu-results-head h2 { margin: 0; font-size: clamp(54px, 7vw, 90px); line-height: .82; }
.menu-results-head .lead { margin: 0; }
.menu-catalog-page .menu-products-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}
.menu-catalog-page .menu-item {
  display: grid;
  grid-template-columns: 46% 1fr;
  min-height: 310px;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(172,19,24,.12);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 35px rgba(75,37,30,.06);
  transition: transform .45s cubic-bezier(.22,1,.36,1), box-shadow .4s ease;
}
.menu-catalog-page .menu-item:hover { transform: translateY(-7px); box-shadow: 0 26px 55px rgba(75,37,30,.13); }
.menu-item-visual { position: relative; overflow: hidden; min-height: 310px; margin: 0; }
.menu-item-visual img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .7s cubic-bezier(.22,1,.36,1); }
.menu-item:hover .menu-item-visual img { transform: scale(1.07); }
.menu-item-visual span {
  position: absolute;
  right: 14px;
  bottom: 14px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #ac1318;
  transition: transform .4s ease;
}
.menu-item:hover .menu-item-visual span { transform: rotate(90deg); }
.menu-item-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(22px, 3vw, 36px); }
.menu-catalog-page .menu-item-copy h3 {
  margin: 9px 0 13px;
  color: #482721;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: clamp(28px, 3vw, 39px);
  line-height: .95;
}
.menu-catalog-page .menu-item-copy .meta { color: #ac1318; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.menu-catalog-page .menu-item-copy p { margin: 0; color: #78645d; font-size: 13px; line-height: 1.7; }
.menu-catalog-page .menu-item[hidden] { display: none !important; }
.menu-search-empty {
  padding: 35px;
  border: 1px dashed rgba(172,19,24,.3);
  border-radius: 18px;
  color: #6d514a;
  text-align: center;
  background: #f7ebe5;
}
@media (max-width: 980px) {
  .menu-quickbar-inner { grid-template-columns: 1fr 1.6fr auto; }
  .menu-catalog-page .menu-taxonomy-buttons { grid-template-columns: repeat(3, 1fr); }
  .menu-catalog-page .menu-products-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .menu-catalog-page .page-hero-box { min-height: 430px; border-radius: 20px 20px 0 0; }
  .menu-quickbar { top: 62px; }
  .menu-quickbar-inner { min-height: 96px; grid-template-columns: 1fr; gap: 8px; padding: 14px 0; }
  .menu-quickbar-inner > div, .menu-quickbar-inner > a { display: none; }
  .menu-search-field { height: 54px; }
  .menu-browser-heading, .menu-results-head { grid-template-columns: 1fr; gap: 14px; }
  .menu-browser-heading { margin-bottom: 30px; }
  .menu-browser-heading h2 { font-size: 54px; }
  .menu-catalog-page .menu-group-tab { min-height: 62px; }
  .menu-catalog-page .menu-taxonomy-group { padding: 18px; }
  .menu-catalog-page .menu-taxonomy-buttons {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px;
  }
  .menu-catalog-page .menu-filter-card {
    flex: 0 0 265px;
    min-height: 105px;
    grid-template-columns: 66px 1fr;
    scroll-snap-align: start;
  }
  .menu-catalog-page .menu-filter-card-image { width: 66px; height: 66px; }
  .menu-results-section { padding: 65px 0 95px !important; }
  .menu-results-head h2 { font-size: 58px; }
  .menu-catalog-page .menu-item { grid-template-columns: 1fr; }
  .menu-item-visual { min-height: 280px; }
}

/* Artisan selections — geometric image system, no dome shapes */
.season-card-image-wrap {
  min-height: 300px;
  padding: 14px 18px 6px;
}
.season-card-image-wrap::before,
.season-card-image-wrap::after {
  inset: auto;
  width: calc(100% - 30px);
  height: calc(100% - 22px);
  aspect-ratio: auto;
  border-radius: 20px;
  animation: none;
  transition: transform .7s cubic-bezier(.22,1,.36,1), border-color .4s ease;
}
.season-card-image-wrap::before {
  transform: translate(-9px, 8px) rotate(-2deg);
  border: 1px solid rgba(172,19,24,.23);
}
.season-card-image-wrap::after {
  transform: translate(10px, -5px) rotate(2deg);
  border: 1px dashed rgba(74,40,35,.22);
}
.season-card:hover .season-card-image-wrap::before { transform: translate(-4px, 3px) rotate(0); }
.season-card:hover .season-card-image-wrap::after { transform: translate(5px, -2px) rotate(0); }
.season-card-image {
  width: 100%;
  height: 286px;
  aspect-ratio: auto;
  border-radius: 18px;
  background-position: center;
  transform: none;
  clip-path: polygon(0 0, 89% 0, 100% 12%, 100% 100%, 0 100%);
}
.season-card:nth-child(4n + 2) .season-card-image {
  border-radius: 42px 14px 42px 14px;
  clip-path: none;
}
.season-card:nth-child(4n + 3) .season-card-image {
  border-radius: 14px;
  clip-path: polygon(10% 0, 100% 0, 100% 88%, 90% 100%, 0 100%, 0 12%);
}
.season-card:nth-child(4n + 4) .season-card-image {
  border-radius: 14px 48px 14px 48px;
  clip-path: none;
}
.season-card:hover .season-card-image,
.season-card:nth-child(4n + 2):hover .season-card-image,
.season-card:nth-child(4n + 3):hover .season-card-image,
.season-card:nth-child(4n + 4):hover .season-card-image {
  border-radius: 18px;
  transform: scale(1.025);
  filter: saturate(1.05) contrast(1.02);
}
@media (max-width: 680px) {
  .season-card-image-wrap { min-height: 285px; padding-inline: 12px; }
  .season-card-image { width: 100%; height: 270px; }
}

/* Absolute white background lock */
html, body, main, .menu-catalog-page, .table-page { background: #fff !important; background-image: none !important; }
main > .section,
main > .section:nth-of-type(odd):not(.page-hero),
.page-hero,
.season-section,
.ritual-section,
.mekan-section,
.table-hero,
.table-signatures,
.table-closing,
.menu-results-section,
.menu-browser { background: #fff !important; background-image: none !important; }

/* Final franchise gradient seal lock */
.cta-seal {
  isolation: isolate;
  border: 8px solid transparent;
  background:
    linear-gradient(#fffaf6, #fffaf6) padding-box,
    conic-gradient(from var(--seal-angle, 0deg), #680b0e, #ac1318 32%, #d98268 62%, #f2cbb8 82%, #680b0e) border-box;
  box-shadow: 0 25px 50px rgba(104,11,14,.2), 0 0 38px rgba(217,130,104,.18);
  animation: ctaSealFloat 5s ease-in-out infinite, ctaSealGradient 10s linear infinite;
}
.cta-seal::before { inset: 8px; border-color: rgba(172,19,24,.16); }
@media (prefers-reduced-motion: reduce) { .cta-seal { animation: none; } }

/* Rich branch concept cards */
.branch-grid { gap: clamp(20px, 2.4vw, 34px); }
.branch-card { position: relative; isolation: isolate; }
.branch-card .thumb {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  box-shadow: 0 22px 48px rgba(70,34,28,.13);
  transition: transform .65s cubic-bezier(.22,1,.36,1), box-shadow .5s ease, filter .5s ease;
}
.branch-card .thumb::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(44,18,16,.12), transparent 45%, rgba(44,18,16,.74));
  pointer-events: none;
}
.branch-card .thumb::after {
  content: '';
  position: absolute;
  z-index: 2;
  top: -35%;
  bottom: -35%;
  left: -70%;
  width: 38%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
  transform: rotate(12deg);
  transition: left .9s cubic-bezier(.22,1,.36,1);
}
.branch-card:hover .thumb {
  transform: translateY(-10px) scale(1.012);
  box-shadow: 0 34px 68px rgba(70,34,28,.2);
  filter: saturate(1.06);
}
.branch-card:hover .thumb::after { left: 140%; }
.branch-number,
.branch-icon,
.branch-image-caption { position: absolute; z-index: 3; }
.branch-number {
  left: 18px;
  top: 18px;
  color: #fff;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 35px;
  line-height: 1;
  text-shadow: 0 3px 15px rgba(0,0,0,.35);
}
.branch-icon {
  right: 17px;
  top: 17px;
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 50%;
  color: #fff;
  background: rgba(172,19,24,.78);
  box-shadow: 0 10px 25px rgba(40,16,14,.18);
  backdrop-filter: blur(8px);
  transition: transform .55s cubic-bezier(.22,1,.36,1), background .35s ease;
}
.branch-card:hover .branch-icon { transform: rotate(12deg) scale(1.1); background: #ac1318; }
.branch-image-caption {
  left: 18px;
  right: 18px;
  bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  transform: translateY(8px);
  opacity: .82;
  transition: transform .45s ease, opacity .45s ease;
}
.branch-image-caption i { transition: transform .45s ease; }
.branch-card:hover .branch-image-caption { transform: translateY(0); opacity: 1; }
.branch-card:hover .branch-image-caption i { transform: rotate(45deg); }
.branch-card .body { position: relative; padding-top: 24px; }
.branch-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.branch-title-row h3 { margin: 0; }
.branch-status {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 7px;
  color: #71564e;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.branch-status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ac1318;
  box-shadow: 0 0 0 5px rgba(172,19,24,.1);
  animation: branchStatusPulse 2.2s ease-in-out infinite;
}
@keyframes branchStatusPulse { 50% { box-shadow: 0 0 0 9px rgba(172,19,24,0); } }
@media (max-width: 680px) {
  .branch-card .thumb { border-radius: 18px; }
  .branch-icon { width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .branch-status i { animation: none; }
  .branch-card .thumb::after { display: none; }
}

/* Premium header and announcement bar */
.announcement-bar {
  position: relative;
  overflow: hidden;
  background: linear-gradient(92deg, #59090c, #ac1318 48%, #750d11);
  border-bottom: 1px solid rgba(255,255,255,.13);
  color: #fff8f4;
}
.announcement-bar::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 25%, rgba(255,255,255,.08) 45%, transparent 65%);
  transform: translateX(-100%);
  animation: announcementShine 8s ease-in-out infinite;
}
.announcement-inner {
  position: relative;
  z-index: 1;
  min-height: 36px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 24px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
}
.announcement-note { display: inline-flex; align-items: center; gap: 8px; }
.announcement-note i { color: #f0c9b8; }
.announcement-center {
  color: rgba(255,255,255,.62);
  font-size: 8px;
  letter-spacing: .24em;
}
.announcement-inner > a {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 0;
  border: 0;
  color: #fff;
  font-size: 9px;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.announcement-inner > a i { transition: transform .3s ease; }
.announcement-inner > a:hover i { transform: translateX(5px); }
@keyframes announcementShine { 0%,65% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }

.site-header {
  top: 0;
  border-bottom: 1px solid rgba(172,19,24,.08);
  background: rgba(255,252,248,.94);
  backdrop-filter: blur(18px) saturate(1.15);
}
.site-header.scrolled {
  border-bottom-color: rgba(172,19,24,.14);
  background: rgba(255,252,248,.88);
  box-shadow: 0 15px 38px rgba(68,31,26,.09);
}
.header-inner { min-height: 90px; gap: clamp(20px, 3vw, 48px); }
.brand-logo-img {
  max-width: 190px;
  max-height: 58px;
  object-fit: contain;
  transition: transform .45s cubic-bezier(.22,1,.36,1), filter .35s ease;
}
.brand:hover .brand-logo-img { transform: scale(1.025); filter: saturate(1.08); }
.desktop-nav { align-self: stretch; gap: clamp(4px, .7vw, 12px); }
.nav-item-wrap { display: flex; align-items: stretch; }
.desktop-nav .nav-link {
  position: relative;
  min-height: 90px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 13px;
  color: #4f3a34;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.desktop-nav .nav-link::after {
  content: '';
  position: absolute;
  left: 13px;
  right: 13px;
  bottom: 20px;
  height: 2px;
  background: #ac1318;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .38s cubic-bezier(.22,1,.36,1);
}
.desktop-nav .nav-link:hover::after,
.desktop-nav .nav-link.is-active::after,
.nav-item-wrap:hover .nav-link::after { transform: scaleX(1); transform-origin: left; }
.desktop-nav .nav-link i { font-size: 8px; transition: transform .3s ease; }
.nav-item-wrap:hover .nav-link i { transform: rotate(180deg); }
.nav-submenu {
  top: calc(100% - 10px);
  min-width: 245px;
  padding: 10px;
  border: 1px solid rgba(172,19,24,.12);
  border-radius: 16px;
  background: rgba(255,252,248,.98);
  box-shadow: 0 24px 55px rgba(65,29,24,.14);
  backdrop-filter: blur(16px);
}
.nav-submenu a { padding: 11px 13px; border-radius: 9px; font-size: 12px; transition: padding .25s ease, color .25s ease, background .25s ease; }
.nav-submenu a:hover { padding-left: 18px; background: #f7e8e4; color: #ac1318; }
.header-right { margin-left: auto; }
.lang-select {
  height: 38px;
  padding: 0 30px 0 13px;
  border: 1px solid rgba(172,19,24,.16);
  border-radius: 999px;
  color: #65352f;
  background-color: #fff;
  font-size: 10px;
  font-weight: 700;
}
@media (max-width: 1080px) {
  .announcement-inner { grid-template-columns: 1fr auto; }
  .announcement-center { display: none; }
  .header-inner { min-height: 76px; }
  .brand-logo-img { max-width: 155px; max-height: 50px; }
}
@media (max-width: 680px) {
  .announcement-inner { min-height: 32px; }
  .announcement-note { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 8px; }
  .announcement-inner > a { font-size: 0; }
  .announcement-inner > a i { font-size: 10px; }
  .site-header { background: rgba(255,252,248,.96); }
}
@media (prefers-reduced-motion: reduce) { .announcement-bar::after { animation: none; } }

/* Final white site canvas */
html,
body,
main,
.menu-catalog-page,
.table-page { background: #fff; }
body { background-image: none; }
main > .section,
main > .section:nth-of-type(odd):not(.page-hero),
.page-hero,
.season-section,
.ritual-section,
.mekan-section,
.table-hero,
.table-signatures,
.table-closing,
.menu-results-section,
.menu-browser { background: #fff !important; }
.page-hero::after { color: rgba(172,19,24,.025); }
.season-section::before { color: rgba(172,19,24,.025); }

/* Franchise seal-only gradient effect */
.cta-seal {
  isolation: isolate;
  border-color: transparent;
  background:
    linear-gradient(#fffaf6, #fffaf6) padding-box,
    conic-gradient(from var(--seal-angle, 0deg), #680b0e, #ac1318 32%, #d98268 62%, #f2cbb8 82%, #680b0e) border-box;
  border: 8px solid transparent;
  box-shadow:
    0 25px 50px rgba(104,11,14,.2),
    0 0 38px rgba(217,130,104,.18);
  animation: ctaSealFloat 5s ease-in-out infinite, ctaSealGradient 10s linear infinite;
}
.cta-seal::before {
  inset: 8px;
  border-color: rgba(172,19,24,.16);
}
@property --seal-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
@keyframes ctaSealGradient { to { --seal-angle: 360deg; } }
@media (prefers-reduced-motion: reduce) {
  .cta-seal { animation: none; }
}

/* Restrained corporate palette — motion and layout remain unchanged */
:root {
  --bg: #f8f3ed;
  --surface: #fffdf9;
  --surface-soft: #eee0d8;
  --ink: #33231f;
  --muted: #76635c;
  --border: #dfcec4;
  --primary: #ac1318;
  --primary-dark: #680b0e;
  --secondary: #b96750;
  --secondary-soft: #f0ddd4;
  --accent: #c9876e;
}
body {
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 3%, rgba(172,19,24,.08), transparent 29%),
    radial-gradient(circle at 94% 18%, rgba(201,135,110,.1), transparent 32%),
    #f8f3ed;
}
.announcement-bar {
  background: linear-gradient(90deg, #680b0e, #790d11 48%, #680b0e);
}
.site-header,
.site-header.scrolled { background: rgba(255,253,249,.92); }
.desktop-nav .nav-link:hover,
.desktop-nav .nav-link.is-active,
.nav-item-wrap:hover .nav-link,
.section-kicker,
.eyebrow { color: #ac1318; }
.nav-submenu { border-color: rgba(172,19,24,.16); }
.nav-submenu a:hover { background: #f4e6df; color: #790d11; }
.btn-primary {
  background: linear-gradient(120deg, #ac1318, #b65c48);
  color: #fffdf9;
}
.btn-primary:hover { background: linear-gradient(120deg, #680b0e, #ac1318); }
.btn-soft:hover { border-color: #c9a99b; background: #f4e8e1; }
.brand-marquee { background: #4f211e; color: #f7e9e1; }
.brand-marquee i { background: #c9876e; }
.season-section {
  background:
    radial-gradient(circle at 12% 18%, rgba(172,19,24,.07), transparent 23%),
    #fbf7f2;
}
.season-section::before { color: rgba(172,19,24,.038); }
.season-card,
.season-card:nth-child(4n + 1) { background: #f5e9e1; }
.season-card:nth-child(4n + 2) { background: #eeddd5; }
.season-card:nth-child(4n + 3) { background: #f9efea; }
.season-card:nth-child(4n + 4) { background: #e8d5cd; }
.season-card-topline { color: #ac1318; }
.season-card:hover .season-card-arrow {
  background: #ac1318;
  color: #fff;
}

/* Editorial animated franchise invitation */
.cta-band {
  min-height: 560px;
  display: grid;
  grid-template-columns: minmax(330px, .8fr) minmax(440px, 1.2fr);
  align-items: center;
  gap: clamp(38px, 7vw, 100px);
  margin-top: 90px;
  padding: clamp(44px, 7vw, 88px);
  border: 1px solid rgba(172,19,24,.14);
  border-radius: 28px;
  color: #33231f;
  background:
    radial-gradient(circle at var(--cta-x, 20%) var(--cta-y, 50%), rgba(172,19,24,.1), transparent 23%),
    linear-gradient(120deg, #f4e7df, #fffaf5 56%, #f0ddd4);
  box-shadow: 0 34px 80px rgba(86,42,35,.12);
  isolation: isolate;
}
.cta-band::before {
  opacity: .42;
  background:
    linear-gradient(rgba(172,19,24,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(172,19,24,.035) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(90deg, #000, transparent 70%);
}
.cta-band::after { display: none; }
.cta-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 380px;
}
.cta-orbit {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(172,19,24,.2);
}
.cta-orbit-a {
  width: min(31vw, 390px);
  aspect-ratio: 1;
  animation: ctaOrbitSpin 22s linear infinite;
}
.cta-orbit-a::before,
.cta-orbit-a::after {
  content: '';
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #ac1318;
  box-shadow: 0 0 0 8px rgba(172,19,24,.1);
}
.cta-orbit-a::before { left: 11%; top: 13%; }
.cta-orbit-a::after { right: 8%; bottom: 19%; }
.cta-orbit-b {
  width: min(25vw, 315px);
  aspect-ratio: 1;
  border-style: dashed;
  animation: ctaOrbitSpin 16s linear infinite reverse;
}
.cta-seal {
  position: relative;
  z-index: 2;
  width: min(20vw, 245px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid rgba(172,19,24,.22);
  background: #fffaf6;
  color: #ac1318;
  box-shadow: 0 25px 50px rgba(104,11,14,.2);
  animation: ctaSealFloat 5s ease-in-out infinite;
}
.cta-seal::before {
  content: '';
  position: absolute;
  inset: 13px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 50%;
}
.cta-seal span {
  position: absolute;
  inset: -34px;
  z-index: 2;
  border: 1px dashed rgba(172,19,24,.48);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #680b0e;
  background: radial-gradient(circle, transparent 0 57%, rgba(255,250,246,.98) 58% 77%, transparent 78%);
  text-shadow: 0 1px 0 #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  animation: ctaTextSpin 18s linear infinite;
}
.cta-seal strong {
  position: relative;
  z-index: 3;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 105px;
  font-weight: 500;
  line-height: 1;
}
.cta-rotating-logo {
  position: relative;
  z-index: 3;
  width: 82%;
  height: auto;
  object-fit: contain;
  mix-blend-mode: multiply;
  animation: ctaLogoSpin 20s linear infinite;
}
.cta-content { position: relative; z-index: 3; }
.cta-kicker { width: auto; margin: 0 0 17px; color: #ac1318; }
.cta-content h3 {
  max-width: 700px;
  margin: 0;
  color: #3d2520;
  font-size: clamp(48px, 5.4vw, 76px);
  font-weight: 600;
  line-height: .9;
}
.cta-content > p {
  max-width: 610px;
  margin-top: 24px;
  color: #76635c;
  font-size: 16px;
  line-height: 1.8;
}
.cta-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 28px;
}
.cta-points span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f4239;
  font-size: 12px;
  font-weight: 600;
}
.cta-points i {
  display: grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: #ead2c7;
  color: #790d11;
  font-size: 9px;
}
.cta-content > .btn {
  position: relative;
  z-index: 2;
  min-width: 225px;
  margin-top: 34px;
  padding: 16px 21px;
  justify-content: space-between;
  border: 0;
  border-radius: 2px;
  background: #ac1318;
  color: #fff;
  box-shadow: 0 14px 30px rgba(95,36,32,.22);
}
.cta-content > .btn::after { display: none; }
.cta-content > .btn i { transition: transform .35s ease; }
.cta-content > .btn:hover {
  color: #fff;
  background: #680b0e;
  transform: translateY(-3px);
}
.cta-content > .btn:hover i { transform: translateX(7px); }
.cta-index {
  position: absolute;
  right: 26px;
  top: 24px;
  color: rgba(95,36,32,.5);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
}
@keyframes ctaOrbitSpin { to { transform: rotate(360deg); } }
@keyframes ctaTextSpin { to { transform: rotate(-360deg); } }
@keyframes ctaLogoSpin { to { transform: rotate(360deg); } }
@keyframes ctaSealFloat {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-14px) rotate(2deg); }
}
@media (max-width: 900px) {
  .cta-band { grid-template-columns: 1fr; text-align: center; }
  .cta-visual { min-height: 330px; }
  .cta-orbit-a { width: 330px; }
  .cta-orbit-b { width: 270px; }
  .cta-seal { width: 210px; }
  .cta-kicker, .cta-points { justify-content: center; }
  .cta-content > p { margin-left: auto; margin-right: auto; }
}
@media (max-width: 680px) {
  .cta-band {
    min-height: 0;
    margin-top: 60px;
    padding: 42px 22px;
    border-radius: 20px;
  }
  .cta-visual { min-height: 270px; }
  .cta-orbit-a { width: 265px; }
  .cta-orbit-b { width: 220px; }
  .cta-seal { width: 165px; }
  .cta-seal strong { font-size: 76px; }
  .cta-seal span { inset: -27px; font-size: 8px; }
  .cta-content h3 { font-size: 50px; }
  .cta-points { display: grid; justify-items: start; max-width: 230px; margin-left: auto; margin-right: auto; }
  .cta-content > .btn { width: 100%; }
}
.season-nav:hover {
  border-color: #ac1318;
  background: #ac1318;
  color: #fff;
}
.ritual-section {
  background:
    radial-gradient(circle at 12% 18%, rgba(172,19,24,.11), transparent 25%),
    radial-gradient(circle at 87% 72%, rgba(201,135,110,.12), transparent 28%),
    #f4e9e2;
}
.ritual-heading h2 { color: #4a2b26; }
.ritual-counter strong,
.ritual-text > span,
.ritual-side-label { color: #ac1318; }
.ritual-progress i { background: linear-gradient(90deg, #790d11, #c9876e); }
.ritual-controls button:hover {
  border-color: #ac1318;
  background: #ac1318;
  color: #fff;
}
.mekan-shell .eyebrow { color: #ac1318; }
.mekan-nav { color: #680b0e; border-color: rgba(95,36,32,.42); }
.mekan-nav:hover {
  border-color: #ac1318;
  background: #ac1318;
  color: #fff;
}
.mekan-shot-caption small { color: #e0a28b; }
.branch-tags span { border-color: rgba(172,19,24,.26); color: #ac1318; }
.branch-card:hover h3 { color: #ac1318; }
.branch-card:hover .branch-tags span { background: #ac1318; color: #fff; }
.cta-band {
  background:
    radial-gradient(circle at 85% 20%, rgba(201,135,110,.24), transparent 28%),
    linear-gradient(120deg, #680b0e, #790d11 58%, #ac1318);
}
.cta-kicker { color: #e7b7a5; }
.cta-band .btn {
  border-color: rgba(255,255,255,.34);
  background: #fff8f3;
  color: #6d2924;
}
.cta-band .btn::after { background: #ead2c7; }
.menu-group-tab.is-active,
.menu-filter-card.is-active .menu-filter-card-copy {
  background: #790d11;
}
.menu-taxonomy-group { border-color: rgba(172,19,24,.15); }
.menu-subgroup-title {
  border-left-color: #c9876e;
  background: linear-gradient(105deg, #680b0e, #790d11 62%, #a84c40);
}
.back-top { background: #ac1318; }

/* Geometric gallery: no domes */
.mekan-shot,
.mekan-slide:nth-child(even),
.mekan-slide:nth-child(3n) {
  min-height: 420px;
  border-radius: 22px;
  transform: none;
}
.mekan-slide:nth-child(even) { min-height: 360px; }
.mekan-slide:nth-child(3n) { min-height: 460px; }
.mekan-shot::after {
  background: linear-gradient(110deg, transparent 38%, rgba(255,255,255,.32) 50%, transparent 62%);
}
.mekan-shot:hover,
.mekan-slide:nth-child(even):hover,
.mekan-slide:nth-child(3n):hover {
  transform: translateY(-14px) rotate(.6deg) scale(1.018);
  border-radius: 22px;
}

/* Circular, animated signature selection */
.season-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  background:
    radial-gradient(circle at 10% 20%, rgba(226,168,74,.2), transparent 24%),
    radial-gradient(circle at 90% 72%, rgba(229,139,58,.18), transparent 28%),
    #fffaf0;
}
.season-section::before {
  content: 'TASTE';
  position: absolute;
  right: -35px;
  top: 20px;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: clamp(110px, 16vw, 250px);
  font-weight: 700;
  letter-spacing: -.08em;
  color: rgba(182,66,50,.045);
  pointer-events: none;
}
.season-shell-head { position: relative; z-index: 2; margin-bottom: 48px; }
.season-shell-head h2 {
  max-width: 680px;
  font-size: clamp(48px, 6vw, 76px);
  line-height: .9;
}
.season-carousel { --season-gap: 22px; }
.season-viewport { padding: 10px 0 36px; }
.season-track { align-items: stretch; }
.season-card {
  min-height: 530px;
  padding: 18px;
  border-radius: 26px;
  background: #fff0d8;
  box-shadow: 0 18px 42px rgba(132,68,48,.1);
  transform: translateY(0);
  transition: transform .55s cubic-bezier(.22,1,.36,1), box-shadow .45s ease, background-color .45s ease;
}
.season-card:nth-child(4n + 2) { background: #f8dfaa; }
.season-card:nth-child(4n + 3) { background: #ffe4cf; }
.season-card:nth-child(4n + 4) { background: #e8ddd4; }
.season-card:hover {
  transform: translateY(-12px);
  box-shadow: 0 30px 58px rgba(132,68,48,.18);
}
.season-card-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  color: #ac1318;
}
.season-card-topline span {
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: 25px;
  font-weight: 700;
}
.season-card-topline small {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.season-card-image-wrap {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 285px;
}
.season-card-image-wrap::before,
.season-card-image-wrap::after {
  content: '';
  position: absolute;
  border: 1px solid rgba(53,35,29,.15);
  border-radius: 50%;
  pointer-events: none;
}
.season-card-image-wrap::before { width: 96%; aspect-ratio: 1; }
.season-card-image-wrap::after {
  width: 108%;
  aspect-ratio: 1;
  border-style: dashed;
  animation: artisanOrbit 24s linear infinite;
}
.season-card-image {
  position: relative;
  z-index: 1;
  flex: none;
  width: min(88%, 275px);
  aspect-ratio: 1;
  min-height: 0;
  border-radius: 50%;
  background-position: center;
  background-size: cover;
  box-shadow: 0 24px 45px rgba(65,39,30,.18);
  transform: scale(1) rotate(0);
  transition: transform .75s cubic-bezier(.22,1,.36,1), border-radius .65s ease, filter .55s ease;
}
.season-card:hover .season-card-image {
  transform: scale(1.055) rotate(3deg);
  border-radius: 34% 66% 55% 45% / 45% 38% 62% 55%;
}
.season-card-image::after { display: none; }
.season-copy {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 24px 2px 4px;
}
.season-card h3 { max-width: calc(100% - 42px); font-size: 28px; }
.season-card p { max-width: calc(100% - 32px); }
.season-card-arrow {
  position: absolute;
  right: 0;
  bottom: 2px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(53,35,29,.45);
  border-radius: 50%;
  transition: transform .4s ease, background-color .35s ease, color .35s ease;
}
.season-card:hover .season-card-arrow {
  transform: rotate(45deg);
  background: #ac1318;
  color: #fff;
}
.season-card h3::after { display: none; }
.season-controls { justify-content: center; margin-top: 6px; }
.season-nav {
  width: 52px;
  height: 52px;
  border-color: rgba(53,35,29,.5);
}
@keyframes artisanOrbit { to { transform: rotate(360deg); } }
@media (max-width: 680px) {
  .season-section { padding: 80px 0; }
  .season-shell-head h2 { font-size: 52px; }
  .season-card { min-height: 500px; padding: 18px; border-radius: 22px; }
  .season-card-image-wrap { min-height: 280px; }
  .season-card-image { width: 260px; }
  .mekan-shot,
  .mekan-slide:nth-child(even),
  .mekan-slide:nth-child(3n) {
    min-height: 420px;
    border-radius: 18px;
  }
}

/* Final corporate color lock */
.season-section {
  background:
    radial-gradient(circle at 12% 18%, rgba(172,19,24,.07), transparent 23%),
    #fbf7f2;
}
.season-section::before { color: rgba(172,19,24,.038); }
.season-card,
.season-card:nth-child(4n + 1) { background: #f5e9e1; }
.season-card:nth-child(4n + 2) { background: #eeddd5; }
.season-card:nth-child(4n + 3) { background: #f9efea; }
.season-card:nth-child(4n + 4) { background: #e8d5cd; }
.season-card-topline { color: #ac1318; }
.season-card:hover .season-card-arrow {
  background: #ac1318;
  color: #fff;
}

/* Final franchise surface lock */
.cta-band {
  color: #33231f;
  background:
    radial-gradient(circle at var(--cta-x, 20%) var(--cta-y, 50%), rgba(172,19,24,.1), transparent 23%),
    linear-gradient(120deg, #f4e7df, #fffaf5 56%, #f0ddd4);
}
.cta-kicker { color: #ac1318; }
.cta-content h3 { color: #3d2520; }
.cta-content > p { color: #76635c; }
.cta-content > .btn {
  border-color: transparent;
  background: #ac1318;
  color: #fff;
}
.cta-content > .btn:hover { background: #680b0e; color: #fff; }

/* Cleaner cinematic hero */
.hero-content {
  max-width: 640px;
}
.hero-kicker {
  margin-bottom: 20px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.24);
  background: rgba(28,17,14,.18);
  backdrop-filter: blur(6px);
}
.hero-content h1 {
  max-width: 620px;
  text-wrap: balance;
}
.hero-content p {
  display: -webkit-box;
  max-width: 510px;
  margin-top: 22px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  font-size: 16px;
  line-height: 1.65;
}
.hero-actions { display: none !important; }
@media (max-width: 680px) {
  .hero-kicker {
    margin-bottom: 14px;
    padding: 6px 9px;
  }
  .hero-content h1 { max-width: 350px; }
  .hero-content p {
    max-width: 330px;
    margin-top: 18px;
    -webkit-line-clamp: 2;
    font-size: 14px;
  }
}

/* Final no-dome lock for Artisan selections */
.season-card-image-wrap {
  min-height: 300px;
  padding: 12px;
  overflow: hidden;
  border-radius: 22px;
  background: rgba(255,255,255,.38);
}
.season-card-image-wrap::before,
.season-card-image-wrap::after {
  display: none;
}
.season-card-image {
  width: 100%;
  height: 286px;
  aspect-ratio: auto;
  border-radius: 16px;
  clip-path: none;
  box-shadow: 0 18px 36px rgba(70,36,29,.15);
}
.season-card:nth-child(4n + 2) .season-card-image,
.season-card:nth-child(4n + 3) .season-card-image,
.season-card:nth-child(4n + 4) .season-card-image { border-radius: 16px; clip-path: none; }
.season-card:hover .season-card-image {
  border-radius: 16px;
  transform: scale(1.035);
  filter: saturate(1.05) contrast(1.02);
}
@media (max-width: 680px) {
  .season-card-image-wrap { min-height: 285px; padding-inline: 12px; }
  .season-card-image { width: 100%; height: 270px; }
}

/* Unified page background */
html, body, main, .menu-catalog-page, .table-page { background: #fcf5ef !important; background-image: none !important; }
main > .section,
main > .section:nth-of-type(odd):not(.page-hero),
.page-hero,
.season-section,
.ritual-section,
.mekan-section,
.table-hero,
.table-signatures,
.table-closing,
.menu-results-section,
.menu-browser { background: #fcf5ef !important; background-image: none !important; }

/* Signature cards: two-tone corporate rhythm */
.season-card,
.season-card:nth-child(4n + 1),
.season-card:nth-child(4n + 3) { background: #f8eeee; }
.season-card:nth-child(4n + 2),
.season-card:nth-child(4n + 4) { background: #e8cdcc; }

/* Elegant frame for the signature ritual */
.ritual-section { padding-inline: 16px; }
.ritual-section > .container {
  position: relative;
  padding: clamp(48px, 6vw, 82px) clamp(30px, 5vw, 70px);
  border: 0;
  border-radius: 32px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(81,35,30,.07);
}
.ritual-section > .container::before {
  display: none;
}
.ritual-section > .container::after {
  content: 'LUAMIA';
  position: absolute;
  right: 25px;
  bottom: 18px;
  color: rgba(172,19,24,.17);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .24em;
}
@media (max-width: 680px) {
  .ritual-section { padding-inline: 10px; }
  .ritual-section > .container { padding: 46px 20px 38px; border-radius: 22px; }
  .ritual-section > .container::after { right: 16px; bottom: 12px; }
}

/* Compact home-page section rhythm */
.home-page > .season-section { padding-top: 54px !important; padding-bottom: 62px !important; }
.home-page > .ritual-section { padding-top: 54px !important; padding-bottom: 58px !important; }
.home-page > .mekan-section { padding-top: 44px !important; padding-bottom: 58px !important; }
.home-page > .mekan-section + .section { padding-top: 54px !important; padding-bottom: 64px !important; }
.home-page .season-shell-head { margin-bottom: 32px; }
.home-page .section-head { margin-bottom: 32px; }
.home-page .ritual-heading { margin-bottom: -88px; }
.home-page .cta-band { margin-top: 58px; }
@media (max-width: 900px) {
  .home-page .ritual-heading { margin-bottom: 0; }
}
@media (max-width: 680px) {
  .home-page > .season-section { padding-top: 38px !important; padding-bottom: 45px !important; }
  .home-page > .ritual-section { padding-top: 38px !important; padding-bottom: 44px !important; }
  .home-page > .mekan-section { padding-top: 32px !important; padding-bottom: 44px !important; }
  .home-page > .mekan-section + .section { padding-top: 38px !important; padding-bottom: 48px !important; }
  .home-page .season-shell-head,
  .home-page .section-head { margin-bottom: 24px; }
  .home-page .ritual-heading { margin-bottom: -8px; }
  .home-page .cta-band { margin-top: 42px; }
}

/* Light, neutral signature product frame */
.ritual-halo {
  display: none;
}
.ritual-halo::before {
  display: none;
}
.ritual-halo::after { display: none; }

/* Final compact slider copy lock */
.home-page .hero-content { max-width: 410px; }
.home-page .hero-content::before { inset: -18px -38px -20px -20px; border-radius: 18px; }
.home-page .hero-content h1 {
  max-width: 410px;
  font-size: clamp(30px, 3.2vw, 44px);
  line-height: 1;
  letter-spacing: -.025em;
}
.home-page .hero-content p { max-width: 390px; margin-top: 14px; font-size: 13px; line-height: 1.55; }
.home-page .hero-kicker { margin-bottom: 12px; padding: 5px 9px; font-size: 8px; letter-spacing: .14em; }
.home-page .hero-kicker::before { width: 20px; }
@media (max-width: 680px) {
  .home-page .hero-content { max-width: 290px; }
  .home-page .hero-content::before { inset: -14px -18px -16px -16px; border-radius: 15px; }
  .home-page .hero-content h1 { max-width: 290px; font-size: 30px; }
  .home-page .hero-content p { max-width: 280px; margin-top: 11px; font-size: 12px; line-height: 1.45; }
  .home-page .hero-kicker { margin-bottom: 9px; font-size: 7px; }
}

/* Final light announcement bar */
.announcement-bar {
  color: #1f1f1f;
  border-bottom: 1px solid #dededb;
  background: linear-gradient(90deg, #f6f6f4, #eeeeeb 50%, #f8f8f6);
}
.announcement-bar::after {
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.8) 48%, transparent 66%);
}
.announcement-note,
.announcement-center,
.announcement-inner > a { color: #1f1f1f; }
.announcement-note > i {
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #ac1318;
  font-size: 9px;
  box-shadow: 0 4px 12px rgba(172,19,24,.18);
}
.announcement-center {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #454541;
}
.announcement-center i { color: #ac1318; font-size: 10px; }
.announcement-inner > a i {
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #cfcfca;
  border-radius: 50%;
  color: #ac1318;
  background: #fff;
}
.announcement-inner > a:hover { color: #ac1318; }
.announcement-inner > a:hover i { transform: translateX(3px); border-color: rgba(172,19,24,.35); }
@media (max-width: 1080px) { .announcement-center { display: none; } }

/* Rich visual layer for signature rituals */
.ritual-quality-badges {
  position: absolute;
  z-index: 4;
  inset: 50% auto auto 0;
  display: grid;
  gap: 10px;
  transform: translate(-18%, -50%);
}
.ritual-quality-badges > span {
  width: 92px;
  min-height: 84px;
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(172,19,24,.13);
  border-radius: 16px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 14px 35px rgba(72,31,26,.12);
  backdrop-filter: blur(9px);
  transition: transform .4s ease, box-shadow .4s ease;
}
.ritual-quality-badges > span:hover { transform: translateX(6px); box-shadow: 0 20px 44px rgba(72,31,26,.17); }
.ritual-quality-badges i {
  grid-row: 1 / span 2;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #ac1318;
  font-size: 10px;
}
.ritual-quality-badges strong { color: #492823; font-size: 10px; line-height: 1; }
.ritual-quality-badges small { color: #8a7169; font-size: 8px; line-height: 1; }
@media (max-width: 980px) {
  .ritual-quality-badges { left: 8px; transform: translate(0,-50%); }
}
@media (max-width: 680px) {
  .ritual-quality-badges { left: 6px; top: 47%; gap: 6px; }
  .ritual-quality-badges > span { width: 76px; min-height: 65px; padding: 8px; grid-template-columns: 23px 1fr; }
  .ritual-quality-badges i { width: 23px; height: 23px; }
}

/* Fill the left and right sides of the ritual stage */
@media (min-width: 981px) {
  .ritual-section > .container { padding-left: clamp(24px, 3vw, 42px); padding-right: clamp(24px, 3vw, 42px); }
  .ritual-heading { margin-bottom: 24px; }
  .ritual-stage {
    min-height: 610px;
    grid-template-columns: minmax(250px, 1fr) minmax(420px, 1.28fr) minmax(250px, 1fr);
    gap: 16px;
  }
  .ritual-copy,
  .ritual-side {
    min-height: 390px;
    align-self: center;
    overflow: hidden;
    padding: 30px;
    border: 1px solid rgba(172,19,24,.11);
    border-radius: 22px;
    background: linear-gradient(145deg, #fff, #faf3f0);
    box-shadow: 0 18px 45px rgba(74,31,26,.07);
  }
  .ritual-copy::before,
  .ritual-side::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 90px;
    height: 3px;
    background: linear-gradient(90deg, #ac1318, transparent);
  }
  .ritual-copy .ritual-counter { margin-bottom: 58px; }
  .ritual-copy .ritual-text { left: 30px; right: 30px; top: 125px; }
  .ritual-side {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 30px;
  }
  .ritual-side::after {
    content: 'LUAMIA';
    position: absolute;
    right: -8px;
    bottom: -13px;
    color: rgba(172,19,24,.045);
    font-family: 'Bai Jamjuree', sans-serif;
    font-size: 70px;
    font-weight: 700;
    letter-spacing: -.06em;
    pointer-events: none;
  }
  .ritual-visual { min-width: 0; }
  .ritual-halo { width: min(34vw, 430px); }
  .ritual-product { width: min(29vw, 365px); }
}
@media (min-width: 681px) and (max-width: 980px) {
  .ritual-copy,
  .ritual-side { padding: 24px; border: 1px solid rgba(172,19,24,.1); border-radius: 18px; background: #fcf7f4; }
}

/* Atmosphere page — editable editorial experience */
.atmosphere-page { background: #fff; }
.atmosphere-page .page-hero { padding-bottom: 34px; }
.atmosphere-page .page-hero-box { min-height: min(680px, calc(100vh - 150px)); }
.atmosphere-page .page-hero-box .title { max-width: 760px; font-size: clamp(52px, 7vw, 92px); }
.atmosphere-intro { padding: clamp(70px, 8vw, 115px) 0 !important; }
.atmosphere-intro-head {
  display: grid;
  grid-template-columns: .6fr 1.45fr 1fr;
  align-items: end;
  gap: clamp(26px, 5vw, 72px);
  margin-bottom: 58px;
}
.atmosphere-intro-head > span,
.atmosphere-section-heading span {
  align-self: start;
  color: #ac1318;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.atmosphere-intro-head h2,
.atmosphere-section-heading h2 {
  margin: 0;
  color: #432721;
  font-family: 'Bai Jamjuree', sans-serif;
  font-size: clamp(48px, 6vw, 78px);
  font-weight: 600;
  line-height: .86;
  letter-spacing: -.045em;
}
.atmosphere-intro-head p,
.atmosphere-section-heading > p { margin: 0; color: #78635c; font-size: 15px; line-height: 1.8; }
.atmosphere-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.atmosphere-feature {
  position: relative;
  min-height: 290px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding: 30px;
  border: 1px solid rgba(172,19,24,.11);
  border-radius: 22px;
  background: linear-gradient(145deg, #fff, #f9f1ee);
  transition: transform .5s cubic-bezier(.22,1,.36,1), box-shadow .45s ease, background .4s ease;
}
.atmosphere-feature:hover { transform: translateY(-8px); background: #fff; box-shadow: 0 26px 55px rgba(76,32,27,.12); }
.atmosphere-feature-icon {
  position: absolute;
  left: 28px;
  top: 28px;
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  color: #fff;
  background: #ac1318;
  box-shadow: 0 12px 25px rgba(172,19,24,.18);
  transition: transform .45s ease;
}
.atmosphere-feature:hover .atmosphere-feature-icon { transform: rotate(7deg) scale(1.08); }
.atmosphere-feature > small { position: absolute; right: 24px; top: 18px; color: rgba(172,19,24,.17); font: 600 55px/1 'Bai Jamjuree', sans-serif; }
.atmosphere-feature h3 { color: #4c2a24; font-size: 29px; }
.atmosphere-feature p { margin-top: 10px; color: #7a655e; font-size: 13px; line-height: 1.75; }
.atmosphere-stories { padding: 75px 0 105px !important; }
.atmosphere-section-heading {
  display: grid;
  grid-template-columns: 1.5fr .7fr;
  align-items: end;
  gap: 50px;
  margin-bottom: 46px;
}
.atmosphere-section-heading > div span { display: block; margin-bottom: 15px; }
.atmosphere-story-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; }
.atmosphere-story-card {
  position: relative;
  grid-column: span 7;
  min-height: 540px;
  overflow: hidden;
  border-radius: 24px;
  color: #fff;
  background: #5d2420;
}
.atmosphere-story-card:nth-child(2), .atmosphere-story-card:nth-child(3) { grid-column: span 5; }
.atmosphere-story-card:nth-child(2) { min-height: 430px; margin-top: 70px; }
.atmosphere-story-card:nth-child(3) { min-height: 430px; }
.atmosphere-story-card:nth-child(4) { margin-top: -70px; }
.atmosphere-story-card figure { position: absolute; inset: 0; margin: 0; }
.atmosphere-story-card figure::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(46,15,13,.9), rgba(46,15,13,.05) 70%); }
.atmosphere-story-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .85s cubic-bezier(.22,1,.36,1), filter .5s ease; }
.atmosphere-story-card:hover img { transform: scale(1.065); filter: saturate(1.08); }
.atmosphere-story-card > div { position: absolute; z-index: 2; left: 30px; right: 30px; bottom: 28px; }
.atmosphere-story-card small { color: #f2c8bd; font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.atmosphere-story-card h3 { margin-top: 7px; color: #fff; font-size: clamp(33px, 4vw, 53px); }
.atmosphere-story-card p { max-width: 500px; margin-top: 8px; color: rgba(255,255,255,.75); font-size: 13px; line-height: 1.65; }
.atmosphere-story-card > div > i { position: absolute; right: 0; bottom: 0; width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; transition: transform .4s ease, background .35s ease; }
.atmosphere-story-card:hover > div > i { transform: rotate(45deg); background: #ac1318; border-color: #ac1318; }
.atmosphere-story-no { position: absolute; z-index: 2; left: 22px; top: 18px; color: #fff; font: 600 38px/1 'Bai Jamjuree', sans-serif; text-shadow: 0 3px 15px rgba(0,0,0,.3); }
.atmosphere-locations { padding: 80px 0 110px !important; }
.atmosphere-locations-head { display: grid; grid-template-columns: .65fr 1.35fr; align-items: end; }
.atmosphere-locations-head h2 { font-size: clamp(45px, 5vw, 68px); }
@media (max-width: 900px) {
  .atmosphere-intro-head { grid-template-columns: 1fr; }
  .atmosphere-feature-grid { grid-template-columns: 1fr 1fr; }
  .atmosphere-section-heading { grid-template-columns: 1fr; }
  .atmosphere-story-card, .atmosphere-story-card:nth-child(2), .atmosphere-story-card:nth-child(3) { grid-column: span 6; min-height: 440px; margin-top: 0; }
}
@media (max-width: 680px) {
  .atmosphere-page .page-hero-box { min-height: 520px; }
  .atmosphere-page .page-hero-box .title { font-size: 48px; }
  .atmosphere-intro { padding: 55px 0 !important; }
  .atmosphere-intro-head { gap: 15px; margin-bottom: 34px; }
  .atmosphere-intro-head h2, .atmosphere-section-heading h2 { font-size: 47px; }
  .atmosphere-feature-grid { grid-template-columns: 1fr; }
  .atmosphere-feature { min-height: 245px; }
  .atmosphere-stories { padding: 50px 0 65px !important; }
  .atmosphere-story-grid { display: block; }
  .atmosphere-story-card { display: block; min-height: 430px !important; margin: 0 0 16px !important; }
  .atmosphere-story-card p { padding-right: 35px; }
  .atmosphere-locations { padding: 55px 0 75px !important; }
  .atmosphere-locations-head { grid-template-columns: 1fr; }
}

/* Flag language switcher in the top bar */
.announcement-actions {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 13px;
}
.announcement-menu-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #1f1f1f;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.announcement-menu-link > i {
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #cfcfca;
  border-radius: 50%;
  color: #ac1318;
  background: #fff;
  transition: transform .3s ease, border-color .3s ease;
}
.announcement-menu-link:hover { color: #ac1318; }
.announcement-menu-link:hover > i { transform: translateX(3px); border-color: rgba(172,19,24,.35); }
.top-languages { display: flex; align-items: center; gap: 5px; padding-left: 12px; border-left: 1px solid #d5d5d1; }
.announcement-actions .top-languages{padding-left:0;border-left:0}
.top-language {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #d6d6d2;
  border-radius: 50%;
  background: #fff;
  font-size: 15px;
  line-height: 1;
  filter: saturate(.82);
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease, filter .3s ease;
}
.top-language:hover,
.top-language.is-active { transform: translateY(-1px); border-color: rgba(172,19,24,.38); box-shadow: 0 5px 12px rgba(70,31,27,.12); filter: saturate(1); }
@media (max-width: 680px) {
  .announcement-actions { gap: 7px; }
  .announcement-menu-link { font-size: 0; }
  .top-languages { padding-left: 7px; }
  .top-language { width: 24px; height: 24px; font-size: 14px; }
}

/* Clear top-bar actions */
.announcement-menu-link {
  padding: 6px 7px 6px 12px;
  border: 1px solid rgba(172,19,24,.2);
  border-radius: 999px;
  color: #7f1014 !important;
  background: rgba(255,255,255,.9);
  box-shadow: 0 3px 10px rgba(59,36,31,.06);
}
.announcement-menu-link:hover { color: #ac1318 !important; border-color: rgba(172,19,24,.4); background: #fff; }
@media (max-width: 680px) { .announcement-menu-link { width: 34px; height: 34px; padding: 5px; justify-content: center; } }

/* Masadakiler: clean hero and visible category selector */
.table-page .table-hero-visual { min-height: 680px; padding-bottom: 110px; }
.table-page .table-hero-main {
  inset: 3% 3% 112px 5%;
  border-radius: 26px;
  box-shadow: 0 30px 70px rgba(67,32,27,.17);
}
.table-page .table-hero-main::after { background: linear-gradient(180deg, transparent 72%, rgba(48,20,17,.15)); }
.table-hero-menu {
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: 25px;
  width: min(94%, 540px);
  padding: 20px;
  border: 1px solid rgba(172,19,24,.13);
  border-radius: 18px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 22px 55px rgba(65,30,25,.14);
  backdrop-filter: blur(12px);
}
.table-hero-menu-title {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 13px;
  color: #6f5a53;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.table-hero-menu-title i { color: #ac1318; }
.table-hero-menu > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.table-hero-menu button {
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid #eaded9;
  border-radius: 11px;
  color: #3e302c;
  background: #fffaf7;
  cursor: pointer;
  transition: transform .3s ease, color .3s ease, border-color .3s ease, background .3s ease;
}
.table-hero-menu button strong { font-size: 12px; }
.table-hero-menu button i { color: #ac1318; font-size: 9px; transition: transform .3s ease; }
.table-hero-menu button:hover { transform: translateY(-3px); color: #fff; border-color: #ac1318; background: #ac1318; }
.table-hero-menu button:hover i { color: #fff; transform: translateX(3px); }
.table-hero-menu > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  color: #8c1116;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}
@media (max-width: 900px) {
  .table-page .table-hero-visual { min-height: 660px; }
  .table-page .table-hero-main { inset: 0 2% 122px; }
  .table-hero-menu { right: 2%; width: 96%; }
}
@media (max-width: 680px) {
  .table-page .table-hero-visual { min-height: 590px; padding-bottom: 155px; }
  .table-page .table-hero-main { inset: 0 0 170px; border-radius: 18px; }
  .table-hero-menu { right: 0; bottom: 18px; width: 100%; padding: 15px; }
  .table-hero-menu > div { grid-template-columns: 1fr; }
  .table-hero-menu button { min-height: 42px; }
}

/* Yolculugumuz editorial story */
.journey-page { overflow: hidden; color: #342824; background: #fff; }
.journey-hero {
  min-height: min(780px, 82vh);
  display: flex;
  align-items: end;
  color: #fff;
  background-image: linear-gradient(90deg, rgba(35,15,13,.72), rgba(35,15,13,.12) 70%), var(--journey-hero);
  background-size: cover;
  background-position: center;
}
.journey-hero-inner { padding-bottom: clamp(65px, 9vw, 115px); }
.journey-kicker { display: block; margin-bottom: 22px; font-size: 10px; font-weight: 750; letter-spacing: .22em; text-transform: uppercase; }
.journey-hero h1 { max-width: 780px; margin: 0; color: #fff; font-size: clamp(65px, 9vw, 128px); line-height: .78; letter-spacing: -.055em; }
.journey-hero p { max-width: 560px; margin: 28px 0 0; color: rgba(255,255,255,.82); font-size: 16px; line-height: 1.75; }
.journey-hero a { width: 52px; height: 52px; display: grid; place-items: center; margin-top: 34px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; color: #fff; animation: journeyArrow 2.2s ease-in-out infinite; }
@keyframes journeyArrow { 50% { transform: translateY(7px); } }
.journey-intro { padding: clamp(55px, 7vw, 90px) 0 clamp(70px, 8vw, 110px); }
.journey-intro-grid { display: flex; flex-direction: column; align-items: center; gap: 28px; text-align: center; }
.journey-intro-grid > span, .journey-gallery-head > span { color: #ac1318; font-size: 10px; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
.journey-intro h2 { margin: 0; font-size: clamp(44px, 5.6vw, 78px); line-height: .95; letter-spacing: -.045em; white-space: nowrap; }
.journey-intro p { max-width: 900px; margin: 0; color: #74615a; font-size: 16px; line-height: 1.85; }
.journey-stories { padding: 20px 0 clamp(95px, 12vw, 170px); }
.journey-story-list { display: grid; gap: clamp(80px, 11vw, 150px); }
.journey-story { position: relative; display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(45px, 8vw, 120px); align-items: center; }
.journey-story.is-reverse { grid-template-columns: .8fr 1.2fr; }
.journey-story.is-reverse figure { order: 2; }
.journey-story figure { position: relative; width: 100%; max-width: 600px; min-height: 0; aspect-ratio: 3 / 4; overflow: hidden; margin: 0; border-radius: 26px; box-shadow: 0 28px 70px rgba(66,30,25,.13); }
.journey-story:not(.is-reverse) figure { justify-self: end; }
.journey-story.is-reverse figure { justify-self: start; }
.journey-story figure::after { content: ''; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.45); border-radius: inherit; pointer-events: none; }
.journey-story figure img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 1s cubic-bezier(.22,1,.36,1); }
.journey-story:hover figure img { transform: scale(1.055); }
.journey-story > div > span { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 25px; border-radius: 15px; color: #fff; background: #ac1318; font-family: 'Bai Jamjuree', sans-serif; font-size: 23px; box-shadow: 0 12px 25px rgba(172,19,24,.2); }
.journey-story h2 { margin: 0; font-size: clamp(45px, 5vw, 72px); line-height: .9; letter-spacing: -.045em; }
.journey-story p { max-width: 470px; margin: 25px 0 0; color: #74615a; font-size: 15px; line-height: 1.85; }
.journey-gallery { padding: clamp(85px, 10vw, 140px) 0; background: #f8f2ee; }
.journey-gallery-head { display: grid; grid-template-columns: .65fr 1.4fr 1fr; gap: 40px; align-items: end; margin-bottom: 55px; }
.journey-gallery-head h2 { margin: 0; font-size: clamp(44px, 5.5vw, 76px); line-height: .9; letter-spacing: -.04em; }
.journey-gallery-head p { margin: 0; color: #78645d; line-height: 1.75; }
.journey-gallery-grid { display: grid; grid-template-columns: 1.25fr .75fr 1fr; grid-template-rows: 280px 360px; gap: 16px; }
.journey-gallery-grid figure { overflow: hidden; margin: 0; border-radius: 18px; }
.journey-gallery-grid figure:first-child { grid-row: 1 / 3; }
.journey-gallery-grid figure:nth-child(2) { grid-column: 2 / 4; }
.journey-gallery-grid img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .8s cubic-bezier(.22,1,.36,1), filter .5s ease; }
.journey-gallery-grid figure:hover img { transform: scale(1.06); filter: saturate(1.08); }
.journey-future { padding: clamp(100px, 12vw, 165px) 0; text-align: center; }
.journey-future i { width: 48px; height: 48px; display: grid; place-items: center; margin: 0 auto 17px; border-radius: 15px; color: #fff; background: #ac1318; }
.journey-future span { display: block; color: #ac1318; font-size: 10px; font-weight: 750; letter-spacing: .2em; text-transform: uppercase; }
.journey-future h2 { margin: 24px auto 40px; font-size: clamp(52px, 7.5vw, 105px); line-height: .82; letter-spacing: -.055em; }
@media (max-width: 900px) {
  .journey-intro-grid, .journey-gallery-head { grid-template-columns: 1fr; gap: 20px; }
  .journey-story, .journey-story.is-reverse { grid-template-columns: 1fr 1fr; gap: 35px; }
  .journey-story figure { min-height: 0; }
  .journey-gallery-grid { grid-template-rows: 230px 300px; }
}
@media (max-width: 680px) {
  .journey-hero { min-height: 650px; background-image: linear-gradient(0deg, rgba(35,15,13,.75), rgba(35,15,13,.08) 75%), var(--journey-hero-mobile); }
  .journey-hero h1 { font-size: 65px; }
  .journey-intro { padding: 48px 0 70px; }
  .journey-intro h2 { font-size: clamp(38px, 11vw, 58px); white-space: normal; }
  .journey-intro p { font-size: 15px; }
  .journey-story, .journey-story.is-reverse { grid-template-columns: 1fr; gap: 28px; }
  .journey-story.is-reverse figure { order: 0; }
  .journey-story figure { width: min(100%, 600px); min-height: 0; justify-self: center; border-radius: 18px; }
  .journey-gallery-grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 300px 190px 240px; }
  .journey-gallery-grid figure:first-child { grid-column: 1 / 3; grid-row: auto; }
  .journey-gallery-grid figure:nth-child(2) { grid-column: auto; }
  .journey-gallery-grid figure:last-child { grid-column: 1 / 3; }
}

/* Franchise editorial page */
.franchise-page-new { overflow: hidden; background: #fff; }
.franchise-hero-new { min-height: min(800px, 84vh); background-image: var(--franchise-bg); background-size: cover; background-position: center; }
.franchise-hero-new-inner { padding-bottom: clamp(68px,9vw,120px); }
.franchise-hero-new-inner > span { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 23px; font-size: 10px; font-weight: 750; letter-spacing: .2em; text-transform: uppercase; }
.franchise-hero-new-inner > span i { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #ac1318; }
.franchise-hero-new h1 { max-width: 850px; margin: 0; color: #fff; font-size: clamp(61px,8.2vw,118px); line-height: .81; letter-spacing: -.055em; }
.franchise-hero-new p { max-width: 590px; margin: 28px 0 32px; color: rgba(255,255,255,.82); font-size: 16px; line-height: 1.75; }
.franchise-hero-new-inner > div { display: flex; align-items: center; gap: 24px; }
.franchise-text-link { display: inline-flex; align-items: center; gap: 9px; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.franchise-text-link i { animation: journeyArrow 2.2s ease-in-out infinite; }
.franchise-intro { padding: clamp(90px,11vw,160px) 0; }
.franchise-intro-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(55px,9vw,135px); align-items: center; }
.franchise-intro-grid > div > span,.franchise-benefits header span,.franchise-process header > span,.franchise-application header > span { color: #ac1318; font-size: 10px; font-weight: 750; letter-spacing: .19em; text-transform: uppercase; }
.franchise-intro h2 { margin: 22px 0 25px; font-size: clamp(50px,6.3vw,86px); line-height: .87; letter-spacing: -.05em; }
.franchise-intro p { max-width: 530px; color: #74615a; font-size: 15px; line-height: 1.85; }
.franchise-intro figure { position: relative; min-height: 0; overflow: hidden; margin: 0; border-radius: 28px; box-shadow: 0 30px 75px rgba(61,29,25,.16); }
.franchise-intro figure > img { width: 100%; height: auto; display: block; transition: transform 1s cubic-bezier(.22,1,.36,1); }
.franchise-intro figure:hover > img { transform: scale(1.055); }
.franchise-intro figcaption { position: absolute; left: 22px; right: 22px; bottom: 22px; display: flex; justify-content: space-between; align-items: end; padding: 20px; border-radius: 15px; color: #fff; background: rgba(45,18,16,.72); backdrop-filter: blur(12px); }
.franchise-intro figcaption strong { font-family:'Bai Jamjuree', sans-serif; font-size: 30px; }.franchise-intro figcaption span { text-align:right; font-size:10px; line-height:1.6; letter-spacing:.1em; text-transform:uppercase; }
.franchise-benefits { padding: clamp(85px,10vw,140px) 0; background: #f8f2ee; }
.franchise-benefits header { display: grid; grid-template-columns: .6fr 1.4fr; gap: 50px; align-items:start; margin-bottom: 60px; }
.franchise-benefits h2 { margin: 0; font-size: clamp(53px,6.5vw,88px); line-height: .84; letter-spacing: -.05em; }
.franchise-benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.franchise-benefit-grid article { min-height: 330px; padding: clamp(28px,3.5vw,48px); border:1px solid rgba(172,19,24,.12); border-radius:22px; background:#fff; transition:transform .45s ease,box-shadow .45s ease; }
.franchise-benefit-grid article:hover { transform:translateY(-8px); box-shadow:0 25px 55px rgba(65,30,25,.1); }
.franchise-benefit-grid article > i { width:52px;height:52px;display:grid;place-items:center;border-radius:15px;color:#fff;background:#ac1318;font-size:18px; }
.franchise-benefit-grid h3 { margin:55px 0 17px;font-size:clamp(29px,3vw,40px);line-height:.95; }.franchise-benefit-grid p { margin:0;color:#75625b;line-height:1.75; }
.franchise-process { padding:clamp(100px,12vw,165px) 0; }
.franchise-process-grid { display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(55px,9vw,130px); }
.franchise-process header { position:sticky;top:120px;align-self:start; }.franchise-process header h2 { margin:22px 0 26px;font-size:clamp(50px,6vw,82px);line-height:.88;letter-spacing:-.05em; }.franchise-process header p { color:#76635c;line-height:1.8; }
.franchise-process-list { border-top:1px solid #e4d7d1; }
.franchise-process-list article { display:grid;grid-template-columns:70px 1fr;gap:25px;padding:38px 0;border-bottom:1px solid #e4d7d1;transition:padding .4s ease; }.franchise-process-list article:hover { padding-left:13px; }
.franchise-process-list article > span { color:#ac1318;font-family:'Bai Jamjuree', sans-serif;font-size:27px; }.franchise-process-list h3 { margin:0 0 12px;font-size:35px; }.franchise-process-list p { margin:0;color:#76635c;line-height:1.75; }
.franchise-gallery-new { padding:0 0 clamp(95px,11vw,150px); }.franchise-gallery-new-grid { display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:280px 280px;gap:15px; }.franchise-gallery-new figure { overflow:hidden;margin:0;border-radius:20px; }.franchise-gallery-new figure:first-child { grid-row:1/3; }.franchise-gallery-new img { width:100%;height:100%;display:block;object-fit:cover;transition:transform .8s ease; }.franchise-gallery-new figure:hover img { transform:scale(1.06); }
.franchise-links-new { padding:clamp(85px,9vw,125px) 0;background:#f8f2ee; }.franchise-links-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }.franchise-links-grid article { position:relative;min-height:310px;padding:35px;border-radius:20px;color:#392a26;background:#fff; }.franchise-links-grid article > span { font-size:10px;font-weight:700;letter-spacing:.15em;opacity:.6; }.franchise-links-grid h3 { margin:65px 0 18px;font-size:38px;line-height:.95; }.franchise-links-grid p { line-height:1.7;opacity:.72; }
.franchise-application { padding:clamp(100px,12vw,165px) 0; }.franchise-application-grid { display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(50px,8vw,110px);align-items:start; }.franchise-application header h2 { margin:22px 0 25px;font-size:clamp(50px,6vw,82px);line-height:.86;letter-spacing:-.05em; }.franchise-application header > p { margin-bottom:30px;color:#75625b;line-height:1.8; }.franchise-application header > div { display:flex;align-items:center;gap:10px;margin:13px 0;color:#5f4c46;font-size:13px; }.franchise-application header > div i { color:#ac1318; }.franchise-application .form-card { padding:clamp(28px,4vw,52px);border:1px solid #eaded8;border-radius:24px;background:#fff;box-shadow:0 25px 65px rgba(61,29,25,.1); }
@media(max-width:900px){.franchise-intro-grid,.franchise-process-grid,.franchise-application-grid{grid-template-columns:1fr}.franchise-benefits header{grid-template-columns:1fr}.franchise-process header{position:static}.franchise-benefit-grid,.franchise-links-grid{grid-template-columns:1fr}.franchise-benefit-grid article{min-height:260px}.franchise-benefit-grid h3{margin-top:35px}}
@media(max-width:680px){.franchise-hero-new{min-height:680px;background-image:var(--franchise-bg-mobile)}.franchise-hero-new h1{font-size:60px}.franchise-hero-new-inner>div{align-items:flex-start;flex-direction:column}.franchise-gallery-new-grid{grid-template-columns:1fr 1fr;grid-template-rows:330px 210px}.franchise-gallery-new figure:first-child{grid-column:1/3;grid-row:auto}.franchise-process-list article{grid-template-columns:48px 1fr}}

/* Tanisalim / lavish contact page */
.contact-page-new { overflow:hidden;background:#fff; }
.contact-hero-new { min-height:min(780px,82vh);display:flex;align-items:end;color:#fff;background-image:linear-gradient(90deg,rgba(35,14,13,.8),rgba(35,14,13,.12) 72%),var(--contact-bg);background-size:cover;background-position:center; }
.contact-hero-new-inner { padding-bottom:clamp(65px,9vw,115px); }
.contact-hero-new-inner>span { display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;font-size:10px;font-weight:750;letter-spacing:.2em;text-transform:uppercase; }
.contact-hero-new-inner>span i { width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#ac1318; }
.contact-hero-new h1 { max-width:850px;margin:0;color:#fff;font-size:clamp(64px,8.5vw,122px);line-height:.79;letter-spacing:-.055em; }
.contact-hero-new p { max-width:590px;margin:28px 0 32px;color:rgba(255,255,255,.83);font-size:16px;line-height:1.75; }
.contact-hero-new-inner>div { display:flex;align-items:center;gap:25px; }.contact-hero-link { display:inline-flex;align-items:center;gap:9px;color:#fff;font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase; }.contact-hero-link i { animation:journeyArrow 2.2s ease-in-out infinite; }
.contact-conversation { padding:clamp(95px,12vw,170px) 0; }.contact-conversation-grid { display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(55px,9vw,130px);align-items:start; }
.contact-conversation header { padding-top:25px; }.contact-conversation header>span,.contact-channels-head>span,.contact-map-head>span,.contact-closing span { color:#ac1318;font-size:10px;font-weight:750;letter-spacing:.19em;text-transform:uppercase; }
.contact-conversation header h2 { margin:23px 0 25px;font-size:clamp(52px,6.3vw,87px);line-height:.86;letter-spacing:-.05em; }.contact-conversation header>p { color:#75625b;font-size:15px;line-height:1.85; }
.contact-mini-note { display:flex;align-items:center;gap:15px;margin-top:35px;padding-top:24px;border-top:1px solid #e5d9d4; }.contact-mini-note>i { width:43px;height:43px;display:grid;place-items:center;border-radius:13px;color:#fff;background:#ac1318; }.contact-mini-note span { display:grid;gap:4px;color:#79665f;font-size:12px; }.contact-mini-note strong { color:#392b27;font-size:13px; }
.contact-form-card { padding:clamp(28px,4vw,55px)!important;border:1px solid #eaded8!important;border-radius:25px!important;background:#fff!important;box-shadow:0 30px 75px rgba(62,29,25,.11)!important; }.contact-form-title { display:flex;align-items:center;gap:20px;margin-bottom:35px; }.contact-form-title>span { width:45px;height:45px;display:grid;place-items:center;border-radius:13px;color:#fff;background:#ac1318;font-family:'Bai Jamjuree', sans-serif;font-size:20px; }.contact-form-title h3 { margin:0;font-size:34px; }
.contact-form-card input,.contact-form-card textarea { border-color:#e4d8d3;background:#fdfaf8; }.contact-form-card input:focus,.contact-form-card textarea:focus { border-color:rgba(172,19,24,.48);background:#fff;box-shadow:0 0 0 4px rgba(172,19,24,.06); }
.contact-channels { padding:clamp(85px,10vw,140px) 0;background:#f8f2ee; }.contact-channels-head { display:grid;grid-template-columns:.6fr 1.4fr;gap:50px;align-items:start;margin-bottom:55px; }.contact-channels-head h2 { max-width:780px;margin:0;font-size:clamp(50px,6.3vw,85px);line-height:.86;letter-spacing:-.05em; }
.contact-channel-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:12px; }.contact-channel-grid article { position:relative;min-height:310px;padding:32px;overflow:hidden;border:1px solid rgba(172,19,24,.1);border-radius:20px;background:#fff;transition:transform .45s ease,box-shadow .45s ease; }.contact-channel-grid article:hover { transform:translateY(-8px);box-shadow:0 24px 55px rgba(65,30,25,.1); }.contact-channel-grid article>i { width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:#fff;background:#ac1318; }.contact-channel-grid h3 { margin:55px 0 16px;font-size:30px; }.contact-channel-grid p { margin:5px 0;color:#76635c;line-height:1.65; }.contact-channel-grid p a{color:inherit;border-bottom:1px solid rgba(172,19,24,.2);transition:color .25s ease,border-color .25s ease}.contact-channel-grid p a:hover{color:#ac1318;border-color:#ac1318}.contact-channel-grid article>span { position:absolute;right:22px;top:14px;color:rgba(172,19,24,.12);font-family:'Bai Jamjuree', sans-serif;font-size:62px;font-weight:700; }
.contact-map-section { padding:clamp(100px,12vw,165px) 0; }.contact-map-head { display:grid;grid-template-columns:.6fr 1.35fr .85fr;gap:45px;align-items:end;margin-bottom:55px; }.contact-map-head>span { align-self:start;display:flex;align-items:center;gap:9px; }.contact-map-head h2 { margin:0;font-size:clamp(50px,6vw,82px);line-height:.87;letter-spacing:-.05em; }.contact-map-head p { margin:0;color:#76635c;line-height:1.75; }
.contact-page-new .branch-map-layout { padding:14px;border:1px solid #eaded8;border-radius:28px;background:#f8f2ee;box-shadow:0 30px 70px rgba(61,29,25,.1); }.contact-page-new .branch-map-list { gap:8px; }.contact-page-new .branch-map-item { border-radius:16px;background:#fff; }.contact-page-new .branch-map-item.is-active { color:#fff;background:#ac1318; }.contact-page-new .branch-map-stage { overflow:hidden;border-radius:20px; }
.contact-closing { padding:clamp(105px,13vw,180px) 0;text-align:center;background:#fff; }.contact-closing h2 { margin:24px auto 40px;font-size:clamp(55px,8vw,112px);line-height:.81;letter-spacing:-.055em; }
@media(max-width:1000px){.contact-channel-grid{grid-template-columns:repeat(2,1fr)}.contact-map-head{grid-template-columns:1fr 1.5fr}.contact-map-head p{grid-column:2}}
@media(max-width:800px){.contact-conversation-grid{grid-template-columns:1fr}.contact-channels-head,.contact-map-head{grid-template-columns:1fr;gap:20px}.contact-map-head p{grid-column:auto}}
@media(max-width:680px){.contact-hero-new{min-height:670px;background-image:linear-gradient(0deg,rgba(35,14,13,.82),rgba(35,14,13,.08) 75%),var(--contact-bg-mobile)}.contact-hero-new h1{font-size:61px}.contact-hero-new-inner>div{align-items:flex-start;flex-direction:column}.contact-channel-grid{grid-template-columns:1fr}.contact-channel-grid article{min-height:250px}.contact-channel-grid h3{margin-top:35px}.contact-page-new .branch-map-layout{padding:8px;border-radius:20px}}

/* Atmosphere stories: separated compact cards */
.atmosphere-page .atmosphere-story-grid {
  max-width: 1120px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
  margin: 0 auto;
}
.atmosphere-page .atmosphere-story-card,
.atmosphere-page .atmosphere-story-card:nth-child(2),
.atmosphere-page .atmosphere-story-card:nth-child(3),
.atmosphere-page .atmosphere-story-card:nth-child(4) {
  grid-column: auto;
  min-height: 0;
  display: block;
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(172,19,24,.11);
  border-radius: 20px;
  color: #382a26;
  background: #fff;
  box-shadow: 0 14px 38px rgba(63,30,25,.07);
  transition: transform .5s cubic-bezier(.22,1,.36,1), box-shadow .45s ease, border-color .35s ease;
}
.atmosphere-page .atmosphere-story-card:hover {
  transform: translateY(-9px);
  border-color: rgba(172,19,24,.25);
  box-shadow: 0 28px 58px rgba(63,30,25,.13);
}
.atmosphere-page .atmosphere-story-card figure {
  position: relative;
  inset: auto;
  height: 285px;
  overflow: hidden;
}
.atmosphere-page .atmosphere-story-card figure::after {
  background: linear-gradient(180deg, transparent 68%, rgba(44,17,15,.22));
}
.atmosphere-page .atmosphere-story-card > div {
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  min-height: 210px;
  padding: 27px 78px 28px 28px;
}
.atmosphere-page .atmosphere-story-card small { color: #ac1318; }
.atmosphere-page .atmosphere-story-card h3 {
  margin: 8px 0 0;
  color: #382a26;
  font-size: clamp(31px, 3.2vw, 44px);
}
.atmosphere-page .atmosphere-story-card p {
  margin: 11px 0 0;
  color: #75625b;
  font-size: 13px;
  line-height: 1.65;
}
.atmosphere-page .atmosphere-story-card > div > i {
  right: 25px;
  bottom: 25px;
  width: 42px;
  height: 42px;
  border-color: rgba(172,19,24,.24);
  color: #ac1318;
  background: #fff7f4;
}
.atmosphere-page .atmosphere-story-card:hover > div > i { color: #fff; }
.atmosphere-page .atmosphere-story-no {
  left: 18px;
  top: 18px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: rgba(172,19,24,.9);
  font-size: 20px;
  backdrop-filter: blur(8px);
}
@media (max-width: 760px) {
  .atmosphere-page .atmosphere-story-grid { grid-template-columns: 1fr; gap: 18px; }
  .atmosphere-page .atmosphere-story-card { min-height: 0 !important; margin: 0 !important; }
  .atmosphere-page .atmosphere-story-card figure { height: 245px; }
  .atmosphere-page .atmosphere-story-card > div { min-height: 195px; padding: 24px 68px 25px 24px; }
  .atmosphere-page .atmosphere-story-card p { padding-right: 0; }
}

/* Branch directory and detail pages */
.branches-page{overflow:hidden;background:#fff}.branches-hero,.branch-detail-hero{min-height:min(760px,80vh);display:flex;align-items:end;color:#fff;background-image:linear-gradient(90deg,rgba(35,14,13,.78),rgba(35,14,13,.12) 72%),var(--branches-bg);background-size:cover;background-position:center}.branches-hero>.container,.branch-detail-hero>.container{padding-bottom:clamp(65px,9vw,115px)}.branches-hero span,.branch-detail-hero>.container>span,.branches-list-section header>span,.branch-detail-map>div>div>span,.branch-detail-gallery header>span{color:#fff;font-size:10px;font-weight:750;letter-spacing:.2em;text-transform:uppercase}.branches-hero span i{width:30px;height:30px;display:inline-grid;place-items:center;margin-right:9px;border-radius:50%;background:#ac1318}.branches-hero h1,.branch-detail-hero h1{max-width:900px;margin:22px 0 0;color:#fff;font-size:clamp(63px,8.5vw,122px);line-height:.8;letter-spacing:-.055em}.branches-hero p,.branch-detail-hero p{max-width:590px;margin:27px 0 0;color:rgba(255,255,255,.82);font-size:16px;line-height:1.75}
.branches-list-section{padding:clamp(95px,11vw,155px) 0}.branches-list-section>div>header{display:grid;grid-template-columns:.55fr 1.35fr .9fr;gap:45px;align-items:end;margin-bottom:60px}.branches-list-section header>span{align-self:start;color:#ac1318}.branches-list-section header h2{margin:0;font-size:clamp(52px,6.5vw,88px);line-height:.85;letter-spacing:-.05em}.branches-list-section header p{margin:0;color:#75625b;line-height:1.8}.branches-directory{display:grid;gap:22px}.branch-directory-card{display:grid;grid-template-columns:1.1fr .9fr;min-height:470px;overflow:hidden;border:1px solid #eaded8;border-radius:24px;color:#392b27;background:#fff;box-shadow:0 18px 50px rgba(61,29,25,.08);transition:transform .5s ease,box-shadow .5s ease}.branch-directory-card:hover{transform:translateY(-8px);box-shadow:0 32px 70px rgba(61,29,25,.14)}.branch-directory-card figure{position:relative;overflow:hidden;margin:0}.branch-directory-card figure img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .9s cubic-bezier(.22,1,.36,1)}.branch-directory-card:hover figure img{transform:scale(1.055)}.branch-directory-card figure span{position:absolute;left:20px;top:20px;width:45px;height:45px;display:grid;place-items:center;border-radius:13px;color:#fff;background:#ac1318;font-family:'Bai Jamjuree', sans-serif;font-size:21px}.branch-directory-card>div{display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,5vw,68px)}.branch-directory-card small{color:#ac1318;font-size:10px;font-weight:750;letter-spacing:.16em;text-transform:uppercase}.branch-directory-card h2{margin:18px 0 20px;font-size:clamp(45px,5.4vw,72px);line-height:.88}.branch-directory-card p{color:#75625b;line-height:1.8}.branch-directory-card>div>span{display:flex;align-items:center;gap:10px;margin-top:30px;color:#ac1318;font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.branch-detail-hero{background-image:linear-gradient(0deg,rgba(35,14,13,.78),rgba(35,14,13,.08) 75%),var(--branch-bg)}.branch-detail-hero>.container>a{display:inline-flex;align-items:center;gap:9px;margin-bottom:35px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.branch-detail-info{padding:70px 0}.branch-detail-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.branch-detail-info article{min-height:220px;padding:30px;border:1px solid #eaded8;border-radius:19px;background:#fff}.branch-detail-info article i{width:45px;height:45px;display:grid;place-items:center;margin-bottom:35px;border-radius:13px;color:#fff;background:#ac1318}.branch-detail-info article span{display:block;color:#ac1318;font-size:9px;font-weight:750;letter-spacing:.15em;text-transform:uppercase}.branch-detail-info article p{margin:12px 0 0;color:#55443e;font-size:15px;line-height:1.65}.branch-detail-map{padding:clamp(80px,10vw,130px) 0;background:#f8f2ee}.branch-detail-map-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(45px,7vw,100px);align-items:center}.branch-detail-map>div>div>span{color:#ac1318}.branch-detail-map h2{margin:22px 0;font-size:clamp(50px,6vw,82px);line-height:.87}.branch-detail-map p{margin-bottom:30px;color:#75625b;line-height:1.8}.branch-detail-map iframe{width:100%;min-height:520px;border:0;border-radius:24px;box-shadow:0 25px 65px rgba(61,29,25,.13)}.branch-detail-gallery{padding:clamp(90px,11vw,150px) 0}.branch-detail-gallery header{display:grid;grid-template-columns:.55fr 1.45fr;gap:40px;margin-bottom:55px}.branch-detail-gallery header>span{color:#ac1318}.branch-detail-gallery h2{margin:0;font-size:clamp(50px,6vw,84px);line-height:.85}.branch-detail-gallery>.container>div{display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:300px 300px;gap:15px}.branch-detail-gallery figure{position:relative;overflow:hidden;margin:0;border-radius:20px}.branch-detail-gallery figure:first-child{grid-row:1/3}.branch-detail-gallery img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .8s ease}.branch-detail-gallery figure:hover img{transform:scale(1.06)}.branch-detail-gallery figcaption{position:absolute;left:16px;bottom:16px;padding:9px 13px;border-radius:9px;color:#fff;background:rgba(50,20,17,.72);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(8px)}
@media(max-width:850px){.branches-list-section>div>header,.branch-directory-card,.branch-detail-map-grid{grid-template-columns:1fr}.branch-directory-card figure{min-height:380px}.branch-detail-info-grid{grid-template-columns:1fr}.branch-detail-gallery header{grid-template-columns:1fr}.branch-detail-map iframe{min-height:420px}}
@media(max-width:680px){.branches-hero,.branch-detail-hero{min-height:660px}.branches-hero h1,.branch-detail-hero h1{font-size:60px}.branch-directory-card{min-height:0}.branch-directory-card figure{min-height:300px}.branch-detail-gallery>.container>div{grid-template-columns:1fr 1fr;grid-template-rows:330px 210px}.branch-detail-gallery figure:first-child{grid-column:1/3;grid-row:auto}}

/* About / corporate strength */
.about-page{overflow:hidden;background:#fff}.about-hero{min-height:min(780px,82vh);display:flex;align-items:end;color:#fff;background-image:linear-gradient(90deg,rgba(34,14,12,.8),rgba(34,14,12,.12) 72%),var(--about-bg);background-size:cover;background-position:center}.about-hero>.container{padding-bottom:clamp(65px,9vw,115px)}.about-hero span{display:inline-flex;align-items:center;gap:10px;font-size:10px;font-weight:750;letter-spacing:.2em;text-transform:uppercase}.about-hero span i{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#ac1318}.about-hero h1{max-width:900px;margin:22px 0 0;color:#fff;font-size:clamp(62px,8.3vw,120px);line-height:.8;letter-spacing:-.055em}.about-hero p{max-width:600px;margin:28px 0 0;color:rgba(255,255,255,.82);font-size:16px;line-height:1.75}.about-hero a{width:50px;height:50px;display:grid;place-items:center;margin-top:32px;border:1px solid rgba(255,255,255,.5);border-radius:50%;color:#fff;animation:journeyArrow 2.2s ease-in-out infinite}
.about-identity{padding:clamp(95px,12vw,165px) 0}.about-identity header{display:grid;grid-template-columns:.55fr 1.45fr;gap:50px;margin-bottom:60px}.about-identity header span,.about-timeline header span,.about-more article>span{color:#ac1318;font-size:10px;font-weight:750;letter-spacing:.18em;text-transform:uppercase}.about-identity header h2{margin:0;font-size:clamp(52px,6.5vw,90px);line-height:.85;letter-spacing:-.05em}.about-identity-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(50px,8vw,115px);align-items:start}.about-identity figure{position:sticky;top:110px;min-height:620px;overflow:hidden;margin:0;border-radius:25px;box-shadow:0 28px 70px rgba(61,29,25,.13)}.about-identity figure img{width:100%;height:100%;display:block;object-fit:cover}.about-identity figcaption{position:absolute;left:18px;bottom:18px;padding:10px 14px;border-radius:9px;color:#fff;background:rgba(48,19,16,.72);font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;backdrop-filter:blur(8px)}.about-identity article h3{margin:0 0 30px;font-size:clamp(46px,5.5vw,75px);line-height:.88}.about-identity article p{margin:0 0 22px;color:#67534d;font-size:15px;line-height:1.9}.about-identity article p:first-of-type{color:#3b2c28;font-family:'Bai Jamjuree', sans-serif;font-size:clamp(25px,2.4vw,34px);line-height:1.35}
.about-timeline{padding:clamp(90px,11vw,150px) 0;background:#f8f2ee}.about-timeline header{display:grid;grid-template-columns:.55fr 1.45fr;gap:50px;margin-bottom:60px}.about-timeline header h2{margin:0;font-size:clamp(50px,6.2vw,85px);line-height:.85;letter-spacing:-.05em}.about-timeline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.about-timeline-grid article{position:relative;min-height:390px;padding:34px;border:1px solid rgba(172,19,24,.11);border-radius:21px;background:#fff;transition:transform .45s ease,box-shadow .45s ease}.about-timeline-grid article:hover{transform:translateY(-8px);box-shadow:0 25px 55px rgba(61,29,25,.1)}.about-timeline-grid strong{display:block;color:rgba(172,19,24,.15);font-family:'Bai Jamjuree', sans-serif;font-size:70px;line-height:1}.about-timeline-grid i{width:48px;height:48px;display:grid;place-items:center;margin:45px 0 25px;border-radius:14px;color:#fff;background:#ac1318}.about-timeline-grid h3{margin:0 0 15px;font-size:32px}.about-timeline-grid p{margin:0;color:#75625b;line-height:1.75}
.about-more{padding:clamp(90px,11vw,150px) 0}.about-more-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.about-more article{min-height:390px;padding:clamp(32px,4vw,55px);border:1px solid #eaded8;border-radius:22px;background:#fff}.about-more h3{margin:55px 0 22px;font-size:clamp(42px,4.5vw,62px);line-height:.9}.about-more p,.about-more li{color:#75625b;line-height:1.8}.about-cta{padding:0 0 clamp(90px,11vw,145px)}
@media(max-width:850px){.about-identity header,.about-identity-grid,.about-timeline header{grid-template-columns:1fr}.about-identity figure{position:relative;top:auto;min-height:500px}.about-timeline-grid{grid-template-columns:1fr}.about-timeline-grid article{min-height:300px}.about-more-grid{grid-template-columns:1fr}}
@media(max-width:680px){.about-hero{min-height:670px;background-image:linear-gradient(0deg,rgba(34,14,12,.82),rgba(34,14,12,.08) 75%),var(--about-bg-mobile)}.about-hero h1{font-size:58px}.about-identity figure{min-height:420px}.about-timeline-grid strong{font-size:58px}}

.about-more .about-values-panel{grid-column:1/-1;min-height:0;padding:clamp(34px,5vw,65px)}.about-values-panel>h3{margin:28px 0 45px;font-size:clamp(52px,6.5vw,88px)}.about-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.about-values-grid>div{min-height:270px;padding:25px;border:1px solid #eaded8;border-radius:17px;background:#fdfaf8;transition:transform .4s ease,color .35s ease,background .35s ease}.about-values-grid>div:hover{transform:translateY(-6px);color:#fff;background:#ac1318}.about-values-grid i{width:42px;height:42px;display:grid;place-items:center;margin-bottom:35px;border-radius:12px;color:#fff;background:#ac1318;transition:color .35s ease,background .35s ease}.about-values-grid>div:hover i{color:#ac1318;background:#fff}.about-values-grid h4{margin:0 0 14px;font-family:'Bai Jamjuree', sans-serif;font-size:28px;line-height:.95}.about-values-grid p{margin:0;color:#75625b;font-size:13px;line-height:1.7;transition:color .35s ease}.about-values-grid>div:hover p{color:rgba(255,255,255,.82)}
@media(max-width:1000px){.about-values-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.about-values-grid{grid-template-columns:1fr}.about-values-grid>div{min-height:230px}}

.franchise-foundation{padding:clamp(90px,11vw,150px) 0;background:#f8f2ee}.franchise-foundation header{display:grid;grid-template-columns:.55fr 1.45fr;gap:50px;margin-bottom:55px}.franchise-foundation header span,.franchise-faq header span{color:#ac1318;font-size:10px;font-weight:750;letter-spacing:.18em;text-transform:uppercase}.franchise-foundation header h2{margin:0;font-size:clamp(50px,6.3vw,86px);line-height:.85;letter-spacing:-.05em}.franchise-foundation-grid{display:grid;grid-template-columns:.8fr .8fr 1.25fr;gap:13px}.franchise-foundation-grid article{position:relative;min-height:450px;padding:34px;border:1px solid rgba(172,19,24,.12);border-radius:21px;background:#fff}.franchise-foundation-grid article>span{color:rgba(172,19,24,.16);font-family:'Bai Jamjuree', sans-serif;font-size:65px}.franchise-foundation-grid article>i{width:48px;height:48px;display:grid;place-items:center;margin:55px 0 27px;border-radius:14px;color:#fff;background:#ac1318}.franchise-foundation-grid h3{margin:0 0 17px;font-size:34px;line-height:.95}.franchise-foundation-grid p{margin:0;color:#75625b;line-height:1.75}.franchise-foundation-grid figure{position:relative;overflow:hidden;margin:0;border-radius:21px}.franchise-foundation-grid figure img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .8s ease}.franchise-foundation-grid figure:hover img{transform:scale(1.06)}.franchise-foundation-grid figcaption{position:absolute;left:17px;bottom:17px;padding:10px 13px;border-radius:9px;color:#fff;background:rgba(48,19,16,.73);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(8px)}
.franchise-faq{padding:clamp(95px,11vw,155px) 0}.franchise-faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(55px,9vw,125px);align-items:start}.franchise-faq header{position:sticky;top:110px}.franchise-faq header h2{margin:22px 0 25px;font-size:clamp(49px,5.8vw,80px);line-height:.86;letter-spacing:-.05em}.franchise-faq header p{color:#75625b;line-height:1.8}.franchise-faq details{border-bottom:1px solid #e5d8d3}.franchise-faq details:first-child{border-top:1px solid #e5d8d3}.franchise-faq summary{min-height:105px;display:grid;grid-template-columns:45px 1fr 32px;align-items:center;gap:16px;cursor:pointer;list-style:none}.franchise-faq summary::-webkit-details-marker{display:none}.franchise-faq summary span{color:#ac1318;font-family:'Bai Jamjuree', sans-serif;font-size:23px}.franchise-faq summary strong{font-family:'Bai Jamjuree', sans-serif;font-size:27px}.franchise-faq summary i{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#ac1318;background:#fff3ef;transition:transform .35s ease}.franchise-faq details[open] summary i{transform:rotate(45deg);color:#fff;background:#ac1318}.franchise-faq details>p{margin:-8px 45px 30px 61px;color:#75625b;line-height:1.8}
@media(max-width:950px){.franchise-foundation-grid{grid-template-columns:1fr 1fr}.franchise-foundation-grid figure{grid-column:1/-1;min-height:450px}.franchise-faq-grid{grid-template-columns:1fr}.franchise-faq header{position:static}}@media(max-width:650px){.franchise-foundation header,.franchise-foundation-grid{grid-template-columns:1fr}.franchise-foundation-grid figure{grid-column:auto;min-height:380px}.franchise-foundation-grid article{min-height:370px}.franchise-faq summary{grid-template-columns:35px 1fr 30px}.franchise-faq summary strong{font-size:23px}.franchise-faq details>p{margin:-5px 25px 28px 51px}}

/* Discover, Journal and Campaigns */
.discover-page,.journal-page,.campaign-page-new{overflow:hidden;background:#fff}.discover-hero,.journal-hero,.campaign-hero-new{min-height:620px;display:flex;align-items:end;color:#fff;background:linear-gradient(110deg,rgba(40,15,13,.95),rgba(108,18,22,.72)),url('/images/demo/photo-1453614512568-c4024d13c247.avif') center/cover}.discover-hero>div,.journal-hero>div,.campaign-hero-new>div{padding-bottom:85px}.discover-hero span,.journal-hero span,.campaign-hero-new span{font-size:10px;font-weight:750;letter-spacing:.2em;text-transform:uppercase}.discover-hero h1,.journal-hero h1,.campaign-hero-new h1{margin:23px 0 0;color:#fff;font-size:clamp(62px,8.3vw,116px);line-height:.8;letter-spacing:-.055em}.discover-hero p,.journal-hero p,.campaign-hero-new p{max-width:590px;margin:28px 0 0;color:rgba(255,255,255,.8);font-size:16px;line-height:1.75}.discover-portals{padding:clamp(90px,11vw,145px) 0}.discover-portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.discover-portal-grid>a{position:relative;min-height:500px;display:flex;flex-direction:column;padding:clamp(35px,5vw,65px);overflow:hidden;border-radius:24px;color:#382a26;background:#f8f2ee;transition:transform .5s ease,color .4s ease,background .4s ease}.discover-portal-grid>a:hover{transform:translateY(-8px);color:#fff;background:#ac1318}.discover-portal-grid>a>span{font-family:'Bai Jamjuree', sans-serif;font-size:65px;opacity:.15}.discover-portal-grid>a>i{width:55px;height:55px;display:grid;place-items:center;margin-top:65px;border-radius:16px;color:#fff;background:#ac1318}.discover-portal-grid>a:hover>i{color:#ac1318;background:#fff}.discover-portal-grid h2{margin:28px 0 15px;font-size:65px}.discover-portal-grid p{max-width:450px;line-height:1.75;opacity:.72}.discover-portal-grid strong{display:flex;align-items:center;gap:10px;margin-top:auto;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.discover-latest{padding:clamp(90px,10vw,140px) 0;background:#f8f2ee}.discover-latest header{display:grid;grid-template-columns:.55fr 1.45fr;gap:45px;margin-bottom:55px}.discover-latest header span{color:#ac1318;font-size:10px;font-weight:750;letter-spacing:.17em;text-transform:uppercase}.discover-latest h2{margin:0;font-size:clamp(50px,6vw,82px);line-height:.85}.discover-content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.discover-content-grid>a{color:#392b27}.discover-content-grid figure{height:300px;overflow:hidden;margin:0 0 22px;border-radius:18px}.discover-content-grid img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.discover-content-grid a:hover img{transform:scale(1.06)}.discover-content-grid small{color:#ac1318;font-size:9px;font-weight:700;text-transform:uppercase}.discover-content-grid h3{margin:11px 0;font-size:34px}.discover-content-grid p{color:#75625b;line-height:1.7}.discover-campaign-strip{padding:75px 0}.discover-campaign-strip>.container{display:grid;grid-template-columns:.5fr 1.5fr;gap:40px}.discover-campaign-strip>div>span{color:#ac1318;font-size:10px;font-weight:700;text-transform:uppercase}.discover-campaign-strip>div>div{border-top:1px solid #eaded8}.discover-campaign-strip a{min-height:75px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eaded8;color:#392b27}.discover-campaign-strip a:hover{color:#ac1318}
.journal-categories{position:sticky;z-index:8;top:70px;border-bottom:1px solid #e8ddd8;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.journal-categories>.container{display:flex;gap:7px;overflow-x:auto;padding-top:15px;padding-bottom:15px}.journal-categories a{flex:none;padding:10px 14px;border-radius:999px;color:#67544d;background:#f8f2ee;font-size:10px;font-weight:700}.journal-categories a.is-active,.journal-categories a:hover{color:#fff;background:#ac1318}.journal-categories a span{margin-left:7px;opacity:.6}.journal-list{padding:80px 0 140px}.journal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:45px 18px}.journal-card{color:#392b27}.journal-card figure{height:360px;overflow:hidden;margin:0 0 24px;border-radius:20px}.journal-card.is-featured{grid-column:1/-1;display:grid;grid-template-columns:1.25fr .75fr;gap:55px;align-items:center}.journal-card.is-featured figure{height:540px;margin:0}.journal-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.journal-card:hover img{transform:scale(1.06)}.journal-card small{color:#ac1318;font-size:9px;font-weight:700;text-transform:uppercase}.journal-card h2{margin:12px 0 15px;font-size:clamp(36px,4vw,58px);line-height:.9}.journal-card p{color:#75625b;line-height:1.75}.journal-card>div>span{display:flex;gap:9px;align-items:center;margin-top:20px;color:#ac1318;font-size:10px;font-weight:700;text-transform:uppercase}.journal-empty,.campaign-empty{grid-column:1/-1;padding:80px;text-align:center;border:1px dashed #d9c8c1;border-radius:22px}.journal-empty i,.campaign-empty i{font-size:35px;color:#ac1318}.journal-detail header,.campaign-detail header{min-height:680px;display:flex;align-items:end;color:#fff;background-image:linear-gradient(0deg,rgba(35,14,13,.82),rgba(35,14,13,.05) 75%),var(--journal-bg);background-size:cover;background-position:center}.campaign-detail header{background-image:linear-gradient(0deg,rgba(35,14,13,.82),rgba(35,14,13,.05) 75%),var(--campaign-bg)}.journal-detail header>.container,.campaign-detail header>.container{padding-bottom:75px}.journal-detail header a,.campaign-detail header a{display:block;margin-bottom:35px;color:#fff;font-size:10px;text-transform:uppercase}.journal-detail header span,.campaign-detail header span{font-size:10px;font-weight:700;text-transform:uppercase}.journal-detail h1,.campaign-detail h1{max-width:950px;margin:20px 0;color:#fff;font-size:clamp(55px,7vw,100px);line-height:.82}.journal-detail header p{max-width:650px;color:rgba(255,255,255,.8);font-size:16px}.journal-article-body{display:grid;grid-template-columns:180px 1fr;gap:70px;padding-top:90px;padding-bottom:140px}.journal-article-body aside{display:flex;flex-direction:column;gap:8px;color:#ac1318;font-size:11px}.journal-article-body>div{max-width:820px;font-size:16px;line-height:1.9}.journal-article-body h2{margin-top:45px;font-size:45px}
.campaign-list-new{padding:90px 0 140px}.campaign-grid-new{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.campaign-grid-new>a{overflow:hidden;border:1px solid #eaded8;border-radius:22px;color:#392b27;background:#fff;transition:transform .45s ease,box-shadow .45s ease}.campaign-grid-new>a:hover{transform:translateY(-7px);box-shadow:0 28px 60px rgba(61,29,25,.11)}.campaign-grid-new figure{position:relative;height:360px;overflow:hidden;margin:0}.campaign-grid-new img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.campaign-grid-new a:hover img{transform:scale(1.06)}.campaign-grid-new figure span{position:absolute;left:17px;top:17px;padding:8px 11px;border-radius:9px;color:#fff;background:#ac1318;font-size:9px;font-weight:700;text-transform:uppercase}.campaign-grid-new>a>div{padding:30px}.campaign-grid-new small{color:#ac1318;font-size:9px;font-weight:700;text-transform:uppercase}.campaign-grid-new h2{margin:12px 0;font-size:42px}.campaign-grid-new p{color:#75625b;line-height:1.7}.campaign-grid-new strong{display:flex;gap:9px;align-items:center;margin-top:20px;color:#ac1318;font-size:10px;text-transform:uppercase}.campaign-detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;padding-top:90px;padding-bottom:140px}.campaign-detail-grid>div>span{color:#ac1318;font-size:10px;font-weight:700;text-transform:uppercase}.campaign-detail-grid>div>p{color:#64514b;font-size:16px;line-height:1.9}.campaign-detail-grid h2{margin:50px 0 18px;font-size:45px}.campaign-detail-grid aside{display:grid;gap:12px}.campaign-detail-grid aside article{padding:28px;border:1px solid #eaded8;border-radius:18px}.campaign-detail-grid aside i{width:42px;height:42px;display:grid;place-items:center;margin-bottom:28px;border-radius:12px;color:#fff;background:#ac1318}.campaign-detail-grid aside span{display:block;color:#ac1318;font-size:9px;font-weight:700;text-transform:uppercase}.campaign-detail-grid aside strong{display:block;margin-top:10px;line-height:1.6}
@media(max-width:850px){.discover-portal-grid,.discover-content-grid,.journal-grid,.campaign-grid-new,.campaign-detail-grid{grid-template-columns:1fr}.discover-latest header,.discover-campaign-strip>.container{grid-template-columns:1fr}.journal-card.is-featured{grid-column:auto;display:block}.journal-card.is-featured figure{height:400px;margin-bottom:24px}.journal-article-body{grid-template-columns:1fr;gap:30px}.campaign-detail-grid{gap:40px}}@media(max-width:600px){.discover-hero h1,.journal-hero h1,.campaign-hero-new h1{font-size:58px}.discover-portal-grid>a{min-height:420px}.discover-content-grid figure,.journal-card figure{height:280px}.journal-detail header,.campaign-detail header{min-height:620px}.journal-article-body{padding-top:60px}.journal-empty,.campaign-empty{padding:50px 20px}}

/* Header franchise action */
.header-franchise-cta{min-height:42px;display:inline-flex;align-items:center;gap:9px;padding:0 16px;border-radius:999px;color:#fff;background:#ac1318;font-size:9px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;box-shadow:0 10px 24px rgba(172,19,24,.2);transition:transform .3s ease,background .3s ease,box-shadow .3s ease}.header-franchise-cta i{font-size:11px}.header-franchise-cta:hover{transform:translateY(-2px);color:#fff;background:#7f0d12;box-shadow:0 15px 30px rgba(172,19,24,.28)}.mobile-franchise-cta{min-height:54px!important;display:flex!important;align-items:center!important;justify-content:flex-start;gap:11px!important;margin-top:9px;color:#fff!important;background:#ac1318!important}.mobile-franchise-cta i:last-child{margin-left:auto}.mobile-franchise-cta:hover{color:#fff!important;background:#7f0d12!important}
@media(max-width:1230px){.header-inner{gap:15px}.desktop-nav .nav-link{padding-left:9px;padding-right:9px;font-size:10px}.header-franchise-cta{padding:0 12px;font-size:8px}}@media(max-width:1080px){.header-franchise-cta{display:none}}

/* Header language selector: system-independent text codes replace emoji flags. */
.header-language-switcher { position:relative; flex:0 0 auto; }
.header-language-trigger {
  min-width:118px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 12px 0 5px;
  border:1px solid rgba(94,65,56,.14);
  border-radius:999px;
  color:#392a26;
  background:rgba(255,255,255,.86);
  font-family:inherit;
  font-size:10px;
  font-weight:800;
  line-height:1;
  letter-spacing:.08em;
  cursor:pointer;
  box-shadow:0 5px 18px rgba(58,37,27,.07);
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.header-language-trigger:hover { transform:translateY(-1px);border-color:rgba(172,19,24,.28);box-shadow:0 9px 24px rgba(58,37,27,.11); }
.header-language-icon { width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#fff;background:linear-gradient(145deg,#bd2429,#851014);box-shadow:0 5px 12px rgba(172,19,24,.2); }
.header-language-trigger .fa-globe { color:#fff; font-size:12px; }
.header-language-name { flex:1;text-align:left;color:#352723;font-size:11px;font-weight:750;letter-spacing:0; }
.header-language-trigger .fa-chevron-down { color:#7a6962; font-size:8px; }
.header-language-options {
  position:absolute;
  top:calc(100% + 9px);
  right:0;
  min-width:150px;
  padding:7px;
  border:1px solid #e0d8d3;
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 35px rgba(58,37,27,.16);
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  transition:.18s ease;
  z-index:120;
}
.header-language-switcher:hover .header-language-options,
.header-language-switcher:focus-within .header-language-options { opacity:1; visibility:visible; transform:translateY(0); }
.header-language-options a { display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 11px;border-radius:8px;color:#4b3a34;font-size:11px;font-weight:750;text-align:left; }
.header-language-options a small { color:#9b8981;font-size:8px;font-weight:800;letter-spacing:.12em; }
.header-language-options a:hover,
.header-language-options a.is-active { color:#fff; background:#ac1318; }
.header-language-options a:hover small,
.header-language-options a.is-active small { color:rgba(255,255,255,.7); }
@media(max-width:600px){
  .header-language-trigger { min-width:42px;width:42px;height:42px;padding:4px; }
  .header-language-icon { width:32px;height:32px; }
  .header-language-name,
  .header-language-trigger .fa-chevron-down { display:none; }
}

/* Structured LUAMIA footer */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-footer{position:relative;overflow:hidden;margin-top:0;color:#f9f2ec;background:#251715}
.site-footer::before{content:"";position:absolute;width:620px;height:620px;right:-250px;top:-380px;border-radius:50%;background:radial-gradient(circle,rgba(172,19,24,.38),rgba(172,19,24,0) 69%);pointer-events:none}
.footer-shell{position:relative;z-index:1;padding-top:clamp(55px,7vw,92px)}
.footer-brand-row{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(45px,7vw,110px);align-items:start;padding-bottom:clamp(50px,6vw,78px)}
.footer-brand-copy .footer-kicker{display:block;margin:0 0 20px;color:#dc8886;font-size:9px;font-weight:750;letter-spacing:.2em;text-transform:uppercase}
.site-footer .footer-brand-copy h3{margin:0;color:#fff;font-family:'Bai Jamjuree', sans-serif;font-size:clamp(58px,6vw,86px);line-height:.78;letter-spacing:-.04em}
.site-footer .footer-brand-copy>p{max-width:410px;margin:27px 0 0;color:rgba(249,242,236,.65);font-size:14px;line-height:1.8}
.site-footer .social-links{display:flex;gap:9px;margin-top:28px}
.site-footer .social-links a{width:42px;height:42px;margin:0;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:#fff;background:rgba(255,255,255,.04);transition:transform .3s ease,border-color .3s ease,background .3s ease}
.site-footer .social-links a:hover{transform:translateY(-3px);border-color:#ac1318;color:#fff;background:#ac1318}
.footer-connect{padding:clamp(25px,3vw,38px);border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(255,255,255,.035);backdrop-filter:blur(8px)}
.footer-contact-list{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.1)}
.site-footer .footer-contact-list>a,.site-footer .footer-contact-list>span{min-width:0;display:grid;grid-template-columns:32px 1fr;gap:11px;align-items:start;margin:0;color:#f9f2ec;font-size:12px;transition:color .3s ease}
.site-footer .footer-contact-list>a:hover{color:#dc8886}
.footer-contact-list>*>i{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;color:#f1aaa8;background:rgba(172,19,24,.18);font-size:11px}
.site-footer .footer-contact-list span span{min-width:0;display:block;margin:0;overflow-wrap:anywhere;color:inherit;font-size:12px;line-height:1.5}
.site-footer .footer-contact-list small{display:block;margin:0 0 4px;color:rgba(249,242,236,.42);font-size:8px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.footer-newsletter{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;align-items:end;padding-top:28px}
.site-footer .footer-newsletter>div>span{display:block;margin:0 0 8px;color:#fff;font-family:'Bai Jamjuree', sans-serif;font-size:25px;font-weight:600;line-height:1}
.site-footer .footer-newsletter p{margin:0;color:rgba(249,242,236,.52);font-size:11px;line-height:1.65}
.newsletter-inline{min-width:0;display:grid;grid-template-columns:1fr auto;gap:7px}
.newsletter-inline input[type=email]{min-width:0;height:50px;padding:0 16px;border:1px solid rgba(255,255,255,.14);border-radius:12px;outline:none;color:#fff;background:rgba(255,255,255,.06);font:inherit;font-size:12px;transition:border-color .3s ease,background .3s ease}
.newsletter-inline input[type=email]::placeholder{color:rgba(255,255,255,.38)}
.newsletter-inline input[type=email]:focus{border-color:rgba(220,136,134,.8);background:rgba(255,255,255,.09)}
.newsletter-inline button{height:50px;display:inline-flex;align-items:center;gap:18px;padding:0 18px;border:0;border-radius:12px;color:#fff;background:#ac1318;font:inherit;font-size:9px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:transform .3s ease,background .3s ease}
.newsletter-inline button:hover{transform:translateX(2px);background:#c12615}
.site-footer .newsletter-inline button span{display:block;margin:0;color:inherit;font-size:inherit}
.site-footer .newsletter-notice{grid-column:1/-1;margin:0 0 -7px;padding:10px 12px;border-radius:9px;color:#f9f2ec;background:rgba(255,255,255,.08);font-size:11px}
.site-footer .newsletter-notice.is-success{color:#fff;background:rgba(172,19,24,.35)}
.footer-link-grid{display:grid;grid-template-columns:1.1fr 1fr .85fr 1.45fr;gap:clamp(24px,5vw,75px);padding:clamp(44px,5vw,65px) 0;border-top:1px solid rgba(255,255,255,.1)}
.site-footer .footer-link-column h4{margin:0 0 25px;color:#dc8886;font-family:'Bai Jamjuree', sans-serif;font-size:9px;font-weight:750;letter-spacing:.18em;text-transform:uppercase}
.site-footer .footer-link-column a{position:relative;width:max-content;max-width:100%;display:block;margin:0 0 13px;color:rgba(249,242,236,.7);font-size:13px;line-height:1.45;transition:color .3s ease,transform .3s ease}
.site-footer .footer-link-column a::before{content:"";position:absolute;width:0;height:1px;left:0;bottom:-3px;background:#dc8886;transition:width .35s ease}
.site-footer .footer-link-column a:hover{transform:translateX(4px);color:#fff}
.site-footer .footer-link-column a:hover::before{width:24px}
.footer-bottom{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.09)}
.footer-bottom-inner{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.site-footer .footer-bottom-inner>span{display:flex;align-items:center;gap:8px;margin:0;color:rgba(249,242,236,.42);font-size:9px;letter-spacing:.06em;text-transform:uppercase}
.footer-bottom-inner i{width:3px;height:3px;border-radius:50%;background:#ac1318}
@media(max-width:1050px){.footer-brand-row{grid-template-columns:1fr}.footer-contact-list{grid-template-columns:repeat(3,1fr)}.footer-link-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.footer-shell{padding-top:55px}.footer-brand-row{gap:38px;padding-bottom:42px}.footer-connect{padding:22px 18px}.footer-contact-list{grid-template-columns:1fr;gap:18px}.footer-newsletter{grid-template-columns:1fr;align-items:start}.footer-link-grid{grid-template-columns:1fr 1fr;gap:35px 24px;padding:42px 0}.footer-bottom-inner{min-height:80px;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px}.site-footer .footer-bottom-inner>span:last-child{font-size:8px}}
@media(max-width:430px){.newsletter-inline{grid-template-columns:1fr}.newsletter-inline button{justify-content:space-between}.footer-link-grid{grid-template-columns:1fr 1fr;gap:32px 18px}.site-footer .footer-link-column a{font-size:12px}}

/* Menu category states: quiet editorial selection instead of red fills */
.menu-catalog-page .menu-taxonomy{
  border:1px solid #e7dad4;
  border-radius:24px;
  background:#f8f3f0;
  box-shadow:0 24px 60px rgba(62,35,29,.08);
}
.menu-catalog-page .menu-taxonomy>*{min-width:0}
.menu-catalog-page .menu-group-tabs{
  width:100%;
  min-width:0;
  gap:10px;
  padding:10px;
  border-bottom:1px solid #eaded8;
  background:#fff;
}
.menu-catalog-page .menu-group-tab{
  position:relative;
  min-width:0;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border:1px solid transparent;
  border-radius:14px;
  color:#75625b;
  background:transparent;
  opacity:1;
  outline:none;
  transition:color .3s ease,background .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease;
}
.menu-catalog-page .menu-group-tab:focus-visible{
  outline:2px solid rgba(172,19,24,.28);
  outline-offset:2px;
}
.menu-catalog-page .menu-group-tab + .menu-group-tab{border-left:1px solid transparent}
.menu-catalog-page .menu-group-tab::before{
  content:"";
  width:7px;
  height:7px;
  flex:none;
  border:2px solid #fff;
  border-radius:50%;
  background:#cdbbb3;
  box-shadow:0 0 0 1px #cdbbb3;
  transition:background .3s ease,box-shadow .3s ease,transform .3s ease;
}
.menu-catalog-page .menu-group-tab::after{
  left:50%;
  bottom:9px;
  width:0;
  height:2px;
  border-radius:999px;
  background:#ac1318;
}
.menu-catalog-page .menu-group-tab:hover{
  color:#422d28;
  border-color:#eaded8;
  background:#fbf8f6;
  transform:translateY(-1px);
}
.menu-catalog-page .menu-group-tab:hover::before{background:#b79489;box-shadow:0 0 0 1px #b79489;transform:scale(1.08)}
.menu-catalog-page .menu-group-tab.is-active{
  color:#422d28;
  border-color:#dfcec7;
  background:#f4ebe7;
  box-shadow:0 8px 20px rgba(62,35,29,.07);
}
.menu-catalog-page .menu-group-tab.is-active::before{background:#ac1318;box-shadow:0 0 0 1px #ac1318}
.menu-catalog-page .menu-group-tab.is-active::after{width:28px;background:#ac1318}
.menu-catalog-page .menu-taxonomy-group{min-width:0;border:0;background:transparent}
.menu-catalog-page .menu-taxonomy-buttons{width:100%;min-width:0;max-width:100%}
.menu-catalog-page .menu-filter-card{
  border-color:#e6d8d1;
  color:#4c342e;
  background:#fff;
  box-shadow:0 8px 22px rgba(62,35,29,.045);
  transition:transform .4s cubic-bezier(.22,1,.36,1),border-color .3s ease,box-shadow .3s ease;
}
.menu-catalog-page .menu-filter-card:hover{
  transform:translateY(-3px);
  border-color:#cdb7ae;
  background:#fff;
  box-shadow:0 15px 32px rgba(62,35,29,.09);
}
.menu-catalog-page .menu-filter-card.is-active{
  border-color:rgba(172,19,24,.38);
  color:#422d28;
  background:#fff;
  box-shadow:inset 4px 0 0 #ac1318,0 15px 34px rgba(62,35,29,.09);
}
.menu-catalog-page .menu-filter-card.is-active .menu-filter-card-copy{
  color:#422d28;
  background:transparent;
}
.menu-catalog-page .menu-filter-card-image{border-color:#eadbd4;filter:saturate(.82)}
.menu-catalog-page .menu-filter-card:hover .menu-filter-card-image{transform:scale(1.035);filter:saturate(.96)}
.menu-catalog-page .menu-filter-card.is-active .menu-filter-card-image{border-color:#d9b7ae;filter:saturate(1)}
.menu-catalog-page .menu-filter-card:hover small,
.menu-catalog-page .menu-filter-card.is-active small{
  color:#ac1318;
  border-color:#d8b8af;
  background:#f8ece8;
  transform:translateX(2px);
}
@media(max-width:700px){
  .menu-catalog-page .menu-taxonomy{border-radius:19px}
  .menu-catalog-page .menu-group-tabs{gap:6px;padding:7px}
  .menu-catalog-page .menu-group-tab{min-height:60px;gap:8px;border-radius:11px;font-size:11px;letter-spacing:.1em}
  .menu-catalog-page .menu-group-tab::before{width:6px;height:6px}
  .menu-catalog-page .menu-group-tab::after{bottom:6px}
  .menu-catalog-page .menu-taxonomy-group{padding:20px 13px}
}

/* About: visual manifesto and franchise finale */
.about-page{padding-bottom:0}
.about-manifesto{padding:clamp(90px,10vw,145px) 0;background:#fff}
.about-manifesto-list{display:grid;gap:clamp(100px,13vw,185px)}
.about-story{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(55px,8vw,115px);align-items:center;scroll-margin-top:120px}
.about-story.is-reverse{grid-template-columns:.88fr 1.12fr}
.about-story.is-reverse .about-story-visual{order:2}
.about-story-visual{min-width:0;display:grid;grid-template-columns:1.35fr .65fr;gap:13px;min-height:610px}
.about-story-main,.about-story-side figure{position:relative;overflow:hidden;margin:0;border-radius:22px;background:#ede3de}
.about-story-main::after,.about-story-side figure::after,.about-values-visuals figure::after,.about-franchise-gallery figure::after{content:"";position:absolute;inset:-90% -40%;pointer-events:none;background:linear-gradient(105deg,transparent 43%,rgba(255,255,255,.22) 50%,transparent 57%);transform:translateX(-65%) rotate(8deg);transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.about-story-visual:hover figure::after,.about-values-visuals:hover figure::after,.about-franchise-gallery:hover figure::after{transform:translateX(65%) rotate(8deg)}
.about-story-main img,.about-story-side figure img,.about-values-visuals img,.about-franchise-gallery img{width:100%;height:100%;display:block;object-fit:cover;transition:transform 1s cubic-bezier(.22,1,.36,1),filter .7s ease}
.about-story-visual:hover img,.about-values-visuals:hover img{transform:scale(1.035);filter:saturate(1.06)}
.about-story-main figcaption,.about-values-visuals figcaption{position:absolute;z-index:2;left:17px;bottom:17px;padding:10px 13px;border-radius:9px;color:#fff;background:rgba(42,22,19,.72);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(8px)}
.about-story-side{display:grid;grid-template-rows:1.15fr .85fr;gap:13px}
.about-story-stat{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;border:1px solid #e5d6cf;border-radius:22px;background:#f7efeb}
.about-story-stat::before{content:"";position:absolute;width:135px;height:135px;right:-52px;top:-55px;border:1px solid rgba(172,19,24,.18);border-radius:50%;animation:aboutOrbit 7s linear infinite}
.about-story-stat strong{color:#ac1318;font-family:'Bai Jamjuree', sans-serif;font-size:clamp(46px,5vw,69px);line-height:.82}
.about-story-stat span{max-width:170px;margin-top:16px;color:#705c55;font-size:11px;line-height:1.55}
.about-story-copy>span{display:flex;align-items:center;gap:10px;color:#ac1318;font-size:9px;font-weight:750;letter-spacing:.16em;text-transform:uppercase}
.about-story-copy>span b{font-family:'Bai Jamjuree', sans-serif;font-size:23px;letter-spacing:0}
.about-story-copy>span i{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(172,19,24,.18);border-radius:50%;background:#f9efec}
.about-story-copy h2{margin:30px 0 28px;color:#352520;font-size:clamp(50px,5.5vw,76px);line-height:.84;letter-spacing:-.045em}
.about-story-copy>p{margin:0;color:#715e57;font-size:15px;line-height:1.9}
.about-story-points{display:grid;margin-top:38px;border-top:1px solid #e8dbd5}
.about-story-points>span{min-height:58px;display:grid;grid-template-columns:35px 1fr;align-items:center;gap:12px;border-bottom:1px solid #e8dbd5;color:#47342e;font-size:12px;font-weight:650}
.about-story-points i{color:#ac1318;font-family:'Bai Jamjuree', sans-serif;font-size:18px;font-style:normal}
@keyframes aboutOrbit{to{transform:rotate(360deg)}}

.about-values-showcase{scroll-margin-top:110px;padding:clamp(95px,11vw,155px) 0;background:#f8f3f0}
.about-values-head{display:grid;grid-template-columns:.5fr 1.15fr .85fr;gap:45px;align-items:end;margin-bottom:55px}
.about-values-head>span{align-self:start;color:#ac1318;font-size:9px;font-weight:750;letter-spacing:.18em;text-transform:uppercase}
.about-values-head h2{margin:0;color:#352520;font-size:clamp(52px,6.5vw,90px);line-height:.82;letter-spacing:-.05em}
.about-values-head p{margin:0;color:#745f58;line-height:1.75}
.about-values-visuals{display:grid;grid-template-columns:1.35fr .65fr;gap:13px;height:clamp(420px,47vw,630px);margin-bottom:16px}
.about-values-visuals figure{position:relative;overflow:hidden;margin:0;border-radius:22px;background:#e8ddd7}
.about-values-visuals figure:nth-child(2){margin-top:75px}
.about-values-grid-new{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.about-values-grid-new article{position:relative;min-height:285px;overflow:hidden;padding:27px;border:1px solid #e3d5ce;border-radius:19px;background:#fff;transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .35s ease,box-shadow .45s ease}
.about-values-grid-new article::after{content:"";position:absolute;width:95px;height:95px;right:-48px;bottom:-48px;border:1px solid rgba(172,19,24,.16);border-radius:50%;transition:transform .5s ease}
.about-values-grid-new article:hover{transform:translateY(-7px);border-color:rgba(172,19,24,.24);box-shadow:0 24px 48px rgba(62,35,29,.09)}
.about-values-grid-new article:hover::after{transform:scale(1.35)}
.about-values-grid-new article>span{color:rgba(172,19,24,.45);font-family:'Bai Jamjuree', sans-serif;font-size:24px}
.about-values-grid-new article>i{width:43px;height:43px;display:grid;place-items:center;margin:38px 0 25px;border-radius:13px;color:#ac1318;background:#f7e9e5;font-size:14px;transition:transform .4s ease,color .3s ease,background .3s ease}
.about-values-grid-new article:hover>i{transform:rotate(-7deg) scale(1.06);color:#fff;background:#ac1318}
.about-values-grid-new h3{margin:0 0 14px;color:#3d2b26;font-size:28px;line-height:.95}
.about-values-grid-new p{margin:0;color:#74615a;font-size:12px;line-height:1.72}

.about-franchise-showcase{position:relative;overflow:hidden;padding:0 0 clamp(85px,10vw,135px);color:#fff;background:radial-gradient(circle at 14% 65%,rgba(172,19,24,.42),transparent 31%),linear-gradient(130deg,#251614,#351b18 58%,#481817)}
.about-franchise-showcase::before{content:"";position:absolute;width:620px;height:620px;right:-260px;bottom:-380px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.02),0 0 0 140px rgba(255,255,255,.015);animation:aboutFranchisePulse 8s ease-in-out infinite}
.about-franchise-marquee{position:relative;z-index:1;overflow:hidden;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.about-franchise-marquee>div{width:max-content;display:flex;align-items:center;gap:28px;padding:24px 0;color:rgba(255,255,255,.18);font-family:'Bai Jamjuree', sans-serif;font-size:clamp(25px,3vw,42px);font-weight:600;letter-spacing:.08em;white-space:nowrap;animation:aboutMarquee 24s linear infinite}
.about-franchise-marquee i{width:7px;height:7px;border-radius:50%;background:#ac1318}
.about-franchise-grid{position:relative;z-index:2;display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(55px,8vw,115px);align-items:center;padding-top:clamp(70px,9vw,120px)}
.about-franchise-copy>span{display:flex;align-items:center;gap:10px;color:#e2a49f;font-size:9px;font-weight:750;letter-spacing:.16em;text-transform:uppercase}
.about-franchise-copy>span i{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#ac1318}
.about-franchise-copy h2{margin:30px 0 25px;color:#fff;font-size:clamp(52px,6.3vw,88px);line-height:.82;letter-spacing:-.05em}
.about-franchise-copy>p{max-width:510px;margin:0;color:rgba(255,255,255,.67);font-size:15px;line-height:1.8}
.about-franchise-benefits{display:grid;gap:0;margin:36px 0;border-top:1px solid rgba(255,255,255,.12)}
.about-franchise-benefits span{min-height:56px;display:flex;align-items:center;gap:13px;border-bottom:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.78);font-size:11px}
.about-franchise-benefits i{width:30px;color:#e7a5a2;text-align:center}
.about-franchise-button{min-height:56px;display:inline-flex;align-items:center;gap:30px;padding:0 20px 0 24px;border-radius:14px;color:#3b211d;background:#fff5ef;font-size:10px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;transition:transform .35s ease,background .3s ease}
.about-franchise-button i{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#ac1318;transition:transform .35s ease}
.about-franchise-button:hover{transform:translateY(-3px);color:#3b211d;background:#fff}
.about-franchise-button:hover i{transform:translateX(4px)}
.about-franchise-gallery{min-width:0;display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:255px 255px;gap:13px}
.about-franchise-gallery figure{position:relative;overflow:hidden;margin:0;border-radius:20px;background:#5b2c26}
.about-franchise-gallery figure:first-child{grid-row:1/3}
.about-franchise-gallery img{animation:aboutImageBreath 9s ease-in-out infinite alternate}
.about-franchise-gallery figure:nth-child(2) img{animation-delay:-3s}.about-franchise-gallery figure:nth-child(3) img{animation-delay:-6s}
.about-franchise-gallery figure:hover img{animation-play-state:paused;transform:scale(1.055);filter:saturate(1.08)}
.about-franchise-gallery figcaption{position:absolute;z-index:2;left:13px;right:13px;bottom:13px;display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:10px;color:#fff;background:rgba(39,20,17,.7);font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;backdrop-filter:blur(8px)}
.about-franchise-gallery figcaption span{color:#efaaa7;font-family:'Bai Jamjuree', sans-serif;font-size:18px}
@keyframes aboutMarquee{to{transform:translateX(-50%)}}
@keyframes aboutImageBreath{from{transform:scale(1.01)}to{transform:scale(1.07)}}
@keyframes aboutFranchisePulse{50%{transform:scale(1.05);opacity:.7}}
@media(max-width:1050px){.about-story,.about-story.is-reverse{grid-template-columns:1fr;gap:45px}.about-story.is-reverse .about-story-visual{order:0}.about-story-visual{min-height:560px}.about-values-head{grid-template-columns:1fr 1fr}.about-values-head>p{grid-column:2}.about-values-grid-new{grid-template-columns:repeat(2,1fr)}.about-franchise-grid{grid-template-columns:1fr}.about-franchise-copy{max-width:720px}.about-franchise-gallery{min-height:540px}}
@media(max-width:680px){.about-manifesto{padding:75px 0}.about-manifesto-list{gap:95px}.about-story-visual{grid-template-columns:1fr;grid-template-rows:360px 210px;min-height:0}.about-story-side{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.about-story-side figure,.about-story-stat{min-height:210px}.about-story-copy h2{font-size:52px}.about-story-copy>p{font-size:14px}.about-values-showcase{padding:75px 0}.about-values-head{grid-template-columns:1fr;gap:18px}.about-values-head>p{grid-column:auto}.about-values-visuals{grid-template-columns:1fr 1fr;height:330px}.about-values-visuals figure:nth-child(2){margin-top:45px}.about-values-grid-new{grid-template-columns:1fr}.about-values-grid-new article{min-height:245px}.about-franchise-grid{gap:50px;padding-top:70px}.about-franchise-gallery{grid-template-columns:1fr 1fr;grid-template-rows:330px 210px;min-height:0}.about-franchise-gallery figure:first-child{grid-column:1/3;grid-row:auto}.about-franchise-copy h2{font-size:52px}}
@media(max-width:430px){.about-story-visual{grid-template-rows:330px auto}.about-story-side{grid-template-columns:1fr}.about-story-side figure{min-height:190px}.about-story-stat{min-height:180px}.about-values-visuals{height:290px}.about-franchise-gallery{grid-template-rows:300px 180px}.about-franchise-benefits span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.about-story-stat::before,.about-franchise-marquee>div,.about-franchise-showcase::before,.about-franchise-gallery img{animation:none}}

/* Unified pill buttons and premium colour motion */
.btn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 999px;
  background-size: 220% 100%;
  background-position: 0 50%;
  box-shadow: 0 10px 24px rgba(83, 31, 27, .12);
  transition:
    transform .35s cubic-bezier(.22, 1, .36, 1),
    color .35s ease,
    border-color .35s ease,
    background-position .55s cubic-bezier(.22, 1, .36, 1),
    box-shadow .35s ease;
}
.btn::before,
.header-franchise-cta::before,
.mobile-franchise-cta::before,
.newsletter-inline button::before,
.about-franchise-button::before {
  content: '';
  position: absolute;
  z-index: 0;
  top: -35%;
  bottom: -35%;
  left: -42%;
  width: 28%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
  transform: skewX(-20deg);
  transition: left .65s cubic-bezier(.22, 1, .36, 1);
}
.btn:hover::before,
.header-franchise-cta:hover::before,
.mobile-franchise-cta:hover::before,
.newsletter-inline button:hover::before,
.about-franchise-button:hover::before { left: 118%; }
.btn > *,
.header-franchise-cta > *,
.newsletter-inline button > *,
.about-franchise-button > * { position: relative; z-index: 1; }
.btn-primary {
  background-image: linear-gradient(110deg, #ac1318 0%, #ac1318 34%, #c9876e 67%, #680b0e 100%);
}
.btn-primary:hover {
  color: #fff;
  background-position: 100% 50%;
  box-shadow: 0 16px 32px rgba(121, 13, 17, .25);
  transform: translateY(-3px);
}
.btn-soft {
  background-image: linear-gradient(110deg, #fff 0%, #fff5ef 46%, #ead2c7 100%);
}
.btn-soft:hover {
  color: #680b0e;
  border-color: rgba(172,19,24,.24);
  background-position: 100% 50%;
  box-shadow: 0 14px 28px rgba(83,31,27,.12);
  transform: translateY(-3px);
}
.btn-outline:hover {
  color: #680b0e;
  border-color: #fff5ef;
  background: #fff5ef;
  box-shadow: 0 14px 28px rgba(35,15,13,.18);
  transform: translateY(-3px);
}
.cta-band .btn,
.cta-content > .btn {
  border-radius: 999px;
  background-image: linear-gradient(110deg, #ac1318 0%, #ac1318 38%, #c9876e 68%, #680b0e 100%);
  background-size: 220% 100%;
  background-position: 0 50%;
}
.cta-band .btn:hover,
.cta-content > .btn:hover {
  color: #fff;
  background-position: 100% 50%;
}
.header-franchise-cta,
.mobile-franchise-cta,
.newsletter-inline button,
.about-franchise-button {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 999px;
  background-size: 220% 100%;
  background-position: 0 50%;
  transition:
    transform .35s cubic-bezier(.22, 1, .36, 1),
    color .35s ease,
    border-color .35s ease,
    background-position .55s cubic-bezier(.22, 1, .36, 1),
    box-shadow .35s ease;
}
.header-franchise-cta,
.newsletter-inline button {
  background-image: linear-gradient(110deg, #ac1318 0%, #ac1318 38%, #c9876e 68%, #680b0e 100%);
}
.header-franchise-cta:hover,
.newsletter-inline button:hover {
  color: #fff;
  background-position: 100% 50%;
  transform: translateY(-3px);
  box-shadow: 0 15px 30px rgba(121,13,17,.25);
}
.mobile-franchise-cta {
  border-radius: 999px !important;
  background-image: linear-gradient(110deg, #ac1318 0%, #ac1318 38%, #c9876e 68%, #680b0e 100%) !important;
  background-size: 220% 100% !important;
}
.mobile-franchise-cta:hover { background-position: 100% 50% !important; }
.about-franchise-button {
  background-image: linear-gradient(110deg, #fff5ef 0%, #fff 48%, #ead2c7 100%);
}
.about-franchise-button:hover {
  color: #680b0e;
  background-position: 100% 50%;
  box-shadow: 0 16px 34px rgba(24,10,9,.2);
}
.franchise-application .franchise-submit-button {
  min-width: 230px;
  min-height: 56px;
  justify-content: space-between;
  margin-top: 8px;
  padding: 0 22px 0 25px;
}
.franchise-submit-button i {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ac1318;
  background: #fff5ef;
  transition: color .35s ease, background .35s ease, transform .4s cubic-bezier(.22, 1, .36, 1);
}
.franchise-submit-button:hover i {
  color: #680b0e;
  background: #fff;
  transform: translateX(5px) rotate(-8deg);
}

/* Menu and Masadakiler selectors use the same rounded interaction language. */
.menu-catalog-page .menu-group-tab {
  overflow: hidden;
  border-radius: 999px;
  background-image: linear-gradient(105deg, transparent 0%, transparent 46%, #f4e8e3 72%, #fff 100%);
  background-size: 220% 100%;
  background-position: 0 50%;
  transition:
    transform .35s cubic-bezier(.22, 1, .36, 1),
    color .35s ease,
    border-color .35s ease,
    background-position .5s ease,
    box-shadow .35s ease;
}
.menu-catalog-page .menu-group-tab:hover {
  color: #680b0e;
  border-color: rgba(172,19,24,.2);
  background-position: 100% 50%;
  box-shadow: 0 12px 25px rgba(77,38,31,.1);
  transform: translateY(-2px);
}
.menu-catalog-page .menu-group-tab.is-active {
  color: #680b0e;
  border-color: rgba(172,19,24,.22);
  background: linear-gradient(105deg, #fff 0%, #f7ebe7 58%, #ead2c7 100%);
  box-shadow: 0 11px 24px rgba(77,38,31,.1);
}
.menu-catalog-page .menu-filter-card {
  border-radius: 999px;
  background-image: linear-gradient(105deg, #fff 0%, #fff 43%, #f7ebe7 72%, #ead2c7 100%);
  background-size: 220% 100%;
  background-position: 0 50%;
  transition:
    transform .4s cubic-bezier(.22, 1, .36, 1),
    border-color .35s ease,
    background-position .55s cubic-bezier(.22, 1, .36, 1),
    box-shadow .4s ease;
}
.menu-catalog-page .menu-filter-card:hover {
  border-color: rgba(172,19,24,.24);
  background-position: 100% 50%;
  box-shadow: 0 18px 36px rgba(77,38,31,.12);
}
.menu-catalog-page .menu-filter-card.is-active {
  border-color: rgba(172,19,24,.32);
  background: linear-gradient(105deg, #fff 0%, #f9eeea 62%, #ead2c7 100%);
  box-shadow: inset 0 0 0 2px rgba(172,19,24,.1), 0 16px 34px rgba(62,35,29,.1);
}
.table-hero-menu button {
  border-radius: 999px;
  background-image: linear-gradient(105deg, #fffaf7 0%, #fffaf7 45%, #ead2c7 100%);
  background-size: 220% 100%;
  background-position: 0 50%;
  transition:
    transform .35s cubic-bezier(.22, 1, .36, 1),
    color .35s ease,
    border-color .35s ease,
    background-position .5s ease,
    box-shadow .35s ease;
}
.table-hero-menu button:hover {
  color: #fff;
  border-color: #ac1318;
  background-image: linear-gradient(105deg, #ac1318 0%, #c9876e 58%, #680b0e 100%);
  background-position: 100% 50%;
  box-shadow: 0 13px 26px rgba(104,11,14,.22);
}
.table-category-tabs {
  gap: 10px;
  border-top: 0;
}
.table-category-tabs button {
  min-height: 88px;
  padding: 0 18px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background-image: linear-gradient(105deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,.02) 45%, rgba(172,19,24,.55) 100%);
  background-size: 220% 100%;
  background-position: 0 50%;
  transition:
    transform .35s cubic-bezier(.22, 1, .36, 1),
    color .35s ease,
    border-color .35s ease,
    background-position .5s ease,
    box-shadow .35s ease;
}
.table-category-tabs button:hover,
.table-category-tabs button.is-active {
  padding-left: 22px;
  color: #fff;
  border-color: rgba(255,255,255,.3);
  background-position: 100% 50%;
  box-shadow: 0 14px 28px rgba(24,9,8,.2);
  transform: translateX(4px);
}
@media (max-width: 680px) {
  .franchise-application .franchise-submit-button { width: 100%; }
  .menu-catalog-page .menu-group-tab,
  .menu-catalog-page .menu-filter-card { border-radius: 999px; }
  .table-category-tabs { gap: 7px; }
  .table-category-tabs button,
  .table-category-tabs button:hover,
  .table-category-tabs button.is-active {
    min-height: 66px;
    padding: 8px 10px;
    transform: translateY(-2px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .btn,
  .header-franchise-cta,
  .mobile-franchise-cta,
  .newsletter-inline button,
  .about-franchise-button,
  .menu-catalog-page .menu-group-tab,
  .menu-catalog-page .menu-filter-card,
  .table-hero-menu button,
  .table-category-tabs button { transition-duration: .01ms; }
  .btn::before,
  .header-franchise-cta::before,
  .mobile-franchise-cta::before,
  .newsletter-inline button::before,
  .about-franchise-button::before { display: none; }
}

.journal-page .journal-hero{
  background-image:var(--blog-hero);
  background-position:center;
  background-size:cover;
}

/* Global page canvas and content sections */
html,
body,
main,
main.home-page {
  background-color: #fcf5ef !important;
  background-image: none !important;
}

main > .section,
main > section:not(.hero-wrap):not(.page-hero):not(.franchise-hero-new):not(.discover-hero):not(.journal-hero):not(.campaign-hero-new),
.season-section,
.ritual-section,
.mekan-section,
.menu-browser,
.menu-results-section,
.table-signatures,
.table-closing {
  background-color: #fcf5ef !important;
}

/* Global typography */
body,
button,
input,
select,
textarea,
body *:not(i):not(.fa):not(.fas):not(.far):not(.fab) {
  font-family: "Aeonik Pro", "Aeonik", "Bai Jamjuree", Arial, sans-serif;
}

.home-page .section > .container > .cta-band:first-child {
  margin-top: 0;
}

/* Enlarged header logo */
.site-header .header-inner { min-height: 112px; }
.site-header .brand-logo-img {
  width: auto;
  height: 87px;
  max-width: 285px;
  max-height: 87px;
}
@media (max-width: 1080px) {
  .site-header .header-inner { min-height: 92px; }
  .site-header .brand-logo-img {
    height: 75px;
    max-width: min(232px, 54vw);
    max-height: 75px;
  }
}
@media (max-width: 600px) {
  .site-header .header-inner { min-height: 84px; }
  .site-header .brand-logo-img {
    height: 66px;
    max-width: min(205px, 50vw);
    max-height: 66px;
  }
}

/* Desktop navigation spacing and type scale */
@media (min-width: 1081px) {
  .site-header .desktop-nav { margin-left: 25px; }
  .site-header .desktop-nav .nav-link { font-size: 14px; }
}
@media (min-width: 1081px) and (max-width: 1230px) {
  .site-header .desktop-nav .nav-link { font-size: 12px; }
}

/* Clean gallery images and compact footer brand copy. */
.home-page .hero-media,
.home-page .hero-slide.is-active .hero-media {
  animation: none !important;
  transform: none !important;
}
.home-page .hero-slide::after { display: none !important; }
.home-page .hero-media::before {
  content: '';
  position: absolute;
  z-index: 2;
  inset: -80% -30%;
  background: linear-gradient(105deg, transparent 42%, rgba(255,255,255,.28) 50%, transparent 58%);
  transform: translateX(-60%) rotate(8deg);
  transition: transform .85s cubic-bezier(.22,1,.36,1);
  pointer-events: none;
}
.home-page .hero-slide:hover .hero-media::before {
  transform: translateX(70%) rotate(8deg);
}
.home-page .mekan-shot::before { display: none; }
.home-page .mekan-track { align-items: stretch; }
.home-page .mekan-shot,
.home-page .mekan-slide:nth-child(even),
.home-page .mekan-slide:nth-child(3n) {
  min-height: 0 !important;
  aspect-ratio: 3 / 4;
  border-radius: 18px;
  transform: none;
  filter: none;
  box-shadow: 0 18px 36px rgba(70,36,29,.15);
  transition: none;
}
.home-page .mekan-shot:hover,
.home-page .mekan-slide:nth-child(even):hover,
.home-page .mekan-slide:nth-child(3n):hover {
  transform: none;
  filter: none;
  box-shadow: 0 18px 36px rgba(70,36,29,.15);
  border-radius: 18px;
}
.home-page { padding-bottom: 0 !important; }
.home-page > .mekan-section {
  padding-bottom: clamp(88px, 8vw, 112px) !important;
  background: transparent !important;
}
.home-page > .mekan-section .mekan-viewport { padding-bottom: 16px; }
.home-page + .site-footer { margin-top: 0; }
.site-footer .footer-brand-copy > p { margin-top: 0; }

.menu-catalog-page .menu-quickbar-inner {
  grid-template-columns: minmax(230px, 1fr) auto;
}
.menu-catalog-page .menu-browser { padding-top: 36px !important; }
.menu-catalog-page .menu-browser { padding-bottom: 24px !important; }
.menu-catalog-page .menu-results-section { padding-top: 18px !important; }

/* Image-led menu category cards */
.menu-catalog-page .menu-filter-card,
.menu-catalog-page .menu-filter-card:hover,
.menu-catalog-page .menu-filter-card.is-active {
  position: relative;
  min-height: 190px;
  display: block;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: #ddd;
  box-shadow: none;
  transform: none;
}
.menu-catalog-page .menu-filter-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(32,18,15,.28);
  transition: background-color .3s ease;
}
.menu-catalog-page .menu-filter-card:hover::after,
.menu-catalog-page .menu-filter-card.is-active::after { background: rgba(83,10,13,.38); }
.menu-catalog-page .menu-filter-card-image,
.menu-catalog-page .menu-filter-card:hover .menu-filter-card-image,
.menu-catalog-page .menu-filter-card.is-active .menu-filter-card-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  background-position: center;
  background-size: cover;
  filter: saturate(.9);
  transform: none;
}
.menu-catalog-page .menu-filter-card-copy,
.menu-catalog-page .menu-filter-card.is-active .menu-filter-card-copy {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  padding: 18px;
  color: #fff;
  background: transparent;
  text-align: center;
}
.menu-catalog-page .menu-filter-card-copy strong {
  color: #fff;
  font-size: 24px;
  line-height: 1.05;
  text-shadow: 0 2px 12px rgba(0,0,0,.45);
}

/* Reference-style menu taxonomy and horizontal category cards. */
.menu-catalog-page .menu-taxonomy {
  overflow: visible;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.menu-catalog-page .menu-taxonomy-kicker {
  display: block;
  margin-bottom: 18px;
  color: #ad1519;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
}
.menu-catalog-page .menu-group-tabs {
  width: min(430px, 100%);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  overflow: hidden;
  margin-bottom: 34px;
  padding: 0;
  border: 1px solid #ddcec7;
  border-radius: 12px;
  background: transparent;
}
.menu-catalog-page .menu-group-tab,
.menu-catalog-page .menu-group-tab:hover,
.menu-catalog-page .menu-group-tab.is-active {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 18px;
  border: 0;
  border-radius: 0;
  color: #3f2b27;
  background: transparent;
  background-image: none;
  box-shadow: none;
  font-size: 12px;
  opacity: 1;
  transform: none;
}
.menu-catalog-page .menu-group-tab + .menu-group-tab { border-left: 1px solid #ddcec7; }
.menu-catalog-page .menu-group-tab.is-active { color: #ad1519; background: rgba(173,21,25,.055); }
.menu-catalog-page .menu-group-tab::after { display: none; }
.menu-catalog-page .menu-group-tab i { color: currentColor; font-size: 13px; }
.menu-catalog-page .menu-taxonomy-group { padding: 0; border: 0; background: transparent; }
.menu-catalog-page .menu-taxonomy-buttons { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.menu-catalog-page .menu-filter-card,
.menu-catalog-page .menu-filter-card:hover,
.menu-catalog-page .menu-filter-card.is-active {
  min-height: 142px;
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 12px 13px 12px 8px;
  border: 1px solid #eaded8;
  border-radius: 14px;
  color: #3d2925;
  background: rgba(255,255,255,.72);
  box-shadow: 0 10px 26px rgba(62,35,29,.055);
  text-align: left;
}
.menu-catalog-page .menu-filter-card::after { display: none; }
.menu-catalog-page .menu-filter-card-image,
.menu-catalog-page .menu-filter-card:hover .menu-filter-card-image,
.menu-catalog-page .menu-filter-card.is-active .menu-filter-card-image {
  position: static;
  width: 105px;
  height: 112px;
  border: 0;
  border-radius: 10px;
  background-color: transparent;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  filter: none;
}
.menu-catalog-page .menu-filter-card-copy,
.menu-catalog-page .menu-filter-card.is-active .menu-filter-card-copy {
  position: static;
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  align-items: start;
  justify-items: start;
  gap: 14px;
  padding: 0;
  color: #3d2925;
  background: transparent;
  text-align: left;
}
.menu-catalog-page .menu-filter-number {
  grid-column: 1 / -1;
  color: #ad1519;
  font-size: 9px;
  font-weight: 800;
}
.menu-catalog-page .menu-filter-card-copy strong {
  width: 100%;
  display: block;
  color: #3d2925;
  font-size: 18px;
  line-height: 1.05;
  text-align: left;
  text-shadow: none;
}
.menu-catalog-page .menu-filter-card-copy small {
  justify-self: start;
}
.menu-catalog-page .menu-filter-card-copy small i {
  font-size: 11px;
  transition: transform .3s ease;
}

/* Menu product card detail action */
.menu-catalog-page .menu-item-visual { position: relative; }
.menu-catalog-page .menu-item-detail-link {
  position: absolute;
  z-index: 3;
  right: 16px;
  bottom: 16px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(173,21,25,.28);
  border-radius: 50%;
  color: #ad1519;
  background: rgba(252,245,239,.94);
  box-shadow: 0 8px 22px rgba(55,25,22,.12);
  transition: transform .3s ease, color .3s ease, background .3s ease;
}
.menu-catalog-page .menu-item-detail-link:hover { color: #fff; background: #ad1519; transform: translateY(-3px); }

/* Vertical product cards: image first, information underneath. */
.menu-catalog-page .menu-products-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px 18px; }
.menu-catalog-page .menu-item,
.menu-catalog-page .menu-item:hover {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: visible;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}
.menu-catalog-page .menu-item-visual {
  width: 100%;
  min-height: 0;
  aspect-ratio: 1 / 1;
  overflow: visible;
  border-radius: 0;
  background: transparent;
}
.menu-catalog-page .menu-item-visual img {
  object-fit: contain;
  background: transparent;
  mix-blend-mode: normal;
}
.menu-catalog-page .menu-item-copy {
  display: block;
  padding: 18px 3px 0;
  background: transparent;
}
.menu-catalog-page .menu-item-copy .meta { margin-bottom: 8px; color: #ad1519; }
.menu-catalog-page .menu-item-copy h3 { margin: 0 0 11px; color: #3d2925; font-size: clamp(25px, 2.5vw, 34px); }
.menu-catalog-page .menu-item-copy p { max-width: 95%; }
@media (max-width: 1180px) {
  .menu-catalog-page .menu-products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .menu-catalog-page .menu-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .menu-catalog-page .menu-products-grid { grid-template-columns: 1fr; }
}

/* Menu product detail */
.menu-product-detail-page,
.menu-product-detail { background: #fcf5ef !important; }
.menu-product-detail { min-height: calc(100vh - 110px); padding: clamp(22.5px,3vw,42.5px) 0 clamp(80px,10vw,140px); }
.menu-product-breadcrumb { display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:clamp(24px,3vw,38px);color:#806e67;font-size:11px;font-weight:700; }
.menu-product-breadcrumb a { color:#ad1519; }
.menu-product-breadcrumb i { color:#bca9a1;font-size:8px; }
.menu-product-detail-grid { display:grid;grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);align-items:start;gap:clamp(45px,8vw,120px); }
.menu-product-detail-copy>span { color:#7d6962;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase; }
.menu-product-title-row { display:flex;align-items:center;gap:22px;margin:0 0 22px; }
.menu-product-title-row h1 { max-width:720px;margin:0;color:#ad1519;font-size:clamp(52px,6.6vw,96px);font-weight:700;line-height:.84;letter-spacing:-.055em; }
.menu-product-title-row button { width:50px;height:50px;display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:50%;color:#fff;background:#ad1519;font-size:18px;cursor:pointer; }
.menu-product-detail-copy>strong { display:block;margin-bottom:20px;color:#3c2925;font-size:clamp(21px,2vw,30px);font-weight:600; }
.menu-product-detail-copy>p { max-width:620px;margin:0;color:#ad1519;font-size:17px;line-height:1.85; }
.menu-product-detail-copy>small { display:block;margin-top:25px;color:#8d7a73;font-size:11px; }
.menu-product-back { display:inline-flex;align-items:center;gap:10px;margin-top:35px;padding-bottom:6px;border-bottom:1px solid rgba(173,21,25,.35);color:#ad1519;font-size:12px;font-weight:800;text-transform:uppercase; }
.menu-product-detail-visual { position:relative;min-height:620px;display:grid;place-items:center;margin:0;overflow:hidden; }
.menu-product-detail-visual::before { content:"";position:absolute;width:min(44vw,590px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 34%,#f8efea 0 18%,#f2e5df 52%,#ead8d0 100%);animation:menuProductHaloBreath 6s ease-in-out infinite; }
.menu-product-detail-visual::after { content:"";position:absolute;width:min(46vw,615px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(173,21,25,.14);background:conic-gradient(from 20deg,transparent 0 30%,rgba(255,255,255,.75) 38%,rgba(173,21,25,.12) 43%,transparent 51% 100%);mask:radial-gradient(circle,transparent 67%,#000 68%);-webkit-mask:radial-gradient(circle,transparent 67%,#000 68%);animation:menuProductHaloOrbit 14s linear infinite;pointer-events:none; }
.menu-product-detail-visual>div { position:relative;z-index:1;width:min(42vw,560px);height:570px;display:grid;place-items:center; }
.menu-product-detail-visual img { width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 26px 28px rgba(62,31,27,.16)); }
@keyframes menuProductHaloBreath { 0%,100%{transform:scale(.97);filter:saturate(.92)} 50%{transform:scale(1.025);filter:saturate(1.06)} }
@keyframes menuProductHaloOrbit { to{transform:rotate(360deg)} }
@media(prefers-reduced-motion:reduce){.menu-product-detail-visual::before,.menu-product-detail-visual::after{animation:none}}
.menu-product-not-found { min-height:60vh;display:grid;place-items:center;text-align:center; }.menu-product-not-found h1{margin-bottom:25px;color:#ad1519;font-size:55px}
@media(max-width:900px){.menu-product-detail-grid{grid-template-columns:1fr}.menu-product-detail-visual{min-height:480px;grid-row:1}.menu-product-detail-visual::before{width:min(78vw,500px)}.menu-product-detail-visual::after{width:min(82vw,520px)}.menu-product-detail-visual>div{width:min(76vw,480px);height:450px}.menu-product-title-row h1{font-size:clamp(48px,11vw,75px)}}
@media(max-width:600px){.menu-product-detail{padding-top:15px}.menu-product-breadcrumb{margin-bottom:30px}.menu-product-detail-visual{min-height:360px}.menu-product-detail-visual>div{height:340px}.menu-product-title-row{align-items:flex-start}.menu-product-title-row button{width:44px;height:44px}.menu-product-detail-copy>p{font-size:15px}}
.menu-catalog-page .menu-filter-card:hover .menu-filter-card-copy small i {
  transform: translateX(3px);
}
.menu-catalog-page .menu-filter-card-copy small,
.menu-catalog-page .menu-filter-card:hover small,
.menu-catalog-page .menu-filter-card.is-active small {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid #ad1519;
  border-radius: 50%;
  color: #ad1519;
  background: transparent;
  transform: none;
}
@media (max-width: 1180px) {
  .menu-catalog-page .menu-taxonomy-buttons { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .menu-catalog-page .menu-taxonomy-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-catalog-page .menu-filter-card,
  .menu-catalog-page .menu-filter-card:hover,
  .menu-catalog-page .menu-filter-card.is-active { grid-template-columns: 82px minmax(0,1fr); min-height: 120px; }
  .menu-catalog-page .menu-filter-card-image,
  .menu-catalog-page .menu-filter-card:hover .menu-filter-card-image,
  .menu-catalog-page .menu-filter-card.is-active .menu-filter-card-image { width: 82px; height: 92px; }
}
@media (max-width: 480px) {
  .menu-catalog-page .menu-taxonomy-buttons { grid-template-columns: 1fr; }
}

/* Corporate-red selected category and refined product subgroup bands. */
.menu-catalog-page .menu-filter-card.is-active {
  border-color: #ad1519;
  color: #fff;
  background: #ad1519;
  box-shadow: 0 16px 34px rgba(173,21,25,.2);
}
.menu-catalog-page .menu-filter-card.is-active .menu-filter-card-copy,
.menu-catalog-page .menu-filter-card.is-active .menu-filter-card-copy strong {
  color: #fff;
}
.menu-catalog-page .menu-filter-card.is-active .menu-filter-card-copy small {
  border-color: rgba(255,255,255,.65);
  color: #ad1519;
  background: #fff;
}
.menu-catalog-page .menu-filter-card.is-active .menu-filter-card-image {
  border-radius: 9px;
  background-color: rgba(255,255,255,.1);
}

/* Five-card menu overview, matching the supplied visual order. */
.menu-catalog-page .menu-overview-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.menu-catalog-page .menu-overview-card,
.menu-catalog-page .menu-overview-card:hover,
.menu-catalog-page .menu-overview-card.is-active {
  min-height: 190px;
  display: grid;
  grid-template-columns: 60% 40%;
  gap: 0;
  overflow: hidden;
  padding: 0;
  border: 1px solid #e7d9d2;
  border-radius: 18px;
  color: #382723;
  background: #fff;
  box-shadow: 0 10px 26px rgba(62,35,29,.07);
}
.menu-catalog-page .menu-overview-card.is-active { border-color: #c9aba0; }
.menu-catalog-page .menu-overview-card .menu-filter-card-image,
.menu-catalog-page .menu-overview-card:hover .menu-filter-card-image,
.menu-catalog-page .menu-overview-card.is-active .menu-filter-card-image {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  min-height: 188px;
  border-radius: 0;
  background-color: #f3e9e2;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.menu-catalog-page .menu-overview-card .menu-filter-card-copy,
.menu-catalog-page .menu-overview-card:hover .menu-filter-card-copy,
.menu-catalog-page .menu-overview-card.is-active .menu-filter-card-copy {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 24px;
  padding: 16px;
  color: #382723;
  background: #fff;
  text-align: left;
}
.menu-catalog-page .menu-overview-card .menu-filter-card-copy strong,
.menu-catalog-page .menu-overview-card.is-active .menu-filter-card-copy strong {
  color: #382723;
  font-size: clamp(17px, 1.35vw, 24px);
  line-height: 1.12;
}
.menu-catalog-page .menu-overview-card.is-active .menu-filter-card-copy small {
  border-color: #ad1519;
  color: #ad1519;
  background: transparent;
}
.menu-catalog-page .menu-overview-card.is-all .menu-filter-card-image {
  display: grid;
  place-items: center;
  color: #806a62;
  background: #f7eee9;
  font-size: 48px;
}
@media (max-width: 1180px) {
  .menu-catalog-page .menu-overview-cards { display: flex; overflow-x: auto; padding-bottom: 10px; scroll-snap-type: x mandatory; }
  .menu-catalog-page .menu-overview-card { min-width: 310px; flex: 0 0 310px; scroll-snap-align: start; }
}
@media (max-width: 480px) {
  .menu-catalog-page .menu-overview-cards { display: flex; }
  .menu-catalog-page .menu-overview-card { min-width: 285px; flex-basis: 285px; }
}
.menu-catalog-page .menu-subgroup-title {
  position: relative;
  overflow: hidden;
  padding: 11px 16px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(110deg, #8f1014 0%, #ad1519 55%, #c82b30 100%);
  box-shadow: 0 13px 28px rgba(173,21,25,.16);
}
.menu-catalog-page .menu-subgroup-title::after {
  content: "";
  position: absolute;
  width: 150px;
  height: 150px;
  right: -70px;
  top: -85px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
}
.menu-catalog-page .menu-subgroup-title strong {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 11px;
  color: #fff;
  font-size: clamp(21px, 2vw, 29px);
  font-weight: 750;
  line-height: 1;
  letter-spacing: -.02em;
}
.menu-catalog-page .menu-subgroup-title strong::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 5px rgba(255,255,255,.14);
}
@media (max-width: 600px) {
  .menu-catalog-page .menu-subgroup-title { padding: 10px 14px; }
  .menu-catalog-page .menu-subgroup-title strong { font-size: 20px; }
}

/* Consistent canvas across every inner page. */
body main,
body main > section,
body main .section,
.menu-catalog-page,
.table-page,
.journal-page,
.campaign-page-new,
.discover-page,
.franchise-page-new,
.contact-page-new,
.branches-page-new,
.about-page-new {
  background-color: #fcf5ef !important;
}

/* Menu hero displays only its image; other page heroes are unchanged. */
.menu-catalog-page .menu-hero-image-only {
  background-image: var(--hero-bg);
  background-position: center;
  background-size: cover;
  box-shadow: none;
  text-shadow: none;
}
.menu-catalog-page .menu-hero-image-only::before,
.menu-catalog-page .menu-hero-image-only::after { display: none; }
@media (max-width: 680px) {
  .menu-catalog-page .menu-hero-image-only { background-image: var(--hero-bg-mobile, var(--hero-bg)); }
}

/* Centered-logo footer */
.site-footer {
  overflow: visible;
  margin-top: 150px;
  padding-top: 76px;
  background: #ad1519;
}
.site-footer::before { display: none; }
.site-footer .footer-bottom { background: #ad1519; }
.site-footer .footer-center-logo {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 0;
  width: 150px;
  height: 150px;
  display: grid;
  place-items: center;
  padding: 14px;
  border: 8px solid #fcf5ef;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 12px 34px rgba(35,18,16,.16);
  transform: translate(-50%, -50%);
}
.site-footer .footer-center-logo img { width: 100%; height: 100%; object-fit: contain; }
.site-footer .footer-center-logo,
.site-footer .footer-center-logo:hover {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  animation: none;
  transition: none;
  transform: translate(-50%, -50%);
}
.site-footer .footer-center-logo img,
.site-footer .footer-center-logo:hover img {
  animation: none;
  transition: none;
  transform: none;
}
.site-footer .footer-shell { padding-top: 54px; }
.site-footer .footer-link-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(35px, 6vw, 95px);
  padding: 44px 0 60px;
  border-top: 0;
}
.site-footer .footer-link-column h4 {
  margin-bottom: 30px;
  color: #fff;
  font-size: 22px;
  letter-spacing: 0;
  text-transform: none;
}
.site-footer .footer-link-column a { margin-bottom: 16px; color: rgba(255,255,255,.76); font-size: 14px; }
.site-footer .footer-social-links {
  justify-content: center;
  margin: 0;
  padding: 26px 0 38px;
  border-top: 1px solid rgba(255,255,255,.1);
}
@media (max-width: 760px) {
  .site-footer { margin-top: 150px; padding-top: 58px; }
  .site-footer .footer-center-logo { width: 118px; height: 118px; padding: 11px; border-width: 6px; }
  .site-footer .footer-shell { padding-top: 34px; }
  .site-footer .footer-link-grid { grid-template-columns: 1fr 1fr; gap: 38px 24px; padding-top: 32px; }
  .site-footer .footer-link-column h4 { font-size: 18px; }
}

/* Signature ritual uses the main page canvas without white panels. */
.ritual-section > .container,
.ritual-section .ritual-copy,
.ritual-section .ritual-side {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.ritual-section .ritual-copy::before,
.ritual-section .ritual-side::before {
  display: none !important;
}

/* Editorial signature slider: large product from center to right. */
.home-page .ritual-heading { margin-bottom: 28px; text-align: left; }
.home-page .ritual-heading .section-kicker { justify-content: flex-start; }
.home-page .ritual-stage {
  min-height: 650px;
  grid-template-columns: minmax(280px, .72fr) minmax(520px, 1.45fr);
  grid-template-rows: 1fr auto;
  gap: 20px 36px;
  align-items: center;
}
.home-page .ritual-copy { min-height: 410px; padding: 0; overflow: visible; z-index: 5; }
.home-page .ritual-copy .ritual-text {
  top: 50%;
  left: 0;
  right: auto;
  width: min(680px, 52vw);
  z-index: 6;
  transform: translate(42px, -50%);
}
.home-page .ritual-copy .ritual-text.is-active { transform: translate(0, -50%); }
.home-page .ritual-copy .ritual-text.is-exiting-left { transform: translate(-42px, -50%); }
.home-page .ritual-text > span { display: none; }
.home-page .ritual-text h3 {
  position: relative;
  z-index: 6;
  max-width: 680px;
  margin: 0 0 34px;
  color: #bf151b;
  font-size: clamp(48px, 6vw, 88px);
  font-weight: 700;
  line-height: .78;
  letter-spacing: -.065em;
  text-transform: uppercase;
}
.home-page .ritual-text p { display: none; }
.home-page .ritual-text a {
  min-height: 58px;
  display: inline-flex;
  justify-content: space-between;
  min-width: 215px;
  margin: 0;
  padding: 0 20px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  background: #bf151b;
}
.home-page .ritual-visual { width: 100%; height: 540px; z-index: 1; }
.home-page .ritual-product { width: min(52vw, 720px); aspect-ratio: 4 / 3; }
.home-page .ritual-product-image {
  border-radius: 0;
  background-color: transparent;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  box-shadow: none;
}
.home-page .ritual-shadow { width: 72%; bottom: 34px; opacity: .35; }
.home-page .ritual-bottom {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(180px, 1fr) auto;
  align-items: center;
  gap: 24px;
}
.home-page .ritual-bottom .ritual-counter { margin: 0; gap: 6px; }
.home-page .ritual-bottom .ritual-counter strong { font-size: 17px; }
.home-page .ritual-bottom .ritual-counter small { color: #6f625d; font-size: 13px; }
.home-page .ritual-bottom .ritual-progress { width: 100%; margin: 0; background: #ded3ce; }
.home-page .ritual-bottom .ritual-controls { margin: 0; }
@media (max-width: 900px) {
  .home-page .ritual-stage { display: flex; flex-direction: column; min-height: 0; gap: 12px; }
  .home-page .ritual-copy { order: 1; width: 100%; min-height: 260px; }
  .home-page .ritual-copy .ritual-text { right: 0; width: 100%; }
  .home-page .ritual-visual { order: 2; height: 430px; }
  .home-page .ritual-product { width: min(88vw, 590px); }
  .home-page .ritual-bottom { order: 3; width: 100%; grid-template-columns: auto 1fr auto; }
  .home-page .ritual-copy .ritual-text { top: 50%; }
  .home-page .ritual-text h3 { font-size: clamp(46px, 11vw, 70px); }
}
@media (max-width: 600px) {
  .home-page .ritual-heading { text-align: center; }
  .home-page .ritual-heading .section-kicker { justify-content: center; }
  .home-page .ritual-copy { min-height: 225px; text-align: center; }
  .home-page .ritual-text h3 { font-size: clamp(40px, 12vw, 58px); line-height: .86; }
  .home-page .ritual-text a { min-width: 190px; min-height: 52px; }
  .home-page .ritual-visual { height: 330px; }
  .home-page .ritual-bottom { gap: 12px; }
  .home-page .ritual-bottom .ritual-progress { min-width: 70px; }
}

/* Mobile stability pass: prevent oversized media and keep every content block
   inside the viewport, including legacy/admin-authored rich content. */
@media (max-width: 680px) {
  html, body { max-width: 100%; overflow-x: clip; }
  .container { width: 100%; padding-left: 16px; padding-right: 16px; }
  main img, main video, main iframe, main svg { max-width: 100%; }
  main img { height: auto; }
  main table { display: block; max-width: 100%; overflow-x: auto; }
  main pre, main code, main p, main h1, main h2, main h3 { overflow-wrap: anywhere; }

  .page-hero { padding-top: 14px; }
  .page-hero-box, .menu-catalog-page .page-hero-box { min-height: min(112vw, 430px); }
  .page-hero-box .title { font-size: clamp(42px, 13vw, 60px); }
  .section { padding-top: 58px; padding-bottom: 58px; }

  .home-page .ritual-visual { max-width: 100%; overflow: hidden; }
  .home-page .ritual-product {
    width: min(82vw, 320px);
    max-width: 100%;
    margin-inline: auto;
  }
  .contact-page-new .branch-map-glow { max-width: 42vw; }

  /* All three main menu choices stay visible without a hidden horizontal swipe. */
  .menu-catalog-page .menu-overview-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    overflow: visible;
    padding-bottom: 0;
  }
  .menu-catalog-page .menu-overview-card,
  .menu-catalog-page .menu-overview-card:hover,
  .menu-catalog-page .menu-overview-card.is-active {
    width: 100%;
    min-width: 0;
    min-height: 92px;
    flex-basis: auto;
    grid-template-columns: 92px minmax(0, 1fr);
    border-radius: 13px;
  }
  .menu-catalog-page .menu-overview-card .menu-filter-card-image,
  .menu-catalog-page .menu-overview-card:hover .menu-filter-card-image,
  .menu-catalog-page .menu-overview-card.is-active .menu-filter-card-image {
    width: 92px;
    height: 90px;
    min-height: 90px;
  }
  .menu-catalog-page .menu-overview-card .menu-filter-card-copy,
  .menu-catalog-page .menu-overview-card:hover .menu-filter-card-copy,
  .menu-catalog-page .menu-overview-card.is-active .menu-filter-card-copy {
    min-width: 0;
    flex-direction: row;
    justify-content: space-between;
    gap: 10px;
    padding: 13px 15px;
  }
  .menu-catalog-page .menu-overview-card .menu-filter-card-copy strong { font-size: 18px; }

  .menu-catalog-page .menu-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px 10px;
  }
  .menu-catalog-page .menu-item-visual { aspect-ratio: 1; max-height: 190px; }
  .menu-catalog-page .menu-item-visual img {
    width: 100%;
    height: 100%;
    max-height: 190px;
    object-fit: contain;
  }
  .menu-catalog-page .menu-item-copy { padding: 11px 2px 0; }
  .menu-catalog-page .menu-item-copy .meta { font-size: 8px; }
  .menu-catalog-page .menu-item-copy h3 { font-size: clamp(18px, 5.4vw, 23px); line-height: 1.05; }
  .menu-catalog-page .menu-item-detail-link { right: 7px; bottom: 7px; width: 36px; height: 36px; }
  .menu-catalog-page .menu-results-section { padding-top: 8px !important; }
}

@media (max-width: 360px) {
  .menu-catalog-page .menu-products-grid { grid-template-columns: 1fr; }
  .menu-catalog-page .menu-item-visual { max-height: 240px; }
  .menu-catalog-page .menu-item-visual img { max-height: 240px; }
}

/* Featured blog image: keep the complete image visible in a landscape frame. */
.journal-grid .journal-card.is-featured figure {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8f2ee;
}
.journal-grid .journal-card.is-featured img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
.journal-grid .journal-card.is-featured:hover img {
  transform: none;
}
.journal-grid .journal-card h2 {
  font-size: clamp(18px, 2vw, 29px);
}

/* Franchise application type switch */
.franchise-form-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:28px}.franchise-form-switch button{min-height:78px;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border:1px solid #e2d4cd;border-radius:15px;color:#4b3731;background:#fffaf7;font:inherit;font-weight:700;cursor:pointer;transition:.3s}.franchise-form-switch button i{color:#ac1318}.franchise-form-switch button.is-active{border-color:#ac1318;color:#fff;background:#ac1318;box-shadow:0 14px 30px rgba(172,19,24,.2)}.franchise-form-switch button.is-active i{color:#fff}.franchise-conversion-fields[hidden]{display:none!important}.franchise-choice-row{display:flex;gap:10px}.franchise-choice-row label{min-height:48px;display:flex;align-items:center;gap:8px;flex:1;padding:0 15px;border:1px solid #e2d6d0;border-radius:12px;background:#fffaf7;cursor:pointer}.franchise-choice-row input{width:auto;margin:0;accent-color:#ac1318}

/* Google reviews */
.google-reviews-section{overflow:hidden;padding:clamp(80px,10vw,135px) 0;background:#f8eee8}.google-reviews-section header{position:relative;display:grid;grid-template-columns:.48fr 1.52fr auto;gap:30px;align-items:end;margin-bottom:48px}.google-reviews-section header>span{align-self:start;color:#ac1318;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.google-reviews-section header>span i{margin-right:8px}.google-reviews-section h2{max-width:760px;margin:0;font-size:clamp(48px,6vw,82px);line-height:.86;letter-spacing:-.045em}.google-review-nav,.branch-discovery-controls{display:flex;align-items:center;gap:8px}.google-review-nav button,.branch-discovery-controls button{width:47px;height:47px;display:grid;place-items:center;border:1px solid rgba(172,19,24,.3);border-radius:50%;color:#ac1318;background:transparent;cursor:pointer}.google-review-nav button:hover,.branch-discovery-controls button:hover{color:#fff;background:#ac1318}.google-reviews-viewport{overflow:hidden}.google-reviews-track{display:flex;gap:15px;transition:transform .58s cubic-bezier(.22,1,.36,1)}.google-review-card{min-width:calc((100% - 30px)/3);display:grid;grid-template-rows:220px 1fr;overflow:hidden;border:1px solid #e5d7d0;border-radius:21px;background:#fff}.google-review-card figure{overflow:hidden;margin:0}.google-review-card figure img{width:100%;height:100%;display:block;object-fit:cover}.google-review-card>div{padding:25px}.google-review-stars{display:flex;gap:4px;margin-bottom:18px;color:#f3ae20;font-size:13px}.google-review-card blockquote{min-height:108px;margin:0 0 22px;color:#4e3c36;font-size:15px;line-height:1.75}.google-review-card strong,.google-review-card small{display:block}.google-review-card small{margin-top:5px;color:#8a756c;font-size:11px}

/* Branch discovery slider */
.branch-discovery{padding:clamp(85px,10vw,140px) 0}.branch-discovery header{display:grid;grid-template-columns:.5fr 1.5fr;gap:35px;margin-bottom:45px}.branch-discovery header>span{color:#ac1318;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.branch-discovery h2{margin:0;font-size:clamp(50px,6vw,84px);line-height:.86}.branch-discovery-slider{overflow:hidden}.branch-discovery-track{display:flex;transition:transform .68s cubic-bezier(.22,1,.36,1)}.branch-discovery-slide{position:relative;min-width:100%;height:min(68vw,690px);overflow:hidden;margin:0;border-radius:24px}.branch-discovery-slide img{width:100%;height:100%;display:block;object-fit:cover}.branch-discover-button{position:absolute;left:50%;top:50%;min-width:150px;min-height:58px;display:flex;align-items:center;justify-content:center;gap:18px;border:0;border-radius:999px;color:#fff;background:#ac1318;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 18px 38px rgba(44,16,14,.28);cursor:pointer;transform:translate(-50%,-50%)}.branch-discovery-controls{justify-content:center;margin-top:22px}.branch-discovery-controls span{min-width:90px;text-align:center;color:#7b665e;font-size:12px}.branch-discovery-controls strong{color:#ac1318;font-size:18px}

/* Animated footer logo on homepage */
.home-page + .site-footer .footer-center-logo img{animation:homeFooterLogoFloat 4.2s ease-in-out infinite!important;transform-origin:center}
@keyframes homeFooterLogoFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-9px) scale(1.035)}}

@media(max-width:1050px){.google-review-card{min-width:calc((100% - 15px)/2)}}
@media(max-width:720px){.franchise-form-switch{grid-template-columns:1fr}.franchise-form-switch button{min-height:62px}.google-reviews-section header,.branch-discovery header{grid-template-columns:1fr;gap:16px}.google-review-nav{margin-top:8px}.google-review-card{min-width:100%;grid-template-rows:190px 1fr}.google-review-card blockquote{min-height:0}.branch-discovery-slide{height:72vw;min-height:300px;border-radius:17px}.branch-discover-button{min-width:132px;min-height:52px}.franchise-choice-row{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.home-page + .site-footer .footer-center-logo img{animation:none!important}.google-reviews-track,.branch-discovery-track{transition:none}}

/* Branch list: every uploaded main image uses the same Beşiktaş card frame. */
/* Keep multi-line headings clear and let cards grow with their content. */
.branches-page .branches-hero h1,
.branches-page .branch-detail-hero h1{line-height:1.02}
.branches-page .branches-hero p,
.branches-page .branch-detail-hero p{margin-top:30px}
.branches-page .branches-list-section header h2,
.branches-page .branch-detail-map h2,
.branches-page .branch-discovery h2{line-height:1.06}
.branches-page .branch-directory-card h2{line-height:1.08}
.branches-page .branch-directory-card small,
.branches-page .branch-directory-card>div>span{line-height:1.5}
.branches-page .branch-directory-card p{margin-top:0}
@media(min-width:851px){.branches-page .branch-directory-card{height:auto;min-height:470px}.branches-page .branch-directory-card figure{height:auto;min-height:470px}}
@media(max-width:850px){.branches-page .branch-directory-card figure{height:380px;min-height:380px}}
@media(max-width:680px){.branches-page .branches-hero h1,.branches-page .branch-detail-hero h1{font-size:clamp(48px,15vw,60px);line-height:1.08}.branches-page .branches-list-section header h2,.branches-page .branch-directory-card h2,.branches-page .branch-detail-map h2,.branches-page .branch-discovery h2{line-height:1.1}.branches-page .branch-directory-card figure{height:300px;min-height:300px}}

/* Homepage compact rhythm — approximately 50% less space between sections. */
.home-page > .season-section{padding-top:27px!important;padding-bottom:31px!important}
.home-page > .ritual-section{padding-top:27px!important;padding-bottom:29px!important}
.home-page > .mekan-section{padding-top:22px!important;padding-bottom:29px!important}
.home-page > .google-reviews-section{padding-top:clamp(40px,5vw,68px)!important;padding-bottom:clamp(40px,5vw,68px)!important}
.home-page .google-reviews-section header{margin-bottom:24px}
.home-page .season-shell-head,.home-page .section-head{margin-bottom:16px}
.home-page .mekan-viewport{padding-bottom:8px!important}
.home-page + .site-footer{margin-top:150px!important}
@media(max-width:680px){
  .home-page > .season-section{padding-top:19px!important;padding-bottom:23px!important}
  .home-page > .ritual-section{padding-top:19px!important;padding-bottom:22px!important}
  .home-page > .mekan-section{padding-top:16px!important;padding-bottom:22px!important}
  .home-page > .google-reviews-section{padding-top:34px!important;padding-bottom:34px!important}
  .home-page .google-reviews-section header{margin-bottom:18px}
  .home-page .season-shell-head,.home-page .section-head{margin-bottom:12px}

  /* Full-bleed mobile hero: global container padding must not offset slider. */
  .home-page > .hero{width:100%;max-width:100%;overflow:hidden;padding-left:0!important;padding-right:0!important}
  .home-page > .hero > .container{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
  .home-page .hero-wrap,.home-page .hero-slider{width:100%!important;max-width:100%!important;margin:0!important;transform:none!important;border-left:0;border-right:0}
  .home-page .hero-slide,.home-page .hero-media{left:0!important;right:0!important;width:100%!important;max-width:100%!important}
}

/* Google reviews — compact, text-first moving rail inspired by verified-review feeds. */
.home-page .google-reviews-section{background:#f6f2ed}
.home-page .google-reviews-heading header{grid-template-columns:.45fr 1.35fr auto;align-items:end}
.home-page .google-reviews-section h2{font-size:clamp(42px,5.2vw,72px);line-height:.98}
.home-page .google-reviews-rail{padding-left:max(20px,calc((100vw - 1240px)/2));overflow:hidden}
.home-page .google-reviews-viewport{overflow:visible;padding:3px 20px 18px 0}
.home-page .google-reviews-track{gap:14px;will-change:transform;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.home-page .google-review-card{min-width:clamp(310px,30vw,410px);min-height:250px;display:flex;flex-direction:column;grid-template-rows:none;padding:26px;overflow:hidden;border:1px solid #ded8d2;border-radius:5px;background:#fff;box-shadow:0 8px 24px rgba(55,39,31,.045)}
.home-page .google-review-card-head{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;padding:0}
.home-page .google-review-avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#ac1318;font-family:'Bai Jamjuree',sans-serif;font-size:18px;font-weight:700}
.home-page .google-review-card-head strong,.home-page .google-review-card-head small{display:block}
.home-page .google-review-card-head strong{color:#302824;font-size:14px;line-height:1.35}
.home-page .google-review-card-head small{margin-top:3px;color:#8c817a;font-size:10px;line-height:1.4}
.home-page .google-review-source{color:#4285f4;font-size:22px}
.home-page .google-review-stars{gap:3px;margin:22px 0 13px;color:#f5ad22;font-size:12px}
.home-page .google-review-card blockquote{min-height:0;margin:0;color:#4f4742;font-size:14px;line-height:1.7;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.home-page .google-review-nav button{width:44px;height:44px;background:#fff}
@media(max-width:1050px){.home-page .google-review-card{min-width:calc((100vw - 58px)/2)}}
@media(max-width:720px){
  .home-page .google-reviews-heading header{grid-template-columns:1fr;gap:13px}
  .home-page .google-reviews-section h2{font-size:clamp(38px,11vw,54px);line-height:1.02}
  .home-page .google-review-nav{margin-top:2px}
  .home-page .google-reviews-rail{padding-left:20px}
  .home-page .google-review-card{min-width:calc(100vw - 54px);min-height:240px;padding:23px}
}

/* Franchise: dynamic branch and per-branch image slider. */
.franchise-branch-showcase{overflow:hidden;padding:0 0 clamp(95px,11vw,150px)}
.franchise-branch-showcase-head{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;margin-bottom:42px}
.franchise-branch-showcase-head>div:first-child>span{color:#ac1318;font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.franchise-branch-showcase-head h2{max-width:850px;margin:17px 0 0;font-size:clamp(48px,6vw,82px);line-height:.96;letter-spacing:-.045em}
.franchise-branch-nav{display:flex;align-items:center;gap:12px}
.franchise-branch-nav button{width:49px;height:49px;display:grid;place-items:center;border:1px solid rgba(172,19,24,.28);border-radius:50%;color:#ac1318;background:#fff;cursor:pointer;transition:.3s}
.franchise-branch-nav button:hover{color:#fff;background:#ac1318}
.franchise-branch-nav>span{min-width:72px;text-align:center;color:#806c64;font-size:11px}
.franchise-branch-nav>span strong{color:#ac1318;font-size:18px}
.franchise-branch-viewport{overflow:hidden;border-radius:25px}
.franchise-branch-track{display:flex;transition:transform .78s cubic-bezier(.22,1,.36,1);will-change:transform}
.franchise-branch-slide{position:relative;min-width:100%;height:clamp(470px,57vw,690px);overflow:hidden;background:#2a1715}
.franchise-branch-images,.franchise-branch-images figure{position:absolute;inset:0;margin:0}
.franchise-branch-images figure{opacity:0;transform:scale(1.035);transition:opacity .85s ease,transform 5s ease}
.franchise-branch-images figure.is-active{z-index:1;opacity:1;transform:scale(1)}
.franchise-branch-images img{width:100%;height:100%;display:block;object-fit:cover}
.franchise-branch-slide::after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(31,14,12,.82),rgba(31,14,12,.04) 68%)}
.franchise-branch-overlay{position:absolute;z-index:3;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:end;padding:clamp(28px,5vw,62px);color:#fff}
.franchise-branch-overlay small{display:block;margin-bottom:10px;color:rgba(255,255,255,.68);font-size:10px;font-weight:750;letter-spacing:.15em;text-transform:uppercase}
.franchise-branch-overlay h3{margin:0;color:#fff;font-size:clamp(45px,6vw,82px);line-height:.95}
.franchise-branch-overlay>span{padding-bottom:9px;color:rgba(255,255,255,.62);font-size:11px}
.franchise-branch-overlay>span strong{color:#fff;font-size:21px}
.franchise-branch-overlay>a{min-height:48px;display:inline-flex;align-items:center;gap:18px;padding:0 20px;border:1px solid rgba(255,255,255,.5);border-radius:999px;color:#fff;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;transition:.3s}
.franchise-branch-overlay>a:hover{color:#ac1318;background:#fff}
.franchise-branch-tabs{display:flex;gap:9px;margin-top:18px;overflow-x:auto;scrollbar-width:none}
.franchise-branch-tabs::-webkit-scrollbar{display:none}
.franchise-branch-tabs button{min-height:55px;display:flex;align-items:center;gap:12px;padding:0 20px;border:1px solid #e4d8d2;border-radius:999px;color:#66534c;background:#fff;font:inherit;font-size:11px;font-weight:750;white-space:nowrap;cursor:pointer;transition:.3s}
.franchise-branch-tabs button span{color:#ac1318;font-family:'Bai Jamjuree',sans-serif}
.franchise-branch-tabs button.is-active{border-color:#ac1318;color:#fff;background:#ac1318}
.franchise-branch-tabs button.is-active span{color:#fff}
@media(max-width:760px){
  .franchise-branch-showcase-head{grid-template-columns:1fr;gap:20px}
  .franchise-branch-showcase-head h2{font-size:clamp(44px,12vw,58px);line-height:1.02}
  .franchise-branch-slide{height:530px}
  .franchise-branch-overlay{grid-template-columns:1fr auto;gap:18px;padding:25px}
  .franchise-branch-overlay h3{font-size:43px;line-height:1}
  .franchise-branch-overlay>a{grid-column:1/-1;width:max-content}
}
@media(prefers-reduced-motion:reduce){.franchise-branch-track,.franchise-branch-images figure{transition:none}}

/* Every branch is rendered as its own independent slider area. */
.franchise-branch-list{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 22px)/2);gap:22px;overflow-x:auto;padding-bottom:14px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#ac1318 #eadfd9}
.franchise-branch-slider{min-width:0}
.franchise-branch-slider{scroll-snap-align:start}
.franchise-branch-slider>header{height:170px;display:grid;grid-template-columns:1fr auto;align-content:end;gap:14px 20px;margin-bottom:22px}
.franchise-branch-slider>header>div:first-child{position:relative;padding-left:68px}
.franchise-branch-slider>header>div:first-child{grid-column:1/-1}
.franchise-branch-slider>header>div:first-child>span{position:absolute;left:0;top:3px;color:rgba(172,19,24,.25);font-family:'Bai Jamjuree',sans-serif;font-size:42px;font-weight:700;line-height:1}
.franchise-branch-slider>header small{display:block;margin-bottom:7px;color:#ac1318;font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.franchise-branch-slider>header h3{margin:0;overflow:hidden;font-size:clamp(27px,3vw,42px);line-height:1.08;white-space:nowrap;text-overflow:clip}
.franchise-branch-slider-nav{grid-column:2;display:flex;align-items:center;gap:11px;justify-self:end}
.franchise-branch-slider-nav button{width:47px;height:47px;display:grid;place-items:center;border:1px solid rgba(172,19,24,.28);border-radius:50%;color:#ac1318;background:#fff;cursor:pointer;transition:.3s}
.franchise-branch-slider-nav button:hover{color:#fff;background:#ac1318}
.franchise-branch-slider-nav>span{min-width:70px;text-align:center;color:#806c64;font-size:11px}
.franchise-branch-slider-nav>span strong{color:#ac1318;font-size:18px}
.franchise-branch-slider-viewport{position:relative;overflow:hidden;border-radius:24px;background:#2a1715}
.franchise-branch-slider-track{display:flex;height:clamp(390px,38vw,520px);transition:transform .75s cubic-bezier(.22,1,.36,1);will-change:transform}
.franchise-branch-slider-track figure{min-width:100%;height:100%;overflow:hidden;margin:0}
.franchise-branch-slider-track img{width:100%;height:100%;display:block;object-fit:cover}
.franchise-branch-slider-viewport::after{content:"";position:absolute;inset:55% 0 0;pointer-events:none;background:linear-gradient(0deg,rgba(31,14,12,.55),transparent)}
.franchise-branch-detail-link{position:absolute;z-index:2;right:28px;bottom:28px;min-height:49px;display:flex;align-items:center;gap:18px;padding:0 21px;border:1px solid rgba(255,255,255,.55);border-radius:999px;color:#fff;background:rgba(35,18,16,.22);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(8px)}
.franchise-branch-detail-link:hover{color:#ac1318;background:#fff}
@media(max-width:680px){
  .franchise-branch-list{grid-auto-columns:88%;gap:15px}
  .franchise-branch-slider>header{height:165px;display:grid;grid-template-columns:1fr auto;align-content:end;gap:15px}
  .franchise-branch-slider>header>div:first-child{padding-left:54px}
  .franchise-branch-slider>header>div:first-child>span{font-size:34px}
  .franchise-branch-slider>header h3{font-size:clamp(27px,8.3vw,36px)}
  .franchise-branch-slider-track{height:430px}
  .franchise-branch-detail-link{right:18px;bottom:18px}
}
@media(prefers-reduced-motion:reduce){.franchise-branch-slider-track{transition:none}}

/* Branch directory: two branch cards per row on desktop. */
@media(min-width:851px){
  .branches-page .branches-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .branches-page .branch-directory-card{grid-template-columns:1fr;height:auto;min-height:0}
  .branches-page .branch-directory-card figure{height:320px;min-height:320px}
  .branches-page .branch-directory-card>div{justify-content:flex-start;padding:34px 36px 38px}
  .branches-page .branch-directory-card h2{margin:15px 0 18px;font-size:clamp(36px,3.7vw,52px);line-height:1.05}
  .branches-page .branch-directory-card p{font-size:14px;line-height:1.75}
  .branches-page .branch-directory-card>div>span{margin-top:auto;padding-top:25px}
}
@media(max-width:850px){.branches-page .branches-directory{grid-template-columns:1fr}}
