@charset "UTF-8";

*,

*::before,

*::after {

  box-sizing: border-box;

}



html {

  scroll-behavior: smooth;

}



body {

  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;

  font-size: 1rem;

  line-height: 1.7;

  color: #5A5A52;

  background: #FFFDF8;

  -webkit-font-smoothing: antialiased;

  -moz-osx-font-smoothing: grayscale;

  overflow-x: hidden;

}



img {

  max-width: 100%;

  height: auto;

  display: block;

}



a {

  color: #5C6B52;

  text-decoration: none;

  transition: color 0.25s cubic-bezier(0.4, 0, 0.2, 1);

}

a:hover, a:focus {

  color: #9B1C20;

}



h1, h2, h3, h4, h5, h6 {

  font-family: "Cormorant Garamond", "Times New Roman", serif;

  font-weight: 500;

  color: #1F2620;

  margin: 0 0 1rem;

  line-height: 1.2;

}



h1 {

  font-size: clamp(2.5rem, 5vw, 4rem);

}



h2 {

  font-size: clamp(2rem, 3.6vw, 3rem);

}



h3 {

  font-size: clamp(1.6rem, 2.4vw, 2.25rem);

}



h4 {

  font-size: 1.5rem;

}



h5 {

  font-size: 1.25rem;

}



h6 {

  font-size: 1rem;

  letter-spacing: 0.08em;

  text-transform: uppercase;

}



p {

  margin: 0 0 1rem;

}



.lead {

  font-size: 1.125rem;

  color: rgb(103.3430232558, 103.3430232558, 94.1569767442);

}



.text-script {

  font-family: "Italianno", cursive;

  font-size: 2rem;

  color: #9B1C20;

  line-height: 1;

}



.section-tag {

  display: inline-block;

  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;

  font-size: 0.75rem;

  font-weight: 500;

  letter-spacing: 0.25em;

  text-transform: uppercase;

  color: #9B1C20;

  margin-bottom: 1rem;

}

.section-tag::before, .section-tag::after {

  content: "";

  display: inline-block;

  width: 30px;

  height: 1px;

  background: #9B1C20;

  vertical-align: middle;

  margin: 0 0.75rem;

}



.section-title {

  font-family: "Cormorant Garamond", "Times New Roman", serif;

  font-weight: 500;

  font-style: italic;

  margin-bottom: 1rem;

}

.section-title em {

  font-style: normal;

  color: #7A8A6E;

}



.section-divider {

  display: block;

  width: 60px;

  height: 1px;

  background: #9B1C20;

  margin: 1.25rem auto;

}



.bg-sand {

  background: #F4ECE0 !important;

}



.bg-sand-light {

  background: #FBF7F1 !important;

}



.bg-sand-dark {

  background: #E6DBC9 !important;

}



.bg-sage {

  background: #7A8A6E !important;

  color: #FFFDF8;

}



.bg-ink {

  background: #1F2620 !important;

  color: #FFFDF8;

}



.text-sage {

  color: #7A8A6E !important;

}



.text-gold {

  color: #9B1C20 !important;

}



.text-ink {

  color: #1F2620 !important;

}



.text-cream {

  color: #FFFDF8 !important;

}



.text-muted-2 {

  color: #8A8A82 !important;

}



.section {

  padding: 7rem 0;

}



@media (max-width: 767.98px) {

  .section {

    padding: 4.5rem 0;

  }

}

.section-sm {

  padding: 4rem 0;

}



::selection {

  background: #7A8A6E;

  color: #FFFDF8;

}



.btn {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 0.6rem;

  padding: 0.95rem 2.1rem;

  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;

  font-size: 0.78rem;

  font-weight: 500;

  letter-spacing: 0.22em;

  text-transform: uppercase;

  border: 1px solid transparent;

  border-radius: 0;

  cursor: pointer;

  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);

  position: relative;

  overflow: hidden;

  line-height: 1;

}

.btn:focus-visible {

  outline: 2px solid #9B1C20;

  outline-offset: 3px;

}



.btn-primary {

  background: #7A8A6E;

  color: #FFFDF8;

  border-color: #7A8A6E;

}

.btn-primary:hover, .btn-primary:focus {

  background: #5C6B52;

  border-color: #5C6B52;

  color: #FFFDF8;

}



.btn-gold {

  background: #9B1C20;

  color: #FFFDF8;

  border-color: #9B1C20;

}

.btn-gold:hover, .btn-gold:focus {
  background: rgb(165.36, 127.92, 73.84);

  border-color: rgb(165.36, 127.92, 73.84);

  color: #FFFDF8;

}



.btn-outline {

  background: transparent;

  color: #1F2620;

  border-color: #1F2620;

}

.btn-outline:hover, .btn-outline:focus {

  background: #1F2620;

  color: #FFFDF8;

}



.btn-outline-light {

  background: transparent;

  color: #FFFDF8;

  border-color: #FFFDF8;

}

.btn-outline-light:hover, .btn-outline-light:focus {

  background: #FFFDF8;

  color: #1F2620;

}



.btn-link-arrow {

  display: inline-flex;

  align-items: center;

  gap: 0.5rem;

  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;

  font-size: 0.78rem;

  font-weight: 500;

  letter-spacing: 0.22em;

  text-transform: uppercase;

  color: #1F2620;

  border-bottom: 1px solid #1F2620;

  padding-bottom: 4px;

}

