:root {
	--bg:#070D1A;
	--panel:#0B1426;
	--panel-2:#0F1B33;
	--gold:#C9A35B;
	--gold-soft:#D8B46C;
	--text:#E5E7EB;
	--muted:#A7B0C0;
	--border:rgba(201,163,91,.18);
	--divider:rgba(201,163,91,.4);
}

* {
	margin:0;
	padding:0;
	box-sizing:border-box;
}

body {
	font-family:'Inter',sans-serif;
	background:var(--bg);
	color:var(--text);
	line-height:1.7;
}

a {
	color:var(--gold);
	text-decoration:none;
}

.container {
	width:min(92%,1100px);
	margin:0 auto;
}

section {
	padding:90px 0;
}

/* HEADINGS */
h1,h2,h3 {
	color:white;
	line-height:1.2;
}

h1 {
	font-size:clamp(2.6rem,5vw,4.3rem);
	font-weight:800;
}

h2 {
	font-size:2.2rem;
	margin-bottom:18px;
	position:relative;
}

.section-title::after {
	content:"";
	display:block;
	width:70px;
	height:2px;
	margin-top:14px;
	background:var(--gold);
}

h3 {
	font-size:1.2rem;
	margin-bottom:8px;
}

p {
	color:var(--muted);
}

/* HERO */
header {
	padding:120px 0;
	background:
	radial-gradient(circle at top left, rgba(201,163,91,.10), transparent 40%),
	radial-gradient(circle at bottom right, rgba(15,27,51,.9), transparent 50%),
	var(--bg);
}

.hero-grid {
	display:grid;
	grid-template-columns:1.4fr .6fr;
	gap:60px;
	align-items:center;
}

.hero p {
	color:var(--muted);
	font-size:1.15rem;
	margin-top:20px;
}

.btn {
	display:inline-block;
	margin-top:30px;
	background:var(--gold);
	color:var(--bg);
	padding:14px 26px;
	border-radius:6px;
	font-weight:700;
	transition:.25s ease;
}

.btn:hover {
	background:var(--gold-soft);
	transform:translateY(-2px);
}

/* PILLARS */
.pillars {
	border-left:2px solid var(--gold);
	padding-left:22px;
}

.pillars span {
	display:block;
	font-size:.8rem;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--gold);
	margin-bottom:10px;
}

.pillars p {
	color:var(--muted);
	margin-top:18px;
	font-size:.95rem;
}

/* WHO WE ARE */
.grid-2 {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:30px;
}

.card {
	background:linear-gradient(180deg,var(--panel),var(--panel-2));
	border:1px solid var(--border);
	border-radius:10px;
	padding:34px;
}

.role {
	color:var(--gold);
	font-weight:600;
	margin-bottom:14px;
}

.card p {
	color:var(--muted);
}

/* SERVICES */
.services {
	background:linear-gradient(180deg,var(--panel),var(--bg));
}

.service-grid {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:30px;
}

.service {
	background:linear-gradient(180deg,var(--panel),var(--panel-2));
	border:1px solid var(--border);
	border-top:2px solid var(--gold);
	padding:36px;
	border-radius:10px;
}

ul {
	list-style:none;
	margin-top:14px;
}

li {
	margin-bottom:10px;
	padding-left:18px;
	position:relative;
	color:var(--muted);
}

li::before {
	content:"•";
	position:absolute;
	left:0;
	color:var(--gold);
}

/* WORK */
.work p {
	color:var(--muted);
}

.callout {
	margin-top:40px;
	background:linear-gradient(180deg,var(--panel),var(--panel-2));
	border:1px solid var(--border);
	border-left:3px solid var(--gold);
	padding:34px;
	border-radius:10px;
}

/* CONTACT */
.contact {
	background:var(--panel);
	text-align:center;
}

.contact p {
	color:var(--muted);
}

/* FOOTER */
footer {
    background:#050A14;
    text-align:center;
    padding:70px;
	color:var(--muted);
    border-top:1px solid var(--border);
}

/* Brand block */
.footer-brand strong {
    display:block;
    color:white;
    font-size:1.1rem;
    font-weight:700;
    letter-spacing:.02em;
}

.footer-brand span {
    display:block;
    margin-top:6px;
    color:var(--gold);
    font-size:.8rem;
    letter-spacing:.14em;
    text-transform:uppercase;
}

/* Divider */
.footer-divider {
    width:400px;
    height:1px;
    margin:28px auto;
    background:linear-gradient(
        90deg,
        transparent,
		var(--divider),
        transparent
    );
}

/* Legal links */
.footer-legal {
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
    margin-bottom:18px;
}

.footer-legal a {
    color:#8A93A3;
    font-size:.9rem;
    text-decoration:none;
    transition:color .25s ease, opacity .25s ease;
}

.footer-legal a:hover {
    color:#C9A35B;
    opacity:1;
}

.footer-legal span {
    color:#2B3445;
    font-size:.9rem;
    user-select:none;
}

/* Copyright */
.footer-copy {
    color:#4B5563;
    font-size:.82rem;
    letter-spacing:.02em;
}

.footer-legal a {
    position:relative;
}

.footer-legal a::after {
    content:"";
    position:absolute;
    left:0;
    bottom:-3px;
    width:0%;
    height:1px;
    background:#C9A35B;
    transition:width .25s ease;
}

.footer-legal a:hover::after {
    width:100%;
}

/* RESPONSIVE */
@media(max-width:900px) {
	.hero-grid,
	.grid-2,
	.service-grid{
		grid-template-columns:1fr;
	}

	section {
		padding:70px 0;
	}

	header {
		padding:90px 0;
	}
}
