/* Tecoris www site styles */
:root{
	--bg:#0b0f19;
	--card:#111726;
	--text:#e7ecf6;
	--muted:#a5b1c9;
	--brand:#7aa2ff;
	--brand-2:#8bd3ff;
	--accent:#22c55e;
	--danger:#ef4444;
	--border:#1e2638;
}
/* Light theme override for marketing pages */
.theme-light{
	/* Grayscale palette to match uploaded example */
	--bg:#ffffff;        /* white background */
	--card:#ffffff;      /* cards merge with background but keep border + shadow */
	--text:#111827;      /* primary text */
	--muted:#4b5563;     /* secondary text */
	--brand:#4a5afe;     /* Tecoris primary blue */
	--brand-2:#8bd3ff;   /* accent blue/cyan */
	--accent:#16a34a;
	--danger:#b91c1c;
	--border:#e5e7eb;
}

/* Basic layout */
*,
*::before,
*::after{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%}
body{
	font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	background:var(--bg);
	color:var(--text);
	-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
p{margin-bottom:1rem}
p:last-child{margin-bottom:0}

/* Screen-reader only helper */
.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;
}

/* Buttons */
.btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:8px 18px;
	border-radius:8px;
	font-size:.95rem;
	font-weight:600;
	text-decoration:none;
	border:1px solid transparent;
	cursor:pointer;
}
.btn.primary{
    background: #1d4ed8;   /* dark blue */
    color: #ffffff;
    box-shadow: none;
    transition: background .15s ease;
}
.btn.primary:hover {
    background: #163fb8;   /* slightly darker on hover */
}
.btn.ghost{
	background:transparent;
	color:var(--text);
	border-color:var(--border);
	transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.btn.ghost:hover{
	background:rgba(15,23,42,0.06);
	border-color:#cbd5f5;
}

/* Layout containers */
.wrap{
	max-width:1100px;
	margin:0 auto;
	padding:0 18px;
}
.wrap.narrow{max-width:840px}
.intro{padding:24px 0 12px}

/* Header (base styles from original) */
.site-header{
	position:static; /* no sticky header */
	top:0;
	z-index:60;
	background:#ffffff;
	border-bottom:1px solid rgba(148,163,184,0.2);
}
.theme-light .site-header{background:#ffffff}
.site-header .wrap{
	display:flex;
	align-items:center;
	padding:10px 20px;
}
.site-header .brand{
	display:flex;
	align-items:center;
	margin:0 auto;
}
.site-header .brand img.logo{
	height:72px;
	width:auto;
}
.site-header .left-actions{
	display:flex;
	align-items:center;
	gap:10px;
}
.site-header nav{
	display:flex;
	align-items:center;
	gap:10px;
}

/* Language flags */
.lang-flags{
	display:flex;
	align-items:center;
	gap:.35rem;
}
.lang-flags a{
	font-size:.95rem;
	line-height:1;
	text-decoration:none;
	filter:grayscale(40%);
	transition:filter .15s,transform .15s;
	padding:2px;
}
.lang-flags a:hover,
.lang-flags a:focus{
	filter:grayscale(0%);
	transform:scale(1.12);
}

/* Headline */
h1{
	font-size:1.8rem;
	line-height:1.3;
}

/* Cards */
.card{
	background:var(--card);
	border-radius:18px;
	padding:24px 22px;
	border:1px solid var(--border);
	box-shadow:0 18px 35px rgba(15,23,42,0.5);
}
.theme-light .card{
	background:#ffffff;
	box-shadow:0 12px 22px rgba(15,23,42,0.08);
}

/* Service cards & icons */
.service-card h3{
	font-size:1.2rem;
	margin-bottom:8px;
	text-align:center;
}
.service-card p{
	font-size:.98rem;
	line-height:1.6;
	color:var(--muted);
	text-align:center;
}
.service-body{
	text-align:center;
}
.service-icon {
    width: 128px;
    height: 128px;
    margin: 0 auto 16px auto;
}

.services-grid{
	display:flex;
	flex-direction:column;
	gap:24px;
	margin-top:24px;
}
.service-row{
	display:flex;
}

/* Footer */
.site-footer{
	background:#020617;
	color:#cbd5f5;
	padding:20px 0;
	border-top:1px solid rgba(15,23,42,0.8);
}
.theme-light .site-footer{
	background:#f9fafb;
	color:#1f2937;
	border-top-color:#e5e7eb;
}
.site-footer .wrap{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:8px;
	text-align:center;
}
.site-footer .muted{font-size:.9rem;color:var(--muted)}

/* Responsive tweaks */
@media (max-width:900px){
	main{padding-top:26px}
}
@media (max-width:720px){
	.site-header .wrap{
		flex-wrap:wrap;
		justify-content:center;
		height:auto;
	}
	.site-header .brand img.logo{height:60px}
	.site-header .lang-flags{
		flex-basis:100%;
		justify-content:center;
		flex-wrap:wrap;
	}
	.site-footer .wrap{
		flex-direction:column;
		align-items:flex-start;
	}
}