.btn-link-arrow:hover {

  color: #9B1C20;

  border-color: #9B1C20;

}



.btn-lg {

  padding: 1.1rem 2.5rem;

  font-size: 0.82rem;

}



.btn-sm {

  padding: 0.7rem 1.5rem;

  font-size: 0.7rem;

}



.topbar {

  background: #7A8A6E;

  color: rgba(255, 253, 248, 0.7);

  padding: 0.99rem 0;

  font-size: 0.8rem;

  letter-spacing: 0.04em;

}

.topbar a {

  color: rgba(255, 253, 248, 0.7);

}

.topbar a:hover {

  color: #9B1C20;

}

.topbar .topbar-info {

  display: flex;

  flex-wrap: wrap;

  gap: 1.5rem;

}

@media only screen and (min-width: 768px) and (max-width: 991px) {

  .topbar .topbar-info{

    gap: 0.7rem;

  }

}

.topbar .topbar-info i {

  margin-right: 0.4rem;

  color: #9B1C20;

}

.topbar .topbar-social a {

  margin-left: 0.85rem;

}



@media (max-width: 767.98px) {

  .topbar {

    display: none;

  }

}

.site-header {

  position: absolute;

  top: 0;

  left: 0;

  right: 0;

  z-index: 50;

  background: transparent;

  transition: background 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1), padding 0.4s cubic-bezier(0.4, 0, 0.2, 1);

}

.site-header.has-topbar {

  top: 10px;

}

.site-header.is-sticky {

  position: fixed;

  top: 0;

  background: rgba(255, 253, 248, 0.97);

  box-shadow: 0 4px 30px rgba(31, 38, 32, 0.06);

  backdrop-filter: blur(8px);

  left: 0;

  right: 0;

  max-width: 100%;

}

.site-header.is-sticky .nav-link {

  color: #1F2620;

}

.site-header.header-on-dark .nav-link {

  color: #FFFDF8;

}

.site-header.header-on-dark.is-sticky .nav-link {

  color: #1F2620;

}



.header-inner {

  display: flex;

  align-items: center;

  justify-content: space-between;

  padding: 1.5rem 0;

}



.site-logo {

    position: relative;

    display: inline-block;

}



.site-logo img {

    width: 120px;

    transition: opacity .3s ease;

}



/* Default = white logo */

.logo-light {

    display: block;

}



.logo-dark {

    display: none;

}



/* When header sticks to the page */

.site-header.is-sticky .logo-light {

    display: none;

}



.site-header.is-sticky .logo-dark {

    display: block;

}



.main-nav {

  display: flex;

  align-items: center;

  gap: 2rem;

}



.nav-list {

  display: flex;

  align-items: center;

  gap: 2.25rem;

  list-style: none;

  padding: 0;

  margin: 0;

}

.nav-list > li {

  position: relative;

}



.nav-link {

  display: inline-block;

  padding: 0.5rem 0;

  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;

  font-size: 0.8rem;

  font-weight: 500;

  letter-spacing: 0.18em;

  text-transform: uppercase;

  color: #1F2620;

  position: relative;

  cursor: pointer;

}

.nav-link::after {

  content: "";

  position: absolute;

  left: 0;

  right: 0;

  bottom: 0;

  height: 1px;

  background: #9B1C20;

  transform: scaleX(0);

  transform-origin: left;

  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);

}

header:not(.is-sticky) .nav-link::after{

  background: #fff;

}

.nav-link:hover, .nav-link.active {

  color: #9B1C20;

}

.nav-link:hover::after, .nav-link.active::after {

  transform: scaleX(1);

}



.has-submenu > .nav-link::before {

  content: "+";

  display: inline-block;

  margin-left: 6px;

  font-size: 0.85rem;

  color: #9B1C20;

  font-weight: 400;

}

header.header-on-dark:not(.is-sticky) .has-submenu > .nav-link::before{

  color: #fff;

}



.submenu {

  position: absolute;

  top: 100%;

  left: -1rem;

  min-width: 220px;

  background: #FFFDF8;

  border: 1px solid #E5DFD3;

  padding: 0.5rem 0;

  list-style: none;

  margin: 0;

  opacity: 0;

  visibility: hidden;

  transform: translateY(10px);

  transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s 0.25s;

  box-shadow: 0 20px 50px rgba(31, 38, 32, 0.1);

  z-index: 60;

}

.submenu li a {

  display: block;

  padding: 0.65rem 1.25rem;

  font-size: 0.8rem;

  letter-spacing: 0.12em;

  text-transform: uppercase;

  color: #1F2620;

}

.submenu li a:hover {

  background: #FBF7F1;

  color: #9B1C20;

}



.has-submenu:hover > .submenu,

.has-submenu:focus-within > .submenu {

  opacity: 1;

  visibility: visible;

  transform: translateY(0);

  transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s 0s;

}



.header-actions {

  display: flex;

  align-items: center;

  gap: 1.25rem;

}

header.header-on-dark:not(.is-sticky) .icon-btn{

  color: #fff;

}



.icon-btn {

  width: 42px;

  height: 42px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  background: transparent;

  border: 0;

  color: inherit;

  cursor: pointer;

  position: relative;

}

