* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    font-family: "DM Sans", sans-serif;
    color: #171717;
    background: #fff
}

a {
    text-decoration: none;
    color: inherit
}

.nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 20;
    height: 78px;
    padding: 0 6%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(10, 10, 10, .9);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(218, 171, 77, .25)
}

.brand {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-family: "Great Vibes", cursive;
    font-size: 30px;
    line-height: .8
}

.brand b {
    color: #e8b957;
    font-weight: 400
}

.brand small {
    display: block;
    font: 600 8px "DM Sans";
    letter-spacing: 2px;
    color: #ddd;
    margin-top: 7px
}

.brand-icon {
    font: 24px "DM Sans";
    color: #e8b957
}

.nav nav {
    display: flex;
    align-items: center;
    gap: 26px;
    color: #fff;
    font-size: 13px
}

.nav nav a {
    opacity: .9
}

.nav nav a:hover,
.nav nav .active {
    color: #e8b957
}

.nav-book {
    background: #e8b957 !important;
    color: #171717 !important;
    padding: 12px 20px;
    border-radius: 7px;
    font-weight: 700
}

.menu {
    display: none;
    background: none;
    border: 0;
    color: #fff;
    font-size: 28px
}

.hero {
    min-height: 760px;
    position: relative;
    display: flex;
    align-items: center;
    padding: 120px 8%;
    background-image: url("https://images.unsplash.com/photo-1519225421980-715cb0215aed?auto=format&fit=crop&w=2200&q=90");
    background-size: cover;
    background-position: center
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, .84) 0%, rgba(0, 0, 0, .62) 43%, rgba(0, 0, 0, .18) 100%)
}

.hero-content {
    position: relative;
    color: #fff;
    max-width: 670px
}

.eyebrow {
    font-size: 11px;
    letter-spacing: 4px;
    color: #e8b957;
    font-weight: 700;
    margin: 0 0 14px
}

.eyebrow.dark {
    color: #bd8a28
}

.hero h1 {
    font: 78px "Great Vibes";
    font-weight: 400;
    margin: 0;
    line-height: 1.05
}

.hero h1 span {
    color: #e8b957
}

.hero h2 {
    font: 600 25px "Playfair Display";
    margin: 12px 0
}

.hero-copy {
    max-width: 510px;
    color: #ddd;
    line-height: 1.7
}

.hero-meta {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    font-size: 13px;
    color: #eee;
    margin: 25px 0
}

.buttons {
    display: flex;
    gap: 14px
}

.btn {
    display: inline-block;
    padding: 15px 24px;
    border-radius: 7px;
    font-weight: 700;
    font-size: 14px
}

.gold {
    background: #e8b957;
    color: #171717
}

.outline {
    border: 1px solid #fff;
    color: #fff
}

.hero-script {
    position: absolute;
    right: 8%;
    bottom: 18%;
    color: #fff;
    font: 38px "Great Vibes";
    line-height: 1.1;
    transform: rotate(-7deg);
    opacity: .9
}

.section {
    padding: 90px 6%
}

.services {
    display: grid;
    grid-template-columns: 230px 1fr;
    gap: 40px;
    align-items: start
}

.section h2,
.about h2,
.packages h2,
.cta h2 {
    font: 600 39px "Playfair Display";
    margin: 0 0 14px
}

.section-intro>p:not(.eyebrow) {
    color: #666;
    line-height: 1.7
}

.text-btn {
    display: inline-block;
    margin-top: 12px;
    font-weight: 700;
    color: #9a6b13
}

.service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px
}

.service-card {
    border: 1px solid #eee;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 7px 24px rgba(0, 0, 0, .05);
    transition: .25s
}

.service-card:hover {
    transform: translateY(-5px)
}

.service-card h3 {
    font: 600 16px "Playfair Display";
    margin: 15px 15px 5px
}

.service-card p {
    font-size: 12px;
    color: #777;
    margin: 0 15px 16px
}

.service-img {
    height: 145px;
    background-size: cover;
    background-position: center
}

.wedding {
    background-image: url("https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=700&q=80")
}

.video {
    background-image: url("https://images.unsplash.com/photo-1492619375914-88005aa9e8fb?auto=format&fit=crop&w=700&q=80")
}

.drone {
    background-image: url("https://images.unsplash.com/photo-1473968512647-3e447244af8f?auto=format&fit=crop&w=700&q=80")
}

