* {
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
}

body {
    font-family:'Inter', sans-serif;
    color:#222;
    line-height:1.7;
    background:#fff;
}

h1,
h2,
h3 {
    font-family:'Playfair Display', serif;
    color:#0d1b2a;
}


a {
    text-decoration:none;
    color:inherit;
}


img {
    max-width:100%;
    display:block;
}


/* COLORS */
:root {
	--navy:#0d1b2a;
	--gold:#c9a227;
	--light:#f5f5f5;
	--white:#ffffff;
	--text:#222;
}

.top-bar {
	background:var(--gold);
	color:white;
	text-align:center;
	padding:10px;
	font-size:14px;
}

.top-bar a {
font-weight:600;
text-decoration:underline;
}

.header {
	height:90px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:0 8%;
	background:white;
	position:sticky;
	top:0;
	z-index:1000;
	box-shadow:0 2px 10px rgba(0,0,0,.08);
	}



.logo h2 {
	margin:0;
	font-size:28px;
	color:var(--navy);
}

.logo span {
	font-size:14px;
	letter-spacing:3px;
	color:var(--gold);
}

nav {
	display:flex;
	align-items:center;
	gap:30px;
}

nav a {
	font-size:15px;
	font-weight:500;
	transition:.3s;
}

nav a:hover {
	color:var(--gold);
}

.dropdown {
	position:relative;
}

.dropdown-menu {
	position:absolute;
	top:25px;
	left:0;
	background:white;
	width:230px;
	padding:20px;
	display:none;
	box-shadow:0 10px 30px rgba(0,0,0,.15);
}

.dropdown:hover .dropdown-menu {
	display:block;
}

.dropdown-menu a {
	display:block;
	padding:8px 0;
}

.menu-btn {
	display:none;
	background:none;
	border:0;
	font-size:30px;
}

.hero {
	height:90vh;
	background:
	linear-gradient(
	rgba(13,27,42,.75),
	rgba(13,27,42,.75)
),

url("../images/banner.png");
	background-size:cover;
	background-position:center;
	display:flex;
	align-items:center;
	padding:0 8%;
	color:white;
}

.hero-content {
	max-width:850px;
	position:relative;
	z-index:2;
}

.hero h1 {
	font-size:60px;
	color:white;
	line-height:1.2;
	margin-bottom:25px;
}

.hero p {
	font-size:22px;
	margin-bottom:40px;
}

.hero-buttons {
	display:flex;
	gap:20px;
}

.estate-planning {
	padding:90px 8%;
	background: linear-gradient(rgba(13,27,42,.9), rgba(13,27,42,.9)),
	url(../images/estate-planning.jpg);
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	color:white;
}

.estate-planning h2 {
	color:white;
	font-size:45px;
	margin-bottom:20px;
}

.estate-planning p {
	font-size:20px;
	margin-bottom:30px;
}

.banner-overlay {
	padding:90px 8%;
	background: linear-gradient(rgba(13,27,42,.9), rgba(13,27,42,.9)),
	url(../images/header.jpg);
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	color:white;
}

.banner-overlay h2 {
	color:white;
	font-size:45px;
	margin-bottom:20px;
}

.banner-overlay p {
	font-size:20px;
	margin-bottom:30px;
}

.btn-primary {
	background:var(--gold);
	color:white;
	padding:15px 35px;
	display:inline-block;
	font-weight:600;
	border-radius:3px;
	transition:.3s;
}

.btn-primary:hover {
	background:#a88416;
}

.btn-outline {
	border:2px solid white;
	padding:13px 35px;
	color:white;
	border-radius:3px;
}

.section {
	padding:90px 8%;
}

.gray {
	background:var(--light);
}

.center {
	text-align:center;
	margin-bottom:50px;
	font-size:40px;
}

.two-column {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:60px;
	align-items:center;
}

.two-column h2 {
	font-size:42px;
	margin-bottom:25px;
}

.two-column ul {
	margin:25px 0;
	padding-left:20px;
}

.two-column li {
	margin-bottom:10px;
}

.cards {
	display:grid;
	grid-template-columns:
	repeat(auto-fit,minmax(280px,1fr));
	gap:30px;
}

.card {
	background:white;
	padding:35px;
	border-radius:8px;
	box-shadow:
	0 10px 30px rgba(0,0,0,.08);
	transition:.3s;
}

.card:hover {
	transform:translateY(-8px);
}

.card h3 {
	font-size:26px;
	margin-bottom:15px;
}

.card a {
	color:var(--gold);
	font-weight:600;
}

.features {
	display:grid;
	grid-template-columns:
	repeat(3,1fr);
	gap:30px;
	text-align:center;
}

.features div {
	padding:35px;
}

.testimonial {
	background:#0d1b2a;
	color:white;
	padding:80px 15%;
	background: linear-gradient(rgba(13,27,42,.9), rgba(13,27,42,.9)),
	url(../images/testimonial.jpg);
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	text-align:center;
}

.testimonial h2 {
	color:white;
	font-size:40px;
}

.testimonial p {
	font-size:22px;
	margin:25px 0;
}

.cta {
	padding:80px 8%;
	text-align:center;
}

.cta h2 {
	font-size:45px;
	margin-bottom:20px;
}

footer {
	background:#08131f;
	color:white;
	padding:50px 8%;
	background: linear-gradient(rgba(13,27,42,.9), rgba(13,27,42,.9)),
	url(../images/footer.jpg);
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	display:flex;
	justify-content:space-between;
}

footer h3 {
	color:white;
}

@media(max-width:900px){
	.header {
		padding:0 5%;
	}
	.menu-btn {
		display:block;
	}
	
	nav {
		position:absolute;
		top:90px;
		left:0;
		width:100%;
		background:white;
		display:none;
		flex-direction:column;
		padding:30px;
	}
	
	nav.active {
		display:flex;
	}
	
	.dropdown-menu {
		position:static;
		box-shadow:none;
	}
	
	.hero {
		height:auto;
		padding:120px 5%;
	}
	
	.hero h1 {
		font-size:40px;
	}
	
	.hero-buttons {
		flex-direction:column;
	}
	
	.two-column {
		grid-template-columns:1fr;
	}
	
	.features {
		grid-template-columns:1fr;
	}
	
	footer {
		flex-direction:column;
	gap:30px;
	}
}