@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Eagle+Lake&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Urbanist:ital,wght@0,100..900;1,100..900&display=swap');

body {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 16px;
  color: #3A5472;
}

body,
html {
  overflow-x: hidden;
  /* height: 100%; */
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1;
}

a {
  color: #3A5472;
  text-decoration: none;
  transition: 0.3s ease;
}

a:not(.themeLink, .themeBtnOne, .themeBtnTwo):hover {
  text-decoration: none;
  color: #3A5472;
}

p a:hover {
  text-decoration: underline;
  color: #fff;
}

p {
  line-height: 1.4;
  font-size: 16px;
}

.largeText p {
  line-height: 1.4;
  font-size: 20px;
  font-weight: 500;
}

p:last-child {
  margin-bottom: 0;
}

ul {
  padding-left: 20px;
}

h1,
.h1 {
  font-family: "Urbanist", sans-serif;
  font-size: 50px;
  line-height: unset;
  color: #fff;
  line-height: 1.2;
  font-weight: 600;
}

h2,
.h2 {
  font-size: 48px;
  color: #0E1F13;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.48px;
}

h3,
.h3 {
  font-size: 40px;
  color: #000000;
  font-weight: 500;
  line-height: 1.15;
}

h4,
.h4 {
  font-size: 24px;
  color: #000000;
  font-weight: 600;
  line-height: 1.125;
}

.pageContent .row {
  --bs-gutter-x: 2rem;
}

.pageContent .container-md {
  --bs-gutter-x: 2rem;
}

.navbar-expand-xl .navbar-collapse {
  justify-content: flex-end;
}

.navbar {
  padding: 0px 36px;
  background-color: #0A0F14;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.25);
}

.nav-item a.themeBtnOne {
  font-size: 16px;
}

.headerBtn {
  gap: 32px;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: end;
}

.headerBtn .themeBtnOne {
  padding: 6px 21px;
  font-size: 14px;
  font-weight: 400;
}

.pageHeader .navbar-nav .nav-link {
  padding: 0 13px;
  line-height: 88px;
  font-size: 14px;
  color: #ffffff;
  position: relative;
}

.pageHeader .navbar-nav .nav-link:hover {
  color: #C47A4A;
}

.pageHeader .navbar-nav .header-phone-link {
  white-space: nowrap;
}

.pageHeader .navbar-nav .header-phone-link i {
  color: #C47A4A;
  font-size: 14px;
  margin-right: 6px;
}

.navbar-brand {
  display: inline-block;
  width: 100%;
  max-width: 260px;
}

.navbar-brand img {
  width: 100%;
}

.pageFooter {
  padding: 20px 0;
  background: #0A0F14;
}

.pageFooter .social-icons {
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footerBtn {
  gap: 32px;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
}

.footerLinks {
  text-align: center;
}

.footerLinks a {
  padding: 0 4px;
  color: #fff;
  font-size: 13px;
}

.footerLinks a:first-child {
  padding-left: 0;
}

.footerLinks a:last-child {
  padding-right: 0;
  border-width: 0;
}

.footerLinks a:hover {
  color: #C47A4A;
}

.copyright-text {
  text-align: right;
}

.copyright-text p {
  color: #fff;
  font-size: 14px;
}

.copyright-text .footer-about-text {
  margin-bottom: 8px;
  color: #C7CDD3;
  font-size: 13px;
  line-height: 1.6;
}

/* Keep dropdown aligned properly */
.navbar .dropdown-menu {
  top: 62px;
  left: 20px;
  padding: 0;
  border-radius: 10px;
  overflow: hidden;
}

.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item:focus {
  background-color: #C47A4A;
  color: #fff;
}

.social-icons a {
  display: inline-block;
  margin: 0 8px;
  font-size: 18px;
  color: #fff;
  transition: 0.3s;
}

.social-icons a:hover {
  color: #C47A4A;
  /* LinkedIn blue (applies on hover) */
}

.heroContent {
  z-index: 10;
  max-width: 995px;
  padding: 0 8px;
  margin: 0 auto;
  position: relative;
}

.heroContent h1 span {
  color: #C47A4A;
}

.heroBtn .themeBtnOne {
  font-size: 16px;
  margin: 0;
}

.largeText.heroText p {
  font-size: 18px;
  color: #fff;
  font-weight: 300;
}

.heroContent .green-text {
  background: #2D6A4F;
  color: #fff;
  font-size: 12px;
  text-transform: uppercase;
  padding: 6px 20px;
  letter-spacing: 1.5px;
  border-radius: 50px;
  display: inline-block;
  margin: 35px 0;
  position: relative;
  padding-left: 33px;
}

.heroContent .green-text:before {
  position: absolute;
  content: '';
  height: 7px;
  width: 7px;
  background-color: #C47A4A;
  left: 20px;
  top: 10px;
  border-radius: 50px;
}

.homeHero {
  position: relative;
  z-index: 9;
  padding-top: 156px;
  overflow: hidden;
  padding-bottom: 169px;
  background-image: url(../images/home-hero.png);
  background-position: center;
  background-repeat: repeat;
  background-size: cover;
  background-attachment: fixed;
}

.homeHero h1 {
  text-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  margin-bottom: 16px;
}

.homeHero h5 {
  color: #fff;
  max-width: 700px;
}

.heroText {
  margin-bottom: 50px;
}

.heroBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 32px;
  margin-top: 40px;
  margin-bottom: 40px;
  /* gap: 10px;
  margin: 10px 0; */
}

.homeHero .heroContent {
  max-width: 1240px;
}

.homeHero .heroBtn,
.cta-section .heroBtn {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  column-gap: 20px;
  row-gap: 16px;
}

.homeHero .heroBtn .themeBtnOne,
.cta-section .heroBtn .themeBtnOne {
  flex: 0 1 280px;
  min-width: 230px;
  padding-left: 20px;
  padding-right: 20px;
  text-align: center;
  white-space: nowrap;
}

.heroBtn .themeBtnOne,
.heroBtn .themeBtnTwo {
  font-size: 22.3px;
  padding: 8.5px 32px;
}

.pageHeader {
  background-color: #0A0F14;
  height: 85px;
  z-index: 10;
  position: relative;
}

.pageHeader .navbar {
  height: 100%;
  padding: 0 24px;
}

.pageHeader .nav-link {
  color: #d0d8e4;
  font-size: 14px;
}

.pageHeader .nav-link:hover {
  color: #ffffff;
}

.heroBtn .themeBtnOne {
  font-size: 16px;
  transition: all ease 0.3s;
}

.heroBtn .themeBtnOne.green {
  background-color: #426B2C;
}

.heroBtn .themeBtnOne.green:hover {
  background-color: #1c3f09;
  transition: all ease 0.3s;
}

.heroBtn .themeBtnOne.blue {
  background-color: #034B82;
}

.heroBtn .themeBtnOne.blue:hover {
  background-color: #032d4d;
  transition: all ease 0.3s;
}

.heroBtn .themeBtnOne.yellow {
  background-color: #C47A4A;
}

.heroBtn .themeBtnOne.yellow:hover {
  background-color: #C47A4A;
  transition: all ease 0.3s;
}

.heroBtn .themeBtnOne.white {
  background-color: #FFFFFF;
  color: #2A6B44;
}

.heroBtn .themeBtnOne.white:hover {
  background-color: #2A6B44;
  color: #FFFFFF;
  transition: all ease 0.3s;
}

.heroBtn .themeBtnOne:nth-child(2):hover {
  background-color: #032d4d;
  transition: all ease 0.3s;
}

.heroBtn .themeBtnOne:nth-child(3) {
  background-color: #C47A4A;
}

.heroBtn .themeBtnOne:nth-child(3):hover {
  background-color: #9c5c33;
  transition: all ease 0.3s;
}

.heroBtn .themeBtnOne:nth-child(4) {
  background-color: #fff;
  color: #2A6B44;
}

.heroBtn .themeBtnOne:nth-child(4):hover {
  background-color: #2A6B44;
  color: #fff;
  transition: all ease 0.3s;
}

.navbar-brand {
  top: 20px;
}

.themeBtnOne {
  background-color: #C47A4A;
  color: #fff;
  padding: 9px 18px;
  border-radius: 6px;
  text-decoration: none;
  font-size: 16px;
  font-weight: 400;
  white-space: nowrap;
  transition: all ease 0.4s;
}

.themeBtnOne:hover {
  background-color: #9c5c33;
  color: #fff;
}

.founding-section {
  padding: 16px 0;
  background-color: #F7F9FA;
}

.founding-bar {
  background-color: #034B82;
  border-radius: 16px !important;
  margin: -115px auto;
  z-index: 9;
  position: relative;
  max-width: 1050px;
}

.icon-box {
  width: 52px;
  height: 52px;
  background-color: rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  flex-shrink: 0;
  margin-left: 20px;
}

.founding-label {
  color: #fff;
  font-size: 22px;
  font-weight: 600;
  text-align: left;
  letter-spacing: 0.3px;
  font-family: "Urbanist", sans-serif;
  margin-left: 20px;
}

.lake-ecosystem {
  background-color: #F7F9FA;
  padding: 160px 72px 100px;
}

.eyebrow {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0D1F35;
  margin-bottom: 8px;
}

.display-heading {
  font-family: "Urbanist", sans-serif;
  font-size: 45px;
  font-weight: 500;
  line-height: 1.2;
  color: #0E1F13;
}

.display-heading em {
  color: #C47A4A;
  font-style: normal;
}

.intro-text {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: #2D5240;
  line-height: 1.7;
}

.eco-card {
  background: #ffffff;
  border: 1.5px solid #C47A4A;
  border-radius: 14px;
  padding: 28px 24px 32px;
  height: 100%;
  transition: box-shadow 0.25s ease, transform 0.4s ease;
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}

.eco-card:hover {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
  transform: translateY(-3px);
  background: #C47A4A;
  transition: all ease 0.3s;
}

.eco-card.card-gold {
  background: #C47A4A;
  border-color: #C47A4A;
  color: #ffffff;
}

.eco-card.navy {
  border: 1.5px solid #034B82;
}

.eco-card.green {
  border: 1.5px solid #426B2C;
}

.eco-card.card-gold .card-label {
  color: #ffffff;
}

.eco-card.card-gold .card-desc {
  color: #ffffff;
}

.icon-wrap {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
}

.icon-wrap.navy {
  background-color: #1E3A5F;
}

.icon-wrap.gold {
  background-color: #C47A4A;
}

.icon-wrap.amber {
  background-color: #C47A4A;
}

.icon-wrap.green {
  background-color: #2D5A3D;
}

.icon-wrap svg {
  width: 20px;
  height: 20px;
  fill: #ffffff;
}

.eco-card.navy:hover {
  background: #034B82;
}

.eco-card.green:hover {
  background: #426B2C;
}

.eco-card:hover .card-label,
.eco-card:hover .card-desc {
  color: #fff;
}

.card-label {
  font-family: "Urbanist", sans-serif;
  font-size: 22px;
  font-weight: 500;
  color: #0D1F35;
  margin-bottom: 6px;
}

.card-desc {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: #555555;
  line-height: 1.6;
  margin-bottom: 0;
}

.flywheel-section {
  position: relative;
  min-height: 100vh;
  background: url('../images/flywheel-bg.png') center center / cover no-repeat;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  padding: 100px 20px 80px;
  background-attachment: fixed;
}

.flywheel-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(10, 30, 45, 0.52);
  z-index: 0;
}

.flywheel-section>* {
  position: relative;
  z-index: 1;
}

.flywheel-section .eyebrow {
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 10px;
  text-align: center;
}

.flywheel-section .section-title {
  font-family: "Urbanist", sans-serif;
  font-size: 45px;
  font-weight: 500;
  color: #ffffff;
  text-align: center;
  line-height: 1.2;
  margin-bottom: 16px;
}

.flywheel-section .section-title span {
  color: #C47A4A;
}

.flywheel-section .section-title .dot {
  color: #C47A4A;
}

.flywheel-section .section-subtitle {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: #fff;
  text-align: center;
  line-height: 1.5;
  max-width: 490px;
  margin: 0 auto 100px;
}

.flywheel-section .diagram-wrapper {
  position: relative;
  width: 100%;
  max-width: 1300px;
  height: 480px;
}

.flywheel-section .dashed-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 450px;
  height: 450px;
  background-image: url(../images/flywheel-center.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.flywheel-section .center-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 150px;
  height: 150px;
  border-radius: 50%;
  overflow: hidden;
  background-color: #ECE8DF !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 2px solid rgba(255, 255, 255, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.flywheel-section .center-label {
  position: relative;
  z-index: 2;
  font-family: 'Urbanist', serif;
  font-size: 20px;
  font-weight: bold;
  color: #0E1F13;
  line-height: 1;
}

.flywheel-section .center-label span {
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.08em;
  color: #4A6B58;
  margin-top: 15px;
  position: relative;
}

.flywheel-section .center-label span:after {
  position: absolute;
  content: '';
  width: 32px;
  height: 2px;
  background-color: #0e1f133b;
  top: -8px;
  margin: auto;
  left: 0;
  right: 0;
}

.flywheel-section .ring-pill {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px 5px 8px;
  border-radius: 999px;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: #fff;
  white-space: nowrap;
}
.flywheel-section .ring-pill:hover {
  color: #fff;
}

.flywheel-section .ring-pill .pill-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
}

.flywheel-section .ring-pill img {
  width: 10px;
}

.flywheel-section .pill-marinas {
  background: #7B5EA7;
}

.flywheel-section .pill-hotels {
  background: #3A6B4A;
}

.flywheel-section .pill-travelers {
  background: #C47A4A;
}

.flywheel-section .pill-brands {
  background: #fff;
  color: #4A7ABC;
}

.wheel-dot {
  height: 10px;
  width: 10px;
  border-radius: 50%;
  position: absolute;
}

.wheel-dot.violet-dot {
  background: #7b5ea7;
  right: 63.3%;
  top: 20.5%;
}

.wheel-dot.green-dot {
  background: #40916C;
  right: 36%;
  top: 20.5%;
}

.wheel-dot.gold-dot {
  background: #C47A4A;
  right: 63.3%;
  top: 77.5%;
}

.wheel-dot.white-dot {
  background: #5082C8;
  right: 36%;
  top: 77.5%;
}

.flywheel-section .pill-marinas {
  top: 90px;
  left: auto;
  right: 65%;
}

.flywheel-section .pill-hotels {
  top: 90px;
  left: auto;
  right: 29%;
}

.flywheel-section .pill-travelers {
  bottom: 90px;
  left: auto;
  right: 65%;
}

.flywheel-section .pill-brands {
  bottom: 90px;
  left: auto;
  right: 29%;
}

.flywheel-section .info-card {
  position: absolute;
  background: #ffffff;
  border-radius: 10px;
  padding: 16px 20px 16px 25px;
  max-width: 260px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);
}

.flywheel-section .info-card .card-tag {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  margin-bottom: 5px;
  color: #034B82;
}

.flywheel-section .info-card p {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #000000;
  line-height: 1.5;
  margin: 0;
}

.flywheel-section .tag-supply {
  color: #7B5EA7;
}

.flywheel-section .tag-membership {
  color: #3A6B4A;
}

.flywheel-section .tag-demand {
  color: #C9873A;
}

.flywheel-section .card-supply {
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
}

.flywheel-section .card-membership {
  top: 2%;
  right: 10px;
}

.flywheel-section .card-demand {
  bottom: 3%;
  right: 10px;
}

.cta-section {
  background-color: #111C32;
  padding: 100px 20px 80px;
  text-align: center;
}

.cta-title {
  font-family: "Urbanist", sans-serif;
  font-size: 45px;
  font-weight: 500;
  color: #ffffff;
  margin-bottom: 16px;
  line-height: 1.2;
}

.cta-subtitle {
  font-size: 16px;
  font-weight: 300;
  color: #FFF;
  line-height: 1.5;
  max-width: 600px;
  margin: 0 auto 36px;
}

.cta-section .heroBtn {
  margin-bottom: 0;
}

.which-section {
  background: #fff;
  padding: 120px 0 90px;
}

.which-section .eyebrow {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1.54px;
  text-transform: uppercase;
  color: #034B82;
  margin-bottom: 15px !important;
}

.which-section .display-heading {
  font-family: "Urbanist", sans-serif;
  font-size: 45px;
  letter-spacing: -1.56px;
  color: #0D1F35;
  line-height: 1.2;
  font-weight: 500;
  margin-bottom: 14px;
  font-style: normal;
}

.location-map img {
  border-radius: 10px;
  overflow: hidden;
}

.which-section .display-heading span {
  color: #C47A4A;
}

.which-section .subtitle {
  font-size: 16px;
  color: #3A5472;
  max-width: 420px;
  margin: 0 auto;
  line-height: 1.3;
}

.which-section .persona-tabs {
  display: inline-flex;
  background: #ffffff;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
  border-radius: 8px;
  padding: 4px;
  gap: 2px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 25px;
}

.which-section .persona-tabs .tab-btn {
  border: none;
  background: transparent;
  padding: 8px 22px;
  border-radius: 10px;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #000000;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
}

.which-section .persona-tabs .tab-btn.active,
.which-section .persona-tabs .tab-btn:hover {
  background: #C47A4A;
  color: #ffffff;
  font-weight: 500;
}

.which-section .content-card {
  background: #ffffff;
  padding: 0px;
  width: 100%;
}

.which-section .persona-icon {
  width: 46px;
  height: 46px;
  background: #f5f3ee;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  margin-bottom: 20px;
}

.which-section .persona-icon img {
  width: 47%;
}

.which-section .prop-heading {
  font-family: "Urbanist", sans-serif;
  font-size: 40px;
  line-height: 1.2;
  color: #0D1F35;
  font-weight: 400;
  margin-bottom: 15px !important;
}

.which-section .prop-heading span {
  color: #C47A4A;
}

.which-section .prop-tagline {
  font-size: 16px;
  color: #3A5472;
  margin-bottom: 22px;
}

.which-section .feature-list {
  list-style: none;
  padding: 0;
  margin: 0 0 28px 0;
}

.which-section .feature-list li {
  font-size: 16px;
  color: #3A5472;
  padding: 5px 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.5;
}

.which-section .feature-list li::before {
  content: '';
  flex-shrink: 0;
  margin-top: 3px;
  width: 17px;
  height: 17px;
  background-color: #C47A4A;
  border-radius: 50%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none' d='M3 8l3.5 3.5L13 4.5'/%3E%3C/svg%3E");
  background-size: 11px;
  background-repeat: no-repeat;
  background-position: center;
}

.which-section .btn-cta {
  background: #C47A4A;
  color: #ffffff;
  border: none;
  border-radius: 7px;
  padding: 11px 26px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
  display: inline-block;
  text-decoration: none;
}

.which-section .btn-cta:hover {
  background: #9c5c33;
  color: #ffffff;
  transform: translateY(-1px);
}

.which-section .btn-cta::after {
  content: ' \2192';
}

.which-section .stats-panel {
  display: flex;
  flex-direction: column;
  gap: 14px;
  border: 2px solid #efefef;
  padding: 34px;
  border-radius: 20px;
}

.which-section .stat-label-row {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6B8AAA;
  margin-bottom: 0;
}

.which-section .stat-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.which-section .stat-card {
  background: #f5f3ee;
  border-radius: 10px;
  padding: 16px 18px;
}

.which-section .stat-value {
  font-family: "Urbanist", sans-serif;
  ;
  font-size: 28px;
  font-weight: 600;
  color: #0D1F35;
  line-height: 1;
}

.which-section .stat-value.negative {
  color: #4b5563;
}

.which-section .stat-desc {
  font-size: 12px;
  color: #6B8AAA;
  margin-top: 5px;
}

.which-section .chart-wrapper {
  background: #f5f3ee;
  border-radius: 10px;
  padding: 16px 18px 14px;
}

.which-section .chart-bars {
  display: flex;
  align-items: flex-end;
  gap: 5px;
  height: 60px;
}

.which-section .chart-bars .bar {
  flex: 1;
  background: #c8d5c0;
  border-radius: 3px 3px 0 0;
}

.which-section .chart-bars .bar.active {
  background: #2d5a3d;
}

.which-section .chart-baseline {
  border-top: 1px solid #d4cfc4;
  margin-top: 3px;
}

.which-section .tab-pane-custom {
  display: none;
}

.which-section .tab-pane-custom.show {
  display: block;
}

.featured-lakes {
  padding: 100px 72px;
  background-color: #fff;
}

.featured-lakes p.eyebrow {
  color: #034B82;
  font-size: 14px;
}

.featured-lakes p.intro-text {
  color: #3A5472;
}

.desktop-hide {
  display: none;
}

.mobile {
  display: none;
}

.login-page-section .login-submit {
  background-color: #c47a4a;
  border-color: #c47a4a;
  transition: all ease 0.4s !important;
}

.login-page-section .login-submit:hover {
  background-color: #6f3e20;
  border-color: #6f3e20;
}

.login-form-control:focus {
    border-color: #c47a4a !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.forgot-password-section form {
  gap: 17px;
  display: flex;
  flex-direction: column;
}

.forgot-password-section #email {
  margin-top: 10px;
}

.forgot-password-section .card-header {
  background: transparent;
}

.forgot-password-section button {
  background-color: #c47a4a;
  border-color: #c47a4a;
  transition: all ease 0.4s !important;
}

.forgot-password-section button:hover {
  background-color: #6f3e20;
  border-color: #6f3e20;
}

.forgot-password-section input:focus {
    border-color: #c47a4a !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.forgot-password-section .card {
    max-width: 460px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .075);
    overflow: hidden;
}

.reset-password-section .card {
    max-width: 460px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .075);
    overflow: hidden;
}

.reset-password-section .card-header {
  background: transparent;
}

.reset-password-section button {
  background-color: #c47a4a;
  border-color: #c47a4a;
  transition: all ease 0.4s !important;
}

.reset-password-section button:hover {
  background-color: #6f3e20;
  border-color: #6f3e20;
}

.reset-password-section input:focus {
    border-color: #c47a4a !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.reset-password-section .form-group {
    margin-bottom: 15px;
}

.reset-password-section .form-group input {
  margin-top: 10px;
}

.verify-email-section button {
  background-color: #c47a4a;
  border-color: #c47a4a;
  transition: all ease 0.4s !important;
}

.verify-email-section button:hover {
  background-color: #6f3e20;
  border-color: #6f3e20;
}

.verify-email-section i {
  color: #6f3e20 !important;
}

.verify-email-section .card-header {
  background: transparent;
}

.verify-email-section .btn-outline-secondary {
  background-color: transparent;
}

.verify-email-section .btn-outline-secondary:hover {
  background-color: #6f3e20;
}




@media (min-width: 1200px) {
  .menu-trigger {
    display: none;
  }

  .navbar-collapse {
    margin-right: 32px;
  }
}

@media (min-width: 1400px) {

  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1600px;
  }
}



