@media only screen and (min-width: 2000px) and (max-width: 8000px) {
	.outer-slider-cont .content-wrapper{ width: 850px;}
}
@media only screen and (max-width: 1500px){
	.celebration-holder{max-width: 500px;}
}
/* medium screen */
@media only screen and (min-width: 1200px) and (max-width: 1357px) {
	/* header */
	    .navigation-ul{ padding-left: 0; }
	    .navigation-ul > li{ padding: 10px; }
	/* slider */
		.outer-slider-cont .content-wrapper{width: 80%;}
	/* content */
		.celebration-holder{max-width: 460px;}
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
	h1,h2{ font-size: 2rem; }
	/* header */
		.header{font-size: 15px;}
		.header-desktop .logo-wrap a {gap:1.5rem;}
		.header-desktop .navigation-wrap {width: 66%;}
		.navigation-ul > li {padding: 1rem 0.55rem;}
		.cta-nav-link .btn{font-size: 1.1rem;}
		.address-holder{font-size: 14px;}
	/* slider */
		.simple_slider{height: 600px !important;}
		.outer-slider-cont{width: 84%;}
	/* content */
		.figure-holder{margin: 0;}
		.columnB{padding: 1rem;}
		.celebration-holder{max-width: 450px;}
		.testimonial blockquote{aspect-ratio: 1;}
	/* inner */
		.vbox-cont{flex-basis: 32%;}
		.cta-cont{grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));}
		.cta-cont a{flex-direction: column;}
		.figure-holder img{height: 570px;}

}
@media only screen and (max-width: 1199px) {
	/* general */
		.content-wrapper{ width: 90vw; }
		body{font-size: 1rem;}
	/* slider */
		.outer-slider-cont .banner-hcont{font-size: 4rem;}
	/* content */
		.celebration-wrap,
		.stories-wrap,
		.cta-wrapper,
		.testimonial-section{background-attachment: scroll !important;}
	/* footer */
	/* inner */
}
/* tablet screen */
@media only screen and (min-width: 768px) and (max-width: 991px) {
	h1,h2{ font-size: 2rem; }
	h3{font-size: 1.45rem;}
	/* header */
		.header-desktop{ display: none; }
		.header-mobile{ display: block; position: }
		.navigation-ul .sub-menu{flex-wrap: wrap;}
		.nav-navi-icon:before{width: 30px;right: 0;position: absolute; z-index: 1; color: #fff;}
		.navigation-ul .sub-menu-ul{ box-shadow: none;margin-left: 2rem; position: relative;top: 0 !important;background: transparent; }
		.navigation-ul .sub-menu-ul a{font-size: 14px;}
		.nav-open .nav-wrap li{margin-bottom: 0.5em; border-top: none;}
		.header-mobile .navigation-ul > li:hover > a,
		.header.fixed-nav .navigation-ul > li > a, 
		.header.fixed-nav .lang-ul > li > a, .header.fixed-nav .lang-ul > li > a{color: #fff;}
	/* slider */
		.simple_slider{height: 450px !important;}
		.outer-slider-cont .content-wrapper{width: 95%;}
		.slider_container,.inner_banner{margin-top: 0;}
		.outer-slider-cont{top: 0;}
		.outer-slider-cont h2{font-size: 2rem;}
		.outer-slider-cont .banner-hcont{font-size: 3.5rem;}
		.inner_banner{height: 400px;}
	/* content */
		.intro_wrap .intro-two-wrap{gap: 0;}
		.intro-two-wrap,.intro-two-wrap.alt{grid-template-columns: none;}
		.intro_wrap .intro_right{display: none;}
		.intro-two-wrap.alt .intro_left{order: 1;}
		.intro-two-wrap.alt .intro_right{order: 2;}
		.image-infos-wrap{padding-top:0; padding-bottom: 5rem;}
		.column{flex-basis: 100%;}
		.celebration-wrap,
		.stories-wrap,
		.cta-wrapper,
		.testimonial-section{background-attachment: scroll !important;}
		.celebration-holder{max-width: 350px;}
		.testimonial blockquote{aspect-ratio: 1 / 0.6;}
		.testimonial .owl-prev{left: -34px;}
		.testimonial .owl-next{right: -34px;}
	/* footer */
		.footer-top .two-wrapper{flex-direction: column;}
		.footer-top .first-wrap, 
		.footer-top .second-wrap{flex-basis: 100%;}
		.footer-top .second-wrap{order:1;}
		.footer-top .first-wrap{order: 2;}
	/* inner */
		.inner-page{margin-top: -200px;}
		.vbox-cont{flex-basis: 48%;}
		.figure-holder img{height: 430px;}
		.cta-cont{grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));}
		.cta-cont a{flex-direction: column;height: 100%;}
		.menu-list:before{background-size: contain;top: 10.7rem;}
		.menu-list-wrap:before,
		.menu-list-wrap:after{height: 11%;}
		.menu-list-hold{max-width: 500px;}
		.inner-cont{height: 80%;}
}

