/* Minimal responsive styling for DBS Business Solutions site */
@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@700;900&family=Inter:wght@300;400;600;700&display=swap');

:root{
	--brand:#0B3A78;
	--header-height:96px;
	--accent:#0b6bf0;
	--muted:#6B7280;
	--bg:#F7F8FB;
	--header-bg:#0B3A78;
	--text:#1A2233;
	--muted-foreground:#6B7280;
	--space-xxs:8px;
	--space-xs:12px;
	--space-sm:20px;
	--space-md:32px;
	--space-lg:48px;
	--container-width:1200px;
	--radius:10px;
	/* Card surface tokens */
	--card-bg:#FFFFFF;
	--card-foreground:var(--text);
	--card-border:rgba(11,107,240,0.06);
	--card-elev:0 8px 32px rgba(2,6,23,0.08);
	--card-elev-hover:0 16px 40px rgba(2,6,23,0.12);
}

*{box-sizing:border-box}

/* Services grid style */
.services-overview .grid-4 {
	background: #111 !important;
	color: #fff;
	border-radius: 18px;
	padding: 32px 0 24px 0;
	box-shadow: 0 6px 32px rgba(0,0,0,0.10);
}
.services-overview .grid-4 .card {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255,255,255,0.08);
	box-shadow: none;
}
.services-overview .grid-4 .card *,
.services-overview .grid-4 .card h3,
.services-overview .grid-4 .card p {
	color: #fff !important;
}
.services-overview .grid-4 .icon {
	color: #ff9800;
}
article.card.scroll-reveal.visible {
	background: #111 !important;
	color: #fff !important;
	border: 1px solid rgba(255,255,255,0.08) !important;
}
*{box-sizing:border-box}
body{font-family:Inter,Segoe UI,Arial,sans-serif;margin:0;color:var(--text);background:var(--bg);line-height:1.6;font-size:16px}
body{
	font-family:'Inter', 'Segoe UI', Arial, sans-serif;
	margin:0;
	color:var(--text);
	background:var(--bg);
	line-height:1.7;
	font-size:17px;
	letter-spacing:0.01em;
	font-weight:400;
}
.container{max-width:var(--container-width);margin:0 auto;padding:var(--space-lg)}
.container{
	max-width:var(--container-width);
	margin:0 auto;
	padding:0 var(--space-lg);
}
.site-header{
	background:var(--header-bg);
	border-bottom:1px solid rgba(255,255,255,0.06);
	color:#fff;
	position:fixed; /* keep header fixed to top to avoid overlap */
	top:0;
	left:0;
	width:100%;
	z-index:1200;
	box-shadow:0 8px 32px rgba(2,6,23,0.12);
	min-height:var(--header-height);
	transition:box-shadow .3s;
}

/* Add spacing below header so content isn't hidden under the fixed header */
main{padding-top:calc(var(--header-height) + 24px)}

@media (max-width:900px){
	/* slightly smaller header on narrow screens */
	:root{--header-height:84px}
	main{padding-top:calc(var(--header-height) + 18px)}
}

/* Homepage: reduce top spacing so index looks tighter */
body.home main{
	padding-top:calc(var(--header-height) - 24px);
}

@media (max-width:900px){
	body.home main{
		padding-top:56px;
	}
}
/* keep the previous rule for non-home pages but increased to avoid header overlap */
body:not(.home) section:first-of-type, body:not(.home) h1:first-of-type {
	margin-top:140px !important;
}

@media (max-width:900px) {
	body:not(.home) section:first-of-type, body:not(.home) h1:first-of-type {
		margin-top:80px !important;
	}
}
.header-inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	min-height:80px;
	gap:32px;
}
.logo{
	font-weight:700;
	color:#fff;
	text-decoration:none;
	display:flex;
	align-items:center;
	gap:16px;
	font-size:1.3rem;
	letter-spacing:0.04em;
}
.logo img{
	height:64px;
	width:auto;
	display:block;
	object-fit:contain;
	border-radius:12px;
	padding:8px;
	background:#0a2d5f;
	box-shadow:0 8px 24px rgba(2,6,23,0.14);
	transition:box-shadow .3s, transform .3s;
}
.logo .company-name{
	font-family:'Merriweather', serif;
	font-size:1.55rem;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:0.03em;
	white-space:nowrap;
	color:#fff;
	text-shadow:0 2px 8px rgba(11,107,240,0.10);
	line-height:1.1;
}

.header-inner {
	flex-wrap:nowrap;
}

.logo img {
	height:44px;
	padding:4px;
}

