body {
    background: #F2EBE2;
    font-family: "Gilda Display", serif;
    overflow-x: hidden;
  }
  
  /* HERO SECTION */
  .hero-section {
    height: 100vh;
    width: 100%;
    background: url("https://res.cloudinary.com/dw0rfcqdk/image/upload/q_auto/f_auto/v1775830407/wedding-photographer-hubli-dharwad_lgnycj.webp") center center / cover no-repeat;
    position: relative;
  }
  
  /* NAVBAR */
  .navbar {
    padding: 25px 0;
    z-index: 10;
  }
  
  /* NAV LINKS */
  .nav-link {
    color: #fff !important;
    font-size: 17px;
    margin: 0 10px;
    transition: 0.3s;
  }
  
  .nav-link:hover {
    opacity: 0.7;
  }
  
  li.nav-item {
    margin: 0 2rem;
    font-family: "Gilda Display", serif;
  }
  
  /* LOGO */
  .logo img {
    max-height: 100px;
  }
  
  /* MOBILE FIX */
  @media (max-width: 991px) {
    .navbar-nav {
      text-align: center;
    }
  
    .logo {
      order: -1;
    }
  }
  
  
  ul.navbar-nav.me-auto.mb-2.mb-lg-0 {
  background: #530000;
  }
  
  ul.dropdown-menu.show {
  text-align: center;
  background: #f5efe6;
  }
  
  .navbar-toggler{
  border: none;
  box-shadow: none !important;
  padding: 0;
  background: transparent;
  }
  
  .navbar-toggler:focus{
  box-shadow: none !important;
  }
  
  .menu-icon{
  display: block;
  overflow: visible;
  }
  
  .menu-icon .line{
  stroke: #000;
  stroke-width: 2.2;
  stroke-linecap: round;
  transform-box: fill-box;
  transform-origin: center;
  transition: transform .3s ease, opacity .25s ease;
  }
  
  .navbar-toggler[aria-expanded="true"] .menu-icon .top{
  transform: translateY(5px) rotate(45deg);
  }
  
  .navbar-toggler[aria-expanded="true"] .menu-icon .middle{
  opacity: 0;
  }
  
  .navbar-toggler[aria-expanded="true"] .menu-icon .bottom{
  transform: translateY(-5px) rotate(-45deg);
  }
  
  .menu-icon .line{
  stroke:#530000;   /* maroon */
  }
  
  .custom-toggler {
  background: #f2ebe2;
  border-radius: 3px !important;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  }
  
  /* END */
  
  /* ABOUT US */
  
  section.about-section {
    padding: 100px 0 20px;
    /* background: #fff; */
  }
  
  /* HEADING */
  section.about-section .about-heading h1 {
    font-size: 55px;
    font-weight: 100;
    /* letter-spacing: 1px; */
    line-height: 1.4;
    color: #333;
  }
  
  section.about-section .about-heading span {
    font-family: "Luxurious Script", cursive;
    /* font-style: italic; */
    color: #530000;
    font-size: 80px;
    letter-spacing: 1px;
  }
  
  
  
  /* CONTENT */
  section.about-section .about-content {
    margin-top: 80px;
  }
  
  section.about-section .about-image {
    text-align: right;
  }
  
  /* IMAGE */
  section.about-section .about-image img {
    width: 100%;
    max-width: 420px;
    margin-right: 50px;
  }
  
  /* TEXT STYLES */
  section.about-section .meet-title {
    font-size: 55px;
    letter-spacing: 2px;
    color: #530000;
  }
  
  section.about-section .brand-name {
    font-size: 15px;
    letter-spacing: 9px;
    color: #909089;
    margin-bottom: 25px;
    font-family: "DM Sans", sans-serif;
    font-weight: 200;
  }
  
  section.about-section .about-text {
    font-size: 16px;
    line-height: 2rem;
    color: #2c2c2c;
    max-width: 530px;
    font-family: "DM Sans", sans-serif;
    font-weight: 300;
    text-align: justify;
  }
  
  /* LINK */
  section.about-section .about-link {
    display: flex;
    justify-content: end;
    align-items: center;
    margin-top: 29px;
    font-size: 15px;
    letter-spacing: 0px;
    color: #4b4b4b;
    text-decoration: none;
    margin-right: 100px;
    text-transform: uppercase;
    font-family: "DM Sans", sans-serif;
    font-weight: 200;
  }
  
  section.about-section .about-link span {
    font-family: "Luxurious Script", cursive;
    font-style: italic;
    margin-right: 14px;
    color: #530000;
    font-size: 30px;
    text-transform: capitalize;
  }
  
  section.about-section .about-content svg {
    margin-left: 10px;
  }
  
  /* RESPONSIVE */
  @media (max-width: 768px) {
    section.about-section .about-heading h2 {
      font-size: 28px;
    }
  
    section.about-section .meet-title {
      font-size: 28px;
    }
  
    section.about-section .about-content {
      text-align: center;
    }
  
    section.about-section .about-image img {
      margin: 0 auto;
    }
  }
  
  /* END */
  
  /* SERVICES SECTION */
  section.services-section {
    padding: 60px 0 0;
  }
  
  /* TITLE */
  section.services-section .services-title {
    font-size: 42px;
    font-weight: 400;
    color: #530000;
    margin-bottom: 20px;
  }
  
  section.services-section .services-title span {
    font-family: "Luxurious Script", cursive;
    color: #530000;
    font-size: 60px;
    letter-spacing: 1px;
  }
  
  section.services-section .services-wrapper {
    background: linear-gradient(180deg, #6a0000, #5a0000);
    padding: 60px 40px 0;
  }
  
  section.services-section .service-card {
    background: transparent;
  }
  
  section.services-section .service-card img {
    width: 100%;
    height: 650px;
    object-fit: cover;
    display: block;
  }
  
  section.services-section .service-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 15px;
    color: #DAD1C0;
    font-size: 20px;
    letter-spacing: 0px;
  }
  
  section.services-section .service-footer .arrow {
    font-size: 22px;
    margin-right: 20px;
  }

  section.services-section .services-wrapper a {
    text-decoration: none;
}
  
  /* RESPONSIVE */
  @media (max-width: 991px) {
    section.services-section .service-card img {
      height: 400px;
    }
  
    section.services-section .services-wrapper {
      padding: 40px 20px;
    }
  }
  
  @media (max-width: 576px) {
    section.services-section .services-title {
      font-size: 28px;
    }
  
    section.services-section .service-footer {
      font-size: 16px;
    }
  }
  
  /* END SERVICES */
  
  
  /* TESTIMONIALS SECTION */
  section.testimonials-section {
    padding: 60px 0;
  }
  
  /* TITLE */
  section.testimonials-section .testimonials-title {
    font-size: 42px;
    font-weight: 400;
    color: #530000;
    margin-bottom: 20px;
  }
  
  section.testimonials-section .testimonials-title span {
    font-family: "Luxurious Script", cursive;
    color: #530000;
    font-size: 60px;
    letter-spacing: 1px;
  }
  
  /* CONTENT */
  section.testimonials-section .testimonial-content {
    max-width: 650px;
    margin: 0 auto;
  }
  
  section.testimonials-section .testimonial-image {
    width: 380px;
    max-width: 100%;
    margin-bottom: 40px;
  }
  
  section.testimonials-section .testimonial-text {
    font-size: 16px;
    line-height: 2rem;
    color: #2c2c2c;
    font-family: "DM Sans", sans-serif;
    font-weight: 300;
    max-width: 550px;
    margin: 0 auto;
  }
  
  section.testimonials-section .testimonial-name {
    font-family: "Luxurious Script", cursive;
    color: #530000;
    font-size: 35px;
    letter-spacing: 1px;
    margin-top: 50px;
  }
  
  /* NAVIGATION */
  section.testimonials-section .testimonial-nav {
    display: flex;
    justify-content: space-between;
    /* margin-top: 80px; */
    font-size: 14px;
    letter-spacing: 1px;
    color: #7b2d2d;
  }
  
  section.testimonials-section .testimonial-nav span {
    font-family: "DM Sans", sans-serif;
    text-transform: uppercase;
  }
  
  section.testimonials-section .testimonial-prev,
  section.testimonials-section .testimonial-next {
    cursor: pointer;
    user-select: none;
  }
  
  /* RESPONSIVE */
  @media (max-width: 768px) {
    section.testimonials-section .testimonials-title {
      font-size: 28px;
    }
  
    section.testimonials-section .testimonial-image {
      width: 280px;
    }
  
    section.testimonials-section .testimonial-nav {
      margin-top: 50px;
    }
  }
  
  /* TESTIMONIALS END */
  
  /* COUNTER SECTION */
  section.counter-section {
    position: relative;
    padding: 100px 0;
    background: url("https://res.cloudinary.com/dw0rfcqdk/image/upload/v1772468162/counter-banner_n4jj9x.webp") center center / cover no-repeat;
    color: #f2e8dc;
    margin-bottom: 100px;
  }
  
  
  /* DIVIDER LINES */
  section.counter-section .counter-line {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    height: 1px;
    background: rgba(255, 235, 215, 0.35);
    z-index: 2;
  }
  
  section.counter-section .counter-line-top {
    top: 50px;
  }
  
  section.counter-section .counter-line-bottom {
    bottom: 50px;
  }
  
  
  /* CONTENT ABOVE OVERLAY */
  section.counter-section .container {
    position: relative;
    z-index: 2;
  }
  
  /* NUMBERS */
  section.counter-section .counter {
    font-size: 64px;
    font-weight: 100;
    margin-bottom: 15px;
    color: #DAD1C0;
  }
  
  /* TEXT */
  section.counter-section p {
    font-size: 12px;
    letter-spacing: 2px;
    line-height: 1.8;
    font-family: "DM Sans", sans-serif;
    text-transform: uppercase;
  }
  
  /* RESPONSIVE */
  @media (max-width: 768px) {
    .counter {
      font-size: 42px;
    }
  }
  
  /* COUNTERS END */
  
  /* PORTFOLIO PARALLAX SECTION */
  section.portfolio-parallax {
    min-height: 100vh;
    background-image: url("https://res.cloudinary.com/dw0rfcqdk/image/upload/v1772532963/portfolio_opbwi2.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
  
    display: flex;
    align-items: center;
  }
  
  /* CONTENT */
  section.portfolio-parallax .portfolio-content {
    color: #fff;
  }
  
  /* SMALL TEXT */
  section.portfolio-parallax .portfolio-eyebrow {
    font-size: 14px;
    line-height: 1.6rem;
    font-family: "DM Sans", sans-serif;
    font-weight: 200;
    margin-bottom: 0;
  }
  
  /* BIG SCRIPT TITLE */
  section.portfolio-parallax .portfolio-title {
    font-family: "Luxurious Script", cursive;
    color: #ffffff;
    font-size: 14rem;
    letter-spacing: 1px;
  }
  
  /* BUTTON */
  section.portfolio-parallax .portfolio-btn {
    display: inline-block;
    transition: all 0.3s ease;
    padding: 12px 28px;
    background: #fff;
    color: #5a0b0b;
    text-decoration: none;
    font-size: 16px;
    font-family: "DM Sans", sans-serif;
    font-weight: 300;
    cursor: pointer;
    margin-left: -23rem;
  }
  
  section.portfolio-parallax .portfolio-btn:hover {
    background: #6a1b1b;
    color: #fff;
  }
  
  /* RESPONSIVE */
  @media (max-width: 768px) {
    section.portfolio-parallax .portfolio-title {
      font-size: 52px;
    }
  }
  
  /* PORTFOLIO END */
  
  /* FAQ SECTION */
  section.faq-section {
    padding: 80px 0;
    overflow-x: hidden;
  }
  
  section.faq-section .faq-title {
    font-size: 42px;
    font-weight: 400;
    color: #530000;
    margin-bottom: 20px;
  }
  
  section.faq-section .faq-title span {
    font-family: "Luxurious Script", cursive;
    color: #530000;
    font-size: 60px;
    letter-spacing: 1px;
  }
  
  /* ACCORDION RESET */
  section.faq-section .faq-accordion .accordion-item {
    border: none;
    border-top: 1px solid #aaa;
  }
  
  section.faq-section .faq-accordion .accordion-button {
    background: transparent;
    box-shadow: none;
    padding: 25px 0;
    font-size: 14px;
    letter-spacing: 2px;
    color: #6a1d1d;
    position: relative;
    text-transform: uppercase;
    font-family: "DM Sans", sans-serif;
    font-weight: 600;
    font-size: 12px;
  }
  
  section.faq-section .faq-accordion .accordion-button::after {
    display: none;
    /* remove bootstrap arrow */
  }
  
  /* BODY */
  section.faq-section .faq-accordion .accordion-body {
    padding: 10px 0 30px;
    font-size: 14px;
    color: #555;
    max-width: 600px;
    color: #000000;
    font-family: "DM Sans", sans-serif;
  }
  
  /* ICON */
  section.faq-section .faq-icon {
    margin-left: auto;
    width: 8px;
    height: 18px;
    background-repeat: no-repeat;
    background-size: contain;
    margin-right: 20px;
  }
  
  /* DOWN ARROW (collapsed) */
  section.faq-section .accordion-button.collapsed .faq-icon {
    background-image: url("data:image/svg+xml;utf8,<svg width='8' height='18' viewBox='0 0 8 18' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M4.42706 17.8477L7.8229 14.9346C7.93629 14.8373 8 14.7053 8 14.5677C8 14.4301 7.93629 14.2981 7.8229 14.2008C7.7095 14.1035 7.5557 14.0488 7.39534 14.0488C7.23497 14.0488 7.08117 14.1035 6.96778 14.2008L4.62826 16.2087V0.517962C4.62826 0.38059 4.56467 0.248844 4.45147 0.151707C4.33827 0.0545707 4.18474 0 4.02465 0C3.86456 0 3.71103 0.0545707 3.59783 0.151707C3.48463 0.248844 3.42103 0.38059 3.42103 0.517962V16.2523L1.03222 14.2008C0.918828 14.1035 0.765029 14.0488 0.604663 14.0488C0.444296 14.0488 0.290498 14.1035 0.177102 14.2008C0.0637054 14.2981 0 14.4301 0 14.5677C0 14.7053 0.0637054 14.8373 0.177102 14.9346L3.57244 17.8481Z' fill='%23253474'/></svg>");
  }
  
  /* UP ARROW (expanded) */
  section.faq-section .accordion-button:not(.collapsed) .faq-icon {
    background-image: url("data:image/svg+xml;utf8,<svg width='8' height='18' viewBox='0 0 8 18' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M3.57294 0.152344L0.177102 3.06544C0.0637054 3.16275 0 3.29472 0 3.43233C0 3.56994 0.0637054 3.70192 0.177102 3.79922C0.290498 3.89653 0.444296 3.95119 0.604663 3.95119C0.765029 3.95119 0.918827 3.89653 1.03222 3.79922L3.37174 1.79126V17.482C3.37174 17.6194 3.43533 17.7512 3.54853 17.8483C3.66173 17.9454 3.81526 18 3.97535 18C4.13544 18 4.28897 17.9454 4.40217 17.8483C4.51537 17.7512 4.57897 17.6194 4.57897 17.482V1.74766L6.96778 3.79922C7.08117 3.89653 7.23497 3.95119 7.39534 3.95119C7.5557 3.95119 7.7095 3.89653 7.8229 3.79922C7.93629 3.70192 8 3.56994 8 3.43233C8 3.29472 7.93629 3.16275 7.8229 3.06544L4.42756 0.151911Z' fill='%23253474'/></svg>");
  }
  
  /* REMOVE WHITE ACCORDION BACKGROUND COMPLETELY */
  section.faq-section .faq-accordion,
  section.faq-section .faq-accordion .accordion-item,
  section.faq-section .faq-accordion .accordion-button,
  section.faq-section .faq-accordion .accordion-body {
    background: transparent !important;
  }
  
  /* REMOVE ROUNDED CARD LOOK */
  section.faq-section .faq-accordion .accordion-item {
    border-radius: 0;
  }
  
  /* REMOVE LEFT/RIGHT PADDING THAT CREATES WHITE BLOCK FEEL */
  section.faq-section .faq-accordion {
    padding: 0;
  }
  
  /* KEEP ONLY TOP & BOTTOM LINES */
  section.faq-section .faq-accordion .accordion-item {
    border-left: none;
    border-right: none;
    border-bottom: none;
    border-top: 1px solid #a8a8a8;
  }
  
  section.faq-section .faq-section {
    background: transparent;
  }
  
  /* FAQ SECTION */
  
  /* CTA SECTION */
  section.cta-hero {
    position: relative;
    min-height: 100vh;
    background-image: url("/assets/img/cta-bg.png");
    /* 👈 your image */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  
  /* CONTENT */
  section.cta-hero .cta-content {
    position: relative;
    z-index: 2;
    max-width: 900px;
    padding: 0 20px;
  }
  
  /* TEXT */
  section.cta-hero .cta-content h2 {
    font-size: 70px;
    color: #dad1c0;
    font-weight: 400;
    /* line-height: 1.2; */
    letter-spacing: -4px;
  }
  
  section.cta-hero .cta-content h2 span {
    font-family: "Luxurious Script", cursive;
    color: #530000;
    font-size: 90px;
    letter-spacing: 1px;
  }
  
  /* BUTTON */
  section.cta-hero .cta-btn {
    display: inline-block;
    margin-top: 40px;
    padding: 14px 36px;
    background: #ffffff;
    color: #6a1d1d;
    text-decoration: none;
    font-size: 14px;
    letter-spacing: 0px;
    transition: all 0.3s ease;
    font-family: "DM Sans", sans-serif;
    font-weight: 600;
  }
  
  section.cta-hero .cta-btn:hover {
    background: #6a1d1d;
    color: #ffffff;
  }
  
  /* RESPONSIVE */
  @media (max-width: 768px) {
    section.cta-hero .cta-content h2 {
      font-size: 42px;
    }
  }
  
  @media (max-width: 480px) {
    section.cta-hero .cta-content h2 {
      font-size: 34px;
    }
  }
  
  
  /* SLIDING BACKGROUND EFFECT */
  section.cta-hero {
    animation: ctaSlider 30s infinite;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  
  /* KEYFRAMES */
  @keyframes ctaSlider {
    0% {
      background-image: url("https://res.cloudinary.com/dw0rfcqdk/image/upload/q_auto/f_auto/v1775838306/model-photography-hubli-a_avyp6u.webp");
    }
  
    20% {
      background-image: url("https://res.cloudinary.com/dw0rfcqdk/image/upload/q_auto/f_auto/v1775838301/model-photography-hubli-c_joryuz.webp");
    }
  
    40% {
      background-image: url("https://res.cloudinary.com/dw0rfcqdk/image/upload/q_auto/f_auto/v1775838304/model-photography-hubli-b_o3fdsv.webp");
    }
  
    60% {
      background-image: url("https://res.cloudinary.com/dw0rfcqdk/image/upload/q_auto/f_auto/v1775838308/model-photography-hubli-d_znqwtx.webp");
    }
  
    80% {
      background-image: url("https://res.cloudinary.com/dw0rfcqdk/image/upload/q_auto/f_auto/v1775838302/model-photography-hubli-e_zekyue.webp");
    }
  
    100% {
      background-image: url("https://res.cloudinary.com/dw0rfcqdk/image/upload/q_auto/f_auto/v1775838306/model-photography-hubli-a_avyp6u.webp"); /* same as 0% */
    }
  }
  
  /* BOOTSTRAP CTA CAROUSEL */
  .cta-carousel {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
  }
  
  .cta-carousel .carousel,
  .cta-carousel .carousel-inner,
  .cta-carousel .carousel-item {
    height: 100vh;
  }
  
  .cta-carousel .carousel-item {
    background-size: cover;
    background-position: center;
  }
  
  /* KEEP CONTENT FIXED */
  .cta-carousel .cta-content {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  
  /* CTA END */
  
  /* FOOTER */
  footer.site-footer {
    background: #f4ede3;
    padding: 80px 0 40px;
    border-top: 1px solid #000;
    overflow-x: hidden;
  }
  
  footer.site-footer .footer-top {
    margin-bottom: 20px;
  }
  
  footer.site-footer .footer-brand h2 {
    font-size: 48px;
    letter-spacing: -2px;
    color: #5a0b0b;
  }
  
  footer.site-footer .footer-links {
    display: flex;
    flex-direction: column;
    gap: 18px;
    position: relative;
  }
  
  footer.site-footer .footer-links a {
    color: #5a0b0b;
    text-decoration: none;
    font-size: 18px;
  }
  
  footer.site-footer .footer-links.text-md-start::after,
  footer.site-footer .footer-links.text-md-end::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background: #999;
  }
  
  footer.site-footer .footer-links.text-md-start::after {
    right: -30px;
  }
  
  footer.site-footer .footer-links.text-md-end::before {
    left: -30px;
  }
  
  footer.site-footer .footer-social {
    display: flex;
    justify-content: center;
    gap: 28px;
    margin-bottom: 30px;
  }
  
  footer.site-footer .footer-social svg {
    transition: transform 0.3s ease;
  }
  
  footer.site-footer .footer-social a:hover svg {
    transform: scale(1.1);
  }
  
  footer.site-footer .footer-bottom {
    font-size: 16px;
    text-align: center;
    font-family: "DM Sans", sans-serif;
    font-weight: 500;
    letter-spacing: 1px;
  }
  
  footer.site-footer .footer-bottom a {
    color: #5a0b0b;
    text-decoration: underline;
  }
  
  @media (max-width: 768px) {
    footer.site-footer .footer-brand h2 {
      font-size: 32px;
      margin: 30px 0;
    }
  
    footer.site-footer .footer-links::before,
    footer.site-footer .footer-links::after {
      display: none;
    }
  }
  
  /* FOOTER END */
  
  /* SECTION WRAPPER */
  section.about-split {
    height: 100vh;
    position: relative;
    overflow: hidden;
  }
  
  section.about-split .container-fluid.h-100 {
    padding: 0;
  }
  
  /* LEFT IMAGE */
  section.about-split .about-image {
    background: url('https://res.cloudinary.com/dw0rfcqdk/image/upload/v1772464046/about-chetan-katwe-photography-hubli_tm5izv.webp') center center / cover no-repeat;
  }
  
  /* RIGHT PANEL */
  section.about-split .about-content {
    background: #530000;
    color: #F2EBE2;
  }
  
  /* TITLE */
  section.about-split .about-title {
    /* font-family: 'Playfair Display', serif; */
    font-size: 6.5rem;
    line-height: 1;
    margin-bottom: 30px;
    position: absolute;
    top: -100px;
    color: #F2EBE2;
  }
  
  /* SUBTITLE */
  section.about-split .about-subtitle {
    font-size: 13px;
    letter-spacing: 2px;
    margin-top: 50px;
    font-family: "DM Sans", sans-serif;
    line-height: 1.8rem;
  }
  
  /* RIGHT PANEL INNER */
  section.about-split .about-inner {
    position: relative;
    /* IMPORTANT */
    padding: 80px;
    max-width: 520px;
  }
  
  /* MINI IMAGE – RIGHT ALIGNED */
  section.about-split .about-mini-img {
    position: absolute;
    right: -180px;
    /* pushes it towards the edge like design */
    top: 95%;
    transform: translateY(-50%);
    width: 150px;
  }
  
  section.about-split .about-mini-img img {
    width: 100%;
    border: 2px solid #fff;
  }
  
  /* MOBILE FIX */
  /* @media (max-width: 991px) {
    section.about-split .navbar {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 10;
      background: transparent !important;
    }
  } */
  
  
  /* MINI IMAGE */
  section.about-split .about-mini-img {
    width: 150px;
    margin-bottom: 40px;
  }
  
  section.about-split .about-mini-img img {
    width: 100%;
    border: 2px solid #fff;
  }
  
  /* PARAGRAPH */
  section.about-split .about-text {
    font-size: 14px;
    line-height: 1.8;
    width: 90%;
    position: absolute;
    bottom: -220px;
    font-family: "DM Sans", sans-serif;
    letter-spacing: 1px;
    font-weight: 300;
  }
  
  
  /* RESPONSIVE */
  @media (max-width: 991px) {
  
    section.about-split .about-split {
      height: auto;
    }
  
    section.about-split .about-image {
      height: 50vh;
    }
  
    section.about-split .about-inner {
      padding: 40px;
    }
  
    section.about-split .about-title {
      font-size: 60px;
    }
  }
  
  /* about mb */
  section.about-us-mb.d-lg-none .about-inner {
    text-align: center;
    margin-top: 3rem;
  }
  
  section.about-us-mb.d-lg-none {
    background: #530000;
    color: #F2EBE2;
    height: 100vh;
  }
  
  section.about-us-mb.d-lg-none .about-title {
    font-size: 2.9rem;
    line-height: 1;
    margin: 29px 0 15px;
    color: #F2EBE2;
  }
  
  section.about-us-mb.d-lg-none .about-subtitle,
  section.about-us-mb.d-lg-none .about-text {
    font-size: 11px;
    letter-spacing: 2px;
    font-family: "DM Sans", sans-serif;
    line-height: 1.3rem;
  }
  
  section.about-us-mb.d-lg-none .about-mini-img img {
    width: 80%;
    height: 280px;
    object-fit: cover;
  }
  
  section.about-us-mb.d-lg-none .about-text {
    margin-top: 20px;
    text-align: justify;
    padding: 0 10px;
  }
  
  /* end */
  
  /* =========================
  ABOUT PAGE – WHO I AM
  ========================= */
  
  section.abt-pg.abt-who {
    background: #f5efe6;
    padding: 60px 40px;
    overflow-x: hidden;
  }
  
  /* LEFT TEXT */
  section.abt-pg.abt-who .abt-text {
    padding-right: 80px;
  }
  
  section.abt-pg.abt-who .abt-eyebrow {
    color: #6a1b1b;
    font-size: 13px;
    letter-spacing: 1px;
    font-family: "DM Sans", sans-serif;
    font-weight: 500;
  }
  
  section.abt-pg.abt-who .abt-heading {
    font-size: 38px;
    font-weight: 400;
    line-height: 1.25;
    color: #6a1b1b;
    margin: 12px 0 25px;
  }
  
  section.abt-pg.abt-who .abt-desc {
    font-size: 15px;
    line-height: 2rem;
    color: #2c2c2c;
    max-width: 470px;
    font-family: "DM Sans", sans-serif;
    font-weight: 200;
    text-align: justify;
  }
  
  /* RIGHT IMAGES */
  section.abt-pg.abt-who .abt-images {
    position: relative;
  }
  
  section.abt-pg.abt-who .abt-img-grid {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
  }
  
  /* Individual image sizing */
  section.abt-pg.abt-who .abt-img img {
    width: 100%;
    display: block;
  }
  
  /* Layout offsets to match design */
  section.abt-pg.abt-who .abt-img-top {
    width: 280px;
    margin-left: auto;
  }
  
  section.abt-pg.abt-who .abt-img-middle {
    width: 320px;
    margin-left: 60px;
  }
  
  section.abt-pg.abt-who .abt-img-bottom {
    width: 280px;
    margin-left: auto;
  }
  
  /* RIGHT IMAGE COLUMN */
  section.abt-pg.abt-who .abt-images {
    position: relative;
    display: flex;
    justify-content: flex-start;
  }
  
  /* IMAGE + BUTTON WRAPPER */
  section.abt-pg.abt-who .abt-img-block {
    position: relative;
    display: inline-block;
  }
  
  /* IMAGE */
  section.abt-pg.abt-who .abt-img-block img {
    max-width: 100%;
    height: auto;
    display: block;
  }
  
  
  
  section.abt-pg.abt-who .abt-btn {
    position: absolute;
    bottom: 115px;
    left: 133px;
    transform: translateX(-50%);
    padding: 14px 36px;
    background: #6a1b1b;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    letter-spacing: 1px;
    border: none;
    width: 47%;
    text-align: center;
  }
  
  /* RESPONSIVE */
  @media (max-width: 991px) {
    section.abt-pg.abt-who .abt-pg.abt-who {
      padding: 80px 20px;
    }
  
    section.abt-pg.abt-who .abt-text {
      padding-right: 0;
      margin-bottom: 60px;
    }
  
    section.abt-pg.abt-who .abt-img-grid {
      align-items: center;
    }
  
    section.abt-pg.abt-who .abt-img-top,
    section.abt-pg.abt-who .abt-img-middle,
    section.abt-pg.abt-who .abt-img-bottom {
      margin-left: auto;
      margin-right: auto;
    }
  }
  
  /* ===============================
  WEDDING PROCESS SECTION
  ================================ */
  
  /* INTRO */
  section.wedding-process .wp-intro {
    background: #f5efe6;
    text-align: center;
    padding: 70px 15%;
  }
  
  section.wedding-process .wp-title {
    font-size: 38px;
    letter-spacing: 0;
    margin-bottom: 30px;
  }
  
  section.wedding-process .wp-title span {
    font-family: "Luxurious Script", cursive;
    color: #530000;
    font-size: 60px;
    letter-spacing: 1px;
  }
  
  section.wedding-process .wp-text {
    font-size: 14px;
    line-height: 2.1;
    color: #1E1E1E;
    margin-bottom: 45px !important;
    width: 80%;
    margin: 0 auto;
  }
  
  section.wedding-process .wp-btn {
    display: inline-block;
    padding: 14px 44px;
    border: 1px solid #6a1b1b;
    color: #6a1b1b;
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 1.5px;
  }
  
  /* PROCESS */
  section.wedding-process .wp-process {
    background: #5b0f0f;
    padding: 50px 5%;
    color: #fff;
  }
  
  section.wedding-process .process-title {
    text-align: center;
    letter-spacing: 1px;
    margin: 50px 0 60px;
    color: #F2EBE2;
    font-size: 31px;
  }
  
  /* GRID */
  section.wedding-process .process-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 80px 0;
    align-items: center;
    color: #F2EBE2;
  }
  
  /* ITEMS */
  section.wedding-process .process-item h4 {
    font-size: 16px;
    line-height: 2rem;
    font-family: "DM Sans", sans-serif;
  }
  
  section.wedding-process .process-item p {
    width: 80%;
    font-size: 12px;
    line-height: 1.8;
    opacity: 0.9;
    color: #F2EBE2;
  }
  
  section.wedding-process .process-item img {
    /* width: 100%; */
    max-width: 200px;
    display: block;
    margin-top: 25px;
  }
  
  /* POSITIONING */
  section.wedding-process .process-item.left {
    grid-column: 1;
  }
  
  section.wedding-process .process-item.center {
    grid-column: 2;
    text-align: center;
  }
  
  section.wedding-process .process-item.center .text-left {
    margin-top: 2rem;
    position: absolute;
  }
  
  section.wedding-process .process-item.right {
    grid-column: 3;
  }
  
  section.wedding-process .process-item.bottom-right {
    grid-column: 3;
    margin-top: -60px;
    margin-left: 90px;
  
  }
  
  /* CENTER ITEM FIX */
  section.wedding-process .process-item.center {
    text-align: left;
    /* text stays left */
  }
  
  /* center ONLY the image */
  section.wedding-process .process-item.center img {
    display: block;
    margin: 0 auto 20px;
    /* centers image horizontally */
  }
  
  /* optional: tighten text width like design */
  section.wedding-process .process-item.center p {
    max-width: 320px;
    /* margin: 0 auto;            keeps text visually balanced */
  }
  
  
  /* RIGHT ITEM IMAGE ALIGN */
  section.wedding-process .process-item.right img {
    display: block;
    margin-left: auto;
    /* pushes image to the right */
    margin-right: 7.5rem;
  }
  
  /* weddings section mb */
  section.wedding-process .wp-process.d-block.d-lg-none .process-grid {
    display: block;
    text-align: center;
  }
  
  section.wedding-process .wp-process.d-block.d-lg-none .process-item.bottom-right {
    margin-top: 20px;
    margin-left: 0;
  }
  
  section.wedding-process .wp-process.d-block.d-lg-none .wp-process {
    padding: 30px 5%;
    color: #fff;
    text-align: center !important;
  }
  
  section.wedding-process .wp-process.d-block.d-lg-none .process-item p {
    width: 100%;
    font-size: 12px;
    line-height: 1.8;
    opacity: 0.9;
    color: #F2EBE2;
  }
  
  section.wedding-process .wp-process.d-block.d-lg-none .process-item img {
    width: 100%;
    max-width: 300px;
    display: unset !important;
    /* margin: 25px 0 !important; */
  }
  
  section.wedding-process .wp-process.d-block.d-lg-none .process-item.center .text-left {
    margin-top: 2rem;
    position: unset;
    text-align: center;
  }
  
  section.wedding-process .wp-process.d-block.d-lg-none .process-title {
    margin: 0 0 20px;
    font-size: 20px;
  }
  
  section.wedding-process .wp-process.d-block.d-lg-none {
    padding: 30px 5%;
  }
  
  /* end */
  
  /* END */
  
  /* PORTFOLIO PAGE */
  header.hero-section.portfolio {
    background: url("https://res.cloudinary.com/dw0rfcqdk/image/upload/v1772464046/wedding-portfolio-hubli-dharwad_x65aw4.webp") center center / cover no-repeat;
  }
  
  section.portfolio-pg {
    padding: 60px 40px;
  }
  
  section.portfolio-pg h1.portfolio-heading {
    font-size: 38px;
    letter-spacing: 0;
    margin-bottom: 30px;
  }
  
  section.portfolio-pg h1.portfolio-heading span {
    font-family: "Luxurious Script", cursive;
    color: #530000;
    font-size: 54px;
    letter-spacing: 1px;
  }
  
  section.portfolio-pg .portfolio-info img {
    margin-bottom: 20px;
  }
  
  /* END */
  
  /* STORIES PAGE */
  /* STORIES PAGE */
  section.stories-pg {
    background: #f2ebe2;
  }
  
  /* HEADING */
  section.stories-pg .stories-subtitle {
    font-size: 14px;
    letter-spacing: 0px;
    color: #1e1e1e;
    display: block;
    margin-bottom: 8px;
  }
  
  section.stories-pg .stories-title {
    font-family: "Luxurious Script", cursive;
    color: #530000;
    font-size: 80px;
    letter-spacing: 1px;
    line-height: 40px;
    margin: 1rem 0 2rem;
  }
  
  .video-container {
    position: relative;
    cursor: pointer;
  }
  
  .play-button-2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
  }
  
  .play-button-2 svg {
    width: 40px;
    height: 40px;
  }
  
  /* CAPTION */
  section.stories-pg .story-caption {
    margin-top: 25px;
    text-align: center;
    font-size: 16px;
    letter-spacing: 1px;
    color: #1e1e1e;
  }
  
  /* MODAL VIDEO */
  .stories-modal video {
    max-width: 100%;
    max-height: 90vh;
  }
  
  /* END */
  
  /* CONTACT PAGE */
  section.about-split.contact-us-pg .about-image {
    background: url('https://res.cloudinary.com/dw0rfcqdk/image/upload/v1772464047/book-wedding-photographer-hubli-dharwad_tm74h0.webp') center center / cover no-repeat;
  }
  
  section.contact-us-pg .contact-content {
    color: #DAD1C0 !important;
  }
  
  section.contact-us-pg .contact-content h1 {
    position: unset !important;
    font-size: 60px !important;
    color: #DAD1C0 !important;
  }
  
  section.contact-us-pg .contact-content p {
    font-size: 14px;
    line-height: 1.8;
    width: 90%;
    font-family: "DM Sans", sans-serif;
    letter-spacing: 1px;
    font-weight: 300;
    margin: 3rem 0;
  }
  
  section.contact-us-pg .socials a {
    font-family: "DM Sans", sans-serif;
    color: #DAD1C0;
    text-transform: uppercase;
    font-weight: 500;
    text-decoration: none;
    font-size: 16px;
    letter-spacing: 2px;
  }
  
  section.contact-us-pg .contact-content .socials {
    position: absolute;
    bottom: -60px;
  }
  
  .socials svg,
  .info-block svg {
    width: 22px;
    height: 22px;
    margin: 1rem .5rem 0 .5rem;
  }
  
  
  .socials svg:first-child,
  .info-block svg:first-child {
    margin-left: 0;
  }
  
  .info-block a,
  .socials a {
    text-decoration: none;
        color: #4a4a4a;
  }
  
  section.contact-section {
    width: 80%;
    margin: 0 auto;
    padding: 120px 0;
    font-family: "DM Sans", sans-serif;
  }
  
  section.contact-section .contact-info h2 {
    font-family: "Gilda Display", serif;
    font-size: 48px;
    letter-spacing: 1px;
    color: #6a1d1d;
    margin-bottom: 50px;
  }
  
  section.contact-section .contact-info .info-block {
    margin-bottom: 50px;
  }
  
  section.contact-section .contact-info .info-block h6 {
    font-size: 14px;
    letter-spacing: 2px;
    color: #6a1d1d;
    font-weight: 600;
    margin-bottom: 6px;
  }
  
  section.contact-section .contact-info .info-block p {
    font-size: 15px;
    color: #4a4a4a;
    margin: 0;
    line-height: 1.6;
    font-weight: 600;
    letter-spacing: 1px;
  }
  
  section.contact-section .contact-form {
    position: relative;
    padding-left: 70px;
    /* space after divider */
    border-left: 1px solid #2b2b2b;
  }
  
  section.contact-section .contact-form label {
    font-size: 12px;
    letter-spacing: 2px;
    color: #2b2b2b;
    margin-bottom: 8px;
    display: block;
    font-weight: 700;
  }
  
  section.contact-section .contact-form .form-control {
    background: transparent;
    border: 1px solid #2b2b2b;
    border-radius: 0;
    height: 48px;
    padding: 10px 14px;
    font-size: 14px;
    color: #2b2b2b;
    box-shadow: none;
  }
  
  section.contact-section .contact-form textarea.form-control {
    height: 140px;
    resize: none;
  }
  
  /* placeholder */
  section.contact-section .contact-form .form-control::placeholder {
    color: #9a9a9a;
    letter-spacing: 1px;
    font-size: 13px;
  }
  
  /* focus */
  section.contact-section .contact-form .form-control:focus {
    border-color: #6a1d1d;
    outline: none;
    box-shadow: none;
  }
  
  section.contact-section .contact-form button {
    margin-top: 30px;
    padding: 14px 40px;
    background: #6a1d1d;
    color: #f3eae1;
    border: none;
    font-size: 13px;
    letter-spacing: 2px;
    font-weight: 600;
    transition: all 0.3s ease;
  }
  
  section.contact-section .contact-form button:hover {
    background: #530000;
  }
  
  /* contact us banner mb */
  section.contact-us-pg-mb {
    background: url('https://res.cloudinary.com/dw0rfcqdk/image/upload/v1772464047/book-wedding-photographer-hubli-dharwad_tm74h0.webp') center center / cover no-repeat;
    height: 100vh;
    width: 100%;
    position: relative;
  }
  
  section.contact-us-pg-mb .about-inner {
    background: rgba(89, 11, 12, 0.75);
    position: absolute;
    left: 0;
    margin: 20px;
    top: 120px;
    padding: 30px;
    max-width: 520px;
    border-radius: 6px;
    color: #DAD1C0;
    text-align: center;
  }
  
  section.contact-us-pg-mb .about-title {
    font-size: 40px !important;
  }
  
  section.contact-us-pg-mb .contact-content p {
    font-size: 14px;
    line-height: 1.8;
    text-align: justify;
    font-family: "DM Sans", sans-serif;
    letter-spacing: 1px;
    font-weight: 300;
    margin: 1.5rem 0;
  }
  
  section.contact-us-pg-mb .socials a {
    font-family: "DM Sans", sans-serif;
    color: #DAD1C0;
    text-transform: uppercase;
    font-weight: 500;
    text-decoration: none;
    font-size: 14px;
    letter-spacing: 2px;
  }
  
  /* end */
  
  /* ================================
  RESPONSIVE
  ================================ */
  
  @media (max-width: 991px) {
    section.contact-section {
      padding: 80px 0;
    }
  
    section.contact-section .contact-form {
      border-left: none;
      padding-left: 0;
      margin-top: 60px;
    }
  
    section.contact-section .contact-info h2 {
      font-size: 38px;
    }
  }
  
  @media (max-width: 575px) {
    section.contact-section .contact-info h2 {
      font-size: 32px;
    }
  }
  
  /* all pages banner */
  header.hero-section.engagement-pg {
    background: url('https://res.cloudinary.com/dw0rfcqdk/image/upload/q_auto/f_auto/v1775830172/engagement-photography-hubli-dharwad-banner_apby9e.webp') center center / cover no-repeat;
  }
  
  /* wedding banner */
  header.hero-section.weddings-pg {
    background: url('https://res.cloudinary.com/dw0rfcqdk/image/upload/q_auto/f_auto/v1775976811/wedding-photography-hubli-dharwad-banner_qc7mmv.webp') center center / cover no-repeat;
  }
  
  /* pre wedding banner */
  header.hero-section.pre-wedding-pg {
    background: url('https://res.cloudinary.com/dw0rfcqdk/image/upload/q_auto/f_auto/v1775830409/pre-wedding-shoot-hubli-dharwad-banner_nzeqqm.webp') center center / cover no-repeat;
  }
  
  /* stories banner */
  header.hero-section.stories-pg {
    background: url('https://res.cloudinary.com/dw0rfcqdk/image/upload/v1772464046/wedding-stories-hubli-dharwad-banner_jo2foi.webp') center center / cover no-repeat;
  }
  
  /* portfolio banner */
  header.hero-section.portfolio {
    background: url('https://res.cloudinary.com/dw0rfcqdk/image/upload/q_auto/f_auto/v1775831093/wedding-portfolio-hubli-dharwad_roic0d.webp') center center / cover no-repeat;
  }
  
  
  /* contact form success msg */
  .form-message{
  margin-top:15px;
  padding:12px 16px;
  border-radius:5px;
  font-size:14px;
  display:none;
  }
  
  .form-message.success{
  background:#e8f8f0;
  color:#0f5132;
  border:1px solid #badbcc;
  }
  
  .form-message.error{
  background:#fdecea;
  color:#842029;
  border:1px solid #f5c2c7;
  }




  .hero-section {
    position: relative;
  }
  
  .hero-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 20%; /* adjust (10%–25% depending on look) */
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.6),
      rgba(0, 0, 0, 0)
    );
    z-index: 1;
  }
  
  .hero-section * {
    position: relative;
    z-index: 2;
  }

  .service-gallery .row {
    margin-left: 0;
    margin-right: 0;
  }
  
  .service-gallery .col-md-3,
  .service-gallery .col-md-6,
  .service-gallery .col-md-9 {
    padding-left: 0;
    padding-right: 0;
  }

  .gallery-img img {
    width: 100%;
    height: 470px;
    object-fit: cover;
    padding: 0 10px;
}

.service-gallery .row.mt-4 {
    margin-top: 20px !important;
}