/* 
CSS File Last Update : 29 April 2026
Project: bwhospitlity.com (BW Hospitality)
Website Designed & Coded by: Aditama (pandavamedia.net)
Main colors:
- Grey: #dbdee0; rgba(219,222,224, 1);
- Gold: #d0b157; rgba(208,177,87, 1);
- Black: #333333;
Left-right margin from screen 5%
Desktop max width: 94%; max: 1360px;
Mobile max width: 92%;
*/
/*html { height: 100%; }*/
@charset "UTF-8";
*, *::before, *::after {
    margin:0;
    padding:0;
	-webkit-font-smoothing:antialiased;
	font-smooth:always;
	box-sizing: border-box;
}
:root {
  --black:    #333333;
  --pitch-black:#000000;
	--white:    #ffffff;
  --muted:    #888;
	--grey:     #666666;
	--soft-grey:#999999;
	--c-grey:   #CCCCCC;
	--pale-grey:#e3e4e4;
	--yellow:   #f4e17d;
	--modal-black: rgba(0,0,0, 0.8);
	/*--font-family-normal: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;*/
	--font-family-normal: "Google Sans", sans-serif;
	--font-family-heading: "Google Sans", sans-serif;
	--font-family-heading-brief: "Google Sans", sans-serif;
	/*--font-family-subheading: "Port Lligat Slab", serif;*/
	--font-family-subheading: "Google Sans", sans-serif;
	--font-family-childheading: "Google Sans", sans-serif;
	--font-family-button: "Google Sans", sans-serif;
	--font-family-quote: "Crimson Pro", serif;
	--font-family-menu: "Jost", sans-serif;
	--font-family-slide-menu: "Google Sans", sans-serif;
	--font-weight-light: 300;
	--font-weight-normal: 400;
	--font-weight-medium: 500;
	--font-weight-bold: 700;
	--font-heading-style: bold;
	--hamburger-color: #000000;
	--hamburger-sticky-color: #FFFFFF;
	/* theme related */
	--pdv-body-bg: #ffffff;
	--pdv-body-shade-bg: #dbdee0;
	--pdv-body-shade-bg2: #f1f1f1;
	--pdv-body-txt: #000000;
	--pdv-body-txt2: #444444;
	--pdv-body-bgtxt: #F0F0F0;
	--pdv-title-ln-bg: #EEEEEE;
	--pdv-title-txt: #000000;
	--pdv-pagetitle-txt: #ffdeb6;
	--pdv-readblock-title-txt: #000000;
	--pdv-subtitle-txt: #ffdeb6;
	--pdv-title-link: #c17b40;
	--pdv-block-ln: 1px rgba(208,177,87, 0.6) dashed;
	--pdv-column-ln: 1px #DDDDDD solid;
	--pdv-header-bg: rgba(255,255,255, 0.9);
	--pdv-header-sticky-bg: #FFFFFF;
	--pdv-header-ln: 1px #DDDDDD solid;
	--pdv-header-shadow: 0 0 3px 0 rgba(0,0,0, 0.1);
	--pdv-footer-bg: #F0F0F0;
	--pdv-footer-txt: #333333;
	--pdv-copyright-txt: #DDDDDD;
	--pdv-banner-bg: #000000;
  --pdv-plcholder-bg: #EEEEEE;
  --pdv-box-line: #DDDDDD;
  --pdv-border: rgba(208,177,87, 0.3);
	/* booking bar */
	--pdv-bookbx-bg: rgba(255,255,255, 0.8);
	--pdv-bookbx-border: 1px rgba(154,100,62, 1.0) dashed;
  /* links */
  --pdv-link: #d0b157;
	--pdv-link-hover: #000000;
	--pdv-link-ln: 1px rgba(255,255,255, 1.0) solid;
	--pdv-link-light: #faecc3;
	--pdv-link-light-hover: #999999;
  /* navigation */
	--pdv-mnav-bg: rgba(247,247,247, 0.9);
	--pdv-mnav-shade-bg: rgba(86,86,86, 0.5);
	--pdv-mnav-txt: #000000;
  --pdv-mnav-txt-hover: #d0b157;
	--pdv-mnav-txt-weight: 400;
	--pdv-ftnav: #333333;
	--pdv-ftnav-hover: #d0b157;
	--pdv-ftnav-ln: ;
  --pdv-ftnav-gap: 1.5rem;
  /* carousel */
  --pdv-slide-dots: rgba(188,188,188,.7);
	--pdv-slide-dots-active: #d0b157;
  --pdv-slide-arrow-label: #000000;
	--pdv-slide-arrow-bg: '';
  /* button */
  --pdv-button-bg: #333333;
	--pdv-button-bg-hover: #666666;
  --pdv-button-border: '';
	--pdv-button-txt: #FFFFFF;
	--pdv-button-book-bg: #d0b157;
	--pdv-button-book-bg-hover: #ac9141;
  --pdv-button-book-border: '';
	--pdv-button-book-txt: #EEEEEE;
	--pdv-button-book-txt-hover: #FFFFFF;
  --pdv-button-more-bg: rgba(255,255,255,0);
	--pdv-button-more-bg-hover: rgba(204,204,204,0.2);
  --pdv-button-more-border: 1px #999999 solid;
	--pdv-button-more-txt: #333333;


	/*--pdv-mnav-bg: rgba(0,0,0, 0.4);
	--pdv-mnav-shade-bg: rgba(255,255,255, 0.15);*/
	--pdv-mnav: rgba(255,255,255, 0.4);
	--pdv-mnav-hover: #FFFFFF;
	--pdv-sticky-mnav: #FFFFFF;
	--pdv-sticky-mnav-hover: #EEEEEE;
	
	
	--pdv-bottom-bg: #7b0062;
	--pdv-bottom-txt: #010101;
	
	
	--pdv-thumb-ln: 2px rgba(154,100,62, 0.2) solid;
	--pdv-mdl-bg: #fff5eb;
	--pdv-bkng-fld-border: 2px rgba(154,100,62, 0.8) solid;
	/* content box */
	--pdv-content-box-bg: rgba(241,250,238, 1);
	--pdv-content-box-border: 0 #999999 solid;
	--pdv-content-box-shadow: 1px 1px 10px 0 rgba(0,0,0, 0.3);
	--pdv-content-box-header-bg: #31572c;
	--pdv-content-box-header-txt: #FFFFFF;
	--pdv-content-box-note-bg: #cfe1b9;
	/* modal popup */
	--pdv-modal-cover-bg: rgba(0,0,0, 0.95);
	--pdv-modal-bx-bg: rgba(0,0,0, 0);
	--pdv-modal-bx-txt: #FFFFFF;
	/*--pdv-modal-bx-shadow: 1px 1px 5px 0 rgba(0,0,0, 0.1);*/
	--pdv-modal-bx-shadow: ;
	/* mobile */
	--pdv-slide-nvmenu-bg: rgba(0,0,0, 0.85);
	--pdv-slide-nvmenu-txt: #FFFFFF;
	--pdv-slide-nvmenu: rgba(255,255,255, 0.7);
	--pdv-slide-nvmenu-hover: rgba(255,255,255, 1);
	--pdv-slide-nvmenu-footer-txt: #c17b40;
	--pdv-mbl-copyright-bg: #410a1c;
	/* base color */
	--pdv-gold:     #d0b157;
	--pdv-burgundy: #671933;
  --pdv-wa-green: #73b611;
	--pdv-peach:    #fff5eb;
	--pdv-blue:     #0067af;
	--pdv-aqua:     #cce1ef;
	--pdv-red:      #f2142a;
	--pdv-pale-blue:#c1e6fb;
  --pdv-ink:      #1c1c1c;
  --pdv-white:    #FFFFFF;
}
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	position:relative;
	background-color:var(--pdv-body-bg);
    font-family:var(--font-family-normal);
    font-optical-sizing: auto;
	font-size:15px;
	letter-spacing: 0.05em;
	/*line-height:20px;*/
	line-height:1.5em;
	color:var(--pdv-body-txt);
	margin:0;
	padding:0;
	border:0;
	width:100%;
	height: 100%;
	font-weight:var(--font-weight-light);
	counter-reset: section;
	overflow-x: hidden;
}
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-thumb { background: var(--pdv-gold); }
#pageBody {
	width:100%;
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
}
#pageBody.dark { background-color:var(--pdv-body-shade-bg); color:var(--pdv-body-bgtxt); }
form { MARGIN-LEFT: 0px;MARGIN-RIGHT: 0px;MARGIN-BOTTOM: 0px;MARGIN-TOP: 0px }
td,div,p { font-size:inherit; }
input, textarea, select, button {
	font-family:var(--font-family-normal);
  outline: none;
}
input[type=text],input[type=password],input[type=number],textarea,select { 
	color:#000000; 
	background-color:#FFFFFF; 
	border:0;
	border-radius:3px;
	text-align:left;
	-webkit-appearance: none; /* keep button styling on ios device */
	-moz-appearance: none; /* keep button styling on ios device */
	appearance: none; /* keep button styling on ios device */
	-webkit-transition: all 0.5s;
			 -moz-transition: all 0.5s;
				-ms-transition: all 0.5s;
				 -o-transition: all 0.5s;
						transition: all 0.5s;
}
/*textarea { width:95% !important; }*/
select { width:100% !important; padding:10px;  -webkit-appearance: menulist !important; }
input[type=text]:focus,input[type=password]:focus,input[type=number]:focus,textarea:focus,select:focus { 
	color:#000000;
	outline: none;
}
input[type=submit],input[type=button],button {
	font-family: var(--font-family-normal);
	font-size:1.1em;
	line-height:1em;
	cursor:pointer;
	color:var(--pdv-button-txt); 
	background-color:var(--pdv-button-bg); 
	border:0;
	padding:10px;
	opacity:1.0;
	border-radius: 5px;
	-webkit-appearance: none; /* keep button styling on ios device */
	-moz-appearance: none; /* keep button styling on ios device */
	appearance: none; /* keep button styling on ios device */
		-webkit-transition: all 0.5s;
			 -moz-transition: all 0.5s;
				-ms-transition: all 0.5s;
				 -o-transition: all 0.5s;
						transition: all 0.5s;
}
input[type=submit]:hover,input[type=button]:hover, button:hover { background-color:var(--pdv-button-bg-hover); opacity:1.0; }
input[type=text]:disabled,input[type=checkbox]:disabled,input[type=password]:disabled,textarea:disabled,select:disabled {
	opacity: .60;
	filter:Alpha(Opacity=60); /* support: IE8 */
	background-image: none;
	background-color:#F0F0F0;
}
input[type=text]:read-only,input[type=checkbox]:read-only,input[type=password]:read-only,textarea:read-only,select:read-only {
	opacity: .80;
	filter:Alpha(Opacity=60); /* support: IE8 */
	background-image: none;
	background-color:#F3F3F3;
	color:#000000;
	/*border:1px #DDDDDD solid;*/
}
input[type=text]:-moz-read-only,input[type=checkbox]:-moz-read-only,input[type=password]:-moz-read-only,textarea:-moz-read-only,select:-moz-read-only {
	opacity: .60;
	filter:Alpha(Opacity=60); /* support: IE8 */
	background-image: none;
	background-color:#F0F0F0;
}
input[readonly]:focus,textarea[readonly]:focus,select[readonly]:focus { 
	/*border:1px #CCCCCC solid;*/
}
img, div, input, a { behavior: url("iepngfix.htc") }
img { max-width:100%; max-height:100%; }
ul,ol { list-style-position:inside; }
li::marker { /*content: "• "; padding-right: 10px;*/ }
ol.smallList>li { margin:5px 7px; line-height:18px; }
ol.lower-alphabet { list-style-type:lower-alpha; }
ol.upper-alphabet { list-style-type:upper-alpha; }
ol.inBx, ul.inBx { margin-left:20px; }
p { margin-bottom:10px; }
b, strong { font-weight:var(--font-weight-bold); }

a { position:relative; cursor:pointer; color:var(--pdv-link); text-decoration:none; outline: 0;
		-webkit-transition: all 0.5s;
			 -moz-transition: all 0.5s;
				-ms-transition: all 0.5s;
				 -o-transition: all 0.5s;
						transition: all 0.5s;
}
a:visited { color:var(--pdv-link);text-decoration:none; outline: 0; }
a:hover { color:var(--pdv-link-hover); text-decoration:none; outline: 0; }
a.lnkAnim { position: relative; padding-bottom:2px; }
a.lnkAnim::before {
  content: "";
  position: absolute;
  /*width: 20%;*/
  width: 15px;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #666666;
  visibility: hidden;
  transform-origin: 10% 0;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
}
a.lnkAnim:hover::before {
  visibility: visible;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}
.bx-wrapper a {
	-webkit-transition: none;
		 -moz-transition: none;
			-ms-transition: none;
			 -o-transition: none;
					transition: none;	
}
a.lnkOpacity { opacity:0.7 !important; }
a.lnkOpacity:hover { opacity:1.0 !important; }
a.openPopUp { display:inline-block; }
a.openPopUp.linkOff { display:none; }
.filterGroup a { display:none; }

h1 { display:block; font-family:var(--font-family-heading); font-style:var(--font-heading-style); font-size:30px; letter-spacing:normal; /*line-height:0.8em;*/line-height:1em; margin-bottom:20px; font-weight:var(--font-weight-bold); }
h2 { display:block; font-family:var(--font-family-subheading); font-size:28px; letter-spacing:normal; line-height:1.2em; margin-bottom:10px; font-weight:var(--font-weight-medium); }
h3 { display:block; font-family:var(--font-family-subheading); font-size:26px; letter-spacing:normal; line-height:1.2em; margin-bottom:10px; font-weight:var(--font-weight-medium); }
h4 { display:block; font-family:var(--font-family-subheading); font-size:22px; letter-spacing:normal; line-height:1.3em; margin-bottom:10px; font-weight:var(--font-weight-medium); }
h5 { display:block; font-family:var(--font-family-childheading); font-size:20px; line-height:1.3em; margin-bottom:10px; font-weight:var(--font-weight-medium); }
h6 { display:block; font-family:var(--font-family-childheading); font-size:18px; line-height:1.3em; margin-bottom:10px; font-weight:var(--font-weight-medium); }
h1 sup, h1 sub, 
h2 sup, h2 sub,
h3 sup, h3 sub,
h4 sup, h4 sub,
h5 sup, h5 sub { font-size:0.4em; }
pre { white-space: pre-line; /*white-space: -moz-pre-wrap; white-space: -o-pre-wrap; */word-wrap: break-word; }

* {
    padding: 0;
    margin: 0;
}