.icon-btn:hover,

header:not(.is-sticky) .icon-btn:hover{

  color: #9B1C20;

}

.icon-btn .badge-count {

  position: absolute;

  top: 4px;

  right: 4px;

  width: 18px;

  height: 18px;

  background: #9B1C20;

  color: #FFFDF8;

  font-size: 0.65rem;

  border-radius: 50%;

  display: inline-flex;

  align-items: center;

  justify-content: center;

}



.menu-toggle {

  display: none;

  width: 44px;

  height: 44px;

  border: 0;

  background: transparent;

  color: inherit;

  padding: 0;

  cursor: pointer;

}

.menu-toggle span {

  display: block;

  width: 26px;

  height: 1.5px;

  background: currentColor;

  margin: 5px auto;

  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

}



@media (max-width: 991.98px) {

  .nav-list, .header-actions .btn-book {

    display: none;

  }

  .menu-toggle {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    flex-direction: column;

  }



  header:not(.is-sticky) .menu-toggle span{

    background: #fff;

  }

}

.mobile-menu {

  position: fixed;

  top: 0;

  right: 0;

  width: 100%;

  max-width: 380px;

  min-height: 100vh;

  background: #FFFDF8;

  z-index: 200;

  padding: 2rem 1.75rem;

  overflow-y: auto;

  transform: translateX(100%);

  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);

  box-shadow: -10px 0 40px rgba(31, 38, 32, 0.15);

  bottom: 0;

}

.mobile-menu.is-open {

  transform: translateX(0);

}



.mobile-menu-overlay {

  position: fixed;

  inset: 0;

  background: rgba(31, 38, 32, 0.55);

  opacity: 0;

  visibility: hidden;

  z-index: 150;

  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s 0.4s;

}

.mobile-menu-overlay.is-open {

  opacity: 1;

  visibility: visible;

  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);

}



.mobile-menu-head {

  display: flex;

  justify-content: space-between;

  align-items: center;

  padding-bottom: 1.5rem;

  border-bottom: 1px solid #E5DFD3;

  margin-bottom: 1rem;

}



.mobile-menu-close {

  width: 40px;

  height: 40px;

  border: 1px solid #E5DFD3;

  background: transparent;

  color: #1F2620;

  font-size: 1rem;

  cursor: pointer;

  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);

}

.mobile-menu-close:hover {

  background: #7A8A6E;

  color: #FFFDF8;

  border-color: #7A8A6E;

}



.mobile-nav {

  list-style: none;

  padding: 0;

  margin: 1rem 0 2rem;

}

.mobile-nav > li {

  border-bottom: 1px solid #E5DFD3;

}

.mobile-nav a {

  display: block;

  padding: 1rem 0;

  font-family: "Cormorant Garamond", "Times New Roman", serif;

  font-size: 1.4rem;

  color: #1F2620;

}

.mobile-nav a:hover {

  color: #9B1C20;

  padding-left: 0.5rem;

}

.mobile-nav .submenu-toggle {

  display: flex;

  justify-content: space-between;

  align-items: center;

  cursor: pointer;

  user-select: none;

}

.mobile-nav .submenu-toggle .icon {

  width: 24px;

  height: 24px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  border: 1px solid #E5DFD3;

  font-size: 1rem;

  color: #7A8A6E;

  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);

}

.mobile-nav .mobile-submenu {

  list-style: none;

  padding: 0 0 0.75rem 0.5rem;

  margin: 0;

  max-height: 0;

  overflow: hidden;

  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);

}

.mobile-nav .mobile-submenu li {

  border: 0;

}

.mobile-nav .mobile-submenu a {

  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;

  font-size: 0.95rem;

  padding: 0.5rem 0;

  letter-spacing: 0.05em;

}

.mobile-nav .is-expanded .submenu-toggle .icon {

  transform: rotate(45deg);

  border-color: #9B1C20;

  color: #9B1C20;

}

.mobile-nav .is-expanded .mobile-submenu {

  max-height: 500px;

}



.mobile-contact {

  padding-top: 1.5rem;

  border-top: 1px solid #E5DFD3;

  font-size: 0.9rem;

}

.mobile-contact p {

  margin-bottom: 0.5rem;

}

.mobile-contact i {

  color: #9B1C20;

  margin-right: 0.5rem;

}

.mobile-contact .mobile-social {

  margin-top: 1rem;

}

.mobile-contact .mobile-social a {

  display: inline-flex;

  width: 38px;

  height: 38px;

  align-items: center;

  justify-content: center;

  border: 1px solid #E5DFD3;

  color: #1F2620;

  margin-right: 0.4rem;

}

.mobile-contact .mobile-social a:hover {

  background: #7A8A6E;

  color: #FFFDF8;

  border-color: #7A8A6E;

}



.hero-slider {

  position: relative;

  height: 100vh;

  min-height: 640px;

  overflow: hidden;

}

.hero-slider .swiper, .hero-slider .swiper-wrapper, .hero-slider .swiper-slide {

  height: 100%;

}



.hero-slide {

  position: relative;

  display: flex;

  align-items: center;

  color: #FFFDF8;

}

