Contact Us – Sadhana Enterprise | Let’s Connect
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
–gold: #C9A961;
–gold-light: #E8D7B8;
–gold-dark: #9D7E3C;
–cream: #FAF8F3;
–white: #FFFFFF;
–black: #1A1A1A;
–charcoal: #2C2C2C;
–gray-light: #E5E5E5;
–gray-medium: #999999;
}
body {
font-family: ‘Inter’, sans-serif;
background: var(–cream);
color: var(–charcoal);
overflow-x: hidden;
line-height: 1.7;
}
/* Prevent WordPress theme underlines globally */
a, a:hover, a:focus, a:active, .btn, .nav-links a {
text-decoration: none !important;
box-shadow: none !important;
outline: none !important;
}
/* Custom Cursor (hidden on mobile) */
.cursor {
width: 12px;
height: 12px;
background: var(–gold);
border-radius: 50%;
position: fixed;
pointer-events: none;
z-index: 10000;
transition: all 0.15s ease;
transform: translate(-50%, -50%);
mix-blend-mode: multiply;
}
.cursor-follower {
width: 40px;
height: 40px;
border: 2px solid var(–gold);
border-radius: 50%;
position: fixed;
pointer-events: none;
z-index: 9999;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
transform: translate(-50%, -50%);
mix-blend-mode: multiply;
}
.cursor-hover {
transform: translate(-50%, -50%) scale(2);
background: transparent;
}
/* Navigation */
nav {
position: fixed;
top: 0;
width: 100%;
z-index: 1000;
padding: 1.2rem 5%;
background: rgba(250, 248, 243, 0.98);
backdrop-filter: blur(20px);
border-bottom: 1px solid rgba(201, 169, 97, 0.15);
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
nav.scrolled {
padding: 0.8rem 5%;
background: rgba(255, 255, 255, 0.98);
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
}
.nav-container {
max-width: 1600px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
}
.logo {
display: inline-flex;
align-items: center;
z-index: 1002;
}
.logo img {
height: 55px;
width: auto;
border-radius: 4px;
transition: transform 0.3s ease;
}
.logo:hover img {
transform: scale(1.02);
}
.nav-links {
display: flex;
gap: 3rem;
list-style: none;
}
.nav-links a {
color: var(–charcoal) !important;
font-weight: 600;
font-size: 0.9rem;
letter-spacing: 1px;
position: relative;
transition: all 0.3s ease;
}
.nav-links a::before {
content: ”;
position: absolute;
bottom: -5px;
left: 50%;
width: 0;
height: 2px;
background: var(–gold);
transform: translateX(-50%);
transition: width 0.3s ease;
}
.nav-links a:hover::before { width: 100%; }
.nav-links a:hover { color: var(–gold) !important; }
/* Mobile Hamburger */
.hamburger {
display: none;
cursor: pointer;
flex-direction: column;
gap: 6px;
z-index: 1002;
padding: 10px;
}
.hamburger span {
width: 30px;
height: 2px;
background-color: var(–charcoal);
transition: all 0.4s ease;
border-radius: 2px;
}
.hamburger.active span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.hamburger.active span:nth-child(2) { opacity: 0; }
.hamburger.active span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
.mobile-menu {
position: fixed;
top: 0;
right: -100%;
width: 100%;
height: 100vh;
background: rgba(255, 255, 255, 0.98);
backdrop-filter: blur(15px);
z-index: 1001;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 2rem;
transition: right 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.mobile-menu.active { right: 0; }
.mobile-menu a {
font-family: ‘Playfair Display’, serif;
font-size: 2rem;
font-weight: 600;
color: var(–charcoal) !important;
letter-spacing: 1px;
transition: color 0.3s ease;
}
.mobile-menu a:hover { color: var(–gold) !important; }
/* Page Header */
.page-header {
padding: 12rem 5% 6rem;
background: linear-gradient(135deg, var(–white) 0%, var(–cream) 100%);
text-align: center;
position: relative;
overflow: hidden;
}
.header-pattern {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0.03;
background-image: repeating-linear-gradient(45deg, var(–gold) 0px, var(–gold) 2px, transparent 2px, transparent 15px);
}
.page-header-content {
max-width: 1000px;
margin: 0 auto;
position: relative;
z-index: 10;
}
.page-badge {
display: inline-block;
padding: 0.7rem 1.5rem;
background: var(–white);
border: 1px solid var(–gold-light);
border-radius: 50px;
font-size: 0.75rem;
letter-spacing: 2px;
text-transform: uppercase;
color: var(–gold-dark);
font-weight: 600;
margin-bottom: 2rem;
}
.page-title {
font-family: ‘Playfair Display’, serif;
font-size: clamp(3rem, 8vw, 6rem);
font-weight: 700;
line-height: 1.1;
margin-bottom: 2rem;
color: var(–black);
}
.page-title .highlight {
background: linear-gradient(135deg, var(–gold) 0%, var(–gold-light) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
font-style: italic;
}
.page-description {
font-size: 1.3rem;
color: var(–gray-medium);
line-height: 1.9;
max-width: 800px;
margin: 0 auto;
}
/* Contact Section Specific Styles */
.contact-page-section {
padding: 8rem 5%;
background: var(–white);
position: relative;
z-index: 10;
}
.contact-page-container {
max-width: 1600px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 2fr;
gap: 6rem;
align-items: start;
}
.contact-sidebar {
position: sticky;
top: 120px;
opacity: 0;
transform: translateY(30px);
transition: all 0.8s ease;
}
.contact-sidebar.visible {
opacity: 1;
transform: translateY(0);
}
.contact-sidebar .section-label {
font-size: 0.85rem;
letter-spacing: 3px;
text-transform: uppercase;
color: var(–gold);
margin-bottom: 1.5rem;
display: inline-block;
font-weight: 600;
}
.contact-sidebar .section-title {
font-family: ‘Playfair Display’, serif;
font-size: clamp(2.5rem, 4vw, 3.5rem);
font-weight: 700;
line-height: 1.2;
margin-bottom: 1.5rem;
color: var(–black);
}
.contact-sidebar .section-text {
font-size: 1.1rem;
line-height: 1.9;
color: var(–gray-medium);
}
.contact-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 3rem;
}
.contact-card {
padding: 3rem 2.5rem;
background: var(–cream);
border-radius: 20px;
border-top: 4px solid var(–gold);
transition: all 0.4s ease;
opacity: 0;
transform: translateY(30px);
}
.contact-card.visible {
opacity: 1;
transform: translateY(0);
}
.contact-card:hover {
transform: translateY(-10px);
box-shadow: 0 20px 60px rgba(201, 169, 97, 0.15);
background: var(–white);
}
.contact-card-label {
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 2px;
color: var(–gray-medium);
margin-bottom: 1rem;
font-weight: 600;
display: block;
}
.contact-card-title {
font-family: ‘Playfair Display’, serif;
font-size: 2rem;
font-weight: 700;
color: var(–black);
margin-bottom: 1rem;
}
.contact-card-text {
color: var(–gray-medium);
line-height: 1.8;
margin-bottom: 2rem;
font-size: 1rem;
}
.contact-card-value {
font-size: 1.3rem;
color: var(–gold);
font-weight: 600;
font-family: ‘Playfair Display’, serif;
display: inline-block;
transition: color 0.3s ease;
}
.contact-card-value:hover {
color: var(–charcoal);
}
.hours-list {
list-style: none;
border-top: 1px solid var(–gray-light);
padding-top: 1.5rem;
}
.hours-list li {
display: flex;
justify-content: space-between;
margin-bottom: 1rem;
color: var(–charcoal);
font-family: ‘Playfair Display’, serif;
font-size: 1.1rem;
}
.hours-list li span:last-child {
color: var(–gold);
font-weight: 600;
}
/* Responsive */
@media (max-width: 1024px) {
.contact-page-container {
grid-template-columns: 1fr;
gap: 4rem;
}
.contact-sidebar {
position: static;
}
}
@media (max-width: 768px) {
body { cursor: default; }
.cursor, .cursor-follower { display: none; }
.nav-links { display: none; }
.hamburger { display: flex; }
.page-header { padding: 10rem 5% 4rem; }
.contact-grid { grid-template-columns: 1fr; gap: 2rem; }
}
// Custom Cursor
const cursor = document.querySelector(‘.cursor’);
const follower = document.querySelector(‘.cursor-follower’);
let mouseX = 0, mouseY = 0;
let cursorX = 0, cursorY = 0;
document.addEventListener(‘mousemove’, (e) => {
mouseX = e.clientX;
mouseY = e.clientY;
});
function animateCursor() {
const distX = mouseX – cursorX;
const distY = mouseY – cursorY;
cursorX += distX * 0.3;
cursorY += distY * 0.3;
cursor.style.left = mouseX + ‘px’;
cursor.style.top = mouseY + ‘px’;
follower.style.left = cursorX + ‘px’;
follower.style.top = cursorY + ‘px’;
requestAnimationFrame(animateCursor);
}
animateCursor();
// Hover Effect
document.querySelectorAll(‘a, button, .contact-card’).forEach(el => {
el.addEventListener(‘mouseenter’, () => {
cursor.classList.add(‘cursor-hover’);
follower.style.transform = ‘translate(-50%, -50%) scale(1.5)’;
});
el.addEventListener(‘mouseleave’, () => {
cursor.classList.remove(‘cursor-hover’);
follower.style.transform = ‘translate(-50%, -50%) scale(1)’;
});
});
// Navbar Scroll
window.addEventListener(‘scroll’, () => {
const navbar = document.getElementById(‘navbar’);
if (window.scrollY > 50) navbar.classList.add(‘scrolled’);
else navbar.classList.remove(‘scrolled’);
});
// Mobile Menu
const hamburger = document.querySelector(‘.hamburger’);
const mobileMenu = document.querySelector(‘.mobile-menu’);
hamburger.addEventListener(‘click’, () => {
hamburger.classList.toggle(‘active’);
mobileMenu.classList.toggle(‘active’);
});
document.querySelectorAll(‘.mobile-menu a’).forEach(link => {
link.addEventListener(‘click’, () => {
hamburger.classList.remove(‘active’);
mobileMenu.classList.remove(‘active’);
});
});
// Intersection Observer for scroll reveal
const observerOptions = {
threshold: 0.1,
rootMargin: ‘0px 0px -50px 0px’
};
const revealObserver = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add(‘visible’);
}
});
}, observerOptions);
document.querySelectorAll(‘.reveal-element’).forEach(el => {
revealObserver.observe(el);
});
// Smooth scrolling
document.querySelectorAll(‘a[href^=”#”]’).forEach(anchor => {
anchor.addEventListener(‘click’, function (e) {
const targetId = this.getAttribute(‘href’);
if(targetId.length > 1) {
e.preventDefault();
const target = document.querySelector(targetId);
if (target) {
target.scrollIntoView({
behavior: ‘smooth’,
block: ‘start’
});
}
}
});
});
/* — Required Variables (if not already in your global CSS) — */
:root {
–gold: #C9A961;
–gold-light: #E8D7B8;
–gold-dark: #9D7E3C;
–cream: #FAF8F3;
–white: #FFFFFF;
–black: #1A1A1A;
–charcoal: #2C2C2C;
–gray-light: #E5E5E5;
–gray-medium: #999999;
}
/* — Footer Styles — */
footer {
background: var(–white);
padding: 5rem 5% 2rem;
border-top: 1px solid var(–gray-light);
font-family: ‘Inter’, sans-serif;
box-sizing: border-box;
}
.footer-content {
max-width: 1400px;
margin: 0 auto;
}
.footer-main {
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap: 4rem;
margin-bottom: 4rem;
}
.footer-about p {
color: var(–gray-medium);
line-height: 1.8;
margin-top: 1.5rem;
font-size: 1rem;
}
.footer-links h4 {
font-size: 1.1rem;
font-weight: 700;
margin-bottom: 1.5rem;
color: var(–black);
font-family: ‘Inter’, sans-serif;
}
.footer-links ul {
list-style: none;
padding: 0;
margin: 0;
}
.footer-links ul li {
margin-bottom: 0.8rem;
}
.footer-links ul a {
color: var(–gray-medium) !important;
transition: color 0.3s;
text-decoration: none !important;
box-shadow: none !important;
font-size: 1rem;
}
.footer-links ul a:hover {
color: var(–gold) !important;
}
.footer-links .gst-label {
margin-top: 1rem;
color: var(–charcoal);
font-weight: 600;
}
.footer-address {
color: var(–gray-medium);
font-size: 0.95rem;
line-height: 1.6;
margin: 0;
}
.footer-bottom {
padding-top: 2rem;
border-top: 1px solid var(–gray-light);
text-align: center;
color: var(–gray-medium);
font-size: 0.9rem;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
gap: 1rem;
}
.footer-bottom a {
color: var(–gold) !important;
font-weight: 600;
text-decoration: none !important;
}
/* — Footer Responsive Queries — */
@media (max-width: 1024px) {
.footer-main {
grid-template-columns: 1fr 1fr;
gap: 3rem;
}
}
@media (max-width: 768px) {
.footer-main {
grid-template-columns: 1fr;
gap: 2.5rem;
}
.footer-bottom {
flex-direction: column;
text-align: center;
justify-content: center;
}
}