@media (min-width: 768px) and (max-width: 991px) {
  .flywheel-section .diagram-wrapper {
    width: 600px;
    height: 420px;
  }

  .flywheel-section .dashed-ring {
    width: 290px;
    height: 290px;
  }

  .flywheel-section .center-circle {
    width: 130px;
    height: 130px;
  }

  .flywheel-section .pill-marinas {
    top: 80px;
    left: 90px;
  }

  .flywheel-section .pill-hotels {
    top: 80px;
    right: 74px;
  }

  .flywheel-section .pill-travelers {
    bottom: 78px;
    left: 78px;
  }

  .flywheel-section .pill-brands {
    bottom: 78px;
    right: 64px;
  }

  .flywheel-section .card-supply {
    left: -10px;
  }

  .flywheel-section .card-membership {
    right: -10px;
  }

  .flywheel-section .card-demand {
    right: -10px;
  }
}

@media (max-width: 991px) and (min-width: 768px) {
  .which-section {
    padding: 60px 0 70px;
  }

  .which-section .display-heading {
    font-size: 2.2rem;
  }

  .which-section .prop-heading {
    font-size: 1.65rem;
  }

  .which-section .content-card {
    padding: 34px 32px;
  }

  .which-section .stat-value {
    font-size: 1.35rem;
  }
}

@media (max-width: 767px) and (min-width: 576px) {
  .which-section {
    padding: 48px 0 56px;
  }

  .which-section .display-heading {
    font-size: 1.85rem;
  }

  .which-section .prop-heading {
    font-size: 1.45rem;
  }

  .which-section .content-card {
    padding: 28px 22px;
  }

  .which-section .persona-tabs .tab-btn {
    padding: 7px 14px;
    font-size: 0.8rem;
  }

  .which-section .stat-value {
    font-size: 1.25rem;
  }

  .which-section .stat-card {
    padding: 12px 14px;
  }

  .which-section .chart-bars {
    height: 50px;
  }

  .which-section .stats-panel {
    margin-top: 32px;
  }
}

@media (max-width: 1500px) {
  .pageHeader .navbar-nav .nav-link {
    padding: 0 8px;
  }
}

@media (max-width: 1400px) {

  .pageHeader .navbar-nav .nav-link,
  .themeLink {
        font-size: 12px;
    line-height: 16px;
  }

  .headerBtn {
    gap: 25px;
  }

  .navbar {
    padding: 0 15px;
  }

  .navbar-brand {
    max-width: 190px;
  }

  .pageFooter {
    padding-left: 15px;
    padding-right: 15px;
  }

  .flywheel-section .pill-hotels,
  .flywheel-section .pill-brands {
    right: 28%;
  }

  .flywheel-section .pill-marinas,
  .flywheel-section .pill-travelers {
    right: 66%;
  }

  .pageHeader .navbar-nav .nav-link {
    padding: 0 8px;
  }

  .hotel-expansion-section h2 br {
    display: none;
  }

  .hotel-expansion-section h2 em {
    margin-right: 8px;
  }
  .navbar .dropdown-menu {
    top: 30px;
    left: 0;
}
}

@media (max-width: 1300px) {

  .wheel-dot.violet-dot,
  .wheel-dot.gold-dot {
    right: 64%;
  }

  .wheel-dot.green-dot,
  .wheel-dot.white-dot {
    right: 35.2%;
  }
}

@media screen and (min-width:1200px) {

  /* Show dropdown on hover */
  .navbar .dropdown:hover .dropdown-menu {
    display: block;
    margin-top: 0;
    opacity: 1;
    visibility: visible;
  }

  /* Optional: smooth fade effect */
  .dropdown-menu {
    display: none;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
  }
}

@media (max-width: 1199px) {
  .mobile {
    display: block;
  }

  .desktop {
    display: none;
  }

  .menu-trigger {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 20px;
    justify-content: space-between;
    width: 30px;
    margin-right: 0;
  }

  .menu-trigger span {
    background-color: #fff;
    display: inline-block;
    height: 2px;
    position: relative;
    transition: all 0.3s ease;
    width: 100%;
  }

  .navbar.open .menu-trigger span:first-child {
    margin-top: 0;
    top: 10px;
    transform: rotate(45deg);
  }

  .navbar.open .menu-trigger span:nth-child(2) {
    opacity: 0;
  }

  .navbar.open .menu-trigger span:nth-child(3) {
    bottom: 8px;
    margin-bottom: 0;
    transform: rotate(-45deg);
  }

  .navbar-collapse .navbar-nav {
    padding: 20px 0 0;
  }

  .navbar-collapse {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: #fff;
    padding: 0 18px;
  }

  .navbar-collapse .social-icons {
    margin-bottom: 30px;
    margin-left: -5px;
    margin-top: 15px;
  }

  .navbar-collapse .social-icons a {
    color: #0A0F14;
  }

  .headerBtn .themeLink {
    display: none;
  }

  .pageHeader .navbar-nav .nav-link {
    line-height: normal;
    padding: 10px 0;
  }

  .navbar {
    padding: 12px 0;
  }

  .footerLinks {
    margin-bottom: 5px;
  }

  .headerBtn .themeBtnOne {
    font-size: 14px;
  }

  .navbar-brand {
    max-width: 240px;
  }

  .social-icons {
    margin-left: auto;
    margin-right: 30px;
  }

  ul.navbar-nav li {
    width: 100%;
  }

  .navbar .dropdown:hover .dropdown-menu {
    border-radius: 0;
    border: 0;
    width: 100%;
    padding: 0;
  }

  .navbar .dropdown:hover .dropdown-menu li {
    margin: 0 !important;
    padding: 0 !important;
  }

  .heroBtn .themeBtnOne {
    padding: 8.5px 22px;
  }

  .heroBtn {
    gap: 15px;
  }

  .pageHeader .navbar-nav .nav-link {
    color: #000000;
  }

  .footerLinks a {
    padding: 0 6px;
  }

  .flywheel-section {
    min-height: auto;
  }

  .mobile-hide {
    display: none;
  }

  .desktop-hide {
    display: block;
  }

  ul.navbar-nav li {
    text-align: left;
    margin-right: auto !important;
    margin-left: 0 !important;
    margin-bottom: 5px;
    margin-top: 5px;
  }

  .nav-item a.themeBtnOne {
    color: #000;
    font-size: 18px;
    padding: 10px 15px 0 0;
    background-color: transparent;
  }

  .nav-item a.themeBtnOne:hover {
    color: #C47A4A;
  }

  .pageFooter .social-icons {
    justify-content: flex-start;
    margin-bottom: 20px;
    margin-left: -5px;
  }
}

@media (max-width: 991px) {

  .pageHeader .navbar-nav .nav-link,
  .themeLink {
    font-size: 18px;
  }

  .h1,
  h1 {
    font-size: 30px;
  }

  .homeHero {
    padding-top: 20px;
  }

  .heroText {
    margin-bottom: 30px;
  }

  .heroBtn {
    margin: 0;
  }

  .pageFooter {
    padding-left: 8px;
    padding-right: 8px;
  }

  .heroBtn {
    display: inline-block !important;
    line-height: 50px;
    margin: 0 10px 0 -8px
  }

  .hotels-page .hotel-hero .heroBtn,
  .marinas-page .marina-hero .heroBtn,
  .travelers-page .travelers-hero .heroBtn,
  .advertising-page .advertising-hero .heroBtn,
  .campgrounds-page .campground-hero .heroBtn,
  .restaurants-page .restaurant-hero .heroBtn {
    margin-left: -10px;
  }

  .footerLinks {
    text-align: left;
    margin: 15px 0;
  }

  .copyright-text p {
    text-align: left;
  }

  .flywheel-section .section-subtitle {
    margin: 0 auto;
  }

  .flywheel-section .card-supply {
    left: 0;
    top: auto;
    bottom: -28%;
  }

  .flywheel-section .card-membership {
    left: 0;
    bottom: -54%;
    top: auto;
  }

  .flywheel-section .card-demand {
    left: 0;
    bottom: -80%;
    top: auto;
  }

  .flywheel-section .info-card {
    width: 100%;
    max-width: 100%;
  }

  .flywheel-section .section-title {
    font-size: 30px;
    line-height: 48px;
  }

  .flywheel-section .pill-hotels,
  .flywheel-section .pill-brands {
    right: 22%
  }

  .wheel-dot.violet-dot,
  .wheel-dot.gold-dot {
    right: 62%;
  }

  .cta-title {
    font-size: 30px;
  }

  .flywheel-section {
    min-height: 1200px;
  }

  .heroBtn .themeBtnOne {
    margin: 0 10px;
  }
}

@media (max-width: 767px) {

  .h1,
  h1 {
    font-size: 40px;
  }

  .h2,
  h2 {
    font-size: 34px;
  }

  .h3,
  h3 {
    font-size: 34px;
  }

  .h4,
  h4 {
    font-size: 22px;
  }

  .pageContent {
    overflow-x: hidden;
  }

  .footerBtn {
    justify-content: start;
    margin-top: 30px;
    max-width: 100%;
  }

  .bottomFooter {
    margin-top: 30px;
  }

  .heroBtn .themeBtnOne {
    margin: 0
  }

  .heroBtn {
    flex-direction: column;
    margin: 0;
    gap: 15px;
  }

  .heroBtn .themeBtnOne,
  .heroBtn .themeBtnTwo,
  .themeBtnOne {
    font-size: 16px;
    width: 100%;
    text-align: center;
    padding: 12.5px 32px;
  }

  .heroBtn {
    line-height: 60px;
  }

  .themeBtnTwo {
    color: #212121;
  }

  .footerLinks a {
    padding: 0 12px;
    white-space: nowrap;
  }

  .footerLinks a:last-child {
    padding-left: 0;
  }

  .footerLinks {
    max-width: 336px;
  }

  .pageFooter {
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 10px;
  }

  .footerBtn {
    margin-bottom: 16px;
    margin-top: 0;
  }

  .ftr-logo {
    justify-content: center;
    display: flex !important;
  }

  .bottomFooter {
    margin-top: 16px;
  }

  .copyright-text p {
    text-align: center;
  }

  .footerLinks {
    text-align: center;
    max-width: unset;
  }

  .bottomFooter .themeBtnOne {
    width: auto;
  }

  .headerBtn .themeBtnOne {
    padding: 8px 12px;
  }

  .headerBtn .themeBtnOne .icon {
    display: none;
  }

  .headerBtn .themeBtnOne {
    font-size: 12px;
  }

  .pageHeader .navbar {
    padding: 0 15px;
  }

  .homeHero h1 {
    font-size: 24px;
  }

  .heroContent .green-text {
    font-size: 10px;
  }

  .largeText.heroText p {
    font-size: 16px;
  }

  .founding-bar {
    flex-direction: column !important;
    gap: 0;
  }

  .founding-item {
    width: 100%;
    flex-direction: row !important;
    justify-content: flex-start;
    padding: 14px 20px !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
  }

  .founding-item:last-child {
    border-bottom: none !important;
  }

  .lake-ecosystem {
    padding: 160px 20px 60px;
  }

  .flywheel-section {
    padding: 44px 16px 60px;
  }

  .flywheel-section .section-subtitle {
    /* margin-bottom: 100px; */
    margin-bottom: 36px;
    font-size: 0.82rem;
  }

  .flywheel-section .diagram-wrapper {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
  }

  .flywheel-section .dashed-ring {
    display: block;
    width: 100%;
    top: 22%;
  }

  .flywheel-section .ring-pill {
    display: none;
  }

  .flywheel-section .center-circle {
    position: static;
    transform: none;
    width: 160px;
    height: 160px;
    margin-bottom: 28px;
    margin-top: 60px;
  }

  .flywheel-section .info-card {
    position: static;
    transform: none;
    max-width: 100%;
    width: 100%;
    margin-bottom: 12px;
  }

  .flywheel-section .mobile-pill {
    display: inline-flex !important;
  }

  .wheel-dot {
    display: none;
  }

  .cta-section {
    padding: 52px 20px 60px;
  }

  .cta-buttons {
    flex-direction: column;
    align-items: center;
  }

  .cta-btn {
    width: 100%;
    max-width: 300px;
    text-align: center;
  }

  .which-section {
    padding: 60px 0 44px;
  }

  .which-section .display-heading {
    font-size: 1.55rem;
  }

  .which-section .eyebrow {
    font-size: 0.62rem;
  }

  .which-section .subtitle {
    font-size: 0.82rem;
  }

  .which-section .prop-heading {
    font-size: 1.3rem;
  }

  .which-section .content-card {
    padding: 22px 16px;
    border-radius: 10px;
  }

  .which-section .persona-tabs {
    width: 100%;
  }

  .which-section .persona-tabs .tab-btn {
    flex: 1;
    padding: 7px 8px;
    font-size: 0.75rem;
    text-align: center;
  }

  .which-section .stat-value {
    font-size: 1.1rem;
  }

  .which-section .stat-desc {
    font-size: 0.66rem;
  }

  .which-section .stat-card {
    padding: 12px 12px;
  }

  .which-section .feature-list li {
    font-size: 0.82rem;
  }

  .which-section .btn-cta {
    width: 100%;
    text-align: center;
    padding: 12px 16px;
    font-size: 0.82rem;
  }

  .which-section .btn-cta:hover {
    background-color: #9c5c33;
  }

  .which-section .chart-bars {
    height: 44px;
    gap: 3px;
  }

  .which-section .chart-wrapper {
    padding: 12px 14px 10px;
  }

  .which-section .stats-panel {
    margin-top: 28px;
  }

  .info-card.card-supply {
    margin-top: 140px;
  }

  .flywheel-section {
    min-height: 1080px;
  }

  .featured-lakes {
    padding: 60px 20px 60px;
  }

  .display-heading {
    font-size: 30px;
  }

  .flywheel-section .section-title {
    font-size: 1.55rem;
    line-height: 1.5;
  }

  .pageFooter .social-icons {
    justify-content: center;
    margin-bottom: 20px;
    margin-left: 0;
    margin-right: 0;
  }
}

/* ================================
   Hotels Page CSS
   Scoped to hotels.html only
================================ */
.hotels-page {
  background-color: #f7f4ee;
}

.hotels-page .pageContent {
  background-color: #f7f4ee;
}

.hotels-page .hotel-hero {
  min-height: 540px;
  display: flex;
  align-items: center;
  height: calc(100vh - 80px);
  padding: 50px 0;
}

.hotels-page .hotel-hero .text-center {
  text-align: left !important;
}

.hotels-page .hotel-hero .heroBtn {
  justify-content: flex-start;
}

.hotels-page .hotel-hero .heroContent {
  float: left;
  margin-left: 0;
}

.hotels-page .hotel-hero::before,
.hotels-page .hotel-pricing-band::before,
.hotels-page .hotel-founding-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(14, 24, 40, 0.7);
}

.hotels-page .hotel-pricing-band::before,
.hotels-page .hotel-founding-section::before {
  background: rgba(14, 24, 40, 0.6);
}

.hotels-page .hotel-hero .heroContent,
.hotels-page .hotel-pricing-band .container,
.hotels-page .hotel-founding-section .container {
  position: relative;
  z-index: 1;
}

.hotels-page .hotel-hero .green-text {
  background: #C47A4A;
  color: #ffffff;
  padding-left: 20px;
}

.hotels-page .hotel-hero .green-text:before {
  display: none;
}

.hotels-page .hotel-hero .largeText.heroText p {
  max-width: 600px;
}

.hotels-page .hotel-intro {
  padding-top: 110px;
  padding-bottom: 110px;
  background-color: #F7F9FA;
}

.hotels-page .hotel-intro .eyebrow {
  color: #C8A04D;
}

/* Hotels Page: shared heading treatment */
.hotel-section-head {
  max-width: 780px;
  margin-bottom: 48px;
}

.hotel-section-title {
  font-family: "Urbanist", sans-serif;
  font-size: 45px;
  font-weight: 500;
  line-height: 1.1;
  color: #ffffff;
}

.hotel-section-title.dark {
  color: #0d1f35;
}

.hotel-section-title span {
  color: #C47A4A;
}

/* Hotels Page: member perks */
.hotel-perks-section {
  background: #1B2730;
  padding: 110px 0 120px;
}

.hotel-perks-section .eyebrow {
  color: #C47A4A;
}

.hotel-perks-copy {
  max-width: 540px;
  margin-top: 24px;
  color: rgba(230, 234, 236, 0.9);
  line-height: 1.65;
}

.hotel-perk-card {
  height: 100%;
  background: #22323e;
  border-radius: 18px;
  padding: 28px 24px;
  border: 1px solid rgba(196, 122, 74, 0.16);
  box-shadow: 0 14px 34px rgba(6, 12, 24, 0.16);
}

.hotel-perk-card.featured {
  background: linear-gradient(135deg, #2a3c47 0%, #304651 100%);
}

.hotel-perk-card i {
  color: #C47A4A;
  font-size: 24px;
  margin-bottom: 18px;
}

.hotel-perk-card h3 {
  font-family: "Urbanist", sans-serif;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0;
}

/* Hotels Page: revenue cards section */
.hotel-revenue-section {
  background: #1B2730;
  padding: 110px 0 120px;
}

.hotel-revenue-section .eyebrow {
  color: #C47A4A;
}

.hotel-card-row {
  --bs-gutter-y: 1.5rem;
}

.hotel-feature-card,
.hotel-benefit-card {
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(18, 29, 51, 0.12);
  height: 100%;
  border-top: 3px solid #C47A4A;
}

.hotel-feature-card {
  padding: 40px 30px 40px;
}

.hotel-feature-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: #f5efe1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 28px;
}

.hotel-feature-icon img {
  width: 100%;
}

.hotels-page .marina-support-section .hotel-feature-card {
  background: #22323e;
  border: 1px solid rgba(196, 122, 74, 0.18);
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(6, 12, 24, 0.2);
}

.hotels-page .marina-support-section .hotel-feature-icon {
  width: 60px;
  height: 60px;
  border-radius: 16px;
  background: rgba(196, 122, 74, 0.14);
  color: #c47a4a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 26px;
  box-shadow: 0 0 30px rgba(196, 122, 74, 0.08);
}

.hotels-page .marina-support-section .hotel-feature-icon img {
  display: none;
}

.hotels-page .marina-support-section .hotel-feature-card h3 {
  color: #ffffff;
}

.hotels-page .marina-support-section .hotel-feature-card p {
  color: #e6eaec;
}

.hotel-feature-card h3,
.hotel-benefit-card h3,
.hotel-step h3 {
  font-family: "Urbanist", sans-serif;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600;
  color: #0d1f35;
  margin-bottom: 5px;
}

.hotel-feature-card p,
.hotel-benefit-card p,
.hotel-step p,
.hotel-band-copy,
.hotel-founding-copy {
  font-size: 16px;
  line-height: 22px;
  color: #6b6f76;
  margin-bottom: 0;
}

/* Hotels Page: benefits grid */
.hotel-benefits-section {
  background: #F7F9FA;
  padding: 110px 0 120px;
}

.hotel-benefits-section .eyebrow {
  color: #C47A4A;
}

.hotel-benefit-card {
  padding: 30px 28px;
}

/* Hotels Page: pricing banner */
.hotel-pricing-band {
  position: relative;
  background: url('../images/pricing-back.jpg') center center / cover no-repeat;
  background-attachment: fixed;
  padding: 120px 0;
  overflow: hidden;
}

.hotel-pricing-band .eyebrow,
.hotel-founding-section .eyebrow,
.hotel-cta-section .eyebrow {
  color: #C47A4A;
}

.hotel-band-copy {
  color: rgba(255, 255, 255, 0.9);
  max-width: 720px;
  margin-top: 28px;
}

.hotel-band-quote {
  background: #111C32;
  border-left: 4px solid #C47A4A;
  border-radius: 10px;
  padding: 36px 36px 34px;
  box-shadow: 0 20px 40px rgba(6, 12, 24, 0.25);
}

.hotel-band-icon {
  width: 44px;
  height: 44px;
  margin-bottom: 22px;
}

.hotel-band-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.hotel-band-quote p {
  font-family: "Urbanist", sans-serif;
  font-size: 22px;
  line-height: 1.45;
  color: #ffffff;
  font-style: italic;
  margin-bottom: 0;
}

/* Hotels Page: process timeline */
.hotel-process-section {
  position: relative;
  background: #F7F9FA;
  padding: 110px 0 120px;
}

.hotel-process-section .eyebrow {
  color: #C47A4A;
}

.hotel-process-head {
  max-width: 900px;
  margin: 0 auto 48px;
}

.hotel-process-title {
  font-family: "Urbanist", sans-serif;
  font-size: 44px;
  line-height: 1.12;
  color: #0d1f35;
  margin-bottom: 80px;
}

.hotel-process-title span {
  color: #C47A4A;
}

.hotel-process-line {
  max-width: 1050px;
  margin: 0 auto;
  border-top: 2px solid #efe4c7;
  transform: translateY(6px);
}

.hotel-steps {
  position: relative;
  justify-content: space-between;
}

.hotel-step {
  position: relative;
  text-align: center;
  max-width: 220px;
  margin: 0 auto;
}

.hotel-step-badge {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #16233d;
  color: #C47A4A;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Urbanist", sans-serif;
  font-size: 30px;
  font-weight: 600;
  margin: 0 auto 22px;
  border: 5px solid #ffffff;
  box-shadow: 0 0 0 1px #efe4c7;
}

/* Hotels Page: founding CTA */
.hotel-founding-section {
  position: relative;
  background: url('../images/home-hero.png') center center / cover no-repeat;
  padding: 120px 0;
  overflow: hidden;
  background-attachment: fixed;
}

.hotel-founding-title {
  font-family: "Urbanist", sans-serif;
  font-size: 44px;
  line-height: 1.15;
  color: #ffffff;
  margin-bottom: 20px;
}

.hotel-founding-title span {
  color: #C47A4A;
}

.hotel-founding-copy {
  color: rgba(255, 255, 255, 0.88);
  max-width: 760px;
  margin: 0 auto 34px;
}

.hotel-gold-btn {
  padding: 13px 28px;
  font-size: 18px;
}

/* Hotels Page: map section */
.hotel-expansion-section {
  background: #F7F9FA;
  padding: 110px 0 120px;
}

.hotel-map-frame {
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid #d7cdb4;
  box-shadow: 0 16px 40px rgba(18, 29, 51, 0.08);
}

/* Hotels Page: final CTA */
.hotel-cta-section {
  padding-top: 110px;
  padding-bottom: 90px;
}

.hotel-cta-section .cta-title span {
  color: #C47A4A;
}

.hotel-cta-section .heroBtn .themeBtnOne.green {
  background-color: #426b2c;
}

.hotel-cta-section .heroBtn .themeBtnOne.blue {
  background-color: #034b82;
}

.hotel-cta-section .heroBtn .themeBtnOne.yellow {
  background-color: #C47A4A;
}

.hotels-page .heroBtn .themeBtnOne.white {
  background-color: #ffffff;
  color: #2a6b44;
}

.hotels-page .heroBtn .themeBtnOne.white:hover {
  background-color: #2a6b44;
  color: #ffffff;
}