.hero-slide .hero-bg {

  position: absolute;

  inset: 0;

  background-size: cover;

  background-position: center;

  transform: scale(1.08);

  transition: transform 8s ease-out;

}

.hero-slide.swiper-slide-active .hero-bg {

  transform: scale(1);

}

.hero-slide::after {

  content: "";

  position: absolute;

  inset: 0;

  background: linear-gradient(180deg, rgba(31, 38, 32, 0.50), rgba(31, 38, 32, 0.7));

  z-index: 1;

}

.hero-slide .container {

  position: relative;

  z-index: 2;

}



.hero-content {

  max-width: 720px;

}

.hero-content .hero-tag {

  display: inline-block;

  font-size: 0.75rem;

  letter-spacing: 0.4em;

  text-transform: uppercase;

  color: #D4B587;

  margin-bottom: 1.5rem;

  opacity: 0;

  transform: translateY(20px);

  transition: opacity 1s ease 0.3s, transform 1s ease 0.3s;

}

.hero-content .hero-title {

  font-family: "Cormorant Garamond", "Times New Roman", serif;

  font-style: italic;

  font-weight: 400;

  font-size: clamp(2.6rem, 6vw, 5.5rem);

  line-height: 1.05;

  color: #FFFDF8;

  margin-bottom: 1.5rem;

  opacity: 0;

  transform: translateY(30px);

  transition: opacity 1s ease 0.5s, transform 1s ease 0.5s;

}

.hero-content .hero-text {

  font-size: 1.05rem;

  color: rgba(255, 253, 248, 0.85);

  margin-bottom: 2.25rem;

  max-width: 560px;

  opacity: 0;

  transform: translateY(30px);

  transition: opacity 1s ease 0.7s, transform 1s ease 0.7s;

}

.hero-content .hero-cta {

  display: flex;

  flex-wrap: wrap;

  gap: 1rem;

  opacity: 0;

  transform: translateY(30px);

  transition: opacity 1s ease 0.9s, transform 1s ease 0.9s;

}



.swiper-slide-active .hero-content .hero-tag, .swiper-slide-active .hero-content .hero-title, .swiper-slide-active .hero-content .hero-text, .swiper-slide-active .hero-content .hero-cta {

  opacity: 1;

  transform: translateY(0);

}



.hero-nav {

  position: absolute;

  bottom: 3rem;

  right: 3rem;

  z-index: 5;

  display: flex;

  gap: 0.75rem;

}

.hero-nav button {

  width: 54px;

  height: 54px;

  border: 1px solid rgba(255, 253, 248, 0.4);

  background: transparent;

  color: #FFFDF8;

  cursor: pointer;

  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);

}

.hero-nav button:hover {

  background: #FFFDF8;

  color: #1F2620;

  border-color: #FFFDF8;

}



.hero-pagination {

  position: absolute;

  left: 3rem;

  bottom: 3.2rem;

  z-index: 5;

  font-family: "Cormorant Garamond", "Times New Roman", serif;

  font-size: 1.2rem;

  color: #FFFDF8;

  letter-spacing: 0.1em;

}

.hero-pagination .current {

  font-size: 2rem;

  color: #D4B587;

}

.hero-pagination .divider {

  display: inline-block;

  width: 50px;

  height: 1px;

  background: rgba(255, 253, 248, 0.4);

  margin: 0 0.5rem;

  vertical-align: middle;

}



.price-amount{

  font-size: 1.6rem;

}

.price-item h3{

  font-size: 1.5rem;

}



@media (max-width: 767.98px) {

  .hero-slider {

    min-height: 560px;

  }

  .hero-nav, .hero-pagination {

    display: none;

  }

  .site-header.has-topbar{

    top: 0;

  }

  .container, .container-sm {

      max-width: 100%;

  }

}

.page-header {

  position: relative;

  padding: 11rem 0 5rem;

  background: #F4ECE0;

  text-align: center;

  overflow: hidden;

}

.page-header.has-image {

  color: #FFFDF8;

  background-size: cover;

  background-position: center;

}

.page-header.has-image::after {

  content: "";

  position: absolute;

  inset: 0;

  background: linear-gradient(180deg, rgba(31, 38, 32, 0.4), rgba(31, 38, 32, 0.65));

}

.page-header.has-image .container {

  position: relative;

  z-index: 2;

}

.page-header.has-image .page-title, .page-header.has-image .breadcrumb a, .page-header.has-image .breadcrumb-item.active {

  color: #FFFDF8;

}

.page-header.has-image .breadcrumb-item + .breadcrumb-item::before {

  color: rgba(255, 253, 248, 0.6);

}

.page-header .page-title {

  font-family: "Cormorant Garamond", "Times New Roman", serif;

  font-style: italic;

  font-size: clamp(2.5rem, 5vw, 4rem);

  margin-bottom: 1rem;

  color: #1F2620;

}

.page-header .breadcrumb {

  display: inline-flex;

  list-style: none;

  padding: 0;

  margin: 0;

  font-size: 0.8rem;

  letter-spacing: 0.2em;

  text-transform: uppercase;

}

.page-header .breadcrumb li + li::before {

  content: "/";

  margin: 0 0.6rem;

  color: #9B1C20;

}

.page-header .breadcrumb a {

  color: inherit;

}

.page-header .breadcrumb .active {

  color: #9B1C20;

}