.pre {
    background-image: url("https://images.unsplash.com/photo-1537633552985-df8429e8048b?auto=format&fit=crop&w=700&q=80")
}

.haldi {
    background-image: url("https://images.unsplash.com/photo-1544078751-58fee2d8a03b?auto=format&fit=crop&w=700&q=80")
}

.album {
    background-image: url("https://images.unsplash.com/photo-1544816155-12df9643f363?auto=format&fit=crop&w=700&q=80")
}

.section-dark {
    background: #0b0e0f;
    color: #fff
}

.about {
    padding: 75px 6%;
    display: grid;
    grid-template-columns: 1.1fr 1.35fr .7fr;
    gap: 42px;
    align-items: center
}

.camera-photo {
    min-height: 330px;
    border-radius: 10px;
    background: url("https://images.unsplash.com/photo-1516035069371-29a1b244cc32?auto=format&fit=crop&w=1000&q=85") center/cover
}

.about-copy p:not(.eyebrow) {
    color: #c9c9c9;
    line-height: 1.8
}

.facts {
    display: flex;
    gap: 25px;
    margin-top: 25px;
    color: #eee;
    font-size: 12px
}

.highlights {
    border-left: 1px solid #8e6b27;
    padding-left: 28px;
    display: grid;
    gap: 22px
}

.highlights div {
    display: flex;
    gap: 12px;
    align-items: center;
    color: #e8b957;
    font-size: 25px
}

.highlights span {
    font-size: 12px;
    color: #fff;
    line-height: 1.4
}

.portfolio {
    padding-top: 85px
}

.section-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 25px
}

.filters {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
}

.filter {
    border: 1px solid #ddd;
    background: #fff;
    padding: 9px 15px;
    border-radius: 30px;
    cursor: pointer
}

.filter.active {
    background: #e8b957;
    border-color: #e8b957
}

.gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

.gallery-item {
    height: 270px;
    overflow: hidden;
    border-radius: 9px
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .35s
}

.gallery-item:hover img {
    transform: scale(1.05)
}

.packages {
    text-align: center;
    padding: 85px 6%
}

.package-note {
    color: #aaa;
    max-width: 650px;
    margin: 0 auto 35px
}

.package-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    max-width: 1000px;
    margin: auto
}

.package-grid article {
    border: 1px solid #333;
    padding: 32px;
    text-align: left;
    border-radius: 10px
}

.package-grid .featured {
    border-color: #e8b957;
    box-shadow: 0 0 35px rgba(232, 185, 87, .08)
}

.package-grid span {
    color: #e8b957;
    font-size: 12px
}

.package-grid h3 {
    font: 600 25px "Playfair Display"
}

.package-grid p {
    color: #aaa;
    line-height: 1.7;
    font-size: 14px
}

.package-grid a {
    color: #e8b957;
    font-weight: 700;
    font-size: 13px
}

.cta {
    text-align: center;
    padding: 95px 20px;
    background: linear-gradient(rgba(0, 0, 0, .67), rgba(0, 0, 0, .75)), url("https://images.unsplash.com/photo-1511285560929-80b456fea0bc?auto=format&fit=crop&w=2200&q=85") center/cover;
    color: #fff
}

.cta h2 {
    font-size: 48px
}

.cta .btn {
    margin-top: 10px
}

footer {
    background: #080a0b;
    color: #bbb;
    padding: 55px 6% 20px;
    display: grid;
    grid-template-columns: 1.5fr 1fr 1.4fr 1fr;
    gap: 35px;
    position: relative
}

footer h4 {
    color: #fff;
    margin: 0 0 15px
}

footer>div>a,
footer>div>p {
    display: block;
    font-size: 13px;
    line-height: 1.8;
    margin: 6px 0
}

.footer-book {
    color: #e8b957;
    font-weight: 700
}

.copyright {
    grid-column: 1/-1;
    border-top: 1px solid #333;
    padding-top: 18px;
    font-size: 11px;
    display: flex;
    justify-content: space-between
}

.copyright span {
    color: #e8b957
}