/* Hotels Page: responsive adjustments */
@media (max-width: 1199px) {
  .hotel-section-title {
    font-size: 52px;
  }

  .hotel-process-title,
  .hotel-founding-title {
    font-size: 56px;
  }
}

@media (max-width: 991px) {
  .hotels-page .hotel-hero {
    padding-top: 100px;
    min-height: auto;
    padding-bottom: 50px;
  }

  .hotels-page .hotel-intro,
  .hotel-revenue-section,
  .hotel-benefits-section,
  .hotel-pricing-band,
  .hotel-process-section,
  .hotel-founding-section,
  .hotel-expansion-section,
  .hotel-cta-section {
    padding: 80px 0;
  }

  .hotel-section-title {
    font-size: 34px;
  }

  .hotel-process-title,
  .hotel-founding-title {
    font-size: 34px;
  }

  .hotel-process-line {
    display: none;
  }

  .hotel-step {
    max-width: none;
  }

  .hotel-band-quote {
    margin-top: 12px;
  }

  .hotel-process-section .col-6 {
    margin-bottom: 30px;
  }

  .display-heading,
  .hotel-cta-section .cta-title {
    font-size: 34px;
  }
}

@media (max-width: 767px) {
  .hotels-page .hotel-hero {
    padding-top: 0;
    padding-bottom: 15px;
    height: auto;
    min-height: calc(100vh - 80px);
    display: flex;
    align-items: center;
    padding: 20px 0 50px;
  }

  .hotel-section-head {
    margin-bottom: 32px;
  }

  .hotel-section-title {
    font-size: 34px;
  }

  .hotel-feature-card,
  .hotel-benefit-card,
  .hotel-band-quote {
    padding: 24px 20px;
  }

  .hotel-process-title,
  .hotel-founding-title {
    font-size: 34px;
  }

  .hotel-step-badge {
    width: 52px;
    height: 52px;
    font-size: 26px;
  }

  .hotel-gold-btn {
    display: inline-block;
    width: 100%;
    max-width: 320px;
    font-size: 16px;
  }

  .hotel-map-frame {
    border-radius: 18px;
  }
  .plan-hero {
    min-height: 450px !important;
    padding-bottom: 70px;
  }
}

/* ================================
   Marinas Page CSS
   Scoped to marinas.html only
================================ */
.marinas-page {
  background-color: #f7f9fa;
}

.marinas-page .pageContent {
  background-color: #f7f9fa;
}

.marinas-page .marina-hero {
  min-height: 540px;
  display: flex;
  align-items: center;
  height: calc(100vh - 80px);
  padding: 50px 0;
}

.marinas-page .marina-hero .text-center {
  text-align: left !important;
}

.marinas-page .marina-hero .heroContent h1 span,
.marina-intro .display-heading em,
.marina-support-section .hotel-section-title span,
.marina-benefits-section .hotel-section-title span {
  color: #c47a4a;
}

.marinas-page .marina-hero .heroBtn {
  justify-content: flex-start;
}

.marinas-page .marina-hero .heroContent {
  float: left;
  margin-left: 0;
}

.marinas-page .marina-hero::before,
.marinas-page .marina-founding-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(10, 15, 20, 0.56) 0%, rgba(18, 52, 71, 0.78) 100%);
}

.marinas-page .marina-hero .heroContent,
.marinas-page .marina-founding-section .container {
  position: relative;
  z-index: 1;
}

.marinas-page .marina-hero .green-text {
  background: #c47a4a;
  color: #ffffff;
  padding-left: 20px;
}

.marinas-page .marina-hero .green-text:before {
  display: none;
}

.marinas-page .marina-hero .heroText p {
  max-width: 660px;
}

.themeBtnOne.copper {
  background-color: #c47a4a;
  transition: all ease 0.4s !important;
}

.themeBtnOne.copper:hover {
  background-color: #6f3e20;
}

.themeBtnOne.copper-outline {
  background-color: #fff;
  color: #c47a4a;
  border: 1px solid #c47a4a;
}

.themeBtnOne.copper-outline:hover {
  background-color: #a76236 !important;
  color: #fff;
}

.marinas-page .themeBtnOne.navy {
  background-color: #123447;
}

.marinas-page .themeBtnOne.navy:hover {
  background-color: #0d2632;
}

.marina-button-row {
  flex-wrap: wrap;
}

.marinas-page .marina-intro,
.marinas-page .marina-benefits-section,
.marinas-page .marina-process-section,
.marinas-page .marina-expansion-section {
  background-color: #f7f9fa;
}

.marinas-page .marina-intro {
  padding-top: 110px;
  padding-bottom: 110px;
}

.marinas-page .marina-intro .eyebrow,
.marinas-page .marina-benefits-section .eyebrow,
.marinas-page .marina-perks-section .eyebrow,
.marinas-page .marina-process-section .eyebrow,
.marinas-page .marina-expansion-section .eyebrow,
.marinas-page .marina-cta-section .eyebrow {
  color: #c47a4a;
}

.marina-intro-visual {
  margin-top: 70px;
}

.marina-photo-card,
.marina-side-visual {
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 45px rgba(18, 52, 71, 0.18);
}

.marina-photo-card img,
.marina-side-visual img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
}

.marina-mini-card {
  height: 100%;
  background: #ffffff;
  border: 1px solid rgba(18, 52, 71, 0.1);
  border-radius: 18px;
  padding: 28px 24px;
  box-shadow: 0 16px 35px rgba(14, 31, 53, 0.08);
}

.marina-mini-card i {
  font-size: 24px;
  color: #1f3a32;
  margin-bottom: 20px;
}

.marina-mini-card h3 {
  font-family: "Urbanist", sans-serif;
  font-size: 23px;
  line-height: 1.2;
  color: #123447;
  margin-bottom: 8px;
}

.marina-mini-card p {
  color: #557086;
  margin-bottom: 0;
}

.marina-support-section,
.marina-requirements-section {
  background: #1b2730;
  padding: 110px 0 120px;
}

.marina-support-section .eyebrow,
.marina-requirements-section .eyebrow {
  color: #c47a4a;
}

.marina-feature-card {
  background: #22323e;
  border: 1px solid rgba(196, 122, 74, 0.18);
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(6, 12, 24, 0.2);
  height: 100%;
  padding: 40px 30px;
}

.marina-feature-icon {
  width: 60px;
  height: 60px;
  border-radius: 16px;
  background: rgba(196, 122, 74, 0.14);
  color: #c47a4a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 26px;
  box-shadow: 0 0 30px rgba(196, 122, 74, 0.08);
}

.marina-feature-card h3 {
  font-family: "Urbanist", sans-serif;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 8px;
}

.marina-feature-card p {
  color: #e6eaec;
  margin-bottom: 0;
}

.marina-benefits-section {
  padding: 110px 0 120px;
}

.marina-benefit-card {
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(18, 29, 51, 0.1);
  padding: 30px 28px;
  height: 100%;
  border-top: 3px solid #c47a4a;
}

.marina-benefit-card h3 {
  font-family: "Urbanist", sans-serif;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600;
  color: #123447;
  margin-bottom: 8px;
}

.marina-benefit-card p {
  color: #557086;
  margin-bottom: 0;
}

.marina-perks-section {
  background: #1b2730;
  padding: 110px 0 120px;
}

.marina-perks-section .hotel-section-title span {
  color: #c47a4a;
}

.marina-perks-copy {
  max-width: 540px;
  margin-top: 24px;
  color: rgba(230, 234, 236, 0.9);
}

.marina-perk-card {
  height: 100%;
  background: #22323e;
  border-radius: 18px;
  padding: 28px 24px;
  border: 1px solid rgba(196, 122, 74, 0.16);
  box-shadow: 0 14px 34px rgba(6, 12, 24, 0.16);
}

.marina-perk-card.featured {
  background: linear-gradient(135deg, #2a3c47 0%, #304651 100%);
}

.marina-perk-card i {
  color: #c47a4a;
  font-size: 24px;
  margin-bottom: 18px;
}

.marina-perk-card h3 {
  font-family: "Urbanist", sans-serif;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0;
}

.marina-band-copy {
  color: rgba(230, 234, 236, 0.92);
  max-width: 620px;
  margin-top: 28px;
}

.marina-checklist {
  list-style: none;
  padding-left: 0;
  margin: 32px 0 0;
}

.marina-checklist li {
  position: relative;
  padding-left: 36px;
  color: #e6eaec;
  font-size: 16px;
  line-height: 1.6;
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid rgba(196, 122, 74, 0.2);
}

.marina-checklist li:last-child {
  margin-bottom: 0;
}

.marina-checklist li::before {
  content: '\f058';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 2px;
  color: #c47a4a;
}

.marina-application-check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

.marina-application-check {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(18, 52, 71, 0.14);
  background: #ffffff;
}

.marina-application-check input {
  flex: 0 0 auto;
}

.marina-process-section {
  padding: 110px 0 120px;
}

.marina-process-section .hotel-process-title {
  color: #123447;
}

.marina-process-section .hotel-process-title span {
  color: #c47a4a;
}

.marina-process-line {
  border-top-color: #d9c7b3;
}

.marina-step-badge {
  background: #123447;
  color: #c47a4a;
  box-shadow: 0 0 0 1px #d9c7b3;
}

.marina-process-section .hotel-step h3 {
  color: #123447;
}

.marina-process-section .hotel-step p {
  color: #557086;
}

.marina-founding-section {
  position: relative;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 120px 0;
  overflow: hidden;
  background-attachment: fixed;
}

.marina-founding-section .eyebrow {
  color: #c47a4a;
}

.marina-founding-section .hotel-founding-title span {
  color: #c47a4a;
}

.marina-expansion-section {
  padding: 110px 0 120px;
}

.marina-expansion-section .display-heading em,
.marina-cta-section .cta-title span {
  color: #c47a4a;
}

.marina-expansion-section .intro-text,
.marina-expansion-section .display-heading {
  color: #123447;
}

.marina-cta-section {
  background: #111C32;
  padding-top: 110px;
  padding-bottom: 90px;
}

.marina-cta-section .cta-title,
.marina-cta-section .cta-subtitle {
  color: #ffffff;
}

.marina-cta-section .cta-subtitle {
  max-width: 760px;
  margin: 0 auto;
  color: rgba(230, 234, 236, 0.9);
}

@media (max-width: 991px) {
  .marinas-page .marina-hero {
    padding-top: 100px;
    min-height: auto;
    padding-bottom: 50px;
  }

  .marinas-page .marina-intro,
  .marina-support-section,
  .marina-benefits-section,
  .marina-perks-section,
  .marina-requirements-section,
  .marina-process-section,
  .marina-founding-section,
  .marina-expansion-section,
  .marina-cta-section {
    padding: 80px 0;
  }

  .marina-photo-card img,
  .marina-side-visual img {
    max-height: 340px;
  }
}

@media (max-width: 767px) {
  .marinas-page .marina-hero {
    padding-top: 0;
    padding-bottom: 15px;
    height: auto;
    min-height: calc(100vh - 80px);
    display: flex;
    align-items: center;
    padding: 20px 0 50px;
  }

  .marina-intro-visual {
    margin-top: 48px;
  }

  .marina-photo-card,
  .marina-side-visual {
    border-radius: 18px;
  }

  .marina-mini-card,
  .marina-feature-card,
  .marina-benefit-card,
  .marina-perk-card {
    padding: 24px 20px;
  }

  .marina-application-check-grid {
    grid-template-columns: 1fr;
  }

  .marina-button-row .themeBtnOne {
    width: 100%;
    text-align: center;
  }
}

/* ================================
   Restaurants Page CSS
   Scoped to restaurants.html only
================================ */
.restaurants-page {
  background-color: #f7f9fa;
}

.restaurants-page .pageContent {
  background-color: #f7f9fa;
}

.restaurants-page .restaurant-hero {
  min-height: 540px;
  display: flex;
  align-items: center;
  height: calc(100vh - 80px);
  padding: 50px 0;
}

.restaurants-page .restaurant-hero .text-center {
  text-align: left !important;
}

.restaurants-page .restaurant-hero .heroBtn {
  justify-content: flex-start;
}

.restaurants-page .restaurant-hero .heroContent {
  float: left;
  margin-left: 0;
}

.restaurants-page .restaurant-hero::before,
.restaurants-page .restaurant-cta-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 15, 20, 0.58) 0%, rgba(27, 39, 48, 0.78) 100%);
}

.restaurants-page .restaurant-hero .heroContent,
.restaurants-page .restaurant-cta-section .container {
  position: relative;
  z-index: 1;
}

.restaurants-page .restaurant-hero .green-text {
  background: #c47a4a;
  color: #ffffff;
  padding-left: 20px;
}

.restaurants-page .restaurant-hero .green-text:before {
  display: none;
}

.restaurants-page .restaurant-hero .heroText p {
  max-width: 670px;
  line-height: 1.55;
}

.restaurants-page .restaurant-hero .heroContent h1 span,
.restaurant-intro .display-heading em,
.restaurant-partnership-section .hotel-section-title span,
.restaurant-benefits-section .hotel-section-title span,
.restaurant-perks-section .hotel-section-title span,
.restaurant-regions-section .display-heading em,
.restaurant-cta-section .cta-title span {
  color: #e8a15a;
}

.restaurant-button-row {
  flex-wrap: wrap;
}

.restaurants-page .themeBtnOne.ember {
  background-color: #c47a4a;
}

.restaurants-page .themeBtnOne.ember:hover {
  background-color: #e8a15a;
}

.themeBtnOne.ember-outline {
  background: #fff;
  border: 1px solid #c47a4a;
  color: #c47a4a;
}

.themeBtnOne.ember-outline:hover {
  background-color: #c47a4a;
  color: #ffffff;
}

.restaurants-page .restaurant-intro,
.restaurants-page .restaurant-destinations-section,
.restaurants-page .restaurant-benefits-section,
.restaurants-page .restaurant-regions-section {
  background-color: #f7f9fa;
}

.restaurants-page .restaurant-intro {
  padding-top: 110px;
  padding-bottom: 110px;
}

.restaurants-page .restaurant-intro .eyebrow,
.restaurants-page .restaurant-destinations-section .eyebrow,
.restaurants-page .restaurant-benefits-section .eyebrow,
.restaurants-page .restaurant-regions-section .eyebrow,
.restaurants-page .restaurant-cta-section .eyebrow {
  color: #c47a4a;
}

.restaurant-value-grid {
  margin-top: 60px;
}

.restaurant-value-card {
  height: 100%;
  background: #ffffff;
  border: 1px solid rgba(31, 58, 50, 0.12);
  border-radius: 20px;
  padding: 34px 26px;
  box-shadow: 0 18px 42px rgba(16, 28, 37, 0.08);
}

.restaurant-value-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(31, 58, 50, 0.09);
  color: #1f3a32;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 24px;
}

.restaurant-value-card h3,
.restaurant-step-card h3,
.restaurant-benefit-card h3,
.restaurant-perk-card h3 {
  font-family: "Urbanist", sans-serif;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 8px;
}

.restaurant-value-card h3,
.restaurant-benefit-card h3 {
  color: #123447;
}

.restaurant-value-card p,
.restaurant-benefit-card p,
.restaurant-feature-point p {
  color: #557086;
  margin-bottom: 0;
  line-height: 1.65;
}

.restaurant-partnership-section,
.restaurant-perks-section {
  background: #1b2730;
  padding: 110px 0 120px;
}

.restaurant-partnership-section .eyebrow,
.restaurant-perks-section .eyebrow {
  color: #c47a4a;
}

.restaurant-insight-box {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(196, 122, 74, 0.55);
  border-radius: 16px;
  padding: 26px 24px;
}

.restaurant-insight-label {
  color: #e8a15a;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 10px;
}

.restaurant-insight-box p:last-child,
.restaurant-step-card p,
.restaurant-perks-copy {
  color: #e6eaec;
  margin-bottom: 0;
  line-height: 1.65;
}

.restaurant-step-card {
  height: 100%;
  background: #22323e;
  border: 1px solid rgba(196, 122, 74, 0.18);
  border-radius: 18px;
  padding: 40px 30px;
  box-shadow: 0 18px 45px rgba(6, 12, 24, 0.2);
}

.restaurant-step-icon {
  width: 60px;
  height: 60px;
  border-radius: 18px;
  background: rgba(232, 161, 90, 0.12);
  color: #e8a15a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 24px;
}

.restaurant-step-card h3,
.restaurant-perk-card h3 {
  color: #ffffff;
}

.restaurant-benefits-section {
  border-top: 1px solid rgba(196, 122, 74, 0.18);
}

.restaurant-destinations-section,
.restaurant-benefits-section,
.restaurant-regions-section {
  padding: 110px 0 120px;
}

.restaurant-photo-panel {
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 20px 45px rgba(18, 52, 71, 0.16);
}

.restaurant-photo-panel img {
  width: 100%;
  min-height: 480px;
  object-fit: cover;
}

.restaurant-feature-points {
  margin-top: 32px;
}

.restaurant-feature-point {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(196, 122, 74, 0.18);
}

.restaurant-feature-point:last-child {
  margin-bottom: 0;
}

.restaurant-feature-point i {
  color: #1f3a32;
  font-size: 18px;
  margin-top: 6px;
}

.restaurant-benefit-card {
  height: 100%;
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(18, 29, 51, 0.1);
  padding: 30px 28px;
  border-top: 3px solid #c47a4a;
}

.restaurant-perks-copy {
  max-width: 520px;
  margin-top: 24px;
}

.restaurant-perk-card {
  height: 100%;
  background: #233542;
  border-radius: 18px;
  padding: 28px 24px;
  border: 1px solid rgba(232, 161, 90, 0.16);
  box-shadow: 0 14px 34px rgba(6, 12, 24, 0.16);
}

.restaurant-perk-card.featured {
  background: linear-gradient(135deg, #2a3e4d 0%, #334956 100%);
}

.restaurant-perk-card i {
  color: #e8a15a;
  font-size: 24px;
  margin-bottom: 18px;
}

.restaurant-region-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.restaurant-region-tags span {
  display: inline-flex;
  align-items: center;
  padding: 10px 18px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(196, 122, 74, 0.3);
  color: #123447;
  font-size: 15px;
  font-weight: 500;
}

.restaurant-cta-section {
  position: relative;
  background: #0a0f14;
  padding-top: 110px;
  padding-bottom: 90px;
}

.restaurant-cta-section .cta-title,
.restaurant-cta-section .cta-subtitle {
  color: #ffffff;
}

.restaurant-cta-section .cta-subtitle {
  max-width: 780px;
  margin: 0 auto;
  color: rgba(230, 234, 236, 0.9);
  line-height: 1.65;
}

@media (max-width: 991px) {
  .restaurants-page .restaurant-hero {
    padding-top: 100px;
    min-height: auto;
    padding-bottom: 50px;
  }

  .restaurants-page .restaurant-intro,
  .restaurant-partnership-section,
  .restaurant-destinations-section,
  .restaurant-benefits-section,
  .restaurant-perks-section,
  .restaurant-regions-section,
  .restaurant-cta-section {
    padding: 80px 0;
  }

  .restaurant-photo-panel img {
    min-height: 360px;
  }
}

@media (max-width: 767px) {
  .restaurants-page .restaurant-hero {
    padding-top: 0;
    padding-bottom: 15px;
    height: auto;
    min-height: calc(100vh - 80px);
    display: flex;
    align-items: center;
    padding: 20px 0 50px;
  }

  .restaurant-value-card,
  .restaurant-step-card,
  .restaurant-benefit-card,
  .restaurant-perk-card {
    padding: 24px 20px;
  }

  .restaurant-photo-panel {
    border-radius: 18px;
  }

  .restaurant-button-row .themeBtnOne {
    width: 100%;
    text-align: center;
  }

  .hotel-section-head h2 br {
    display: none;
  }

  .marina-support-section .hotel-section-head h2 span {
    margin-right: 6px;
  }
}

/* ================================
   Advertising Page CSS
   Scoped to advertising.html only
================================ */
.advertising-page {
  background-color: #f7f9fa;
}

.advertising-page .pageContent {
  background-color: #f7f9fa;
}

.advertising-page .advertising-hero {
  min-height: 540px;
  display: flex;
  align-items: center;
  height: calc(100vh - 80px);
  padding: 50px 0;
}

.advertising-page .advertising-hero .text-center {
  text-align: left !important;
}

.advertising-page .advertising-hero .heroBtn {
  justify-content: flex-start;
}

.advertising-page .advertising-hero .heroContent {
  float: left;
  margin-left: 0;
}

.advertising-page .advertising-hero::before,
.advertising-page .advertising-cta-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 15, 20, 0.62) 0%, rgba(27, 39, 48, 0.8) 100%);
}

.advertising-page .advertising-hero .heroContent,
.advertising-page .advertising-cta-section .container {
  position: relative;
  z-index: 1;
}

.advertising-page .advertising-hero .green-text {
  background: #c47a4a;
  color: #ffffff;
  padding-left: 20px;
}

.advertising-page .advertising-hero .green-text:before {
  display: none;
}

.advertising-page .advertising-hero .heroContent h1 span,
.advertising-why-section .hotel-section-title span,
.advertising-audience-section .hotel-section-title span,
.advertising-placements-section .hotel-section-title span,
.advertising-categories-section .display-heading em,
.advertising-membership-section .hotel-section-title span,
.advertising-standards-section .hotel-section-title span,
.advertising-workflow-section .hotel-process-title span,
.advertising-cta-section .cta-title span {
  color: #c47a4a;
}

.advertising-page .advertising-hero .heroText p {
  max-width: 680px;
  line-height: 1.55;
}

.advertising-button-row {
  flex-wrap: wrap;
}

.advertising-page .themeBtnOne.ember {
  background-color: #c47a4a;
}

.advertising-page .themeBtnOne.ember:hover {
  background-color: #a76236;
}

.advertising-page .themeBtnOne.ember-outline {
  background: transparent;
  border: 1px solid #c47a4a;
  color: #ffffff;
}

.advertising-page .themeBtnOne.ember-outline:hover {
  background-color: #c47a4a;
  color: #ffffff;
}

.advertising-why-section,
.advertising-placements-section,
.advertising-membership-section {
  background: #1b2730;
  padding: 110px 0 120px;
}

.advertising-standards-section {
  background: #0a0f14;
  padding: 110px 0 120px;
  position: relative;
}

.advertising-standards-section::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(14, 24, 40, 0.9);
}

.advertising-standards-section .container {
  position: relative;
  z-index: 1;
}

.advertising-audience-section,
.advertising-categories-section,
.advertising-workflow-section {
  background: #f7f9fa;
  padding: 110px 0 120px;
}

.advertising-why-section .eyebrow,
.advertising-placements-section .eyebrow,
.advertising-membership-section .eyebrow,
.advertising-standards-section .eyebrow,
.advertising-cta-section .eyebrow {
  color: #c47a4a;
}

.advertising-audience-section .eyebrow,
.advertising-categories-section .eyebrow,
.advertising-workflow-section .eyebrow {
  color: #c47a4a;
}