@media (max-width: 767.98px) {

  .page-header {

    padding: 8rem 0 3.5rem;

  }

}

.service-card {

  position: relative;

  padding: 2.5rem 2rem;

  text-align: center;

  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);

  height: auto;

  background: #FBF7F1;

  border: 1px solid #E5DFD3;

}



.service-card .service-icon {

  width: 80px;

  height: 80px;

  margin: 0 auto 1.5rem;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  background: #F4ECE0;

  color: #7A8A6E;

  font-size: 2rem;

  border-radius: 50%;

  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);

}

.service-card h3 {

  font-size: 1.4rem;

  font-style: italic;

  margin-bottom: 0.75rem;

}

.service-card p {

  color: #5A5A52;

  font-size: 0.95rem;

  margin-bottom: 1.5rem;

}

.service-card .service-link {

  font-size: 0.75rem;

  letter-spacing: 0.2em;

  text-transform: uppercase;

  color: #1F2620;

  border-bottom: 1px solid transparent;

  padding-bottom: 2px;

}

.service-card .service-link:hover {

  color: #9B1C20;

  border-color: #9B1C20;

}

.service-card:hover {

  transform: translateY(-6px);

}

.service-card:hover .service-icon {

  background: #7A8A6E;

  color: #FFFDF8;

}



.service-photo-card {

  position: relative;

  overflow: hidden;

  background: #1F2620;

}

.service-photo-card .service-img {

  aspect-ratio: 4/5;

  background-size: cover;

  background-position: center;

  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);

}

.service-photo-card .service-body {

  position: absolute;

  inset: 0;

  display: flex;

  flex-direction: column;

  justify-content: flex-end;

  padding: 2rem;

  color: #FFFDF8;

  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(31, 38, 32, 0.85));

}

.service-photo-card .service-body h3 {

  color: #FFFDF8;

  margin-bottom: 0.4rem;

  font-size: 1.5rem;

  font-style: italic;

}

.service-photo-card .service-body .price {

  font-size: 0.9rem;

  color: #D4B587;

  letter-spacing: 0.15em;

  text-transform: uppercase;

}

.service-photo-card:hover .service-img {

  transform: scale(1.08);

}



.feature-item {

  display: flex;

  gap: 1.25rem;

  align-items: flex-start;

}

.feature-item .feature-icon {

  flex-shrink: 0;

  width: 56px;

  height: 56px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  background: #F4ECE0;

  color: #7A8A6E;

  font-size: 1.5rem;

}

.feature-item h3 {

  font-size: 1.5rem;

  margin-bottom: 0.5rem;

  font-style: italic;

}

.feature-item p {

  font-size: 0.95rem;

  margin: 0;

}



.about-images {

  position: relative;

}

.about-images .img-1, .about-images .img-2 {

  background-size: cover;

  background-position: center;

}

.about-images .img-1 {

  aspect-ratio: 5/4;

}

.about-images .img-2 {

  aspect-ratio: 1;

  margin-top: -25%;

  margin-left: 30%;

  border: 8px solid #FFFDF8;

  box-shadow: 0 30px 60px rgba(31, 38, 32, 0.15);

}

.about-images .exp-badge {

  position: absolute;

  bottom: 10%;

  left: 0px;

  width: 140px;

  height: 140px;

  background: #9B1C20;

  color: #FFFDF8;

  border-radius: 50%;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  font-family: "Cormorant Garamond", "Times New Roman", serif;

  text-align: center;

  line-height: 1.1;

  padding: 1rem;

}

.about-images .exp-badge strong {

  font-size: 2.4rem;

  display: block;

}

.about-images .exp-badge span {

  font-size: 0.7rem;

  letter-spacing: 0.2em;

  text-transform: uppercase;

}



.stat {

  text-align: center;

}

.stat .stat-num {

  font-family: "Cormorant Garamond", "Times New Roman", serif;

  font-size: 3.5rem;

  color: #7A8A6E;

  display: block;

  line-height: 1;

  margin-bottom: 0.5rem;

}

.stat .stat-label {

  font-size: 0.75rem;

  letter-spacing: 0.25em;

  text-transform: uppercase;

  color: #5A5A52;

}



.team-card {

  text-align: center;

  background: transparent;

}

.team-card .team-photo {

  aspect-ratio: 4/5;

  background-size: cover;

  background-position: center;

  margin-bottom: 1.5rem;

  position: relative;

  overflow: hidden;

}

.team-card .team-photo .team-social {

  position: absolute;

  inset: auto 0 -60px 0;

  padding: 1rem;

  background: linear-gradient(0deg, rgba(31, 38, 32, 0.85), transparent);

  display: flex;

  justify-content: center;

  gap: 0.75rem;

  transition: bottom 0.4s cubic-bezier(0.4, 0, 0.2, 1);

}

.team-card .team-photo .team-social a {

  width: 38px;

  height: 38px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  border: 1px solid rgba(255, 253, 248, 0.4);

  color: #FFFDF8;

}

.team-card .team-photo .team-social a:hover {

  background: #9B1C20;

  border-color: #9B1C20;

}

.team-card:hover .team-social {

  inset: auto 0 0 0;

}

.team-card h3 {

  font-size: 1.4rem;

  margin-bottom: 0.25rem;

  font-style: italic;

}

