```css
/* ==========================
   CREST & GRANDEUR
   PREMIUM THEME
========================== */

:root{
    --navy:#041A4D;
    --gold:#D4AF37;
    --green:#1F6B52;
    --white:#F8F8F8;
    --dark:#111111;
    --grey:#777777;
}

/* RESET */

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

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:#ffffff;
    color:var(--dark);
    line-height:1.7;
}

.container{
    width:90%;
    max-width:1200px;
    margin:auto;
}

/* ==========================
   NAVBAR
========================== */

.navbar{
    position:fixed;
    width:100%;
    top:0;
    z-index:999;
    background:rgba(4,26,77,0.95);
    padding:15px 0;
    backdrop-filter:blur(10px);
}

.navbar .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.logo img{
    height:70px;
}

nav ul{
    display:flex;
    list-style:none;
    gap:30px;
}

nav ul li a{
    color:white;
    text-decoration:none;
    font-weight:500;
    transition:0.3s;
}

nav ul li a:hover{
    color:var(--gold);
}

.btn-nav{
    background:var(--gold);
    color:var(--navy);
    padding:12px 24px;
    text-decoration:none;
    border-radius:30px;
    font-weight:600;
}

/* ==========================
   HERO
========================== */

.hero{
    height:100vh;
    background:
    linear-gradient(
    rgba(4,26,77,0.85),
    rgba(4,26,77,0.90)),
    url('../images/hero-bg.jpg');
    background-size:cover;
    background-position:center;
    display:flex;
    align-items:center;
}

.hero-content{
    text-align:center;
    color:white;
}

.hero h1{
    font-family:'Playfair Display',serif;
    font-size:72px;
    line-height:1.1;
    margin-bottom:20px;
}

.hero p{
    max-width:800px;
    margin:auto;
    font-size:20px;
}

.hero-buttons{
    margin-top:40px;
}

.btn-gold{
    background:var(--gold);
    color:var(--navy);
    padding:15px 35px;
    text-decoration:none;
    border-radius:30px;
    margin-right:15px;
    font-weight:600;
}

.btn-outline{
    border:2px solid white;
    color:white;
    text-decoration:none;
    padding:15px 35px;
    border-radius:30px;
}

/* ==========================
   SECTIONS
========================== */

section{
    padding:100px 0;
}

.section-heading{
    text-align:center;
    margin-bottom:50px;
}

.section-heading span{
    color:var(--gold);
    font-weight:600;
    letter-spacing:2px;
}

.section-heading h2{
    font-size:42px;
    margin-top:10px;
    font-family:'Playfair Display',serif;
}

/* ==========================
   ABOUT
========================== */

.about-preview{
    background:#f9f9f9;
    text-align:center;
}

.about-preview p{
    max-width:900px;
    margin:auto;
    font-size:18px;
}

/* ==========================
   SERVICES
========================== */

.service-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.service-card{
    background:white;
    padding:40px;
    text-align:center;
    border-radius:15px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    transition:.3s;
}

.service-card:hover{
    transform:translateY(-10px);
}

.service-card i{
    font-size:45px;
    color:var(--gold);
    margin-bottom:20px;
}

.service-card h3{
    margin-bottom:15px;
}

/* ==========================
   WHY US
========================== */

.why-us{
    background:var(--navy);
    color:white;
}

.why-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.why-box{
    border:1px solid rgba(255,255,255,.15);
    padding:30px;
    text-align:center;
    border-radius:10px;
}

/* ==========================
   PROCESS
========================== */

.process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.step{
    text-align:center;
}

.step h3{
    font-size:50px;
    color:var(--gold);
}

/* ==========================
   TESTIMONIALS
========================== */

.testimonial-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.testimonial-card{
    background:#fff;
    padding:30px;
    border-radius:15px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

/* ==========================
   CTA
========================== */

.cta{
    background:var(--navy);
    text-align:center;
    color:white;
}

.cta h2{
    font-size:48px;
    margin-bottom:20px;
    font-family:'Playfair Display',serif;
}

.cta p{
    margin-bottom:30px;
}

/* ==========================
   FOOTER
========================== */

footer{
    background:#021238;
    color:white;
    text-align:center;
    padding:60px 0;
}

.footer-logo{
    font-size:30px;
    color:var(--gold);
    font-family:'Playfair Display',serif;
    margin-bottom:15px;
}

.footer-contact p{
    margin:10px 0;
}

.copyright{
    margin-top:30px;
    opacity:.7;
}

/* ==========================
   WHATSAPP
========================== */

.whatsapp{
    position:fixed;
    bottom:25px;
    right:25px;
    width:65px;
    height:65px;
    background:#25D366;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    font-size:30px;
    text-decoration:none;
    z-index:999;
}

/* ==========================
   RESPONSIVE
========================== */

@media(max-width:992px){

.service-grid,
.why-grid,
.process-grid,
.testimonial-grid{
grid-template-columns:1fr;
}

.hero h1{
font-size:48px;
}

nav{
display:none;
}

.btn-nav{
display:none;
}

.logo img{
height:60px;
}

}
```css
.contact-form{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
    padding:16px;
    border:1px solid #ddd;
    border-radius:8px;
    font-family:'Poppins',sans-serif;
    font-size:16px;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
    outline:none;
    border-color:#D4AF37;
}
```