.advertising-dark-copy {
  color: rgba(230, 234, 236, 0.9);
  line-height: 1.7;
  max-width: 740px;
  margin-top: 24px;
}

.advertising-value-list {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(196, 122, 74, 0.2);
  border-radius: 20px;
  padding: 14px 30px;
}

.advertising-value-row {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  padding: 24px 0;
  border-bottom: 1px solid rgba(196, 122, 74, 0.18);
}

.advertising-value-row:last-child {
  border-bottom: 0;
}

.advertising-value-row i {
  color: #c47a4a;
  font-size: 20px;
  margin-top: 4px;
}

.advertising-value-row p {
  color: #e6eaec;
  margin-bottom: 0;
  line-height: 1.55;
}

.advertising-trait-card,
.advertising-placement-card,
.advertising-member-card {
  height: 100%;
  border-radius: 18px;
}

.advertising-trait-card {
  background: #ffffff;
  border: 1px solid rgba(31, 58, 50, 0.12);
  box-shadow: 0 16px 40px rgba(18, 29, 51, 0.08);
  padding: 30px 24px;
}

.advertising-trait-card i {
  color: #1f3a32;
  font-size: 24px;
  margin-bottom: 20px;
}

.advertising-trait-card h3,
.advertising-placement-card h3,
.advertising-member-card h3,
.advertising-category-list span {
  font-family: "Urbanist", sans-serif;
  font-size: 23px;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 8px;
}

.advertising-trait-card h3,
.advertising-category-list span {
  color: #123447;
}

.advertising-trait-card p,
.advertising-category-list p {
  color: #557086;
  margin-bottom: 0;
  line-height: 1.6;
}

.advertising-placement-card {
  position: relative;
  overflow: hidden;
  background: #22323e;
  border: 1px solid rgba(196, 122, 74, 0.18);
  padding: 34px 28px;
  box-shadow: 0 18px 45px rgba(6, 12, 24, 0.2);
}

.advertising-placement-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: #c47a4a;
}

.advertising-placement-card h3,
.advertising-member-card h3 {
  color: #ffffff;
}

.advertising-placement-card p {
  color: #e6eaec;
  line-height: 1.6;
  margin-bottom: 0;
}

.advertising-category-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 36px;
  background: #ffffff;
  border-radius: 22px;
  box-shadow: 0 18px 42px rgba(16, 28, 37, 0.08);
  padding: 10px 34px;
}

.advertising-category-list div {
  position: relative;
  padding: 28px 0 28px 42px;
  border-bottom: 1px solid rgba(196, 122, 74, 0.18);
}

.advertising-category-list div:nth-last-child(-n+2) {
  border-bottom: 0;
}

.advertising-category-list i {
  position: absolute;
  left: 0;
  top: 32px;
  color: #1f3a32;
  font-size: 20px;
}

.advertising-category-list span {
  display: block;
}

.advertising-member-card {
  background: #22323e;
  border: 1px solid rgba(196, 122, 74, 0.18);
  padding: 34px 26px;
  box-shadow: 0 18px 45px rgba(6, 12, 24, 0.18);
}

.advertising-member-card i {
  width: 58px;
  height: 58px;
  border-radius: 16px;
  background: rgba(196, 122, 74, 0.14);
  color: #c47a4a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 24px;
}

.advertising-checklist {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.advertising-checklist li {
  position: relative;
  padding: 0 0 22px 38px;
  margin-bottom: 22px;
  color: #e6eaec;
  line-height: 1.6;
  border-bottom: 1px solid rgba(196, 122, 74, 0.22);
}

.advertising-checklist li:last-child {
  margin-bottom: 0;
}

.advertising-checklist li::before {
  content: '\f058';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 1px;
  color: #c47a4a;
}

.advertising-workflow-section .hotel-process-title {
  color: #123447;
}

.advertising-workflow-section .hotel-step h3 {
  color: #123447;
}

.advertising-workflow-section .hotel-step p {
  color: #557086;
}

.advertising-process-line {
  border-top-color: #d9c7b3;
}

.advertising-step-badge {
  background: #123447;
  color: #c47a4a;
  box-shadow: 0 0 0 1px #d9c7b3;
}

.advertising-cta-section {
  position: relative;
  background: #0a0f14;
  padding-top: 110px;
  padding-bottom: 90px;
}

.advertising-cta-section .cta-title,
.advertising-cta-section .cta-subtitle {
  color: #ffffff;
}

.advertising-cta-section .cta-subtitle {
  max-width: 760px;
  margin: 0 auto;
  color: rgba(230, 234, 236, 0.9);
}

.lake-events-section h2.display-heading {
  margin-bottom: 35px;
}

.contact-phone-note a {
  white-space: nowrap;
}








@media (max-width: 991px) {
  .advertising-page .advertising-hero {
    padding-top: 100px;
    min-height: auto;
    padding-bottom: 50px;
  }

  .advertising-why-section,
  .advertising-audience-section,
  .advertising-placements-section,
  .advertising-categories-section,
  .advertising-membership-section,
  .advertising-standards-section,
  .advertising-workflow-section,
  .advertising-cta-section {
    padding: 80px 0;
  }

  .advertising-category-list {
    grid-template-columns: 1fr;
  }

  .advertising-category-list div:nth-last-child(-n+2) {
    border-bottom: 1px solid rgba(196, 122, 74, 0.18);
  }

  .advertising-category-list div:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 767px) {
  .advertising-page .advertising-hero {
    padding-top: 0;
    padding-bottom: 15px;
    height: auto;
    min-height: calc(100vh - 80px);
    display: flex;
    align-items: center;
    padding: 20px 0 50px;
  }

  .advertising-trait-card,
  .advertising-placement-card,
  .advertising-member-card {
    padding: 24px 20px;
  }

  .advertising-category-list {
    padding: 6px 24px;
  }

  .advertising-button-row .themeBtnOne {
    width: 100%;
    text-align: center;
  }

  .lake-events-section h2.display-heading {
    margin-bottom: 0;
  }
}

/* ================================
   Campgrounds Page CSS
   Scoped to campgrounds.html only
================================ */
.campgrounds-page {
  background-color: #f7f9fa;
}

.campgrounds-page .pageContent {
  background-color: #f7f9fa;
}

.campgrounds-page .campground-hero {
  min-height: 540px;
  display: flex;
  align-items: center;
  height: calc(100vh - 80px);
  padding: 50px 0;
}

.campgrounds-page .campground-hero .text-center {
  text-align: left !important;
}

.campgrounds-page .campground-hero .heroBtn {
  justify-content: flex-start;
}

.campgrounds-page .campground-hero .heroContent {
  float: left;
  margin-left: 0;
}

.campgrounds-page .campground-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 15, 20, 0.7) 0%, rgba(31, 58, 50, 0.9) 100%);
}

.campgrounds-page .campground-hero .heroContent,
.campgrounds-page .campground-cta-section .container {
  position: relative;
  z-index: 1;
}

.campgrounds-page .campground-hero .green-text {
  background: #c47a4a;
  color: #ffffff;
  padding-left: 20px;
}

.campgrounds-page .campground-hero .green-text:before {
  display: none;
}

.campgrounds-page .campground-hero .heroText p {
  max-width: 700px;
  margin: auto;
  line-height: 1.55;
}

.campgrounds-page .campground-hero .heroContent h1 span,
.campground-intro .display-heading em,
.campground-partnership-section .hotel-section-title span,
.campground-destinations-section .display-heading em,
.campground-benefits-section .hotel-section-title span,
.campground-perks-section .hotel-section-title span,
.campground-regions-section .display-heading em,
.campground-cta-section .cta-title span {
  color: #c47a4a;
}

.campground-benefits-section {
  border-top: 1px solid rgba(138, 127, 115, 0.24);
}

.campground-button-row {
  flex-wrap: wrap;
}

.campgrounds-page .themeBtnOne.ember {
  background-color: #c47a4a;
}

.campgrounds-page .themeBtnOne.ember:hover {
  background-color: #a76236;
}

.campgrounds-page .themeBtnOne.ember-outline {
  background: transparent;
  border: 1px solid #c47a4a;
  color: #ffffff;
}

.campgrounds-page .themeBtnOne.ember-outline:hover {
  background-color: #c47a4a;
  color: #ffffff;
}

.campground-intro,
.campground-destinations-section,
.campground-benefits-section,
.campground-regions-section {
  background: #f7f9fa;
  padding-top: 110px;
  padding-bottom: 120px;
}

.campground-intro .eyebrow,
.campground-destinations-section .eyebrow,
.campground-benefits-section .eyebrow,
.campground-regions-section .eyebrow,
.campground-cta-section .eyebrow {
  color: #c47a4a;
}

.campground-value-grid {
  margin-top: 60px;
}

.campground-value-card,
.campground-benefit-card {
  height: 100%;
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 18px 42px rgba(16, 28, 37, 0.08);
}

.campground-value-card {
  border: 1px solid rgba(138, 127, 115, 0.22);
  padding: 34px 26px;
}

.campground-value-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(60, 90, 62, 0.1);
  color: #3c5a3e;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 24px;
}

.campground-value-card h3,
.campground-step-card h3,
.campground-benefit-card h3,
.campground-perk-card h3 {
  font-family: "Urbanist", sans-serif;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 8px;
}

.campground-value-card h3,
.campground-benefit-card h3 {
  color: #1f3a32;
}

.campground-value-card p,
.campground-benefit-card p,
.campground-feature-point p {
  color: #557086;
  margin-bottom: 0;
  line-height: 1.65;
}

.campground-partnership-section,
.campground-perks-section {
  background: #1f3a32;
  padding: 110px 0 120px;
}

.campground-partnership-section .eyebrow,
.campground-perks-section .eyebrow {
  color: #c47a4a;
}

.campground-insight-box {
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(196, 122, 74, 0.55);
  border-radius: 18px;
  padding: 26px 24px;
}

.campground-insight-label {
  color: #c47a4a;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 10px;
}

.campground-insight-box p:last-child,
.campground-step-card p,
.campground-perks-copy {
  color: #e6eaec;
  margin-bottom: 0;
  line-height: 1.65;
}

.campground-step-card {
  height: 100%;
  background: #27473d;
  border: 1px solid rgba(196, 122, 74, 0.18);
  border-radius: 20px;
  padding: 40px 30px;
  box-shadow: 0 18px 45px rgba(6, 12, 24, 0.2);
}

.campground-step-icon {
  width: 60px;
  height: 60px;
  border-radius: 18px;
  background: rgba(196, 122, 74, 0.14);
  color: #c47a4a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 24px;
}

.campground-step-card h3,
.campground-perk-card h3 {
  color: #ffffff;
}

.campground-photo-panel {
  overflow: hidden;
  border-radius: 26px;
  box-shadow: 0 20px 45px rgba(18, 52, 71, 0.16);
}

.campground-photo-panel img {
  width: 100%;
  min-height: 480px;
  object-fit: cover;
}

.campground-feature-points {
  margin-top: 32px;
}

.campground-feature-point {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(138, 127, 115, 0.24);
}

.campground-feature-point:last-child {
  margin-bottom: 0;
}

.campground-feature-point i {
  color: #3c5a3e;
  font-size: 18px;
  margin-top: 6px;
}

.campground-benefit-card {
  border-top: 4px solid #c47a4a;
  padding: 30px 28px;
}

.campground-perks-copy {
  max-width: 520px;
  margin-top: 24px;
}

.campground-perk-card {
  height: 100%;
  background: #27473d;
  border-radius: 20px;
  padding: 28px 24px;
  border: 1px solid rgba(196, 122, 74, 0.16);
  box-shadow: 0 14px 34px rgba(6, 12, 24, 0.16);
}

.campground-perk-card i {
  color: #c47a4a;
  font-size: 24px;
  margin-bottom: 18px;
}

.campground-region-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.campground-region-tags span {
  display: inline-flex;
  align-items: center;
  padding: 10px 18px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(196, 122, 74, 0.3);
  color: #1f3a32;
  font-size: 15px;
  font-weight: 500;
}

.campground-cta-section {
  position: relative;
  background: #1f3a32;
  padding-top: 110px;
  padding-bottom: 90px;
}

.campground-cta-section .cta-title,
.campground-cta-section .cta-subtitle {
  color: #ffffff;
}

.campground-cta-section .cta-subtitle {
  max-width: 780px;
  margin: 0 auto;
  color: rgba(230, 234, 236, 0.9);
  line-height: 1.65;
}

@media (max-width: 991px) {
  .campgrounds-page .campground-hero {
    padding-top: 100px;
    min-height: auto;
    padding-bottom: 50px;
  }

  .campground-intro,
  .campground-partnership-section,
  .campground-destinations-section,
  .campground-benefits-section,
  .campground-perks-section,
  .campground-regions-section,
  .campground-cta-section {
    padding: 80px 0;
  }

  .campground-photo-panel img {
    min-height: 360px;
  }
}

@media (max-width: 767px) {
  .campgrounds-page .campground-hero {
    padding-top: 0;
    padding-bottom: 15px;
    height: auto;
    min-height: calc(100vh - 80px);
    display: flex;
    align-items: center;
    padding: 20px 0 50px;
  }

  .campground-value-card,
  .campground-step-card,
  .campground-benefit-card,
  .campground-perk-card {
    padding: 24px 20px;
  }

  .campground-photo-panel {
    border-radius: 18px;
  }

  .campground-button-row .themeBtnOne {
    width: 100%;
    text-align: center;
  }
}

/* ================================
   Travelers Page CSS
   Scoped to travelers.html only
================================ */
.travelers-page {
  background-color: #f7f9fa;
}

.travelers-page .pageContent {
  background-color: #f7f9fa;
}

.travelers-page .travelers-hero {
  min-height: 540px;
  display: flex;
  align-items: center;
  height: calc(100vh - 80px);
  padding: 50px 0;
}

.travelers-page .travelers-hero .text-center {
  text-align: left !important;
}

.travelers-page .travelers-hero .heroBtn {
  justify-content: flex-start;
}

.travelers-page .travelers-hero .heroContent {
  float: left;
  margin-left: 0;
}

.travelers-page .travelers-hero::before,
.travelers-page .travelers-founding-section::before,
.travelers-page .travelers-cta-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 15, 20, 0.58) 0%, rgba(27, 39, 48, 0.82) 100%);
}

.travelers-page .travelers-hero .heroContent,
.travelers-page .travelers-founding-section .container,
.travelers-page .travelers-cta-section .container {
  position: relative;
  z-index: 1;
}

.travelers-page .travelers-hero .green-text {
  background: #c47a4a;
  color: #ffffff;
  padding-left: 20px;
}

.travelers-page .travelers-hero .green-text:before {
  display: none;
}

.travelers-page .travelers-hero .heroText p {
  max-width: 700px;
  line-height: 1.6;
}

.travelers-page .travelers-hero .heroContent h1 span,
.travelers-intro .display-heading em,
.travelers-benefits-section .hotel-section-title span,
.travelers-mechanics-section .hotel-section-title span,
.travelers-seasons-section .hotel-section-title span,
.travelers-pricing-section .display-heading em,
.travelers-regions-section .display-heading em,
.travelers-cta-section .cta-title span,
.travelers-founding-section .hotel-founding-title span {
  color: #c47a4a;
}

.travelers-benefits-section {
  border-top: 1px solid rgba(138, 127, 115, 0.5);
}

.travelers-button-row {
  flex-wrap: wrap;
}

.travelers-page .themeBtnOne.ember {
  background-color: #c47a4a;
}

.travelers-page .themeBtnOne.ember:hover {
  background-color: #a76236;
}

.travelers-page .themeBtnOne.ember-outline {
  background: transparent;
  border: 1px solid #c47a4a;
  color: #ffffff;
}

.travelers-page .themeBtnOne.ember-outline:hover {
  background-color: #c47a4a;
  color: #ffffff;
}

.travelers-intro,
.travelers-benefits-section,
.travelers-seasons-section,
.travelers-pricing-section,
.travelers-regions-section {
  background: #f7f9fa;
  padding-top: 120px;
  padding-bottom: 130px;
}

.travelers-mechanics-section {
  background: #1b2730;
  padding: 120px 0 130px;
}

.travelers-founding-section {
  position: relative;
  background: url('../images/brand-banner.jpg') center center / cover no-repeat;
  padding: 120px 0;
  overflow: hidden;
  background-attachment: fixed;
}

.travelers-cta-section {
  position: relative;
  background: #0a0f14;
  padding-top: 110px;
  padding-bottom: 90px;
}

.travelers-intro .eyebrow,
.travelers-benefits-section .eyebrow,
.travelers-seasons-section .eyebrow,
.travelers-pricing-section .eyebrow,
.travelers-regions-section .eyebrow,
.travelers-founding-section .eyebrow,
.travelers-cta-section .eyebrow,
.travelers-mechanics-section .eyebrow {
  color: #c47a4a;
}

.travelers-benefit-card {
  height: 100%;
  background: #ffffff;
  border: 1px solid rgba(138, 127, 115, 0.18);
  border-radius: 20px;
  box-shadow: 0 16px 40px rgba(18, 29, 51, 0.08);
  padding: 30px 28px;
}

.travelers-benefit-icon {
  width: 54px;
  height: 54px;
  border-radius: 15px;
  background: rgba(31, 58, 50, 0.1);
  color: #1f3a32;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 20px;
}

.travelers-benefit-card h3,
.travelers-step-card h3,
.travelers-season-card h3,
.travelers-pricing-card h3 {
  font-family: "Urbanist", sans-serif;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 8px;
}

.travelers-benefit-card h3,
.travelers-season-card h3,
.travelers-pricing-card h3 {
  color: #123447;
}

.travelers-benefit-card p,
.travelers-season-card p,
.travelers-pricing-card p,
.travelers-season-note {
  color: #557086;
  margin-bottom: 0;
  line-height: 1.65;
}

.travelers-step-card {
  height: 100%;
  background: #22323e;
  border: 1px solid rgba(196, 122, 74, 0.18);
  border-radius: 20px;
  padding: 40px 30px;
  box-shadow: 0 18px 45px rgba(6, 12, 24, 0.2);
}

.travelers-step-icon {
  width: 60px;
  height: 60px;
  border-radius: 18px;
  background: rgba(196, 122, 74, 0.14);
  color: #c47a4a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 24px;
}

.travelers-step-card h3 {
  color: #ffffff;
}

.travelers-step-card p {
  color: #e6eaec;
  margin-bottom: 0;
  line-height: 1.65;
}

.travelers-season-card {
  height: 100%;
  background: #ffffff;
  border-radius: 22px;
  border: 1px solid rgba(216, 199, 161, 0.45);
  box-shadow: 0 18px 42px rgba(16, 28, 37, 0.08);
  padding: 0;
  overflow: hidden;
}

.travelers-season-card .img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-top-left-radius: 22px;
  border-top-right-radius: 22px;
}

.travelers-season-card .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.travelers-season-card .content {
  padding: 25px 25px;
}

