@font-face {
	font-family: 'Futura PT';
	src: url('fonts/FuturaPTBook.woff2') format('woff2'),
		url('fonts/FuturaPTBook.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Futura PT Medium';
	src: url('fonts/FuturaPTMedium.woff2') format('woff2'),
		url('fonts/FuturaPTMedium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Adobe Caslon Pro';
	src: url('fonts/ACaslonPro-Regular.woff2') format('woff2'),
		url('fonts/ACaslonPro-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Adobe Caslon Pro Italic';
	src: url('fonts/ACaslonPro-Italic.woff2') format('woff2'),
		url('fonts/ACaslonPro-Italic.woff') format('woff');
	font-weight: normal;
	font-style: italic;
	font-display: swap;
}

:root {
	--color-bg-primary: #FFF8EF;      
	--color-bg-secondary: #FEF7EE;    
	--color-bg-canvas: #FFFFFF;       

	--color-text-primary: #111111;     
	--color-text-secondary: #4F4F4F;   
	--color-text-dark: #000000;        

	--color-accent-brown: #512E37;     
	--color-accent-olive: #B9BCAC;     
	--color-accent-teal: #293D3D;      

	--color-border-default: #D9D9D9;
	--color-disabled-gray: #858585;
	--color-border-placeholder: #C4C4C4;

	--font-primary: "Futura PT", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--font-primary-bold: "Futura PT Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--font-secondary: "Adobe Caslon Pro", Georgia, serif;
	--font-secondary-italic: "Adobe Caslon Pro Italic", Georgia, serif;

	--font-size-xs: 13px;
	--font-size-sm: 15px;
	--font-size-base: 16px;
	--font-size-md: 18px;
	--font-size-lg: 20px;
	--font-size-xl: 26px;
	--font-size-xxl: 40px;
	--font-size-display-1: 54px;
	--font-size-display-2: 120px;

	--line-height-xs: 17px;
	--line-height-sm: 21px;
	--line-height-base: 22px;
	--line-height-md: 18px;
	--line-height-lg: 25px;
	--line-height-xl: 34px;
	--line-height-xxl: 46px;
	--line-height-display-1: 63px;
	--line-height-display-2: 112px;

	--font-weight-light: 300;
	--font-weight-normal: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-bold: 700;

	--layout-canvas-width: 1280px;    
	--layout-grid-width: 1180px;      
	--layout-half-width: 644px;
	--reveal-duration: 1.8s;
	--reveal-slide-dist: 40px;
	--reveal-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

*:focus {
	outline: none;
}
*:focus-visible {
	outline: 2px solid var(--color-accent-brown);
	outline-offset: 4px;
}

.max-width-container {
	max-width: var(--layout-canvas-width);
	margin-inline: auto;
}

.about-main-title,
.team-main-title,
.events-main-title,
.media-main-title,
.centres-main-title,
.contact-main-title,
.projects-main-title,
.offering-main-title,
.offering-archive-title,
.resources-main-title {
	font-family: var(--font-primary);
	font-size: clamp(var(--font-size-xxl), 8vw + 1rem, var(--font-size-display-2));
	line-height: var(--line-height-display-2);
	color: var(--color-accent-brown);
	letter-spacing: -0.03em;
}

.events-main-title {
	margin-inline-start: -8px;
}

.about-main-title,
.team-main-title,
.events-main-title,
.media-main-title,
.centres-main-title,
.contact-main-title,
.projects-main-title,
.offering-main-title,
.offering-archive-title,
.resources-main-title {
	font-family: var(--font-primary);
	font-size: clamp(var(--font-size-xxl), 8vw + 1rem, var(--font-size-display-2));
	line-height: var(--line-height-display-2);
	color: var(--color-accent-brown);
	letter-spacing: -0.03em;
}

html, body {
	font-family: var(--font-primary);
	-webkit-font-smoothing: antialiased;
	background-color: var(--color-bg-primary);
	scroll-behavior: smooth;
}

a {
	color: var(--color-accent-brown);
}

html.lenis, 
html.lenis body {
	height: auto;
}

.lenis.lenis-smooth {
	scroll-behavior: auto !important;
}

.lenis.lenis-stopped {
	overflow: hidden;
}

.lenis.lenis-smooth [data-lenis-prevent] {
	overscroll-behavior: contain;
}

.hero-banner-section {
	height: 100vh;
	min-height: 500px;
	background-color: var(--color-text-primary);
}

.hero-slider-main {
	height: 100%;
	width: 100%;
}

.hero-slider-main .hero-slide-item {
	position: relative;
	height: 100vh;
	min-height: 500px;
	overflow: hidden;
}

.hero-slider-main .hero-slide-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.03);
	transition: transform 6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.hero-slider-main .slick-current .hero-slide-image {
	transform: scale(1);
}

.hero-slide-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.1) 0%,
		rgba(0, 0, 0, 0.2) 60%,
		rgba(0, 0, 0, 0.65) 100%
	);
	z-index: 1;
}

.hero-thumbs-container {
	padding-bottom: 30px !important;
}

.hero-slider-thumbs {
	margin: 0 auto;
	opacity: 0;
	transition: opacity 0.4s ease;
}

.hero-slider-thumbs.slick-initialized {
	opacity: 1;
}

.hero-thumb-slide {
	padding: 0 10px;
}

.hero-thumb-card {
	position: relative;
	width: 90px;
	height: 60px;
	border-radius: 12px;
	overflow: hidden;
	cursor: pointer;
	border: 2px solid transparent;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
	opacity: 0.6;
	transition: opacity 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.hero-thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-thumb-card:hover {
	opacity: 0.9;
	transform: translateY(-2px);
}

.slick-current .hero-thumb-card {
	opacity: 1;
	border-color: var(--color-bg-primary); 
	transform: translateY(-4px) scale(1.05);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
}

.hero-slider-thumbs .slick-track {
	padding-top: 20px;
}

.hero-slider-thumbs.slick-nocenter-fit {
	display: block;
	width: 100%;
}

.hero-slider-thumbs.slick-nocenter-fit .slick-track {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	width: 100% !important;        
	transform: none !important;     
	margin: 0 auto !important;
}

.hero-slider-thumbs.slick-nocenter-fit .slick-slide {
	float: none !important;         
	width: auto !important;
}

.navbar-custom {
	background-color: var(--color-bg-primary) !important; 
	border-bottom: 1px solid rgba(17, 17, 17, 0.08);
	box-shadow: 0 4px 20px rgba(17, 17, 17, 0.03);
	transition: background-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), border-bottom-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
	z-index: 199;
}

.logo-text {
	font-family: var(--font-primary);
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.15em;
	transition: color 0.3s ease;
}

.logo-light { display: none; }

.logo-dark { color: var(--color-text-primary); display: block; }

