/* Global Styles */
* {margin:0; padding:0; box-sizing:border-box;}
body {
  font-family: 'Inter', sans-serif;
  color:#333;
  background:#fff;
  line-height:1.6;
}
h1,h2,h3,h4 {
  font-family:'Playfair Display', serif;
  color:#0F2B5B;
}
a {text-decoration:none; color:inherit;}
.container {max-width:1100px; margin:auto; padding:0 1rem;}
section {padding:4rem 0;}

/* Header */
header {
  background:#fff;
  border-bottom:1px solid #eee;
  position:sticky; top:0; z-index:1000;
}
.nav {display:flex; justify-content:space-between; align-items:center; padding:1rem 0;}
.logo {font-weight:700; font-size:1.2rem; color:#0F2B5B;}
nav a {margin-left:1.5rem; color:#333; font-weight:500;}
nav a.active, nav a:hover {color:#0F2B5B;}

/* Hero */
.hero {background:#E6F0FF; text-align:center; padding:6rem 1rem;}
.hero h1 {font-size:2.5rem; margin-bottom:1rem;}
.hero p {max-width:600px; margin:auto; margin-bottom:2rem;}

/* Buttons */
.btn {
  background:#0F2B5B; color:#fff; padding:0.75rem 1.5rem; border-radius:30px;
  display:inline-block; transition:0.3s ease;
}
.btn:hover {opacity:0.9;}
.btn.gold {background:#C0B283;}

/* Services Overview */
.services-overview h2 {text-align:center; margin-bottom:2rem;}
.grid-3 {display:grid; grid-template-columns:repeat(auto-fit, minmax(250px,1fr)); gap:2rem;}
.card {
  background:#fff; padding:2rem; text-align:center; border:1px solid #eee; border-radius:12px;
  transition:0.3s ease; box-shadow:0 2px 5px rgba(0,0,0,0.05);
}
.card:hover {transform:translateY(-5px);}
.card i {font-size:2rem; color:#0F2B5B; margin-bottom:1rem;}
.card h3 {margin-bottom:1rem;}
.card p {margin-bottom:1rem;}
.link {color:#0F2B5B; font-weight:600;}

/* Testimonial */
.testimonial {background:#0F2B5B; color:#fff; text-align:center; padding:4rem 2rem;}
.testimonial blockquote {font-size:1.5rem; margin-bottom:1rem;}

/* Final CTA */
.final-cta {text-align:center;}
.final-cta h2 {margin-bottom:2rem;}

/* Page Hero */
.page-hero {background:#E6F0FF; text-align:center; padding:4rem 1rem;}
.page-hero h1 {margin-bottom:1rem;}

/* Services Detail */
.services-detail ul {text-align:left; margin-top:1rem; list-style:disc inside;}
.services-detail li {margin-bottom:0.5rem;}

/* Process Timeline */
.process .timeline {display:flex; flex-direction:column; gap:2rem; text-align:center; margin-top:2rem;}
.process .step {background:#fff; padding:1.5rem; border-radius:12px; border:1px solid #eee;}

/* Pricing */
.pricing .grid-2 {display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:2rem; margin-top:2rem;}
.price-card {background:#fff; border:1px solid #eee; border-radius:12px; padding:2rem; text-align:center;}
.note {margin-top:1rem; font-size:0.9rem; color:#555; text-align:center;}

/* Contact Form */
.contact-form {display:flex; flex-direction:column; gap:1rem; flex:1;}
.contact-form input, .contact-form textarea {
  padding:0.75rem; border:1px solid #ddd; border-radius:8px; font-family:inherit;
}
.contact-form textarea {min-height:120px; resize:vertical;}
.contact-form-section .container {display:flex; flex-direction:column; gap:2rem;}
.direct-contact {text-align:center;}
.direct-contact a {color:#0F2B5B; font-weight:600;}

/* Footer */
footer {background:#0F2B5B; color:#fff; text-align:center; padding:1rem 0; margin-top:3rem;}

/* Animations */
.fade-in {opacity:0; transform:translateY(30px); transition:opacity 0.8s ease, transform 0.8s ease;}
.fade-in.visible {opacity:1; transform:translateY(0);}

/* Responsive */
@media (min-width:768px) {
  .process .timeline {flex-direction:row; justify-content:space-between;}
  .contact-form-section .container {flex-direction:row;}
}