.travelers-season-card.spring {
  background: linear-gradient(180deg, rgba(232, 245, 236, 0.8) 0%, #ffffff 100%);
}

.travelers-season-card.summer {
  background: linear-gradient(180deg, rgba(247, 235, 210, 0.78) 0%, #ffffff 100%);
}

.travelers-season-card.fall {
  background: linear-gradient(180deg, rgba(243, 225, 210, 0.8) 0%, #ffffff 100%);
}

.travelers-season-card.winter {
  background: linear-gradient(180deg, rgba(230, 236, 244, 0.85) 0%, #ffffff 100%);
}

.season-tag {
  display: inline-block;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(196, 122, 74, 0.12);
  color: #c47a4a;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 18px;
}

.travelers-season-note {
  max-width: 760px;
  margin: 32px auto 0;
  text-align: center;
}

.travelers-founding-section .hotel-founding-copy {
  max-width: 780px;
  margin: 0 auto 34px;
}

.travelers-pricing-card {
  background: #ffffff;
  border: 1px solid rgba(196, 122, 74, 0.24);
  border-radius: 22px;
  box-shadow: 0 18px 42px rgba(16, 28, 37, 0.08);
  padding: 42px 34px;
  text-align: center;
}

.pricing-label {
  color: #c47a4a;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 12px;
}

.travelers-cta-section .cta-title,
.travelers-cta-section .cta-subtitle {
  color: #ffffff;
}

.travelers-cta-section .cta-subtitle {
  max-width: 760px;
  margin: 0 auto;
  color: rgba(230, 234, 236, 0.9);
}

@media (max-width: 991px) {
  .travelers-page .travelers-hero {
    padding-top: 100px;
    min-height: auto;
    padding-bottom: 50px;
  }

  .travelers-intro,
  .travelers-benefits-section,
  .travelers-mechanics-section,
  .travelers-seasons-section,
  .travelers-founding-section,
  .travelers-pricing-section,
  .travelers-regions-section,
  .travelers-cta-section {
    padding: 80px 0;
  }
}

.travelers-pricing-section {
  border-bottom: 1px solid rgba(138, 127, 115, 0.5);
}

.pricing-card {
  height: 100%;
  background: #22323e;
  border: 1px solid rgba(196, 122, 74, 0.18);
  border-radius: 20px;
  padding: 40px 30px;
  box-shadow: 0 18px 45px rgba(6, 12, 24, 0.2);
}

.pricing-card p {
  font-size: 18px;
  color: #fff;
  text-align: center;
}

.plan-hero {
  min-height: 620px;
}
.plan-hero::before {
  content: '';
  background: rgba(10, 15, 20, 0.45);
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 15, 20, 0.76) 0%, rgba(27, 39, 48, 0.94) 100%);
}
.plan-hero h5 {
  margin: auto;
}
.plan-pricing-section {
  background: #f7f9fa;
  padding: 120px 0 130px;
  border-bottom: 1px solid rgba(138, 127, 115, 0.35);
}
.plan-pricing-section .hotel-section-head {
  margin: 0 auto 48px;
  text-align: center;
}
.plan-pricing-section .intro-text {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.plan-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: fit-content;
  margin: 0 auto 36px;
  padding: 6px;
  background: #ffffff;
  border: 1px solid rgba(196, 122, 74, 0.22);
  border-radius: 999px;
  box-shadow: 0 14px 32px rgba(16, 28, 37, 0.08);
}
.plan-toggle button {
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #123447;
  font-family: "Urbanist", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  min-width: 118px;
  padding: 14px 22px;
  transition: all 0.25s ease;
}
.plan-toggle button.active,
.plan-toggle button:hover,
.plan-toggle button:focus {
  background: #c47a4a;
  color: #ffffff;
}
.plan-card {
  height: 100%;
  background: #ffffff;
  border: 1px solid rgba(196, 122, 74, 0.2);
  border-radius: 20px;
  box-shadow: 0 18px 42px rgba(16, 28, 37, 0.08);
  padding: 38px 32px;
  transition: all 0.25s ease;
  display: flex;
  flex-direction: column;
}
/* Plans in a row are equal height but carry different numbers of feature
   bullets, so the shorter card (Basic) would otherwise leave its CTA floating
   mid-card. `margin-top: auto` drops every CTA to the bottom edge so they line
   up across the row; `align-self` keeps the button shrink-to-content rather
   than stretching to the full card width as a flex child would by default. */
.plan-card > .themeBtnOne {
  margin-top: auto;
  align-self: flex-start;
}
.plan-card.featured {
  opacity: 1;
  transform: translateY(0);
  border-color: rgba(196, 122, 74, 0.55);
  box-shadow: 0 24px 52px rgba(16, 28, 37, 0.13);
}
.plan-card-group {
  display: none;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
.plan-card-group.active {
  display: block;
}
/* Partner-type tabs — each tab reveals that type's pricing and features. */
.partner-plan-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin: 0 auto 28px;
}
.partner-plan-tab {
  padding: 10px 22px;
  border: 1px solid #d7dee4;
  border-radius: 999px;
  background: #fff;
  color: #123447;
  font-family: "Urbanist", sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.partner-plan-tab:hover {
  border-color: #C47A4A;
  color: #C47A4A;
}
.partner-plan-tab.active {
  border-color: #C47A4A;
  background: #C47A4A;
  color: #fff;
}
.partner-plan-tab:focus-visible {
  outline: 2px solid #123447;
  outline-offset: 2px;
}
.partner-plan-panel {
  display: none;
}
.partner-plan-panel.active {
  display: block;
}
@media (max-width: 575.98px) {
  .partner-plan-tabs {
    gap: 8px;
  }
  .partner-plan-tab {
    padding: 8px 16px;
    font-size: 14px;
  }
}
.plan-card h3 {
  color: #123447;
  font-family: "Urbanist", sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 14px;
}
.plan-price {
  color: #1f3a32;
  font-family: "Urbanist", sans-serif;
  font-size: 34px;
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 26px;
}
.plan-price span {
  color: #557086;
  font-size: 16px;
  font-weight: 600;
}
.plan-feature-list {
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
}
.plan-feature-list li {
  position: relative;
  color: #557086;
  font-size: 16px;
  line-height: 1.55;
  padding-left: 28px;
  margin-bottom: 12px;
}
.plan-feature-list li::before {
  content: "\f00c";
  position: absolute;
  top: 1px;
  left: 0;
  color: #c47a4a;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
@media (max-width: 991px) {
  .plan-hero {
    min-height: 560px;
  }
  .plan-pricing-section {
    padding: 80px 0;
  }
}
@media (max-width: 575px) {
  .plan-toggle {
    width: 100%;
  }
  .plan-toggle button {
    flex: 1;
    min-width: 0;
    padding-left: 14px;
    padding-right: 14px;
  }
  .plan-card {
    padding: 30px 24px;
  }
  .plan-price {
    font-size: 28px;
  }
}
@media (max-width: 767px) {
  .travelers-page .travelers-hero {
    padding-top: 0;
    padding-bottom: 15px;
    height: auto;
    min-height: calc(100vh - 80px);
    display: flex;
    align-items: center;
    padding: 20px 0 50px;
  }

  .travelers-benefit-card,
  .travelers-step-card,
  .travelers-pricing-card {
    padding: 24px 20px;
  }

  .travelers-button-row .themeBtnOne {
    width: 100%;
    text-align: center;
  }
}

/* commitment.html */
.commitment-page {
  background: #f7f9fa;
}

.commitment-page .commitment-hero {
  background-color: #f4ede2;
  background-blend-mode: multiply;
  position: relative;
}

.commitment-hero .travelers-button-row {
  margin-left: 0;
}

.commitment-page .commitment-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(244, 237, 226, 0.9) 0%, rgba(247, 249, 250, 0.74) 100%);
}

.commitment-page .commitment-hero .heroContent {
  position: relative;
  z-index: 1;
}

.commitment-page .travelers-intro .eyebrow,
.commitment-page .commitment-contribute-section .eyebrow,
.commitment-page .commitment-action-section .eyebrow,
.commitment-page .commitment-cta-section .eyebrow {
  color: #c47a4a;
}

.commitment-page .commitment-hero .heroContent h1,
.commitment-page .commitment-hero .heroContent h5,
.commitment-page .commitment-hero .heroText p {
  color: #0a0f14;
  text-shadow: none;
}

.commitment-page .commitment-hero .heroContent h1 span {
  color: #c47a4a;
}

.commitment-page .commitment-hero .heroText p,
.commitment-page .travelers-intro .intro-text,
.commitment-page .commitment-action-section .intro-text {
  color: #2a3c47;
}

.commitment-page .travelers-intro {
  background: #f7f9fa;
}

.commitment-page .travelers-intro .display-heading,
.commitment-page .commitment-action-section .hotel-section-title.dark,
.commitment-page .commitment-action-section .travelers-benefit-card h3 {
  color: #0a0f14;
}

.commitment-page .travelers-intro .display-heading em,
.commitment-page .commitment-action-section .hotel-section-title span {
  color: #c47a4a;
}

.commitment-page .commitment-quote {
  color: #2a3c47;
}

.commitment-page .commitment-quote em {
  color: #c47a4a;
  font-style: italic;
  font-weight: 600;
}

.commitment-page .marina-side-visual {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 48px rgba(20, 31, 38, 0.12);
}

.commitment-page .commitment-contribute-section {
  background: #1f3a32;
}

.commitment-page .commitment-contribute-section .hotel-section-title,
.commitment-page .commitment-contribute-section .restaurant-step-card h3 {
  color: #ffffff;
}

.commitment-page .commitment-contribute-section .hotel-section-title span {
  color: #e8a15a;
}

.commitment-page .commitment-contribute-section .restaurant-step-card {
  background: #27453c;
  border-color: rgba(232, 161, 90, 0.2);
  border-radius: 22px;
}

.commitment-page .commitment-contribute-section .restaurant-step-card p {
  color: rgba(230, 234, 236, 0.92);
}

.commitment-page .commitment-contribute-section .restaurant-step-icon {
  background: rgba(232, 161, 90, 0.14);
  color: #e8a15a;
  box-shadow: 0 0 30px rgba(232, 161, 90, 0.08);
}

.commitment-page .commitment-action-section {
  background: #f4ede2;
}

.commitment-page .commitment-action-section .travelers-benefit-card {
  border-radius: 22px;
  border: 1px solid rgba(196, 122, 74, 0.18);
  box-shadow: 0 16px 40px rgba(18, 29, 51, 0.08);
}

.commitment-page .commitment-action-section .travelers-benefit-card p {
  color: #2a3c47;
}

.commitment-page .commitment-action-section .travelers-benefit-icon {
  background: rgba(196, 122, 74, 0.12);
  color: #c47a4a;
}

.commitment-page .commitment-cta-section {
  background: #0a0f14;
}

.commitment-page .commitment-cta-section .cta-title,
.commitment-page .commitment-cta-section .cta-subtitle {
  color: #ffffff;
}

.commitment-page .commitment-cta-section .cta-title span {
  color: #e8a15a;
}

.commitment-page .commitment-cta-section .cta-subtitle {
  color: rgba(230, 234, 236, 0.9);
}

@media (max-width: 991px) {
  .commitment-page .commitment-hero {
    padding-top: 100px;
    min-height: auto;
    padding-bottom: 50px;
  }
}

@media (max-width: 767px) {
  .commitment-page .commitment-hero {
    padding-top: 0;
    padding-bottom: 15px;
    height: auto;
    min-height: calc(100vh - 80px);
    display: flex;
    align-items: center;
    padding: 20px 0 50px;
  }
}

/* about-us.html */
.about-page {
  background: #f7f9fa;
}

.about-page .pageContent {
  background: #f7f9fa;
}

.about-hero,
.about-manifesto-section,
.about-cta-section {
  background-color: #0a0f14;
}

.about-lifestyle-section,
.about-culture-section {
  background-color: #1b2730;
}

.about-hero,
.about-cta-section {
  position: relative;
  overflow: hidden;
}

.about-hero {
  min-height: calc(100vh - 80px);
  padding: 150px 0 140px;
  background-position: center;
  background-size: cover;
  display: flex;
  align-items: center;
  padding: 20px 0 50px;
}

.about-hero::before,
.about-cta-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 15, 20, 0.76) 0%, rgba(27, 39, 48, 0.94) 100%);
}

.about-hero-inner,
.about-cta-section .container {
  position: relative;
  z-index: 1;
}

.about-hero-inner {
  max-width: 860px;
}

.about-eyebrow {
  color: #c47a4a;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 18px;
}

.about-hero h1,
.about-section-title {
  font-family: "Urbanist", sans-serif;
  font-size: 45px;
  line-height: 1.1;
  font-weight: 500;
  color: #0a0f14;
  margin-bottom: 18px;
}

.about-hero h1 {
  color: #ffffff;
  max-width: 900px;
}

.about-hero h1 span,
.about-section-title span {
  color: #c47a4a;
}

.about-section-title.light {
  color: #ffffff;
}

.about-section-title.light span {
  color: #c47a4a;
}

.about-hero-copy,
.about-copy,
.about-cta-copy {
  font-size: 18px;
}

.about-hero-copy {
  color: rgba(230, 234, 236, 0.88);
  max-width: 760px;
}

.about-button-row {
  flex-wrap: wrap;
  margin-bottom: 0;
  justify-content: flex-start;
}

.about-cta-section .about-button-row {
  justify-content: center;
}

.about-philosophy-section,
.about-mission-section,
.about-community-section,
.about-steward-section {
  padding: 140px 0;
  background: #f7f9fa;
}

.about-copy {
  color: #2a3c47;
  margin-bottom: 20px;
}

.about-photo-card {
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 22px 58px rgba(16, 28, 37, 0.14);
}

.about-photo-card img {
  width: 100%;
  min-height: 560px;
  object-fit: cover;
}

.about-pull-quote {
  margin: 34px 0 0;
}

.about-pull-quote em {
  color: #c47a4a;
  font-size: 28px;
  line-height: 1.45;
  font-style: italic;
}

.about-lifestyle-section,
.about-culture-section {
  padding: 140px 0;
}

.about-section-head {
  margin-bottom: 54px;
}

.about-moment-card,
.about-culture-card {
  height: 100%;
  background: #243440;
  border: 1px solid rgba(196, 122, 74, 0.16);
  border-radius: 22px;
  padding: 34px 28px;
  box-shadow: 0 16px 40px rgba(6, 12, 24, 0.18);
}

.about-moment-icon,
.about-community-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(196, 122, 74, 0.14);
  color: #c47a4a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 22px;
}

.about-moment-card h3,
.about-culture-card h3,
.about-community-card h3,
.about-essential-card h4,
.about-essentials-panel h3 {
  font-family: "Urbanist", sans-serif;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 10px;
}

.about-moment-card h3,
.about-culture-card h3 {
  color: #ffffff;
}

.about-moment-card p,
.about-culture-card p {
  color: rgba(230, 234, 236, 0.9);
  margin-bottom: 0;
  line-height: 1.7;
}

.mission-copy {
  max-width: 970px;
  margin: 0 auto;
}

.about-community-card {
  height: 100%;
  background: #ffffff;
  border: 1px solid rgba(216, 199, 161, 0.45);
  border-radius: 22px;
  box-shadow: 0 18px 42px rgba(16, 28, 37, 0.08);
  padding: 34px 28px;
}

.about-community-card h3,
.about-essential-card h4,
.about-essentials-panel h3,
.about-steward-section .about-section-title {
  color: #0a0f14;
}

.about-community-card p,
.about-essential-card p,
.about-steward-section .about-copy,
.about-essentials-panel p {
  color: #2a3c47;
  margin-bottom: 0;
  line-height: 1.7;
}

.about-community-icon {
  background: rgba(31, 58, 50, 0.1);
  color: #1f3a32;
}

.about-manifesto-section {
  padding: 150px 0;
  position: relative;
  background-attachment: fixed;
}

.about-manifesto-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 15, 20, 0.6) 0%, rgba(27, 39, 48, 0.6) 100%);
}

.about-manifesto-section .container {
  position: relative;
  z-index: 1;
}

.about-essentials-panel {
  background: linear-gradient(180deg, #ffffff 0%, #f8f4ec 100%);
  border: 1px solid rgba(216, 199, 161, 0.52);
  border-radius: 26px;
  padding: 34px 28px;
  box-shadow: 0 20px 54px rgba(16, 28, 37, 0.08);
}

.about-essentials-panel h3 {
  margin-bottom: 24px;
}

.about-essential-card {
  height: 100%;
  background: #ffffff;
  border: 1px solid rgba(196, 122, 74, 0.12);
  border-radius: 18px;
  padding: 22px 20px;
}

.about-essential-card h4 {
  font-size: 20px;
}

.about-cta-section {
  padding: 110px 0;
  background-position: center;
  background-size: cover;
}

.about-cta-copy {
  color: rgba(230, 234, 236, 0.88);
  max-width: 760px;
  margin: 0 auto 34px;
}

@media (max-width: 991px) {

  .about-hero,
  .about-philosophy-section,
  .about-lifestyle-section,
  .about-mission-section,
  .about-culture-section,
  .about-community-section,
  .about-manifesto-section,
  .about-steward-section,
  .about-cta-section {
    padding: 90px 0;
  }

  .about-hero {
    min-height: auto;
    padding-top: 120px;
  }

  .about-photo-card img {
    min-height: 380px;
  }
}

@media (max-width: 767px) {
  .about-hero {
    padding-top: 110px;
  }

  .about-hero h1,
  .about-section-title {
    font-size: 36px;
    line-height: 1.15;
  }

  .about-moment-card,
  .about-culture-card,
  .about-community-card,
  .about-essentials-panel,
  .about-essential-card {
    padding: 24px 20px;
  }

  .about-button-row .themeBtnOne {
    width: 100%;
    text-align: center;
  }

  .about-pull-quote em {
    font-size: 22px;
  }
}

/* contact.html */
.contact-page {
  background: #f7f9fa;
}

.contact-page .pageContent {
  background: #f7f9fa;
}

.contact-hero,
.contact-cta-section {
  position: relative;
  background-color: #0a0f14;
}

.contact-hero {
  padding: 150px 0 120px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 460px;
}

.contact-hero::before,
.contact-cta-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 15, 20, 0.56) 0%, rgba(27, 39, 48, 0.84) 100%);
}

.contact-hero-inner,
.contact-cta-section .container {
  position: relative;
  z-index: 1;
}

.contact-hero-inner {
  max-width: 860px;
}

.contact-eyebrow {
  color: #c47a4a;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.contact-hero h1,
.contact-section-title {
  font-family: "Urbanist", sans-serif;
  font-size: 54px;
  line-height: 1.12;
  font-weight: 500;
  margin-bottom: 18px;
  color: #fff;
}

.contact-section-title {
  font-size: 45px;
}

.contact-hero h1 {
  color: #ffffff;
}

.contact-hero h1 span,
.contact-section-title span {
  color: #c47a4a;
}

.contact-section-title.light {
  color: #ffffff;
}

.contact-hero-copy,
.contact-copy,
.contact-cta-copy {
  font-size: 18px;
  line-height: 1.7;
  margin-bottom: 0;
}

.contact-hero-copy {
  color: rgba(230, 234, 236, 0.88);
  max-width: 720px;
}

.contact-details-section,
.contact-form-section {
  padding: 120px 0;
}

.contact-form-section {
  background: #1b2730;
}

.contact-detail-card {
  height: 100%;
  background: #ffffff;
  border-radius: 20px;
  padding: 32px 26px;
  box-shadow: 0 18px 42px rgba(16, 28, 37, 0.08);
}

.contact-detail-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(31, 58, 50, 0.1);
  color: #1f3a32;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 20px;
}

.contact-detail-card h3 {
  font-family: "Urbanist", sans-serif;
  font-size: 24px;
  line-height: 1.2;
  color: #0a0f14;
  margin-bottom: 8px;
}

.contact-detail-card p {
  color: #2a3c47;
  margin-bottom: 0;
  line-height: 1.65;
}

.contact-copy {
  color: rgba(230, 234, 236, 0.88);
}

.contact-note {
  margin-top: 28px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 20px 22px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(196, 122, 74, 0.22);
}

.contact-note i {
  color: #c47a4a;
  font-size: 22px;
  margin-top: 3px;
}

.contact-note p {
  color: #e6eaec;
  margin-bottom: 0;
  line-height: 1.65;
}

.contact-phone-note {
  margin-top: 16px;
}

.contact-phone-note a {
  color: #ffffff;
  font-weight: 700;
}

.contact-phone-note a:hover {
  color: #c47a4a;
}

.contact-form-card {
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 18px 42px rgba(16, 28, 37, 0.16);
  padding: 36px 32px;
}
.contact-form-section:target .contact-form-card {
  animation: contactFormHighlight 1.6s ease-out;
}
@keyframes contactFormHighlight {
  0% {
    box-shadow: 0 0 0 0 rgba(196, 122, 74, 0.55), 0 18px 42px rgba(16, 28, 37, 0.16);
  }
  45% {
    box-shadow: 0 0 0 8px rgba(196, 122, 74, 0.24), 0 22px 52px rgba(16, 28, 37, 0.22);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(196, 122, 74, 0), 0 18px 42px rgba(16, 28, 37, 0.16);
  }
}
.contact-form-card .themeBtnOne.copper {
  border: 0;
}

.contact-label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: #0a0f14;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.contact-input,
.contact-textarea {
  width: 100%;
  border: 1px solid rgba(138, 127, 115, 0.35);
  border-radius: 12px;
  padding: 12px 16px;
  font-size: 14px;
  color: #2a3c47;
  background: #f7f9fa;
}

.contact-input:focus,
.contact-textarea:focus {
  outline: none;
  border-color: #c47a4a;
  box-shadow: 0 0 0 3px rgba(196, 122, 74, 0.12);
}

.contact-multiselect-source {
  display: none;
}

.contact-multiselect {
  position: relative;
}

.contact-multiselect-toggle {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(138, 127, 115, 0.35);
  border-radius: 12px;
  padding: 12px 46px 12px 16px;
  font-size: 14px;
  line-height: 1.45;
  color: #60707a;
  background: #f7f9fa;
  text-align: left;
  position: relative;
}

.contact-multiselect-toggle::after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid #5d6870;
  border-bottom: 2px solid #5d6870;
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-65%) rotate(45deg);
  transition: transform 0.2s ease;
}

.contact-multiselect.is-open .contact-multiselect-toggle::after {
  transform: translateY(-35%) rotate(225deg);
}

.contact-multiselect-toggle:focus {
  outline: none;
  border-color: #c47a4a;
  box-shadow: 0 0 0 3px rgba(196, 122, 74, 0.12);
}

.contact-multiselect.has-value .contact-multiselect-toggle {
  color: #2a3c47;
}

.contact-multiselect-summary {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.contact-multiselect-menu {
  display: none;
  width: 100%;
  max-height: 220px;
  overflow-y: auto;
  border: 1px solid rgba(138, 127, 115, 0.3);
  border-radius: 12px;
  padding: 8px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(10, 15, 20, 0.16);
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  z-index: 20;
}

.contact-multiselect.is-open .contact-multiselect-menu {
  display: block;
}

.contact-multiselect-option {
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 8px;
  padding: 9px 10px;
  color: #2a3c47;
  cursor: pointer;
  margin: 0;
  text-transform: none;
  letter-spacing: 0;
}

.contact-multiselect-option:hover {
  background: rgba(196, 122, 74, 0.1);
}

.contact-multiselect-option input {
  width: 16px;
  height: 16px;
  accent-color: #c47a4a;
  flex: 0 0 auto;
}

.contact-multiselect-source.is-invalid + .contact-multiselect .contact-multiselect-toggle {
  border-color: #dc3545;
}

.contact-textarea {
  min-height: 180px;
  resize: vertical;
}

.contact-cta-section {
  padding: 90px 0;
}

.contact-cta-section .contact-button-row {
  margin-bottom: 0;
}

.contact-cta-copy {
  color: rgba(230, 234, 236, 0.88);
  max-width: 760px;
  margin: 0 auto;
}

.contact-button-row {
  justify-content: center;
  flex-wrap: wrap;
}

@media (max-width: 991px) {
  .contact-hero,
  .contact-details-section,
  .contact-form-section,
  .contact-cta-section {
    padding: 90px 0;
  }
  .contact-hero {
    min-height: auto;
  }
}
.hotel-network-modal .modal-content {
  border: 0;
  border-radius: 24px;
  overflow: visible;
  box-shadow: 0 24px 60px rgba(10, 15, 20, 0.28);
}

.hotel-network-modal .modal-header {
  padding: 28px 30px 18px;
  border-bottom: 0;
  align-items: flex-start;
}

.hotel-network-modal .modal-body {
  padding: 0 30px 30px;
}

.hotel-network-modal .btn-close {
  margin: 4px 0 0 auto;
}

.hotel-network-modal-title {
  font-family: "Urbanist", sans-serif;
  font-size: 34px;
  line-height: 1.15;
  color: #0a0f14;
  margin-bottom: 0;
}

.hotel-network-modal-copy {
  color: #2a3c47;
  font-size: 16px;
  line-height: 1.65;
  margin-bottom: 24px;
}

.hotel-network-modal h4 {
  margin-top: 30px;
}

.hotel-modal-submit {
  border: 0;
}

/* ================================
   Lake Tahoe Profile Page CSS
   Scoped to lakes-tahoe.html only
================================ */
.lake-profile-page .lake-profile-hero {
  position: relative;
  min-height: calc(100vh - 85px);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  padding-top: 110px;
  padding-bottom: 96px;
}

.lake-profile-page .lake-profile-hero::before,
.lake-profile-page .lake-map-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 15, 20, 0.42) 0%, rgba(10, 15, 20, 0.75) 100%);
}

.lake-profile-page .lake-profile-hero .container-md,
.lake-profile-page .lake-map-section .container {
  position: relative;
  z-index: 1;
}

.lake-profile-page .lake-profile-hero .green-text {
  background: #c47a4a;
  padding-left: 20px;
}

.lake-profile-page .lake-profile-hero .green-text::before {
  display: none;
}

.lake-profile-page .lake-profile-hero h1 {
  font-size: 82px;
  letter-spacing: 0;
}

.lake-profile-page .lake-profile-hero h5 {
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.9);
}

.lake-profile-page .themeBtnOne.copper {
  background-color: #c47a4a;
}

.lake-responsible-section .themeBtnOne.copper {
  display: inline-block;
}

.lake-profile-page .themeBtnOne.copper:hover {
  background-color: #9c5c33;
}

.lake-profile-page .themeBtnOne.copper-outline {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(196, 122, 74, 0.75);
  color: #123447;
}

.lake-profile-page .themeBtnOne.copper-outline:hover {
  background: #c47a4a;
  color: #ffffff;
}

.lake-snapshot-section,
.lake-overview-section,
.lake-regions-section,
.lake-seasons-section,
.lake-ecosystem-section,
.lake-responsible-section,
.lake-editorial-section,
.lake-events-section,
.lake-faq-section {
  padding: 110px 0;
}

.lake-snapshot-section,
.lake-regions-section,
.lake-ecosystem-section,
.lake-editorial-section,
.lake-faq-section {
  background: #f7f9fa;
}