@media(max-width:900px) {
    .nav nav {
        display: none
    }

    .menu {
        display: block
    }

    .nav.open nav {
        position: absolute;
        top: 78px;
        left: 0;
        right: 0;
        background: #0b0b0b;
        display: flex;
        flex-direction: column;
        padding: 25px
    }

    .hero {
        min-height: 680px
    }

    .hero h1 {
        font-size: 62px
    }

    .services,
    .about {
        grid-template-columns: 1fr
    }

    .service-grid,
    .package-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .gallery {
        grid-template-columns: repeat(2, 1fr)
    }

    .highlights {
        border-left: 0;
        border-top: 1px solid #8e6b27;
        padding: 25px 0;
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:600px) {
    .nav {
        padding: 0 5%;
        height: 68px
    }

    .brand {
        font-size: 25px
    }

    .hero {
        padding: 105px 6% 70px;
        min-height: 650px
    }

    .hero h1 {
        font-size: 54px
    }

    .hero h2 {
        font-size: 20px
    }

    .hero-script {
        display: none
    }

    .section,
    .portfolio,
    .packages {
        padding: 65px 5%
    }

    .service-grid,
    .gallery,
    .package-grid {
        grid-template-columns: 1fr
    }

    .gallery-item {
        height: 320px
    }

    .section-head {
        display: block
    }

    .filters {
        margin-top: 20px
    }

    .facts {
        flex-direction: column
    }

    .cta h2 {
        font-size: 37px
    }

    footer {
        grid-template-columns: 1fr 1fr;
        padding: 45px 5% 20px
    }

    .copyright {
        grid-column: 1/-1;
        display: block
    }

    .copyright span {
        display: block;
        margin-top: 8px
    }
}

.whatsapp-button {
    position: fixed;
    right: 20px;
    bottom: 20px;
    background: #25D366;
    color: white;
    padding: 14px 22px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: bold;
    z-index: 9999;
}

.whatsapp-button:hover {
    opacity: 0.9;
}
.instagram-link {
    display: flex !important;
    align-items: center;
    gap: 8px;
}

.instagram-icon {
    width: 18px;
    height: 18px;
    border: 2px solid currentColor;
    border-radius: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 1;
}
/* =========================
   BOOKING FORM
========================= */

.booking-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);

    display: none;
    align-items: center;
    justify-content: center;

    padding: 20px;
    z-index: 99999;

    overflow-y: auto;
}

.booking-overlay.active {
    display: flex;
}

.booking-form-box {
    position: relative;

    width: 100%;
    max-width: 520px;

    max-height: 90vh;
    overflow-y: auto;

    background: #ffffff;
    border-radius: 18px;

    padding: 30px;

    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);

    animation: bookingOpen 0.25s ease;
}

@keyframes bookingOpen {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.96);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}


/* Close Button */

.booking-close {
    position: absolute;

    top: 12px;
    right: 15px;

    width: 38px;
    height: 38px;

    border: none;
    border-radius: 50%;

    background: transparent;

    font-size: 30px;
    line-height: 1;

    cursor: pointer;

    color: #333;

    transition: 0.2s;
}

.booking-close:hover {
    background: #eeeeee;
}


/* Heading */

.booking-form-box h2 {
    margin: 0;
    padding-right: 40px;

    font-size: 28px;
}

.booking-subtitle {
    margin: 8px 0 25px;

    color: #666;
    font-size: 14px;
}


/* Form */

#bookingForm {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.form-group label {
    font-size: 14px;
    font-weight: 600;
}

.form-group input,
.form-group select,
.form-group textarea {

    width: 100%;

    padding: 13px 14px;

    border: 1px solid #d8d8d8;
    border-radius: 8px;

    font-size: 15px;

    box-sizing: border-box;

    outline: none;

    transition: 0.2s;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    border-color: #c9a227;
}

.form-group textarea {
    min-height: 100px;
    resize: vertical;
}


/* Submit Button */

.booking-submit {

    width: 100%;

    padding: 14px;

    border: none;
    border-radius: 8px;

    background: #c9a227;
    color: #ffffff;

    font-size: 16px;
    font-weight: 600;

    cursor: pointer;

    transition: 0.2s;
}

.booking-submit:hover {
    opacity: 0.9;
}


/* Mobile */

@media (max-width: 600px) {

    .booking-overlay {
        padding: 12px;
    }

    .booking-form-box {
        padding: 24px 18px;
        max-height: 92vh;
    }

    .booking-form-box h2 {
        font-size: 24px;
    }
}