.team-card .team-role {

  font-size: 0.75rem;

  letter-spacing: 0.25em;

  text-transform: uppercase;

  color: #9B1C20;

}



.testimonial {

  text-align: center;

  max-width: 780px;

  margin: 0 auto;

}

.testimonial .quote-mark {

  font-family: "Cormorant Garamond", "Times New Roman", serif;

  font-size: 5rem;

  color: #9B1C20;

  line-height: 0.5;

  margin-bottom: 1rem;

  display: block;

}

.testimonial blockquote {

  font-family: "Cormorant Garamond", "Times New Roman", serif;

  font-style: italic;

  font-size: clamp(1.2rem, 2.2vw, 1.7rem);

  color: #1F2620;

  line-height: 1.5;

  margin: 0 0 1.5rem;

}

.testimonial .testimonial-author {

  font-size: 0.85rem;

  letter-spacing: 0.2em;

  text-transform: uppercase;

  color: #7A8A6E;

}

.testimonial .testimonial-role {

  font-size: 0.8rem;

  color: #8A8A82;

}



.price-card {

  background: #FFFDF8;

  padding: 2.5rem 2rem;

  text-align: center;

  border: 1px solid #E5DFD3;

  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);

  height: 100%;

  position: relative;

}

.price-card .price-name {

  font-family: "Cormorant Garamond", "Times New Roman", serif;

  font-style: italic;

  font-size: 1.75rem;

  margin-bottom: 1rem;

}

.price-card .price-amount {

  font-family: "Cormorant Garamond", "Times New Roman", serif;

  font-size: 3.5rem;

  color: #7A8A6E;

  display: block;

  margin-bottom: 0.25rem;

}

.price-card .price-amount sup {

  font-size: 1.2rem;

  vertical-align: super;

}

.price-card .price-amount sub {

  font-size: 0.9rem;

  color: #8A8A82;

  vertical-align: baseline;

}

.price-card .price-features {

  list-style: none;

  padding: 1.5rem 0;

  margin: 1rem 0;

  border-top: 1px solid #E5DFD3;

  border-bottom: 1px solid #E5DFD3;

}

.price-card .price-features li {

  padding: 0.55rem 0;

  font-size: 0.95rem;

}

.price-card .price-features li i {

  color: #7A8A6E;

  margin-right: 0.5rem;

}

.price-card .price-features li.disabled {

  color: #8A8A82;

  text-decoration: line-through;

}

.price-card .price-features li.disabled i {

  color: #8A8A82;

}

.price-card.featured {

  background: #7A8A6E;

  color: #FFFDF8;

  border-color: #7A8A6E;

}

.price-card.featured .price-name, .price-card.featured .price-amount, .price-card.featured h3, .price-card.featured h4 {

  color: #FFFDF8;

}

.price-card.featured .price-amount sub {

  color: rgba(255, 253, 248, 0.7);

}

.price-card.featured .price-features {

  border-color: rgba(255, 253, 248, 0.2);

}

.price-card.featured .price-features li i {

  color: #D4B587;

}

.price-card.featured .price-tag {

  position: absolute;

  top: -1px;

  right: -1px;

  background: #9B1C20;

  color: #FFFDF8;

  font-size: 0.7rem;

  letter-spacing: 0.2em;

  text-transform: uppercase;

  padding: 0.4rem 1rem;

}

.price-card.featured .btn-outline {

  color: #FFFDF8;

  border-color: #FFFDF8;

}

.price-card.featured .btn-outline:hover {

  background: #FFFDF8;

  color: #7A8A6E;

}



.blog-card {

  background: #FFFDF8;

  height: 100%;

  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);

}

.blog-card .blog-img {

  aspect-ratio: 16/10;

  background-size: cover;

  background-position: center;

  overflow: hidden;

  position: relative;

}

.blog-card .blog-img .blog-date {

  position: absolute;

  top: 1rem;

  left: 1rem;

  background: #FFFDF8;

  color: #1F2620;

  padding: 0.6rem 0.85rem;

  text-align: center;

  font-family: "Cormorant Garamond", "Times New Roman", serif;

  line-height: 1;

}

.blog-card .blog-img .blog-date strong {

  display: block;

  font-size: 1.3rem;

}

.blog-card .blog-img .blog-date span {

  font-size: 0.7rem;

  letter-spacing: 0.2em;

  text-transform: uppercase;

  color: #9B1C20;

}

.blog-card .blog-body {

  padding: 1.75rem;

}

.blog-card .blog-body .blog-meta {

  font-size: 0.75rem;

  letter-spacing: 0.18em;

  text-transform: uppercase;

  color: #9B1C20;

  margin-bottom: 0.75rem;

}

.blog-card .blog-body h2 {

  font-size: 1.8rem;

  font-style: italic;

  margin-bottom: 0.85rem;

}

.blog-card .blog-body h3 a {

  color: #1F2620;

}

.blog-card .blog-body h3 a:hover {

  color: #9B1C20;

}

.blog-card .blog-body p {

  font-size: 0.95rem;

  margin-bottom: 1.25rem;

}

.blog-card:hover {

  box-shadow: 0 30px 60px rgba(31, 38, 32, 0.08);

  transform: translateY(-4px);

}