.lake-overview-section,
.lake-seasons-section,
.lake-events-section,
.lake-responsible-section {
  background: #ffffff;
}

.lake-profile-page .eyebrow,
.lake-profile-page .display-heading em,
.lake-profile-page .hotel-section-title span,
.lake-profile-page .cta-title span {
  color: #c47a4a;
}

.lake-stat-card,
.lake-region-card,
.lake-season-card,
.lake-list-card,
.lake-guide-card {
  height: 100%;
  background: #ffffff;
  border: 1px solid rgba(138, 127, 115, 0.16);
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(16, 28, 37, 0.08);
  padding: 28px 24px;
}

.lake-stat-card span,
.lake-season-card span {
  display: inline-block;
  color: #c47a4a;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.lake-stat-card strong {
  display: block;
  color: #0a0f14;
  font-family: "Urbanist", sans-serif;
  font-size: 38px;
  line-height: 1.05;
  margin-bottom: 12px;
}

.lake-stat-card p,
.lake-region-card p,
.lake-season-card li,
.lake-list-card li,
.lake-guide-card p,
.lake-dark-copy,
.lake-rule-list li,
.lake-tip-list p {
  color: #2a3c47;
  line-height: 1.65;
}

.lake-map-section {
  position: relative;
  background: #1b2730;
  padding: 120px 0;
}

.lake-map-section .hotel-section-title,
.lake-map-section .lake-dark-copy {
  color: #ffffff;
}

.lake-toggle {
  display: inline-flex;
  gap: 8px;
  padding: 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(196, 122, 74, 0.38);
  margin-top: 28px;
}

.lake-toggle button {
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #ffffff;
  font-weight: 700;
  padding: 10px 22px;
}

.lake-toggle button.active {
  background: #c47a4a;
}

.tahoe-map-card {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 22px;
  padding: 28px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
}

.tahoe-map-lake {
  position: relative;
  min-height: 430px;
  border-radius: 18px;
  background: url(../images/summer-map.png) center / cover no-repeat;
  overflow: hidden;
}

.tahoe-map-card[data-current-mode="winter"] .tahoe-map-lake {
  background-image: url(../images/winter-map.png);
}

.map-region,
.map-pin {
  position: absolute;
  z-index: 1;
}

.map-region {
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.map-region.north {
  top: 28px;
  left: 42%;
}

.map-region.south {
  bottom: 28px;
  left: 38%;
}

.map-region.west {
  top: 48%;
  left: 24px;
}

.map-region.east {
  top: 48%;
  right: 24px;
}

.map-pin {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ffffff;
  color: #123447;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

.map-pin.marina {
  left: 28%;
  top: 28%;
}

.map-pin.beach {
  right: 30%;
  top: 32%;
}

.map-pin.hotel {
  left: 44%;
  bottom: 26%;
}

.map-pin.trail {
  right: 20%;
  bottom: 34%;
}

.map-pin.winter {
  left: 22%;
  bottom: 23%;
  opacity: 0;
  transform: scale(0.8);
}

.tahoe-map-card[data-current-mode="winter"] .map-pin.winter {
  opacity: 1;
  transform: scale(1);
}
.map-legend a{
  color:#fff;
}
.map-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.map-legend span {
  color: rgba(255, 255, 255, 0.86);
  font-size: 14px;
}

.map-legend i {
  color: #c47a4a;
  margin-right: 6px;
}

/* Business category links under the lake map. */
.map-business-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.map-business-chip {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  transition: border-color .15s ease, background-color .15s ease;
}

.map-business-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  background: none;
  border: 0;
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 14px;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: color .15s ease;
}

.map-business-toggle i {
  color: #c47a4a;
  transition: color .15s ease;
}

/* The count doubles as the link into this category's directory for the lake. */
.map-business-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  margin-right: 7px;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(196, 122, 74, 0.22);
  color: #e0a880;
  font-size: 12px;
  line-height: 1;
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease;
}

.map-business-count:hover,
.map-business-count:focus {
  background: #c47a4a;
  color: #fff;
}

/* Categories with no listings read quieter — dim the colours, not the whole
   chip, so the hover and active states below keep full contrast. */
.map-business-chip.is-empty {
  border-color: rgba(255, 255, 255, 0.1);
}

.map-business-chip.is-empty .map-business-toggle {
  color: rgba(255, 255, 255, 0.55);
}

.map-business-chip.is-empty .map-business-toggle i {
  color: rgba(196, 122, 74, 0.6);
}

/* Nothing to plot for this category — the label is inert, so drop the affordance. */
.map-business-chip.has-no-pins .map-business-toggle {
  cursor: default;
}

.map-business-chip:hover,
.map-business-chip:focus-within,
.map-business-chip.is-active {
  background: rgba(196, 122, 74, 0.16);
  border-color: #c47a4a;
}

.map-business-chip:hover .map-business-toggle,
.map-business-chip:focus-within .map-business-toggle,
.map-business-chip.is-active .map-business-toggle {
  color: #fff;
}

.map-business-chip:hover .map-business-toggle i,
.map-business-chip:focus-within .map-business-toggle i,
.map-business-chip.is-active .map-business-toggle i {
  color: #e0a880;
}

@media (max-width: 575.98px) {
  .map-business-toggle {
    padding: 6px 11px;
    font-size: 13px;
  }
}

.lb-map-canvas {
  width: 100%;
  height: 480px;
  border-radius: 10px;
  overflow: hidden;
}

.lb-map-marker-label {
  background: #042755;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .25);
  white-space: nowrap;
  transform: translate(0, -32px);
  pointer-events: none;
}

.lb-map-marker-label::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #042755;
}

.lb-map-info {
  position: relative;
  display: block;
  color: inherit;
  padding: 2px 0 2px 5px;
  text-decoration: none;
  min-width: 220px;
}

.lb-map-info:hover {
  text-decoration: none;
}

.lb-map-info h3 {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 600;
}

.lb-map-info-thumb {
  display: block;
  width: 100%;
  height: 120px;
  object-fit: cover;
  border-radius: 6px;
  margin-bottom: 8px;
}

.lb-map-info span {
  color: #1a73e8;
  font-weight: 500;
}

.lb-map-info-type {
  margin: 0 0 6px;
  font-size: 13px;
  color: #526075;
}

.lb-map-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 22px;
  height: 22px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 16px;
  color: #666;
  font-weight: bold;
  border-radius: 50%;
}

.has-thumb .lb-map-close {
  background: #fff;
  top: 3px;
  right: 3px;
}

.lb-map-close:hover {
  color: #000;
}

.lake-region-card h3,
.lake-season-card h3,
.lake-list-card h3,
.lake-guide-card h3 {
  font-family: "Urbanist", sans-serif;
  color: #0a0f14;
  font-size: 25px;
  margin-bottom: 12px;
}

.lake-season-card ul,
.lake-list-card ul,
.lake-rule-list {
  margin-bottom: 0;
  padding-left: 18px;
}

/* Rich-text season activities: paragraphs match the card's list copy styling. */
.lake-season-card .lake-season-body p {
  color: #2a3c47;
  line-height: 1.65;
  margin-bottom: 10px;
}

.lake-season-card .lake-season-body p:last-child,
.lake-season-card .lake-season-body ul:last-child,
.lake-season-card .lake-season-body ol:last-child {
  margin-bottom: 0;
}

.lake-season-card .lake-season-body ol {
  padding-left: 18px;
}

.lake-season-card {
  overflow: hidden;
  position: relative;
}

.lake-season-card::before {
  content: '';
  display: block;
  height: 6px;
  position: absolute;
  inset: 0 0 auto;
  background: #c47a4a;
}

.lake-season-card.winter::before {
  background: #315c79;
}

.lake-season-card.fall::before {
  background: #9c5c33;
}

.lake-season-card.spring::before {
  background: #426b2c;
}

.lake-list-card i {
  color: #c47a4a;
  font-size: 30px;
  margin-bottom: 18px;
}

.lake-perks-section {
  background: #1b2730;
  padding: 115px 0;
}

.lake-perks-section .hotel-section-title {
  color: #ffffff;
}

.lake-perks-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.lake-perks-grid div {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(196, 122, 74, 0.24);
  border-radius: 16px;
  color: #ffffff;
  padding: 20px;
}

.lake-rule-list {
  display: grid;
  gap: 14px;
  list-style: none;
  padding-left: 0;
}

.lake-rule-list li {
  position: relative;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 14px 36px rgba(16, 28, 37, 0.08);
  padding: 18px 18px 18px 46px;
}

.lake-rule-list li::before {
  content: '\f00c';
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #426b2c;
  position: absolute;
  left: 18px;
  top: 18px;
}

.lake-event-list {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.lake-event-list a {
  background: #ffffff;
  border: 1px solid rgba(138, 127, 115, 0.16);
  border-radius: 999px;
  box-shadow: 0 14px 30px rgba(16, 28, 37, 0.08);
  color: #123447;
  font-weight: 700;
  padding: 12px 18px;
  transition: all ease 0.4s;
}

.lake-event-list a:hover {
  background: #c47a4a;
  color: #ffffff;
  box-shadow: 0 18px 40px rgba(196, 122, 74, 0.24);
}

.lake-tip-list {
  display: grid;
  gap: 12px;
  margin-top: 28px;
}

.lake-tip-list p {
  background: #ffffff;
  border-left: 4px solid #c47a4a;
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(16, 28, 37, 0.07);
  margin: 0;
  padding: 16px 18px;
}

/* ============================================================
   Rich-text profile lists (Member Perks, Responsible Tourism,
   Insider Tips) — editor outputs <ul>/<ol>/<p>, styled to keep
   each section's original card design.
============================================================ */
/* Member Perks — 2-col grid of dark cards. */
.lake-perks-rich ul,
.lake-perks-rich ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.lake-perks-rich li,
.lake-perks-rich p {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(196, 122, 74, 0.24);
  border-radius: 16px;
  color: #ffffff;
  padding: 20px;
  margin: 0 0 16px;
}
.lake-perks-rich > *:last-child,
.lake-perks-rich li:last-child { margin-bottom: 0; }

/* Responsible Tourism — white check-list cards. */
.lake-rule-rich ul,
.lake-rule-rich ol {
  display: grid;
  gap: 14px;
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.lake-rule-rich li,
.lake-rule-rich p {
  position: relative;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 14px 36px rgba(16, 28, 37, 0.08);
  color: #2a3c47;
  padding: 18px 18px 18px 46px;
  margin: 0 0 14px;
}
.lake-rule-rich > *:last-child,
.lake-rule-rich li:last-child { margin-bottom: 0; }
.lake-rule-rich li::before,
.lake-rule-rich p::before {
  content: '\f00c';
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #426b2c;
  position: absolute;
  left: 18px;
  top: 18px;
}

/* Insider Tips — white cards with a copper accent. */
.lake-tip-rich ul,
.lake-tip-rich ol {
  display: grid;
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.lake-tip-rich p,
.lake-tip-rich li {
  background: #ffffff;
  border-left: 4px solid #c47a4a;
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(16, 28, 37, 0.07);
  color: #2a3c47;
  margin: 0 0 12px;
  padding: 16px 18px;
}
.lake-tip-rich > *:last-child,
.lake-tip-rich li:last-child { margin-bottom: 0; }

/* Stay/Eat/Explore operator cards — rich-text bodies (lists reuse .lake-list-card ul/li). */
.lake-list-card .lake-list-body p {
  color: #2a3c47;
  line-height: 1.65;
  margin-bottom: 8px;
}
.lake-list-card .lake-list-body p:last-child,
.lake-list-card .lake-list-body ul:last-child,
.lake-list-card .lake-list-body ol:last-child { margin-bottom: 0; }
.lake-list-card .lake-list-body ol { padding-left: 18px; }

.lake-faq-accordion .accordion-item {
  border: 0;
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 14px;
  box-shadow: 0 14px 34px rgba(16, 28, 37, 0.08);
}

.lake-faq-accordion .accordion-button {
  color: #0a0f14;
  font-family: "Urbanist", sans-serif;
  font-size: 20px;
  font-weight: 700;
}

.lake-faq-accordion .accordion-button:not(.collapsed) {
  background: #fff6ef;
  color: #9c5c33;
  box-shadow: none;
}

.lake-cta-section {
  background: #111c32;
}

.lake-cta-section .eyebrow,
.lake-cta-section .cta-title,
.lake-cta-section .cta-subtitle {
  color: #ffffff;
}

@media (max-width: 991px) {
  .lake-profile-page .lake-profile-hero {
    min-height: auto;
    padding-top: 115px;
    padding-bottom: 92px;
  }

  .lake-profile-page .lake-profile-hero h1 {
    font-size: 60px;
  }

  .lake-snapshot-section,
  .lake-overview-section,
  .lake-regions-section,
  .lake-seasons-section,
  .lake-ecosystem-section,
  .lake-responsible-section,
  .lake-editorial-section,
  .lake-events-section,
  .lake-faq-section,
  .lake-map-section,
  .lake-perks-section {
    padding: 82px 0;
  }

  .tahoe-map-lake {
    min-height: 360px;
  }
}

@media (max-width: 767px) {
  .lake-profile-page .lake-profile-hero h1 {
    font-size: 42px;
  }

  .lake-profile-page .lake-profile-hero {
    padding-top: 100px;
    padding-bottom: 64px;
  }

  .lake-stat-card strong {
    font-size: 32px;
  }

  .lake-perks-grid {
    grid-template-columns: 1fr;
  }

  .tahoe-map-card {
    padding: 18px;
  }

  .tahoe-map-lake {
    min-height: 300px;
  }

  .map-region {
    font-size: 11px;
  }

  .map-region.west {
    left: 12px;
  }

  .map-region.east {
    right: 12px;
  }

  .lake-toggle,
  .lake-toggle button,
  .lake-event-list span {
    width: 100%;
  }

  .lake-toggle {
    border-radius: 14px;
    flex-direction: column;
  }

  .lake-toggle button {
    padding: 11px 14px;
  }
}

@media (max-width: 991px) {

  .homeHero,
  .flywheel-section,
  .hotel-pricing-band,
  .hotel-founding-section,
  .marina-founding-section,
  .travelers-founding-section,
  .about-manifesto-section {
    background-attachment: scroll;
  }

  .contact-hero,
  .contact-details-section,
  .contact-form-section,
  .contact-cta-section {
    padding: 90px 0;
  }

  .contact-hero {
    min-height: auto;
  }

  .hotel-network-modal-title {
    font-size: 30px;
  }
}

@media (max-width: 767px) {
  .contact-hero {
    padding-top: 110px;
  }

  .contact-hero h1,
  .contact-section-title {
    font-size: 36px;
  }

  .contact-form-card,
  .contact-detail-card {
    padding: 24px 20px;
  }

  .contact-button-row .themeBtnOne {
    width: 100%;
  }

  .hotel-network-modal .modal-header,
  .hotel-network-modal .modal-body {
    padding-left: 20px;
    padding-right: 20px;
  }

  .hotel-network-modal .modal-body {
    padding-bottom: 24px;
  }

  .hotel-network-modal-title {
    font-size: 28px;
  }

  .hotel-modal-submit {
    width: 100%;
  }

  .themeBtnOne {
    width: 100% !important;
    max-width: 400px;
    display: inline-block;
    line-height: 21px;
  }

  .nav-item a.themeBtnOne {
    width: auto !important;
    display: inline;
  }
}

@media screen and (max-width:560px) {
  .flywheel-section .center-circle {
    margin-top: 74px;
  }
}

.terms-page,
.privacy-page {
  background: #f7f9fa;
}

.terms-hero,
.privacy-hero {
  padding: 150px 0 80px;
  background: linear-gradient(180deg, #0a0f14 0%, #1b2730 100%);
}

.terms-hero-inner,
.privacy-hero-inner {
  max-width: 760px;
}

.terms-eyebrow,
.privacy-eyebrow {
  color: #c47a4a;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 16px;
}

.terms-hero h1,
.privacy-hero h1 {
  font-family: "Urbanist", sans-serif;
  font-size: 45px;
  font-weight: 500;
  line-height: 1.1;
  color: #ffffff;
  margin-bottom: 16px;
}

.terms-hero-copy,
.terms-last-updated,
.privacy-hero-copy,
.privacy-last-updated {
  color: rgba(230, 234, 236, 0.9);
  font-size: 16px;
  line-height: 1.7;
}

.terms-last-updated,
.privacy-last-updated {
  margin-bottom: 0;
}

.terms-content-section,
.privacy-content-section {
  padding: 0 0 110px;
  margin-top: -10px;
}

.terms-content,
.privacy-content {
  width: 100%;
  background: #ffffff;
  border: 1px solid rgba(216, 199, 161, 0.42);
  border-radius: 24px;
  box-shadow: 0 20px 54px rgba(16, 28, 37, 0.08);
  padding: 42px 36px;
}

.terms-block+.terms-block,
.privacy-block+.privacy-block {
  margin-top: 34px;
  padding-top: 34px;
  border-top: 1px solid rgba(216, 199, 161, 0.35);
}

.terms-block h2,
.terms-block h3,
.privacy-block h2,
.privacy-block h3 {
  font-family: "Urbanist", sans-serif;
  color: #0a0f14;
}

.terms-block h2,
.privacy-block h2 {
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 14px;
}

.terms-block h3,
.privacy-block h3 {
  font-size: 20px;
  font-weight: 600;
  margin: 20px 0 10px;
}

.terms-block p,
.terms-block li,
.privacy-block p,
.privacy-block li {
  color: #2a3c47;
  font-size: 16px;
  line-height: 1.75;
}

.terms-block a,
.privacy-block a {
  color: #c47a4a;
  font-weight: 600;
}

.terms-block a:hover,
.privacy-block a:hover {
  color: #9c5c33;
  text-decoration: underline;
}

.terms-block p:last-child,
.terms-block ul:last-child,
.privacy-block p:last-child,
.privacy-block ul:last-child {
  margin-bottom: 0;
}

.terms-block ul,
.privacy-block ul {
  margin: 14px 0 18px 20px;
}

.terms-block li+li,
.privacy-block li+li {
  margin-top: 6px;
}

@media (max-width: 991px) {

  .terms-hero,
  .privacy-hero {
    padding: 130px 0 70px;
  }

  .terms-content-section,
  .privacy-content-section {
    padding-bottom: 90px;
  }
}

@media (max-width: 767px) {

  .terms-hero,
  .privacy-hero {
    padding: 115px 0 60px;
  }

  .terms-hero h1,
  .privacy-hero h1 {
    font-size: 36px;
  }

  .terms-content,
  .privacy-content {
    padding: 28px 20px;
    border-radius: 18px;
  }

  .terms-block h2,
  .privacy-block h2 {
    font-size: 24px;
  }
}

@media (max-width: 330px) {
  .navbar-brand {
    max-width: 210px;
  }
}


/* ================================
   Fishing Guide Partner Page
================================ */
.guides-page {
  --guide-blue: #0A1E2F;
  --guide-mist: #E6EBEE;
  --guide-sand: #D7CBB8;
  --guide-copper: #B46A3C;
  --guide-white: #FFFFFF;
  color: var(--guide-blue);
  background: var(--guide-white);
}

.guides-page .container {
  max-width: 1180px;
}

.guide-hero {
  min-height: calc(100vh - 84px);
  position: relative;
  display: flex;
  align-items: center;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 130px 0 96px;
  overflow: hidden;
}

.guide-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(0deg, rgba(10, 30, 47, 0.88) 0%, rgba(10, 30, 47, 0.58) 30%, rgba(10, 30, 47, 0.16) 72%),
    linear-gradient(90deg, rgba(10, 30, 47, 0.72) 0%, rgba(10, 30, 47, 0.26) 54%, rgba(10, 30, 47, 0.08) 100%);
}

.guide-hero .container {
  position: relative;
  z-index: 1;
}

.guide-hero-content {
  max-width: 680px;
  text-align: left;
}

.guide-eyebrow {
  color: var(--guide-sand);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.guide-eyebrow.dark {
  color: var(--guide-copper);
}

.guide-hero h1,
.guide-section-title {
  font-family: "Urbanist", "Inter", Arial, sans-serif;
  letter-spacing: 0;
}

.guide-hero h1 {
  max-width: 760px;
  color: var(--guide-white);
  font-size: 60px;
  font-weight: 600;
  line-height: 1.02;
  margin-bottom: 22px;
}

.guide-hero-content > p:not(.guide-eyebrow) {
  max-width: 650px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 26px;
  line-height: 1.38;
  margin-bottom: 34px;
}

.guide-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  border: 0;
  border-radius: 0;
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 1.1;
  padding: 16px 28px;
  text-transform: uppercase;
  transition: all ease 0.25s;
}

.guide-btn-sand {
  background: var(--guide-sand);
  color: var(--guide-blue);
}

.guide-btn-blue {
  background: var(--guide-blue);
  color: var(--guide-white);
}

.guide-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(10, 30, 47, 0.18);
}

.guide-btn-sand:hover {
  background: var(--guide-white);
  color: var(--guide-blue);
}

.guide-btn-blue:hover {
  background: #12344d;
  color: var(--guide-white);
}

.guide-join-section,
.guide-receives-section {
  background: var(--guide-mist);
}

.guide-join-section,
.guide-qualities-section,
.guide-application-section,
.guide-next-section,
.guide-receives-section {
  padding: 96px 0;
}

.guide-section-title {
  color: var(--guide-blue);
  font-size: 48px;
  font-weight: 600;
  line-height: 1.1;
  margin-bottom: 18px;
}

.guide-section-head {
  max-width: 760px;
  margin-bottom: 42px;
}

.guide-section-head.text-center {
  margin-left: auto;
  margin-right: auto;
}

.guide-section-head.compact {
  margin-bottom: 34px;
}

.guide-copper-line {
  display: block;
  width: 78px;
  height: 3px;
  background: var(--guide-copper);
  margin: 0 0 26px;
}

.guide-copy,
.guide-benefit-list li,
.guide-quality-card p,
.guide-timeline-step p {
  color: #314656;
  font-size: 18px;
  line-height: 1.65;
}

.guide-ecosystem {
  min-height: 420px;
  position: relative;
  border: 1px solid rgba(10, 30, 47, 0.12);
  background:
    linear-gradient(90deg, rgba(10, 30, 47, 0.05) 1px, transparent 1px),
    linear-gradient(0deg, rgba(10, 30, 47, 0.05) 1px, transparent 1px),
    rgba(255, 255, 255, 0.58);
  background-size: 42px 42px;
  padding: 30px;
}

.guide-ecosystem::before,
.guide-ecosystem::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(180, 106, 60, 0.38);
  inset: 82px 120px;
}

.guide-ecosystem::after {
  inset: 132px 210px;
  border-color: rgba(10, 30, 47, 0.2);
}

.guide-ecosystem-node {
  width: 142px;
  height: 92px;
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  border: 1px solid rgba(10, 30, 47, 0.16);
  background: var(--guide-white);
  color: var(--guide-blue);
  box-shadow: 0 14px 34px rgba(10, 30, 47, 0.08);
}

.guide-ecosystem-node i {
  color: var(--guide-copper);
  font-size: 22px;
}

.guide-ecosystem-node span {
  font-weight: 800;
  font-size: 14px;
}

.guide-ecosystem-node.primary {
  width: 168px;
  height: 112px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: var(--guide-blue);
  color: var(--guide-white);
}

.guide-ecosystem-node.primary i {
  color: var(--guide-sand);
}

.node-guides {
  left: 40px;
  top: 52px;
}

.node-hotels {
  right: 52px;
  top: 48px;
}

.node-restaurants {
  left: 58px;
  bottom: 56px;
}

.node-marinas {
  right: 60px;
  bottom: 58px;
}

.node-members {
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
}

.guide-quality-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.guide-quality-card {
  height: 100%;
  background: var(--guide-white);
  border: 1px solid rgba(10, 30, 47, 0.08);
  box-shadow: 0 4px 22px rgba(10, 30, 47, 0.08);
  padding: 34px 30px;
}

.guide-quality-card i {
  color: var(--guide-blue);
  font-size: 34px;
  margin-bottom: 24px;
}

.guide-quality-card h3,
.guide-timeline-step h3 {
  color: var(--guide-blue);
  font-family: "Urbanist", "Inter", Arial, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.18;
  margin-bottom: 12px;
}

.guide-application-section {
  background: var(--guide-white);
}

.guide-form-shell {
  max-width: 920px;
  margin: 0 auto;
}

.guide-application-form {
  background: var(--guide-white);
}

.advertising-application-hero {
  padding: 120px 0 90px;
  background: #0a1e2f;
  color: #fff;
}

.advertising-application-hero .eyebrow,
.advertising-application-hero h1 span {
  color: #b46a3c;
}

.advertising-application-hero h1 {
  color: #fff;
  font-family: "Urbanist", "Inter", Arial, sans-serif;
  font-size: clamp(44px, 6vw, 76px);
  font-weight: 700;
  line-height: 1.04;
  margin-bottom: 28px;
}

.advertising-application-hero p:not(.eyebrow) {
  max-width: 820px;
  margin: 0 auto 14px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 18px;
}

.advertising-application-intro,
.advertising-application-standards {
  padding: 90px 0;
  background: #f5f1e9;
}

.advertising-application-standards {
  background: #edf2f2;
}

.advertising-application-list {
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
}

.advertising-application-list li {
  position: relative;
  padding: 0 0 14px 28px;
  color: #344654;
}

.advertising-application-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #b46a3c;
}

