/* =====================================================================
   Global Styles (Cleaned & Consolidated)
   - Fixed typos (e.g., inherit)
   - Removed duplicate/invalid rules (e.g., ::-moz-selection repeated,
     padding: 1rem, 0)
   - Consolidated overlapping .header/.fixed-nav and fullscreen blocks
   - Corrected legacy selectors (:-ms-fullscreen)
   ===================================================================== */

/* Basic Styles
================================================== */
.wrapper { overflow: hidden; }

html * {
  outline: 0 !important;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  background: #f2f1ee;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  height: 100%;
  font-family: "Montserrat", serif;
  color: #333;
  font-size: 1.025rem;
  line-height: 1.5;
  margin: 0;
  word-break: break-word;
}

.container {
  max-width: 1650px;
  margin: 0 auto;
  padding: 0 3.5rem;
}

/* Typography
================================================== */
h1, h2, h3, h4, h5, h6 {
  font-family: "Brown Sugar", serif;
  font-weight: 600;
  line-height: 1.25;
  margin: 0 0 1.5rem;
  text-transform: capitalize;
  letter-spacing: 0.13rem;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; }

h1 { font-size: 2.25rem; }
h2 { font-size: 2.1875rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.2rem; }
h5 { font-size: 1.25rem; }

/* Note: Keeping your custom h6 size & family as provided */
h6 {
  font-size: 2rem;
  font-family: "Montserrat";
  font-weight: 400;
}

strong { font-family: "Montserrat", serif; }
p { margin: 0 0 1.2em; }
.fa { margin-right: 0.5rem; }

/* Images
================================================== */
img { border: none; }

/* Link
================================================== */
a {
  color: #333;
  transition: all 0.3s ease;
  text-decoration: none;
}
a:hover {
  color: #e58392;
  transition: all 0.5s ease-in-out;
}
a:hover, a:focus { text-decoration: none; outline: none; }

