/* Sidebar Drawer Animation & Hamburger Hide */
.sidebar-hamburger-hidden {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}
.sidebar-drawer-transition {
		transition: transform 0.2s cubic-bezier(.77,0,.18,1);
		transform: translateX(-100%);
}
.sidebar-drawer-open {
		transform: translateX(0);
}
/* Reference Sidebar Drawer Base (kept last versions of duplicates) */
.bg-sidebar { background: #415159; z-index: 1050; }
.sidebar-inner { color: var(--bg-light-site); font-family: 'Libre Bodoni', serif; padding: 3rem 2rem 2rem 2rem; }
.sidebar-close { background:none; border:none; font-family:'Libre Bodoni',serif; font-size:1.1rem; color:var(--bg-light-site); display:flex; align-items:center; margin-bottom:2.5rem; cursor:pointer; }
.sidebar-close-icon { font-size:2rem; margin-right:0.7rem; }
.sidebar-close-text { font-size:1.1rem; letter-spacing:0.1em; }
.sidebar-menu { list-style:none; padding:0; margin:0; }
.sidebar-menu-item { margin-bottom:0.3rem !important; }
.sidebar-link { font-family:'Libre Bodoni',sans-serif; font-size:2rem; color:var(--bg-light-site); background:none; padding:0.2rem 0.2rem !important; text-decoration:none; border:none; display:flex; align-items:center; transition:color 0.2s; cursor:pointer; }
.sidebar-link:hover { color:#FFF; }
.sidebar-arrow { font-size:1.5rem; margin-left:0.7rem; color:var(--bg-light-site); }
.sidebar-submenu { list-style:none; padding-left:2.2rem; margin:1.2rem 0; background:none; transition:max-height 0.35s cubic-bezier(.25,.8,.25,1); overflow:hidden; }
.sidebar-sublink { font-family:'Libre Bodoni',serif; font-size:1.5rem; color:var(--bg-light-site); display:block; transition:color 0.2s; text-decoration:none; }
.sidebar-sublink:hover { color:#FFF; }
@media (max-width:900px){ .sidebar-link{ font-size:2rem; } }
@media (max-width:600px){ .sidebar-inner{ padding:2rem 1rem 1rem; } .sidebar-link{ font-size:1.5rem; } .sidebar-sublink{ font-size:1rem; } }
/* Type utilities */
.bg-blush{ background-color:#415159; }
.text-earth{ color:var(--bg-light-site); }
.type-xs{ font-size:0.875rem; font-family:'Libre Franklin',sans-serif; font-weight:400; }
.type-lg{ font-size:1.5rem; font-family:'Libre Franklin',sans-serif; font-weight:400; }
.type-2xl{ font-size:2rem; font-family:'Libre Bodoni',serif; font-weight:700; }
@media (min-width:768px){ .type-2xl{ font-size:2.8125rem; } }
.fixed {
	position: fixed;
}
.inset-0 {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.z-50 {
	z-index: 50;
}
.w-full {
	width: 100%;
}
.lg\:w-1\/2 {
	width: 50%;
}
@media (max-width: 600px) {
	.lg\:w-1\/2 {
		width: 100% !important;
	}
}
@media (min-width: 1025px) {
	.lg\:w-1\/2 {
		width: fit-content !important;
	}
}
.overflow-auto {
	overflow: auto;
}
.h-screen {
	height: 100vh;
}
.relative {
	position: relative;
}
.px-8 {
	padding-left: 2rem;
	padding-right: 2rem;
}
.md\:px-15 {
	padding-left: 3.75rem;
	padding-right: 3.75rem;
}
.py-8 {
	padding-top: 2rem;
	padding-bottom: 2rem;
}
.md\:pb-15 {
	padding-bottom: 3.75rem;
}
.min-h-screen {
	min-height: 100vh;
}
.flex {
	display: flex;
}
.justify-center {
	justify-content: center;
}
.items-center {
	align-items: center;
}
/* utility spacing */
.mt-8 {
	margin-top: 2rem;
}
.block {
	display: block;
}
.mb-1 {
	margin-bottom: 0.25rem;
}
.last\:mb-0:last-child {
	margin-bottom: 0;
}
.ml-4 {
	margin-left: 1rem;
}
.mt-1 {
	margin-top: 0.25rem;
}
.mt-4 {
	margin-top: 1rem;
}
.mb-4 {
	margin-bottom: 1rem;
}
.ml-3 {
	margin-left: 0.75rem;
}
.md\:ml-6 {
	margin-left: 1.5rem;
}
.leading-normal {
	line-height: 1.2;
}
.submenu {
	transition: max-height 0.35s cubic-bezier(.25,.8,.25,1);
	overflow: hidden;
}

.testimonials { padding:3rem 1rem; text-align:center; }
.testimonials h2 { font-size:2.2rem; margin-bottom:2rem; color:#1d1d1d; }
.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; max-width:1200px; margin:0 auto; }
@media (max-width:900px){ .testimonials-grid{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .testimonials-grid{ grid-template-columns:1fr;} }
.testimonial-card { padding: 2rem 1rem 1.5rem 1rem; overflow:hidden; transition:transform 0.3s cubic-bezier(.25,.8,.25,1), box-shadow 0.3s cubic-bezier(.25,.8,.25,1); display:flex; flex-direction:column; align-items:center; }
/* circular video (keep last occurrence: 120px variant) */
.video-circle-container { position:relative; width:150px; height:150px; border-radius:50%; overflow:hidden; border:4px solid #657D87; box-shadow:0 2px 8px rgba(109,92,77,0.07); background:#fff; display:flex; align-items:center; justify-content:center; overflow:visible; }
.video-circle-container .video-thumb { width:100%; height:100%; object-fit:cover; border-radius:50%; display:block; }
.circle-play-btn { position:absolute; left:80px; bottom:0; background:none; border:none; padding:0; cursor:pointer; z-index:2; transition:transform 0.2s; }
.circle-play-btn svg { display:block; }
.circle-play-btn:focus { outline:2px solid #0077cc; }
.circle-play-btn:hover { transform:scale(1.08); }
.testimonial-content { text-align:center; margin-top:0.5rem; }
.client-name { font-size:1.1rem; letter-spacing:0.1em; color:#1a1a1a; margin:0.5rem 0 0.2rem; }
.client-role { font-size:1rem; color:#888; margin-bottom:0.7rem; }
.staff-name { font-size:1.1rem; letter-spacing:0.1em; color:#1a1a1a; margin:0.5rem 0 0.2rem; }
.staff-role { font-size:1rem; color:#888; margin-bottom:0.7rem; }
/* Removed earlier duplicate .drawer blocks; keeping final implementation below */
body {
	background: #f8f6f3;
	color: #6d5c4d;
/* (Earlier mid-file theme variants removed) */
	margin: 0 auto;
}
@media (max-width: 900px) {
	.testimonials-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 600px) {
	.testimonials-grid {
		grid-template-columns: 1fr;
	}
}

.video-circle-container .video-thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
	display: block;
}
.circle-play-btn {
	position: absolute;
	left: 105px;
	bottom: 0;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	z-index: 2;
	transition: transform 0.2s;
}
.circle-play-btn svg {
	display: block;
}
.circle-play-btn:focus {
	outline: 2px solid #0077cc;
}
.circle-play-btn:hover {
	transform: scale(1.08);
}
.testimonial-content {
	text-align: center;
	margin-top: 0.5rem;
}
.client-name {
	font-size: 1.3rem;
	font-weight: 600;
	color: #6d5c4d;
	margin-bottom: 0.2rem;
}
.client-role {
	font-size: 1.1rem;
	color: #a89c8a;
}
/* Drawer Navigation Styles */
.drawer {
	background: #657D87;
	color: #6d5c4d;
}
.drawer-menu > li,
.drawer-menu a,
.drawer-menu button.submenu-toggle {
	font-size: 2.2rem;
	color: #6d5c4d;
	background: none;
	border: none;
	padding: 0.7rem 0.5rem;
	border-radius: 0.4rem;
	transition: background 0.2s;
}
.drawer-menu a:hover,
.drawer-menu button.submenu-toggle:hover {
	background: #f8f6f3;
}
.drawer-menu .submenu li a {
	font-size: 1.3rem;
	color: #6d5c4d;
}
.drawer-close {
	font-size: 2rem;
	color: #6d5c4d;
	letter-spacing: 0.1em;
	background: none;
	border: none;
	padding: 1rem 1.2rem 0.5rem 1.2rem;
	align-self: flex-end;
	cursor: pointer;
}
.drawer-menu .submenu {
	background: none;
	margin-left: 0.5rem;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.35s cubic-bezier(.25,.8,.25,1);
}
.drawer-menu .submenu.open {
	max-height: 300px;
	padding-bottom: 0.5rem;
}
.drawer-menu .arrow {
	font-size: 1.5rem;
	color: #6d5c4d;
}
/* Responsive Drawer */
@media (max-width: 600px) {
	.drawer {
		width: 100vw;
		min-width: 180px;
		max-width: 100vw;
	}
}
/* Drawer Navigation Styles */
.drawer-hamburger {
	z-index: 0; /* Hamburger always behind drawer */
	background: transparent !important;
	border: none;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	border-radius: 2rem;
	box-shadow: none !important;
	cursor: pointer;
	font-size: 1rem;
	margin-left: 2rem;
	color: var(--bg-light-site);
}
.drawer-hamburger:focus {
	outline: none;
}
.hamburger-icon {
    display: flex;
    flex-direction: column;
    gap: 8px;         /* Increase gap for more space between bars */
    width: 40px;      /* Increase overall width */
    height: auto;     /* Set height to enclose bars with space */
    cursor: pointer;  /* Show pointer cursor on hover */
}

.hamburger-icon span {
    display: block;
    width: 100%;            /* Take full width of container */
    height: 2px;            /* Increase bar thickness */
    background: var(--bg-light-site);
    border-radius: 2px;     /* Slightly round corners */
    transition: background 0.2s;
}

.hamburger-text {
	color: var(--bg-light-site);
	font-family: 'Libre Bodoni, serif';
    font-size: 2rem;
    margin-left: 0.2rem;
}
.drawer {
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	width: fit-content;
	box-sizing: border-box;
	padding: 2rem 0;
	background: #415159;
	color: var(--bg-light-site);
	box-shadow: 2px 0 16px rgba(0,0,0,0.18);
		z-index: 2000; /* Drawer overlays all content */
		background: #415159; /* Solid color, no opacity */
	transform: translateX(-100%);
	transition: transform 0.35s cubic-bezier(.25,.8,.25,1);
	will-change: transform;
	display: flex;
	flex-direction: column;
}
.drawer.open {
	transform: translateX(0);
}
.drawer-close {
	background: none;
	border: none;
	color: #fff;
	font-size: 2rem;
	padding: 1rem 1.2rem 0.5rem 1.2rem;
	align-self: flex-end;
	cursor: pointer;
}
.drawer-menu {
	list-style: none;
	padding: 0 1.2rem;
	margin: 0;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.drawer-menu > li {
	margin: 0.5rem 0;
}
.drawer-menu a,
.drawer-menu button.submenu-toggle {
	color: #fff;
	text-decoration: none;
	font-size: 1.1rem;
	background: none;
	border: none;
	padding: 0.7rem 0.5rem;
	width: 100%;
	text-align: left;
	cursor: pointer;
	border-radius: 0.4rem;
	transition: background 0.2s;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.drawer-menu a:hover,
.drawer-menu button.submenu-toggle:hover {
	background: #333;
}
.arrow {
	font-size: 1.1rem;
	margin-left: 0.5rem;
}
.submenu {
	list-style: none;
	padding-left: 1.2rem;
	margin: 0.2rem 0 0.5rem 0;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.35s cubic-bezier(.25,.8,.25,1);
	background: none;
}
.submenu.open {
	max-height: 300px;
}
.submenu li a {
	font-size: 1rem;
	color: #eee;
	padding: 0.5rem 0;
}
@media (max-width: 600px) {
	.drawer {
		width: 85vw;
		min-width: 180px;
		max-width: 350px;
	}
	.drawer-hamburger {
		top: 0.7rem;
		left: 0.7rem;
		font-size: 0.95rem;
	}
}
body.drawer-open {
	overflow: hidden;
}
/* End Drawer Navigation Styles */
/* Existing CSS code above this line */
/* Testimonials Section */
.testimonials h2 {
	font-size: 2.2rem;
	margin-bottom: 2rem;
	color: #1d1d1d;
}
.testimonials-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	max-width: 1200px;
	margin: 0 auto;
}
@media (max-width: 900px) {
	.testimonials-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 600px) {
	.testimonials-grid {
		grid-template-columns: 1fr;
	}
}

.video-container {
	position: relative;
	width: 100%;
	max-width: 350px;
	aspect-ratio: 16/9;
	margin: 1.5rem auto 1rem auto;
	cursor: pointer;
	border-radius: 0.7rem;
	overflow: hidden;
	background: #000;
}
.video-thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: filter 0.3s;
}
.video-container:hover .video-thumb {
	filter: brightness(0.85);
}
.play-overlay {
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,0.25);
	transition: background 0.3s;
}
.video-container:hover .play-overlay {
	background: rgba(0,0,0,0.38);
}
.play-btn {
	font-size: 3rem;
	color: #fff;
	background: rgba(0,0,0,0.55);
	border-radius: 50%;
	padding: 0.5rem 1rem;
	box-shadow: 0 2px 8px rgba(0,0,0,0.18);
	transition: transform 0.2s;
}
.video-container:hover .play-btn {
	transform: scale(1.12);
}
.testimonial-content {
	padding: 1rem;
}
.client-name {
	font-size: 1.1rem;
	letter-spacing: 0.1em;
	color: var(--bg-light-site);
	margin: 0.5rem 0 0.2rem 0;
	color: #1a1a1a;
}
.client-role {
	font-size: 1rem;
	color: #888;
	margin-bottom: 0.7rem;
}
blockquote {
	font-size: 1.05rem;
	color: #333;
	font-style: italic;
	margin: 0;
	line-height: 1.5;
}
/* Smooth transitions */
.testimonial-card, .video-thumb, .play-overlay, .play-btn {
	will-change: transform, box-shadow, filter, background;
}
/* --- Force all sidebar drawer text and icon colors to var(--bg-light-site) --- */
.drawer,
.drawer * {
  color: var(--bg-light-site) !important;
}

/* --- Custom Scrollbar for Sidebar Drawer --- */
.bg-sidebar {
  overflow-y: scroll !important;
}
/* Chrome, Edge, Safari custom scrollbar for .drawer */
.bg-sidebar::-webkit-scrollbar {
  width: 4px;
}
.bg-sidebar::-webkit-scrollbar-thumb {
  background: var(--bg-light-site);
  border-radius: 4px;
}
.bg-sidebar::-webkit-scrollbar-track {
  background: #415159;
}

/* Gallery page */
.gallery-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 15px;
}

.gallery-item img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
  transition: transform 0.3s ease;
}

.gallery-item img:hover {
  transform: scale(1.05);
}

.caption {
  text-align: center;
  margin-top: 5px;
  font-size: 14px;
  color: #555;
}

/* Tablet (2–3 columns) */
@media (max-width: 1024px) {
  .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Small tablets / large phones (2 columns) */
@media (max-width: 768px) {
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile (1 column) */
@media (max-width: 480px) {
  .gallery-grid {
    grid-template-columns: 1fr;
  }
}

/* Base (optional if not already set) */
.hero-media { position:relative; }
.hero-img { width:100%; height:100vh; height:100dvh; object-fit:cover; display:block; }

/* Circular video thumbnail + play */
.hero-video-circle-container { position:relative; width:150px; height:150px; border-radius:50%; overflow:hidden; border:3px solid #657D87; background:#fff; display:flex; align-items:center; justify-content:center; }
.hero-video-circle-container .video-thumb { width:100%; height:100%; object-fit:cover; display:block; border-radius:50%; }
.hero-circle-play-btn { position:absolute; inset:0; border:none; background:transparent; padding:0; margin:0; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.hero-circle-play-btn svg { transition:transform .25s; }
.hero-circle-play-btn:hover svg { transform:scale(1.08); }

/* Hero highlight */
.hero-testimonial {
  position:absolute;
  z-index: 100;
  bottom:1rem;
  right:1rem;
  max-width:400px;
  padding:1rem;
  border-radius:24px;
  display:flex;
  align-items:center;
}
.hero-testimonial-avatar-wrap { display:flex; align-items:center; gap:0.95rem; }
.hero-testimonial-avatar { position:relative; width:84px; height:84px; flex-shrink:0; }
.hero-testimonial-avatar .video-thumb { filter:brightness(.95) contrast(1.05); }
.hero-testimonial-text { display:flex; flex-direction:column; gap:0.4rem; }
.hero-quote-inline { position:absolute; inset:auto 6px 6px 6px; display:block; color:#fff; font-weight:600; font-size:10px;  text-align:center; padding:4px 6px; border-radius:10px; pointer-events:none; }
.hero-testimonial-name { margin:0; font-size:.8rem; letter-spacing:.55px; font-weight:600; text-transform:uppercase;color: #f3f3f3; }
.hero-testimonial-role { font-weight:400; opacity:.8; font-size:.7rem; margin-left:4px; }
.hero-testimonial .circle-play-btn svg { width:42px; height:42px; }

/* Responsive */
@media (max-width:900px){
  .hero-testimonial { 
	bottom:0rem; 
	right:0rem; 
	max-width:340px;
	background: transparent;
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	backdrop-filter: none;
 }
  .hero-testimonial-avatar { width:74px; height:74px;  display: none;}
  .hero-quote-inline { font-size:10px; }
}
@media (max-width:640px){
   .hero-video-circle-container { width:120px; height:120px; }
   .hero-video-circle-container .video-thumb { border-radius:50%; }
  .hero-testimonial {
    left:auto; 
	right:19%;
    transform:translateX(50%);
    bottom:0rem;
    max-width:94%;
    justify-content:flex-start;
	background: transparent;
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	backdrop-filter: none;

  }
  .hero-testimonial-avatar { width:68px; height:68px; }
  .hero-quote-inline { font-size:9.5px; }
  .hero-testimonial .circle-play-btn svg { width:38px; height:38px; }
  .hero-circle-play-btn { left:calc(50% - 60px); bottom:-12px;  }
}
@media (max-width:430px){
  .hero-testimonial {
    bottom:calc(0rem + env(safe-area-inset-bottom));
    padding:.85rem .95rem .95rem .9rem;
    border-radius:20px;
    max-width:96%;
  }
  .hero-testimonial-avatar { width:60px; height:60px; }
  .hero-quote-inline { font-size:9px; }
  .hero-testimonial .circle-play-btn svg { width:34px; height:34px; }
}
@media (min-width:1600px){
  .hero-testimonial { bottom:3.2rem; right:1.8rem; max-width:420px; }
  .hero-testimonial-avatar { width:92px; height:92px; }
  .hero-quote-inline { font-size:11px; }
}

