/* Contact page */
.contact-card { background: #fff; border: 1px solid rgba(10,35,66,0.08); border-radius: 14px; padding: 1.25rem; box-shadow: 0 6px 20px rgba(0,0,0,0.05); position: relative; overflow: hidden; }
.contact-card .stretched-link { position: relative; z-index: 1; }
.contact-icon { width: 56px; height: 56px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; font-size: 1.5rem; }
.cta-strip { background: linear-gradient(90deg, rgba(212,175,55,0.25), rgba(212,175,55,0.15)); border: 1px solid rgba(10,35,66,0.12); border-radius: 14px; padding: 1.25rem; margin-top: 1rem; }
/* Footer */
.site-footer { background: var(--gold) !important; color: var(--navy); border-top: 1px solid rgba(0,0,0,0.08); }
.site-footer .footer-dev-link { color: var(--navy); }
.site-footer .footer-dev-link:hover { color: var(--navy-900); text-decoration: underline; }

/* Mobile action bar */
.mobile-action-bar { position: fixed; left: 0; right: 0; bottom: 0; padding: .5rem; display: flex; gap: .5rem; background: rgba(255,255,255,0.9); backdrop-filter: blur(6px); border-top: 1px solid rgba(0,0,0,0.1); z-index: 1050; }
@media (min-width: 768px) { .mobile-action-bar { display: none; } }
@media (max-width: 767.98px) { body { padding-bottom: 72px; } }
/* Why Choose Us section */
.why-section { background: #1f2937; /* dark grey */ }
.why-card { background: #111827; border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; padding: 1.25rem; box-shadow: 0 6px 20px rgba(0,0,0,0.35); transition: transform .2s ease, box-shadow .2s ease; text-align: center; color: #e5e7eb; }
.why-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(0,0,0,0.08); }
.why-icon { width: 64px; height: 64px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; background: #ffffff; border: 2px solid var(--gold); box-shadow: 0 6px 16px rgba(0,0,0,0.25); color: var(--navy); font-size: 1.5rem; }
.why-img-icon { width: 36px; height: 36px; object-fit: contain; display: block; image-rendering: auto; filter: drop-shadow(0 1px 1px rgba(0,0,0,0.25)); }
.why-card:hover .why-icon { transform: scale(1.04); transition: transform .2s ease; }
/* Services section styling */
.services-section { background: linear-gradient(180deg, rgba(212,175,55,0.06), rgba(10,35,66,0.03)); }
.service-card { position: relative; background: #fff; border: 1px solid rgba(10,35,66,0.08); border-radius: 14px; box-shadow: 0 6px 24px rgba(0,0,0,0.06); transition: transform .2s ease, box-shadow .2s ease; overflow: hidden; }
.service-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(0,0,0,0.08); }
.service-accent { position: absolute; inset: 0; background: radial-gradient(120px 60px at -10% -10%, rgba(212,175,55,0.25), transparent 60%), radial-gradient(120px 60px at 110% 110%, rgba(10,35,66,0.12), transparent 60%); pointer-events: none; }
.service-body { position: relative; padding: 1.25rem; }
.service-icon { width: 56px; height: 56px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; font-size: 1.5rem; }
.bg-gold { background: var(--gold); }
.text-navy { color: var(--navy); }
.btn-outline-primary { --bs-btn-color: var(--navy); --bs-btn-border-color: var(--navy); --bs-btn-hover-bg: var(--navy); --bs-btn-hover-border-color: var(--navy); --bs-btn-hover-color: #fff; }
/* Color theme */
:root {
	--navy: #0a2342;
	--gold: #d4af37;
	--white: #ffffff;
	--navy-900: #07182d;
	--gold-700: #b18f2e;
	--gold-300: #ead276;
	--nav-height: 64px;
}

/* Topbar */
.topbar {
	background: var(--gold) !important;
	border-bottom: 1px solid rgba(0,0,0,0.08);
}
.topbar .nav-link { color: var(--navy); }
.topbar .nav-link:hover { color: var(--navy-900); }
.topbar .text-white-50 { color: var(--navy) !important; }

/* Navbar */
.main-nav {
	background: var(--white);
	min-height: var(--nav-height);
}
.main-nav .navbar-brand { padding-top: 0; padding-bottom: 0; }
.main-nav .navbar-brand img { height: var(--nav-height); width: auto; display: block; }
.navbar { padding-top: 0; padding-bottom: 0; }
.main-nav .navbar-brand strong { color: var(--navy); }
.navbar .nav-link { color: var(--navy); }
.navbar .nav-link.active, .navbar .nav-link:hover { color: var(--gold-700); }
.btn-gold { background: var(--gold); color: var(--navy); border: none; }
.btn-gold:hover { background: var(--gold-700); color: var(--white); }

/* Hero */
.hero-section { min-height: 72vh; display: grid; align-items: center; }
.hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.9) saturate(1.1); }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(120deg, rgba(10,35,66,0.35), rgba(10,35,66,0.05)); }
.hero-card { background: var(--navy); color: var(--white); backdrop-filter: blur(6px); border: 1px solid rgba(255,255,255,0.18); }
.hero-card .lead { color: rgba(255,255,255,0.9); }

/* Ensure hero buttons have contrast on bright card */
.hero-card .btn-outline-light { color: #fff; border-color: #fff; }
.hero-card .btn-outline-light:hover { background: #fff; color: var(--navy); }

/* Utilities */
.text-white-50 { color: rgba(255,255,255,0.7) !important; }

/* Sticky shadow refinement */
.main-nav.sticky { box-shadow: 0 6px 18px rgba(0,0,0,0.08); }

/* Responsive tweaks */
@media (max-width: 991.98px) {
	.hero-section { min-height: 64vh; }
	.hero-card { padding: 1.25rem; }
}

/* Global a11y and responsiveness */
img { max-width: 100%; height: auto; }
*:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }

/* Prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
	* { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

/* Buttons */
.btn { transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease; }
.btn:active { transform: translateY(1px); }
.btn:focus-visible { box-shadow: 0 0 0 0.2rem rgba(212,175,55,0.35); }

/* Links inside cards */
.service-card a, .why-card a { color: inherit; text-decoration: none; }
.service-card a:hover, .why-card a:hover { color: var(--gold-700); }

/* Mobile spacing refinements */
@media (max-width: 575.98px) {
	.topbar .container, .main-nav .container, .site-footer .container { padding-left: 1rem; padding-right: 1rem; }
	.hero-card .display-5 { font-size: 2rem; }
}