.addTopMargin10 { margin-top:10px; }
.addTopMargin15 { margin-top:15px; }
.addTopMargin20 { margin-top:20px; }
.addTopMargin30 { margin-top:30px; }
.addSideMargin5 { margin-left:5px; margin-right:5px; }
.markSrch { color:#000000; font-weight:bold; }
.loadingIcn { width:100%; text-align:center; }
.algnCenter { text-align:center; }

#byPandavamedia { color:#FFFFFF; }
#byPandavamedia>a { color:#FFFFFF; }
#byPandavamedia>a:hover { color:#FFFFFF; }

.cYellow { color:#FFFF00 !important; }
.cRed { color:#FF0000 !important; }
.cGrey { color:#999999 !important; }
.cBlue { color:#0099CC !important; }
.cGreen { color:#0099CC !important; }
.clr{clear:both}
.topSpc { display:block; height:70px; }
.gapSpc { display:block; height:40px; }
.noBorder { border:0 !important; }
.noMargin { margin:0 !important; }
.noPadding { padding:0 !important; }
.dispBig { font-size:30px; color:#FF6600; font-weight:bold; }
.tooltipLoading { margin-top:60px; color:#000000; font-size:14px; }
.tooltipLoading a { background-color:#666666; padding:3px 10px; color:#FFFFFF; }
.tooltipLoading a:hover { background-color:#000000; color:#FFFFFF; }
.noRecord { padding:10px; width:70%; border-radius:5px; font-style:italic; opacity:0.6; margin:5% auto 5% auto; }
.noRecord>h6 { font-style:normal; font-size:1.7em; }
.goLeft { float:left !important; }
.goRight { float:right !important; }
.go2Column { width:48% !important; }
.noResult { color:#CCCCCC; margin:50px 0px; }
.fldError { border:2px #fbc5c4 solid !important; }
.imageInsert { margin:5px; }
.noDataFound { color:#666666; font-style:italic; opacity:0.6; }
.noScroll { overflow:hidden; }
.noScrollMbl { overflow-x:hidden !important; overflow-y:hidden !important; position:relative !important; } 
.goUpperCs { text-transform:uppercase !important; }
.allCenter { text-align:center !important; }
.allLeft { text-align:left !important; }
.allRight { text-align:right !important; }
.allJustify { text-align:justify !important; }
.justifyCenter { text-align:justify !important; text-align-last:center !important; }
.justifyCenter li { text-align:left !important; text-align-last:left !important; }
.hiBrand { color:#58cada !important; }
.noShow { display:none !important; }
.cmsHeader { margin-top:28px !important; }
.alertErr { display:block; padding:10px; border:2px #FF0000 solid; color:#FF0000; }
.alertDone { display:block; padding:10px; border:2px #0099CC solid; color:#0099CC; }
.offRecord { color:#990000; font-style:italic; }
.textBx ul, .textBx ol { margin-left:20px; }
.smMrgn5 { margin-bottom:5px !important; }
.smMrgn10 { margin-bottom:10px !important; }
.noRecords { width:100%; opacity:0.6; font-style:italic; }
.bgContainer { position:relative; background-repeat:no-repeat; background-position:center center; background-size:cover; }
small { font-size:13px; opacity:0.6; }
table { border-collapse: collapse; }
table td { vertical-align:top; }
blockquote { 
  font-size:28px;
  line-height:32px;
  color: #000000;
  text-align:center;
  font-weight:500;
  width:90%;
  margin:auto;
  padding:35px 0;
  quotes: "\201C" "\201D" "\2018" "\2019";
}
blockquote p { margin:0 !important; padding:0 !important; }
.smallNt { font-size:0.9em; line-height:1.4em; font-style:italic; color:var(--grey); }
.ovrlay { color:var(--pdv-body-bgtxt); }
.noselect {
	-webkit-touch-callout: none; /* iOS Safari */
	  -webkit-user-select: none; /* Safari */
	   -khtml-user-select: none; /* Konqueror HTML */
		 -moz-user-select: none; /* Old versions of Firefox */
		  -ms-user-select: none; /* Internet Explorer/Edge */
			  user-select: none; /* Non-prefixed version, currently
									supported by Chrome, Edge, Opera and Firefox */
}
.prevent-select {
	cursor: default !important;
	-webkit-user-select: none; /* Safari */
	-ms-user-select: none; /* IE 10 and IE 11 */
	user-select: none; /* Standard syntax */
}

section,header,footer { display:block; position:relative; width:100%; }
.pageLoading { display:none; z-index:999999; position:fixed; top:0; bottom:0; left:0; right:0; background:rgba(255,255,255,0.8) url('../../i/page-loading.gif') no-repeat center center; }
.pageLoading>label { position:absolute; width:100px; height:20px; top:52%; left:0; right:0; margin:auto; text-align:center; background:#333333; color:#FFFFFF; }
.ajxLoading { display:none; z-index:10; position:absolute; top:0; bottom:0; left:0; right:0; background:rgba(255,255,255, 0.7) url('../../i/mdl-loading.png') no-repeat center center; }
/* ---------------------------------------------------------- */

/* anim keyframe */
@keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; visibility: visible; }
}
@keyframes fadeInUpward {
	0% {
	  opacity: 0;
	  transform : translateY(50px);
	}
	100% {
	  visibility: visible;
	  opacity: 1;
	  transform : translateY(0px);
	}
}
@keyframes blink {
    0% { opacity: 0; }
    50% { opacity: 1; }
    100% { opacity: 0; }
}

/* Firefox < 16 */
@-moz-keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; visibility: visible; }
}
@-moz-keyframes blink {
    0% { opacity: 0; }
    50% { opacity: 1; }
    100% { opacity: 0; }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; visibility: visible; }
}
@-webkit-keyframes blink {
    0% { opacity: 0; }
    50% { opacity: 1; }
    100% { opacity: 0; }
}

/* Internet Explorer */
@-ms-keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; visibility: visible; }
}
@-ms-keyframes blink {
    0% { opacity: 0; }
    50% { opacity: 1; }
    100% { opacity: 0; }
}

/* Opera < 12.1 */
@-o-keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; visibility: visible; }
}
@-o-keyframes blink {
    0% { opacity: 0; }
    50% { opacity: 1; }
    100% { opacity: 0; }
}

@-webkit-keyframes pulse {
	  0% {
	    -webkit-box-shadow: 0 0 0 0 rgba(191,217,189, 1);
	  }
	  70% {
	      -webkit-box-shadow: 0 0 0 15px rgba(191,217,189, 0);
	  }
	  100% {
	      -webkit-box-shadow: 0 0 0 0 rgba(191,217,189, 0);
	  }
}
@keyframes pulse {
	  0% {
	    -moz-box-shadow: 0 0 0 0 rgba(191,217,189, 1);
	    box-shadow: 0 0 0 0 rgba(191,217,189, 1);
	  }
	  70% {
	      -moz-box-shadow: 0 0 0 15px rgba(191,217,189, 0);
	      box-shadow: 0 0 0 15px rgba(191,217,189, 0);
	  }
	  100% {
	      -moz-box-shadow: 0 0 0 0 rgba(191,217,189, 0);
	      box-shadow: 0 0 0 0 rgba(191,217,189, 0);
	  }
}
/* SHOW IN VIEWPORT */
.vwGroup .vwAnim, .vwGroup .vwPort {
	--delay: .1s; /* default value */
	  -webkit-animation-delay: var(--delay);
	  animation-delay: var(--delay)
}
.vwGroup .vwAnim:nth-child(2), .vwGroup .vwPort:nth-child(2) {
	 --delay:.2s
}
.vwGroup .vwAnim:nth-child(3), .vwGroup .vwPort:nth-child(3) {
	  --delay:.3s
}
.vwGroup .vwAnim:nth-child(4), .vwGroup .vwPort:nth-child(4) {
	 --delay:.4s
}
.vwGroup .vwAnim:nth-child(5), .vwGroup .vwPort:nth-child(5) {
	 --delay:.5s
}
.vwGroup .vwAnim:nth-child(6), .vwGroup .vwPort:nth-child(6) {
	 --delay:.6s
}
.vwGroup .vwAnim:nth-child(7), .vwGroup .vwPort:nth-child(7) {
	  --delay:.7s
}
.vwGroup .vwAnim:nth-child(8), .vwGroup .vwPort:nth-child(8) {
	  --delay:.8s
}
.vwGroup .vwAnim:nth-child(9), .vwGroup .vwPort:nth-child(9) {
	  --delay:.9s
}
.vwGroup .vwAnim:nth-child(10), .vwGroup .vwPort:nth-child(10) {
	  --delay:.10s
}

/* HEADER TITLE LINE */
.ttlLineBx { position:relative; width:100%; padding:0; }
.ttlLineBx::before { z-index:0; content:''; position:absolute; left:0; right:0; top:8px; bottom:0; margin:auto; width:100%; height:1px; background-color:var(--pdv-title-ln-bg); }
.ttlLineBx>h1, .ttlLineBx>h2, .ttlLineBx>h3, .ttlLineBx>h4, .ttlLineBx>h5, .ttlLineBx>h6 { z-index:1; display:inline-block; position:relative; margin:0; background-color:var(--pdv-title-ln-bg); line-height:auto; }
/* title line flex style */
.ttlLineFlex { display:flex; justify-content:center; align-items:center; }
.ttlLineFlex::before { content:''; flex: 1 1 auto; height:1px; background-color:var(--pdv-title-ln-bg); }
.ttlLineFlex::after { content:''; flex: 1 1 auto; height:1px; background-color:var(--pdv-title-ln-bg); }
.ttlLineFlex.dsh::before, .ttlLineFlex.dsh::after { background-color:transparent; background-image:url('../../i/bg/bg-dashln.png'); }
.ttlLineFlex>h1, .ttlLineFlex>h2, .ttlLineFlex>h3, .ttlLineFlex>h4, .ttlLineFlex>h5, .ttlLineFlex>h6 { z-index:1; display:inline-block; position:relative; margin:0 20px 7px 20px; line-height:auto; }
.ttlLineFlexRg { display:flex; justify-content:flex-start; align-items:center; }
.ttlLineFlexRg::after { content:''; flex: 1 1 auto; height:1px; background-color:var(--pdv-title-ln-bg); }
.ttlLineFlexRg.dsh::after { background-color:transparent; background-image:url('../../i/bg/bg-dashln-d.png'); }
.ttlLineFlexRg>h1, .ttlLineFlexRg>h2, .ttlLineFlexRg>h3, .ttlLineFlexRg>h4, .ttlLineFlexRg>h5, .ttlLineFlexRg>h6 { z-index:1; display:inline-block; position:relative; margin:0 20px 0 0; line-height:auto; }

/* IMAGE COVER */
.imgWrapper { display:block; width:100%; text-align:center; margin:auto; }
.imgWrapper img { max-width:100%; }
.imgBx { position:relative; /*width:100%; padding-bottom:60%;*/ overflow:hidden; background-color:#000000; background-repeat:no-repeat; background-position:center center; background-size:cover; }
.imgFrame { 
	z-index:1; 
	position:absolute; top:0; bottom:0; left:0; right:0;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    background-repeat:no-repeat; background-position:center center; background-size:cover;
    /*opacity:0.85;*/
    transition: all 0.5s;
}
/*.imgFrame>a { opacity:0.85; }
.imgFrame>a:hover { opacity:1.0; }*/
.imgFrame>a { position:absolute; left:0; top:0; right:0; bottom:0; margin:auto; }
.imgFrame img {
    flex-shrink: 0;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
}
.imgFrame.fittedImg a { display:flex; justify-content: center; align-items: center; }
.imgFrame.fittedImg img {
    flex-shrink: 0;
    min-width: 0;
    min-height: 0;
    object-fit: contain;
}
/* image caption */
.imgCaptBx { display:none; z-index:2; position:absolute; left:0; right:0; bottom:0; padding:10px 20px; color:var(--pdv-body-bgtxt); font-size:0.8em; line-height:1.2em; transition: all 0.5s; text-shadow: 1px 1px #000000; text-align:center; }
.imgBx:hover .imgCaptBx { padding:15px 20px; background-image:linear-gradient(rgba(0,0,0, 0),rgba(0,0,0, 0.5)); }

/* LAZY LOADING */
.lzLoading { display:none; height:255px; background:url('../../i/lz-loading.gif') no-repeat center center; }

/* SLICK ARROW NAV */
.carouselArrwBx { z-index:10; position:absolute; width:35%; top:15%; bottom:13%; }
.carouselArrwBx.bxLf { left:0; }
.carouselArrwBx.bxRg { right:0; }
.carouselArrw { z-index:20; display:none; cursor:pointer; position:absolute; width:34px; height:34px; top:0; bottom:0; margin:auto; border-radius:50%; background-image:url('../../i/icons/icn-crsl-arrw.png'); background-repeat:no-repeat; background-repeat:no-repeat; transition: all 0.5s; opacity:0.6; }
.carouselArrw:hover { /*background-color:rgba(255,255,255, 0.7);*/ opacity:1.0; }
.arrwPrev { left:15px; background-position:0 -49px; }
.arrwNext { right:15px; background-position:-49px -49px; }
.carouselArrw.wht:hover { /*background-color:rgba(0,0,0, 0.7);*/ opacity:1.0; }
.carouselArrw.wht.arrwPrev { background-position:0 0; }
.carouselArrw.wht.arrwNext { background-position:-49px 0; }
.carouselArrw.chevr.arrwPrev { background-position:0 -98px; }
.carouselArrw.chevr.arrwNext { background-position:-49px -98px; }
.carouselArrwBx .carouselArrw { opacity:0.3; }
.carouselArrwBx:hover .carouselArrw { opacity:1.0; }
.carouselArrwBx .arrwPrev { left:5%; }
.carouselArrwBx .arrwNext { right:5%; }

/* SLICK CUSTOMIZE */
.carouselArea { position:relative; width:100%; min-height:100px; }
.carouselArea.loading::before { z-index:0; content:''; position:absolute; top:0; bottom:0; left:0; right:0; margin:auto; width:50px; height:50px; background:url('../../i/crsl-loading.png') no-repeat center center; }
/* hide slick before loading */
.slick-slider:not(.slick-initialized) .slick-slider:not(:first-of-type) { display:none !important; /*visibility: hidden !important;*/ }
ul.carouselList:not(.slick-initialized) li { display:none !important; /*visibility: hidden !important;*/ }
ul.slick-initialized li.slick-slide { display:inline-block !important; /*visibility: visible !important; */}
ul.carouselList li:focus { outline: none; }
/* ------------------------- */
.nvCrsl { display:none; outline:0; z-index:10; cursor:pointer; position:absolute; bottom:0; top:0; margin:auto; width:30px; height:30px; background-repeat:no-repeat; background-position:center center; background-image:url('../../i/icons/icn-crsl-arrw.png'); transition: all 0.2s; opacity:0.3; }
.nvCrsl:hover { opacity:0.8; }
.nvCrsl.crslPrv { left:2%; background-position:0 0; }
.nvCrsl.crslNxt { right:2%; background-position:-80px 0; }
/* slick dots */
.slick-sides:focus { outline:none; }
ul.slick-dots { z-index:100; position:absolute; right:0; left:0; /*bottom:3%;*/bottom:-40px; height:20px; width:auto; margin:auto !important; }
ul.slick-dots li { display:inline-block !important; width:14px !important; height:14px !important; min-height:0 !important; padding:2px !important; margin:0 !important; background-color:transparent !important; } 
ul.slick-dots button::before { font-size:8px !important; color:#FF0000; }
ul.slick-dots li.slick-active button::before { font-size:13px !important; color:#000000 !important; }
ul.slick-dots li button>label { cursor:pointer; position:absolute; top:1px; right:25px; margin:auto; font-family:var(--font-family-normal); font-size:14px !important; line-height:14px !important; color:#CCCCCC; }
ul.slick-dots li.slick-active button>label { font-weight:bold; color:#FFFFFF; font-size:15px !important; }
/* bar style */
ul.bar-dots { z-index:100; position:absolute; left:50%; transform:translateX(-50%); bottom:5% !important; height:20px;  }
ul.bar-dots li { cursor:pointer; display:inline-block !important; width:35px !important; height:5px !important; min-height:auto !important; border-radius:3px; padding:0 !important; overflow:hidden; background:#879596; margin:0 3px; }
ul.bar-dots li button { display:none !important; opacity:0 !important; font-size:0 !important; content:none !important; }
ul.bar-dots li button:before { display:none !important; opacity:0 !important; font-size:0 !important; content:none !important; }
ul.bar-dots li.slick-active { background:#d1ae6c; }
/* vertical style */
ul.vertical-dots { z-index:100; position:absolute; left:-5%; right:auto; width:25px; }
ul.vertical-dots li { display:block !important; width:25px !important; height:25px !important; }
ul.vertical-dots button::before { font-size:15px !important; color:#CCCCCC; }
ul.vertical-dots li.slick-active button::before { font-size:20px !important; color:#f37021 !important; }
/* number style */
ul.number-dots { background-color:#efefef; padding:7px 0; height:37px; bottom:-10% !important; }
ul.number-dots li { margin:3px 8px !important; }
ul.number-dots li button { font-size:16px !important; line-height:16px !important; font-weight:bold; }
ul.number-dots li.slick-active { width:30px !important; height:30px !important; }
ul.number-dots li.slick-active button { border-radius:100%; width:30px; height:30px; }
/* slick progress bar dots */
.progressBarContainer {
	z-index:10;
  	position: absolute;
	bottom: 18%;
	left:0; right:0;
	width:90%;
	margin:auto;
	text-align: center;
}
.progressBarContainer.photoHeader { bottom: 5% !important; }
.progressBarContainer div {
	position: relative;
  	display: inline-block;
  	width: 40px;
  	padding: 0;
  	cursor: pointer;
  	margin: 0;
  	color: white;
  	text-align:left;
}
.progressBarContainer div:last-child {
  	margin-right: 0;
}
.progressBarContainer div span.progressBar {
  	width: 100%;
  	height: 5px;
  	background-color: #879596;
  	display:block;
  	overflow:hidden;
  	border-radius:3px;
}
.progressBarContainer div span.progressBar .inProgress {
  	background-color: #d1ae6c;
  	width: 0%;
  	height: 5px;
}
/* text select */
.slick-slider {
  -webkit-user-select: text !important;
  -khtml-user-select: text !important;
  -moz-user-select: text !important;
  -ms-user-select: text !important;
  user-select: text !important;
}
.slick-list.draggable {
  -webkit-user-select: none !important;
  -khtml-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
}
/* ----------------------------------- */

/* SWIPEBOX CUSTOMIZE */
#swipebox-prev { z-index:10; position:absolute !important; left:0 !important; top:0 !important; bottom:0 !important; margin:auto !important; }
#swipebox-next { z-index:10; position:absolute !important; right:0 !important; top:0 !important; bottom:0 !important; margin:auto !important; }
/* ------------------ */

/* OWL CAROUSEL */
ul.owl-carousel { position:relative; list-style-type:none; }
.owl-carousel .owl-stage-outer { padding:.8rem 0; }
.owl-carousel .owl-dots { margin-top:25px; text-align:center; }
.owl-carousel.overlayItm .owl-dots { position:absolute; bottom:10px; left:0; right:0; }
.owl-carousel .owl-dots button.owl-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  display: inline-block;
  background-color:var(--pdv-slide-dots);
  margin: 0 4px;
}
.owl-carousel .owl-dots button.owl-dot.active {
    width: 20px;
  border-radius: 5px;
  background-color:var(--pdv-slide-dots-active);
}
.owl-carousel.owl-dots button.owl-dot:focus {
  outline: none;
}
/* carousel arrow */
.owl-carousel .owl-nav { z-index:0; position:absolute; height:0; top:0; bottom:0; left:-2%; right:-2%; margin:auto; display:flex; justify-content:center; align-items:center; }
.owl-carousel .owl-nav>.owl-prev { margin-right:auto; }
.owl-carousel .owl-nav>.owl-next { margin-left:auto; }
.owl-carousel .owl-nav .nav-btn { width:15px; height:15px; border-radius:50%; background:url('../../i/icons/icn-owl-arrw-b.png') no-repeat center; background-size:contain; transition: all 0.5s; opacity:0.4; }
.owl-carousel .owl-nav .nav-btn:hover { opacity:1.0; }
.owl-carousel .owl-nav .nav-btn:hover { background-color:var(--lk-slide-arrow-bg); }
.owl-carousel .owl-nav .nav-btn.next-slide { transform:rotate(180deg); }

/* SLIDE GALLERY CONTAINER */
/* pic slide */
#gallery { position:relative; padding:9rem 0 6rem 0; }
.galleryLoading { position:relative; min-height:150px; background:url('../../i/crsl-loading.png') no-repeat center; }
.galleryLoading.done { background-image:url('') !important; }
ul.slideImgLst { position:absolute; left:0; right:0; top:0; bottom:45px; list-style-type:none; }
ul.slideImgLst>li { position:relative; width:100%; }
ul.slideImgLst.carouselList li.slick-slide { position:relative; display:flex !important; justify-content:center; align-items:center; overflow:hidden !important; height:100%; border-radius:7px !important; }
ul.slideImgLst li .imgFrame>img { width:auto !important; max-width:100% !important; }
ul.slideImgLst ul.slick-dots { bottom:-30px; }
/* YOUTUBE/VIDEO CONTAINER */
.videoWide { width:100% !important; height:100% !important; }
.videoBx {
      position: relative;
      width: 100%;
      padding-bottom: 56.25% !important; 
      height: 0;
}
.videoBx.fitBx { position:absolute !important; top:0; bottom:0; left:0; right:0; margin:auto; padding-bottom:0 !important; height:auto; }
.videoBx .frmCover { z-index:1; position:absolute; top:0; bottom:0; left:0; right:0; margin:auto; background-repeat:no-repeat; background-position:center center; background-size:cover; }
.videoBx iframe{
      z-index:0;
      position: absolute;
      top:0;
      left: 0;
      width: 100%;
      height: 100%;
}
a.btnPlayThis { position:absolute; top:0; bottom:0; left:0; right:0; margin:auto; width:80px; height:80px; background:url('../../i/icons/icn-play.png') no-repeat center center; border-radius:50%; overflow:hidden; opacity:0.6; }
a.btnPlayThis:hover { opacity:1.0; }
/* VIDEO */
a.toggleVidMute { cursor:pointer; z-index:11; position:absolute; width:30px; height:30px; background:url('../../i/icons/icn-sets-sound2.png') no-repeat; background-position:0px 0px; bottom:105px; left:30px; opacity:0.5; transition: opacity 0.8s ease-in-out 0s; }
a.toggleVidMute.unmute { background-position:-40px 0px; opacity:1.0; }
a.toggleVidMute:hover { opacity:1.0; }
a.toggleZoomVideo { cursor:pointer; z-index:12; position:absolute; bottom:35px; left:70px; width:30px; height:30px; background:url('../../i/icons/icn-expand.png?x=3387') no-repeat center; opacity:0.5; transition: opacity 0.8s ease-in-out 0s; }
a.toggleZoomVideo:hover { opacity:1.0; }
.videoCapt { z-index:11; position:absolute; bottom:36px; left:7%; padding:5px; color:#FFFFFF; font-size:14px; line-height:16px; font-weight:600; }
.videoCapt>a { color:#FFFFFF; }

/* MOBILE SETUP */
.tagMobile { display:none; }
.mobileNav { display:none; }
.mobileOnly { display:none !important; }

/* FLEX MIDDLE BOX */
.flexBxContainer { display:flex; justify-content:center; align-items:center; }
.flexBxContent { align-self:center; }
.flexBxLf { justify-content:left; }
.flexBxRg { justify-content:right; }
.flexBxTop { align-items:flex-start; }
.flexBxBottom { align-items:flex-end; }
.flexBxRow { flex-direction:column; }

[filter=clickThis] { cursor:pointer !important; }

/* WEBSITE CUSTOM CSS */
.ui-widget { font-family:var(--font-family-normal) !important; font-size:14px !important; }
/* icon set */
.dvIcn { background-image:url('../../i/icons/icn-sets.png?031121'); background-repeat:no-repeat; }
/* ---------------------------------------------------------- */
span.icnSpan { padding:5px 27px 5px 5px; }
span.icnBigSpan { padding:5px 5px 12px 75px; }
.icnMenu { background-position:0 0px !important; }
.icnMnClose { background-position:0 -60px !important; }
.icnSearch { background-position:0 -120px !important; }
.icnNvIdeas { background-position:0 -150px !important; }
.icnNvConnect { background-position:0 -200px !important; }
.icnNvLanguage { background-position:0 -100px !important; }
.icnContactEmail { background-position:0 -250px !important; }
.icnContactWA { background-position:0 -300px !important; }
.icnTtlCoffee { background-position:0 -400px !important; }
/* icon set footer */
.footerIcn { background-image:url('../../i/icons/icn-sets-footers.png'); background-repeat:no-repeat; }
/* ---------------------------------------------------------- */
.icnFtFacebook { background-position:0 0 !important; }
.icnFtInstagram { background-position:0 -150px !important; }
.icnFtWhatsapp { background-position:0 -300px !important; }
.icnFtEmail { background-position:0 -450px !important; }
/* icon set links */
.icon-link { display:flex; justify-content:flex-start; align-items:center; column-gap:5px; }
i.icLnk { display:inline-block; width:25px; height:27px; background-image:url('../../i/icons/icn-sets-links.png?040426'); background-repeat:no-repeat; }
a.icon-link { opacity:0.7; color:#333333; }
a.icon-link>i.icLnk { opacity:0.5; }
a.icon-link:hover, a.icon-link:hover>i.icLnk { opacity:1.0; }
.icEmail { background-position:0px 0px !important; }
.icPhone { background-position:-27px 0px !important; }
.icWhatsApp { background-position:-54px 0px !important; }
.icLocation { width:24px !important; background-position:-81px 0px !important; }
.icBuilding { background-position:-108px 0px !important; }
.icArrowNext { background-position:-135px 0px !important; }
i.icLnk.wht { background-position-y:-29px !important; }
/* icon set socmed big */
i.icSocMd { display:inline-block; width:40px; height:40px; background-image:url('../../i/icons/icn-sets-socmed.png?030426'); background-repeat:no-repeat; }
/* ---------------------------------------------------------- */
.icScFacebook { background-position:0px 0px !important; }
.icScLInkedIn { background-position:-40px 0px !important; }
.icScInstagram { background-position:-80px 0px !important; }
.icScYoutube { background-position:-120px 0px !important; }
/* icon set room spek */
i.icRoom { display:inline-block; width:30px; height:30px; margin-top:-2px; background-image:url('../../i/icons/icn-sets-room.png?030526'); background-repeat:no-repeat; }
i.icRoom.big { width:60px; height:60px; margin-top:0; background-image:url('../../i/icons/icn-sets-room-big.png?030526'); }
.icrBed { background-position:0px 0px !important; }
.icrGuest { background-position:-33px 0px !important; }
.icrSize { background-position:-66px 0px !important; }
.icrView { background-position:-99px 0px !important; }
.icrTV { background-position:-127px 0px !important; }
.icrbBed { background-position:0px 0px !important; }
.icrbGuest { background-position:-60px 0px !important; }
.icrbWifi { background-position:-120px 0px !important; }
.icrbShower { background-position:-180px 0px !important; }
.icrbSize { background-position:-240px 0px !important; }
.icrbTV { background-position:-300px 0px !important; }
.icrbWheel { background-position:-360px 0px !important; }
.icrbView { background-position:-420px 0px !important; }

/* A LINKS */
a.titleLnk { color:#000000; opacity:0.7; }
a.titleLnk:hover { opacity:1.0; }
a.btnMore { display:inline-block !important; font-size:15px; color:#000000; font-weight:400; opacity:0.7; margin:10px 0; padding:8px 13px; background:#FFFFFF; white-space:nowrap; border-radius:5px; border:1px #333333 solid; }
a.btnMore:hover { opacity:1.0; }
a.btnAction { display:inline-block !important; min-width:130px; text-align:center; font-size:14px; color:#f7921e; font-weight:bold; opacity:0.7; margin:10px 0; padding:10px 20px; background:#FFFFFF; border-radius:8px; border:2px #333333 solid; }
a.btnAction:hover { opacity:1.0; }
a.dotLnk { display:inline-block !important; font-size:18px; color:#000000; font-weight:400; opacity:0.7; margin:10px 0; padding:10px 5px 10px 50px; background:url('../../i/icons/icn-dot-lnk.png') no-repeat left center; }
a.dotLnk:hover { opacity:1.0; }
a.goStepLnk { display:inline-block !important; font-size:18px; color:#00b4d8; font-weight:400; opacity:0.7; margin:5px 0; padding:10px 40px 10px 0px; background:url('../../i/icons/icn-lnk-step.png') no-repeat right center; }
a.goStepLnk:hover { opacity:1.0; }
a.goToLnk { display:inline-block !important; font-size:18px; color:#00b4d8; font-weight:400; opacity:0.7; margin:5px 0; padding:10px 40px 10px 0px; background:url('../../i/icons/icn-lnk-go.png') no-repeat right center; }
a.goToLnk:hover { opacity:1.0; }
.lnkAnm {
		-webkit-transition: all 0.5s;
			 -moz-transition: all 0.5s;
				-ms-transition: all 0.5s;
				 -o-transition: all 0.5s;
						transition: all 0.5s;
}
/* ---------------------------------------------------------- */
/* PRELOADER */
/*.preloader { z-index:1000; position:fixed; top:0; bottom:0; left:0; right:0; background:#F0F0F0 url('../../i/logo-opening.gif') no-repeat center center; }*/

/* MODAL SCREEN */
.mdlScrn { display:none; z-index:10000; position:fixed; top:0; bottom:0; left:0; right:0; background:rgba(247,246,241, 0.95); }
.mdlLoading { display:none; z-index:10; position:absolute; top:0; bottom:0; left:0; right:0; margin:auto; width:70px; height:70px; background:url('../../i/mdl-loading.gif') no-repeat center center; }
.mdlArea { display:none; position:absolute; top:2%; bottom:2%; left:2%; right:2%; margin:auto; max-width:900px; max-height:70vh; background:#FFFFFF; border-radius:10px; box-shadow: 1px 1px 5px 0 rgba(0,0,0, 0.1); }
.mdlArea.mdlQuestion { max-width:900px; max-height:525px; }
.mdlArea.mdlInquiry { max-width:900px; max-height:525px; }
.mdlArea.mdlSubscribe { max-width:650px; max-height:475px; }
.mdlArea.mdlJob { max-width:400px; max-height:460px; }
.mdlArea.mdlPageContent { max-width:800px; max-height:580px; }
.btnMdlClose { position:absolute; top:7px; right:7px; width:25px; height:25px; background:url('../../i/icons/icn-mdlclose.png') no-repeat center center; opacity:0.5; transition: all 0.5s; }
.btnMdlClose:hover { opacity:1.0; }
.mdlBox { position:absolute; top:85px; left:30px; bottom:10px; right:30px; overflow-y:auto; border-radius:0 0 3px 3px; /*border-top:5px #999999 solid;*/ }
.mdlTitle { position:absolute; left:30px; top:35px; width:90%; text-align:left; padding:0 5px; }
.mdlTitle::after { z-index:0; content:''; position:absolute; top:0; bottom:0; left:50px; right:0; margin:auto; height:2px; border-bottom:1px #CCCCCC dashed; }
.mdlTitle>h5 { z-index:1; position:relative; left:0; display:inline-block; font-size:36px; background:#FFFFFF; padding-bottom:5px; padding-right:30px; }

/* POP UP BANNER */
.modalPopCover { display:none; z-index:1100; position:fixed; top:0; bottom:0; left:0; right:0; background-color:rgba(0,0,0, 0.5) }
.modalPopBx { position:relative; width:100%; height:100%; }
.modalBox { position:relative;
    margin:auto;
}
.modalBox.textOnly { max-width:400px; }
.btnMdlClose,.btnPopClose { z-index:5; margin-left:auto; position:absolute; top:0; right:-25px; width:20px; height:20px; background:#FFFFFF url('../../i/icons/icn-mdlclose.png') no-repeat center center; border-radius:50%; opacity:0.5; transition: all 0.5s; }
.btnMdlClose:hover,.btnPopClose:hover { opacity:1.0; }
.modalContent { position:relative; overflow:hidden; margin:auto; }
.modalContent.carousel { height:auto; }
.modalWrapper { position:relative; width:100%; height:100%; overflow-y:auto; }
.popBnrImg { position:relative; max-width:1024px; height:70vh; width:100%; }
.popBnrImg.owl-carousel { width:410px !important; }
.popBnrImg img { max-width:100% !important; max-height:100% !important; object-fit:contain; }
.popBnrCnt { font-size:14px; line-height:20px; padding:30px 25px 25px 25px; }
h5.popBnrTtl { font-size:26px; line-height:26px; margin-bottom:15px; }
.modalBox.textOnly .popBnrCnt { padding:40px 35px 30px 35px; }
ul.popBnrBxLst { list-style-type:none; }
ul.popBnrBxLst.owl-carousel .owl-item>li { width:100%; overflow:hidden; }

/* STICKY DIVS */
.stickyDiv.stickyThis { position:fixed; top:62px; left:0; }
.stickyDiv.goBottom { position:absolute; left:0; bottom:0; }

/* SHARE THIS */
.shareBx { display:flex; justify-content:flex-start; align-items:center; margin-top:2rem; padding:0.5rem 0.5rem; border-radius:3px 3px 10px 10px; background:rgba(0,0,0, 0.02); border-top:1px #CCCCCC dashed; }
.shareTtl { font-size:0.8em; font-style:italic; color:#666666; }

/* ══ HEADER ═════════════════════════════════════════════════════════════
	JS adds .header--expanded at top, .header--compact when scrolled.
	All visual changes (height, logo size, nav opacity) are CSS transitions.
═══════════════════════════════════════════════════════════════════════ */
    /* ── Expanded state (at top of page) ── */
    #site-header { 
      z-index:1000; 
      padding:15px 0 15px 0; 
      background:var(--pdv-header-bg); 
      backdrop-filter:blur(10px); 
      -webkit-backdrop-filter: blur(10px); 
      box-shadow:var(--pdv-header-shadow); 
      display: flex; align-items: center; justify-content:center;
      overflow: visible;
      /* Smooth CSS transitions for size change */
      transition:
        height          0.45s cubic-bezier(0.4, 0, 0.2, 1),
        padding         0.45s cubic-bezier(0.4, 0, 0.2, 1),
        transform       0.35s cubic-bezier(0.4, 0, 0.2, 1),  /* for hide/show */
        box-shadow      0.35s ease;
    }
    #site-header.header--expanded {
      /*box-shadow: none;*/
    }
    #site-header.header--expanded .header-logo      { font-size: 1.7rem; }
    #site-header.header--expanded .header-subbrand  { opacity: 1; max-height: 20px; }
    #site-header.header--expanded .header-nav a     { letter-spacing: 0.22em; }
    #site-header.header--expanded .header-cta       { padding: 0.7rem 1.8rem; }

    /* ── Compact state (after scrolling) ── */
    #site-header.header--compact {
		  padding:7px 0 7px 0; 
      /*height:  60px;*/
      /*box-shadow: 0 2px 24px rgba(0,0,0,0.35);*/
    }
    #site-header.header--compact .header-logo      { height:40px; }
    #site-header.header--compact .header-subbrand  { opacity: 0; max-height: 0; }
    #site-header.header--compact .header-cta       { padding: 0.5rem 1.2rem; }

	/* ── Header wrap ── */
	.headerWrap { position:relative; width:96%; max-width:1600px; column-gap:3%;/*justify-content:space-between;*/ }
	.headerLf { width:18%; min-width:220px; margin-right:auto; text-align:left; }
	.headerMd { flex-grow:1; }
	.headerRg { width:18%; min-width:150px; margin-left:auto; text-align:right; display:flex; justify-content:flex-end; align-items:center; gap:1rem; }
	.headGap {  }
	.headGap.cmsGap {  }

  /* ── Logo ── */
  .webLogo { margin:0; }
  .webLogo img { max-width:100% !important; max-height:100% !important;object-fit: contain;transition: all 0.45s; }
  .header-logo {
  height:50px;
      transition: font-size 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .header-logo span { color: var(--pdv-goldl); }
  
  /* ── Navigation menu ── */
  .header-nav {
    display: flex; justify-content: center; align-items: center; gap: 1.5rem;
  }
  .nav-item {
    position: relative; display: flex; align-items: center;
  }
  .header-nav .nav-trigger,
  .header-nav .nav-link-plain {
    font-family:var(--font-family-menu); font-size:0.9em;
    text-transform: uppercase;
    color:var(--pdv-mnav-txt);
    font-weight:var(--pdv-mnav-txt-weight);
    background-color:transparent;
    padding: 0 0.6rem;
    transition: color 0.2s, letter-spacing 0.45s cubic-bezier(0.4,0,0.2,1);
    text-decoration: none; white-space: nowrap;
  }
  .header-nav .nav-trigger:hover,
  .header-nav .nav-link-plain:hover,
  .nav-item--open .nav-trigger { color: var(--pdv-mnav-txt-hover) !important; }
  #site-header.header--expanded .header-nav .nav-trigger,
  #site-header.header--expanded .header-nav .nav-link-plain { letter-spacing: 0.1em; }
  #site-header.header--compact  .header-nav .nav-trigger,
  #site-header.header--compact  .header-nav .nav-link-plain { letter-spacing: 0.14em; }
  
  .header-cta {
    /*font-family: 'Jost', sans-serif; */font-size: 0.65rem;
    letter-spacing: 0.16em; text-transform: uppercase;
    background: var(--pdv-gold); color: var(--pdv-ink);
    border: none; cursor: pointer; text-decoration: none;
    transition: padding 0.45s cubic-bezier(0.4,0,0.2,1), background 0.2s;
    white-space: nowrap;
  }
  .header-cta:hover { background: var(--pdv-goldl); }

	/* ══════════════════════════════════════════════════════════════════════════
       DROPDOWN NAVIGATION — visual styles
       All rules here are yours to edit freely.
       scroll-utils.js only injects the functional state machine:
         .nav-panel            hidden state  (opacity 0, visibility hidden)
         .nav-panel--open      visible state (opacity 1, visibility visible)
         .nav-panel--mega      forces full-width flex layout
         .nav-backdrop         invisible click-outside catcher
       Everything below is purely presentational — change anything you like.
    ══════════════════════════════════════════════════════════════════════════ */

    /* ── Caret appearance ────────────────────────────────────────────────────── */
    .nav-caret          { opacity: 0.55; }
    .nav-item--open .nav-caret { opacity: 1; }

    /* ── Panel: visual shell ─────────────────────────────────────────────────── */
    .nav-panel {
      background:              var(--pdv-mnav-bg); /* ← panel fill colour    */
      color:                   var(--pdv-mnav-txt);
      backdrop-filter:         blur(16px);              /* ← frosted glass        */
      -webkit-backdrop-filter: blur(16px);
      border:                  1px solid rgba(184, 154, 94, 0.18);
      border-top:              2px solid var(--pdv-gold);   /* ← top accent line      */
      box-shadow:              0 0 16px 3px rgba(0,0,0,0.05);
      min-width:               220px;
      font-family:             var(--font-family-menu);
    }
    .nav-bx { padding:20px 0 0 0; }

    /* ── Simple panel ────────────────────────────────────────────────────────── */
    .nav-panel:not(.nav-panel--mega) { padding: 0.6rem 0; }

    .nav-panel:not(.nav-panel--mega) [role="menuitem"],
    .nav-panel:not(.nav-panel--mega) a {
      display: block;
      padding: 0.5rem 1.1rem;
      font-size: 0.85em; line-height:1.4em; text-transform: uppercase;
      color: var(--pdv-mnav-txt); text-decoration: none;
      transition: color 0.15s, background 0.15s, padding-left 0.15s;
      border-left: 2px solid transparent; white-space: nowrap;
    }
    .nav-panel:not(.nav-panel--mega) [role="menuitem"]:hover,
    .nav-panel:not(.nav-panel--mega) a:hover,
    .nav-panel:not(.nav-panel--mega) [role="menuitem"]:focus,
    .nav-panel:not(.nav-panel--mega) a:focus {
      color: var(--pdv-goldl); padding-left: 1.5rem;
      border-left-color: var(--pdv-gold); background: rgba(255,255,255,0.03); outline: none;
    }
    .nav-panel.side-nav { min-width:180px; }
    .nav-bx.rg { text-align:right; }
    .nav-bx.rg a { border-left:0; border-right: 2px solid transparent; }
    .nav-bx.rg a:hover { border-left-color:transparent; border-right-color: var(--pdv-gold); padding-left: 1.1rem; padding-right: 1.5rem; }
    .nav-bx.rg a.open { border-right-color:#999999; font-weight:var(--font-weight-bold); }

    /* Optional divider */
    .nav-panel-divider { height: 1px; background: rgba(0,0,0,0.07); margin: 0.4rem 0; }

    /* Optional section label */
    .nav-panel-label {
      display: block; padding: 0.5rem 1.2rem 0.3rem; 
      font-size: 0.65em; font-weight:var(--font-weight-medium);
      letter-spacing: 0.28em; text-transform: uppercase; color: var(--pdv-gold);
    }

    /* ── Mega panel ──────────────────────────────────────────────────────────── */
    .nav-panel--mega { padding: 2.5rem 3rem; gap: 0; }

    .mega-col {
      flex: 1; padding: 0 2rem;
      border-right: 1px solid rgba(255,255,255,0.07);
    }
    .mega-col:first-child { padding-left: 0; }
    .mega-col:last-child  { border-right: none; padding-right: 0; }

    .mega-label {
      display: block;
      font-size: 0.65em; font-weight:var(--font-weight-medium);
      letter-spacing: 0.28em; text-transform: uppercase; color: var(--pdv-gold);
      margin-bottom: 1rem; padding-bottom: 0.8rem;
      border-bottom: 1px solid rgba(184,154,94,0.2);
    }

    .mega-col [role="menuitem"],
    .mega-col a {
      font-family: var(--font-family-normal);
      display: flex; align-items: center; gap: 0.8rem; padding: 0.6rem 0;
      font-size: 1em;
      color: var(--pdv-mnav-txt); text-decoration: none;
      border-bottom: 1px solid rgba(255,255,255,0.04); transition: color 0.15s;
    }
    .mega-col [role="menuitem"]:last-child,
    .mega-col a:last-child { border-bottom: none; }
    .mega-col [role="menuitem"]:hover, .mega-col a:hover,
    .mega-col [role="menuitem"]:focus, .mega-col a:focus { color: var(--pdv-mnav-txt-hover); outline: none; }

    /* Sub-description text inside a mega link */
    .mega-item-desc {
      display: block;max-width:200px; white-space:wrap;
      font-size: 0.85em; line-height:.9rem; letter-spacing: 0.06em; text-transform: none;
      color: rgba(0,0,0,0.5); margin-top:0; font-style: italic;
    }

    /* Optional image column */
    .mega-col--image { flex: 0 0 220px; overflow: hidden; }
    .mega-col--image img {
      width: 100%; height: 100%; object-fit: cover; display: block;
      filter: brightness(0.75); transition: filter 0.3s;
    }
    .mega-col--image:hover img { filter: brightness(0.9); }

    /* Backdrop z-index — keep below panels, above page content */
    .nav-backdrop { z-index: 988; }

    .nav-sub-item{
      /* position:relative is injected by scroll-utils CSS */
    }
    /* Style the sub-trigger identically to a level-1 link */
    .nav-sub-trigger{
      display:flex;align-items:center;justify-content:space-between;
      width:100%;padding:.65rem 1.3rem;border-radius:0;
      font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
      color:var(--slate);
      border-left:2px solid transparent;
      transition:color .15s,padding-left .15s,background .15s;
      background:none;border-top:none;border-bottom:none;border-right:none;
      cursor:pointer;text-align:left;
    }
    .nav-sub-item:hover > .nav-sub-trigger,
    .nav-sub-item.sub-open > .nav-sub-trigger{
      color:var(--pdv-gold);
      padding-left:1.7rem;
      border-left-color:var(--pdv-gold);
      background:rgba(201,168,76,.04);
    }

    /* Level-2 links inside sub-panel */
    .nav-sub-panel a,
    .nav-sub-panel [role="menuitem"]{
      display:block;padding:.6rem 1.3rem;
      font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
      color:var(--slate);
      border-left:2px solid transparent;
      transition:color .15s,padding-left .15s,background .15s;
    }
    .nav-sub-panel a:hover,
    .nav-sub-panel [role="menuitem"]:hover{
      color:var(--pdv-gold);padding-left:1.7rem;
      border-left-color:var(--pdv-gold);
      background:rgba(201,168,76,.04);
      outline:none;
    }


/* ══ BOOKING BAR ═════════════════════════════════════════════════════════
	Starts floating over the hero (JS positions it via anchorOffsetTop).
	Sticks below the header when scrolled past. Returns fluidly on scroll-up.
═══════════════════════════════════════════════════════════════════════ */
    #booking-bar {
      /* position:fixed set by JS */
      background: var(--pdv-bookbx-bg);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
	    max-width:950px;
	    margin:auto;
	    border-radius:20px;
      padding:20px 30px;
    }
    #booking-bar.unit { max-width:970px; }
    #booking-bar.unit-hdr { max-width:1140px; }
    .booking-wrap { position:relative; display: flex; align-items: center; justify-content: center; column-gap:1rem; margin:auto; }
    .booking-bar-title { display:inline-block; width:20%; padding:0; }
    .booking-bar-title h4 { font-size:1.9em; line-height:1.1em; color:#999999; font-weight:var(--font-weight-light); margin:0; }
    .booking-form { display: flex; align-items: center; justify-content: center; }

    /* Floating state: subtle bottom shadow suggesting it hovers over the hero */
    #booking-bar:not(.bar--stuck) {
      box-shadow: 0 8px 40px rgba(0,0,0,0.5), 0 0 0 1px rgba(184,154,94,0.1);
    }
    /* Stuck state: stronger shadow to lift bar above page content */
    #booking-bar.bar--stuck {
      	box-shadow: 0 2px 5px -2px rgba(0,0,0,0.2);
	  	width:100%;
      max-width:100%;
      border-radius:0;
      padding:10px; text-align:center;
    }
    .bb-field {
      display: flex; flex-direction: column; justify-content: flex;
      padding: 0 1.4rem;
      border-right: 1px solid rgba(0,0,0,0.08);
      min-width: 140px;
    }
    .bb-field.auto { flex-grow: 1; }
    .bb-field label {
      font-size: 0.55rem; letter-spacing: 0.2em; line-height:0.65rem; text-transform: uppercase;
      color: var(--muted); margin-bottom: 3px; text-align:left; padding:5px 3px;
    }
    .bb-field input,
    .bb-field select {
      background: none; border: none; outline: none; padding:0 !important;
      font-size: 0.82rem;
      font-weight: var(--font-weight-medium); color: var(--pdv-ink); cursor: pointer; text-transform: uppercase;
    }
    .bb-field select.lrg { padding-right:20px !important; }
    .bb-field select option { background: var(--pdv-white); color: var(--pdv-ink); }
    .bb-guests {
      display: flex; align-items: center; gap: 0.8rem;
      padding: 0 1.4rem; border-right: 1px solid rgba(0,0,0,0.08);
    }
    .bb-guests label {
      font-size: 0.52rem; letter-spacing: 0.2em; text-transform: uppercase;
      color: var(--muted); white-space: nowrap;
    }
    .bb-counter {
      display: flex; align-items: center; gap: 0.5rem;
    }
    .bb-counter button {
      width: 20px; height: 20px; border-radius:50%;
      border: 1px solid rgba(0,0,0,0.15);
      background: none; cursor: pointer;
      font-size: 0.9rem; color: var(--pdv-ink);
      display: flex; align-items: center; justify-content: center;
      transition: background 0.15s;
    }
    .bb-counter button:hover { background: var(--pdv-gold); color: var(--pdv-white); border-color: var(--pdv-gold); }
    .bb-counter span { font-size: 0.85rem; font-weight: 600; min-width: 1.2rem; text-align: center; }
    .bb-promo { max-width:150px; }
    .bb-submit {
      font-size: 0.68rem;
      font-weight: var(--font-weight-bold); letter-spacing: 0.14em; text-transform: uppercase;
      background: var(--pdv-button-book-bg); color: var(--pdv-button-book-txt);
      border: none; padding: 17px 20px; cursor: pointer; margin-top:2px;
      transition: background 0.2s; white-space: nowrap;
    }
    .bb-submit:hover { background: var(--pdv-button-book-bg-hover); color:var(--pdv-button-book-txt-hover); }
    .bb-submit.bookBtn { font-size: 0.75rem; background: #FFFFFF; color: var(--pdv-gold); padding: 14px 20px; border:1px var(--pdv-gold) solid; }
    .bb-submit.bookBtn:hover { background: #999999; color: #FFFFFF; }
    #site-header.header--compact .bb-submit.bookBtn { padding: 10px 16px; }

    /* ══ FOOTER ═════════════════════════════════════════════════════════════ */
    #footerSection { position:relative; width:100%; background-color:var(--pdv-footer-bg); color:var(--pdv-footer-txt); padding-bottom:2rem; }
    .footerWrap { position:relative; width:96%; max-width:1360px; padding:3.5rem 0 2rem 0; column-gap:5%; text-align:left; align-items:flex-start; }
    .ftColLf { width:25%; margin-right:auto; }
    .ftColMd { flex-grow:1; }
    .ftColRg { width:30%; margin-left:auto; }
    .ftLogo { width:85%; margin-top:6px; margin-bottom:18px; font-size:1.5em; font-weight:var(--font-weight-bold); }
    .ftLogo img { max-with:100%; }
    .footer-desc { font-size:0.95em; line-height:1.5em; color:#666666; }
    .footer-nv { width:100%; column-gap:20px; row-gap:20px; align-items:flex-start; }
    .footer-nv-col { width:50%; }
    /* masonry style for menu group more than 2 */
    .footerWrap.msonry .ftColLf { width:35%; }
    .footerWrap.msonry .ftColMd { flex-grow:1; }
    .footerWrap.msonry .ftColRg { width:40%; }
    .footerWrap.msonry .footer-nv {
      --cols: 2;                    /* default. Override with style="--cols:N" */
      column-count: var(--cols);    /* browser fills col 1 top→bottom, then col 2 … */
      column-gap: var(--pdv-ftnav-gap);
    }
    .footerWrap.msonry .footer-nv-col {
      break-inside:          avoid;   /* never split a group across columns   */
      -webkit-column-break-inside: avoid;
      display:               inline-block;  /* break-inside compat            */
      width:                 100%;    /* fill column width                    */
      margin-bottom:         var(--pdv-ftnav-gap);  /* vertical spacing between groups */
    }
    .footerWrap.msonry .footer-nv-col:last-child { margin-bottom: 0; }
    .footer-heading { font-weight:var(--font-weight-bold); font-size:1.2em; margin-bottom:11px; padding:7px 0; }
    ul.footer-links { list-style-type:none; font-family:var(--font-family-menu); font-weight:var(--font-weight-normal); }
    ul.footer-links>li { font-size:0.85em; text-transform:uppercase; padding:1px 0; }
    ul.footer-links>li a { color:var(--pdv-ftnav); }
    ul.footer-links>li a:hover { color:var(--pdv-ftnav-hover); }

    ul.footer-links>li a:hover {
      color: var(--pdv-ftnav-hover);
      padding-left: 0.05rem;
    }
    /* Subtle arrow on each link */
    ul.footer-links>li a::before {
      color: var(--pdv-ftnav-hover);
      opacity: 0;
      transform: translateX(-4px);
      transition: opacity 0.18s, transform 0.18s;
      flex-shrink: 0;
    }
    ul.footer-links>li a:hover::before {
      content: '›';
      opacity: 1;
      padding-right:3px;
    }

    ul.footer-icnnv { list-style-type:none; }
    .footer-scmd { display:flex; justify-content:flex-start; align-items:center; padding:5px 0; gap:5px; }
    .footer-badge { display:flex; justify-content:flex-start; align-items:center; padding:5px 0; gap:5px; }
    .footer-bottom { position:relative; width:96%; max-width:1360px; font-size:0.95em; }
    .footer-bottom label { font-family:var(--font-family-menu); }
    a.scrlTop { z-index:90; display:none; position:fixed; bottom:3%; right:2%; width:40px; height:40px; background:url('../../i/icons/icn-top.png') no-repeat center center; opacity:0.5; transition: all 0.5s; }
    a.scrlTop:hover { opacity:1.0; }
    a.byPandava { color:var(--pdv-ink); }

    /* ══ SECTION COMMONS ════════════════════════════════════════════════════ */
    .lf { text-align:left; }
    .section-pad { padding: 5rem 0; }
    .container { width:96%; max-width:1360px; margin: 0 auto; padding: 0; }
    .container.fll { width:100%; max-width:none; }
    .container.norm { min-height:30vh; flex-direction:column; padding:9rem 0 4rem 0; }
    .section-header { position:relative; width:90%; }
    .section-header.lf { text-align:left; margin-right:auto; width:80%; }
    .section-eyebrow {
      font-size: 0.6rem; letter-spacing: 0.28em; text-transform: uppercase;
      color: var(--muted); margin-bottom: 0.6rem;
    }
    .section-title { 
      position:relative; font-size: clamp(1.8rem, 2.4vw, 2.4rem); font-weight: var(--font-weight-bold);
      line-height: 1.15;
    }
    h1.section-title { font-size: clamp(2.2rem, 2.6vw, 2.8rem); line-height:2.8rem; margin-bottom:1rem; }
    h1.section-title.mid { font-size:2.25rem; margin-bottom:0.8rem; }
    h1.section-title.big { font-size:8.0rem; line-height:0.7; margin-bottom:0.8rem; }
    h1.section-title.notfound { background-color:#DDDDDD; padding:25px 15px 20px 15px; border-radius:10px; margin:10px 0 20px 0; }
    h2.section-title { font-size: clamp(1.6rem, 1.8vw, 2.2rem); line-height:1.2; margin-bottom:1.5rem; }
    h2.section-title.fold { font-weight:var(--font-weight-normal); }
    h3.section-title { font-size: clamp(1.4rem, 1.5vw, 2.2rem); }
    h4.section-title { font-size: clamp(1.2rem, 1.4vw, 1.8rem); }
    h5.section-title { font-size: clamp(1.1rem, 1.3vw, 1.8rem); }
    label.section-title { display:block; font-size:1.3rem; margin-bottom:5px; }
    .section-title.cntr, .section-title.left { padding-bottom:15px; margin-bottom:20px; }
    .section-title.cntr::after, .section-title.left::after { content:''; position:absolute; bottom:0; left:0; right:0; margin:auto; width:35px; height:6px; border-radius:2px; background-color:var(--pdv-gold); }
    .section-title.left::after { left:0; right:auto; }

    .section-label { 
      display:block;font-size:.7em;letter-spacing:.28em;text-transform:uppercase;
      color:var(--pdv-gold);margin-bottom:.08rem;margin-left:3px;display:block;
    }
    .section-content { position:relative; }
    .section-rule {
      width: 36px; height: 2px; background: var(--pdv-gold);
      margin: 1rem 0;
    }
    .section-rule--center { margin: 1rem auto; }
    .section-sub {
      color: var(--pdv-body-txt2); padding:3px; max-width:680px;
    }
    .section-header.lf .section-sub { max-width:none; }
    .text-center { text-align: center; }
    .text-center .section-sub { margin: 0 auto; }
    .content-label {font-size:.6em;letter-spacing:.2em;line-height:1.5em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem;}
    .content-value {}
    /* nav link */
    .col-links { position:relative; z-index:10; display:flex; width:100%; justify-content:flex-start; align-items:center; }
    .col-links *:last-child { margin-left:auto; }
    .col-links *:first-child { margin-left:0; }
    .col-links a { text-transform: uppercase; font-size: 0.78rem; font-weight: var(--font-weight-medium); letter-spacing: 0.12em; }
    .a-link {
      font-size: 0.78rem; font-weight: var(--font-weight-medium); letter-spacing: 0.12em;
      text-transform: uppercase; color: var(--pdv-ink);
      display: inline-flex; align-items: center; gap: 0.4rem; justify-content:center;
      transition: gap 0.2s;
    }
    .lf .a-link { justify-content:flex-start; }
    .a-link:hover { gap: 0.7rem; color:var(--pdv-gold); }
    .a-link::after { content: '→'; }
    .a-link.dark { color: var(--pdv-ink);}
    .a-link.book { color:var(--pdv-gold); }
    .a-link.book:hover { color:var(--pdv-ink); }
    .a-link.shade { color:var(--pdv-gold); font-weight:var(--font-weight-bold); }
    .a-link.shade:hover { color:var(--pdv-white); }

    /* prevent GPU antialising in parallax slide reveal div */
    [data-reveal] {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      transform: translateZ(0);
    }

    /* ══ Carousel region: arrows sit on left/right, dots below ══════════════ */

    /* Wrapper that arrows are positioned relative to.
       Each clip-wrap (collection/testi/blog) sits inside this.           */
    .carousel-region {
      position: relative;
      margin-top: 2.5rem;
    }

    /* Arrow buttons — absolute on left and right, vertically centred       */
    .c-arrow {
      position: absolute;
      top: 50%; transform: translateY(-50%);
      z-index: 3;
      width: 25px; height: 50px;
      /*background: var(--pdv-slide-arrow-bg);
      border: 1px solid rgba(0,0,0,0.13);
      box-shadow: 0 2px 14px rgba(0,0,0,0.1);*/
      background: none; box-shadow: none; border: none;
      cursor: pointer; padding-bottom:15px;
      display: flex; align-items: center; justify-content: center;
      font-size: 2.6em; line-height: 2.6em; color: var(--pdv-slide-arrow-label); 
      /*transition: background 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;*/
      transition: opacity 0.2s;
      user-select: none; opacity:0.6;
    }
    .c-arrow--prev { left:  -30px; }
    .c-arrow--next { right: -30px; }
    .c-arrow:hover { 
      /*background: var(--pdv-gold); color: var(--white);
      border-color: var(--pdv-gold);
      box-shadow: 0 4px 20px rgba(201,168,76,0.28);*/
      background: none; box-shadow: none; border: none;
      opacity:1;
    }
    .c-arrow:disabled { opacity: 0.2; pointer-events: none; }
    /* Dot strip — centred below .carousel-region as a sibling div             */
    .carousel-dots {
      z-index:1; position:relative; display: flex; align-items: center; justify-content: center;
      gap: 0.45rem; margin-top: 1.5rem;
    }
    .c-dot {
      height: 8px; width: 8px; border-radius: 4px;
      background: rgba(0,0,0,0.15); border: none; cursor: pointer; padding: 0;
      transition: background 0.35s, width 0.35s;
    }
    .c-dot.active { background: var(--pdv-slide-dots-active); width: 24px; }

    .carousel-clip { overflow: hidden; }
    .carousel-track {
      display: flex;
      transition: transform 0.55s cubic-bezier(0.4,0,0.2,1);
      /* No will-change:transform — that permanently creates a stacking context
         which breaks pointer-events on child <a> elements. The transition
         handles temporary GPU layer promotion during animation only.        */
      user-select: none;      /* prevent text selection while dragging       */
      touch-action: pan-y;    /* allow vertical scroll, handle horizontal    */
    }

    /* ══ HERO CAROUSEL ══════════════════════════════════════════════════════ */
    .hero {
      position: relative;
      height: 92vh; min-height: 580px;
      overflow: hidden;
    }
    .hero.preview { height: 80vh; }
    .hero-track {
      display: flex; height: 100%;
      transition: transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);
      will-change: transform;
    }
    .hero-slide {
      flex: 0 0 100%; height: 100%;
      position: relative;
    }
    /* ── FADE mode (data-anim="fade") ── */
    /* JS adds .hero-track--fade class when data-anim="fade" is detected  */
    .hero-track--fade {
      display: block;           /* override flex — slides stack via position:absolute */
      position: relative;
      height: 100%;
    }
    .hero-track--fade .hero-slide {
      position: absolute; inset: 0;
      flex: none;               /* reset flex sizing */
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.95s ease;
      z-index: 0;
    }
    .hero-track--fade .hero-slide.is-active {
      opacity: 1;
      pointer-events: auto;
      z-index: 1;
    }
    /* Content inside fade slides needs explicit z-index above the bg */
    .hero-track--fade .hero-content { z-index: 3; }
    .hero-slide-bg, .hero-slide-preview-bg {
      position: absolute; inset: 0;
      background-size: cover; background-position: center;
    }
    .hero-slide-bg::after {
      z-index:1;
      content: '';
      position: absolute; inset: 0;
      background: linear-gradient(
        105deg,
        rgba(0,0,0,0.62) 0%,
        rgba(0,0,0,0.28) 55%,
        rgba(0,0,0,0.08) 100%
      );
    }
    .hero-content {
      position: absolute; bottom: 28%; left: 7%; text-align:left;
      z-index: 2; width:37%;
    }
    .hero-tag {
      font-size: 0.62em; letter-spacing: 0.3em; text-transform: uppercase;
      color: var(--pdv-gold); margin-bottom: 0; margin-left:5px; font-weight:var(--font-weight-bold);
    }
    .hero-title {
      font-size: clamp(2.4rem, 6vw, 3.6rem);
      font-weight: 300; color: var(--pdv-white); line-height: .9em; margin-bottom:10px;
    }
    .hero-title strong { font-weight: 700; }
    .hero-sub {
      margin-top: 20px;
      font-size: 1.1em; color: rgba(255,255,255,0.72);
      font-weight: 300; /*width: 90%;*/ line-height: 1.4em;
    }
    /* Hero arrows */
    .hero-arrows {
      position: absolute; bottom: 23%; left: 6.7%;
      display: flex; gap: 0.2rem; z-index: 3;
    }
    .hero-arrow {
      border:0;
      background: none; color: var(--pdv-white); border-radius:5px;
      cursor: pointer; font-size: 2.2rem; font-weight:bold; line-height:1.2rem; padding:4px 5px 8px 5px;
      display: flex; align-items: center; justify-content: center;
      transition: background 0.2s, border-color 0.2s;
    }
    .hero-arrow:hover { background: var(--pdv-gold); border-color: var(--pdv-gold); }
    /* Hero dots */
    .hero-dots {
      position: absolute; bottom: 4.5rem; left: 50%; transform: translateX(-50%);
      display: flex; gap: 0.5rem; z-index: 3;
    }
    .hero-dot {
      width: 6px; height: 6px; border-radius: 50%;
      background: var(--pdv-slide-dots); border: none; cursor: pointer;
      transition: background 0.3s, transform 0.3s; opacity:0.6;
    }
    button.hero-dot { padding:0 !important; }
    button.hero-dot:hover { background: var(--pdv-slide-dots); opacity:1.0; }
    .hero-dot.active { background: var(--pdv-slide-dots-active); transform: scale(1.3); opacity:1.0; }
    .hero-dot.active:hover { background: var(--pdv-slide-dots-active); }

    /* ══ HERO TEXT HEADER ═══════════════════════════════════════════════════ */
    .hero-header { background: var(--pdv-body-shade-bg); padding:10rem 0 6rem 0; min-height:25vh; }
    .hero-header-wrap { position:relative; width:100%; display:flex; justify-content:flex-start; align-items:flex-start; gap:5rem; text-align:left; }
    .hero-header-wrap.slim { max-width:1090px; }
    .hero-header-wrap.center { justify-content:center; text-align:center; }
    .hero-header-wrap.plain { margin-bottom:4rem; max-width:1000px; } 
    .hero-header-body { position:relative; width:60%; }
    .hero-header-wrap.slim .hero-header-body { width:100%; }
    .hero-header-wrap.center .hero-header-body { width:70%; }
    .hero-header-body p { color:var(--grey); }
    .hero-header-wrap.center .hero-header-body p { max-width:700px; margin:auto; }
    .hero-header-side { width:23%; margin-left:auto; margin-top:3.6rem; }
    .hero-header-wrap.slim .hero-header-side { width:45%; }
    .hero-header-crumb { display:flex; font-size:0.9em; align-items:center; gap:0.4rem; margin-bottom:0.3rem; text-transform:uppercase; }
    .hero-header-wrap.center .hero-header-crumb { justify-content:center; }
    .hero-header-crumb>span { padding:4px 5px 2px 5px; }
    .hero-header-crumb a { color:var(--pdv-gold); padding-top:5px; font-weight:var(--font-weight-medium); }
    .hero-header-crumb label { padding-top:5px; }
    h1.hero-header-title { font-size:3.6em; line-height:1em; font-weight:var(--font-weight-normal); margin-bottom:1.5rem; }
    .hero-header-title.content { margin-bottom:0.7rem; }

    /* ══ HERO FULL COLUMN HEADER ═══════════════════════════════════════════════════ */
    .hero-cols-header { padding:5rem 0 6rem 0; min-height:25vh; }
    .hero-cols-header-wrap { width:100%; display:flex; justify-content:flex-end; align-items:center; gap:3rem; text-align:left; }
    .hero-cols-header-text { position:relative; width:40%; padding-right:3rem; }
    .hero-cols-header-pic { position:relative; width:45%; padding-bottom:2.8rem; }
    .hero-cols-header-pic::after { content:''; position:absolute; bottom:0; left:0; width:80%; padding-bottom:60%; border-radius:30px; background:#f4f4f4; }
    .hero-cols-img { z-index:1; position:relative; width:90%; padding-bottom:90%; margin-left:auto; border-radius:0 0 0 15px; overflow:hidden; background:#FFFFFF; }

    /* ══ DISCOVER SECTION ═══════════════════════════════════════════════════ */
    .discover { background: var(--pdv-body-shade-bg); padding:8rem 0 5rem 0; }
    .discover-grid {
      display: grid;
      /*grid-template-columns: 1.15fr 1fr 0.85fr;*/
      grid-template-columns: 1fr 1.15fr 1.15fr;
      grid-template-rows: auto auto;
      gap: 1rem;
      margin-top: 2.5rem;
    }
    .disc-card {
      position: relative; overflow: hidden; border-radius: 20px;background-color:#000000;
      cursor: pointer;
    }
    .disc-card img {
      width: 100%; height: 100%; object-fit: cover;
      transition: all 0.6s ease;opacity:0.9;
    }
    .disc-card:hover img { transform: scale(1.05);opacity:1; }
    .disc-card--tall { grid-row: span 2; min-height: 420px; }
    .disc-card--medium { min-height: 200px; }
    .disc-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(to bottom, rgba(0,0,0,0.72) 0%, transparent 55%);
      display: flex; flex-direction: column; justify-content: flex-start; text-align:left;
      padding: 1.8rem;
    }
    .disc-overlay:hover { background: linear-gradient(to bottom, rgba(0,0,0,10) 20%, transparent 100%); }
    .disc-tag {
      font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase;
      color: var(--pdv-gold); margin-bottom: 5px; margin-left:2px; font-weight:var(--font-weight-bold);
    }
    .disc-card h3 {
      position:relative; font-size: 1.5em; font-weight: 600; color: var(--pdv-white);
      line-height: 1.25em; padding-bottom:4px; margin-bottom:20px;
    }
    .disc-card:hover h3::after { content:''; position:absolute; width:17px; height:2px; background-color:var(--pdv-gold); left:0; bottom:0; opacity:0; transition: opacity 0.3s ease-in; }
    .disc-card p {
      font-size: 0.95em; color: var(--pdv-body-bgtxt);
      line-height: 1.3em; opacity:0;
      /*display: -webkit-box; -webkit-line-clamp: 2;*/
      -webkit-box-orient: vertical; overflow: hidden; transition: opacity 0.4s ease-in;
    }
    .disc-card a { opacity:0; transition: opacity 0.4s ease-in; }
    .disc-card:hover p, .disc-card:hover a { opacity:1.0; }
    .disc-card:hover h3::after { opacity:1; }

    /* ══ OUR COLLECTION ═════════════════════════════════════════════════════ */
    .collection { background:url('../../i/bg/header-dots-2.png') no-repeat top center; padding: 7rem 0; }
    .collection .c-arrow { color:#FFFFFF; }
    .collection .c-arrow--prev { left:  10px; }
    .collection .c-arrow--next { right: 10px; }
    .collection-carousel-wrap { 
      position: relative; overflow: hidden; /* margin-top on .carousel-region */
      padding: 1rem 0 1.2rem 0;
    }
    /* The blog wrap also clips its track — controls are outside it, so fine */
    .collection-track {
      display: flex; gap:.3rem;
      transition: transform 0.6s cubic-bezier(0.4,0,0.2,1);
      will-change: transform;
    }
    .hotel-card {
      position:relative;
      flex: 0 0 calc(25% - 0.2rem);
      background: var(--pdv-white);
      box-shadow: 0 2px 16px rgba(0,0,0,0.14);
      transition: box-shadow 0.3s, transform 0.3s;
    }
    .hotel-card:hover { box-shadow: 0 5px 18px rgba(0,0,0,0.3); transform: translateY(-3px); }
    .hotel-card-img {
      width:100%; padding-bottom:120%; overflow: hidden; position:relative;
    }
    .hotel-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
    .hotel-card:hover .hotel-card-img img { transform: scale(1.05); }
    .hotel-card-body { padding: 1.2rem 1.4rem 1.4rem; }
    .hotel-card-name {
      font-size: 1.5em; font-weight:var(--font-weight-bold); margin-bottom: 0.3rem;
    }
    .hotel-card-loc {
      font-size: 0.76em; letter-spacing: 0.15em; text-transform: uppercase; color: var(--pdv-gold); font-weight:var(--font-weight-medium);
      display: flex; align-items: center; gap: 0.1rem; margin-bottom: 1rem; margin-left:-2px;
    }
    .hotel-card-loc i.icLnk { opacity:0.7; }
    .hotel-card-loc svg { width: 11px; height: 11px; color: var(--pdv-gold); }

    /* ══ CTA BANNER ═════════════════════════════════════════════════════════ */
    .cta-banner {
      position: relative; padding: 6.3rem 0; text-align: center; overflow: hidden;
    }
    .cta-banner.stay {
      position: relative;
      padding: 4rem 0;
      text-align: center;
      background-size: cover;
      background-position: center;
      background-attachment: fixed;   /* ← image pinned to viewport; box scrolls over it */
    }
    .cta-banner.stay::after {
      content: '';
      position: absolute; inset: 0;
      background: rgba(0,0,0,0.52);
      z-index: 0;
    }
    .cta-bg {
      position: absolute; inset: 0; 
      background-size: cover; background-position: center;
      data-parallax-speed: "0.2";
    }
    .cta-bg::after {
      content: ''; position: absolute; inset: 0;
      background: rgba(0,0,0,0.52);
    }
    .cta-content { display:flex; justify-content:center; align-items:center; flex-direction:column; position: relative; z-index: 1; width:90%; max-width:500px; margin:auto; color: var(--pdv-white); gap:2rem; }
    .cta-content.cols { justify-content:flex-start; flex-direction:row; text-align:left; max-width:900px; margin-right:auto; margin-left:10%; }
    .cta-col-text { display:flex; flex-direction:column; row-gap:0.8rem; }
    .cta-content.cols .cta-col-text { width:65%; }
    .cta-pre {
      font-size: clamp(2rem, 2vw, 3.2rem);
      font-weight: var(--font-weight-light); color: rgba(255,255,255,0.75);
      text-decoration: line-through; text-decoration-color: rgba(255,255,255,0.35);
    }
    .cta-main {
      font-size: clamp(2.4rem, 3vw, 4rem);
      font-weight: var(--font-weight-light); 
      display: block; line-height: 1.0;
    }
    .cta-btn {
      display: inline-block;
      font-size: 0.68rem; font-weight: var(--font-weight-bold);
      letter-spacing: 0.14em; text-transform: uppercase;
      background: var(--pdv-button-book-bg); color: var(--pdv-button-book-txt) !important;
      border: none; padding: 0.8rem 2.0rem; cursor: pointer; border-radius:5px;
      transition: background 0.2s;
    }
    .cta-btn:hover { background: var(--pdv-button-book-bg-hover); color: var(--pdv-button-book-txt-hover); }

    /* ══ TESTIMONIALS ═══════════════════════════════════════════════════════ */
    .testimonials { background:url('../../i/bg/header-dots-3.png') no-repeat top center; padding: 2.5rem 0 2rem 0; }
    .testimonials .carousel-bx { position: relative; padding: 0.5rem 0 4rem 0; margin-top:3rem; }
    .testimonials .carousel-bx::before { z-index:0; content:''; position:absolute; height:100%; left:8%; right:8%; top:0; bottom:0; border-radius:20px; background:#f8f8f8; }
    .testi-carousel-wrap { z-index:1;position: relative; overflow: hidden; padding-bottom: 1.2rem; /* margin-top on .carousel-region */ }
    .testi-track {
       position:relative;
      display: flex; gap: 1.5rem; 
      transition: transform 0.6s cubic-bezier(0.4,0,0.2,1);
      will-change: transform;
    }
    .testi-card {
      position:relative;
      flex: 0 0 calc(50% - 0.75rem);
      display: flex; background: var(--pdv-white);
      border: 1px solid rgba(0,0,0,0.07);
      box-shadow: 0 2px 20px rgba(0,0,0,0.05); justify-content:flex-start; align-items:center;
      padding: 2.5rem 3.2rem; border-radius:18px; text-align:left;
    }
    .testi-area { position:relative; display:flex; justify-content:flex-start; align-items:flex-start; column-gap:1.8rem; }
    .testi-bx { position:relative; }
    .testi-quote-icon {
      position:absolute; top:0; left:-25px;
      font-size: 8rem; line-height: 1; color: var(--pdv-gold);
      margin-bottom: 0.5rem; opacity: 0.7;
    }
    .testi-text {
      font-size: 1.05em; line-height: 1.5em;
      color: var(--slate); margin-bottom: 1.4rem;
    }
    .testi-author { display: flex; align-items: flex-start; flex-direction:column; }
    .testi-avatar {
      width: 100px; height: 100px; border-radius: 50%;
      object-fit: cover; flex-shrink: 0;
    }
    .testi-name {
      font-weight:var(--font-weight-bold); font-size: 1.1em; color: var(--pdv-ink); text-align:left;
    }
    .testi-role { font-size: 0.8em; color: var(--muted); margin-top: 5px; text-align:left; }

    /* ══ ROOMS CARDS ════════════════════════════════════════════════════════ */
    .rooms { padding: 5.5rem 0; }
    .room-carousel-wrap { position: relative; overflow: hidden; padding:0.5rem 0.8rem 2rem 0.8rem; /* margin-top on .carousel-region */ }
    .room-track {
      display: flex; gap: 34px;
      transition: transform 0.6s cubic-bezier(0.4,0,0.2,1);
      /*will-change: transform;*/
    }
    .room-track a {
      pointer-events: auto !important;
      position: relative;
      z-index: 1;
    }
    .room-card {
      flex: 0 0 calc(33.333% - 24px);
      background: var(--white);
      box-shadow: 0 2px 14px rgba(0,0,0,0.07);
      transition: box-shadow 0.3s, transform 0.3s;
      position: relative; border-radius:18px; overflow:hidden;
    }
    .room-card:hover { box-shadow: 0 2px 16px rgba(0,0,0,0.13); transform: translateY(-3px); }
    .room-card-img {
      position: relative; padding-bottom:70%; overflow: hidden;
    }
    .room-card-img img {
      width: 100%; height: 100%; object-fit: cover;
      transition: transform 0.6s ease;
    }
    .room-card:hover .room-card-img img { transform: scale(1.05); }
    .room-price-badge {
      display:inline-block;
      z-index:1; position: absolute; bottom: 0.9rem; left:1.8rem; margin:auto;
      background: rgba(255,255,255,0.8); border-radius:10px;
      padding: 0.5rem 1rem;
      font-weight: var(--font-weight-medium);
    }
    .room-card-body { padding: 1.3rem 1.8rem 1.5rem 1.8rem; }
    .room-card-name {
      font-size: 1.5em; font-weight: var(--font-weight-bold);
      margin-bottom: 0.2rem; 
    }
    .room-card-meta {
      display: flex; gap: 1.5rem; margin-bottom: 1rem;
    }
    .room-meta-item {
      display: flex; align-items: center; gap: 0.15rem;
      font-size: 0.9em; line-height:1em; color: var(--muted);
    }
    .room-meta-item svg { width: 13px; height: 13px; flex-shrink: 0; }

    /* ══ ROOMS LIST ════════════════════════════════════════════════════════ */
    .rooms-list { padding:6.5rem 0 3rem 0; }
    .rooms-row { border-top:1px #DDDDDD solid; padding:2.5rem 0; display:flex; justify-content:flex-start; align-items:center; column-gap:4rem; text-align:left; }
    .rooms-row:first-child { border-top:0; }
    .rooms-thumbn { position:relative; width:35%; padding-bottom:23%; border-radius:10px; overflow:hidden; background-color:#EEEEEE; }
    .rooms-col { position:relative; display:flex; width:65%; justify-content:flex-start; align-items:flex-start; column-gap:3rem; }
    .rooms-brief { width:58%; }
    .rooms-brief p { color:var(--muted); margin-bottom:25px; }
    .rooms-spek { width:30%; padding:1rem 0; }

    .view-all-btn {
      display: block; width: fit-content;
      margin: 2.5rem auto 0;
      font-size: 0.68rem; font-weight: 600;
      letter-spacing: 0.14em; text-transform: uppercase;
      border: 1px solid var(--pdv-ink); color: var(--pdv-ink);
      padding: 0.75rem 2.2rem; cursor: pointer;
      background: none; transition: background 0.2s, color 0.2s;
    }
    .view-all-btn:hover { background: var(--pdv-ink); color: var(--white); }

    /* ══ FAQ ════════════════════════════════════════════════════════════════ */
    ul.faq-list { list-style-type:none; max-width:800px; }
    ul.faq-list>li { position:relative; border-bottom:1px #DDDDDD solid; padding:5px 0 5px 24px; }
    ul.faq-list>li>i.icLnk { position:absolute; left:-5px; top:2px; transition: transform 0.3s ease; }
    .faq-question { text-transform: uppercase; cursor:pointer; }
    .faq-answer { display:none; margin-top:5px; }
    ul.faq-list>li.read .faq-question { font-weight:bold; }
    ul.faq-list>li.read .faq-answer { display:block; }
    ul.faq-list>li.read>i.icLnk { transform: rotate(90deg);  }
    /* foot faq */
    .foot-faq { background: var(--pdv-body-shade-bg2); padding:4rem 0 2rem 0; }

    /* ══ LATEST UPDATES ═════════════════════════════════════════════════════ */
    .latest { background:url('../../i/bg/header-dots-1.png') no-repeat top center; padding: 6rem 0; }
    .blog { padding: 8rem 0 8rem 0; }
    .blog-carousel-wrap { position: relative; overflow: hidden; /* margin-top on .carousel-region */ }
    .blog-wrap { position: relative; display: flex; gap: 2.5rem;
      transition: transform 0.6s cubic-bezier(0.4,0,0.2,1);
      will-change: transform; flex-wrap: wrap; justify-content: center; 
    }
    .blog-track {
      display: flex; gap: 1.25rem; justify-content: center;
      transition: transform 0.6s cubic-bezier(0.4,0,0.2,1);
      will-change: transform;
    }
    .blog-card {
      position:relative;
      z-index:0;
      flex: 0 0 calc(24% - 0.15rem);
      position: relative; overflow: hidden;
      font-size: 0.95em; line-height:1.4em; border-radius:18px;
    }
    .blog-card.list { flex: 0 0 calc(30% - 0.15rem); }
    .blog-card-img {
      /*height: 340px;*/ position: relative; width:100%; padding-bottom:150%; overflow: hidden;
    }
    .blog-card-img img {
      width: 100%; height: 100%; object-fit: cover;
      transition: transform 0.6s ease;
    }
    .blog-card:hover .blog-card-img img { transform: scale(1.06); }
    .blog-card-body { position: absolute; padding: 1.2rem 0 0; color:var(--pdv-body-bgtxt); }
    .blog-date {
      font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase;
      color: var(--pdv-gold); margin-bottom: 5px; font-weight:var(--font-weight-bold);
    }
    .blog-card h4 {
      font-size: 1.2rem; line-height: 1.2; font-weight:var(--font-weight-bold);
    }
    .blog-card a { color:#FFFFFF; opacity:0.8; }
    .blog-card a:hover { opacity:1.0; }
    /* Card with overlay title (like the 3rd card in mockup) */
    /*.blog-card--overlay .blog-card-body { display: none; }*/
    .blog-card--overlay .blog-card-img {  }
    .blog-overlay-label {
      z-index:1; position: absolute; bottom:0; inset: 0; color:var(--pdv-body-bgtxt);
      background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 55%);
      display: flex; flex-direction: column; justify-content: flex-end;
      padding: 1.4rem; 
    }
    .blog-desc { opacity:0; display:none; transition: opacity 0.5s, display 0.1s allow-discrete; }
    .blog-desc p { margin-bottom:1.5rem; line-height:1.3em; }
    .blog-overlay-label:hover .blog-desc { opacity:1; display:block; }
    @starting-style {
      .blog-overlay-label:hover .blog-desc {
        opacity: 0;
      }
    }
    .blog-overlay-label:hover { background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, transparent 95%); }
    .blog-overlay-label h4 {
      font-size: 1.5em; line-height: 1.1; font-weight:var(--font-weight-bold);
    }
    /* .blog-carousel-nav removed — controls now unified below track */
    .more-btn {
      display: block; width: fit-content; margin: 2.5rem auto 0;
      font-size: 0.68rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
      border: var(--pdv-button-more-border); 
      padding: 0.75rem 2.2rem; cursor: pointer; color: #333333;
      transition: background 0.2s, color 0.2s;
      background: none;
    }
    .more-btn:hover { background: var(--pdv-button-more-bg-hover); }

    /* ══ GALLERY ════════════════════════════════════════════════════════════ */
    #gallery { position:relative; padding: 7rem 0 3.5rem 0; }
    .gallery-item { position:relative; }
    /* the rest of gallery slide styling is in color-gallery.css */

    /* ══ MEETING ════════════════════════════════════════════════════════════ */
    #meeting { position:relative; padding: 4rem 0 6.5rem 0; }
    .meeting-wrap { padding-top:2rem; }

    /* ══ WEDDING ════════════════════════════════════════════════════════════ */
    #wedding { position:relative; padding:9rem 0 6rem 0; }

    /* ══ OFFERS CARD ════════════════════════════════════════════════════════ */
    .offers { padding: 8rem 0 5.5rem 0; }
    .offers-wrap { position: relative; display: flex; gap: 2rem; 
      transition: transform 0.6s cubic-bezier(0.4,0,0.2,1);
      will-change: transform; flex-wrap: wrap; justify-content: center; 
    }
    .offers-carousel-wrap { position: relative; overflow: hidden; padding:0.5rem 0.8rem 2rem 0.8rem; /* margin-top on .carousel-region */ }
    .offers-track {
      display: flex; gap: 34px; justify-content: center;
      transition: transform 0.6s cubic-bezier(0.4,0,0.2,1);
      will-change: transform;
    }
    .offers-card {
      flex: 0 0 calc(33.333% - 24px);
      background: var(--white);
      box-shadow: 0 2px 14px rgba(0,0,0,0.07);
      transition: box-shadow 0.3s, transform 0.3s;
      position: relative; border-radius:18px; overflow:hidden;
    }
    .offers-card.lf { text-align:left; }
    .offers-card:hover { box-shadow: 0 2px 16px rgba(0,0,0,0.13); transform: translateY(-3px); }
    .offers-card-img {
      position: relative; padding-bottom:70%; overflow: hidden; background:var(--pdv-plcholder-bg);
    }
    .offers-card-img img {
      width: 100%; height: 100%; object-fit: cover;
      transition: transform 0.6s ease;
    }
    .offers-card:hover .offers-card-img img { transform: scale(1.05); }
    .offers-card-body { position:relative; padding: 1.3rem 1.8rem 1.5rem 1.8rem; height:250px; display:flex; flex-direction:column; }
    .offers-card-name {
      font-size: 1.4em; line-height:1.5rem; font-weight: var(--font-weight-bold);
      margin-bottom: 0.2rem; 
    }
    .offers-card-brief { 
      padding:0.5rem 0.3rem; color:var(--muted); font-size:0.95em; line-height:1.2em; 
      border-top:1px #e4e4e4 solid; border-bottom:1px #e4e4e4 solid; margin:0.8rem 0;
    }
    .offers-card-brief ul>li { padding:3px 0; }
    .offers-card-body a.a-link { margin-top:auto; }
    .offers-card.wedding .offers-card-body { height:300px; }
    .other-content { padding: 5.5rem 0; }

    /* ══ WELCOME ════════════════════════════════════════════════════════════ */
    .welcome { padding:10rem 0 2.5rem 0; }
    .welcome.meeting { padding:8rem 0 6rem 0; border-bottom:1px #ddd dashed; }
    .welcome.single { padding:2rem 0 6rem 0; background: linear-gradient(to top, rgba(208,177,87, .15) 0%, transparent 55%); }
    .welcome-wrap { position:relative; max-width:1200px; display:flex; justify-content:flex-start; align-items:flex-start; column-gap:5rem; }
    .welcome-wrap.home { padding-bottom:11rem; }
    .welcome.single .welcome-wrap { align-items:center; padding-bottom:0; }
    .welcome-pic-bx { width:48%; }
    .welcome-pic-float { position:absolute; bottom:0; width:100%; left:38%; display:flex; justify-content:flex-start; align-items:center; gap:4rem; }
    .welcome-pic { position:relative; border-radius:18px; overflow:hidden; }
    .welcome-pic .imgFrame { z-index:0; }
    .welcome-pic-caption { z-index:1; position:absolute; left:20px; bottom:20px; color:#FFFFFF; font-weight:var(--font-weight-bold); opacity:0.8; }
    .single-img { z-index:1; width:100%; padding-bottom:90%; }
    .main-img { z-index:1; width:100%; padding-bottom:115%; }
    .second-img { z-index:2; width:25%; padding-bottom:28%; }
    .third-img { z-index:3; width:30%; padding-bottom:18%; }
    .welcome-body { position:relative; width:50%; margin-top:1.8rem; }
    /* Stats row */
    .about-stats {
      display: flex; gap: 3rem; margin-bottom: 1.8rem;
    }
    .about-links { margin-top:1.3rem; }
    .about-stat-num {
      display:flex; align-items:flex-end; font-size: 3.8em; font-weight:var(--font-weight-light); line-height: 1; margin-bottom:1.2rem;
    }
    .about-stat-num span {
      font-size: 1.2rem; font-weight: var(--font-weight-light);
      margin-left: 0.5rem;
      padding-bottom: 10px;
      color: var(--pdv-ink);
    }
    .about-stat-label {
      font-size: 0.72rem; color: var(--muted); margin-top: 0.3rem;
    }
    .about-text .section-title { margin-bottom: 1rem; }
    .about-text p {
      font-size: 0.9rem; color: var(--slate);
      line-height: 1.85; margin-bottom: 1.5rem;
    }
    .about-text p strong { color: var(--pdv-ink); font-weight: 600; }

    /* ══ ACCORDION ROW ══════════════════════════════════════════════════════ */
    .explorer-accordion{
      padding:5rem 4rem 5rem 4.5rem;
      display:flex;flex-direction:column;
      justify-content:center;
    }
    .expl-header{margin-bottom:3rem;}

    .acc-item{
      position:relative;
      border-top:1px dashed rgba(0,0,0,.3);
      cursor:pointer;
      transition:background .2s;
    }
    .acc-item:last-child{border-bottom:0;}

    /* Trigger row */
    .acc-trigger{
      display:flex;align-items:center;gap:1.2rem;
      padding:0.6rem 0;
      user-select:none;
    }

    /* Icon pill — changes colour when open */
    .acc-icon-wrap{
      width:34px;height:34px;flex-shrink:0;
      background:rgba(0,0,0,.05);
      border:1px solid rgba(0,0,0,.2);border-radius:50%;
      display:flex;align-items:center;justify-content:center;
      transition:background .3s,border-color .3s;
    }
    .acc-item.open .acc-icon-wrap{background:var(--pdv-gold);border-color:var(--pdv-gold);}
    .acc-icon-wrap svg{width:18px;height:18px;color:var(--muted);transition:color .3s;}
    .acc-item.open .acc-icon-wrap svg{color:var(--white);}

    /* Text block */
    .acc-trigger-text{flex:1;}
    .acc-kicker{font-size:.54rem;letter-spacing:.24em;text-transform:uppercase;color:var(--pdv-gold);margin-bottom:.3rem;transition:opacity .3s;}
    .acc-item:not(.open) .acc-kicker{opacity:.5;}
    .acc-headline{font-size:1.25em;font-weight:600;transition:color .3s;}
    .acc-item.open .acc-headline{color:var(--ink);}

    /* Animated chevron */
    .acc-chevron{
      width:18px;height:18px;flex-shrink:0;
      border:0 solid rgba(0,0,0,.12);border-radius:50%;
      display:flex;align-items:center;justify-content:center;
      transition:background .3s,border-color .3s,transform .4s cubic-bezier(.4,0,.2,1);
    }
    .acc-item.open .acc-chevron{
      /*background:rgba(201,168,76,.15);*/border-color:rgba(201,168,76,.3);
      transform:rotate(180deg);
    }
    .acc-chevron svg{width:10px;height:10px;color:rgba(0,0,0,.15);transition:color .3s;}
    .acc-item.open .acc-chevron svg{color:var(--pdv-gold);}

    /* Panel body */
    .acc-panel{
      max-height:0;overflow:hidden;
      transition:max-height .5s cubic-bezier(.4,0,.2,1);
    }
    .acc-item.open .acc-panel{max-height:400px;}
    .acc-panel-inner{
      padding:0 0 .5rem 2.3rem; /* indent to align with text */
      border-left:2px solid var(--pdv-gold);
      margin-left:1.0rem; /* centres under icon */
    }
    .acc-body{margin-bottom:1.0rem;}

    /* Feature tags inside panel */
    .acc-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.2rem;}
    .acc-tag{
      font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;
      border:1px solid rgba(255,255,255,.12);
      color:rgba(255,255,255,.38);padding:.2rem .65rem;
    }

    /* Stat row inside panel */
    .acc-stats{display:flex;gap:1.5rem;}
    .acc-stat-val{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:600;color:var(--pdv-gold);line-height:1;}
    .acc-stat-label{font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-top:.2rem;}
    .acc-more{
      display:inline-flex;align-items:center;gap:.35rem;margin-top:1.2rem;
      font-size:.6rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
      color:var(--pdv-gold);transition:gap .2s;
    }
    .acc-more:hover{gap:.6rem;}
    .acc-more::after{content:'→';}

    /* ══ NUMBERS ROW ════════════════════════════════════════════════════════ */
    .numbers-row{
      background:var(--pdv-gold);
      display:grid;grid-template-columns:repeat(5,1fr);
    }
    .nr-item{
      padding:2.5rem 2rem;text-align:center;
      border-right:1px solid rgba(0,0,0,.1);
    }
    .nr-item:last-child{border-right:none;}
    .nr-num{font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:700;color:var(--ink);line-height:1;}
    .nr-label{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(0,0,0,.5);margin-top:.35rem;}

    /* ══ EXPERIENCE ═════════════════════════════════════════════════════════ */
    .experience { padding: 8rem 0 5.5rem 0; }
    .experience-card { display:flex; justify-content:center; align-items:center; gap:3em; padding:1rem 0; font-weight:var(--font-weight-light); }
    .experience-card-img { position:relative; width:50%; padding-bottom:30%; border-radius:0 15px 15px 0; overflow:hidden; }
    .experience-card-body { position:relative; width:50%; text-align:left; padding:1rem 9rem 1rem 0.7rem; }
    h2.experience-card-name { font-size:2.0em; font-weight:var(--font-weight-light); }
    .experience-card-brief { color:var(--muted); margin-top:1.2rem;  }
    /* even row swap */
    .experience-card:nth-child(even) { flex-direction: row-reverse; }
    .experience-card:nth-child(even) .experience-card-img { border-radius:15px 0 0 15px; }
    .experience-card:nth-child(even) .experience-card-body { padding:1rem 0.5rem 1rem 8rem; }
    .experience-tag {
      font-size: 0.8em; letter-spacing: 0.3em; text-transform: uppercase;
      color: var(--pdv-gold); margin-bottom: 0; margin-left:2px; font-weight:var(--font-weight-bold);
    }
    ul.experience-icons { position:relative; list-style-type:none; margin-top:1.3rem; }
    ul.experience-icons>li { display:flex; justify-content:flex-start; align-items:flex-start; column-gap:10px; font-size:0.95em; padding:1px 0; }
    ul.experience-icons>li>label:first-child { font-size:0.98em; color:var(--pdv-gold); }

    /* ══ FAQ ════════════════════════════════════════════════════════════════ */
    .faq { padding: 8rem 0 5.5rem 0; }
    /* ── SEARCH ── */
    .faq-search-wrap {
      /*border-bottom: 1px solid rgba(0,0,0,.07);*/
      padding: 0.8rem 2.5rem 0rem 2.5rem;
      position: sticky; top: 0; z-index: 50;
    }
    .faq-search-inner {
      max-width: 640px; margin: 0 auto;
      position: relative; display: flex; align-items: center;
    }
    .faq-search-icon {
      position: absolute; left: 1rem;
      width: 16px; height: 16px; color: var(--muted);
      pointer-events: none;
    }
    #faqSearch {
      width: 100%; padding: .75rem 3rem .75rem 2.8rem;
      border: 0; outline: none;
      border-bottom: 1px solid #EEEEEE;
      font-size: 1.1em; color: var(--pdv-ink); border-radius:30px;
      background: #F9F9F9; transition: border-color .2s;
    }
    #faqSearch:focus { background-color:#F0F0F0; }
    #faqSearch::placeholder { color: var(--muted); }
    .faq-search-clear {
      position: absolute; right: 1rem;
      background: none; border:1px transparent solid; cursor: pointer;
      color: var(--muted); font-size: 0.9em; line-height: 0.9em;
      display: none; padding:4px;
    }
    .faq-search-clear:hover { color: var(--pdv-gold); background: none; font-weight:bold; }

    /* Search result count */
    .faq-result-count {
      text-align: center; font-size: .75rem; color: var(--muted);
      margin-top: .75rem; min-height: 1.1em;
    }

    /* ── FAQ LAYOUT ── */
    .faq-page {
      max-width: 900px; margin: 0 auto;
      padding: 2rem 2.5rem 0;
    }

    /* ── TOPIC NAV (sidebar shortcut) ── */
    .faq-topic-nav {
      display: flex; flex-wrap: wrap; gap: .5rem;
      margin-bottom: 3rem;
    }
    .faq-topic-btn {
      font-size: .62rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase;
      background: var(--white); border: 1px solid rgba(0,0,0,.1); color: var(--muted);
      padding: .4rem 1rem; border-radius: 100px; cursor: pointer; transition: all .2s;
    }
    .faq-topic-btn:hover { border-color: var(--pdv-gold); color: var(--pdv-gold); }
    .faq-topic-btn.active { background: var(--pdv-gold); border-color: var(--pdv-gold); color: var(--white); }

    /* ── TOPIC GROUP ── */
    .faq-group {
      margin-bottom: 3rem;
    }
    .faq-group-header {
      position:relative; display: flex; align-items: center; gap: 0.3rem; padding:0 10px;
      margin-bottom: 1.2rem; border-bottom:1px #E0E0E0 dashed;
    }
    .faq-group-icon {
      width: 36px; height: 36px; flex-shrink: 0;
      background: var(--pdv-gold); color: var(--white);
      display: flex; align-items: center; justify-content: center;
      font-size: 1rem;
    }
    .faq-group-title {
      font-size: 1.4rem; font-weight: 600; color: var(--pdv-ink);
    }
    .faq-group-count {
      font-size: .65rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase;
      color: var(--muted); margin-left: auto;
    }

    /* ── ACCORDION ITEM ── */
    .faq-item {
      position:relative;
      border-left: 2px solid transparent;
      margin-bottom: 2px;
      text-align:left;
      transition: border-color .25s;
    }
    .faq-item.is-open {
      border-left-color: var(--pdv-gold);
    }
    .faq-item.is-hidden {
      display: none;   /* filtered out by search */
    }
    /* Highlight matched search text */
    .faq-item mark {
      background: var(--pdv-gold); color: inherit; border-radius: 2px;
    }

    /* Question button */
    .faq-q { outline: none; border-radius:0 5px 5px 0;
      width: 100%; text-align: left;
      display: flex; align-items: center; gap: 1rem;
      padding: 0.7rem 0.6rem;
      background: none; border: none; cursor: pointer;
      transition: background .15s;
    }
    .faq-q:hover { background: rgba(0,0,0,.05); }
    .faq-q-text { 
      flex: 1; font-size:1.1em; color:var(--pdv-body-txt); font-weight:var(--font-weight-normal);
      text-align: left;
    }
    .faq-item.is-open .faq-q { background: rgba(0,0,0,.08); }
    .faq-item.is-open .faq-q-text { color: var(--pdv-gold); font-weight:var(--font-weight-bold); }
    .faq-q-tag {
      font-size: 0.8em; letter-spacing: 0.3em; text-transform: uppercase;
      color: var(--pdv-gold); margin-bottom: auto; margin-left:2px; font-weight:var(--font-weight-bold);
    }

    /* Expand/retract icon — animated + SVG */
    .faq-icon {
      flex-shrink: 0; width: 22px; height: 22px;
      border: 1px solid rgba(0,0,0,.15); border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      transition: background .25s, border-color .25s, transform .35s cubic-bezier(.4,0,.2,1);
      color: var(--muted);
    }
    .faq-icon svg {
      width: 10px; height: 10px;
      transition: transform .35s cubic-bezier(.4,0,.2,1);
    }
    .faq-item.is-open .faq-icon {
      background: var(--pdv-gold); border-color: var(--pdv-gold); color: var(--white);
    }
    .faq-item.is-open .faq-icon svg {
      transform: rotate(180deg);
    }

    /* Answer panel — height-animated */
    .faq-a-wrap {
      overflow: hidden;
      max-height: 0;
      transition: max-height .4s cubic-bezier(.4,0,.2,1);
    }
    .faq-item.is-open .faq-a-wrap {
      max-height: 600px;   /* large enough for any answer */
    }
    .faq-a {
      padding: 0.6rem 0.4rem 1.0rem 0.4rem;
      padding-left: calc(1.0rem);    align with question text */
      color: var(--muted);
    }
    .faq-a p + p { margin-top: .8rem; }
    .faq-a ul { padding-left: 1.2rem; margin-top: .5rem; }
    .faq-a ul li { margin-bottom: .35rem; }
    .faq-a strong { color: var(--pdv-ink); font-weight: 600; }
    .faq-a a { color: var(--pdv-gold); border-bottom: 1px solid rgba(201,168,76,.3); transition: border-color .2s; }
    .faq-a a:hover { border-color: var(--pdv-gold); }

    /* Divider between answer and next question */
    .faq-item + .faq-item { border-top: 1px solid rgba(0,0,0,.05); }

    /* ── NO RESULTS ── */
    .faq-no-results {
      text-align: center; padding: 4rem 2rem; display: none;
    }
    .faq-no-results.visible { display: block; }
    .faq-no-results h3 {
      font-family: 'Cormorant Garamond', serif; font-size: 1.6rem;
      color: var(--muted); margin-bottom: .5rem;
    }
    .faq-no-results p { font-size: .88rem; color: var(--muted); }

    /* ── CONTACT CTA ── */
    .faq-cta {
      background: var(--dark); margin: 0 -2.5rem;
      padding: 4rem 2.5rem; text-align: center;
      margin-top: 4rem;
    }
    .faq-cta h3 {
      font-size: 1.8rem; font-weight: 300; color: var(--white); margin-bottom: .5rem;
    }
    .faq-cta h3 em { font-style: italic; font-weight: 600; }
    .faq-cta p { font-size: .88rem; color: rgba(255,255,255,.5); margin-bottom: 1.8rem; }
    .faq-cta-btns { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
    .faq-cta-btn {
      font-size: .68rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
      padding: .8rem 2rem; border: none; cursor: pointer; transition: all .2s;
    }
    .faq-cta-btn--primary { background: var(--pdv-gold); color: var(--white); }
    .faq-cta-btn--primary:hover { background: var(--pdv-gold-l); }
    .faq-cta-btn--ghost { background: none; border: 1px solid rgba(255,255,255,.3); color: rgba(255,255,255,.8); }
    .faq-cta-btn--ghost:hover { border-color: var(--pdv-gold); color: var(--pdv-gold); }

    /* ══ BASIC CONTENT ══════════════════════════════════════════════════════ */
    .header-content { position:relative; }
    .content-body { padding:6.5rem 0 6rem 0; }
    .content-body ul, .content-body ol { list-style-position:outside; margin-left:15px; }
    .content-body-wrap { max-width:1090px; display:flex; justify-content:flex-start; align-items:flex-start; flex-direction:column; gap:3rem; text-align:left; }
    .content-body-block { position:relative; padding:0.8rem 0; }
    .content-body-block h2 { font-size:1.8em; line-height:1.2em; margin-bottom:1.0rem; }
    .content-body-block h3 { font-size:1.5em; line-height:1.2em; margin-bottom:1.0rem; }
    .content-body-block h4 { font-size:1.3em; line-height:1.1em; margin-bottom:1.0rem; }
    .content-body-block h5 { font-size:1.2em; line-height:1.1em; margin-bottom:1.0rem; }
    .content-body-icons { 
      width:100%;
      display:grid; grid-template-rows: 140px;
      grid-auto-rows: 140px;
      grid-template-columns: repeat(auto-fill, minmax(20%, 1fr));
    }
    .content-body-brief { margin-bottom:1.3rem; }
    .icons-cell { border-right:1px #999999 solid; padding:0.3rem 1.3rem; display:flex; justify-content:center; align-items:center; flex-direction:column; text-align:center; line-height:1.2em; row-gap:7px; }
    .icons-cell:nth-child(-n+5) { border-bottom:1px #999999 solid; }
    .icons-cell:nth-child(5n) { border-right:0; }
    .icons-cell>label { min-height:35px; display:flex; align-items:center; } 
    .content-body-hilight { position:relative; width:100%; background-color: var(--pdv-body-shade-bg2); display:flex; column-gap:1rem; min-height:100px; margin-bottom:1.5rem; }
    .hilight-img { position:relative; width:50%; min-height:350px; flex-grow:1; }
    .hilight-text { width:50%; padding:2.2rem 2.6rem; }
    .content-booking-panel { display:flex; justify-content:flex-start; align-items:center; margin:1rem 1.5rem; gap:1.8rem; }
    .content-booking-panel .booking-bar-title { width:auto !important; }
    .content-booking-panel .booking-bar-title h4 { font-size:1.6em; line-height:1.1em; }
    /* button links */
    .bb-link { 
      display:inline-flex; min-width:12rem; height:48px; padding:0 1.5rem; border-radius:10px; column-gap:0.1rem; 
      justify-content:flex-start; align-items:center; color:#FFFFFF; 
      font-size:0.85em; line-height:1em; font-weight:var(--font-weight-bold);
      transition: background-color 0.3s;
    }
    .bb-link.book-now { color:#FFFFFF; background:var(--pdv-gold); } 
    .bb-link.whatsapp-now { color:#FFFFFF; background:var(--pdv-wa-green); }
    .bb-link:hover { color:#FFFFFF; background-color: #666666; }

    /* ══ READ CONTENT ═══════════════════════════════════════════════════════ */
    .reading-body { padding:9rem 0 7rem 0; }
    h1.reading-title { font-size:3.0em; line-height:1.1em; font-weight:var(--font-weight-normal); margin-bottom:1.2rem; }
    h2.reading-subtitle { font-size:1.8em; line-height:1.2em; font-weight:var(--font-weight-medium); margin-bottom:1.0rem; }
    p.brief { font-style:italic; }
    .reading-wrap { position:relative; max-width:1090px; text-align:left; }
    .reading-wrap.content-read { max-width:900px; text-align:justify; }
    .reading-image-wrap { max-width:1200px; padding:1rem 0 2rem 0; }
    .reading-image { position:relative; width:100%; padding-bottom:50%; overflow:hidden; border-radius:10px; background:#DDDDDD; }
    .reading-wrap header { margin-bottom:1rem; padding-bottom:.4rem; border-bottom:2px #DDDDDD dashed; }
    .reading-wrap header h1.reading-title { margin-bottom:.1rem; }
    .reading-wrap header p { font-size:1.2rem; font-weight:var(--font-weight-middle); }
    .content-body-block label, .content-body-block pre { display:table; background-color:#EEEEEE; padding:5px 8px; margin:1.3rem 0; border-left:4px #999999 solid; border-radius:4px; }
    
    /* ══ WEBPAGES ═══════════════════════════════════════════════════════════ */
    .webpage-body { padding:5rem 0 6rem 0; }

    /* ══ CONTACT ════════════════════════════════════════════════════════════ */
    .contact-layout {
      display:grid; text-align:left; max-width:1090px;
      grid-template-columns:.9fr 1.1fr;
      gap:0;
      min-height:calc(100vh - 44vh);
    }
    .contact-layout .section-title { margin-bottom:1.5rem; }
    /* ── LEFT PANEL ──────────────────────────────────────────────────── */
    .contact-left {
      padding:7rem 4rem 5rem 0;
      border-right:var(--pdv-column-ln);
    }
    /* Address block */
    .address-block{
      display:flex;gap:1.2rem;align-items:flex-start;
      margin-bottom:2.0rem;
      padding-bottom:1.5rem;
      border-bottom:var(--pdv-block-ln);
    }
    .address-icon{
      width:30px;height:30px;flex-shrink:0;
      background:rgba(201,168,76,.08);
      border:1px solid rgba(201,168,76,.5); border-radius:50%;
      display:flex;align-items:center;justify-content:center;
    }
    .address-icon svg{width:18px;height:18px;color:var(--pdv-gold);}
    .address-value strong{font-weight:var(--font-weight-bold);display:block;margin-bottom:.5rem;font-size:1.2em;}
    /* Contact methods */
    .contact-methods{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;}
    .contact-method{
      display:flex;align-items:center;gap:1rem;
      padding:0.5rem 1.0rem;border-radius:15px;
      border:1px solid var(--pdv-box-line);
      transition:border-color .2s,box-shadow .2s;
      text-decoration:none;color:var(--black);
    }
    .contact-method:hover{border-color:var(--pdv-gold);box-shadow:0 2px 16px rgba(201,168,76,.1);}
    .contact-method .content-label {margin-top:5px;margin-bottom:3px;}
    .contact-method .content-value {line-height:1em;}
    .method-icon{
      width:40px;height:40px;flex-shrink:0;border-radius:50%;
      display:flex;align-items:center;justify-content:center;
      font-size:1.1rem;
    }
    .method-icon.email{background:rgba(66,133,244,.08);color:#4285f4;}
    .method-icon.whatsapp{background:rgba(37,211,102,.08);color:#25d366;}
    .method-icon.phone{background:rgba(201,168,76,.08);color:var(--pdv-gold);}
    .method-arrow{margin-left:auto;color:var(--muted);font-size:.8rem;transition:transform .2s,color .2s;}
    .contact-method:hover .method-arrow{transform:translateX(4px);color:var(--pdv-gold);}
    /* Hours */
    .hours-block{margin-top:1.2rem;margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--pdv-border);}
    .hours-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(0,0,0,.05);}
    .hours-row:last-child{border-bottom:none;}
    .hours-day{color:var(--pdv-ink);}
    .hours-time{font-size:.95em;font-weight:500;color:var(--pdv-ink);}
    .hours-badge{
      font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;
      background:rgba(201,168,76,.12);color:var(--pdv-gold-d);
      padding:.15rem .5rem;
    }
    /* ── RIGHT PANEL ─────────────────────────────────────────────────── */
    .contact-right{
      padding:7rem 0 5rem 4rem;
      display:flex;flex-direction:column;gap:3rem;
    }
    /* Map */
    .map-block {border-bottom:var(--pdv-block-ln);margin-bottom:0;padding-bottom:1.5rem;}
    .map-wrap{
      position:relative;
      width:100%;
      aspect-ratio:4/3;
      overflow:hidden;
    }
    .map-wrap iframe{
      width:100%;height:100%;border:none;display:block;
    }
    .map-overlay-btn, a.map-overlay-btn{
      position:relative;
      font-size:.62rem;font-weight:600;letter-spacing:.14em;line-height:0.6em;text-transform:uppercase;
      background:var(--pdv-gold);color:var(--white);
      border:none;padding:.5rem .5rem;cursor:pointer;
      transition:background .2s;
      display:flex;align-items:center;gap:.4rem;
    }
    .map-overlay-btn:hover, a.map-overlay-btn:hover{background:#EEE; color:var(--pdv-ink);}
    .map-overlay-btn svg{width:12px;height:12px;}
    /* How to get there */
    .direction-block{padding:0;margin:0;}
    .directions-tabs{display:flex;gap:.5rem;margin-bottom:1.2rem;flex-wrap:wrap;}
    .dir-tab{
      font-size:.62rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
      border:1px solid var(--pdv-box-line);background:none;cursor:pointer;
      padding:.45rem .8rem;color:var(--muted);
      transition:all .2s;display:flex;align-items:center;gap:.4rem;
    }
    .dir-tab svg{width:14px;height:14px;}
    .dir-tab:hover{border-color:var(--pdv-gold);color:var(--pdv-gold);}
    .dir-tab.active{background:var(--pdv-gold);border-color:var(--pdv-gold);color:var(--white);}
    .dir-panel{display:none;}
    .dir-panel.active{display:block;}
    /* Step list */
    .steps, .steps>ul {display:flex;flex-direction:column;gap:0;}
    .steps>ul {list-style-type:none;counter-reset: custom-counter;}
    .step {
      display:flex;gap:1.0rem;align-items:flex-start;
      padding:.9rem 0;
      border-bottom:1px solid #DDDDDD;
      position:relative;
    }
    .steps>ul>li {
      padding:.3rem 0 .9rem 45px;
      border-bottom:1px solid #DDDDDD;
      position:relative;
      margin-bottom:1rem;
    }
    .steps>ul>li::before {
      position:absolute;left:0;top:0;
      counter-increment: custom-counter; /* Increment the counter by 1 */
      content: counter(custom-counter) ". "; /* Display the counter number */
      width:32px;height:32px;flex-shrink:0;
      background:#DDDDDD;border-radius:50%;
      font-size:.8em;font-weight:var(--font-weight-bold);
      display:flex;align-items:center;justify-content:center;
    }
    .step:last-child, .steps>ul>li:last-child {border-bottom:none;}
    /* Connecting line between step numbers */
    .step:not(:last-child) .step-num::after, .steps>ul>li:not(:last-child) .step-num::after {
      content:'';
      position:absolute;
      left:19px;top:calc(1.2rem + 32px);
      width:1px;height:calc(100% - 32px);
      background:rgba(201,168,76,.25);
    }
    .step-num{
      width:32px;height:32px;flex-shrink:0;
      background:#DDDDDD;border-radius:50%;
      font-size:.8em;font-weight:var(--font-weight-bold);
      display:flex;align-items:center;justify-content:center;
      position:relative;
    }
    .step-content{}
    .step-title, .steps>ul>li h6{font-weight:var(--font-weight-medium);font-size:1em;margin-bottom:.3rem;}
    .step-desc, .steps>ul>li p{font-size:.9em;color:var(--muted);line-height:1.5em;}
    .step-tag, .steps>ul>li span.marker{
      display:inline-block;margin-top:.05rem;
      font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;
      border:1px solid var(--pdv-box-line);color:var(--pdv-ink);
      padding:.02rem .45rem;
    }

    /* ══ CORPORATE CONTACT SECTION ════════════════════════════════════════ */
    .corporate-section{
      padding:2rem 0;
      max-width:1090px;
      margin-top:4rem;
    }
    .corporate-grid{
      display:grid;
      grid-template-columns:1.1fr 1fr 1fr;
      gap:0;
      border:1px solid rgba(0,0,0,.08);
      text-align:left;
      background: linear-gradient(to top, rgba(208,177,87, .10) 0%, transparent 100%);border-radius:10px;
    }
    .corp-block{
      padding:1.2rem 1.6rem;
      border-right:1px solid rgba(0,0,0,.1);
    }
    .corp-block:last-child{border-right:none;}
    .corp-block-label{
      font-size:.54rem;letter-spacing:.26em;text-transform:uppercase;
      color:var(--pdv-gold);margin-bottom:.6rem;
      display:flex;align-items:center;gap:.6rem;
    }
    .corp-block-label::after{content:'';flex:1;height:1px;background:rgba(0,0,0,.08);}

    /* Address block */
    .corp-name{
      font-size:1.4rem;font-weight:600;
      margin-bottom:.8rem;
    }
    .corp-address{}

    /* Contact method */
    .corp-methods{display:flex;flex-direction:column;gap:.7rem;}
    .corp-method{
      display:flex;align-items:center;gap:.8rem;
    }
    .corp-method-icon{
      width:34px;height:34px;flex-shrink:0;
      display:flex;align-items:center;justify-content:center;
      background:rgba(201,168,76,.08);
      border:1px solid rgba(201,168,76,.15);
    }
    .corp-method-icon svg{width:14px;height:14px;color:var(--gold);}
    .corp-method-label{font-size:.52rem;letter-spacing:.16em;line-height:.9rem;text-transform:uppercase;color:rgba(0,0,0,.28);margin-bottom:.05rem;}
    .corp-method-val{font-size:.82rem;color:rgba(0,0,0,.65);font-weight:500;}
    .corp-method a{transition:color .2s;}
    .corp-method a:hover .corp-method-val{color:var(--gold);}

    /* Hours */
    .corp-hours{display:flex;flex-direction:column;gap:.55rem;}
    .corp-hour-row{
      display:flex;justify-content:space-between;align-items:center;
      padding:.15rem 0;
      border-bottom:1px solid rgba(0,0,0,.04);
    }
    .corp-hour-row:last-child{border-bottom:none;}
    .corp-hour-day{font-size:.75rem;color:rgba(0,0,0,.5);}
    .corp-hour-time{font-size:.75rem;font-weight:500;color:rgba(0,0,0,.6);}

    /* ══ HOTELS SECTION ═══════════════════════════════════════════ */
    .hotels-section{padding:1rem 0 6rem;max-width:1090px;}
    .hotels-header{
      display:flex;align-items:flex-end;justify-content:space-between;
      margin-bottom:.5rem;
    }

    /* Hotel card */
    .hotel-contact-card{
      border:1px solid rgba(0,0,0,.1);
      margin-bottom:1px;
      margin-top:2rem;
      transition:border-color .2s;
      text-align:left;border-radius:0 10px 10px 10px;
    }
    .hotel-contact-card:hover{border-color:rgba(201,168,76,.2);}

    /* Card top row — image + name + location (always visible) */
    .hcc-top{
      display:grid;
      grid-template-columns:350px 1fr;
      min-height:160px;
    }
    .hcc-img{
      position:relative;overflow:hidden;width:100%;padding-bottom:80%;
    }
    .hcc-img img{
      width:100%;height:100%;object-fit:cover;
      transition:transform .5s ease;display:block;
    }
    .hotel-contact-card:hover .hcc-img img{transform:scale(1.04);}
    .hcc-img-badge{
      position:absolute;top:.8rem;left:.8rem;
      font-size:.5rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
      background:var(--gold);padding:.18rem .65rem;
    }

    .hcc-info{
      padding:1.8rem 2.5rem;
      display:flex;flex-direction:column;justify-content:center;
    }
    .hcc-brand{font-size:.54rem;letter-spacing:.22em;text-transform:uppercase;color:var(--pdv-gold);margin-bottom:.3rem;}
    .hcc-name{font-size:1.4rem;font-weight:600;margin-bottom:1rem;}
    .hcc-location{display:flex;align-items:flex-start;gap:.5rem; max-width:400px;}
    .hcc-location svg{width:18px;height:18px;color:var(--pdv-gold);margin-top:2px;}
    .hcc-location span {width:90%;}

    /* Contact grid inside each card */
    .hcc-contacts{
      /*display:grid;
      grid-template-columns:350px 1fr 1fr;*/
      display:flex; justify-content:flex-start; align-items:center;
      border-top:1px solid rgba(0,0,0,.1);
    }
    .hcc-contact{
      padding:1rem 1rem 1rem 1rem;
      border-right:1px solid rgba(0,0,0,.1);
      display:flex;align-items:center;gap:.8rem;
      transition:background .15s;height:100%;
    }
    .hcc-contact:first-child{width:350px!important;}
    .hcc-contact:last-child{border-right:none;border-left:none;margin-left:auto;}
    .hcc-contact:hover{background:rgba(255,255,255,.02);}
    .hcc-contact-icon{
      width:30px;height:30px;flex-shrink:0;
      display:flex;align-items:center;justify-content:center;
    }
    .hcc-contact-icon svg{width:22px;height:22px;}
    .icon-pin{color:var(--pdv-gold);}
    .icon-mail{color:#4285f4;}
    .icon-wa{color:#25d366;}
    .icon-phone{color:var(--pdv-gold);}
    .hcc-contact-text{}
    .hcc-contact-label{font-size:.5rem;line-height:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pdv-gold);margin-bottom:.1rem;}
    .hcc-contact-val{color:var(--pdv-ink);line-height:1.45;}
    .hcc-contact a{transition:color .15s;}
    .hcc-contact a:hover .hcc-contact-val{color:var(--pdv-gold);}

    /* Page link at far right of each card */
    .hcc-page-link{
      display:flex;align-items:center;justify-content:flex-end;
      padding:0 2rem;
      border-left:1px solid rgba(0,0,0,.05);
    }
    .hcc-page-btn{
      font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
      border:1px solid rgba(0,0,0,.5);color:var(--pdv-ink);
      padding:.5rem 1.1rem;display:flex;align-items:center;gap:.4rem;
      transition:all .2s;background:none;cursor:pointer;white-space:nowrap;border-radius:5px;
    }
    .hcc-page-btn::after{content:'→';font-size:.7rem;}
    .hcc-page-btn:hover{border-color:var(--pdv-gold);color:var(--pdv-gold);}

    /* MOBILE MENU NAVIGATION */
    /* ── Hamburger button — hidden on desktop ─────────────────── */
    .nav-toggle{
      display:none;       /* shown via media query below */
      flex-direction:column;justify-content:center;align-items:center;
      gap:5px;
      width:40px;height:40px;
      background:none;border:none;cursor:pointer;
      padding:4px;flex-shrink:0;
    }
    .nav-toggle span{
      display:block;width:22px;height:2px;
      background:#333333;
      transition:transform .35s cubic-bezier(.4,0,.2,1),
                 opacity .25s,width .25s;
      transform-origin:center;
    }
    .nav-toggle:hover{background:transparent;}
    .nav-toggle:hover span{background:var(--pdv-gold);}
    /* X state when open */
    .nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
    .nav-toggle.open span:nth-child(2){opacity:0;width:0;}
    .nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

    /* ════════════════════════════════════════════════════════════════
		MOBILE NAV DRAWER
		Full-height panel slides in from the right.
		Contains an accordion version of the navigation.
		════════════════════════════════════════════════════════════════ */
		.mobile-nav{
			position:fixed;
			top:0;right:0;bottom:0;
			width:min(450px, 94vw);
			padding:1rem .5rem;
			z-index:1100;
			background:var(--white);
			transform:translateX(100%);
			transition:transform .38s cubic-bezier(.4,0,.2,1);
			display:flex;flex-direction:column;
			overflow-y:auto;
			box-shadow:-8px 0 40px rgba(0,0,0,.12);
		}

/* MOBILE SETUP */
.tagMobile { display:none; }
.mobileOnly { display:none !important; }