.advertising-application-page .contact-label {
  color: #0a1e2f;
  font-weight: 800;
  margin-bottom: 10px;
}

.advertising-application-page .contact-input,
.advertising-application-page .contact-textarea,
.advertising-application-page .contact-multiselect-toggle {
  width: 100%;
  border: 1px solid #ced8dc;
  border-radius: 0;
  background: #fbfcfc;
  color: #0a1e2f;
  font-size: 16px;
  padding: 15px 16px;
}

.advertising-application-page .contact-input:focus,
.advertising-application-page .contact-textarea:focus,
.advertising-application-page .contact-multiselect-toggle:focus {
  border-color: #b46a3c;
  box-shadow: 0 0 0 3px rgba(180, 106, 60, 0.13);
  outline: 0;
}

.advertising-consent label + label {
  margin-top: 10px;
}

@media (max-width: 767px) {
  .advertising-application-hero,
  .advertising-application-intro,
  .advertising-application-standards {
    padding: 64px 0;
  }
}

.guide-form-section-title {
  margin-top: 22px;
}

.guide-form-section-title:first-child {
  margin-top: 0;
}

.guide-form-section-title h3 {
  display: inline-block;
  color: var(--guide-blue);
  font-family: "Urbanist", "Inter", Arial, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
  padding-bottom: 10px;
  border-bottom: 3px solid var(--guide-copper);
}

.guides-page .contact-label {
  color: var(--guide-blue);
  font-weight: 800;
  margin-bottom: 10px;
}

.guides-page .contact-input,
.guides-page .contact-textarea,
.guides-page .contact-multiselect-toggle {
  width: 100%;
  border: 1px solid var(--guide-mist);
  border-radius: 0;
  background: #fbfcfc;
  color: var(--guide-blue);
  font-size: 16px;
  padding: 15px 16px;
}

.guides-page .contact-textarea.compact {
  min-height: 112px;
}

.guides-page .contact-input:focus,
.guides-page .contact-textarea:focus,
.guides-page .contact-multiselect-toggle:focus {
  border-color: var(--guide-copper);
  box-shadow: 0 0 0 3px rgba(180, 106, 60, 0.13);
}

.guide-file-zone {
  display: grid;
  gap: 8px;
  place-items: center;
  min-height: 170px;
  border: 1px dashed rgba(10, 30, 47, 0.36);
  background: #fbfcfc;
  padding: 28px;
  text-align: center;
}

.guide-file-zone.compact {
  min-height: 145px;
  padding: 22px;
}

.guide-file-zone i {
  color: var(--guide-copper);
  font-size: 30px;
}

.guide-file-zone span {
  color: var(--guide-blue);
  font-weight: 800;
}

.guide-file-zone small {
  color: #657584;
  font-size: 14px;
}

.guide-file-zone .contact-input {
  max-width: 520px;
  border: 0;
  background: transparent;
  padding: 10px 0 0;
}

.guide-next-section {
  position: relative;
  overflow: hidden;
  background:
    repeating-radial-gradient(circle at 50% 50%, rgba(10, 30, 47, 0.1) 0 1px, transparent 1px 26px),
    var(--guide-white);
}

.guide-next-section > .container {
  position: relative;
  z-index: 1;
}

.guide-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px;
}

.guide-timeline::before {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  top: 42px;
  height: 1px;
  background: rgba(180, 106, 60, 0.34);
}

.guide-timeline-step {
  position: relative;
  z-index: 1;
  text-align: center;
}

.guide-timeline-step span {
  width: 84px;
  height: 84px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--guide-white);
  border: 1px solid rgba(180, 106, 60, 0.34);
  color: var(--guide-copper);
  font-size: 28px;
  box-shadow: 0 12px 30px rgba(10, 30, 47, 0.08);
  margin-bottom: 22px;
}

.guide-benefit-list {
  display: grid;
  gap: 16px;
  padding: 0;
  margin: 26px 0 0;
  list-style: none;
}

.guide-benefit-list li {
  position: relative;
  padding-left: 34px;
}

.guide-benefit-list li::before {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  left: 2px;
  top: 10px;
  background: var(--guide-copper);
}

.guide-collage {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  grid-template-rows: 210px 210px;
  gap: 14px;
  background: var(--guide-white);
  padding: 14px;
}

.guide-collage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.92) contrast(1.02);
}

.guide-collage img:first-child {
  grid-row: span 2;
}

.guide-collage img:nth-child(4) {
  grid-column: 2;
}

.guides-page .pageFooter {
  min-height: 140px;
  background: var(--guide-blue);
}

.guides-page .footerLinks {
  justify-content: flex-end;
}

.guides-page .footerLinks a {
  color: rgba(255, 255, 255, 0.85);
}

.guides-page .footerLinks a:hover {
  color: var(--guide-white);
}

.guides-page .footerLinks a[href*="guides"] {
  border-bottom: 2px solid var(--guide-sand);
  color: var(--guide-white);
}

@media (max-width: 991px) {
  .guide-hero {
    min-height: auto;
    padding: 120px 0 82px;
  }

  .guide-hero h1,
  .guide-section-title {
    font-size: 42px;
  }

  .guide-hero-content > p:not(.guide-eyebrow) {
    font-size: 22px;
  }

  .guide-join-section,
  .guide-qualities-section,
  .guide-application-section,
  .guide-next-section,
  .guide-receives-section {
    padding: 76px 0;
  }

  .guide-quality-grid,
  .guide-timeline {
    grid-template-columns: 1fr;
  }

  .guide-timeline::before {
    display: none;
  }

  .guide-ecosystem {
    min-height: 500px;
  }
}

@media (max-width: 767px) {
  .guide-hero {
    padding-top: 110px;
  }

  .guide-hero h1,
  .guide-section-title {
    font-size: 36px;
  }

  .guide-hero-content > p:not(.guide-eyebrow),
  .guide-copy,
  .guide-benefit-list li,
  .guide-quality-card p,
  .guide-timeline-step p {
    font-size: 16px;
  }

  .guide-btn {
    width: 100%;
  }

  .guide-ecosystem {
    min-height: auto;
    display: grid;
    gap: 14px;
  }

  .guide-ecosystem::before,
  .guide-ecosystem::after {
    display: none;
  }

  .guide-ecosystem-node,
  .guide-ecosystem-node.primary,
  .node-guides,
  .node-hotels,
  .node-restaurants,
  .node-marinas,
  .node-members {
    position: static;
    width: 100%;
    height: auto;
    min-height: 86px;
    transform: none;
  }

  .guide-collage {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, 190px);
  }

  .guide-collage img:first-child,
  .guide-collage img:nth-child(4) {
    grid-column: auto;
    grid-row: auto;
  }
}


@media screen and (min-width: 1441px) and (max-width: 1900px) {
  .navbar-brand {
    max-width: 190px;
}
  .pageHeader .navbar-nav .nav-link ,.dropdown-item{
      font-size: 14px;
  }
}

/* Partner detail pages */
.hotel-detail-page .pageContent,
.campground-detail-page .pageContent {
  background: #f6f2ea;
}

.hotel-detail-hero,
.campground-detail-hero {
  min-height: 620px;
  position: relative;
  display: flex;
  align-items: center;
  background-position: center;
  background-size: cover;
}

.hotel-detail-hero::before,
.campground-detail-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(9, 27, 44, 0.72), rgba(9, 27, 44, 0.42));
}

.hotel-detail-hero > .container-md,
.campground-detail-hero > .container-md {
  position: relative;
  z-index: 1;
}

.hotel-detail-hero h1,
.campground-detail-hero h1 {
  color: #fff;
  max-width: 920px;
  margin-inline: auto;
}

.hotel-detail-hero h5,
.campground-detail-hero h5 {
  max-width: 900px;
  margin: 18px auto 0;
  color: rgba(255, 255, 255, 0.88);
}

.hotel-detail-hero-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
}

.hotel-detail-hero-meta span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 16px;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  backdrop-filter: blur(6px);
}

.hotel-detail-shell {
  padding: 88px 0;
}

.hotel-detail-card {
  padding: 30px;
  border: 1px solid rgba(20, 50, 64, 0.1);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(18, 38, 52, 0.08);
}

.hotel-detail-card .eyebrow,
.hotel-detail-shell .eyebrow {
  margin-bottom: 10px;
  color: #b46a3c;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hotel-section-title {
  margin-bottom: 16px;
  color: #fff;
  font-size: 36px;
  line-height: 1.15;
}

.hotel-detail-card p {
  color: #4e5f6d;
  font-size: 17px;
  line-height: 1.7;
}

.hotel-detail-gallery {
  overflow: hidden;
  border-radius: 8px;
  background: #102b3f;
}

.hotel-detail-gallery .carousel-item {
  aspect-ratio: 16 / 10;
}

.hotel-detail-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hotel-detail-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.hotel-detail-feature {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 12px 14px;
  border: 1px solid rgba(20, 50, 64, 0.1);
  border-radius: 8px;
  background: #fbfaf7;
  color: #102b3f;
  font-weight: 700;
}

.hotel-detail-feature i {
  color: #2e8062;
}

.hotel-detail-sidebar {
  position: sticky;
  top: 110px;
}