/* all mobile screen */
@media only screen and (max-width: 767px) {
	/* general */
		h1{font-size: 1.85rem; line-height: 1.1;}
		h2{font-size: 1.7rem;}
		h3{font-size: 1.35rem;}
		.section{ padding: 2.5rem 0; }
		.mt-3rem,.mt-4rem {margin-top: 1.75rem;}
		.btn{min-width: 100%;}
	/* header */
		.stuck.nav-open .nav-wrap{ padding: 0 1.5em 8em; }  
		.header-desktop{ display: none; }
		.header-mobile{ display: block;display: }
		.header-mobile, .header-mobile .container{height: auto;}
		.header { padding: 5px 0; }
		.header-mobile .navigation-wrap{ padding: 0 15px; }
		.logo-wrap a > img{ width: 80%; }
		.header-mobile .logo-wrap a{gap: 1rem;}
		.header-mobile .navigation-ul{ padding: 0; }
		.nav-open .navigation-ul > li { padding: 1.5rem 0; }
		.navigation-ul .sub-menu{flex-wrap: wrap;}
		.nav-navi-icon:before{width: 30px;right: 0;position: absolute; z-index: 1;}
		.navigation-ul .sub-menu-ul{ box-shadow: none;margin-left: 1rem; position: relative;top: 0 !important;background: transparent; }
		.nav-open .nav-wrap li{margin-bottom: 0; border-top: none;}
		.header-mobile .nav-wrap{top:65px;}
		.nav-navi-icon:before{width: 30px;right: 0;position: absolute; z-index: 1; color: #fff;}
		.navigation-ul .sub-menu-ul{ box-shadow: none;margin-left: 1rem; position: relative;top: 0 !important;background: transparent; }
		.navigation-ul .sub-menu-ul a{font-size: 14px;}
		.header-mobile .navigation-ul > li:hover > a,
		.header.fixed-nav .navigation-ul > li > a, 
		.header.fixed-nav .lang-ul > li > a, 
		.header.fixed-nav .lang-ul > li > a{color: #fff;}
	/* slider */
		.simple_slider{height: 470px !important;}
		.outer-slider-cont{width: 95%; top: 30px;}
		.outer-slider-cont .content-wrapper{width: 90%;}
		.slider_container,.inner_banner{margin-top: 0;}
		.outer-slider-cont h2{font-size: 1.5rem;}
		.outer-slider-cont .banner-hcont{font-size: 2.25rem;}
		.outer-slider-cont .btn-wrap{flex-direction: column; margin-top:1rem;}
		.outer-slider-cont .btn-wrap .btn{font-size: 14px;width: 100%;}
		.slider_outer_wrap .btns_wrap .btn{top: 45%;}
		.slider_outer_wrap .welcome{font-size: 1rem;}
		.inner_banner{height: 300px;}
	/* content */
		.intro_wrap .intro-two-wrap{gap: 0;}
		.intro-two-wrap,.intro-two-wrap.alt{grid-template-columns: none;}
		.intro_wrap .intro_right{display: none;}
		.intro-two-wrap.alt .intro_left{order: 1;}
		.intro-two-wrap.alt .intro_right{order: 2;}
		.image-infos-wrap{padding-top:0; padding-bottom: 5rem;}
		.column,.two-columns-wrap{flex-basis: 100%; flex-direction: column;}
		.two-columns-wrap.alt .columnB{order: 2;}
		.two-columns-wrap.alt .columnA{order: 1;}
		.celebration-wrap,
		.stories-wrap,
		.cta-wrapper{background-attachment: scroll !important;}
		.celebration-holder{max-width: 100%;}
		.celebration-wrap:before{background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.64) 0%, black 80%, black 100%);}
		.testimonial .owl-prev{left: -15px;}
		.testimonial .owl-next{right: -15px;}
		.testimonial-section{background-attachment: scroll !important;}
		.oneThird-wrap{flex-direction: column;}
		.oneThird-wrap .one,
		.oneThird-wrap .third{flex-basis: 100%;}
	/* footer */
		.footer-top{padding-top: 2.5rem;}
		.footer-top .two-wrapper{flex-direction: column;}
		.footer-top .first-wrap, 
		.footer-top .second-wrap{flex-basis: 100%;}
		.footer-top .second-wrap{order:1;}
		.footer-top .first-wrap{order: 2;}
	/* inner */
		.inner-page{margin-top: -165px;}
		.highlighter-section{padding: 1.5rem 1.25rem 1rem;}
		.figure-holder img{height: 400px;}
		.elegant-wrap .list-wrap{column-count: 1;}
		.vbox-cont{flex-basis: 100%;}
		.cta-cont a{flex-direction: column;height: 100%;}
		.inner-cont.h{ height: 55%;}
		.inner-cont h2{ font-size: 1.35rem;}
		.menu-list:before{top: 5.6rem;height: 94%;background-size: contain !important;width: 100%;left: -1px;right: -1px;margin: 0 auto;}
		.menu-list-wrap:before,
		.menu-list-wrap:after{height: 10%;}
		.menu-list-hold{max-width: 280px;}
		.menu-list{padding-top: 5em;padding-bottom: 9em;}
		.menu-list-hold h3{font-size: 1.15rem;}
		.menu-list-hold ul{padding-left: 2rem;}
		.menu-list-hold .holder li span{line-height: 1.35;}
}
@media only screen and (max-width: 430px) {
	.menu-list-wrap:before,.menu-list-wrap:after {height: 104px;}
}
@media only screen and (max-width: 425px) {
	.menu-list-wrap:before,.menu-list-wrap:after {height: 103px;}
}
@media only screen and (max-width: 375px) {
}
@media only screen and (max-width: 320px) {
	.menu-list-hold {max-width: 220px;}
	.menu-list:before{width: 100%;top: 4.6rem;}
	.three-columns{
		grid-template-columns: repeat(auto-fill, minmax(288px, 1fr));
	}
}
/* landscape scren */
@media only screen and (min-width: 480px) and (max-width: 767px) {
	.nav-open .nav-wrap{ height: 80vh; }
	.outer-slider-cont .content-wrapper {width: 70%;}
	.testimonial blockquote{aspect-ratio: 1 / 0.5;}
	.elegant-wrap .list-wrap{column-count: 2;}
	.menu-list-wrap:before, .menu-list-wrap:after{height: 234px;}
	.menu-list:before{top: 4%;height: 86%;}
	.menu-list-hold {max-width: 330px;}
	.menu-list{padding-bottom: 13em;}
}
@media (min-width: 768px) and (max-width: 1366px) and (orientation: landscape) {
	.celebration-wrap,
	.stories-wrap,
	.cta-wrapper,
	.testimonial-section{background-attachment: scroll !important;}
}
/* for iphone 12 to 14 */
@media only screen and (min-device-width: 480px) and (max-device-width: 767px) and (-webkit-min-device-pixel-ratio: 3){
	.celebration-wrap,
	.stories-wrap,
	.cta-wrapper,
	.testimonial-section{background-attachment: scroll !important;}
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	.celebration-wrap,
	.stories-wrap,
	.cta-wrapper,
	.testimonial-section{background-attachment: scroll !important;}
}
@media not all and (min-resolution:.001dpcm) { 
     @supports (-webkit-appearance:none) {
     	.celebration-wrap,
     	.stories-wrap,
     	.cta-wrapper,
     	.testimonial-section{background-attachment: scroll !important;}
     }
}
/* SEO heading changes (Oct 2026): page titles are now <h1> but keep the old <h2> look */
h1.h2-style { font-size: 2.1875rem; }
.outer-slider-cont h1.banner-highlight-text {
  font-size: 2.5rem; font-weight: 600; color: #F8FAFA; line-height: 1; margin-bottom: 15px;
  animation: casaHeroIn 0.75s ease-out both;
}
@keyframes casaHeroIn { from { opacity: 0; transform: translateY(-40px); } to { opacity: 1; transform: none; } }
@media only screen and (max-width: 1199px) { h1.h2-style { font-size: 2rem; } }
@media only screen and (min-width: 768px) and (max-width: 991px) { .outer-slider-cont h1.banner-highlight-text { font-size: 2rem; } }
@media only screen and (max-width: 767px) {
  h1.h2-style { font-size: 1.7rem; line-height: 1.25; }
  .inner-cont h1.h2-style { font-size: 1.35rem; }
  .outer-slider-cont h1.banner-highlight-text { font-size: 1.5rem; }
}