.noSelect, a {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.noSelect:focus, a:focus { outline: none !important; }

/* Inputs
================================================== */
input, textarea, select {
  font-size: 100%;
  font-family: "Montserrat", serif;
  vertical-align: middle;
  color: #F8FAFA;
}
textarea { resize: vertical; }

/* Forms / Selection
================================================== */
form, fieldset { margin: 0; padding: 0; border-style: none; }

::selection { background: #e58392; color: #fff; }
::-moz-selection { background: #e58392; color: #fff; }

/* Utilities
================================================== */
.clear:after, .clear:before { content: " "; display: table; }
.clear:after { clear: both; }

.section { padding: 3.5rem 0; }

.columns2 {
  -webkit-column-count: 2;
  column-count: 2;
  -webkit-column-break-inside: avoid;
  break-inside: avoid;
}

.hide { display: none !important; }
.img-100 { width: 100%; }

.h100-cover { height: 100%; object-fit: cover; }
.min-height { min-height: 350px; object-fit: cover; }

.pr { position: relative; }

.margin-none { margin: 0; }
.mt-2rem { margin-top: 2rem; }
.mt-3rem { margin-top: 3rem; }
.mt-4rem { margin-top: 4rem; }
.mb { margin-bottom: 1.5rem; }
.mt-none { margin-top: 0 !important; }
.mb-none { margin-bottom: 0 !important; }
.block { display: block !important; }

.sm-hg-text {
  display: block;
  font-size: 1.2rem;
  letter-spacing: 0;
  color: #333;
  font-family: "Montserrat", serif;
  margin-bottom: 0.35rem;
  font-weight: normal;
}

.title-border-top {
  position: relative;
  padding-top: 2.5rem;
}
.title-border-top:before {
  position: absolute;
  width: 25vw;
  height: 1px;
  left: -1px;
  right: -1px;
  top: 0;
  margin: 0 auto;
  background: #e58392;
  content: '';
}

.title-border { position: relative; }
.title-border:before {
  position: absolute;
  bottom: -10px;
  left: -1px;
  right: -1px;
  width: 20%;
  height: 2px;
  background-color: #e58392;
  content: '';
  margin: 0 auto;
}
.title-border.border-btm:before { width: 65%; height: 6px; bottom: -50px; }
.title-border.darkgrey:before { background-color: #728089; }
.title-border.border-white:before { background-color: #F8FAFA; }
.title-border.border-blue:before { background-color: #003da5; }

.dark-text { color: #333 !important; }
.dark-text h2, .dark-text h3, .dark-text h4, .dark-text h5, .dark-text h6, .dark-text p, .dark-text strong { color: #333 !important; }

.text-center { text-align: center; }
.text-white { color: #F8FAFA !important; }
.text-dark { color: #f2f1ee; }
.text-uppercase { text-transform: uppercase !important; }

.align-center { align-items: center; }

.overlay {
  background: rgba(6, 6, 6, 0.4);
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
}

.overlay_bg { position: relative; }
.overlay_bg:before {
  position: absolute; width: 100%; height: 100%; left: 0; top: 0;
  content: ''; background: rgba(255, 255, 255, 0.26);
}
.overlay_bg .content-wrapper { position: relative; }

.bg1 { background-color: #fff; }

.bg2 {
  background-color: #728089;
  color: #F8FAFA;
}
.bg2 .list-wrap { color: #F8FAFA; }
.bg2 .list-wrap [class^="icon-"] { color: #F8FAFA; }

.bg3 { background-color: #e58392; }
.bg3 .title-border:before { background-color: #F8FAFA; }

.bg4 { background-color: #F8FAFA; color: #f2f1ee; }
.bg-dark { background-color: #2f2f2f; color: #f2f1ee; }
.modal-content { color: #f2f1ee; }

.list-wrap { list-style: none; padding: 0; margin: 1.2rem 0; }
.list-wrap li {
  position: relative; padding-left: 2em; margin: 0.5em 0;
}
.list-wrap [class^="icon-"] {
  position: absolute; left: 0; top: 0; color: #333;
}

.list-wrap-none {
  list-style: disc; color: #c6c1b4; margin: 1rem 0;
}
.list-wrap-none li { padding-left: 0; }

.highlight, .highlight1 { color: #e58392; }

label { font-size: 1.05rem; line-height: 1.5; }

/* Buttons
================================================== */
.btn {
  min-width: 9.5rem;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  padding: 0.9em 1.85em;
  display: inline-block;
  text-align: center;
  border-radius: 4px;
}
.btn:hover { color: #fff1f1; }

.btn-primary {
  background-color: #f2f1ee;
  color: #333;
  border: 2px solid #e7e6e2;
}
.btn-primary:hover {
  color: #e58392;
  background-color: #e7e6e2;
  border-color: #d4d3cd;
}

.btn-primaryDark { background-color: #f2f1ee; color: #333; }
.btn-primaryDark:hover { color: #e58392; background-color: #e7e6e2 !important; }

.btn-dark { background-color: #2f2f2f; color: #fff; }
.btn-dark:hover { background-color: #e58392; }

.btn-border {
  background-color: rgba(0, 0, 0, 0.2);
  border: 2px solid #e58392;
  color: #fff;
}
.btn-border:hover {
  color: #e58392;
  background-color: #e7e6e2;
  border-color: #d4d3cd;
}

.btn-default { background-color: #F8FAFA; color: #e58392; }
.btn-default:hover { background-color: #e58392; color: #F8FAFA; }

.btn-lg { font-size: 1.2rem; }

.width-half { width: 50%; }
.width-half1 { width: 70%; }

::-webkit-input-placeholder,
::-moz-placeholder,
:-ms-input-placeholder,
:-moz-placeholder { color: #333; }

/* Header (Glass & Sticky)
================================================== */
.header {
  position: fixed;
  top: 0; left: 0; width: 100%;
  z-index: 999;
  background: rgba(242, 241, 238, 0.3);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 0 12px rgba(0,0,0,0.1);
  padding: 5px 0;
}

.header > .content-wrapper {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0 2rem;
  box-sizing: border-box;
}

.header-desktop {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
}

.header-desktop .logo-wrap {
  display: block; margin: 0; line-height: 0; padding: 4px 10px;
  aspect-ratio: 1 / 0.7; max-width: 150px; position: relative;
}
.header-desktop .logo-wrap:before {
  position: absolute; top: 0; left: -1px; right: -1px;
  width: 80%; height: 80%; content: ''; background: #fff;
  filter: blur(74px); margin: auto;
}
.header-desktop .logo-wrap a { display: block; position: relative; }

.fixed-only { display: none; }

.header.fixed-nav {
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
}
.header.fixed-nav .top-header { display: none; }
.header.fixed-nav .navigation-ul > li > a,
.header.fixed-nav .lang-ul > li > a {
  color: rgba(0,0,0,0.8);
  font-size: 14px;
}
.header.fixed-nav .logo-wrap { max-width: 100px; }
.header.fixed-nav .navigation-ul .active > a,
.header.fixed-nav .lang-ul .active > a { color: #333; }
.header.fixed-nav .fixed-only { display: block; }
.header.fixed-nav .header-desktop .navigation-ul,
.header.fixed-nav .header-desktop .lang-ul { font-size: 14px; }

/* Navigation
================================================== */
.navigation-ul, .lang-ul {
  display: flex; flex-wrap: wrap; justify-content: center;
  margin: 0; padding-left: 0; list-style: none;
  text-transform: uppercase; font-weight: 600;
}
.navigation-ul > li, .lang-ul > li { padding: 14px 12px; }
.navigation-ul > li > a, .lang-ul > li > a { display: block; }
.navigation-ul > li > a:hover, .lang-ul > li > a:hover { color: #333; }

.navigation-ul a, .lang-ul a {
  color: #333; position: relative; text-decoration: none; font-size: 1rem;
}
.navigation-ul .active > a, .lang-ul .active > a { color: #333; font-weight: bold; }
.navigation-ul .active > .sub-menu-nav > a, .lang-ul .active > .sub-menu-nav > a { color: #333; font-weight: bold; }
.navigation-ul li, .lang-ul li { position: relative; cursor: pointer; }

/* Dropdown Core */
.navigation-ul .sub-menu-ul, .lang-ul .sub-menu-ul {
  position: absolute; top: 0; display: flex; flex-direction: column;
  padding: 10px !important; border-radius: 4px;
  box-shadow: 1px 5px 12px rgba(0,0,0,0.25);
  min-width: 230px; list-style: none; font-size: 14px;
  visibility: hidden; overflow: hidden;
  background: rgba(255,255,255,0.70); backdrop-filter: blur(12px);
}
.navigation-ul .sub-menu-ul li, .lang-ul .sub-menu-ul li {
  transition: all 0.5s linear; padding: 10px;
  border-top: 1px solid rgba(248,250,250,0.1);
  line-height: 1.3; opacity: 0;
  background: rgba(255,255,255,0.3); backdrop-filter: blur(50px);
}
.navigation-ul .sub-menu-ul li:first-child, .lang-ul .sub-menu-ul li:first-child { border-top: 0; }
.navigation-ul .sub-menu-ul a, .lang-ul .sub-menu-ul a { display: block; }
.navigation-ul .sub-menu-ul a:hover, .lang-ul .sub-menu-ul a:hover { color: #e58392; }
.navigation-ul > li:hover > a, .lang-ul > li:hover > a { color: #333; }

/* Open state for mobile stack */
.navigation-ul .sub-menu-ul.open, .lang-ul .sub-menu-ul.open {
  display: block !important; height: auto; position: relative; width: 100%; padding: 0 0 0 1rem;
}
.navigation-ul .sub-menu-ul.open li, .lang-ul .sub-menu-ul.open li { opacity: 1; border-top: none; }

/* Hover open for desktop */
.navigation-ul li.sub-menu:hover > .sub-menu-ul {
  visibility: visible; opacity: 1; top: 100%; display: block;
}

/* Mobile Header
================================================== */
.header-mobile { display: none; }
.mobile-icon-wrap a { color: #333; }

.header-mobile .nav-wrap {
  position: absolute; width: 100%; height: 100vh; left: 0; top: 80px;
  background: #2f2f2f; padding: 1em 0.5em; transition: opacity 0.3s;
  z-index: 5; overflow-y: auto; visibility: hidden; display: flex; flex-direction: column;
}
.header-mobile .navigation-ul { gap: 0; }
.header-mobile .nav-wrap .sub-menu-ul { flex-direction: column; justify-content: start; align-items: start; }
.header-mobile .nav-wrap li {
  padding: 1rem; margin-bottom: 1em; border-bottom: 1px solid rgba(248,250,250,0.15); width: 100%;
}
.header-mobile .nav-wrap li:last-child { border-bottom: none; }
.header-mobile .navigation-wrap {
  display: flex; justify-content: space-between; align-items: center; padding: 0 2.4rem;
}
.header-mobile .logo-wrap { width: 100px; margin: 0; position: relative; z-index: 1; }
.header-mobile .logo-wrap a { display: flex; gap: 0 1.5rem; line-height: 0; }
.header-mobile, .header-mobile .container { transition: all .2s ease-in-out; }

.menu-icon { position: relative; z-index: 5; color: #fff; }
.open-mobile-icon { display: none; }

/* Top header strips / CTA cluster */
.top-header { display: flex; justify-content: space-between; align-items: center; width: 100%; }
.address-holder, .logo-holder, .cta-nav { flex: 1 1 33.33%; }
.address-holder { font-size: 1rem; font-weight: 400; color: #f2f1ee; }
.address-holder > p { padding-left: 1.85rem; position: relative; margin-bottom: 8px; max-width: 300px; }
.address-holder span[class^=icon-] { position: absolute; left: 0; top: 0; }
.address-holder span[class^=icon-]:before { text-align: left; }

.logo-holder { display: flex; justify-content: left; align-items: left; }

.cta-nav .social-icons { list-style: none; display: flex; justify-content: end; margin: 0; }
.cta-nav img { width: 36px; aspect-ratio: 1; }

.cta-nav-wrap {
  display: flex; justify-content: end; align-items: center; gap: 10px;
}
.cta-nav-wrap .lang-ul > li { padding: 0; }
.cta-nav-wrap .lang-ul > li > a {
  display: flex; justify-content: center; align-items: center; color: #fff;
  font-weight: 400; height: 100%; background: #2f2f2f; padding: 5px 5px 5px 8px;
  border-radius: 4px; font-size: 1rem;
}
.cta-nav-wrap .lang-ul .sub-menu-ul { min-width: 60px; background-color: #fff; color: #333; }
.cta-nav-wrap .lang-ul .sub-menu-ul li { padding: 5px; text-align: center; }
.cta-nav-wrap .lang-ul .sub-menu-ul li > a { font-weight: 600; color: inherit; }
.cta-nav-wrap .lang-ul .sub-menu-ul li > a:hover { color: #e58392; }

.cta-nav-link .btn { font-size: 1.25rem; padding: 12px 1.35rem; }
.cta-nav-link .btn:hover { background-color: #e58392; }

/* Slider
================================================== */
.compressor { width: 944px; margin: 0 auto 10px; }

.slider_container {
  background-color: #121214;
  position: relative; top: 0; left: 0; width: 100%;
  margin-top: -130px;
}

.slider_outer_wrap { overflow: hidden; position: relative; width: 100%; height: 100%; }

.simple_slider {
  display: flex; flex-wrap: wrap; width: 100%; overflow: hidden;
}
.simple_slider .slide_item { position: relative; width: 100%; height: 100%; display: block; }
.simple_slider .slide_item .slide_img { width: 100%; height: 100%; }
.simple_slider .slide_item .slide_img:before {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  content: '';
  background-image: linear-gradient(230deg, #000000 0%, #000C1F 100%);
  opacity: 0.25;
}

.simple_slider .fly_box {
  position: absolute; top: 60px; left: -1px; right: -1px; margin: 0 auto;
  width: 75vw; color: #fff; font-size: 1rem; z-index: 1; height: 100%;
  display: flex; flex-wrap: wrap; flex-direction: column; justify-content: center; text-align: center;
}
.simple_slider .fly_box .content-wrapper { width: 70%; margin: 0 auto 0; }
.simple_slider .fly_box h2 {
  font-size: 2.5rem; font-weight: 600; opacity: 0; color: #F8FAFA; line-height: 1; margin-bottom: 15px;
  transition: all 0.35s; transform: translateY(-40px);
}
.simple_slider .fly_box .banner-hcont {
  font-size: 5rem; background: #f2f1ee; padding: 0 10px; display: inline-block;
  line-height: 1.1; border-radius: 10px; margin-top: 10px; color: #333;
}
.simple_slider .fly_box p {
  transition: all 0.35s; transform: translateY(40px); opacity: 0;
}
.simple_slider .fly_box .btn-wrap {
  display: flex; justify-content: center; align-items: center; gap: 10px 15px; margin-top: 3rem;
}
.simple_slider .fly_box .btn-wrap .btn { text-transform: uppercase; font-size: 16px; }
.simple_slider .fly_box_anim { text-transform: uppercase; letter-spacing: 0.13rem; }
.outer-slider-cont .welcome { font-size: 2rem; font-family: "Montserrat"; font-weight: 400; text-transform: capitalize; letter-spacing: 0.13rem; }
.simple_slider .fly_box .no-transition { transition: all 0s; }

/* for slider text animation */
.simple_slider .fly_box .fly_box_anim { transform: translateY(0); opacity: 1; }

.outer-slider-cont {
  position: absolute; top: 100px; left: -1px; right: -1px; margin: 0 auto; width: 75vw;
  color: #fff; font-size: 1rem; z-index: 1; height: 100%;
  display: flex; flex-wrap: wrap; flex-direction: column; justify-content: center; text-align: center;
}
.outer-slider-cont .content-wrapper { width: 70%; margin: 0 auto 0; }
.outer-slider-cont h2 {
  font-size: 2.5rem; font-weight: 600; opacity: 0; color: #F8FAFA; line-height: 1; margin-bottom: 15px;
  transition: all 0.75s; transform: translateY(-40px);
}
.outer-slider-cont .banner-hcont {
  font-size: 5rem; padding: 0 10px; display: inline-block; line-height: 1.1; border-radius: 10px; margin-top: 10px; color: #f8fafa;
}
.outer-slider-cont p {
  transition: all 0.8s; transform: translateY(40px); opacity: 0;
}
.outer-slider-cont .btn-wrap {
  display: flex; justify-content: center; align-items: center; gap: 10px 15px; margin-top: 3rem; opacity: 0;
  transition: all 0.9s; transform: translateY(50px);
}
.outer-slider-cont .btn-wrap .btn { text-transform: uppercase; font-size: 16px; letter-spacing: 0; }
.outer-slider-cont { text-transform: uppercase; letter-spacing: 0.13rem; }
.outer-slider-cont .fly_box_anim { transform: translateY(0); opacity: 1; }

.slider_outer_wrap .btns_wrap .btn {
  padding: 10px; width: 50px; min-width: auto; height: 50px; cursor: pointer; color: #f2f1ee;
  position: absolute; top: 50%; z-index: 3;
}
.slider_outer_wrap .btns_wrap .next { right: 0; }
.slider_outer_wrap .btns_wrap .prev { left: 0; }

.slider_outer_wrap .dots_wrap { text-align: center; padding: 10px 0; }
.slider_outer_wrap .dots_wrap .dot {
  background: #f57b43; display: inline-block; padding: 5px; margin: 0 5px; cursor: pointer; color: #fff;
}
.slider_outer_wrap .dots_wrap .dotdot {
  background: #f57b43; border-radius: 50%; display: inline-block; width: 10px; height: 10px; margin: 0 5px;
  cursor: pointer; text-indent: -9999px;
}
.slider_outer_wrap .dots_wrap .dot.active, .slider_outer_wrap .dots_wrap .dotdot.active { background: #2f2f2f; }

/* Ken Burns */
@-webkit-keyframes move {
  0% { transform-origin: bottom left; transform: scale(1); }
  100% { transform: scale(1.2); }
}
.anim { -webkit-animation: move 30s ease forwards; animation: move 30s ease forwards; }

/* Inner banner */
.inner_banner {
  height: 750px; margin-top: -200px; position: relative;
}
.inner_banner:before {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: '';
  background-image: linear-gradient(230deg, #000000 0%, #000C1F 100%); opacity: 0.10;
}

/* Footer
================================================== */
.footer-top {
  padding: 4rem 0 2rem;
  color: #f2f1ee;
}
.footer_title {
  margin-bottom: 1em; color: #fff; font-size: 1.75rem;
  font-family: 'Brown Sugar', serif; letter-spacing: 0.05rem;
}
.footer-top .two-wrapper {
  display: flex; flex-wrap: wrap; gap: 4rem; justify-content: space-between;
}
.first-wrap, .second-wrap { flex: 1 1 46%; }

@media (max-width: 768px) {
  .two-wrapper { flex-direction: column; }
}

.footer-address { margin-top: 2rem; }
.footer-address .holder { display: flex; align-items: center; margin-bottom: 1.5rem; }
.footer-address .fadd-icon {
  width: 64px; height: 64px; display: flex; justify-content: center; align-items: center;
  font-size: 2rem; background: rgba(255,255,255,0.08); backdrop-filter: blur(8px); margin-right: 20px;
  color: #f2f1ee; border-radius: 50%; transition: background 0.3s ease;
}
.footer-address .fadd-icon:hover { background: rgba(255,255,255,0.18); }
.footer-address .fadd-info { display: flex; flex-direction: column; justify-content: center; width: 80%; }
.footer-address .fadd-info strong {
  font-weight: 600; font-size: 1.25rem; font-family: "Brown Sugar", serif; letter-spacing: 0.13rem; color: #f7efe4;
}
.footer-address .fadd-info a { color: #f2f1ee; text-decoration: none; }
.footer-address .fadd-info a:hover { color: #e0cda9; }

.footer-social-icon { margin-top: 2rem; }
.footer-social-icon ul { display: flex; align-items: center; gap: 12px; list-style: none; padding: 0; }
.footer-social-icon ul li a { font-size: 1.4rem; color: #f2f1ee; transition: color 0.3s ease; }
.footer-social-icon ul li a:hover { color: #e58392; }

.footer-map iframe {
  width: 100% !important; aspect-ratio: 1.5; border: none; border-radius: 12px; margin-top: 2rem;
}

.footer-btm { font-size: 14px; padding-bottom: 1.5em; text-align: center; color: #ccc; }
.footer-btm a { color: #F8FAFA; text-decoration: none; }
.footer-btm a:hover { color: #e58392; }

.websiteby { display: flex; justify-content: center; padding-top: 12px; font-size: 0.875rem; color: #aaa; }

.content-wrapper { width: 85%; max-width: 1200px; margin: 0 auto; }

.footer-form-col, .footer-contact-col { flex: 1 1 45%; min-width: 300px; }
.footer-form-col form { display: flex; flex-direction: column; gap: 1rem; }
.footer-form-col input, .footer-form-col textarea {
  padding: 10px; font-size: 1rem; border-radius: 4px; border: none;
}
.footer-form-col button { width: fit-content; cursor: pointer; }

/* Intro
================================================== */
.intro-two-wrap {
  display: grid; grid-template-columns: 1fr 41%; grid-gap: 1.5em 4em; align-items: center;
}
.figure-holder { margin: 0; }
.figure-holder img {
  width: 100%; max-width: 100%; aspect-ratio: 1 / 1.3; object-fit: cover; border-radius: 10px; height: 640px;
}
.intro-two-wrap.alt { grid-template-columns: 1fr 52%; }
.intro-two-wrap.alt .intro_left { order: 2; }

/* Image + Info Cards
================================================== */
.image-infos-wrap {
  padding: 1rem 0;   /* fixed comma to space */
  background-color: #f2f1ee;
}
.image-infos-wrap .container {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2rem;
  width: 85%; max-width: 1200px; margin: 0 auto; padding: inherit;
}

.room-card {
  background: #fff; border-radius: 10px; overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  transition: all 0.3s ease; width: calc(33.333% - 1.5rem);
  display: flex; flex-direction: column;
}
.room-card:hover { background-color: #fff1f1; box-shadow: 0 10px 24px rgba(0,0,0,0.15); transform: translateY(-4px); }
.room-card img, .room-card video {
  width: 100%; height: 300px; object-fit: cover; display: block; cursor: pointer;
}
.room-card .holder { padding: 2rem; text-align: center; }
.room-card .heading { font-size: 1.5rem; margin-bottom: 1rem; }

@media (max-width: 768px) { .room-card { width: 100%; } }

/* Video Wrapper / Fullscreen (Consolidated)
================================================== */
.video-wrapper { position: relative; z-index: 1; }

.video-wrapper.active-fs-wrapper {
  position: fixed; inset: 0; width: 100vw; height: 100vh; z-index: 9999;
  background: #000; display: flex; align-items: center; justify-content: center;
}
.video-wrapper.active-fs-wrapper video { width: 100%; height: 100%; object-fit: contain; }
.video-wrapper.active-fs-wrapper .play-btn,
.video-wrapper.active-fs-wrapper .fs-btn { display: none; }

/* Close button inside fullscreen wrapper */
.video-fs-close {
  position: absolute; top: 12px; right: 12px; z-index: 10000;
  border: none; padding: 8px 10px; border-radius: 6px; background: rgba(0,0,0,.6);
  color:#fff; font-size:16px; cursor:pointer; display: none;
}
.video-wrapper.active-fs-wrapper .video-fs-close { display: block; }

/* Overlay helper (if used) */
.video-wrapper.active-fs-wrapper ~ .video-fs-overlay { opacity: 1; visibility: visible; }
.video-wrapper.active-fs-wrapper ~ .video-fs-overlay .video-fs-close { display: block; }

.play-btn, .fs-btn {
  position: absolute; z-index: 2; border: none; background: rgba(0,0,0,0.5);
  color: #fff; cursor: pointer; transition: background 0.3s;
}
.play-btn {
  top: 50%; left: 50%; transform: translate(-50%, -50%);
  font-size: 40px; border-radius: 10px; width: 60px; height: 60px;
  display: flex; align-items: center; justify-content: center;
}
.play-btn:hover { background: rgba(0,0,0,0.7); }

.fs-btn { bottom: 10px; right: 10px; font-size: 20px; padding: 8px 10px; border-radius: 5px; }
.fs-btn:hover { background: rgba(0,0,0,0.7); }

/* Standard + Safari pseudo-classes */
.video-wrapper:fullscreen,
.video-wrapper:-webkit-full-screen {
  width: 100vw !important; height: 100vh !important; border-radius: 0 !important;
  overflow: visible !important; background: #000;
}
.video-wrapper:fullscreen > video,
.video-wrapper:-webkit-full-screen > video {
  width: 100vw !important; height: 100vh !important; object-fit: contain;
}
.video-wrapper:fullscreen .play-btn,
.video-wrapper:-webkit-full-screen .play-btn { font-size: 72px; width: 96px; height: 96px; }

/* Body background when fullscreen (all engines) */
body:-webkit-full-screen,
body:-moz-full-screen,
body:-ms-fullscreen,      /* fixed */
body:fullscreen { background: black; }

/* Video sizing in fullscreen across engines */
video:-webkit-full-screen,
video:-moz-full-screen,
video:-ms-fullscreen,     /* fixed */
video:fullscreen {
  width: 100vw; height: 100vh; object-fit: contain;
}

/* Show close button only when the video element is in native fullscreen */
video:fullscreen + .video-fs-close { opacity: 1; visibility: visible; }

/* Video cards */
.video-card {
  border-radius: 10px; overflow: hidden; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  transition: transform 0.3s ease; background: #fff;
}
.video-card:hover { transform: scale(1.02); }
.video-card video { width: 100%; height: auto; display: block; }

/* Celebration
================================================== */
.celebration-wrap {
  position: relative; display: flex; align-items: center;
  background-size: cover; background-position: center center; background-attachment: fixed; color: white;
}
.celebration-wrap::before {
  content: ""; position: absolute; right: 0; top: 0; width: 75%; height: 100%;
  background: linear-gradient(to right, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.7) 100%);
  z-index: 1;
}
.celebration-wrap .content-wrapper {
  position: relative; z-index: 2; display: flex; max-width: 1200px; width: 100%; margin: 0 auto; padding: inherit;
}
.celebration-holder {
  width: 100%; max-width: 75%; background: rgba(0,0,0,0.55);
  padding: 2rem; border-radius: 10px; color: #f2f1ee;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  margin-left: auto; margin-right: 0;
}

/* Instagram / Stories
================================================== */
.oneThird-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 2.5rem; }
.oneThird-wrap .one { flex: 0 0 35%; }
.oneThird-wrap .third { flex: 0 0 60%; }

.stories-wrap:before {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; background: rgba(0,0,0,0.67);
}

.section-title {
  text-align: center; color: #fff; text-shadow: 0 2px 6px rgba(0,0,0,0.6);
  font-size: 2.5rem; margin-bottom: 2rem; position: relative; z-index: 2;
}

.testimonial-section {
  position: relative; background-image: url('images/background.jpg');
  background-size: cover; background-position: center; padding: 4rem 1rem; z-index: 0;
}
.testimonial-section::before {
  content: ""; position: absolute; inset: 0; background: rgba(0,0,0,0.5); z-index: 0;
}
.testimonial-container {
  position: relative; z-index: 1; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem; max-width: 1200px; margin: 0 auto; padding: 2rem;
}
.testimonial-card {
  background: rgba(242,241,238,0.6); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-radius: 12px; padding: 2rem; box-shadow: 0 6px 20px rgba(0,0,0,0.1);
  display: flex; flex-direction: column; justify-content: space-between; min-height: 380px;
  transition: all 0.3s ease; transform: translateY(0);
}
.testimonial-card:hover {
  transform: translateY(-6px); background-color: rgba(51,51,51,0.6); color: #f2f1ee;
  box-shadow: 0 10px 24px rgba(0,0,0,0.3); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.testimonial-card .quote::before { content: "❝"; font-size: 2.5rem; color: #e58392; margin-right: 0.5rem; display: inline-block; }
.testimonial-card strong {
  border-top: 1px solid #eee; margin-top: 1.5rem; padding-top: 1rem; font-style: italic; text-align: right;
}
@media (max-width: 768px) { .testimonial-container { grid-template-columns: 1fr; } }

.testimonial .owl-nav { color: #f2f1ee; }
.testimonial .owl-nav svg { width: 25px; height: 25px; }
.testimonial .owl-prev, .testimonial .owl-next { position: absolute; top: 40%; opacity: 0.65; }
.testimonial .owl-prev:hover, .testimonial .owl-next:hover { opacity: 1; }
.testimonial .owl-prev { left: -50px; }
.testimonial .owl-next { right: -50px; }

/* Inner page misc
================================================== */
.inner-cont {
  color: #f2f1ee; display: flex; justify-content: center; align-items: center; height: 100%; text-align: center;
}
.inner-page { margin-top: -250px; position: relative; }

.highlighter-section {
  background-color: rgba(47,47,47,0.5); padding: 3rem; border-radius: 8px;
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.1); box-shadow: 0 4px 30px rgba(0,0,0,0.1);
}

.header-title.dark-text p { color: #e58392 !important; }

/* About / Services
================================================== */
.elegant-wrap .list-wrap { -webkit-column-count: 2; column-count: 2; -webkit-column-break-inside: avoid; break-inside: avoid; }
.elegant-wrap .list-wrap li:first-child { margin-top: 0; }

.vbox-cont-wrap { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; }

.vbox-cont {
  flex-basis: 28%; padding: 1.5rem; text-align: center; border-radius: 10px;
  background: rgba(229,131,146,0.4); color: rgba(0,0,0,0.8); position: relative;
}
.vbox-cont:before {
  position: absolute; top: 0; left: 20px; width: 230px; background: #f2f1ee; content: '';
  filter: blur(138px); aspect-ratio: 1;
}
.vbox-cont img { max-width: 100px; margin: 0 auto; display: block; }
.vbox-cont h3 { color: #333; }

.imgbox-cont { height: 400px; overflow: hidden; }
.imgbox-cont:before {
  width: 100%; height: 100%; left: 0; background-color: transparent;
  background: linear-gradient(to bottom, rgba(0,0,0,0.2) 39%, rgba(0,0,0,0.39) 53%, black 98%, black 99%);
  filter: none; opacity: 1;
}
.imgbox-cont .vbox {
  height: 100%; display: flex; flex-direction: column; justify-content: end; color: #f2f1ee;
}
.imgbox-cont .vbox h2, .imgbox-cont .vbox h3 { color: #f2f1ee; }
.imgbox-cont .vbox h3 { font-size: 1.4rem; }

/* Parties & Menu
================================================== */
.cta-cont.acco-cont a { justify-content: start; pointer-events: none; }

.menu-image { position: absolute; left: -1px; right: -1px; margin: 0 auto; }

.menu-list-wrap:before, .menu-list-wrap:after {
  position: absolute; content: ''; width: 100%; left: 0; height: 234px; background-size: contain !important; z-index: 1;
}
.menu-list-wrap:before { top: 0; background: url("images/menu/menu-top.jpg") top no-repeat; }
.menu-list-wrap:after { bottom: 0; background: url("images/menu/menu-bottom.jpg") top no-repeat; }
.menu-list {
  padding-top: 6em; padding-bottom: 15em;
}
.menu-list:before {
  position: absolute; top: 13.7rem; left: 0; content: ''; width: 100%; height: 86%;
  background: url("images/menu/menu-middle.jpg") center repeat-y;
}
.menu-list-hold { max-width: 600px; margin: 0 auto; z-index: 1; }
.menu-list-hold ul { margin-bottom: 1.5rem; }
.menu-list-hold .holder li { margin: 8px 0; }
.menu-list-hold .holder li span { display: block; line-height: 1; }
.menu-list-hold h3 { margin-bottom: 5px; }
.menu-list-hold p { margin-bottom: 8px; }

/* CTA Wrapper
================================================== */
.cta-wrapper {
  min-height: 20em; display: flex; justify-content: center; align-items: center; position: relative; z-index: 1; overflow: hidden;
}
.cta-wrapper::after {
  position: absolute; content: ''; width: 100%; height: 100%; top: 0; left: 0;
  background: rgba(0,0,0,0.4); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.1); z-index: -1;
}
.cta-wrapper .content-wrapper {
  display: flex; flex-wrap: wrap; flex-direction: column; gap: 1rem; justify-content: center; align-items: center;
  z-index: 1; color: #fff; text-align: center; margin: 0 auto;
}
.cta-wrapper h2, .cta-wrapper h3 { color: inherit; }

.cta-cont {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1rem; width: 100%; align-items: center; justify-content: center;
}
.cta-cont a {
  display: flex; align-items: center; justify-content: center; gap: 4px;
  font-size: 1rem; padding: 0.9em 1rem;
}
.cta-cont a img { width: 60px; height: 55px; object-fit: contain; margin-top: -9px; }

@media only screen and (min-width: 992px) and (max-width: 1199px),
       (min-width: 768px) and (max-width: 1366px) and (orientation: landscape),
       (min-width: 768px) and (max-width: 991px),
       (max-width: 767px),
       all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .cta-wrapper { background-attachment: scroll !important; }
}
@supports (-webkit-appearance: none) {
  .cta-wrapper { background-attachment: scroll !important; }
}

/* Buttons within cards (extra)
================================================== */
.card .btn {
  background: rgba(255,255,255,0.25); color: #333; border: 1px solid #ccc; font-weight: 600;
  text-transform: uppercase; padding: 10px 20px; border-radius: 6px;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); transition: all 0.3s ease;
}
.card .btn:hover { background: #e58392; color: #fff; border-color: #e58392; }

/* Sticky Header (already handled above but kept for clarity)
================================================== */
.header.fixed-nav {
  position: fixed; top: 0; left: 0; width: 100%; z-index: 999;
  backdrop-filter: blur(12px); background: rgba(255,255,255,0.6);
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

/* Hall / Cards
================================================== */
.hall-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px; padding: 40px; background-color: #f2f1ee;
}
.hall-card {
  background: rgba(255,255,255,0.35); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  border-radius: 12px; box-shadow: 0 4px 14px rgba(0,0,0,0.1); transition: all 0.3s ease;
}
.hall-card img { width: 100%; height: 180px; object-fit: cover; display: block; }
.hall-content { padding: 20px; }
.hall-content h3 { margin-top: 0; font-size: 20px; color: #2f2f2f; }
.hall-content p { font-size: 14px; line-height: 1.5; color: #555; }

/* CTA button pair */
.btn, .btn1, .btn2 {
  display: inline-block; margin-top: 10px; padding: 10px 16px; background-color: transparent; color: #fff;
  font-size: 1em; text-decoration: none; border-radius: 6px; font-weight: bold; transition: background-color 0.2s ease, color 0.2s ease;
  text-align: center; border: none;
}
.btn1 { background-color: rgba(229,131,146,0.7); }
.btn1:hover, .btn1:focus { background-color: #fff1f1; color: #333; }
.btn1 img { vertical-align: middle; max-height: 3.5em; margin-right: 0.5em; display: inline-block; pointer-events: none; }

.btn2 { background-color: rgba(229, 131, 146, 0.7);
    min-width: 250px;
    padding: 25px;
 }
.btn2:hover, .btn1:focus { background-color: #fff1f1; color: #333; }
.btn2 img { vertical-align: middle; max-height: 3.5em; margin-right: 0.5em; display: inline-block; pointer-events: none; }

.hall-card:hover { transform: translateY(-4px); box-shadow: 0 8px 20px rgba(0,0,0,0.1); }

/* Two-column blocks
================================================== */
.two-columns-wrap {
  display: flex; gap: 0; margin-bottom: 40px; border-radius: 10px; background-color: #ffffff;
  border: 1px solid #ddd; box-shadow: 0 4px 12px rgba(0,0,0,0.05); transition: transform 0.3s ease, box-shadow 0.3s ease; overflow: hidden;
  opacity: 0; transform: translateY(20px); animation: fadeInUp 0.6s ease forwards;
}
.two-columns-wrap:nth-child(odd) { background-color: #f9f6f3; }

.columnA { position: relative; }
.columnA::after {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: linear-gradient(to bottom, rgba(255,255,255,0.1), rgba(0,0,0,0.1));
  pointer-events: none; z-index: 1;
}
.columnA img { position: relative; z-index: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

.columnB { flex: 1 1 50%; min-height: 300px; padding: 40px 30px; background-color: #fff; display: flex; flex-direction: column; justify-content: center; }
.columnA, .columnB { flex: 1 1 50%; min-height: 300px; }

.columnB h2 {
  font-family: 'Brown Sugar', serif; font-size: 24px; letter-spacing: 1px; margin-bottom: 15px; color: #333;
}
.columnB p {
  font-size: 16px; line-height: 1.6; color: #555; margin-bottom: 25px;
}

.btn-wrap { margin-top: 1.5rem; }
.btn-wrap .btn-primary {
  background: rgba(0,0,0,0.3); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  padding: 1rem; border-radius: 8px; display: inline-block; transition: all 0.3s ease;
}
.btn-wrap .btn-primary:hover {
  background: #ece7e8; transform: translateY(-2px); box-shadow: 0 0 12px rgba(229,131,146,0.6);
}

@keyframes fadeInUp { to { opacity: 1; transform: translateY(0); } }

/* Flourish divider */
.flourish-css-divider {
  margin: 3rem auto 2rem; text-align: center; position: relative; width: 220px; height: 1px;
  background-color: rgba(229,131,146,0.4);
}
.flourish-css-divider::before,
.flourish-css-divider::after {
  content: "❧"; font-size: 1rem; color: rgba(229,131,146,0.4); position: absolute; top: -0.65rem;
}
.flourish-css-divider::before { left: -1.5rem; }
.flourish-css-divider::after { right: -1.5rem; }

/* Hall details / Video gallery grid */
.hall-block { margin-bottom: 4rem; padding: 2rem 1rem; }
.hall-title {
  font-size: 2rem; text-transform: uppercase; margin-bottom: 0.5rem;
  border-bottom: 2px solid #ddd; padding-bottom: 0.3rem;
}
.hall-description { font-size: 1rem; color: #555; margin-bottom: 2rem; }

.video-gallery {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem;
}

/* Back-to-top
================================================== */
.TopButton {
  background: #e58392; border-radius: 30px; bottom: 5rem; box-shadow: 0 0 5px rgba(48,114,172,0.3);
  color: #fff; display: none; height: 40px; position: fixed; right: 1rem; text-align: center;
  text-decoration: none; line-height: 3.3; width: 40px; z-index: 999;
}
.TopButton:hover { color: #fff; }
.TopButton i { font-size: 1.8rem; line-height: 0.75; margin: 0; }
@media only screen and (min-width: 992px) and (max-width: 1149px) {
  .TopButton { line-height: 2.6; }
}

.process-v2 {
  padding: 60px 20px;
  background: #f2f1ee;
  text-align: center;
}

.process-v2 h2 {
  font-size: 36px;
  color: #333;
  margin-bottom: 50px;
  font-weight: 700;
}

.steps-v2 {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto 40px;
  position: relative;
}

/* Connecting line between steps */
.steps-v2::before {
  content: '';
  position: absolute;
  top: 30px;
  left: 10%;
  right: 10%;
  height: 3px;
  background: linear-gradient(90deg, #edc5c9 0%, #e896a2 100%);
  z-index: 0;
}

.step-v2 {
  flex: 1;
  padding: 20px;
  position: relative;
  z-index: 1;
}

.step-v2 .number {
  display: inline-block;
  width: 60px;
  height: 60px;
  line-height: 60px;
  background: white;
  border: 4px solid #e896a2;
  color: #e896a2;
  font-size: 28px;
  font-weight: bold;
  border-radius: 50%;
  margin-bottom: 20px;
  position: relative;
  z-index: 2;
}

.step-v2 h3 {
  font-size: 20px;
  color: #333;
  margin: 15px 0 10px;
  font-weight: 600;
}

.step-v2 p {
  font-size: 15px;
  color: #666;
  line-height: 1.6;
}

/* Mobile for connecting lines version */
@media (max-width: 768px) {
  .steps-v2 {
    flex-direction: column;
  }
  
  .steps-v2::before {
    top: 0;
    left: 30px;
    right: auto;
    bottom: 0;
    width: 3px;
    height: auto;
  }
  
  .step-v2 {
    text-align: left;
    padding-left: 80px;
  }
  
  .step-v2 .number {
    position: absolute;
    left: 0;
    top: 0;
  }
}



/* End of stylesheet */