.navbar-custom .nav-link {
	font-family: var(--font-primary-bold);
	font-size: var(--font-size-xs);
	color: var(--color-text-secondary) !important; 
	padding: 24px 18px !important;
	transition: color 0.3s ease;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.navbar-custom .nav-link:hover, 
.navbar-custom .nav-link:focus {
	color: var(--color-text-primary) !important; 
}

.navbar-brand img {
	height: 16px;
}

.navbar-custom.navbar-transparent-overlay:not(.scrolled):not(.dropdown-open) {
	background-color: transparent !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: none;
}

.navbar-custom.navbar-transparent-overlay:not(.scrolled):not(.dropdown-open) .logo-light {
	color: var(--color-bg-primary); 
	display: block;
}

.navbar-custom.navbar-transparent-overlay:not(.scrolled):not(.dropdown-open) .logo-dark {
	display: none;
}

.navbar-custom.navbar-transparent-overlay:not(.scrolled):not(.dropdown-open) .nav-link {
	color: var(--color-bg-primary) !important;
}

.navbar-custom.navbar-transparent-overlay:not(.scrolled):not(.dropdown-open) .nav-link:hover {
	color: rgba(255, 248, 239, 0.8) !important;
}

.nav-link.dropdown-toggle.show::after {
	transform: rotate(180deg);
}

.navbar-custom .dropdown-menu {
	background-color: var(--color-bg-primary) !important;
	border-top: 1px solid rgba(17, 17, 17, 0.08) !important;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	display: block; 
	transition: opacity 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.navbar-custom .dropdown .show.dropdown-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.mega-card-square {
	height: 272px;
	box-shadow: 0 4px 12px rgba(17, 17, 17, 0.05);
}

.mega-card-hero {
	height: 260px;
}

.mega-card-btn {
	font-size: 14px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
	transition: background-color 0.3s ease, color 0.3s ease;
}

.mega-card-square:hover .mega-card-btn {
	background-color: var(--color-accent-brown) !important;
	color: var(--color-bg-canvas) !important;
}

.mega-card-hero-overlay {
	background: linear-gradient(to bottom, rgba(0,0,0,0) 50%, rgba(0,0,0,0.7) 100%);
}

.mega-card-hero-overlay .icon-chevron-right {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18px' height='18px' viewBox='0 0 512 512'%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='add' fill='%23ffffff' transform='translate(149.333333, 80.853333)'%3E%3Cpolygon id='Path' points='-2.84217094e-14 320 30.1698893 350.169889 205.254834 175.084945 30.1698893 0 -2.84217094e-14 30.1698893 144.898278 175.084945'%3E%3C/polygon%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.mega-heading {
	font-family: var(--font-primary), sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: var(--color-accent-brown); 
}

.mega-link {
	font-family: var(--font-primary), sans-serif;
	font-size: 14px;
	color: var(--color-text-secondary);
	text-decoration: none;
	padding: 6px 0;
	display: block;
	transition: color 0.2s ease, padding-left 0.2s ease;
}

.mega-link:hover {
	color: var(--color-text-primary);
	padding-left: 4px;
}

.mega-promo-link {
	background-color: transparent;
	transition: background-color 0.3s ease;
}

.mega-promo-link:hover {
	background-color: rgba(81, 46, 55, 0.04);
}

.promo-thumb {
	width: 150px;
	height: 90px;
	object-fit: cover;
}

.font-secondary {
	font-family: var(--font-secondary), Georgia, serif !important;
}

.font-secondary-italic {
	font-family: var(--font-secondary-italic), Georgia, serif !important;
}

.intro-brand-section {
	background-color: var(--color-bg-primary); 
}

.intro-paragraph-text p {
	font-family: var(--font-primary);
	font-size: var(--font-size-xl);       
	line-height: var(--line-height-xl);   
	color: var(--color-accent-brown);   
	letter-spacing: -0.01em;
}

.intro-paragraph-text p em,
.intro-paragraph-text p i {
	font-family: var(--font-secondary-italic) !important; 
	font-style: normal;
	font-weight: var(--font-weight-normal);
	color: var(--color-accent-brown);             
}

.btn-brand-primary {
	font-family: var(--font-primary-bold);
	background-color: var(--color-accent-brown); 
	color: var(--color-bg-canvas) !important;    
	font-size: var(--font-size-sm);              
	font-weight: var(--font-weight-medium);      
	padding: 12px 28px !important;
	border-radius: 8px;
	border: none;
	transition: all 0.3s ease;
	box-shadow: 0 4px 10px rgba(81, 46, 55, 0.15);
	text-transform: uppercase;
	letter-spacing: 2px;
	word-spacing: 4px;
}

.btn-brand-primary:hover {
	background-color: rgba(81, 46, 55, 0.9);
	transform: translateY(-2px);
	box-shadow: 0 6px 15px rgba(81, 46, 55, 0.25);
}

.btn-brand-primary .arrow-indicator {
	display: inline-block;
	transition: transform 0.2s ease;
}

.btn-brand-primary .arrow-indicator svg {
	width: 18px;
	height: 18px;
	margin-top: -4px;
}

.intro-image-frame {
	background-color: var(--color-bg-secondary); 
	transition: transform 0.4s ease;
}

.intro-image-frame:hover {
	transform: scale(1.02);
}

.img-aspect-portrait {
	aspect-ratio: 5 / 6;
}

.img-aspect-landscape {
	aspect-ratio: 4 / 3.363;
}

.icon-chevron-right {
	margin-top: -2px;
	display: inline-block;
	width: 1em;
	height: 1em;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18px' height='18px' viewBox='0 0 512 512'%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='add' fill='%23512E37' transform='translate(149.333333, 80.853333)'%3E%3Cpolygon id='Path' points='-2.84217094e-14 320 30.1698893 350.169889 205.254834 175.084945 30.1698893 0 -2.84217094e-14 30.1698893 144.898278 175.084945'%3E%3C/polygon%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	vertical-align: middle;
}

.mega-card-square:hover .mega-card-btn .icon-chevron-right {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18px' height='18px' viewBox='0 0 512 512'%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='add' fill='%23FFFFFF' transform='translate(149.333333, 80.853333)'%3E%3Cpolygon id='Path' points='-2.84217094e-14 320 30.1698893 350.169889 205.254834 175.084945 30.1698893 0 -2.84217094e-14 30.1698893 144.898278 175.084945'%3E%3C/polygon%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.explore-collections-section {
	background-color: var(--color-accent-brown); 
}

.collections-section-title {
	font-family: var(--font-primary); 
	font-size: var(--font-size-xxl);    
}

.collections-tab-nav {
	border-bottom: 1px solid rgba(255, 248, 239, 0.1);
	padding-bottom: 12px;
}

.collections-nav-link {
	font-family: var(--font-primary);
	font-size: var(--font-size-md); 
	color: var(--color-bg-primary) !important;
	opacity: 0.6;
	border: none;
	background: transparent;
	padding: 16px 20px !important;
	white-space: nowrap;
	border-bottom: 2px solid transparent;
	transition: all 0.3s ease;
}

.collections-nav-link.active {
	opacity: 1;
	font-weight: var(--font-weight-medium);
	border-bottom-color: var(--color-bg-primary) !important;
	background: transparent !important;
}

.sub-category-card {
	transition: all 0.3s ease;
}

.sub-category-img-frame {
	background-color: rgba(255, 248, 239, 0.05);
}

.sub-category-title {
	font-size: var(--font-size-base); 
	letter-spacing: -0.01em;
	display: inline-block;
	transition: opacity 0.2s ease;
}

.sub-category-card:hover .sub-category-title {
	opacity: 0.85;
}

.projects-slider-section {
	background-color: var(--color-bg-primary); 
}

.projects-section-title {
	font-family: var(--font-primary); 
	font-size: var(--font-size-xxl);    
	color: var(--color-text-primary);
}

.btn-projects-browse {
	font-family: var(--font-primary-bold);
	background-color: transparent;
	color: var(--color-text-primary) !important;
	border: 1.8px solid var(--color-text-primary);
	font-size: var(--font-size-sm);              
	font-weight: var(--font-weight-medium);
	padding: 10px 24px !important;
	border-radius: 8px;
	transition: all 0.3s ease;
	text-transform: uppercase;
	letter-spacing: 2px;
	word-spacing: 4px;
}

.btn-projects-browse:hover {
	background-color: var(--color-text-primary);
	color: var(--color-bg-primary) !important;
}

.btn-projects-browse:hover svg g {
	fill: var(--color-bg-primary) !important;
}

.projects-divider {
	border: 0;
	height: 1px;
	background-color: var(--color-border-default); 
	opacity: 0.8;
}

.projects-carousel {
	margin: 0 -15px; 
}

.project-slide-item {
	padding: 0 15px; 
}

.project-card-wrapper {
	width: 100%;
}

.project-image-box {
	width: 100%;
	aspect-ratio: 3 / 2; 
	background-color: var(--color-bg-secondary);
}

.project-badge {
	font-family: var(--font-primary);
	font-size: var(--font-size-sm);              
	color: var(--color-text-primary);
	background-color: rgba(185, 188, 172, 0.85); 
	backdrop-filter: blur(2px);
	font-weight: var(--font-weight-medium);
}

.work-pill {
	font-family: var(--font-primary);
	font-size: var(--font-size-xs);              
	color: var(--color-text-secondary);          
	background-color: var(--color-bg-canvas);    
	border: 1px solid var(--color-border-default);
	border-radius: 4px;
}

.year-val {
	font-family: var(--font-primary);
	font-size: var(--font-size-sm);              
	color: var(--color-text-secondary);
}

.project-card-title {
	font-size: var(--font-size-xl);              
	line-height: var(--line-height-base);        
	margin-top: 8px;
}

.project-card-title a {
	color: var(--color-accent-brown);            
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.project-card-title a:hover {
	opacity: 0.85;
}

.press-slider-section {
	background-color: var(--color-bg-primary); 
}

.press-section-title {
	font-family: var(--font-primary); 
	font-size: var(--font-size-xxl);    
	color: var(--color-text-primary);
}

.btn-press-browse {
	font-family: var(--font-primary-bold);
	background-color: transparent;
	color: var(--color-text-primary) !important;
	border: 1.8px solid var(--color-text-primary);
	font-size: var(--font-size-sm);              
	font-weight: var(--font-weight-medium);
	padding: 10px 24px !important;
	border-radius: 8px;
	transition: all 0.3s ease;
	text-transform: uppercase;
	letter-spacing: 2px;
	word-spacing: 4px;
}

.btn-press-browse:hover {
	background-color: var(--color-text-primary);
	color: var(--color-bg-primary) !important;
}

.btn-press-browse:hover svg g {
	fill: var(--color-bg-primary) !important;
}

.press-divider {
	border: 0;
	height: 1px;
	background-color: var(--color-border-default); 
	opacity: 0.8;
}

.press-carousel {
	margin: 0 -10px; 
}

.press-slide-item {
	padding: 0 10px;
}

.press-card-wrapper {
	width: 100%;
}

.press-image-box {
	width: 100%;
	aspect-ratio: 1 / 1; 
	background-color: var(--color-bg-secondary);
}

.press-publisher-label {
	font-family: var(--font-primary);
	font-size: var(--font-size-sm);              
	color: var(--color-text-secondary);          
	opacity: 0.7;                                
}

.press-card-title {
	font-family: var(--font-primary);
	font-size: var(--font-size-base);            
	line-height: var(--line-height-base);        
	font-weight: var(--font-weight-normal);
}

.press-card-title a {
	color: var(--color-accent-brown);            
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.press-card-title a:hover {
	opacity: 0.85;
}

.press-card-link {
	outline: none;
}

.press-card-link:hover .press-card-title {
	color: var(--color-text-primary) !important;
	opacity: 0.85;
}

.press-card-title {
	color: var(--color-accent-brown);            
	transition: opacity 0.2s ease, color 0.2s ease;
}

.faq-section {
	background-color: var(--color-bg-primary); 
}

.faq-section-title {
	font-size: var(--font-size-xxl);    
	line-height: 1.25;
	color: var(--color-text-primary);   
	font-weight: var(--font-weight-medium);
}

.faq-accordion {
	background-color: transparent !important;
}

.faq-accordion-item {
	background-color: transparent !important;
	border-bottom: 1px solid var(--color-border-default) !important; 
}

.faq-accordion-button {
	font-family: var(--font-primary);
	font-size: var(--font-size-md);              
	color: var(--color-text-primary) !important;
	background-color: transparent !important;
	padding: 24px 0 !important;
	box-shadow: none !important;
	border: none !important;
	text-align: left;
	transition: opacity 0.2s ease;
}

.faq-accordion-button:hover {
	opacity: 0.85;
}

.faq-accordion-button::after {
	content: ' ';
	font-family: var(--font-primary);
	font-size: var(--font-size-xl);              
	font-weight: 300;
	color: var(--color-text-secondary);          
	width: 1.25rem !important;
	height: 1.25rem !important;
	transform: none !important;
	transition: transform 0.2s ease;
	margin-left: auto;
	background-image: url("data:image/svg+xml,%3Csvg width='800px' height='800px' viewBox='0 -0.5 21 21' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Dribbble-Light-Preview' transform='translate(-379.000000, -240.000000)' fill='%23000000'%3E%3Cg id='icons' transform='translate(56.000000, 160.000000)'%3E%3Cpolygon id='plus-%5B%231512%5D' points='344 89 344 91 334.55 91 334.55 100 332.45 100 332.45 91 323 91 323 89 332.45 89 332.45 80 334.55 80 334.55 89'%3E%3C/polygon%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.faq-accordion-button:not(.collapsed)::after {
	content: ' '; 
	font-size: var(--font-size-lg);              
	background-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 800 800' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Cg id='Page-1' transform='matrix(38.095238,0,0,38.095238,0,19.047619)'%3E%3Cg id='Dribbble-Light-Preview' transform='matrix(1,0,0,1,-379,-240)'%3E%3Cg id='icons' transform='matrix(1,0,0,1,56,160)'%3E%3Crect id='plus---1512-' serif:id='plus-%5B%231512%5D' x='323' y='89' width='21' height='2'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.faq-accordion-body {
	padding: 0 0 24px 0 !important;
	color: var(--color-text-secondary);          
	font-family: var(--font-primary);
	font-size: var(--font-size-base);            
	line-height: var(--line-height-base);        
}

.faq-accordion-body p:last-child {
	margin-bottom: 0;
}

.site-footer {
	background-color: var(--color-accent-olive); 
	color: var(--color-text-primary);
}

.footer-title,
.newsletter-title {
	font-family: var(--font-secondary); 
	font-size: var(--font-size-md);    
	font-weight: var(--font-weight-medium);
	color: var(--color-text-primary);
}

.footer-contact-info li,
.footer-address {
	font-family: var(--font-primary);
	font-size: var(--font-size-sm);      
	line-height: var(--line-height-base);  
	color: var(--color-text-primary);
	font-style: normal;
}

.footer-contact-info a {
	color: var(--color-text-primary);
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.footer-contact-info a:hover {
	opacity: 0.8;
}

.email-link {
	font-weight: var(--font-weight-semibold);
}

.social-icon-link {
	color: var(--color-text-primary);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.social-icon-link:hover {
	opacity: 0.7;
	transform: translateY(-2px);
}

.newsletter-form {
	border-bottom: 1px solid var(--color-text-primary);
	padding-bottom: 4px;
}

.newsletter-input {
	font-family: var(--font-secondary);
	font-size: var(--font-size-sm);
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 8px 30px 8px 0 !important;
	color: var(--color-text-primary) !important;
	box-shadow: none !important;
}

.newsletter-input::placeholder {
	color: var(--color-text-secondary);
	opacity: 0.75;
}

.newsletter-submit-btn {
	background: none;
	border: none;
	color: var(--color-text-primary);
	padding: 0;
	transition: transform 0.2s ease;
}

.newsletter-submit-btn:hover {
	transform: translateY(-50%) translateX(3px);
}

.footer-cta-card {
	background-color: var(--color-accent-brown); 
	color: var(--color-bg-primary);             
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.cta-title {
	font-family: var(--font-primary);
	font-size: var(--font-size-md);              
	font-weight: var(--font-weight-medium);
}

.cta-subtitle {
	font-size: var(--font-size-sm);              
	font-style: normal;
	opacity: 0.9;
}

.btn-cta-action {
	font-family: var(--font-primary-bold);
	background-color: var(--color-bg-primary);   
	color: var(--color-accent-brown) !important;  
	font-size: var(--font-size-sm);              
	font-weight: var(--font-weight-medium);
	padding: 10px 24px !important;
	border-radius: 6px;
	border: none;
	transition: all 0.3s ease;
	text-transform: uppercase;
	letter-spacing: 2px;
	word-spacing: 4px;
}

.btn-cta-action:hover {
	background-color: var(--color-bg-secondary); 
	transform: translateY(-1px);
}

.footer-divider {
	border: 0;
	height: 1px;
	background-color: var(--color-text-primary);
	opacity: 0.15;
}

.footer-logo {
	font-family: var(--font-primary);
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.15em;
	color: var(--color-text-primary);
}

.bottom-links {
	font-family: var(--font-secondary);
}

.bottom-links a {
	color: var(--color-text-primary);
	text-decoration: none;
	font-size: var(--font-size-xs);              
	transition: opacity 0.2s ease;
}

.bottom-links a:hover {
	opacity: 0.7;
}

.about-brand-section {
	background-color: var(--color-bg-primary); 
}

.about-intro-paragraph p {
	font-size: var(--font-size-base);       
	line-height: var(--line-height-base);  
	color: var(--color-text-secondary);   
}

.about-intro-paragraph p em,
.about-intro-paragraph p i {
	font-family: var(--font-secondary-italic) !important;
	font-style: normal;
	font-weight: var(--font-weight-normal);
	color: var(--color-text-primary);     
}

.about-banner-container {
	aspect-ratio: 16 / 9; 
	max-height: 560px;
	background-color: var(--color-accent-brown);
}

.banner-overlay-title {
	font-size: var(--font-size-display-1); 
	font-weight: var(--font-weight-normal);
	color: var(--color-bg-primary);       
	letter-spacing: -0.01em;
}

.banner-overlay-subtitle {
	font-size: var(--font-size-xs);       
	letter-spacing: 0.1em;
	color: var(--color-bg-primary);
	opacity: 0.9;
}

.banner-gradient-mask {
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 40%,
		rgba(0, 0, 0, 0.5) 100%
	);
}

.about-desc-content p {
	font-size: var(--font-size-md);     
	line-height: var(--line-height-lg); 
	color: var(--color-text-secondary);
}

.about-desc-content p em,
.about-desc-content p i {
	font-family: var(--font-secondary-italic) !important;
	font-style: normal;
	font-weight: var(--font-weight-normal);
	color: var(--color-text-primary);
}

.stat-box {
	border-top: 1px solid var(--color-border-default); 
}

.stat-number {
	font-family: var(--font-primary-bold) !important;
	font-size: var(--font-size-xxl);      
	color: var(--color-accent-brown);     
	line-height: 1;
	display: inline-block;
}

.stat-label {
	font-family: var(--font-secondary);
	font-size: var(--font-size-xs);       
	line-height: var(--line-height-xs);   
	color: var(--color-text-secondary);
	opacity: 0.85;
}

body:not(.page-id-11) #page {
	margin-top: 70px;
}

.culture-brand-section {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	min-height: 650px;
}

.culture-bg-overlay {
	background: linear-gradient(
		135deg,
		rgba(17, 17, 17, 0.15) 0%,
		rgba(17, 17, 17, 0.4) 100%
	);
}

.culture-info-card {
	background-color: var(--color-bg-primary); 
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.culture-card-title {
	font-family: var(--font-primary); 
	font-size: var(--font-size-xxl);    
	color: var(--color-accent-brown);     
	font-weight: var(--font-weight-medium);
}

.culture-card-body p {
	font-size: var(--font-size-base);       
	line-height: var(--line-height-base);   
	color: var(--color-text-secondary);   
	margin-bottom: 0;
}

.culture-panel-frame {
	background-color: var(--color-border-placeholder); 
	box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.05);
}

.culture-footer-text p {
	font-size: var(--font-size-base);       
	line-height: var(--line-height-base);   
	color: var(--color-bg-canvas);        
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4); 
	margin-bottom: 0;
}

.values-brand-section {
	background-color: var(--color-accent-brown); 
}

.values-section-title {
	font-family: var(--font-primary); 
	font-size: var(--font-size-xxl);    
}

.border-light-subtle {
	border-color: rgba(255, 248, 239, 0.15) !important; 
}

.min-height-300 {
	min-height: 280px;
}

.btn-val-nav {
	font-family: var(--font-primary);
	background-color: transparent;
	color: var(--color-bg-primary); 
	border: 1px solid rgba(255, 248, 239, 0.4);
	width: 44px;
	height: 44px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	transition: all 0.3s ease;
}

.btn-val-nav:hover {
	background-color: var(--color-bg-primary);
	color: var(--color-accent-brown);
}

.btn-val-nav:hover svg g {
	fill: var(--color-accent-brown);
}

.values-carousel-wrapper {
	padding-right: 40px; 
}

.values-carousel-fade-overlay {
	width: 150px;
	background: linear-gradient(
		to right,
		rgba(81, 46, 55, 0) 0%,
		var(--color-accent-brown) 100%
	);
	z-index: 5;
	pointer-events: none;
}

.values-slide-item {
	height: 100%;
}

.values-carousel, .values-carousel .slick-list, .values-carousel .slick-track, .values-carousel .slick-slide > div, .values-carousel .slick-slide > div > div {
	height: 100%;
}

.values-slide-item {
	display: flex !important;
	flex-direction: column;
	justify-content: space-between;
}

.values-slide-title {
	font-size: var(--font-size-xxl);      
	font-weight: var(--font-weight-normal);
}

.values-slide-body p {
	font-size: var(--font-size-base);       
	line-height: var(--line-height-sm);   
	color: var(--color-bg-primary);
	opacity: 0.75;
	margin-bottom: 0;
}

.values-bottom-copy p {
	font-size: var(--font-size-lg);       
	line-height: var(--line-height-xl);   
	color: var(--color-bg-primary);
	font-weight: var(--font-weight-light);
}

.vision-mission-section {
	background-color: var(--color-bg-primary); 
}

.vm-image-wrapper {
	background-color: var(--color-bg-secondary); 
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.vm-text-block {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.vm-top-divider {
	border: 0;
	height: 1px;
	background-color: var(--color-accent-brown); 
	opacity: 0.6;
	margin: 0;
}

.vm-title {
	font-size: var(--font-size-xxl);      
	color: var(--color-accent-brown);     
	font-weight: var(--font-weight-medium);
}

.vm-body p {
	font-size: var(--font-size-sm);       
	line-height: var(--line-height-base);   
	color: var(--color-text-secondary);   
	margin-bottom: 0;
}

.mfg-split-section {
	background-color: var(--color-text-secondary); 
}

.mfg-text-panel {
	background-color: var(--color-text-secondary); 
	color: var(--color-bg-primary);                 
	min-height: 480px;
}

.mfg-label {
	font-family: var(--font-primary);
	font-size: var(--font-size-xs);                
	letter-spacing: 0.15em;
	opacity: 0.8;
}

.mfg-title {
	font-size: var(--font-size-xxl);                
	line-height: var(--line-height-xxl);            
	font-weight: var(--font-weight-normal);
}

.mfg-text-body p {
	font-size: var(--font-size-base);                 
	line-height: var(--line-height-base);             
	color: var(--color-bg-primary);
	opacity: 0.9;
	margin-bottom: 0;
}

.mfg-text-body p em,
.mfg-text-body p i {
	font-family: var(--font-secondary-italic) !important;  
	font-weight: var(--font-weight-normal);
}

.mfg-slider-panel {
	min-height: 480px;
}

.mfg-carousel,
.mfg-slide-item {
	height: 100%;
}

.mfg-slide-img {
	height: 480px; 
	aspect-ratio: 3 / 2;
}

.mfg-slider-panel .slick-dots {
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	display: flex !important;
	justify-content: center;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
	z-index: 10;
	width: 100%;
}

.mfg-slider-panel .slick-dots li {
	position: relative;
	width: 28% !important;              
	height: 2px !important;              
	background-color: rgba(255, 255, 255, 0.25) !important; 
	margin: 0 4px !important;
	padding: 0 !important;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.mfg-slider-panel .slick-dots li.slick-active {
	background-color: var(--color-bg-canvas) !important; 
}

.mfg-slider-panel .slick-dots li button {
	display: none !important;
}

.mfg-carousel .slick-list,
.mfg-carousel .slick-track,
.mfg-carousel .slick-slide,
.mfg-carousel .slick-slide > div {
	height: 100%;
}

.footer-logo img {
	height: 16px;
}

.partners-section {
	background-color: var(--color-bg-primary); 
}

.partners-outer-card {
	background-color: var(--color-accent-olive); 
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.min-height-250 {
	min-height: 250px;
}

.partners-card-title {
	font-family: var(--font-primary); 
	font-size: var(--font-size-xxl);    
	color: var(--color-text-primary);   
	font-weight: var(--font-weight-medium);
}

.partners-card-body p {
	font-size: var(--font-size-base);       
	line-height: var(--line-height-base);   
	color: var(--color-text-primary);
	margin-bottom: 0;
}

.partners-logo-box {
	aspect-ratio: 4 / 3; 
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
	background-color: var(--color-bg-primary);
}

.partners-logo-img {
	max-height: 120px;
	object-fit: contain;
}

.video-carousel-section {
	background-color: var(--color-bg-primary); 
}

.video-carousel .slick-track {
	display: flex !important;
	align-items: center;
}

.video-player-container {
	width: 100%;
	aspect-ratio: 16 / 9; 
	background-color: var(--color-text-primary);
}

.video-cover {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 4;
}

.btn-video-play {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.btn-video-play:hover {
	transform: scale(1.08);
}

.play-svg-icon circle {
	transition: fill 0.3s ease;
}

.btn-video-play:hover .play-svg-icon circle {
	fill: var(--color-bg-canvas) !important;
}

.video-iframe-holder {
	z-index: 5;
}

.team-section {
	background-color: var(--color-bg-primary); 
}

.team-intro-copy p {
	font-size: var(--font-size-base);       
	line-height: var(--line-height-base);   
	color: var(--color-text-secondary);   
	margin-bottom: 0;
}

.team-member-card {
	cursor: pointer;
}

.team-img-frame {
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
	background-color: var(--color-bg-secondary);
}

.grayscale-img {
	filter: grayscale(100%);
	transition: filter 0.4s ease, transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.team-member-card:hover .grayscale-img {
	filter: grayscale(0%);
	transform: scale(1.02);
}

.team-card-divider {
	border: 0;
	height: 1px;
	background-color: var(--color-border-default); 
	opacity: 0.8;
}

.team-member-name {
	font-size: var(--font-size-xl);              
	line-height: var(--line-height-base);        
	color: var(--color-accent-brown);            
}

.team-member-designation {
	font-size: var(--font-size-xs);              
	color: var(--color-text-secondary);
}

.team-bio-offcanvas {
	background-color: var(--color-accent-brown) !important; 
	color: var(--color-bg-primary) !important;             
	width: 100% !important;
	max-width: 500px !important; 
	border-left: none !important;
	box-shadow: -10px 0 30px rgba(0, 0, 0, 0.25) !important;
}

.team-bio-offcanvas .btn-close {
	opacity: 0.8;
	z-index: 10;
}

.team-bio-offcanvas .btn-close:hover {
	opacity: 1;
}

.team-bio-img-wrapper {
	width: 100%;
	aspect-ratio: 1 / 1;
	background-color: rgba(255, 248, 239, 0.05);
}

.team-bio-name {
	font-size: var(--font-size-xl);              
	line-height: var(--line-height-base);
}

.team-bio-designation {
	font-size: var(--font-size-xs);              
	color: var(--color-bg-primary);
	opacity: 0.8;
}

.team-bio-content-text p {
	font-size: var(--font-size-sm);              
	line-height: var(--line-height-base);        
	color: var(--color-bg-primary);
	opacity: 0.9;
}

.team-bio-content-text p em,
.team-bio-content-text p i {
	font-family: var(--font-secondary) !important; 
	font-style: italic;
}

.offcanvas-backdrop.show {
	opacity: 0.45 !important;
	background-color: var(--color-text-primary) !important; 
}

.offcanvas-backdrop {
	margin-top: 0 !important;
}

.events-section {
	background-color: var(--color-bg-primary); 
}

.events-intro-copy p {
	font-size: var(--font-size-base);       
	line-height: var(--line-height-base);   
	color: var(--color-text-secondary);   
	margin-bottom: 0;
}

.border-top {
	border-color: var(--color-border-default) !important;
}

.past-events-title {
	font-size: var(--font-size-xl);       
	font-weight: var(--font-weight-normal);
	color: var(--color-text-primary);
}

.event-card-link {
	outline: none;
	height: 100%;
}

.event-card-wrapper {
	background-color: var(--color-accent-brown); 
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.event-card-link:hover .event-card-wrapper {
	transform: translateY(-4px);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.event-image-box {
	background-color: rgba(255, 248, 239, 0.05);
}

.event-card-title {
	font-size: var(--font-size-lg);              
	font-weight: var(--font-weight-normal);
}

.event-card-meta {
	font-size: var(--font-size-xs);              
	color: var(--color-bg-primary);              
	opacity: 0.85;
}

.event-card-description {
	font-size: var(--font-size-sm);              
	line-height: var(--line-height-sm);          
	opacity: 0.7;
}

.gallery-masonry-section {
	background-color: var(--color-bg-primary); 
}

.gallery-section-title {
	font-family: var(--font-primary);    
	font-size: var(--font-size-xl);     
	color: var(--color-text-primary);    
}

.masonry-grid-container {
	column-count: 4;                     
	column-gap: 16px;                    
	width: 100%;
}

.masonry-card-item {
	break-inside: avoid;                 
	overflow: hidden;
	outline: none;
}

.masonry-card-caption {
	font-family: var(--font-secondary);  
}

.media-section {
	background-color: var(--color-bg-primary); 
}

.media-intro-copy p {
	font-family: var(--font-secondary);  
	font-size: var(--font-size-base);       
	line-height: var(--line-height-base);   
	color: var(--color-text-secondary);   
	margin-bottom: 0;
}

.filter-label {
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-semibold);
	color: var(--color-text-secondary);
}

.btn-media-filter {
	font-family: var(--font-primary-bold);
	font-size: var(--font-size-xs);
	color: var(--color-text-secondary);
	border: 1px solid var(--color-border-default);
	background: transparent;
	padding: 6px 16px;
	border-radius: 4px;
	transition: all 0.3s ease;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.btn-media-filter.active,
.btn-media-filter:hover {
	color: var(--color-bg-primary) !important; 
	border-color: var(--color-accent-brown);
	background-color: var(--color-accent-brown);
}

.section-divider-title {
	font-size: var(--font-size-md);      
	color: var(--color-text-primary);
	border-bottom: 1px solid var(--color-border-default) !important;
}

.featured-press-card {
	background-color: var(--color-accent-brown); 
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

.featured-img-frame {
	background-color: rgba(255, 248, 239, 0.05);
}

.featured-badge {
	font-size: var(--font-size-xs);
	color: var(--color-text-primary);
	background-color: var(--color-bg-primary); 
	border-radius: 4px;
}

.featured-card-title {
	font-size: var(--font-size-xxl);      
	line-height: var(--line-height-xxl);
}

.featured-card-excerpt p {
	font-size: var(--font-size-sm);       
	line-height: var(--line-height-base);
}

.featured-card-meta {
	font-size: var(--font-size-xs);
}

.press-card-link,
.podcast-card-link {
	outline: none;
	height: 100%;
}

.press-image-box,
.podcast-image-box {
	background-color: var(--color-bg-secondary);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.press-publisher-label,
.podcast-subtitle-label {
	font-size: var(--font-size-xs);       
	color: var(--color-text-secondary);
}

.press-card-title,
.podcast-card-title {
	font-size: var(--font-size-base);     
	line-height: var(--line-height-base); 
	color: var(--color-accent-brown);     
	font-weight: var(--font-weight-medium);
}

.media-section-dark-panel {
	background-color: var(--color-accent-brown);
}

.videos-carousel-fade-overlay {
	width: 150px;
	background: linear-gradient(
		to right,
		rgba(81, 46, 55, 0) 0%,
		var(--color-accent-brown) 100%
	);
	z-index: 5;
	pointer-events: none;
}

.video-img-box {
	background-color: rgba(255, 248, 239, 0.05);
}

.btn-video-carousel-play {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.btn-video-carousel-play:hover {
	transform: scale(1.08);
}

.video-slide-title {
	font-size: var(--font-size-base);     
	line-height: var(--line-height-base);
}

.video-slide-meta {
	font-size: var(--font-size-xs);       
}

.experience-centres-section {
	background-color: var(--color-bg-primary); 
}

.centres-intro-copy p {
	font-family: var(--font-secondary);  
	font-size: var(--font-size-base);       
	line-height: var(--line-height-base);   
	color: var(--color-text-secondary);   
}

.centres-intro-copy p em,
.centres-intro-copy p i {
	font-style: italic;
}

.border-top,
.border-bottom {
	border-color: var(--color-border-default) !important;
}

.locations-label {
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-semibold);
	color: var(--color-text-secondary);
}

.btn-centre-tab {
	font-family: var(--font-primary-bold);
	font-size: var(--font-size-xs);
	color: var(--color-text-secondary);
	border: 1px solid var(--color-border-default);
	background: transparent;
	padding: 6px 16px;
	border-radius: 4px;
	transition: all 0.3s ease;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.btn-centre-tab.active,
.btn-centre-tab:hover {
	color: var(--color-bg-primary) !important; 
	border-color: var(--color-accent-brown);
	background-color: var(--color-accent-brown);
}

.centre-details-panel {
	display: none; 
}

.centre-details-panel.active {
	display: block; 
	animation: fadeInCentrePanel 0.4s ease forwards;
}

@keyframes fadeInCentrePanel {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

.location-title {
	font-size: var(--font-size-xxl);      
	color: var(--color-accent-brown);
}

.location-address p {
	font-size: var(--font-size-sm);       
	line-height: var(--line-height-base);
	color: var(--color-text-secondary);
}

.centre-masonry-gallery {
	column-count: 2;                     
	column-gap: 16px;
	width: 100%;
}

.centre-gallery-item {
	break-inside: avoid;
	overflow: hidden;
	outline: none;
}

.location-description p {
	font-size: var(--font-size-sm);       
	line-height: var(--line-height-base);   
	color: var(--color-text-secondary);
}

.contact-section {
	background-color: var(--color-bg-primary); 
}

.locations-label-title {
	font-family: var(--font-primary);
	font-size: var(--font-size-xl);       
	color: var(--color-text-primary);
}

.location-grid-name {
	font-family: var(--font-primary);
	font-size: var(--font-size-base);     
	color: var(--color-text-secondary);   
	font-weight: var(--font-weight-medium);
}

.contact-intro-copy p {
	font-family: var(--font-secondary);  
	font-size: var(--font-size-lg);       
	color: var(--color-text-primary);
	margin-bottom: 0;
}

.location-address-link p {
	font-family: var(--font-secondary);
	font-size: var(--font-size-sm);       
	line-height: var(--line-height-base);
	color: var(--color-text-primary);     
	margin-bottom: 0;
	transition: opacity 0.25s ease;
}

.location-address-link:hover p {
	opacity: 0.7;
	text-decoration: underline;
}

.location-phone-link {
	font-family: var(--font-secondary);
	font-size: var(--font-size-sm);       
	color: var(--color-text-primary);
	font-weight: var(--font-weight-medium);
}

.contact-divider {
	border: 0;
	height: 1px;
	background-color: var(--color-border-default); 
	opacity: 0.6;
}

.contact-banner-box {
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.btn-location-sales {
	font-family: var(--font-primary-bold);      
	font-size: var(--font-size-sm);              
	font-weight: var(--font-weight-medium);      
	text-transform: uppercase;
	letter-spacing: 2px;
	word-spacing: 4px;
	background-color: var(--color-accent-brown); 
	color: var(--color-bg-primary) !important;   
	padding: 12px 24px !important;
	border-radius: 4px;
	display: inline-block;
	transition: background-color 0.25s ease, transform 0.2s ease;
}

.btn-location-sales:hover {
	background-color: var(--color-text-primary); 
	transform: translateY(-1px);
}

span.pin-ring {
	display: block;
	width: 12px;
	height: 12px;
	background-color: var(--color-accent-brown);
	border-radius: 100%;
	transition: width 0.3s ease, height 0.3s ease;
}

.map-pin {
	position: absolute;
	font-size: var(--font-size-xs);
	color: var(--color-accent-brown);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
}

.map-pin:hover .pin-ring {
	width: 20px;
	height: 20px;
}

.map-pin.comingsoon {
	color: var(--color-disabled-gray);
}

.map-pin.comingsoon .pin-ring {
	background-color: var(--color-disabled-gray);
}

.location-item-content.highlight-flash {
	background-color: var(--color-border-default);
}

.projects-archive-section {
	background-color: var(--color-bg-primary); 
}

.projects-intro-copy p {
	font-family: var(--font-secondary);  
	font-size: var(--font-size-base);       
	line-height: var(--line-height-base);   
	color: var(--color-text-secondary);   
	margin-bottom: 0;
}

.projects-intro-copy p em,
.projects-intro-copy p i {
	font-style: italic;
}

.btn-project-filter {
	font-family: var(--font-primary-bold);
	font-size: var(--font-size-xs);
	color: var(--color-text-secondary);
	border: 1px solid var(--color-border-default);
	background: transparent;
	padding: 6px 16px;
	border-radius: 4px;
	transition: all 0.3s ease;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.btn-project-filter.active,
.btn-project-filter:hover {
	color: var(--color-bg-primary) !important; 
	border-color: var(--color-accent-brown);
	background-color: var(--color-accent-brown);
}

.projects-sort-labels {
	font-size: var(--font-size-xs);
	color: var(--color-text-secondary);
}

.sort-lbl-item {
	cursor: pointer;
	transition: color 0.3s ease;
}

.sort-lbl-item:hover {
	color: var(--color-text-primary);
}

.project-card-link {
	outline: none;
	height: 100%;
}

.project-img-frame {
	background-color: var(--color-bg-secondary);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
	max-height: 450px;
	min-height: 450px;
}

.project-meta-year {
	font-size: var(--font-size-xs);
	color: var(--color-text-secondary);
	font-weight: 500;
}

.reveal-on-scroll {
	opacity: 0;
	will-change: transform, opacity;
	transition: opacity var(--reveal-duration) var(--reveal-ease),
				transform var(--reveal-duration) var(--reveal-ease);
}

.title-reveal-mask {
	overflow: hidden !important;
	display: block;
}

.title-reveal-mask .mask-line {
	display: inline-block;
	transform: translateY(110%);
	opacity: 0;
	will-change: transform, opacity;
	transition: opacity 1.8s cubic-bezier(0.16, 1, 0.3, 1),
				transform 1.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.title-reveal-mask.reveal-visible .mask-line {
	transform: translateY(0);
	opacity: 1;
}

.reveal-navbar-on-load {
	opacity: 0;
	transform: translateY(-100%);
	will-change: transform, opacity;
	transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1),
				transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-navbar-on-load.nav-loaded {
	opacity: 1;
	transform: translateY(0);
}

.offering-hero-section {
	background-color: var(--color-bg-primary); 
}

.offering-intro-copy p {
	font-family: var(--font-secondary);  
	font-size: var(--font-size-base);       
	line-height: var(--line-height-base);   
	color: var(--color-text-secondary);   
	margin-bottom: 0;
}

.offering-image-frame {
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.offering-properties-list {
	border-top: 1px solid var(--color-border-default); 
}

.property-row {
	border-bottom: 1px solid var(--color-border-default) !important;
}

.property-label {
	font-size: var(--font-size-xs);       
	font-weight: var(--font-weight-semibold);
	color: var(--color-text-secondary);
	letter-spacing: 0.05em;
}

.property-value {
	font-size: var(--font-size-base);     
	color: var(--color-text-primary);
	text-align: right;
}

.property-term-link {
	color: var(--color-text-primary);
	transition: opacity 0.2s ease, text-decoration 0.2s ease;
}

.property-term-link:hover {
	opacity: 0.7;
	text-decoration: underline !important;
}

.offering-custom-solutions {
	font-size: var(--font-size-sm);       
	color: var(--color-accent-brown);     
	font-weight: 500;
}

.offering-archive-wrapper {
	background-color: var(--color-bg-primary); 
}

.btn-category-toggle {
	font-family: var(--font-primary-bold);
	font-size: var(--font-size-xs);
	color: var(--color-text-secondary);
	border: 1px solid var(--color-border-default);
	background: transparent;
	padding: 6px 16px;
	border-radius: 4px;
	transition: all 0.3s ease;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.btn-category-toggle.active,
.btn-category-toggle:hover {
	color: var(--color-bg-primary) !important; 
	border-color: var(--color-accent-brown);
	background-color: var(--color-accent-brown);
}

.offering-search-box input {
	height: 44px;
	border: 1px solid var(--color-border-default);
	background-color: var(--color-bg-primary);
	border-radius: 4px;
	outline: none;
}

.offering-search-box input::placeholder {
	color: var(--color-text-secondary);
}

.search-icon svg {
	color: var(--color-text-secondary);
}

.filters-header {
	background-color: var(--color-accent-brown);
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}

.filters-accordion {
	border: 1px solid var(--color-border-default);
	background-color: var(--color-bg-primary);
	border-bottom-right-radius: var(--bs-accordion-border-radius);
	border-bottom-left-radius: var(--bs-accordion-border-radius);
	border-bottom: none;
}

.filters-accordion .accordion-item {
	background-color: transparent !important;
	border: none !important;
	border-bottom: 1px solid var(--color-border-default) !important;
}

.filters-accordion .accordion-button {
	background-color: transparent !important;
	color: var(--color-text-primary) !important;
	box-shadow: none !important;
	font-size: var(--font-size-xs);
	font-weight: 500;
	padding: 16px 20px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.filters-accordion .form-check-input {
	background-color: var(--color-bg-primary);
	border-color: var(--color-border-default);
}

.filters-accordion .form-check-input:checked {
	background-color: var(--color-accent-brown);
	border-color: var(--color-accent-brown);
}

.filters-accordion .form-check-label {
	font-size: var(--font-size-sm);
	color: var(--color-text-secondary);
}

.offering-card-link {
	outline: none;
	height: 100%;
}

.offering-image-box {
	background-color: var(--color-bg-secondary);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.offering-overlay-badge {
	background-color: rgba(255, 248, 239, 0.9);
	color: var(--color-text-primary);
	border-radius: 4px;
	font-size: var(--font-size-xs);
	z-index: 5;
	text-transform: uppercase;
}

.offering-card-title {
	font-size: var(--font-size-base);     
	font-weight: 500;
}

.offering-card-category {
	font-size: var(--font-size-xs);       
	color: var(--color-text-secondary);
}

.btn-pagination-link {
	background: none;
	border: none;
	outline: none;
	cursor: pointer;
	font-size: var(--font-size-sm);
	color: var(--color-text-secondary);
	transition: color 0.3s ease;
}

.btn-pagination-link.num {
	width: 32px;
	height: 32px;
	border-radius: 4px;
	padding: 0;
}

.btn-pagination-link.num.active {
	background-color: var(--color-accent-brown);
	color: var(--color-bg-primary) !important;
}

.btn-pagination-link:hover {
	color: var(--color-text-primary);
}

.btn-pagination-link.next {
	font-family: var(--font-primary-bold);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-medium);
	text-transform: uppercase;
	letter-spacing: 2px;
	word-spacing: 4px;
	color: var(--color-text-primary);
}

.btn-pagination-link.next:hover {
	opacity: 0.8;
}

.mega-heading a {
	text-decoration: none;
}

.resources-page-section {
	background-color: var(--color-bg-primary); 
}

.resources-intro-copy p {
	font-family: var(--font-secondary);  
	font-size: var(--font-size-base);       
	line-height: var(--line-height-base);   
	color: var(--color-text-secondary);   
}

.form-grid-label {
	font-size: var(--font-size-xl);       
	color: var(--color-text-primary);
}

.form-grid-desc p {
	font-size: var(--font-size-sm);
	line-height: var(--line-height-base);
}

.resources-cf7-form-wrapper form p {
	margin-bottom: 24px;
}

.resources-cf7-form-wrapper input[type="text"],
.resources-cf7-form-wrapper input[type="email"],
.resources-cf7-form-wrapper input[type="tel"],
.resources-cf7-form-wrapper textarea {
	width: 100%;
	border: none;
	border-bottom: 1px solid var(--color-border-default) !important;
	background-color: transparent !important;
	color: var(--color-text-primary);
	font-family: var(--font-secondary);
	font-size: var(--font-size-sm);
	padding: 10px 0;
	outline: none;
	border-radius: 0;
	transition: border-color 0.3s ease;
}

.resources-cf7-form-wrapper input:focus,
.resources-cf7-form-wrapper textarea:focus {
	border-bottom-color: var(--color-accent-brown) !important;
}

.resources-cf7-form-wrapper .wpcf7-submit {
	font-family: var(--font-primary-bold);
	font-size: var(--font-size-sm);              
	font-weight: var(--font-weight-medium);
	text-transform: uppercase;
	letter-spacing: 2px;
	word-spacing: 4px;
	background-color: var(--color-accent-brown); 
	color: var(--color-bg-primary) !important;   
	border: none;
	padding: 12px 32px !important;
	border-radius: 4px;
	transition: background-color 0.3s ease, transform 0.2s ease;
}

.resources-cf7-form-wrapper .wpcf7-submit:hover {
	background-color: var(--color-text-primary);
	transform: translateY(-1px);
}

.resources-cf7-form-wrapper .wpcf7-list-item {
	margin-left: 0;
	font-family: var(--font-secondary);
	font-size: var(--font-size-xs);
	color: var(--color-text-secondary);
}

.resources-catalogues-panel {
	background-color: #4A4A4A; 
}

.catalogues-panel-title {
	font-size: var(--font-size-xxl);      
}

.catalogue-blur-content.blurred {
	filter: blur(10px);
	pointer-events: none; 
	user-select: none;
}

.catalogue-blur-overlay {
	background-color: rgba(74, 74, 74, 0.65); 
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	z-index: 100;
}

.blur-overlay-title {
	font-size: var(--font-size-lg);       
	max-width: 450px;
	line-height: var(--line-height-base);
}

.btn-unlock-padlock {
	font-family: var(--font-primary-bold);
	font-size: var(--font-size-sm);              
	font-weight: var(--font-weight-medium);
	text-transform: uppercase;
	letter-spacing: 2px;
	word-spacing: 4px;
	background-color: var(--color-bg-primary);   
	color: var(--color-accent-brown) !important;  
	border: none;
	padding: 12px 28px;
	border-radius: 4px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
	transition: all 0.3s ease;
}

.btn-unlock-padlock:hover {
	background-color: var(--color-bg-canvas);    
	transform: translateY(-1px);
}

.catalogue-card-link {
	outline: none;
	height: 100%;
}

.catalogue-img-box {
	background-color: #292929;
}

.catalogue-title {
	font-size: var(--font-size-sm);       
	opacity: 0.95;
	transition: opacity 0.3s ease;
}

.catalogue-card-link:hover .catalogue-title {
	opacity: 0.7;
	text-decoration: underline !important;
}

.single-project-section {
	background-color: var(--color-bg-primary); 
}

.project-main-title {
	font-family: var(--font-primary-bold);
	font-size: var(--font-size-display-1);
	line-height: var(--line-height-display-1);
	color: var(--color-accent-brown);
	letter-spacing: -0.03em;
}

.nav-card-title {
	font-family: var(--font-primary);
	font-size: var(--font-size-lg);              
	color: var(--color-accent-brown);            
	font-weight: var(--font-weight-normal);
}

.project-main-desc p,
.project-para-text p {
	font-family: var(--font-secondary);  
	font-size: var(--font-size-sm);       
	line-height: var(--line-height-base);   
	color: var(--color-text-secondary);   
}

.project-main-desc p em,
.project-para-text p em,
.project-main-desc p i,
.project-para-text p i {
	font-style: italic;
}

.border-light-subtle {
	border-color: var(--color-border-default) !important;
}

.spec-row {
	border-bottom: 1px solid var(--color-border-default) !important;
}

.spec-label {
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-semibold);
	color: var(--color-text-secondary);
	letter-spacing: 0.05em;
}

.spec-val {
	font-size: var(--font-size-base);     
	color: var(--color-text-primary);
}

.project-carousel-container {
	border-top: 1px solid var(--color-border-default);
}

.btn-proj-nav {
	font-family: var(--font-primary);
	background-color: transparent;
	color: var(--color-text-primary);
	border: 1px solid var(--color-border-default);
	width: 40px;
	height: 40px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	transition: all 0.3s ease;
}

.btn-proj-nav:hover {
	background-color: var(--color-text-primary);
	color: var(--color-bg-primary);
}

.project-carousel-slide {
	height: 100%;
}

.carousel-img-frame {
	background-color: var(--color-bg-secondary);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.nav-direction-link {
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-semibold);
	color: var(--color-text-secondary);
	transition: color 0.3s ease;
}

.nav-direction-link:hover {
	color: var(--color-text-primary);
}

.nav-project-card-link {
	outline: none;
}

.nav-card-img-wrapper {
	background-color: var(--color-bg-secondary);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.nav-card-img-wrapper img {
	transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.nav-project-card-link:hover .nav-card-img-wrapper img {
	transform: scale(1.02);
}

.catalogue-request-section {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	min-height: 600px;
}

.catalogue-request-overlay {
	background: rgba(17, 17, 17, 0.45);
}

.catalogue-request-card {
	background-color: var(--color-bg-primary); 
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25);
}

.catalogue-request-title {
	font-family: var(--font-primary);
	font-size: var(--font-size-display-1);     
	line-height: 1.15;
	color: var(--color-accent-brown);         
	font-weight: var(--font-weight-normal);
}

.catalogue-request-form-wrapper input[type="text"],
.catalogue-request-form-wrapper input[type="email"],
.catalogue-request-form-wrapper input[type="tel"] {
	width: 100%;
	border: none;
	border-bottom: 1px solid var(--color-border-default) !important;
	background-color: transparent !important;
	color: var(--color-text-primary);
	font-family: var(--font-secondary);       
	font-size: var(--font-size-sm);           
	padding: 10px 0;
	outline: none;
	border-radius: 0;
	transition: border-color 0.3s ease;
}

.catalogue-request-form-wrapper input:focus {
	border-bottom-color: var(--color-accent-brown) !important;
}

.catalogue-form-question {
	font-size: var(--font-size-sm);           
	color: var(--color-text-secondary);       
}

.catalogue-request-form-wrapper .wpcf7-checkbox .wpcf7-list-item {
	margin: 0 24px 0 0;
}

.catalogue-request-form-wrapper .wpcf7-checkbox label {
	font-family: var(--font-secondary);       
	font-size: var(--font-size-sm);
	color: var(--color-accent-brown);         
	font-weight: 500;
	cursor: pointer;
}

.catalogue-request-form-wrapper .wpcf7-checkbox input[type="checkbox"] {
	accent-color: var(--color-accent-brown);
	margin-right: 8px;
}

.catalogue-request-form-wrapper .wpcf7-submit {
	font-family: var(--font-primary-bold);    
	font-size: var(--font-size-sm);          
	font-weight: var(--font-weight-medium);  
	text-transform: uppercase;
	letter-spacing: 2px;
	word-spacing: 4px;
	background-color: var(--color-accent-brown); 
	color: var(--color-bg-primary) !important;   
	border: none;
	padding: 14px 32px !important;
	border-radius: 4px;
	transition: background-color 0.3s ease, transform 0.2s ease;
}

.catalogue-request-form-wrapper .wpcf7-submit:hover {
	background-color: var(--color-text-primary);
	transform: translateY(-1px);
}

.query-note {
	font-size: var(--font-size-xs);           
	color: var(--color-text-secondary);
}

.offering-patterns-section {
	background-color: var(--color-bg-primary); 
}

.patterns-section-title {
	font-family: var(--font-primary);
	font-size: var(--font-size-xl);       
	color: var(--color-text-primary);     
	font-weight: var(--font-weight-normal);
}

.border-light-subtle {
	border-color: var(--color-border-default) !important;
}

.btn-pattern-nav {
	font-family: var(--font-primary);
	background-color: transparent;
	color: var(--color-text-primary);
	border: 1px solid var(--color-border-default);
	width: 40px;
	height: 40px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	transition: all 0.3s ease;
}

.btn-pattern-nav:hover {
	background-color: var(--color-text-primary);
	color: var(--color-bg-primary);
}

.patterns-carousel {
	margin: 0 -12px;
}

.pattern-slide-item {
	outline: none;
}

.pattern-card-link {
	outline: none;
}

.pattern-image-box {
	background-color: var(--color-bg-secondary);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.pattern-image-box img {
	transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.pattern-card-link:hover .pattern-image-box img {
	transform: scale(1.03);
}

.pattern-card-title {
	font-family: var(--font-primary);
	font-size: var(--font-size-base);     
	color: var(--color-accent-brown);     
	font-weight: var(--font-weight-medium);
}

.instagram-section {
	background-color: var(--color-accent-brown);
	color: var(--color-bg-primary);
}

.instagram-section-title {
	font-family: var(--font-primary, "Adobe Caslon Pro", Georgia, serif);
	font-size: var(--font-size-xxl, 26px);
	line-height: var(--line-height-xxl, 34px);
	font-weight: var(--font-weight-normal, 400);
	color: var(--color-bg-primary, var(--color-bg-primary));
}

.btn-instagram-handle {
	background-color: var(--color-bg-primary, var(--color-bg-primary));
	color: var(--color-text-primary, #111111);
	font-family: var(--font-primary-bold, "Futura PT", sans-serif);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-medium);
	border-radius: 6px;
	padding: 12px 28px;
	text-decoration: none;
	display: inline-block;
	white-space: nowrap;
	transition: background-color 0.3s ease, color 0.3s ease, transform 0.2s ease;
	text-transform: uppercase;
	letter-spacing: 2px;
	word-spacing: 4px;
}

.btn-instagram-handle:hover,
.btn-instagram-handle:focus-visible {
	background-color: var(--color-bg-canvas);
	color: var(--color-accent-brown);
	transform: translateY(-1px);
}

.instagram-divider {
	border: 0;
	border-top: 1px solid rgba(255, 248, 239, 0.25);
	opacity: 1;
	margin: 0;
}

.instagram-card {
	position: relative;
	background-color: rgba(0, 0, 0, 0.15);
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
}

.instagram-img {
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.instagram-card-link:hover .instagram-img,
.instagram-card-link:focus-visible .instagram-img {
	transform: scale(1.05);
}

.instagram-reel-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	width: 32px;
	height: 32px;
	background: rgba(0, 0, 0, 0.55);
	backdrop-filter: blur(4px);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-bg-canvas);
	z-index: 2;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.ratio-3x4 {
	--bs-aspect-ratio: 132%;
}

.ratio-16x10 {
	--bs-aspect-ratio: 56%;
}

.btn-partner-cta,
.btn-directions-cta {
	font-family: var(--font-primary-bold);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-medium);
	text-transform: uppercase;
	letter-spacing: 2px;
	word-spacing: 4px;
	color: var(--color-text-primary) !important;
	display: inline-block;
	border-bottom: 1.5px solid var(--color-text-primary);
	padding-bottom: 4px;
	transition: opacity 0.25s ease, transform 0.2s ease;
}

.btn-partner-cta:hover,
.btn-directions-cta:hover {
	opacity: 0.8;
	transform: translateX(2px);
}

.btn-collections-action,
.btn-values-cta {
	font-family: var(--font-primary-bold);
	background-color: var(--color-bg-primary);
	color: var(--color-accent-brown) !important;
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-medium);
	padding: 12px 28px !important;
	border-radius: 8px;
	border: none;
	transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
	text-transform: uppercase;
	letter-spacing: 2px;
	word-spacing: 4px;
}

.btn-collections-action:hover,
.btn-values-cta:hover {
	background-color: var(--color-bg-secondary);
	transform: translateY(-2px);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.mega-card-square img,
.mega-card-hero img,
.sub-category-img-frame img,
.project-image-box img,
.press-image-box img,
.podcast-image-box img,
.about-banner-container img,
.vm-image-wrapper img,
.event-image-box img,
.masonry-card-item img,
.centre-gallery-item img,
.project-img-frame img,
.offering-image-box img {
	transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.press-card-wrapper:hover .press-image-box img,
.press-card-link:hover .press-image-box img,
.podcast-card-link:hover .podcast-image-box img,
.about-banner-container:hover img,
.event-card-link:hover .event-image-box img,
.masonry-card-item:hover img,
.centre-gallery-item:hover img,
.project-card-link:hover .project-img-frame img,
.offering-card-link:hover .offering-image-box img {
	transform: scale(1.02);
}

.vm-image-wrapper:hover img,
.project-card-wrapper:hover .project-image-box img {
	transform: scale(1.03);
}

.category-detail-desc p {
	font-size: var(--font-size-sm);       
	line-height: var(--line-height-sm);   
	color: var(--color-bg-primary);       
	opacity: 0.85;
	margin-bottom: 1rem;
}

.category-detail-desc p:last-child {
	margin-bottom: 0;
}

.vision-mission-section {
	background-color: var(--color-bg-primary); 
}

.vm-image-frame {
	background-color: var(--color-bg-secondary); 
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.vm-image-frame img {
	transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.vm-card-wrapper:hover .vm-image-frame img {
	transform: scale(1.02);
}

.vm-block-title {
	font-family: var(--font-primary);
	font-size: var(--font-size-xxl);      
	color: var(--color-accent-brown);     
	font-weight: var(--font-weight-normal);
}

.vm-divider {
	border: 0;
	height: 1px;
	background-color: var(--color-accent-brown); 
	opacity: 0.25;
	margin: 0;
}

.vm-block-body p {
	font-family: var(--font-secondary);
	font-size: var(--font-size-sm);       
	line-height: var(--line-height-base);   
	color: var(--color-text-secondary);   
	margin-bottom: 0;
}

.timeline-section {
	background-color: var(--color-bg-primary); 
}

.timeline-main-title {
	font-family: var(--font-primary);
	font-size: var(--font-size-xxl);      
	line-height: var(--line-height-xxl);
	color: var(--color-accent-brown);     
	font-weight: var(--font-weight-normal);
}

.timeline-intro-copy p {
	font-family: var(--font-secondary);  
	font-size: var(--font-size-base);       
	line-height: var(--line-height-base);   
	color: var(--color-text-secondary);   
	margin-bottom: 0;
}

.timeline-panel-item {
	display: none; 
}

.timeline-panel-item.active {
	display: block; 
	animation: timelineFadeIn 0.4s ease forwards;
}

@keyframes timelineFadeIn {
	from { opacity: 0; transform: translateY(6px); }
	to { opacity: 1; transform: translateY(0); }
}

.timeline-info-card {
	background-color: var(--color-accent-brown); 
	min-height: 120px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.timeline-card-year {
	font-size: var(--font-size-xxl);      
	font-weight: var(--font-weight-normal);
}

.timeline-card-body p {
	font-size: var(--font-size-sm);       
	line-height: var(--line-height-base);   
	color: var(--color-bg-primary);       
	opacity: 0.9;
	margin-bottom: 0;
}

.timeline-image-frame {
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

.timeline-track-line {
	height: 1px;
	background-color: var(--color-accent-brown);
	opacity: 0.3;
	z-index: 1;
	top: 40%;
}

.timeline-node-btn {
	outline: none;
	cursor: pointer;
	transition: opacity 0.3s ease;
}

.timeline-dot-ring {
	width: 14px;
	height: 14px;
	border: 1px solid var(--color-accent-brown);
	background-color: var(--color-bg-primary); 
	transition: all 0.3s ease;
}

.timeline-node-btn.active .timeline-dot-ring,
.timeline-node-btn:hover .timeline-dot-ring {
	background-color: var(--color-accent-brown); 
	transform: scale(1.15);
}

.timeline-node-year {
	font-size: var(--font-size-sm);       
	color: var(--color-text-secondary);
	transition: color 0.3s ease;
}

.timeline-node-btn.active .timeline-node-year,
.timeline-node-btn:hover .timeline-node-year {
	color: var(--color-accent-brown);
	font-weight: var(--font-weight-medium);
}

.event-gallery-section {
	background-color: var(--color-bg-primary); 
}

.event-masonry-container {
	column-count: 3;                     
	column-gap: 16px;                    
	width: 100%;
}

.event-masonry-item {
	break-inside: avoid;                 
	outline: none;
	background-color: var(--color-bg-secondary);
}

.event-masonry-item img {
	display: block;
	transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.event-masonry-item:hover img {
	transform: scale(1.02);              
}

.team-bio-offcanvas .offcanvas-body {
  
  scrollbar-width: none;

  -ms-overflow-style: none;
}

.team-bio-offcanvas .offcanvas-body::-webkit-scrollbar {
  display: none;
}

.whatsapp-float-btn {
	position: fixed;
	bottom: 28px;
	right: 28px;
	width: 60px;
	height: 60px;
	background-color: #25D366; 
	color: var(--color-bg-canvas);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
	z-index: 9999;
	transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s ease;
	outline: none;
	text-decoration: none;
}

.whatsapp-icon-img {
	width: 36px;
	height: 36px;
	object-fit: contain;
	filter: brightness(0) invert(1); 
}

.whatsapp-float-btn:hover {
	transform: scale(1.08) translateY(-2px);
	box-shadow: 0 8px 24px rgba(37, 211, 102, 0.45);
	color: var(--color-bg-canvas);
}

.whatsapp-float-btn:active {
	transform: scale(0.96);
}

#location-filter-row {
	position: sticky;
	top: 84px;
	background-color: var(--color-bg-primary);
	z-index: 10;
}

.location-details-wrapper {
	position: sticky;
	top: 200px;
}

.css-tooltip-wrapper::after {
	content: attr(data-tooltip);
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(-4px);
	background-color: var(--color-accent-brown); 
	color: var(--color-bg-primary);             
	font-family: var(--font-primary);
	font-size: var(--font-size-xs);             
	padding: 6px 12px;
	border-radius: 4px;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, transform 0.25s ease;
	z-index: 10;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.css-tooltip-wrapper:hover::after {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(-8px);
}

.btn-centre-tab.is-disabled,
.btn-centre-tab:disabled {
	opacity: 0.45 !important;
	border-color: var(--color-border-default) !important;
	color: var(--color-text-secondary) !important;
	background-color: transparent !important;
	cursor: not-allowed !important;
}

.wpcf7 form .wpcf7-response-output {
	margin: 1em 0em 1em !important;
	padding: 0.2em 0em !important;
	border: none !important;
}

.vision-mission-section .col-md-6:first-child {
	border-right: 1px solid var(--color-accent-brown);
}

.offering-cat-title {
	font-family: var(--font-primary);
	font-size: var(--font-size-display-2); 
	line-height: 1.05;
	color: var(--color-accent-brown);     
	letter-spacing: -0.03em;
}

.offering-cat-desc p {
	font-family: var(--font-secondary);  
	font-size: var(--font-size-base);       
	line-height: var(--line-height-base);   
	color: var(--color-text-secondary);   
	margin-bottom: 1rem;
}

.offering-cat-desc p:last-child {
	margin-bottom: 0;
}

.specifications-title {
	font-family: var(--font-primary);
	font-size: var(--font-size-xl);       
	color: var(--color-text-primary);     
	font-weight: var(--font-weight-normal);
}

.spec-col-label {
	font-family: var(--font-primary);
	font-size: var(--font-size-sm);       
	font-weight: 500;
	color: var(--color-text-primary);
}

.spec-col-content p {
	font-family: var(--font-secondary);
	font-size: var(--font-size-sm);       
	line-height: 1.6;
	color: var(--color-text-secondary);
	margin-bottom: 0.35rem;
}

.spec-col-content p:last-child {
	margin-bottom: 0;
}

.offering-cat-banner-frame {
	background-color: var(--color-bg-secondary);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.nav-pills .nav-link {
	border-radius: 0;
}

.btn-partner-cta,
.btn-directions-cta {
	font-family: var(--font-primary-bold);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-medium);
	text-transform: uppercase;
	letter-spacing: 2px;
	word-spacing: 4px;
	color: var(--color-text-primary) !important;
	display: inline-block;
	border-bottom: 1.5px solid var(--color-text-primary);
	padding-bottom: 4px;
	transition: opacity 0.25s ease, transform 0.2s ease;
}

.btn-partner-cta:hover,
.btn-directions-cta:hover {
	opacity: 0.8;
	transform: translateX(2px);
}

.btn-collections-action,
.btn-values-cta {
	font-family: var(--font-primary-bold);
	background-color: var(--color-bg-primary);
	color: var(--color-accent-brown) !important;
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-medium);
	padding: 12px 28px !important;
	border-radius: 8px;
	border: none;
	transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
	text-transform: uppercase;
	letter-spacing: 2px;
	word-spacing: 4px;
}

.btn-collections-action:hover,
.btn-values-cta:hover {
	background-color: var(--color-bg-secondary);
	transform: translateY(-2px);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.mega-card-square img,
.mega-card-hero img,
.sub-category-img-frame img,
.project-image-box img,
.press-image-box img,
.podcast-image-box img,
.about-banner-container img,
.vm-image-wrapper img,
.event-image-box img,
.masonry-card-item img,
.centre-gallery-item img,
.project-img-frame img,
.offering-image-box img {
	transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.press-card-wrapper:hover .press-image-box img,
.press-card-link:hover .press-image-box img,
.podcast-card-link:hover .podcast-image-box img,
.about-banner-container:hover img,
.event-card-link:hover .event-image-box img,
.masonry-card-item:hover img,
.centre-gallery-item:hover img,
.project-card-link:hover .project-img-frame img,
.offering-card-link:hover .offering-image-box img {
	transform: scale(1.02);
}

.vm-image-wrapper:hover img,
.project-card-wrapper:hover .project-image-box img {
	transform: scale(1.03);
}

.sub-category-card:hover img {
	transform: scale(1.04);
}

.mega-card-square:hover img,
.mega-card-hero:hover img {
	transform: scale(1.05);
}

@media (min-width: 768px) {
	.hero-thumb-card {
		width: 120px;
		height: 80px;
		border-radius: 16px;
	}
}

@media (min-width: 992px) {
	.collections-tab-nav {
		border-bottom: none;
		padding-bottom: 0;
	}

	.collections-nav-link {
		padding: 18px 0 !important;
		border-bottom: 1px solid rgba(255, 248, 239, 0.1) !important;
		width: 100%;
		display: block;
	}

	.collections-nav-link.active {
		border-bottom-color: rgba(255, 248, 239, 0.1) !important; 
		position: relative;
	}

	.collections-nav-link.active::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background-color: var(--color-bg-primary); 
	}

	.mfg-slide-img {
		height: 100%; 
	}
}

@media (max-width: 991px) {
	.about-banner-container {
		aspect-ratio: 4 / 3; 
	}

	.culture-brand-section {
		background-attachment: scroll; 
	}

	.culture-card-title {
		font-size: var(--font-size-xl); 
		line-height: 1.2;
	}

	.values-carousel-wrapper {
		padding-right: 0;
	}

	.values-carousel-fade-overlay {
		display: none; 
	}

	.border-light-subtle {
		border: none !important; 
	}

	.values-slide-item {
		border: none !important;
		padding: 0 10px !important;
	}

	.values-bottom-copy p {
		font-size: var(--font-size-base); 
		line-height: var(--line-height-base);
	}

	.masonry-grid-container {
		column-count: 2;                 
		column-gap: 12px;
	}

	.featured-card-title {
		font-size: var(--font-size-xl);  
		line-height: 1.3;
	}

	.videos-carousel-fade-overlay {
		display: none; 
	}

	.property-value {
		font-size: var(--font-size-sm);  
	}

	.project-main-title {
		font-size: var(--font-size-xxl); 
		line-height: 1.25;
		margin-bottom: 12px;
	}

	.about-main-title,
	.team-main-title,
	.events-main-title,
	.media-main-title,
	.centres-main-title,
	.contact-main-title,
	.projects-main-title,
	.offering-main-title,
	.offering-archive-title,
	.resources-main-title {
		line-height: 1.25;
		margin-bottom: 12px;
	}

	.event-masonry-container {
		column-count: 2;                 
		column-gap: 12px;
	}

	.offering-cat-title {
		font-size: var(--font-size-xxl); 
	}

	.navbar-custom .navbar-collapse {
		background-color: var(--color-bg-primary) !important;
		padding: 20px 0;
		max-height: 80vh;
		overflow-y: auto;
	}

	.navbar-custom .nav-link {
		font-family: var(--font-primary);
		font-size: var(--font-size-base);
		font-weight: 500;
		color: var(--color-text-primary) !important;
		padding: 12px 0px !important; 
		text-transform: uppercase;
		letter-spacing: 1px;
	}

	.navbar-custom.navbar-transparent-overlay:not(.scrolled):not(.dropdown-open) .nav-link {
		color: var(--color-text-primary) !important;
	}

	.navbar-custom .dropdown-menu {
		display: none !important;
		position: static !important;
		float: none !important;
		box-shadow: none !important;
		border: none !important;
		padding-left: 20px !important;
		background-color: transparent !important;
		margin: 0 !important;
		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;
	}

	.navbar-custom .dropdown .show.dropdown-menu {
		display: block !important; 
	}

	.navbar-custom.navbar-transparent-overlay:not(.scrolled):not(.dropdown-open):has(.navbar-collapse.show) {
		background-color: var(--color-bg-primary) !important;
	}

	.navbar-custom.navbar-transparent-overlay:not(.scrolled):not(.dropdown-open):has(.navbar-collapse.show) .logo-light {
		display: none;
	}

	.navbar-custom.navbar-transparent-overlay:not(.scrolled):not(.dropdown-open):has(.navbar-collapse.show) .logo-dark {
		display: block;
	}

	.about-main-title,
	.team-main-title,
	.events-main-title,
	.media-main-title,
	.centres-main-title,
	.contact-main-title,
	.projects-main-title,
	.offering-main-title,
	.offering-archive-title,
	.resources-main-title {
		line-height: 1.25;
		margin-bottom: 12px;
	}
	.events-main-title {
		line-height: 1.2;
	}
}

@media (max-width: 767px) {
	html, body {
		max-width: 100%;
		overflow-x: hidden;
	}

	.vm-text-block {
		padding: 12px 0 !important;
	}

	.partners-logo-box {
		aspect-ratio: 16 / 10; 
		margin-top: 12px;
	}

	.catalogue-request-title {
		font-size: var(--font-size-xxl);     
	}

	.min-height-300 {
		min-height: 200px;
	}

	.vision-mission-section .col-md-6:first-child {
		border-right: 0 !important;
	}

	ul.navbar-nav {
		margin: 0 !important;
	}

	.vm-block-title {
		font-size: var(--font-size-xl);  
	}

	.timeline-nodes-wrapper {
		overflow-x: auto;
		padding-bottom: 12px;
		justify-content: flex-start !important;
		gap: 32px;
	}

	.timeline-track-line {
		display: none;
	}

	.whatsapp-float-btn {
		bottom: 20px;
		right: 20px;
		width: 52px;
		height: 52px;
	}

	.whatsapp-icon-img {
		width: 30px;
		height: 30px;
	}
}

@media (max-width: 576px) {
	.masonry-grid-container {
		column-count: 1;                 
	}

	.centre-masonry-gallery {
		column-count: 1;                 
	}

	.event-masonry-container {
		column-count: 1;                 
	}
	
	.instagram-section-title {
		font-size: 20px;
		line-height: 26px;
	}
	
	.btn-instagram-handle {
		font-size: 13px;
		padding: 6px 12px;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.reveal-on-scroll.reveal-up {
		transform: translateY(var(--reveal-slide-dist));
	}

	.reveal-on-scroll.reveal-down {
		transform: translateY(calc(-1 * var(--reveal-slide-dist)));
	}

	.reveal-on-scroll.reveal-left {
		transform: translateX(calc(-1 * var(--reveal-slide-dist)));
	}

	.reveal-on-scroll.reveal-right {
		transform: translateX(var(--reveal-slide-dist));
	}

	.reveal-on-scroll.reveal-scale {
		transform: scale(0.97);
	}

	.reveal-on-scroll.reveal-visible {
		opacity: 1;
		transform: translate(0, 0) scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.reveal-on-scroll,
	.reveal-navbar-on-load {
		opacity: 1 !important;
		transform: none !important;
	}
}