/* Navigation polish (Oct 2026)
================================================== */
/* Logo: keep its real proportions (width/height attributes are only for layout reservation) */
.logo-wrap img { height: auto; }
.header-desktop .logo-wrap { aspect-ratio: auto; }

/* Header lines up with the page content instead of hugging the window edge */
.header > .content-wrapper { max-width: 1320px; margin: 0 auto; padding: 0 3rem; }

/* EN | FR language toggle */
.navigation-ul > li.lang-toggle-li { display: flex; align-items: center; padding-left: 2rem; }
.lang-toggle {
  display: inline-flex; align-items: center; padding: 3px; gap: 2px;
  border: 1px solid rgba(51, 51, 51, 0.35); border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
}
.lang-toggle .lang-option {
  display: block; min-width: 2.4em; padding: 5px 10px; border-radius: 999px;
  font-size: 0.8rem; font-weight: 600; line-height: 1.2; letter-spacing: 0.05em; text-align: center;
  color: #333; text-decoration: none; transition: background 0.2s, color 0.2s;
}
.lang-toggle a.lang-option:hover, .lang-toggle a.lang-option:focus-visible { background: rgba(229, 131, 146, 0.18); color: #333; }
.lang-toggle .lang-option.is-active { background: #e58392; color: #fff; cursor: default; }

/* Mobile menu sits on a dark overlay */
.header-mobile .lang-toggle-mobile { padding-left: 0; }
.header-mobile .lang-toggle { border-color: rgba(255, 255, 255, 0.6); background: transparent; }
.header-mobile .lang-toggle a.lang-option { color: #fff; }

@media only screen and (max-width: 1199px) {
  .header > .content-wrapper { padding: 0 1.5rem; }
  .navigation-ul > li.lang-toggle-li { padding-left: 1rem; }
}

/* Footer layout (Oct 2026): CTA band, four columns, bottom bar
================================================== */
.site-footer {
  position: relative; color: #d6d4cf;
  background: linear-gradient(180deg, #3a3a3a 0%, #1c1c1c 45%, #000000 100%);
  padding-top: 4.5rem;
}
/* thin pink-to-champagne line along the top edge */
.site-footer::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, transparent, #e58392 25%, #e0cda9 75%, transparent);
}

/* CTA band */
.footer-cta-band {
  display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap;
  padding: 2.25rem 2.5rem; border-radius: 18px;
  background: linear-gradient(135deg, rgba(229, 131, 146, 0.20), rgba(255, 255, 255, 0.04));
  border: 1px solid rgba(255, 255, 255, 0.10);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.35);
}
.footer-cta-text { flex: 1 1 380px; }
.footer-cta-title { color: #fff; font-size: 2rem; margin: 0 0 0.5rem; }
.footer-cta-text p { margin: 0; color: rgba(242, 241, 238, 0.85); font-size: 1.05rem; line-height: 1.6; max-width: 560px; }
.footer-cta-btns { display: flex; flex-wrap: wrap; gap: 0.85rem; }
.footer-btn {
  display: inline-block; padding: 0.95rem 1.6rem; border-radius: 999px; text-decoration: none; white-space: nowrap;
  font-weight: 600; letter-spacing: 0.08em; font-size: 0.9rem; text-align: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.footer-btn-primary { background: linear-gradient(135deg, #e58392, #d96b7d); color: #fff; box-shadow: 0 8px 22px rgba(229, 131, 146, 0.35); }
.footer-btn-primary:hover, .footer-btn-primary:focus-visible { color: #fff; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(229, 131, 146, 0.5); }
.footer-btn-outline { border: 1px solid rgba(255, 255, 255, 0.45); color: #f2f1ee; }
.footer-btn-outline:hover, .footer-btn-outline:focus-visible { background: #f2f1ee; color: #2a2a2a; transform: translateY(-2px); }

/* Columns */
.footer-grid {
  display: grid; grid-template-columns: 1.3fr 0.8fr 1.2fr 1.3fr; gap: 3rem;
  padding: 4rem 0 3rem;
}
.site-footer .footer_title {
  position: relative; color: #fff; font-size: 1.35rem; padding-bottom: 0.75rem; margin-bottom: 1.25rem;
}
.site-footer .footer_title::after {
  content: ''; position: absolute; left: 0; bottom: 0; width: 40px; height: 2px;
  background: linear-gradient(90deg, #e58392, #e0cda9); border-radius: 2px;
}

.footer-logo { display: inline-block; margin-bottom: 1.25rem; }
.footer-logo img { width: 150px; height: auto; filter: brightness(0) invert(1); opacity: 0.92; }
.footer-brand p { font-size: 0.95rem; line-height: 1.7; color: rgba(242, 241, 238, 0.75); margin-bottom: 1.25rem; }

.footer-links ul { list-style: none; margin: 0; padding: 0; }
.footer-links li { margin-bottom: 0.65rem; }
.footer-links a { color: rgba(242, 241, 238, 0.8); text-decoration: none; font-size: 0.95rem; transition: color 0.2s ease, padding-left 0.2s ease; }
.footer-links a:hover, .footer-links a:focus-visible { color: #e58392; padding-left: 4px; }

.site-footer .footer-address { margin: 0; }
.site-footer .footer-address .holder {
  display: flex; align-items: flex-start; margin: 0 0 1rem; padding: 0;
  color: rgba(242, 241, 238, 0.85); text-decoration: none; font-size: 0.95rem;
}
.site-footer .footer-address .holder:hover { color: #fff; }
.site-footer .footer-address .fadd-icon {
  flex: 0 0 40px; width: 40px; height: 40px; margin-right: 0.85rem; font-size: 1rem;
  background: rgba(229, 131, 146, 0.14); border: 1px solid rgba(229, 131, 146, 0.45); color: #f3b3bd;
  backdrop-filter: none;
}
.site-footer .footer-address .holder:hover .fadd-icon { background: #e58392; color: #fff; }
.site-footer .footer-address .fadd-info { width: auto; line-height: 1.5; padding-top: 1px; }
.site-footer .footer-address .fadd-info strong {
  font-family: Montserrat, sans-serif; font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: #e0cda9; margin-bottom: 1px;
}

.site-footer .footer-social-icon { margin-top: 0; }
.site-footer .footer-social-icon ul { display: flex; gap: 10px; list-style: none; padding: 0; margin: 0; }
.site-footer .footer-social-icon ul li a {
  display: flex; align-items: center; justify-content: center; width: 40px; height: 40px;
  border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.25); font-size: 1rem; color: #f2f1ee;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.site-footer .footer-social-icon ul li a:hover { background: #e58392; border-color: #e58392; color: #fff; }

.site-footer .footer-map iframe {
  display: block; width: 100% !important; height: 220px; aspect-ratio: auto; margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 12px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
}

/* Bottom bar */
.site-footer .footer-btm { padding: 0; border-top: 1px solid rgba(255, 255, 255, 0.10); background: #000; }
.footer-btm-inner {
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.5rem 2rem;
  padding: 1.25rem 0; font-size: 0.85rem; color: rgba(242, 241, 238, 0.6);
}
.footer-btm-inner p { margin: 0; }
.footer-btm-inner a { color: rgba(242, 241, 238, 0.85); }
.footer-btm-inner a:hover { color: #e58392; }
.footer-btm-inner .sep { margin: 0 0.6rem; opacity: 0.5; }

/* Tablet: two columns */
@media only screen and (max-width: 1100px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem 3rem; }
}
/* Phone: one column */
@media only screen and (max-width: 640px) {
  .site-footer { padding-top: 3rem; }
  .footer-cta-band { padding: 1.75rem 1.25rem; text-align: center; }
  .footer-cta-title { font-size: 1.6rem; }
  .footer-cta-text p { margin: 0 auto; }
  .footer-cta-btns { flex-direction: column; width: 100%; }
  .footer-btn { width: 100%; box-sizing: border-box; }
  .footer-grid { grid-template-columns: 1fr; gap: 2.25rem; padding: 3rem 0 2rem; }
  .footer-btm-inner { flex-direction: column; text-align: center; }
}