.gallery-grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 1.25rem;

}

iframe{

  width: 100%;

}



@media (max-width: 991.98px) {

  .gallery-grid {

    grid-template-columns: repeat(2, 1fr);

  }

}

@media (max-width: 575.98px) {

  .gallery-grid {

    grid-template-columns: 1fr;

  }

}

.gallery-item {

  display: block;

  position: relative;

  overflow: hidden;

  aspect-ratio: 4/5;

}

.gallery-item .gallery-img {

  width: 100%;

  height: 100%;

  background-size: cover;

  background-position: center;

  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);

}

.gallery-item::after {

  content: "+";

  position: absolute;

  inset: 0;

  background: rgba(31, 38, 32, 0.5);

  color: #FFFDF8;

  font-size: 2rem;

  display: flex;

  align-items: center;

  justify-content: center;

  opacity: 0;

  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);

}

.gallery-item:hover .gallery-img {

  transform: scale(1.08);

}

.gallery-item:hover::after {

  opacity: 1;

}



.product-card {

  text-align: center;

  background: transparent;

}

.product-card .product-img {

  background: #FBF7F1;

  aspect-ratio: 1;

  background-size: cover;

  background-position: center;

  position: relative;

  overflow: hidden;

  margin-bottom: 1rem;

}

.product-card .product-img .product-actions {

  position: absolute;

  inset: auto 0 -60px 0;

  display: flex;

  justify-content: center;

  gap: 0.5rem;

  padding: 1rem;

  transition: bottom 0.4s cubic-bezier(0.4, 0, 0.2, 1);

}

.product-card .product-img .product-actions button {

  width: 42px;

  height: 42px;

  background: #FFFDF8;

  border: 0;

  color: #1F2620;

  cursor: pointer;

}

.product-card .product-img .product-actions button:hover {

  background: #7A8A6E;

  color: #FFFDF8;

}

.product-card:hover .product-actions {

  inset: auto 0 0 0;

}

.product-card h4 {

  font-size: 1.15rem;

  margin-bottom: 0.25rem;

  font-style: italic;

}

.product-card h4 a {

  color: #1F2620;

}

.product-card h4 a:hover {

  color: #9B1C20;

}

.product-card .product-price {

  color: #7A8A6E;

  font-family: "Cormorant Garamond", "Times New Roman", serif;

  font-size: 1.5rem;

}

article.product-card h2 {

    font-size: 1.7rem;

}

.product-card .product-price del {

  color: #8A8A82;

  margin-right: 0.4rem;

  font-size: 1.3rem;

}



.cta-banner {

  position: relative;

  padding: 6rem 0;

  background-size: cover;

  background-position: center;

  background-attachment: fixed;

  color: #FFFDF8;

  text-align: center;

}

.cta-banner::after {

  content: "";

  position: absolute;

  inset: 0;

  background: rgba(31, 38, 32, 0.65);

}

.cta-banner .container {

  position: relative;

  z-index: 2;

}

.cta-banner h2 {

  color: #FFFDF8;

  font-style: italic;

}



.cta-title-green {

    color: #4F6B4A;

}



.form-control, .form-select {

  border: 1px solid #E5DFD3;

  background: #FFFDF8;

  border-radius: 0;

  padding: 0.61rem 1.1rem;

  font-size: 0.95rem;

  color: #1F2620;

  transition: border-color 0.25s cubic-bezier(0.4, 0, 0.2, 1);

}

.form-control:focus, .form-select:focus {

  border-color: #7A8A6E;

  box-shadow: none;

  outline: none;

}

aside.col-lg-4 h2 {

    font-size: 1.8rem;

}

aside h3 {

    font-size: 1.6rem;

}



.form-label {

  font-size: 0.75rem;

  letter-spacing: 0.2em;

  text-transform: uppercase;

  color: #1F2620;

  margin-bottom: 0.5rem;

}



.site-footer {

  background: #1F2620;

  color: rgba(255, 253, 248, 0.7);

  padding: 5rem 0 0;

  position: relative;

}

.site-footer h3 {

  color: #FFFDF8;

  font-family: "Cormorant Garamond", "Times New Roman", serif;

  font-style: italic;

  font-size: 1.35rem;

  margin-bottom: 1.5rem;

}

.site-footer a {

  color: rgba(255, 253, 248, 0.7);

}

.site-footer a:hover {

  color: #9B1C20;

}

.site-footer .footer-about p {

  font-size: 0.95rem;

  margin: 1.25rem 0;

}

.site-footer .footer-about .footer-logo {

  font-family: "Cormorant Garamond", "Times New Roman", serif;

  font-size: 2rem;

  color: #FFFDF8;

}

.site-footer .footer-about .footer-logo img {

  height: 50px;

}

.site-footer .footer-links {

  list-style: none;

  padding: 0;

  margin: 0;

}

.site-footer .footer-links li {

  padding: 0.4rem 0;

  font-size: 0.95rem;

}

.site-footer .footer-links a::before {

  content: "→";

  margin-right: 0.5rem;

  color: #fff;

  opacity: 1;

  transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), margin 0.25s cubic-bezier(0.4, 0, 0.2, 1);

}

.site-footer .footer-links a:hover::before {

  opacity: 1;

  margin-right: 0.75rem;

  color:  #9B1C20;;

}