.main-nav {
	flex-wrap:nowrap;
	flex-shrink:1;
}
.main-nav a, .main-nav .btn {
	font-size:0.98rem;
	margin-left:12px;
	padding-left:0;
	padding-right:0;
	min-width:0;
}
.main-nav .btn {
	margin-left:18px;
	padding:10px 28px;
	font-size:1.05rem;
	background:linear-gradient(90deg, #ff9800 0%, var(--accent) 100%) !important;
	color:#fff !important;
	border:none !important;
	border-radius:12px;
	box-shadow:0 4px 18px rgba(255,138,43,0.18), 0 1.5px 4px rgba(11,59,120,0.10);
	font-weight:800;
	letter-spacing:0.03em;
	transition:background .22s, box-shadow .22s, transform .18s;
}
.main-nav .btn:hover, .main-nav .btn:focus {
	background:linear-gradient(90deg, var(--accent) 0%, #ff9800 100%) !important;
	color:#fff !important;
	box-shadow:0 8px 32px rgba(255,138,43,0.22), 0 2px 8px rgba(11,59,120,0.12);
	transform:translateY(-2px) scale(1.04);
}
@media (max-width:1300px) {
	.logo .company-name {
		font-size:1.2rem;
	}
	.main-nav a, .main-nav .btn {
		font-size:1rem;
		margin-left:18px;
		padding-left:0;
		padding-right:0;
	}
}

@media (max-width:1100px) {
	.logo .company-name {
		font-size:1rem;
	}
	.main-nav a, .main-nav .btn {
		font-size:0.95rem;
		margin-left:12px;
	}
}
 

@media(max-width:900px){
	.logo img{height:48px;padding:3px}
	.logo .company-name{font-size:16px}
}

@media(max-width:520px){
	.logo img{height:40px;padding:2px}
	.logo #company-name{font-size:14px}
}
.main-nav a{
	margin-left:24px;
	color:#fff !important;
	text-decoration:none;
	font-size:1.08rem;
	font-weight:600;
	letter-spacing:0.02em;
	padding:8px 0;
	position:relative;
	transition:color .2s, border-bottom .2s;
}
.main-nav .btn {
	margin-left:32px;
	margin-right:0;
	color:#fff !important;
	background:var(--accent) !important;
	border:none !important;
	box-shadow:0 2px 8px rgba(255,138,43,0.10);
	font-weight:700;
	padding:10px 24px;
	border-radius:var(--radius);
	font-size:1.08rem;
	letter-spacing:0.02em;
	vertical-align:middle;
	transition:background .2s, color .2s, box-shadow .2s;
}
.btn{background:var(--accent);color:#fff;padding:8px 12px;border-radius:6px}
/* Responsive navigation */
.main-nav{
	display:flex;
	align-items:center;
	gap:8px;
}
.nav-toggle{
	display:none;
	background:transparent;
	border:0;
	color:inherit;
	font-size:28px;
	padding:10px;
	border-radius:8px;
	margin-left:18px;
	transition:background .2s, box-shadow .2s;
}
.nav-toggle .bar{display:block;width:22px;height:2px;background:#fff;border-radius:2px;position:relative}
.nav-toggle .bar::after,.nav-toggle .bar::before{content:'';display:block;width:22px;height:2px;background:#fff;border-radius:2px;position:absolute;left:0}
.nav-toggle .bar::before{top:-7px}
.nav-toggle .bar::after{top:7px}

@media (max-width:900px){
	.nav-toggle{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		background:rgba(11,59,120,0.12);
		box-shadow:0 2px 8px rgba(2,6,23,0.10);
	}
	.main-nav{
		display:none;
		position:absolute;
		right:18px;
		top:80px;
		background:linear-gradient(180deg,rgba(11,59,120,0.98),rgba(6,40,80,0.98));
		padding:24px 18px 18px 18px;
		border-radius:14px;
		box-shadow:0 16px 40px rgba(2,6,23,0.22);
		flex-direction:column;
		min-width:240px;
		z-index:1000;
		gap:12px;
		align-items:flex-end;
		animation:fadeIn .4s;
	}
	.main-nav a{
		display:block;
		margin:12px 0;
		color:#fff;
		font-size:1.15rem;
		padding:10px 0;
		text-align:right;
	}
	.site-header.nav-open .main-nav{
		display:flex;
	}
}
.hero{padding:56px 0;background:linear-gradient(90deg,#eef6ff,transparent)}
.hero-inner{display:flex;gap:36px;align-items:center}
.hero img{max-width:48%;border-radius:6px}
.lead{color:var(--muted-foreground);max-width:60%}
.lead p{margin-top:var(--space-sm)}
.cta{display:inline-block;margin-top:12px;background:var(--accent);color:#fff;padding:10px 16px;border-radius:6px;text-decoration:none}
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.grid-41{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:1100px){.grid-41{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.grid-41{grid-template-columns:1fr}}
/* Services cards: enforce equal heights and improved spacing for professional layout */
.grid-41 .card{
	min-height:240px; /* slightly more compact */
	display:flex;
	flex-direction:column;
	justify-content:flex-start;
	gap:12px;
	padding:20px 18px;
	border-radius:12px;
	border:1px solid rgba(255,138,43,0.18); /* orange border for clearer separation */
	background:rgba(0,0,0,0.04); /* slight surface to separate from container */
}
.grid-41 .card.service-dark{
	background:linear-gradient(180deg,#042939,#062f3a); /* deep navy/teal */
	color:#e6f7fb;
	border:1px solid rgba(255,255,255,0.04);
	box-shadow:0 8px 20px rgba(2,6,23,0.28) inset, 0 6px 24px rgba(2,6,23,0.18);
	padding:16px 18px; /* slightly tighter */
}
.grid-41 .card.service-dark h3{color:#ff8a2b!important;font-weight:800;font-size:1.35rem;margin-bottom:6px}
.grid-41 .card.service-dark p, .grid-41 .card.service-dark li{color:rgba(230,247,251,0.95);font-size:1rem;line-height:1.32;margin-bottom:6px}
.grid-41 .card.service-dark ul{padding-left:18px;margin:6px 0}
.grid-41 .card.service-dark li{margin:6px 0}
.grid-41 .card.service-dark li::marker{color:#ffffff}
.grid-41 .card .icon{color:#ffd2a0}
.grid-41 .card .icon{font-size:48px;margin-bottom:8px;opacity:1}
.grid-41 .card h3{font-size:1.3rem;margin-bottom:6px;color:inherit !important}
.grid-41 .card p{flex:1 0 auto;color:inherit !important;margin-bottom:8px}
.grid-41 .card:hover{transform:translateY(-6px) scale(1.015);}
@media(max-width:900px){.grid-41 .card{min-height:200px;padding:16px}}

.services-overview .grid-41 .card{
	/* stronger separators to make card boundaries clearer on dark surface */
	border-right:1px solid rgba(255,138,43,0.10);
	border-bottom:1px solid rgba(255,138,43,0.06);
	padding-right:22px;
	background:transparent; /* keep per-card background minimal when using .service-dark variant */
}

/* Card heading color: orange to match accent */
.services-overview .grid-41 .card h3{
	color:#ff8a2b !important;
	font-weight:800;
}

/* Slightly tint icons to match heading */
.services-overview .grid-41 .card .icon{color:#ffb67a}
.services-overview .grid-41 .card:nth-child(3n){
	border-right:none; /* remove right border on last column */
}
.services-overview .grid-41 .card:nth-last-child(-n+3){
	border-bottom:none; /* remove bottom border on the last row */
}

@media (max-width:1100px){
	.services-overview .grid-41 .card{border-right:1px solid rgba(255,255,255,0.04)}
	.services-overview .grid-41 .card:nth-child(2n){border-right:none}
	.services-overview .grid-41 .card:nth-last-child(-n+2){border-bottom:none}
}

@media (max-width:720px){
	.services-overview .grid-41 .card{border-right:none;border-bottom:1px solid rgba(255,255,255,0.04);padding-right:16px}
	.services-overview .grid-41 .card:last-child{border-bottom:none}
}

/* Ensure main content has space from footer */
main{padding-bottom:120px}
.card{background:var(--card-bg);color:var(--card-foreground);padding:20px;border-radius:10px;border:1px solid var(--card-border);box-shadow:var(--card-elev)}
.card{
	background:var(--card-bg);
	color:var(--card-foreground);
	padding:32px 24px;
	border-radius:var(--radius);
	border:1px solid var(--card-border);
	box-shadow:var(--card-elev);
	transition:box-shadow .3s, transform .3s;
}
.btn{
	background:var(--accent);
	color:#fff;
	padding:12px 24px;
	border-radius:var(--radius);
	font-size:1rem;
	font-weight:600;
	box-shadow:0 2px 8px rgba(255,138,43,0.08);
	letter-spacing:0.02em;
}
.cta{
	display:inline-block;
	margin-top:16px;
	background:var(--accent);
	color:#fff;
	padding:14px 32px;
	border-radius:var(--radius);
	text-decoration:none;
	font-size:1.1rem;
	font-weight:700;
	box-shadow:0 4px 16px rgba(255,138,43,0.10);
	letter-spacing:0.02em;
}
.icon{font-size:28px}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.project-card img{width:100%;height:160px;max-height:180px;object-fit:contain;object-position:center center;border-radius:6px;margin-bottom:12px;background:#f3f6f9;padding:6px}
@media(max-width:900px){
	.project-card img{height:140px;max-height:160px}
}
@media(max-width:520px){
	.project-card img{height:120px;max-height:140px}
}
.site-footer{background:#0f1724;color:#fff;padding:24px}
.site-footer{
	background:linear-gradient(90deg,var(--header-bg),#0b3a78);
	color:#fff;
	padding:48px 24px 32px 24px;
	font-size:1rem;
}
.footer-inner{display:flex;justify-content:space-between;align-items:center}

/* Headings */
h1{font-size:32px;line-height:1.15;margin:0 0 var(--space-md) 0;font-weight:800}
h1{
	font-family:'Merriweather', serif;
	font-size:2.5rem;
	line-height:1.15;
	margin:0 0 var(--space-md) 0;
	font-weight:900;
	color:var(--brand);
	letter-spacing:0.01em;
}
h2{font-size:24px;margin:0 0 var(--space-md) 0;font-weight:800}
h2{
	font-family:'Merriweather', serif;
	font-size:2rem;
	margin:0 0 var(--space-md) 0;
	font-weight:800;
	color:var(--brand);
	letter-spacing:0.01em;
}
h3{font-size:18px;margin:0 0 var(--space-sm) 0;font-weight:700}
h3{
	font-family:'Inter', 'Segoe UI', Arial, sans-serif;
	font-size:1.25rem;
	margin:0 0 var(--space-sm) 0;
	font-weight:700;
	color:var(--text);
}
.lead{
	color:var(--muted-foreground);
	max-width:60%;
	font-size:1.15rem;
	font-weight:500;
}

@media (max-width:900px){
	h1{font-size:26px}
	h2{font-size:20px}
}

/* Services overview tweaks */
.services-overview{padding-top:var(--space-md);padding-bottom:var(--space-lg)}
.services-overview h2{text-align:center}
.services-overview .card{display:flex;flex-direction:column;gap:8px;align-self:start}

/* Tighten paragraph spacing for contact column and service cards */
.services-overview .card p{margin:6px 0;line-height:1.35}
.grid-2 > div p{margin:6px 0;line-height:1.35}
.site-address{margin:6px 0}
.link{color:var(--accent);text-decoration:none}
@media(max-width:800px){.hero-inner{flex-direction:column}.hero img{max-width:100%}.lead{max-width:100%}.footer-inner{flex-direction:column;gap:8px}}

/* Simple form styles */
form{background:var(--card-bg);padding:16px;border-radius:8px;border:1px solid var(--card-border)}
.form-card{background:var(--card-bg);color:var(--card-foreground);padding:18px;border-radius:10px;box-shadow:var(--card-elev)}
.input-group{display:flex;flex-direction:column;margin-bottom:12px}
label{font-weight:600;margin-bottom:6px}
input,textarea,select{padding:10px;border:1px solid #d1d5db;border-radius:6px}
button[type=submit]{background:var(--accent);color:#fff;padding:10px 14px;border:none;border-radius:6px;display:inline-flex;align-items:center;gap:10px}

/* spinner */
.spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,0.3);border-top-color:#fff;animation:spin .9s linear infinite;display:inline-block}
.spinner.hidden{display:none}
@keyframes spin{to{transform:rotate(360deg)}}

/* form message success state */
.form-alert.success{background:#e6ffed;border-color:#b7f2c6;color:#0b5b2b}

/* Directors & Contacts card styles */
#directors-list, #contacts-list{background:var(--card-bg);color:var(--card-foreground);padding:18px;border-radius:10px;box-shadow:var(--card-elev);border:1px solid var(--card-border);list-style:none;margin:14px 0}
#directors-list li, #contacts-list li{padding:10px 12px;border-bottom:1px solid #eef2f7}
#directors-list li:last-child, #contacts-list li:last-child{border-bottom:none}
#brand-badge{background:linear-gradient(90deg,rgba(11,107,240,0.12),transparent);display:inline-block;padding:6px 10px;border-radius:6px}

/* make footer/company name uppercase and stylish */
#company-name-footer, .logo #company-name{font-family:'Merriweather',serif;text-transform:uppercase}

/* small utility */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}

@media(max-width:800px){.grid-2{grid-template-columns:1fr}}

/* Beautiful footer styles */
.site-footer{
	background:linear-gradient(90deg,var(--header-bg),#0b3a78);
	color:#fff;
	padding:64px 0 32px 0;
	font-size:1.08rem;
	box-shadow:0 -4px 24px rgba(2,6,23,0.08);
	border-top:1px solid rgba(255,255,255,0.06);
}
.site-footer .footer-inner{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:48px;
	max-width:1200px;
	margin:0 auto;
	flex-wrap:wrap;
}
.site-footer .footer-brand{display:flex;gap:12px;align-items:center}
.site-footer .footer-brand img{
	height:72px;
	width:auto;
	border-radius:12px;
	padding:8px;
	background:var(--header-bg);
	box-shadow:0 8px 24px rgba(2,6,23,0.14);
}
.site-footer h4{margin:0 0 8px 0;font-size:16px}
.site-footer p{margin:0 0 8px 0;color:rgba(255,255,255,0.9)}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin:6px 0}
.footer-links a{
	color:rgba(255,255,255,0.92);
	text-decoration:none;
	font-weight:500;
	font-size:1.05rem;
	letter-spacing:0.01em;
	transition:color .2s;
}
.footer-contact{
	font-size:1rem;
	color:rgba(255,255,255,0.88);
	margin-top:12px;
	line-height:1.7;
}
.social-icons{
	display:flex;
	gap:12px;
	margin-top:16px;
}
.social-icons a{
	display:inline-block;
	width:40px;
	height:40px;
	background:rgba(255,255,255,0.10);
	border-radius:8px;
	text-align:center;
	line-height:40px;
	color:#fff;
	font-size:1.3rem;
	transition:background .2s, color .2s, transform .18s cubic-bezier(.2,.9,.2,1);
}
.social-icons a:hover{
	background:var(--accent);
	color:#fff;
	transform:scale(1.12) translateY(-2px);
}
.newsletter{
	display:flex;
	gap:10px;
	margin-top:20px;
}
.newsletter input[type=email]{
	flex:1;
	padding:12px;
	border-radius:8px;
	border:1px solid rgba(255,255,255,0.16);
	background:rgba(255,255,255,0.08);
	color:#fff;
	font-size:1rem;
}
.newsletter button{
	padding:12px 24px;
	border-radius:8px;
	border:none;
	background:var(--accent);
	color:#fff;
	font-size:1rem;
	font-weight:600;
	letter-spacing:0.02em;
	box-shadow:0 2px 8px rgba(255,138,43,0.10);
	transition:background .2s;
}

@media(max-width:900px){
	.site-footer .footer-inner{
		flex-direction:column;
		gap:32px;
		align-items:flex-start;
		padding:0 18px;
	}
	.site-footer .footer-brand img{
		height:56px;
	}
}

/* ==================== PROFESSIONAL ANIMATIONS ==================== */

/* Page load and scroll animations */
.fade-up{opacity:0;transform:translateY(12px);transition:opacity .6s ease, transform .6s ease}
.is-loaded .fade-up{opacity:1;transform:translateY(0)}

/* Fade in animation for various elements */
@keyframes fadeIn{
	from{opacity:0}
	to{opacity:1}
}

/* Slide in from left */
@keyframes slideInLeft{
	from{opacity:0;transform:translateX(-30px)}
	to{opacity:1;transform:translateX(0)}
}

/* Slide in from right */
@keyframes slideInRight{
	from{opacity:0;transform:translateX(30px)}
	to{opacity:1;transform:translateX(0)}
}

/* Scale up animation */
@keyframes scaleUp{
	from{opacity:0;transform:scale(0.95)}
	to{opacity:1;transform:scale(1)}
}

/* Bounce animation */
@keyframes bounce{
	0%,100%{transform:translateY(0)}
	50%{transform:translateY(-10px)}
}

/* Pulse animation */
@keyframes pulse{
	0%{opacity:1}
	50%{opacity:0.5}
	100%{opacity:1}
}

/* Subtle glow animation */
@keyframes glow{
	0%{box-shadow:0 0 0 rgba(11,107,240,0.4)}
	50%{box-shadow:0 0 20px rgba(11,107,240,0.6)}
	100%{box-shadow:0 0 0 rgba(11,107,240,0.4)}
}

/* Hero section animations */
.hero-inner > div{animation:slideInLeft .8s ease-out}
.hero-inner img{animation:slideInRight .8s ease-out}
.hero-inner h1{animation:fadeIn .8s ease-out .2s both}
.hero-inner .lead{animation:fadeIn .8s ease-out .4s both}
.hero-inner .cta{animation:fadeIn .8s ease-out .6s both}

/* Section heading animations */
h1, h2{animation:fadeIn .6s ease-out}
h2{animation:slideInLeft .6s ease-out}

/* Card animations */
.card{
	transition:box-shadow .32s cubic-bezier(.2,.9,.2,1), transform .32s cubic-bezier(.2,.9,.2,1);
	animation:scaleUp .5s ease-out;
}
.card:hover{
	transform:translateY(-10px) scale(1.025);
	box-shadow:var(--card-elev-hover);
}

/* CTA button animations */
.cta{
	transition:transform .22s ease, box-shadow .22s ease;
	animation:fadeIn .6s ease-out;
}
.cta:hover{
	transform:translateY(-4px);
	box-shadow:0 8px 28px rgba(11,107,240,0.14);
	animation:none;
}

/* Logo animations */
.logo img{
	transition:box-shadow .32s cubic-bezier(.2,.9,.2,1), transform .32s cubic-bezier(.2,.9,.2,1);
	animation:slideInLeft .6s ease-out;
}
.logo img:hover{
	transform:translateY(-4px) scale(1.04);
}

.footer-logo{
	transition:transform .35s cubic-bezier(.2,.9,.2,1), box-shadow .35s cubic-bezier(.2,.9,.2,1);
}
.footer-logo:hover{
	transform:translateY(-6px) scale(1.05);
	box-shadow:0 18px 40px rgba(2,6,23,0.18);
}

/* Button animations */
.btn{
	transition:transform .18s cubic-bezier(.2,.9,.2,1), box-shadow .18s cubic-bezier(.2,.9,.2,1), background .18s;
	animation:fadeIn .6s cubic-bezier(.2,.9,.2,1);
}
.btn:hover{
	transform:translateY(-4px) scale(1.04);
	box-shadow:0 12px 32px rgba(255,138,43,0.13);
}

/* Icon animations */
.card .icon{
	transition:transform .26s cubic-bezier(.2,.9,.2,1), background .22s;
}
.card:hover .icon{
	transform:translateY(-8px) scale(1.08);
}

/* Navigation animations */
.main-nav a{
	transition:color .2s, border-bottom .2s, transform .18s cubic-bezier(.2,.9,.2,1);
		color:var(--accent);
		transform:translateY(-2px) scale(1.04);
	position:relative;
}
.main-nav a::after{
	content:'';
	position:absolute;
	bottom:-4px;
	left:0;
	width:0;
	height:2px;
	background:rgba(255,255,255,0.8);
	transition:width .3s ease;
}
.main-nav a:hover::after{
	width:100%;
	background:var(--accent);
}

/* Form animations */
.input-group{
	animation:fadeIn .5s ease-out;
}
input, textarea, select{
	transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
	background:#ffffff; /* ensure inputs are visible on light surfaces */
	color:var(--text);
	border:1px solid rgba(15,23,36,0.08);
	padding:10px 12px;
	border-radius:8px;
	font-size:1rem;
}
input:focus, textarea:focus, select:focus{
	border-color:var(--brand);
	box-shadow:0 0 0 3px rgba(11,107,240,0.1);
	animation:none;
}

/* Placeholder color for better contrast */
input::placeholder, textarea::placeholder{
	color:rgba(15,23,36,0.45);
}

/* Dark variant for inputs placed on dark backgrounds (e.g. service-dark cards) */
.service-dark input, .service-dark textarea, .service-dark select{
	background:transparent;
	color:rgba(230,247,251,0.95);
	border:1px solid rgba(255,255,255,0.06);
}
.service-dark input::placeholder, .service-dark textarea::placeholder{color:rgba(230,247,251,0.6)}

/* Strong overrides for contact form inputs to ensure visibility in all themes/browsers */
.contact-form input, .contact-form textarea, .contact-form select{
	background:#ffffff !important;
	color:var(--text) !important;
	border:1px solid rgba(15,23,36,0.12) !important;
	box-shadow:none !important;
	-webkit-text-fill-color: var(--text) !important; /* Chrome/Safari autofill */
}
.contact-form input::placeholder, .contact-form textarea::placeholder{
	color:rgba(15,23,36,0.45) !important;
}

/* Ensure textarea caret and selection are visible */
.contact-form textarea{
	caret-color:var(--text) !important;
}

/* If any parent uses mix-blend-mode or opacity, force inputs to render above */
.contact-form input, .contact-form textarea{
	position:relative;
	z-index:2;
}

/* Form button animations */
button[type=submit]{
	transition:all .3s ease;
	position:relative;
	overflow:hidden;
}
button[type=submit]:hover{
	transform:translateY(-2px);
	box-shadow:0 8px 20px rgba(11,107,240,0.25);
}
button[type=submit]:active{
	transform:translateY(0);
}

/* subtle focus outlines for accessibility */
a:focus, button:focus, input:focus, textarea:focus{
	outline:3px solid rgba(11,107,240,0.18);
	outline-offset:3px;
}

/* Micro-interactions and reduced-motion support */
.nav-toggle{
	transition:transform .22s ease;
	animation:fadeIn .6s ease-out;
}
.site-header.nav-open .nav-toggle{
	transform:rotate(0deg);
}
.nav-toggle .bar{
	transition:background .18s ease, transform .22s ease;
}
.site-header.nav-open .nav-toggle .bar{
	background:transparent;
}
.site-header.nav-open .nav-toggle .bar::before{
	transform:translateY(7px) rotate(45deg);
}
.site-header.nav-open .nav-toggle .bar::after{
	transform:translateY(-7px) rotate(-45deg);
}

/* Animated list items */
li, .card, .stat-card{
	animation:slideInLeft .5s ease-out;
	animation-fill-mode:both;
}
li:nth-child(2), .card:nth-child(2), .stat-card:nth-child(2){animation-delay:.1s}
li:nth-child(3), .card:nth-child(3), .stat-card:nth-child(3){animation-delay:.2s}
li:nth-child(4), .card:nth-child(4), .stat-card:nth-child(4){animation-delay:.3s}
li:nth-child(5), .card:nth-child(5), .stat-card:nth-child(5){animation-delay:.4s}

/* Pulsing animations for attention-grabbing CTAs */
@keyframes subtlePulse{
	0%{transform:scale(1)}
	50%{transform:scale(1.03)}
	100%{transform:scale(1)}
}
.btn--pulse{animation:subtlePulse 1.6s ease-in-out infinite}

/* Glowing effect for important elements */
.btn.highlight{
	animation:glow 2s ease-in-out infinite;
}

/* Image animations */
img{
	transition:transform .3s ease, filter .3s ease;
}
img:hover{
	transform:scale(1.02);
}

/* Link hover animations */
a{
	transition:color .2s ease, opacity .2s ease;
}
a:hover{
	opacity:0.85;
}

/* Section entrance animations */
section{
	animation:fadeIn .7s ease-out;
}

/* Staggered list animations */
.grid-3, .grid-4, .grid-41{
	animation:fadeIn .6s ease-out;
}
.grid-3 > *, .grid-4 > *, .grid-41 > *{
	animation:slideInLeft .5s ease-out;
	animation-fill-mode:both;
}
.grid-3 > *:nth-child(2), .grid-4 > *:nth-child(2), .grid-41 > *:nth-child(2){animation-delay:.1s}
.grid-3 > *:nth-child(3), .grid-4 > *:nth-child(3), .grid-41 > *:nth-child(3){animation-delay:.2s}
.grid-3 > *:nth-child(4), .grid-4 > *:nth-child(4), .grid-41 > *:nth-child(4){animation-delay:.3s}
.grid-3 > *:nth-child(5), .grid-4 > *:nth-child(5), .grid-41 > *:nth-child(5){animation-delay:.4s}

/* Scroll reveal animations */
.scroll-reveal{
	opacity:0;
	transform:translateY(24px) scale(0.98);
	transition:opacity .7s cubic-bezier(.2,.9,.2,1), transform .7s cubic-bezier(.2,.9,.2,1);
}
.scroll-reveal.visible{
	opacity:1;
	transform:translateY(0) scale(1);
}

/* Footer animations */
.site-footer{
	animation:fadeIn .8s ease-out;
}

/* respect user's motion preference */
@media (prefers-reduced-motion: reduce){
	*, *::before, *::after{
		animation-duration:.01ms !important;
		animation-iteration-count:1 !important;
		transition-duration:.01ms !important;
	}
	.fade-up, .card, .btn, .logo img, .nav-toggle .bar, .card .icon{
		transition:none !important;
		animation:none !important;
	}
}

/* Ripple effect for buttons */
.ripple{
	position:absolute;
	border-radius:50%;
	background:rgba(255, 255, 255, 0.6);
	transform:scale(0);
	animation:rippleEffect 0.6s ease-out;
	pointer-events:none;
}

@keyframes rippleEffect{
	to{
		transform:scale(4);
		opacity:0;
	}
}

/* screen-reader only */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* skip link */
.skip-link{position:absolute;left:12px;top:12px;background:#fff;color:#083a8a;padding:8px 12px;border-radius:6px;z-index:999;transform:translateY(-120%);transition:transform .18s ease}
.skip-link:focus{transform:translateY(0);outline:none}

/* form alert */
.form-alert{background:#fff3cd;border:1px solid #ffeeba;color:#664d03;padding:10px 12px;border-radius:6px;margin-bottom:12px}
.form-alert.error{background:#ffe6e6;border-color:#ffb3b3;color:#7a1a1a}

/* Gantt chart styles for Rig Mobilization & Commissioning Schedule */
.gantt-section{margin:22px 0 30px}
.gantt{border:1px solid var(--card-border);background:var(--card-bg);border-radius:6px;overflow:hidden}
.gantt-header,.gantt-row{display:grid;grid-template-columns:48px 1fr 120px 1fr;align-items:center;padding:0;border-bottom:1px solid #f1f5f9}
.gantt-header{background:#eaf6ff;color:#083b56;font-weight:700}
.gantt-col{padding:10px 12px}
.task-col{font-weight:700;text-align:left}
.activity-col{padding-right:12px}
.dur-col{text-align:center;color:#1f2937}
.days-grid{display:grid;grid-template-columns:repeat(30,28px);gap:6px;font-size:12px;color:#4b5563;padding:6px 0}
.days-grid span{text-align:center;padding:6px 2px}
.chart-grid{display:grid;grid-template-columns:repeat(30,28px);min-height:34px;gap:6px;padding:6px 0}
.chart-col{padding:0}
.bar{height:18px;border-radius:6px;align-self:center}
.bar.blue{background:#1e90ff}
.bar.orange{background:#ff9b2e}
.bar.green{background:#6fcf97}

@media(max-width:900px){
	.gantt-header,.gantt-row{grid-template-columns:36px 1fr 90px 1fr;padding:8px}
	.days-grid span{font-size:11px;padding:4px 2px}
}

/* Fine-tune visuals to match reference image */
.gantt-section h3{margin:0;padding:12px 14px;background:#f0f6fb;color:#083b56;font-weight:800;border-bottom:1px solid #e6edf3;font-size:16px}
.gantt-header .days-grid{background:#fbeee6;padding:6px;border-radius:4px}
.gantt-header .task-col, .gantt-row .task-col{border-right:2px solid #e9eef2}
.gantt-header .activity-col, .gantt-row .activity-col{border-right:2px solid #e9eef2}
.gantt-header .dur-col, .gantt-row .dur-col{border-right:2px solid #e9eef2}
.gantt-row .activity-col{font-size:14px;color:#1f2937}
.gantt-row .task-col{color:#0f1724}
.gantt-row:last-child{border-bottom:none}

/* Image replacement for gantt */
.rig-image-wrap{padding:14px;background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--card-elev)}
.rig-image{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:6px;box-shadow:0 6px 18px rgba(2,6,23,0.06)}

/* Preventive Maintenance Program (PMP) styles */
.pmp-section{background:linear-gradient(180deg,#031528 0%, #082338 100%);color:#e6f4ff;padding:20px;margin:28px 0;border-radius:6px}
.pmp-container{max-width:1100px;margin:0 auto}
.pmp-title{text-align:center;color:#ff8a2b;font-weight:900;padding:8px 0;margin:0 0 14px;border:4px solid rgba(255,255,255,0.04);letter-spacing:1px}
.pmp-hero{display:grid;grid-template-columns:1fr 420px;gap:20px;align-items:start}
.pmp-left-box{border:3px solid #ff8a2b;padding:20px;border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,0.02),transparent)}
.pmp-left-box h3{color:#ff8a2b;margin:0 0 10px}
.pmp-left-box p{color:rgba(230,244,255,0.9);line-height:1.6;margin:0}
.pmp-right .pmp-objectives{background:#07243a;padding:14px;border-radius:6px;border:2px solid rgba(255,255,255,0.03);}
.pmp-right h4{color:#bfe6ff;margin:0 0 8px}
.pmp-right ul{margin:0;padding-left:18px;color:rgba(190,230,255,0.95)}
.pmp-metrics{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap}
.metric{flex:1 1 120px;padding:12px;border-radius:6px;color:#fff;text-align:center;font-weight:800}
.metric .meta-value{font-size:20px}
.metric .meta-label{font-size:12px;opacity:0.9}
.metric-a{background:#0f6b3b}
.metric-b{background:#d97706}
.metric-c{background:#0b6bf0}

.pmp-systems{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
.pmp-systems .sys{background:#07182a;border-left:6px solid rgba(255,138,43,0.96);padding:14px;border-radius:6px;color:#cfeeff}
.pmp-systems .sys strong{display:block;color:#ffd1a6;margin-bottom:8px}
.pmp-systems .sys p{margin:0;font-size:13px;color:rgba(207,238,255,0.9)}

@media(max-width:1100px){
	.pmp-hero{grid-template-columns:1fr 360px}
	.pmp-systems{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
	.pmp-hero{grid-template-columns:1fr;}
	.pmp-right{order:2}
	.pmp-systems{grid-template-columns:1fr}
}

/* HSE Management & Compliance styles */
.hse-section{background:linear-gradient(180deg,#071523,#041522);padding:18px;border-radius:6px;color:#dbeffb;margin:20px 0}
.hse-container{max-width:1100px;margin:0 auto}
.hse-title{display:block;text-align:center;background:transparent;border:4px solid rgba(255,255,255,0.12);color:#ff8a2b;font-weight:900;padding:10px 12px;margin:0 0 18px;font-size:30px}
.hse-grid{display:grid;grid-template-columns:360px 1fr;gap:18px;align-items:start}
.hse-left{display:flex;flex-direction:column;gap:12px}
.hse-banner{display:flex;align-items:center;gap:14px;background:#203a80;padding:18px;border-radius:8px;border-left:6px solid #ff8a2b}
.hse-banner .hse-icon{background:rgba(255,255,255,0.06);height:56px;width:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;color:#ffd9b8}
.hse-banner-text{font-size:34px;color:#fff;font-weight:800}
.hse-cards{display:flex;gap:12px}
.stat-card{flex:1;padding:18px;border-radius:8px;background:#15305f;color:#fff;text-align:center}
.stat-card.blue{background:#274787}
.stat-card.orange{background:#ff7f2a}
.stat-amount{font-size:28px;font-weight:900}
.stat-label{margin-top:8px;font-size:13px;opacity:0.95}
.hse-banner-large{display:flex;align-items:center;gap:14px;background:#16335a;padding:18px;border-radius:8px;border-left:6px solid #3fb0ff}
.hse-banner-large .hse-icon.small{background:rgba(255,255,255,0.04);height:46px;width:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px}
.hse-large-text .big{display:block;font-size:36px;color:#fff;font-weight:900}
.hse-large-text .small{display:block;font-size:14px;color:rgba(255,255,255,0.85)}

.hse-right{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.hse-card{background:#07243a;padding:18px;border-radius:8px;border:1px solid rgba(255,255,255,0.02);color:#d8eefc}
.hse-card h3{color:#ff8a2b;margin:0 0 8px}
.hse-card ul{margin:0;padding-left:18px}
.hse-card li{margin:8px 0;font-size:14px}

@media(max-width:980px){
	.hse-grid{grid-template-columns:1fr}
	.hse-right{grid-template-columns:1fr}
}

/* Crew Competency & Personnel Management styles */
.crew-section{background:#071423;padding:22px;border-radius:6px;color:#e6f4ff;margin:20px 0}
.crew-container{max-width:1100px;margin:0 auto}
.crew-title{display:block;text-align:center;background:transparent;border:4px solid rgba(255,255,255,0.06);color:#ff8a2b;font-weight:900;padding:10px 12px;margin:0 0 18px;font-size:32px}
.crew-intro{text-align:center;color:rgba(230,244,255,0.85);max-width:900px;margin:8px auto 20px;font-size:18px}
.crew-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px}
.crew-card{display:flex;gap:14px;align-items:center;background:#14263b;border-radius:8px;padding:16px;border-left:6px solid #2d7bd6}
.crew-card.wide{grid-column:span 2}
.card-icon{height:54px;width:54px;border-radius:8px;background:rgba(255,138,43,0.06);display:flex;align-items:center;justify-content:center;font-size:22px;color:#ff8a2b}
.card-body h4{margin:0 0 8px;color:#fff;font-size:16px}
.card-body p{margin:0;color:rgba(207,238,255,0.9)}
.crew-strap{background:#274887;padding:18px;border-radius:6px;border-left:8px solid #ff8a2b;margin-top:8px}
.crew-strap p{margin:0;color:#fff;text-align:center;font-size:18px}

@media(max-width:900px){
	.crew-grid{grid-template-columns:1fr}
	.crew-card.wide{grid-column:span 1}
}

/* Organogram styles */
.org-section{background:#0b1720;padding:22px;border-radius:6px;color:#e6f4ff;margin:20px 0}
.org-container{max-width:1200px;margin:0 auto}
.org-title{display:block;text-align:center;background:transparent;border:4px solid rgba(255,255,255,0.06);color:#ff8a2b;font-weight:900;padding:10px 12px;margin:0 0 18px;font-size:32px}
.org-diagram-wrap{background:#263043;padding:12px;border-radius:8px}
.org-svg{width:100%;height:auto;display:block}

@media(max-width:900px){
	.org-title{font-size:22px}
}

/* Rig O&M Management styles */
.rig-om-section{background:#071426;padding:22px;border-radius:6px;color:#e6f4ff;margin:20px 0}
.rig-om-container{max-width:1100px;margin:0 auto}
.rig-om-title{text-align:center;color:#ff8a2b;font-weight:900;padding:10px 12px;margin:0 0 18px;font-size:30px;border:4px solid rgba(255,255,255,0.06)}
.rig-om-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rig-card{display:flex;align-items:flex-start;gap:16px;background:#0f2740;padding:18px;border-radius:8px;border-left:6px solid #ff8a2b}
.rig-card .rig-icon{width:52px;height:52px;border-radius:50%;background:rgba(255,138,43,0.06);display:flex;align-items:center;justify-content:center;font-size:22px;color:#ff8a2b}
.rig-card h3{margin:0 0 8px;color:#fff;font-size:18px}
.rig-card p{margin:0;color:rgba(230,244,255,0.92);line-height:1.6}

@media(max-width:900px){
	.rig-om-grid{grid-template-columns:1fr}
	.rig-om-title{font-size:22px}
}

/* Technical Support Services timeline */
.tech-support-section{background:#071426;padding:34px 20px;border-radius:6px;color:#e6f4ff;margin:20px 0}
.tech-container{max-width:1200px;margin:0 auto}
.tech-timeline{padding:20px 0}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;position:relative;align-items:start}
.steps::before{
	content:'';
	position:absolute;
	left:6%;
	right:6%;
	top:46px;
	height:4px;
	background:#274887;
	border-radius:2px;
	z-index:0;
}
.step{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:8px}
.num{
	width:64px;
	height:64px;
	border-radius:50%;
	background:#071426; /* match section bg, or use #0b1a2a if that's your section bg */
	border:6px solid #ff8a2b;
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-weight:800;
	font-size:22px;
	margin-bottom:12px;
	position:relative;
	z-index:1;
}
.step h3{margin:0 0 8px;font-size:18px;color:#fff}
.step p{margin:0;color:rgba(230,244,255,0.85);font-size:14px;max-width:200px}

@media(max-width:1100px){
	.steps{grid-template-columns:repeat(3,1fr)}
	.steps::before{left:5%;right:5%}
}
@media(max-width:720px){
	.steps{grid-template-columns:repeat(1,1fr)}
	.steps::before{display:none}
	.step{padding:18px 0}
}

/* Logistics & Operational Oversight */
.logistics-section{background:#071423;padding:20px;border-radius:6px;color:#e6f4ff;margin:20px 0}
.logistics-container{max-width:1200px;margin:0 auto}
.logistics-title{display:block;text-align:center;background:transparent;border:4px solid rgba(255,255,255,0.06);color:#ff8a2b;font-weight:900;padding:10px 12px;margin:0 0 18px;font-size:32px}
.logistics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.log-card{border-radius:8px;padding:0;overflow:hidden;box-shadow:0 10px 30px rgba(2,6,23,0.12)}
.log-card .card-head{display:flex;align-items:center;gap:12px;padding:18px}
.log-card .icon{height:44px;width:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff}
.log-card.brown .icon{background:#8a4b1d}
.log-card.blue .icon{background:#1f5fbf}
.log-card.brown{background:linear-gradient(180deg,#7a4a29,#7a4a29);color:#fff}
.log-card.blue{background:linear-gradient(180deg,#1f5fbf,#1b4fb0);color:#fff}
.log-card .card-head h3{margin:0;font-size:20px}
.card-features{padding:14px}
.feature{padding:12px 8px;border-top:1px solid rgba(255,255,255,0.06)}
.feature h4{margin:0 0 6px;font-size:14px;font-weight:800}
.feature p{margin:0;color:rgba(255,255,255,0.92);font-size:13px;line-height:1.5}

@media(max-width:1100px){
	.logistics-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
	.logistics-grid{grid-template-columns:1fr}
}

/* Rig gallery styles (moved from inline in services.html) */
.rig-gallery{display:grid;grid-template-columns:1fr 420px;gap:24px;align-items:center;margin:14px 0}
.rig-banner-img{width:100%;height:auto;border-radius:12px;box-shadow:0 6px 12px rgba(0,0,0,0.05);display:block}
.rig-photo-wrap{display:flex;justify-content:center}
.rig-photo{width:100%;max-width:420px;height:auto;border-radius:48px;border:12px solid #fff;box-shadow:0 12px 30px rgba(2,6,23,0.6);background:#0b1723;display:block}
@media(max-width:900px){.rig-gallery{grid-template-columns:1fr;padding:0 12px}.rig-photo{max-width:90%;margin:18px auto 0}}


/* Contact hero (added to match provided image) */
.contact-hero{background:#eaf6ff;border-radius:14px;padding:48px 0;margin-bottom:28px}
.contact-hero-inner{display:grid;grid-template-columns:1fr 320px;align-items:flex-start;gap:32px;max-width:1100px;margin:0 auto;padding:0 24px}
.contact-hero-content h2{color:#0b66d1;font-size:42px;margin:0 0 8px;font-weight:800}
.contact-hero-content .hero-sub{color:#234f7a;margin:0;font-size:16px}
.contact-hero-card{background:var(--card-bg);color:var(--card-foreground);border-radius:12px;padding:18px 20px;box-shadow:var(--card-elev);width:260px;grid-column:1;border:1px solid var(--card-border)}
.contact-hero-card .card-title{color:#0b66d1;display:block;font-weight:700;text-decoration:none;margin-bottom:6px;font-size:14px}
.contact-hero-card .card-sub{color:#44566a;font-size:13px;margin:0}
@media(max-width:1100px){.contact-hero-inner{grid-template-columns:1fr 1fr;padding:0 18px}.contact-hero-content h2{font-size:34px}}
@media(max-width:880px){.contact-hero-inner{grid-template-columns:1fr;padding:0 12px}.contact-hero-content h2{font-size:28px}.contact-hero-card{width:100%;grid-column:auto}}

/* Catering Services Section */
.catering-section{background:#000;color:#fff}
.catering-section h2{color:#ff9500}