.hotel-detail-list {
  display: grid;
  gap: 14px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.hotel-detail-list li {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(20, 50, 64, 0.1);
}

.hotel-detail-list li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.hotel-detail-list span {
  color: #667584;
}

.hotel-detail-list strong {
  color: #102b3f;
  text-align: right;
}

.hotel-detail-sidebar p {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 14px;
}

.hotel-detail-sidebar p i {
  width: 18px;
  margin-top: 6px;
  color: #b46a3c;
}

.hotel-detail-sidebar a:not(.themeBtnOne) {
  color: #155a84;
  font-weight: 700;
}

.hotel-detail-sidebar .themeBtnOne {
  width: 100%;
  justify-content: center;
  text-align: center;
}

@media (max-width: 991px) {
  .hotel-detail-hero,
  .campground-detail-hero {
    min-height: auto;
    padding: 130px 0 88px;
  }

  .hotel-detail-shell {
    padding: 64px 0;
  }

  .hotel-detail-sidebar {
    position: static;
  }
}

@media (max-width: 767px) {
  .hotel-detail-card {
    padding: 22px;
  }

  .hotel-section-title {
    font-size: 30px;
  }

  .hotel-detail-feature-grid {
    grid-template-columns: 1fr;
  }

  .hotel-detail-hero-meta {
    align-items: stretch;
    flex-direction: column;
  }

  .hotel-detail-hero-meta span {
    justify-content: center;
    border-radius: 8px;
  }
}

/* ============================================================
   Partner hotel detail — rich prototype layout components
   ============================================================ */

/* Hero — copper accent word + solid white meta chips (match prototype) */
.hotel-detail-hero h1 span,
.campground-detail-hero h1 span {
  color: #c47a4a;
}

.hotel-detail-hero h5,
.campground-detail-hero h5 {
  font-size: 20px;
  line-height: 1.5;
}

.hotel-detail-hero-meta span {
  background: #ffffff;
  border: 1px solid rgba(13, 31, 53, 0.06);
  color: #0d1f35;
  font-weight: 700;
  box-shadow: 0 12px 26px rgba(9, 27, 44, 0.18);
  backdrop-filter: none;
}

.hotel-detail-hero-meta span i {
  color: #c47a4a;
}

/* Section rhythm */
.hotel-detail-property-section,
.hotel-detail-identity-section,
.hotel-detail-gallery-section,
.hotel-detail-amenities-section,
.hotel-detail-unique-section,
.hotel-detail-story-section,
.hotel-detail-perks-section,
.hotel-detail-contact-location-section {
  padding: 100px 0;
}

.hotel-detail-property-section,
.hotel-detail-story-section,
.hotel-detail-amenities-section {
  background: #ffffff;
}

.hotel-detail-identity-section,
.hotel-detail-unique-section,
.hotel-detail-perks-section {
  background: #f7f9fa;
}

.hotel-detail-gallery-section {
  background: #f6f2ea;
}

.hotel-detail-page .hotel-section-head {
  max-width: 640px;
  margin-bottom: 48px;
}

/* Consistent large section headings (match the display-heading sections) */
.hotel-detail-page .hotel-section-title {
  font-family: "Urbanist", sans-serif;
  font-size: 45px;
  font-weight: 500;
  line-height: 1.15;
}

/* ── Property Details ──────────────────────────────────────── */
.hotel-detail-property-panel {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 24px;
  margin-top: 28px;
  padding: 24px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(138, 127, 115, 0.16);
  box-shadow: 0 18px 44px rgba(16, 28, 37, 0.08);
}

.hotel-detail-count {
  flex: 0 0 auto;
  min-width: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 28px;
  border-radius: 16px;
  background: #0d1f35;
  color: #fff;
  text-align: center;
}

.hotel-detail-count span {
  font-family: "Urbanist", sans-serif;
  font-size: 48px;
  line-height: 1;
  color: #c47a4a;
}

.hotel-detail-count strong {
  margin-top: 8px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hotel-detail-property-copy {
  flex: 1 1 320px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 8px 10px;
}

.hotel-detail-property-copy span {
  display: inline-block;
  margin-bottom: 8px;
  color: #c47a4a;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hotel-detail-property-copy p {
  margin: 0;
  color: #0d1f35;
  font-weight: 600;
  font-size: 17px;
  line-height: 1.65;
}

.ad-space img {
  width: 100%;
  border-radius: 16px;
  object-fit: cover;
}

/* ── Hotel Information ─────────────────────────────────────── */
.hotel-detail-identity-panel {
  padding: 28px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(138, 127, 115, 0.16);
  box-shadow: 0 18px 44px rgba(16, 28, 37, 0.08);
}

.hotel-detail-logo-lockup {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  margin-bottom: 22px;
  border-radius: 12px;
  background: #0d1f35;
}

.hotel-detail-logo-lockup img {
  max-height: 72px;
  max-width: 220px;
  object-fit: contain;
}

.hotel-detail-identity-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.hotel-detail-identity-list > div {
  padding: 24px 26px;
  border-top: 1px solid rgba(138, 127, 115, 0.16);
}

.hotel-detail-identity-list > div:nth-child(odd) {
  border-right: 1px solid rgba(138, 127, 115, 0.16);
}

.hotel-detail-identity-list i {
  display: block;
  margin-bottom: 14px;
  color: #c47a4a;
  font-size: 20px;
}

.hotel-detail-identity-list span {
  display: block;
  margin-bottom: 8px;
  color: #8a7f73;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hotel-detail-identity-list strong {
  display: block;
  color: #0d1f35;
  font-size: 17px;
  word-break: break-word;
}

/* ── Photography & Assets (gallery slider) ────────────────── */
.hotel-detail-brand-file {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 22px;
  padding: 18px 20px;
  border: 1px solid rgba(138, 127, 115, 0.16);
  border-left: 4px solid #c47a4a;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(16, 28, 37, 0.06);
  text-decoration: none;
  transition: box-shadow 0.2s ease;
}

.hotel-detail-brand-file:hover {
  box-shadow: 0 12px 30px rgba(196, 122, 74, 0.18);
}

.hotel-detail-brand-file span {
  color: #c47a4a;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hotel-detail-brand-file strong {
  color: #0d1f35;
  word-break: break-all;
}

.hotel-detail-slider {
  --slider-height: 520px;
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: #0d1f35;
  box-shadow: 0 24px 60px rgba(16, 28, 37, 0.18);
}

.hotel-detail-slider .carousel-inner {
  height: var(--slider-height);
}

/* Bootstrap's prev/next controls stretch the full height of the carousel (top: 0;
   bottom: 0) and 15% of its width, which puts them on top of the thumbnail strip —
   they were swallowing every click on the first and last thumbnail. Capping them to
   the image area frees those thumbnails and centres the arrows on the photo rather
   than on the photo plus strip. */
.hotel-detail-slider .carousel-control-prev,
.hotel-detail-slider .carousel-control-next {
  height: var(--slider-height);
  bottom: auto;
}

.hotel-detail-slider .carousel-item,
.hotel-detail-slider .carousel-item img {
  height: 100%;
}

.hotel-detail-slider .carousel-item img {
  display: block;
  width: 100%;
  object-fit: cover;
}

.hotel-detail-slider-thumbs {
  display: flex;
  gap: 10px;
  padding: 14px;
  overflow-x: auto;
  background: rgba(13, 31, 53, 0.9);
}

.hotel-detail-slider-thumbs button {
  flex: 1 1 0;
  min-width: 0;
  height: 84px;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 8px;
  overflow: hidden;
  background: none;
  cursor: pointer;
  opacity: 0.55;
  transition: opacity 0.2s ease, border-color 0.2s ease;
}

.hotel-detail-slider-thumbs button.active,
.hotel-detail-slider-thumbs button:hover {
  opacity: 1;
  border-color: #c47a4a;
}

.hotel-detail-slider-thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ── Amenities & Services ─────────────────────────────────── */
.hotel-detail-amenities-section .hotel-detail-feature-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.hotel-detail-amenities-section .hotel-detail-feature-grid article {
  height: 100%;
  padding: 28px 26px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(138, 127, 115, 0.2);
  text-align: left;
}

.hotel-detail-amenities-section article i {
  display: inline-block;
  margin-bottom: 20px;
  color: #c47a4a;
  font-size: 30px;
  line-height: 1;
}

.hotel-detail-amenities-section article h3 {
  margin-bottom: 10px;
  font-family: "Urbanist", sans-serif;
  font-size: 21px;
  font-weight: 600;
  color: #0d1f35;
}

.hotel-detail-amenities-section article p {
  margin: 0;
  color: #0d1f35;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.65;
}

/* ── Unique Features chip cloud ───────────────────────────── */
.hotel-detail-chip-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.hotel-detail-chip-cloud span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(196, 122, 74, 0.35);
  color: #0d1f35;
  font-size: 14px;
  font-weight: 600;
}

.hotel-detail-chip-cloud i {
  color: #c47a4a;
}

/* ── Story ────────────────────────────────────────────────── */
.hotel-detail-story-section article {
  height: 100%;
  padding: 32px 30px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(138, 127, 115, 0.2);
}

.hotel-detail-story-section article span {
  display: block;
  margin-bottom: 14px;
  color: #c47a4a;
  font-family: "Urbanist", sans-serif;
  font-size: 23px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0;
  text-transform: none;
}

.hotel-detail-story-section article p {
  margin: 0;
  color: #0d1f35;
  font-weight: 600;
  line-height: 1.7;
}

/* ── Lake Lovers Perks ────────────────────────────────────── */
.hotel-detail-perk-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.hotel-detail-perk-grid > div {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 22px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(138, 127, 115, 0.2);
  color: #0d1f35;
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.hotel-detail-perk-grid i {
  flex: 0 0 auto;
  color: #c47a4a;
  font-size: 18px;
}

/* ── Lake Connection (on dark .lake-map-section) ──────────── */
.hotel-detail-highlight-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 32px;
}

.hotel-detail-highlight-panel > div {
  padding: 26px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.hotel-detail-highlight-panel i {
  display: block;
  margin-bottom: 14px;
  color: #c47a4a;
  font-size: 22px;
}

.hotel-detail-highlight-panel h3 {
  margin-bottom: 8px;
  font-family: "Urbanist", sans-serif;
  font-size: 19px;
  color: #fff;
}

.hotel-detail-highlight-panel p {
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
}

/* ── Contact & Location (light, accent-bar cards) ─────────── */
.hotel-detail-contact-location-section {
  background: #fff;
}

.hotel-detail-contact-location-section .eyebrow {
  color: #c47a4a;
}

.hotel-detail-contact-location-section .lake-tip-list {
  display: grid;
  gap: 16px;
  margin-top: 30px;
}

.hotel-detail-contact-location-section .lake-tip-list p {
  margin: 0;
  padding: 20px 24px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(138, 127, 115, 0.14);
  border-left: 4px solid #c47a4a;
  box-shadow: 0 10px 26px rgba(16, 28, 37, 0.06);
  color: #2a3c47;
  font-weight: 500;
}

.hotel-detail-contact-location-section .lake-tip-list a {
  color: #2a3c47;
  text-decoration: none;
}

.hotel-detail-contact-location-section .lake-tip-list a:hover {
  color: #c47a4a;
}

.hotel-detail-contact-location-section img {
  width: 100%;
  border-radius: 16px;
  object-fit: cover;
}

/* ── CTA — tighten gap between heading and buttons ────────── */
.hotel-detail-page .lake-cta-section .cta-title {
  margin-bottom: 0;
}

.hotel-detail-page .lake-cta-section .heroBtn {
  margin-top: 22px;
}

/* ── Gallery lightbox ─────────────────────────────────────── */
.hotel-gallery-lightbox .modal-content {
  background: #0d1f35;
  color: #fff;
}

.hotel-gallery-lightbox .modal-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.hotel-gallery-lightbox .carousel-item img {
  width: 100%;
  max-height: 76vh;
  object-fit: contain;
  background: #000;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 991px) {
  .hotel-detail-amenities-section .hotel-detail-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hotel-detail-highlight-panel {
    grid-template-columns: 1fr;
  }

  .hotel-detail-slider {
    --slider-height: 380px;
  }

  .hotel-detail-page .hotel-section-title {
    font-size: 38px;
  }
}

@media (max-width: 767px) {
  .hotel-detail-property-section,
  .hotel-detail-identity-section,
  .hotel-detail-gallery-section,
  .hotel-detail-amenities-section,
  .hotel-detail-unique-section,
  .hotel-detail-story-section,
  .hotel-detail-perks-section,
  .hotel-detail-contact-location-section {
    padding: 60px 0;
  }

  .hotel-detail-amenities-section .hotel-detail-feature-grid,
  .hotel-detail-perk-grid {
    grid-template-columns: 1fr;
  }

  .hotel-detail-property-panel {
    flex-direction: column;
  }

  .hotel-detail-identity-list {
    grid-template-columns: 1fr;
  }

  .hotel-detail-identity-list > div:nth-child(odd) {
    border-right: 0;
  }

  .hotel-detail-slider {
    --slider-height: 260px;
  }

  .hotel-detail-page .hotel-section-title {
    font-size: 30px;
  }

  .hotel-detail-slider-thumbs button {
    height: 60px;
  }
}

/* ==========================================================================
   Lake Directory + Partner Directory filters
   ========================================================================== */
.eyebrow.copper { color: #C47A4A; }

/* Hero */
.lake-directory-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  padding: 90px 0;
  color: #fff;
}
.lake-directory-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(9, 18, 33, 0.82) 0%, rgba(9, 18, 33, 0.55) 55%, rgba(9, 18, 33, 0.35) 100%);
}
.lake-directory-hero__inner {
  position: relative;
  max-width: 640px;
}
.lake-directory-hero h1 {
  font-family: "Urbanist", sans-serif;
  font-size: 52px;
  font-weight: 600;
  line-height: 1.1;
  color: #fff;
  margin-bottom: 16px;
}
.lake-directory-hero h1 span { color: #C47A4A; }
.lake-directory-hero__lead {
  font-size: 18px;
  color: #dfe4ec;
  max-width: 520px;
  margin-bottom: 28px;
}
.lake-directory-hero__search {
  display: flex;
  gap: 8px;
  background: #fff;
  border-radius: 10px;
  padding: 8px;
  max-width: 520px;
  box-shadow: 0 18px 40px rgba(9, 18, 33, 0.25);
}
.lake-directory-hero__search input {
  flex: 1;
  border: 0;
  outline: none;
  padding: 10px 14px;
  font-size: 15px;
  line-height: 1;
  color: #0D1F35;
  background: transparent;
}
.lake-directory-hero__search .themeBtnOne { border: 0; cursor: pointer; }
.homeHero-search { margin: 0 auto 80px; min-width: 80%; }

/* Section wrapper */
.lake-directory-section { padding: 64px 0; background: #F7F9FA; }

/* Filter card */
.lake-filter-card {
  position: sticky;
  top: 96px;
  background: #fff;
  border: 1px solid #e6e9ee;
  border-radius: 14px;
  padding: 22px;
  box-shadow: 0 6px 24px rgba(13, 31, 53, 0.05);
}
.lake-filter-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}
.lake-filter-card__head h2 {
  font-family: "Urbanist", sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: #C47A4A;
  margin: 0;
}
.lake-filter-clear {
  font-size: 13px;
  font-weight: 600;
  color: #0D1F35;
  text-decoration: none;
}
.lake-filter-clear:hover { color: #C47A4A; }

.lake-filter-group { margin-bottom: 18px; }
.lake-filter-group > label,
.lake-filter-group__label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0D1F35;
  margin-bottom: 8px;
}
.lake-filter-group input[type="text"],
.lake-filter-group select {
  width: 100%;
  border: 1px solid #d7dce3;
  border-radius: 8px;
  padding: 9px 12px;
  font-size: 14px;
  color: #0D1F35;
  background: #fff;
  outline: none;
  transition: border-color 0.2s ease;
}
.lake-filter-group input[type="text"]:focus,
.lake-filter-group select:focus { border-color: #C47A4A; }

.lake-filter-checks {
  max-height: 260px;
  overflow-y: auto;
  padding-right: 4px;
}
.lake-filter-check {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  color: #3d4757;
  margin-bottom: 9px;
  cursor: pointer;
}
.lake-filter-check input { accent-color: #C47A4A; width: 15px; height: 15px; }
.lake-filter-apply { width: 100%; border: 0; cursor: pointer; margin-top: 4px; }

/* Results toolbar */
.lake-directory-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
  flex-wrap: wrap;
}
.lake-directory-count { margin: 0; font-size: 15px; color: #526075; }
.lake-directory-count strong { color: #0D1F35; }
.lake-directory-sort { display: flex; align-items: center; gap: 8px; margin: 0; }
.lake-directory-sort span { font-size: 14px; color: #526075; }
.lake-directory-sort select {
  border: 1px solid #d7dce3;
  border-radius: 8px;
  padding: 7px 30px 7px 12px;
  font-size: 14px;
  color: #0D1F35;
  background: #fff;
  cursor: pointer;
}

/* Result card */
.lake-result-card {
  height: 100%;
  background: #fff;
  border: 1px solid #e6e9ee;
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.lake-result-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(13, 31, 53, 0.12);
}
.lake-result-card__media {
  position: relative;
  display: block;
  height: 180px;
  overflow: hidden;
}
.lake-result-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.lake-result-card:hover .lake-result-card__media img { transform: scale(1.05); }
.lake-result-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #eef1f5;
  color: #9aa5b4;
  font-size: 30px;
}
.lake-result-card__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(13, 31, 53, 0.82);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 20px;
}
.lake-result-card__body { padding: 18px; display: flex; flex-direction: column; flex: 1; }
.lake-result-card__body h3 {
  font-family: "Urbanist", sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: #0D1F35;
  margin: 0 0 6px;
}
.lake-result-card__meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #6b7688;
  margin: 0 0 10px;
}
.lake-result-card__meta i { color: #C47A4A; }
.lake-result-card__desc { font-size: 14px; color: #526075; margin: 0 0 14px; flex: 1; }
.lake-result-card__link {
  font-size: 14px;
  font-weight: 600;
  color: #C47A4A;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
}
.lake-result-card__link i { transition: transform 0.2s ease; }
.lake-result-card__link:hover { color: #9c5c33; }
.lake-result-card__link:hover i { transform: translateX(3px); }

/* Empty state */
.lake-directory-empty {
  text-align: center;
  padding: 60px 20px;
  background: #fff;
  border: 1px dashed #d7dce3;
  border-radius: 14px;
}
.lake-directory-empty i { font-size: 34px; color: #b7c0cc; margin-bottom: 14px; }
.lake-directory-empty p { color: #526075; margin-bottom: 18px; }

/* Pagination */
.lake-directory-pagination { margin-top: 34px; }
.lake-directory-pagination .pagination {
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}
.lake-directory-pagination .page-item .page-link {
  min-width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e0e4ea;
  border-radius: 9px;
  color: #3d4757;
  font-weight: 600;
  background: #fff;
}
.lake-directory-pagination .page-item .page-link:hover { border-color: #C47A4A; color: #C47A4A; }
.lake-directory-pagination .page-item.active .page-link {
  background: #C47A4A;
  border-color: #C47A4A;
  color: #fff;
}
.lake-directory-pagination .page-item.disabled .page-link { color: #b7c0cc; background: #f4f6f9; }

/* Explore CTA */
.lake-directory-cta { background: #0D1F35; padding: 72px 0; }
.lake-directory-cta h2 {
  font-family: "Urbanist", sans-serif;
  font-size: 40px;
  font-weight: 600;
  color: #fff;
  margin: 4px 0 14px;
}
.lake-directory-cta h2 span { color: #C47A4A; }
.lake-directory-cta__lead {
  color: #c3cbd6;
  max-width: 680px;
  margin: 0 auto 26px;
  font-size: 16px;
}
.lake-directory-cta__actions {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 991px) {
  .lake-filter-card { position: static; margin-bottom: 8px; }
  .lake-directory-hero h1 { font-size: 40px; }
}
@media (max-width: 575px) {
  .lake-directory-hero { padding: 60px 0; }
  .lake-directory-hero h1 { font-size: 32px; }
  .lake-directory-hero__search { flex-direction: column; }
  .lake-directory-hero__search .themeBtnOne { width: 100%; }
}

/* Partner directory hero tweaks */
.partner-directory-hero h1 { font-size: 44px; }
.partner-directory-hero h1 i { color: #C47A4A; margin-right: 8px; }
.partner-directory-hero h1 span {
  display: block;
  font-size: 26px;
  font-weight: 500;
  color: #dfe4ec;
  margin-top: 6px;
}
.partner-directory-hero__scope {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 22px;
  flex-wrap: wrap;
}
.partner-directory-hero__scope .lake-result-card__badge { position: static; }
.partner-directory-hero__scope a { color: #fff; font-size: 14px; text-decoration: none; }
.partner-directory-hero__scope a:hover { color: #C47A4A; }
@media (max-width: 991px) {
  .partner-directory-hero h1 { font-size: 34px; }
}


/* Filter sidebar section headings (Amenities / Unique Features) */
.lake-filter-section-title {
  font-family: "Urbanist", sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #0D1F35;
  margin: 6px 0 12px;
  padding-top: 14px;
  border-top: 1px solid #e6e9ee;
}

/* Searchable navigate dropdown (Lake Region) */
.lb-searchselect { position: relative; }
.lb-searchselect__input {
  width: 100%;
  border: 1px solid #d7dce3;
  border-radius: 8px;
  padding: 9px 32px 9px 12px;
  font-size: 14px;
  color: #0D1F35;
  background: #fff;
  outline: none;
  transition: border-color 0.2s ease;
}
.lb-searchselect__input:focus { border-color: #C47A4A; }
.lb-searchselect__caret {
  position: absolute;
  right: 14px;
  top: 18px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #5d6870;
  border-bottom: 2px solid #5d6870;
  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.2s ease;
  pointer-events: none;
}
.lb-searchselect.is-open .lb-searchselect__caret { transform: translateY(-20%) rotate(225deg); }
.lb-searchselect__menu {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  max-height: 240px;
  overflow-y: auto;
  margin: 0;
  padding: 6px;
  list-style: none;
  background: #fff;
  border: 1px solid #e0e4ea;
  border-radius: 10px;
  box-shadow: 0 18px 40px rgba(13, 31, 53, 0.14);
  z-index: 30;
}
.lb-searchselect.is-open .lb-searchselect__menu { display: block; }
.lb-searchselect__option {
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 14px;
  color: #2a3c47;
  cursor: pointer;
}
.lb-searchselect__option:hover { background: rgba(196, 122, 74, 0.1); }
.lb-searchselect__option.is-selected { background: rgba(196, 122, 74, 0.14); font-weight: 600; }

/* ===== 250-Year Celebration Popup CSS Start ===== */
body.adventure-popup-open {
  overflow: hidden;
}
.adventure-popup {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  opacity: 0;
  padding: 20px;
  pointer-events: none;
  position: fixed;
  transition: opacity 0.28s ease, visibility 0.28s ease;
  visibility: hidden;
  z-index: 9999;
}
.adventure-popup.is-visible {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}
.adventure-popup__overlay {
  background: rgba(8, 18, 27, 0.72);
  backdrop-filter: blur(8px);
  inset: 0;
  position: absolute;
}
.adventure-popup__dialog {
  background: #fff8eb;
  border: 1px solid rgba(201, 164, 92, 0.42);
  border-radius: 8px;
  box-shadow: 0 30px 90px rgba(8, 18, 27, 0.42);
  color: #1d2c36;
  max-height: calc(100vh - 40px);
  max-width: 920px;
  overflow: hidden auto;
  position: relative;
  transform: translateY(24px) scale(0.98);
  transition: transform 0.32s ease;
  width: min(920px, 100%);
}
.adventure-popup.is-visible .adventure-popup__dialog {
  transform: translateY(0) scale(1);
}
.adventure-popup__close {
  align-items: center;
  background: rgba(255, 248, 235, 0.92);
  border: 1px solid rgba(255, 248, 235, 0.7);
  border-radius: 50%;
  color: #18364a;
  display: inline-flex;
  height: 42px;
  justify-content: center;
  position: absolute;
  right: 16px;
  top: 16px;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
  width: 42px;
  z-index: 4;
}
.adventure-popup__close:hover,
.adventure-popup__close:focus {
  background: #c47a4a;
  color: #ffffff;
  transform: rotate(90deg);
}
.adventure-popup__hero {
  aspect-ratio: 16 / 9;
  background: url("../images/250-anniversary.png") center / cover;
  overflow: hidden;
  padding: 42px 0 0;
  position: relative;
  width: 100%;
}
.adventure-popup__hero-video {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
  z-index: 0;
}
.adventure-popup__hero-mute {
  align-items: center;
  background: rgba(8, 18, 27, 0.5);
  border: 1px solid rgba(255, 248, 235, 0.5);
  border-radius: 50%;
  color: #ffffff;
  display: inline-flex;
  font-size: 14px;
  height: 36px;
  justify-content: center;
  left: 16px;
  position: absolute;
  top: 16px;
  transition: background-color 0.2s ease, transform 0.2s ease;
  width: 36px;
  z-index: 3;
}
.adventure-popup__hero-mute:hover,
.adventure-popup__hero-mute:focus {
  background: rgba(8, 18, 27, 0.78);
  transform: scale(1.06);
}
/* .adventure-popup__hero::after {
  background-image:
    radial-gradient(rgba(255, 255, 255, 0.14) 0.7px, transparent 0.7px),
    linear-gradient(135deg, rgba(255, 248, 235, 0.1), transparent 48%, rgba(196, 122, 74, 0.12));
  background-size: 4px 4px, 100% 100%;
  content: "";
  inset: 0;
  opacity: 0.55;
  pointer-events: none;
  position: absolute;
  z-index: 1;
} */
.adventure-popup__hero-copy {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  background:  linear-gradient(180deg, rgba(12, 26, 36, 0.1), rgba(12, 26, 36, 0.74)),
    linear-gradient(90deg, rgba(111, 62, 32, 0.46), rgba(18, 52, 71, 0.3));
    padding: 40px;
    width: 100%
}
.adventure-popup__kicker {
  color: #f0c36d;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: 0 0 8px;
  text-transform: uppercase;
}
.adventure-popup__hero h2 {
  color: #ffffff;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(36px, 5vw, 58px);
  font-weight: 700;
  line-height: 0.98;
  margin: 0 0 14px;
  max-width: 680px;
}
.adventure-popup__hero p:last-child {
  color: rgba(255, 255, 255, 0.92);
  font-size: 18px;
  line-height: 1.5;
  margin: 0;
  max-width: 800px;
}
.adventure-popup__hero p:last-child strong{
  color: #f0c36d;
}
.adventure-popup__compass {
  align-items: center;
  border: 1px solid rgba(240, 195, 109, 0.56);
  border-radius: 50%;
  color: rgba(255, 248, 235, 0.86);
  display: inline-flex;
  font-size: 46px;
  height: 98px;
  justify-content: center;
  position: absolute;
  right: 82px;
  top: 58px;
  width: 98px;
  z-index: 2;
}
.adventure-popup__mapline {
  border-top: 2px dashed rgba(240, 195, 109, 0.58);
  height: 86px;
  left: 44px;
  position: absolute;
  right: 160px;
  top: 76px;
  transform: rotate(-6deg);
  z-index: 2;
}
.adventure-popup__mapline::before,
.adventure-popup__mapline::after {
  background: #f0c36d;
  border-radius: 50%;
  content: "";
  height: 10px;
  position: absolute;
  top: -6px;
  width: 10px;
}
.adventure-popup__mapline::before {
  left: 8%;
}
.adventure-popup__mapline::after {
  right: 12%;
}
.adventure-popup__body {
  display: grid;
  gap: 18px;
  padding: 28px 34px 30px;
}
.adventure-popup__message {
  display: grid;
  gap: 12px;
}
.adventure-popup__message p {
  color: #405462;
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
}
.adventure-popup__offer {
  align-items: stretch;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(160px, 210px) 1fr;
}
.adventure-popup__counter {
  align-items: center;
  background: #18364a;
  border-radius: 8px;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 148px;
  padding: 18px;
  text-align: center;
}
.adventure-popup__counter span {
  color: #f0c36d;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.adventure-popup__counter strong {
  font-family: "Cormorant Garamond", serif;
  font-size: 78px;
  line-height: 0.92;
}
.adventure-popup__offer ul {
  background: #ffffff;
  border: 1px solid rgba(24, 54, 74, 0.1);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 20px;
}
.adventure-popup__offer li {
  align-items: flex-start;
  color: #263b47;
  display: flex;
  font-size: 15px;
  gap: 10px;
  line-height: 1.45;
  font-weight: 600;
}
.adventure-popup__offer li i {
  color: #c47a4a;
  margin-top: 4px;
}
.adventure-popup__access {
  background:
    linear-gradient(135deg, rgba(255, 248, 235, 0.94), rgba(243, 230, 207, 0.98)),
    radial-gradient(circle at top right, rgba(240, 195, 109, 0.28), transparent 38%);
  border: 1px solid rgba(196, 122, 74, 0.22);
  border-left: 4px solid #c47a4a;
  border-radius: 8px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
  padding: 18px;
}
.adventure-popup__access span {
  color: #18364a;
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 6px;
  text-transform: uppercase;
}
.adventure-popup__access-list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
}
.adventure-popup__access-list li {
  align-items: center;
  background: rgba(255, 255, 255, 0.68);
  border: 1px solid rgba(24, 54, 74, 0.08);
  border-radius: 8px;
  color: #263b47;
  display: flex;
  font-size: 14px;
  font-weight: 700;
  gap: 10px;
  line-height: 1.35;
  min-height: 52px;
  padding: 10px 12px;
}
.adventure-popup__access-list i {
  align-items: center;
  background: #18364a;
  border-radius: 50%;
  color: #f0c36d;
  display: inline-flex;
  flex: 0 0 32px;
  height: 32px;
  justify-content: center;
  width: 32px;
}
.adventure-popup__trust {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.adventure-popup__trust span {
  background: linear-gradient(180deg, #ffffff 0%, #fff8eb 100%);
  border: 1px solid rgba(24, 54, 74, 0.12);
  border-radius: 8px;
  color: #18364a;
  display: flex;
  flex-direction: column;
  font-size: 13px;
  font-weight: 700;
  gap: 10px;
  line-height: 1.4;
  min-height: 118px;
  padding: 16px;
}
.adventure-popup__trust i {
  align-items: center;
  background: rgba(196, 122, 74, 0.12);
  border: 1px solid rgba(196, 122, 74, 0.24);
  border-radius: 50%;
  color: #c47a4a;
  display: inline-flex;
  font-size: 16px;
  height: 38px;
  justify-content: center;
  width: 38px;
}
.adventure-popup__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  padding: 30px 0 0;
}
.adventure-popup__btn {
  align-items: center;
  border-radius: 6px;
  display: inline-flex;
  font-size: 15px;
  font-weight: 800;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.adventure-popup__btn:hover {
  transform: translateY(-1px);
}
.adventure-popup__btn--primary {
  border: 1px solid #c47a4a;
  background: #c47a4a;
  color: #ffffff;
}
.adventure-popup__btn--primary:hover {
  background: #9c5c33;
  color: #ffffff!important;
}
.adventure-popup__btn--secondary {
  background: transparent;
  border: 1px solid #18364a;
  color: #18364a;
}
.adventure-popup__btn--secondary:hover {
  background: #18364a;
  color: #ffffff!important;
}
.adventure-popup__btn-chevron {
  margin-left: 8px;
  transition: transform 0.2s ease;
}
#adventure250ClaimToggle[aria-expanded="true"] .adventure-popup__btn-chevron {
  transform: rotate(180deg);
}
.adventure-popup__partner-types {
  background: #c47a4a17;
  border-radius: 8px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.adventure-popup__partner-types.is-open {
  max-height: 260px;
}
.adventure-popup__partner-types-label {
  color: #18364a;
  font-size: 13px;
  font-weight: 700;
  margin: 12px 0;
  text-align: center;
}
.adventure-popup__partner-type-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  padding-bottom: 12px;
}
.adventure-popup__partner-type-btn {
  align-items: center;
  background: transparent;
  border: 1px solid #18364a;
  border-radius: 999px;
  color: #18364a;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 8px;
  padding: 10px 18px;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.adventure-popup__partner-type-btn i {
  color: #c47a4a;
  transition: color 0.2s ease;
}
.adventure-popup__partner-type-btn:hover {
  background: #18364a;
  color: #ffffff!important;
  transform: translateY(-1px);
}
.adventure-popup__partner-type-btn:hover i {
  color: #f0c36d;
}
.adventure-popup__footer {
  color: #6f3e20;
  font-family: "Cormorant Garamond", serif;
  font-size: 22px;
  font-weight: 700;
  margin: 0;
  text-align: center;
}
@media (max-width: 767px) {
  .adventure-popup {
    align-items: flex-end;
    padding: 12px;
  }
  .adventure-popup__dialog {
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
  }
  .adventure-popup__close {
    position: fixed;
    top: max(16px, env(safe-area-inset-top));
    right: 16px;
    z-index: 10000;
  }
  .adventure-popup__hero-mute {
    position: fixed;
    top: max(16px, env(safe-area-inset-top));
    left: 16px;
    z-index: 10000;
  }
  .adventure-popup__hero {
    min-height: 340px;
    padding: 34px 24px 28px;
  }
  .adventure-popup__hero-copy {
    margin-top: 138px;
  }
  .adventure-popup__hero p:last-child {
    font-size: 16px;
  }
  .adventure-popup__compass {
    font-size: 34px;
    height: 74px;
    right: 24px;
    top: 66px;
    width: 74px;
  }
  .adventure-popup__mapline {
    left: 24px;
    right: 88px;
    top: 96px;
  }
  .adventure-popup__body {
    padding: 24px 20px 26px;
  }
  .adventure-popup__offer,
  .adventure-popup__trust {
    grid-template-columns: 1fr;
  }
  .adventure-popup__access-list {
    grid-template-columns: 1fr;
  }
  .adventure-popup__trust span {
    min-height: auto;
  }
  .adventure-popup__counter {
    min-height: 118px;
  }
  .adventure-popup__counter strong {
    font-size: 62px;
  }
  .adventure-popup__actions,
  .adventure-popup__btn {
    width: 100%;
  }
}
/* ===== 250-Year Celebration Popup CSS End ===== */