.site-footer .footer-contact {

  list-style: none;

  padding: 0;

  margin: 0;

}

.site-footer .footer-contact li {

  display: flex;

  gap: 0.75rem;

  align-items: flex-start;

  padding: 0.4rem 0;

  font-size: 0.95rem;

}

.site-footer .footer-contact li i {

  color: #9B1C20;

  margin-top: 0.3rem;

}

.site-footer .footer-newsletter .newsletter-form {

  display: flex;

  margin-top: 1rem;

}

.site-footer .footer-newsletter .newsletter-form input {

  flex: 1;

  background: rgba(255, 253, 248, 0.08);

  border: 1px solid rgba(255, 253, 248, 0.15);

  color: #FFFDF8;

  padding: 0.75rem 1rem;

  font-size: 0.9rem;

  max-width: calc(100% - 55px);

}

.site-footer .footer-newsletter .newsletter-form input::placeholder {

  color: rgba(255, 253, 248, 0.5);

}

.site-footer .footer-newsletter .newsletter-form input:focus {

  outline: 0;

  border-color: #9B1C20;

}

.site-footer .footer-newsletter .newsletter-form button {

  background: #9B1C20;

  color: #FFFDF8;

  border: 0;

  padding: 0 1.25rem;

  cursor: pointer;

}

.site-footer .footer-newsletter .newsletter-form button:hover {

  background: rgb(165.36, 127.92, 73.84);

}

.site-footer .footer-social {

  margin-top: 1.5rem;

}

.site-footer .footer-social a {

  display: inline-flex;

  width: 38px;

  height: 38px;

  align-items: center;

  justify-content: center;

  border: 1px solid rgba(255, 253, 248, 0.2);

  margin-right: 0.4rem;

}

.site-footer .footer-social a:hover {

  background: #9B1C20;

  border-color: #9B1C20;

  color: #FFFDF8;

}

.site-footer .footer-bottom {

  margin-top: 4rem;

  padding: 1.5rem 0;

  border-top: 1px solid rgba(255, 253, 248, 0.1);

  font-size: 0.85rem;

  text-align: center;

}



.back-to-top {

  position: fixed;

  right: 1.5rem;

  bottom: 1.5rem;

  width: 46px;

  height: 46px;

  background: #9B1C20;

  color: #FFFDF8;

  border: 0;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  z-index: 100;

  cursor: pointer;

  opacity: 0;

  visibility: hidden;

  transform: translateY(20px);

  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);

}

.back-to-top.is-visible {

  opacity: 1;

  visibility: visible;

  transform: translateY(0);

}

.back-to-top:hover {

  background: #9B1C20;

}



.preloader {

  position: fixed;

  inset: 0;

  background: #FFFDF8;

  z-index: 9999;

  display: flex;

  align-items: center;

  justify-content: center;

  transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.5s cubic-bezier(0.4, 0, 0.2, 1);

}

.preloader.is-loaded {

  opacity: 0;

  visibility: hidden;

}

.preloader .preloader-spinner {

  width: 50px;

  height: 50px;

  border: 2px solid #E5DFD3;

  border-top-color: #7A8A6E;

  border-radius: 50%;

  animation: spin 0.8s linear infinite;

}



@keyframes spin {

  to {

    transform: rotate(360deg);

  }

}



/*# sourceMappingURL=style.css.map */







/* 1. Slight overlap effect */

.section-founder-story {

  margin-top: -50px; /* pulls it up over the previous section */

  background: #fefcf7; /* subtle cream background */

  border-radius: 15px 15px 0 0; /* rounded top corners for softness */

  padding-top: 60px;

  padding-bottom: 80px;

  box-shadow: 0 -5px 20px rgba(0,0,0,0.05); /* soft shadow for separation */

}



/* 2. Optional fade/gradient connection */

.section-our-story {

  background: linear-gradient(to bottom, #fff 0%, #fefcf7 100%);

}







.product-disclaimer {

    font-size: 0.85rem;

    color: #6c757d;

    line-height: 1.5;

    max-width: 500px;

}





.price-features {

    list-style: none;

    padding-left: 0;

}



.price-features li {

    margin-bottom: 2px;

}



.price-features i {

    color: #9B1C20; 

    margin-right: 8px;

}





a.payhip-buy-button,

a.payhip-buy-button:visited,

a.payhip-buy-button:hover,

a.payhip-buy-button:focus,

a.payhip-buy-button:active {

    background-color: #9B1C20 !important;

    border-color: #9B1C20 !important;

    color: #FFFDF8 !important;



    display: inline-flex !important;

    align-items: center;

    justify-content: center;



    padding: 1.1rem 2.5rem !important;

    font-size: 0.82rem !important;

    font-weight: 500 !important;

    letter-spacing: 0.22em !important;

    text-transform: uppercase !important;

    line-height: 1 !important;



    text-decoration: none !important;

}







.journal-highlight {

    color: #9B1C20;

    font-weight: bold;

}




@media (max-width: 768px) {
    .page-header.has-image {
        background-position: 70% center;
    }
}



@media (max-width: 768px) {
    .hero-text {
        max-width: 340px;
        margin-inline: auto;
        text-wrap: balance;
    }
}