:root{
	--bg: #0a0a0a;
	--bg-alt: #111318;
	--accent: #546bed;
	--accent-2: #1a24b9;
	--text: #f2f2f3;
	--text-dim: #a8acb8;
	--border: rgba(84,107,237,.35);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
	margin:0;
	background:var(--bg);
	color:var(--text);
	font-family:'Montserrat',Arial,sans-serif;
	line-height:1.6;
	overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px;}
section{padding:90px 0;}
h1,h2,h3,h4{font-weight:700;margin:0 0 20px;}
.eyebrow{
	text-transform:uppercase;
	letter-spacing:2px;
	font-size:13px;
	font-weight:700;
	color:var(--accent);
	margin-bottom:14px;
	display:block;
}
h2.section-title{
	font-size:38px;
	text-transform:uppercase;
	color:#fff;
	position:relative;
	padding-bottom:18px;
}
h2.section-title::after{
	content:"";
	position:absolute;
	left:0;bottom:0;
	width:60px;height:3px;
	background:var(--accent);
}
.text-center{text-align:center;}
.text-center h2.section-title::after{left:50%;transform:translateX(-50%);}
p.lede{color:var(--text-dim);font-size:18px;max-width:720px;}
.text-center p.lede{margin-left:auto;margin-right:auto;}

.btn{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:15px 32px;
	border-radius:6px;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:1px;
	font-size:14px;
	transition:transform .2s ease, box-shadow .2s ease;
}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 0 25px rgba(84,107,237,.45);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 30px rgba(84,107,237,.65);}
.btn-outline{border:2px solid var(--accent);color:#fff;}
.btn-outline:hover{background:var(--accent);}
.btn-whatsapp{background:#25D366;color:#0a0a0a;}
.btn-whatsapp:hover{transform:translateY(-2px);box-shadow:0 4px 25px rgba(37,211,102,.5);}

/* Header */
.site-header{
	position:fixed;top:0;left:0;right:0;z-index:999;
	background:rgba(10,10,10,.55);
	backdrop-filter:blur(10px);
	border-bottom:1px solid rgba(255,255,255,.06);
	transition:background .3s ease;
}
.site-header.is-scrolled{background:rgba(10,10,10,.92);}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:78px;}
.site-logo img{height:40px;width:auto;}
.main-nav ul{list-style:none;display:flex;gap:34px;margin:0;padding:0;}
.main-nav a{
	font-size:13px;text-transform:uppercase;letter-spacing:1.5px;font-weight:600;
	color:var(--text);opacity:.85;
}
.main-nav a:hover{opacity:1;color:var(--accent);}
.header-actions{display:flex;align-items:center;gap:16px;}
.header-phone{font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px;}
.header-phone i{color:var(--accent);}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:24px;cursor:pointer;}

@media (max-width:900px){
	.main-nav{
		position:fixed;top:78px;left:0;right:0;bottom:0;
		background:rgba(10,10,10,.98);
		display:flex;align-items:center;justify-content:center;
		transform:translateX(100%);
		transition:transform .3s ease;
	}
	.main-nav.is-open{transform:translateX(0);}
	.main-nav ul{flex-direction:column;text-align:center;gap:28px;}
	.main-nav a{font-size:18px;}
	.header-phone span{display:none;}
	.nav-toggle{display:block;}
}

/* Hero */
.hero{
	min-height:100vh;
	display:flex;align-items:center;
	position:relative;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	padding-top:78px;
}
.hero .container{max-width:760px;}
.hero h1{
	font-size:52px;
	text-transform:uppercase;
	line-height:1.15;
	color:#fff;
	border-left:6px solid var(--accent);
	padding-left:26px;
}
.hero p.lede{margin-left:26px;padding-left:0;}
.hero-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px;margin-left:26px;}
@media (max-width:600px){
	.hero h1{font-size:34px;}
	.hero-actions{margin-left:0;}
	.hero p.lede{margin-left:0;}
	.hero h1{border-left:none;padding-left:0;}
}

/* About */
.about{background:var(--bg-alt);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.about-grid img{border-radius:10px;border:2px solid var(--border);box-shadow:0 0 40px rgba(84,107,237,.25);}
.about-grid p{color:var(--text-dim);font-size:17px;margin-bottom:18px;}
@media (max-width:860px){.about-grid{grid-template-columns:1fr;}}

/* Services */
.services-grid{
	display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:60px;
}
.service-card{
	background:var(--bg-alt);
	border:1px solid rgba(255,255,255,.06);
	border-radius:10px;
	padding:34px 26px;
	text-align:center;
	transition:border-color .2s ease, transform .2s ease;
}
.service-card:hover{border-color:var(--accent);transform:translateY(-4px);}
.service-card i{font-size:34px;color:var(--accent);margin-bottom:18px;}
.service-card h3{font-size:16px;text-transform:uppercase;margin:0;}
@media (max-width:900px){.services-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.services-grid{grid-template-columns:1fr;}}

/* Process */
.process{background:var(--bg-alt);}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:60px;}
.process-step{text-align:center;position:relative;}
.process-step .num{
	width:64px;height:64px;border-radius:50%;
	border:2px solid var(--accent);
	display:flex;align-items:center;justify-content:center;
	margin:0 auto 20px;font-size:22px;font-weight:700;color:var(--accent);
}
.process-step h4{text-transform:uppercase;font-size:16px;}
@media (max-width:900px){.process-grid{grid-template-columns:repeat(2,1fr);}}

/* Gallery */
.gallery-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:14px;
	margin-top:50px;
}
.gallery-grid a{
	display:block;aspect-ratio:1/1;overflow:hidden;border-radius:8px;
	position:relative;
}
.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.gallery-grid a:hover img{transform:scale(1.08);}
@media (max-width:900px){.gallery-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:600px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}

/* Contact */
.contact{
	text-align:center;
	background-size:cover;
	background-position:center;
	background-attachment:fixed;
}
.contact-actions{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:36px;}
.contact-actions .btn{font-size:18px;padding:20px 40px;}

/* Footer */
.site-footer{background:#000;padding:50px 0 25px;border-top:1px solid rgba(255,255,255,.06);}
.footer-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;padding-bottom:30px;}
.footer-top .site-logo img{height:34px;}
.footer-phone{font-size:20px;font-weight:700;color:#fff;}
.footer-social a{
	width:40px;height:40px;border-radius:50%;
	border:1px solid rgba(255,255,255,.15);
	display:inline-flex;align-items:center;justify-content:center;
	margin-left:10px;
}
.footer-social a:hover{background:var(--accent);border-color:var(--accent);}
.footer-bottom{text-align:center;color:var(--text-dim);font-size:13px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06);}

/* Floating WhatsApp */
.wa-float{
	position:fixed;bottom:26px;right:26px;z-index:998;
	width:60px;height:60px;border-radius:50%;
	background:#25D366;color:#fff;
	display:flex;align-items:center;justify-content:center;
	font-size:30px;
	box-shadow:0 6px 20px rgba(0,0,0,.4);
	animation:wa-pulse 2.4s infinite;
}
@keyframes wa-pulse{
	0%{box-shadow:0 0 0 0 rgba(37,211,102,.5);}
	70%{box-shadow:0 0 0 14px rgba(37,211,102,0);}
	100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}
}
