@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Poppins:wght@400;500;600;700;800&display=swap");

.ns-site {
  --green: #443c2b;
  --deep: #312c1f;
  --mint: #f3efe7;
  --cream: #faf9f4;
  --ink: #363022;
  --muted: #947b40;
  --yellow: #f1d978;
  color: var(--ink);
  background: #fff;
  font-family: "DM Sans", sans-serif;
  overflow: hidden;
}
.ns-site *,
.ns-site *::before,
.ns-site *::after {
  box-sizing: border-box;
}
.ns-site button,
.ns-site input {
  font: inherit;
}
.ns-site button {
  cursor: pointer;
}
.ns-site a {
  text-decoration: none;
}
.ns-site img {
  display: block;
  max-width: 100%;
}
.ns-site h1,
.ns-site h2,
.ns-site h3,
.ns-site p {
  margin: 0;
}
.ns-site h1,
.ns-site h2,
.ns-site h3,
.ns-logo {
  font-family: Poppins, sans-serif;
}
.ns-site h2 {
  font-size: clamp(2.2rem, 4vw, 3.65rem);
  line-height: 1.18;
  letter-spacing: -0.055em;
  font-weight: 600;
}
.ns-site h2 em,
.ns-site h1 em {
  font-style: normal;
  color: #977d41;
}
.ns-container {
  width: min(1200px, calc(100% - 80px));
  margin-inline: auto;
}
.ns-section {
  padding-block: 105px;
  scroll-margin-top: 90px;
}
.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  background: var(--green);
  color: white;
  border: 0;
  border-radius: 100px;
  padding: 15px 25px;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  transition:
    transform 0.2s,
    background 0.2s,
    box-shadow 0.2s;
}
.pill:hover {
  transform: translateY(-2px);
  background: #65542b;
  box-shadow: 0 9px 23px #443c2b30;
}
.pill svg {
  flex: none;
}
.overline {
  display: inline-block;
  color: #846d38;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.17em;
  margin-bottom: 21px;
}
.ns-site p {
  line-height: 1.75;
}
.ns-header {
  height: 84px;
  background: #fff;
  position: relative;
  z-index: 20;
  box-shadow: 0 2px 20px #312c2010;
}
.header-inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
}
.ns-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: none;
  color: var(--deep);
  line-height: 1;
}
.logo-badge {
  display: grid;
  place-items: center;
  width: 47px;
  height: 47px;
  border-radius: 50%;
  background: var(--mint);
  color: #786434;
}
.ns-logo strong {
  display: block;
  font-size: 22px;
  letter-spacing: -0.055em;
  font-weight: 700;
}
.ns-logo strong b {
  color: #977d41;
}
.ns-logo small {
  display: block;
  font-family: "DM Sans", sans-serif;
  margin-top: 7px;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.16em;
  color: #bea467;
}
.ns-nav {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2.15vw, 35px);
  margin-left: auto;
}
.ns-nav a {
  color: #6b592e;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  transition: color 0.2s;
}
.ns-nav a:hover {
  color: #7b6635;
}
.header-action {
  padding: 13px 19px;
  font-size: 12px;
}
.mobile-menu {
  display: none;
  border: 0;
  background: none;
  color: var(--green);
}
.ns-hero {
  height: min(650px, 68vw);
  min-height: 570px;
  position: relative;
  display: flex;
  align-items: center;
  background: #3e3728;
  color: #fff;
}
.hero-image,
.hero-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero-image {
  object-fit: cover;
  object-position: center 57%;
}
.hero-shade {
  background:
    linear-gradient(
      90deg,
      rgba(20, 16, 9, 0.79) 0%,
      rgba(20, 16, 9, 0.53) 42%,
      rgba(20, 16, 9, 0.12) 100%
    ),
    linear-gradient(0deg, rgba(20, 16, 9, 0.22), transparent 45%);
}
.hero-content {
  position: relative;
  z-index: 1;
  padding-bottom: 17px;
}
.hero-chip {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: #ffffff26;
  border: 1px solid #ffffff63;
  backdrop-filter: blur(10px);
  border-radius: 30px;
  padding: 9px 17px;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
}
.chip-sun {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--yellow);
  box-shadow: 0 0 0 4px #f1d97840;
}
.ns-hero h1 {
  font-size: clamp(3.4rem, 6.5vw, 6.35rem);
  line-height: 1.09;
  letter-spacing: -0.07em;
  font-weight: 600;
  margin: 30px 0 22px;
  max-width: 820px;
}
.ns-hero h1 em {
  color: #f3db81;
}
.hero-content p {
  color: #f6f4ee;
  max-width: 570px;
  font-size: 18px;
  line-height: 1.7;
}
.hero-buttons {
  display: flex;
  gap: 29px;
  align-items: center;
  margin-top: 34px;
}
.pill-bright {
  background: #f0d779;
  color: #3e3728;
}
.pill-bright:hover {
  background: #ffe591;
}
.hero-text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
}
.hero-text-link:hover {
  text-decoration: underline;
}
.hero-location {
  position: absolute;
  right: max(40px, calc((100vw - 1200px) / 2));
  bottom: 42px;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.13em;
}
.quick-bar {
  position: relative;
  z-index: 3;
  margin-top: -37px;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 16px 45px #413a2a24;
  min-height: 110px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 18px 24px;
  gap: 14px;
}
.quick-item {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 0 16px;
  border-right: 1px solid #eeeadf;
  flex: 1;
}
.quick-icon {
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  flex: none;
  border-radius: 50%;
  background: #f4f1eb;
  color: #7d6735;
}
.quick-item small {
  display: block;
  color: #c2a970;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  margin-bottom: 4px;
}
.quick-item strong {
  display: block;
  font-size: 14px;
  color: var(--deep);
  white-space: nowrap;
}
.quick-button {
  padding: 14px 20px;
  font-size: 12px;
}
.welcome {
  display: grid;
  grid-template-columns: 1.07fr 0.93fr;
  align-items: center;
  gap: clamp(55px, 8vw, 125px);
  padding-top: 145px;
}
.welcome-photos {
  height: 530px;
  position: relative;
}
.welcome-main-image {
  width: 77%;
  height: 86%;
  border-radius: 20px;
  overflow: hidden;
}
.welcome-second-image {
  position: absolute;
  width: 48%;
  height: 49%;
  right: 0;
  bottom: 0;
  border: 8px solid white;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 18px 40px #2f2a1e22;
}
.welcome-photos img,
.thing-card > img,
.photo-tile img,
.video-thumb img,
.booking-photo img,
.location-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.welcome-sticker {
  position: absolute;
  top: 12%;
  right: 7%;
  width: 113px;
  height: 113px;
  border-radius: 50%;
  transform: rotate(11deg);
  background: #f2db85;
  color: #63522b;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 900;
  letter-spacing: 0.04em;
  box-shadow: 0 6px 23px #2f2a1e24;
}
.welcome-sticker svg {
  margin-bottom: 5px;
}
.welcome-copy p {
  margin: 25px 0;
  max-width: 480px;
  color: var(--muted);
  font-size: 16px;
}
.leaf-dot {
  color: #f2bc47;
  font-size: 20px;
  vertical-align: middle;
  margin-left: 9px;
}
.welcome-highlights {
  display: grid;
  gap: 12px;
  margin: 26px 0 34px;
}
.welcome-highlights span {
  display: flex;
  align-items: center;
  gap: 11px;
  color: #61512a;
  font-size: 14px;
  font-weight: 700;
}
.welcome-highlights svg {
  width: 23px;
  height: 23px;
  padding: 4px;
  border-radius: 50%;
  background: #f3efe7;
  color: #8b733b;
}
.things-section {
  background: #f9f7f3;
}
.section-top.center {
  max-width: 700px;
  text-align: center;
  margin: 0 auto 49px;
}
.section-top p {
  color: var(--muted);
  font-size: 15px;
  margin: 16px auto 0;
}
.things-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.thing-card {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 6px 30px #4039290b;
}
.thing-card > img {
  height: 245px;
}
.thing-card:hover > img {
  transform: scale(1.04);
}
.thing-card > div {
  padding: 28px 29px 30px;
  position: relative;
}
.thing-icon {
  position: absolute;
  right: 28px;
  top: -23px;
  display: grid;
  place-items: center;
  width: 47px;
  height: 47px;
  background: #f4f1e9;
  border: 4px solid white;
  border-radius: 50%;
  color: #786434;
}
.thing-card h3 {
  color: var(--deep);
  font-size: 19px;
  letter-spacing: -0.03em;
}
.thing-card p {
  color: var(--muted);
  font-size: 14px;
  margin-top: 5px;
}
.gallery-title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 34px;
  gap: 30px;
}
.gallery-title p {
  max-width: 315px;
  margin: 0 0 6px;
}
.photo-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: 220px 220px;
  gap: 13px;
}
.photo-tile {
  position: relative;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 13px;
  background: #f0ece2;
  text-align: left;
}
.photo-tile:hover img,
.video-card:hover img {
  transform: scale(1.06);
}
.photo-0 {
  grid-column: span 2;
  grid-row: span 2;
}
.photo-4 {
  grid-column: span 2;
}
.photo-caption {
  position: absolute;
  inset: auto 0 0;
  padding: 35px 18px 15px;
  background: linear-gradient(transparent, #232017a8);
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}
.gallery-more {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 27px auto 0;
  border: 0;
  background: none;
  color: var(--green);
  font-weight: 800;
  font-size: 14px;
}
.gallery-more:hover {
  text-decoration: underline;
}
.videos-section {
  background: #f6f4ee;
}
.videos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 23px;
}
.video-card {
  background: #fff;
  border: 0;
  padding: 0;
  text-align: left;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 25px #322d2011;
}
.video-thumb {
  position: relative;
  height: 240px;
  overflow: hidden;
  background: #342f22;
}
.video-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #24201740;
}
.play-button {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  color: var(--green);
  background: white;
  box-shadow: 0 7px 28px #0003;
  transition: transform 0.2s;
}
.video-card:hover .play-button {
  transform: translate(-50%, -50%) scale(1.1);
}
.video-duration {
  position: absolute;
  z-index: 1;
  bottom: 13px;
  right: 13px;
  border-radius: 20px;
  background: #242017c9;
  color: white;
  padding: 5px 9px;
  font-size: 11px;
}
.video-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 21px 20px;
  color: var(--deep);
  font-size: 15px;
  font-weight: 800;
}
.rates-section {
  background: #faf8f5;
}
.rates-layout {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: clamp(50px, 10vw, 150px);
  align-items: center;
}
.rates-copy p {
  color: var(--muted);
  margin-top: 24px;
  max-width: 360px;
}
.rates-deco {
  color: #ddd0b1;
  margin-top: 50px;
}
.price-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}
.price-card {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 25px 28px;
  background: #fff;
  border: 1px solid #eee9de;
  border-radius: 17px;
  box-shadow: 0 8px 22px #322d200a;
}
.price-card.featured {
  background: var(--green);
  color: white;
  border-color: var(--green);
}
.price-label > span {
  color: #957c40;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.13em;
}
.price-label h3 {
  font-size: 19px;
  letter-spacing: -0.035em;
  line-height: 1.2;
  margin-top: 11px;
}
.price-label p {
  color: #bfa569;
  font-size: 13px;
  margin-top: 3px;
}
.price-value {
  color: var(--green);
  font-family: Poppins, sans-serif;
  font-size: 42px;
  font-weight: 700;
  letter-spacing: -0.065em;
  white-space: nowrap;
  line-height: 1;
}
.price-value small {
  font-size: 16px;
  letter-spacing: 0;
}
.price-value span {
  font-size: 25px;
}
.featured .price-label > span {
  color: #e2dac7;
}
.featured .price-label p {
  color: #eae4d6;
}
.featured .price-value {
  color: #f5df8c;
}
.price-note {
  color: #a98c48;
  font-size: 12px;
}
.booking-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: clamp(45px, 8vw, 110px);
}
.booking-side p {
  color: var(--muted);
  max-width: 470px;
  margin: 22px 0 30px;
}
.booking-photo {
  height: 225px;
  max-width: 470px;
  position: relative;
  border-radius: 17px;
  overflow: hidden;
}
.booking-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent, #2320176b);
}
.booking-photo span {
  position: absolute;
  z-index: 1;
  bottom: 18px;
  left: 20px;
  color: #fff;
  font-size: 11px;
  letter-spacing: 0.12em;
  font-weight: 900;
}
.booking-form-card {
  background: #faf8f4;
  border: 1px solid #f2eee5;
  padding: clamp(30px, 4vw, 50px);
  border-radius: 23px;
  box-shadow: 0 18px 40px #322d2010;
}
.form-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #826c38;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
}
.booking-form-card h3 {
  color: var(--deep);
  font-size: 27px;
  letter-spacing: -0.04em;
  margin: 18px 0 5px;
}
.booking-form-card > p {
  color: var(--muted);
  font-size: 14px;
  margin-bottom: 25px;
}
.booking-form-card form {
  display: flex;
  flex-direction: column;
}
.booking-form-card label {
  color: #66552c;
  font-size: 13px;
  font-weight: 800;
  margin: 0 0 8px;
}
.booking-form-card input {
  width: 100%;
  height: 52px;
  border: 1px solid #e9e3d4;
  background: white;
  border-radius: 9px;
  padding: 0 14px;
  color: var(--ink);
  margin-bottom: 18px;
  outline: none;
}
.booking-form-card input:focus {
  border-color: #846e39;
  box-shadow: 0 0 0 3px #846e3922;
}
.form-submit {
  width: 100%;
  margin-top: 7px;
  white-space: normal;
  text-align: center;
}
.form-hint {
  display: block;
  color: #b89c5a;
  font-size: 11px;
  line-height: 1.5;
  margin-top: 15px;
}
.booking-feedback {
  display: block;
  margin-top: 14px;
  padding: 12px;
  border-radius: 8px;
  background: #f0ece3;
  color: #413a29;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}
.booking-feedback textarea {
  width: 100%;
  min-height: 90px;
  resize: vertical;
  margin-top: 8px;
  padding: 9px;
  border: 1px solid #d5c49c;
  border-radius: 6px;
  background: white;
  font-size: 12px;
}
.location-section {
  background: #f8f6f2;
}
.location-layout {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  align-items: center;
  gap: clamp(45px, 8vw, 110px);
}
.location-layout p {
  color: var(--muted);
  max-width: 440px;
  margin: 21px 0;
}
.address-line {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin: 27px 0 30px;
  color: var(--green);
}
.address-line address {
  color: #5f4e29;
  font-size: 15px;
  line-height: 1.6;
  font-style: normal;
  font-weight: 700;
}
.location-photo {
  height: 400px;
  border-radius: 21px;
  overflow: hidden;
  position: relative;
}
.location-pill {
  position: absolute;
  bottom: 18px;
  left: 18px;
  background: #fff;
  border-radius: 40px;
  padding: 9px 14px;
  display: flex;
  gap: 6px;
  align-items: center;
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
}
.final-cta {
  padding: 82px 0;
  text-align: center;
  color: #fff;
  background:
    radial-gradient(circle at 5% 15%, #87703a 0, transparent 32%),
    radial-gradient(circle at 100% 95%, #756132 0, transparent 36%), #463f2d;
}
.final-cta .overline {
  color: #f1db85;
}
.final-cta h2 {
  margin-bottom: 28px;
}
.final-cta h2 em {
  color: #f4de8b;
}
.pill-white {
  background: #fff;
  color: var(--green);
}
.pill-white:hover {
  background: #f0df9d;
}
.ns-footer {
  background: #302a1e;
  color: #f0ece2;
  padding: 63px 0 25px;
}
.footer-main {
  display: grid;
  grid-template-columns: 1.7fr 0.7fr 1.2fr 1fr;
  gap: 40px;
  padding-bottom: 55px;
}
.footer-logo {
  color: #fff;
}
.footer-logo .logo-badge {
  background: #ffffff20;
  color: #e4d9c0;
}
.footer-logo strong b {
  color: #dacba8;
}
.ns-footer p {
  margin-top: 20px;
  color: #d9caa7;
  font-size: 13px;
}
.footer-main > div:not(:first-child) {
  display: flex;
  flex-direction: column;
  gap: 13px;
  font-size: 13px;
  color: #d6c59f;
}
.footer-main > div > strong {
  color: #fff;
  font-size: 14px;
  margin: 5px 0 10px;
}
.ns-footer a:not(.ns-logo) {
  color: #d6c59f;
}
.ns-footer a:hover {
  color: #fff;
}
.footer-end {
  border-top: 1px solid #ffffff24;
  padding-top: 23px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #d1be93;
  font-size: 11px;
}
.mobile-whatsapp {
  display: none;
}
.lightbox {
  position: fixed;
  inset: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  border: 0;
  background: #15120df0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 65px 75px;
  color: white;
}
.lightbox > img {
  position: relative;
  z-index: 1;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 6px;
}
.lightbox button {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  background: #ffffff25;
  color: white;
}
.lightbox button:hover {
  background: #ffffff4a;
}
.lightbox .lightbox-backdrop {
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
  background: transparent;
}
.lightbox .lightbox-backdrop:hover {
  background: transparent;
}
.modal-close {
  top: 22px;
  right: 26px;
}
.lightbox-prev {
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
}
.lightbox-next {
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
}
.lightbox-caption {
  position: absolute;
  z-index: 2;
  bottom: 22px;
  font-size: 13px;
  letter-spacing: 0.03em;
}
.video-modal video {
  position: relative;
  z-index: 1;
  max-width: min(100%, 1000px);
  max-height: 80vh;
  background: #000;
  border-radius: 8px;
}
@media (max-width: 1100px) {
  .ns-container {
    width: min(100% - 48px, 1200px);
  }
  .ns-nav {
    gap: 15px;
  }
  .ns-nav a {
    font-size: 12px;
  }
  .header-action {
    display: none;
  }
  .quick-item {
    padding: 0 5px;
  }
  .quick-button {
    padding: 13px 15px;
  }
}
@media (max-width: 800px) {
  .ns-section {
    padding-block: 75px;
  }
  .ns-header {
    height: 70px;
  }
  .mobile-menu {
    display: grid;
    place-items: center;
    margin-left: auto;
  }
  .ns-nav {
    display: none;
    position: absolute;
    top: 70px;
    left: 0;
    right: 0;
    background: #fff;
    padding: 18px 24px 25px;
    box-shadow: 0 20px 30px #332e2120;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .ns-nav.open {
    display: flex;
  }
  .ns-nav a {
    padding: 12px 5px;
    font-size: 15px;
  }
  .ns-hero {
    min-height: 590px;
    height: auto;
  }
  .ns-hero h1 {
    font-size: clamp(3.3rem, 9vw, 5rem);
  }
  .quick-bar {
    flex-wrap: wrap;
  }
  .quick-item {
    flex: 1 1 40%;
    border: 0;
  }
  .quick-button {
    flex: 1 1 100%;
  }
  .welcome {
    grid-template-columns: 1fr;
    gap: 48px;
    padding-top: 92px;
  }
  .welcome-photos {
    height: 475px;
    max-width: 620px;
    width: 100%;
  }
  .things-grid,
  .videos-grid {
    gap: 15px;
  }
  .thing-card > img,
  .video-thumb {
    height: 180px;
  }
  .thing-card > div {
    padding: 24px 18px;
  }
  .thing-card h3 {
    font-size: 16px;
  }
  .photo-grid {
    grid-template-rows: 190px 190px;
  }
  .rates-layout,
  .booking-section,
  .location-layout {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .rates-deco {
    display: none;
  }
  .booking-photo {
    max-width: none;
  }
  .footer-main {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .ns-container {
    width: calc(100% - 36px);
  }
  .ns-section {
    padding-block: 65px;
  }
  .ns-site h2 {
    font-size: clamp(2.15rem, 9vw, 3rem);
  }
  .ns-logo strong {
    font-size: 20px;
  }
  .ns-hero {
    min-height: 610px;
    align-items: center;
  }
  .hero-image {
    object-position: 59% center;
  }
  .hero-shade {
    background:
      linear-gradient(90deg, #1c1912cb, #1c191272),
      linear-gradient(0deg, #1c191266, transparent 55%);
  }
  .hero-content {
    padding-bottom: 30px;
  }
  .hero-chip {
    font-size: 9px;
    padding: 9px 12px;
  }
  .ns-hero h1 {
    font-size: clamp(3.25rem, 13vw, 4.7rem);
    margin: 26px 0 19px;
  }
  .hero-content p {
    font-size: 15px;
  }
  .hero-buttons {
    flex-wrap: wrap;
    gap: 20px;
  }
  .hero-location {
    right: 18px;
    bottom: 21px;
    font-size: 9px;
  }
  .quick-bar {
    margin-top: -16px;
    gap: 7px;
    padding: 18px;
  }
  .quick-item {
    flex: 1 1 100%;
    padding: 7px 2px;
  }
  .quick-icon {
    width: 40px;
    height: 40px;
  }
  .quick-item small {
    font-size: 9px;
  }
  .quick-item strong {
    font-size: 13px;
  }
  .quick-button {
    margin-top: 6px;
  }
  .welcome {
    padding-top: 75px;
  }
  .welcome-photos {
    height: 340px;
  }
  .welcome-main-image {
    width: 79%;
  }
  .welcome-second-image {
    border-width: 5px;
  }
  .welcome-sticker {
    width: 78px;
    height: 78px;
    font-size: 9px;
    top: 7%;
    right: 4%;
  }
  .welcome-sticker svg {
    width: 16px;
    height: 16px;
  }
  .welcome-copy p {
    font-size: 15px;
  }
  .section-top.center {
    margin-bottom: 32px;
  }
  .things-grid,
  .videos-grid {
    grid-template-columns: 1fr;
    gap: 17px;
  }
  .thing-card > img {
    height: 220px;
  }
  .thing-card > div {
    padding: 23px;
  }
  .thing-card h3 {
    font-size: 18px;
  }
  .video-thumb {
    height: 220px;
  }
  .gallery-title {
    display: block;
  }
  .gallery-title p {
    margin: 14px 0 0;
  }
  .photo-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 225px 155px 155px;
    gap: 8px;
  }
  .photo-0 {
    grid-column: span 2;
    grid-row: span 1;
  }
  .photo-4 {
    grid-column: span 1;
  }
  .photo-caption {
    font-size: 11px;
    padding: 30px 10px 10px;
  }
  .photo-caption svg {
    width: 14px;
  }
  .price-card {
    padding: 20px 17px;
  }
  .price-label h3 {
    font-size: 15px;
  }
  .price-value {
    font-size: 32px;
  }
  .price-value small {
    font-size: 13px;
  }
  .price-value span {
    font-size: 19px;
  }
  .booking-photo {
    height: 180px;
  }
  .booking-form-card {
    padding: 26px 21px;
  }
  .booking-form-card h3 {
    font-size: 23px;
  }
  .booking-photo {
    height: 180px;
  }
  .location-photo {
    height: 270px;
  }
  .final-cta {
    padding: 72px 0;
  }
  .footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 35px 20px;
  }
  .footer-main > div:first-child {
    grid-column: span 2;
  }
  .footer-end {
    display: block;
    line-height: 2;
  }
  .footer-end a {
    display: block;
  }
  .mobile-whatsapp {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    position: fixed;
    bottom: 58px;
    right: 14px;
    left: 14px;
    z-index: 25;
    border-radius: 50px;
    background: #4a4230;
    color: #fff !important;
    padding: 13px;
    box-shadow: 0 8px 27px #1f1c1480;
    font-size: 13px;
    font-weight: 800;
  }
  .ns-footer {
    padding-bottom: 85px;
  }
  .lightbox {
    padding: 65px 15px;
  }
  .lightbox-prev {
    left: 7px;
  }
  .lightbox-next {
    right: 7px;
  }
  .lightbox button {
    width: 35px;
    height: 35px;
  }
  .lightbox-caption {
    bottom: 25px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ns-site *,
  .ns-site *::before,
  .ns-site *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* Static edition: accessible controls and responsive media. */
html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0}.ns-site{overflow-x:clip}button,input,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a48a42;outline-offset:5px}img{max-width:100%}.skip-link{position:fixed;left:16px;top:-100px;z-index:300;background:#fff;padding:12px 18px;color:#262219}.skip-link:focus{top:16px}.ns-logo svg{width:24px;height:24px}.video-grid-static{display:grid;grid-template-columns:1fr 1fr;gap:28px}.video-grid-static figure{margin:0;min-width:0}.video-grid-static video{display:block;width:100%;height:480px;object-fit:contain;background:#232017;border-radius:20px}.video-grid-static figcaption{padding:18px 2px;font-weight:600;color:#312c20}.video-grid-static figcaption small{display:block;font-weight:400;margin-top:6px}.photo-note{font-size:12px;line-height:1.7;color:#87703a;margin-top:20px}.lightbox:not([open]){display:none}.lightbox[open]{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:50px;background:#14120df5;display:flex;align-items:center;justify-content:center;z-index:1000}.lightbox::backdrop{background:#14110cf5}.lightbox img{max-width:calc(100vw - 150px);max-height:78dvh;object-fit:contain}.lightbox button{z-index:2}.lightbox-caption{position:absolute;bottom:25px;left:15px;right:15px;text-align:center;color:#fff}.modal-close{position:absolute;top:20px;right:25px}.lightbox-prev{position:absolute;left:20px;top:50%}.lightbox-next{position:absolute;right:20px;top:50%}.modal-close,.lightbox-prev,.lightbox-next{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff60;border-radius:50%;background:#ffffff12;color:white;font-size:24px}.ns-site:has(.lightbox[open]){overflow:hidden}.form-submit{border:0;cursor:pointer}.price-note{line-height:1.7}.hero-image{object-fit:cover}.leaf-dot{font-style:normal}.photo-grid a{color:inherit;text-decoration:none}.ns-nav.open{visibility:visible}.ns-footer a:hover{text-decoration:underline}.instagram-link{display:inline-flex;margin-top:10px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.video-grid-static{grid-template-columns:1fr;gap:20px}.video-grid-static video{height:420px}.lightbox[open]{padding:20px}.lightbox img{max-width:94vw;max-height:73dvh}.lightbox-prev,.lightbox-next{top:auto;bottom:70px}.lightbox-caption{font-size:12px}.photo-note{font-size:11px}.hero-image{object-position:65% center}.ns-footer{padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Gallery introduction promoted to section heading. */
.gallery-title .gallery-intro{max-width:1000px;font-size:clamp(1.75rem,3.5vw,3rem);line-height:1.3;letter-spacing:-.035em}

/* NS GOLD EDITION */
.ns-site{--green:#795719;--deep:#342813;--mint:#f4ebd8;--cream:#fbf8f0;--ink:#30291e;--muted:#726858;--yellow:#f1d078;background:#fffdf8;color:var(--ink)}
.ns-header{height:104px;background:#171510;box-shadow:0 1px 0 #d2ad5666,0 8px 30px #17151018}
.header-inner{gap:24px}.ns-logo{gap:14px;color:#f1d389}.brand-logo{display:block;width:76px;height:76px;object-fit:contain;flex:none}.ns-logo strong{letter-spacing:-.035em}.ns-logo strong b{color:#e6be63}.ns-logo small{color:#c9b68c;letter-spacing:.15em}.ns-nav a{color:#e8dfcc}.ns-nav a:hover{color:#f3d58b}
.header-action{background:linear-gradient(115deg,#f1d384,#c59a42);color:#241a09;box-shadow:0 4px 20px #c59a421a}.header-action:hover{background:#f4dc9b;color:#211807}.mobile-menu{color:#edd08a;min-width:44px;min-height:44px;font-size:27px}
.pill{background:linear-gradient(115deg,#896526,#6d4f1c);color:#fffaf0}.pill:hover{background:#644716;box-shadow:0 9px 23px #84621e30}.pill-bright,.pill-white{background:linear-gradient(115deg,#f4dc94,#d4ab55);color:#2e210c}.pill-bright:hover,.pill-white:hover{background:#f4dfa4;color:#2e210c}.header-action{background:linear-gradient(115deg,#f1d384,#c59a42);color:#241a09}
.ns-hero{background:#211b10}.hero-shade{background:linear-gradient(90deg,rgba(20,16,9,.84),rgba(20,16,9,.54) 45%,rgba(20,16,9,.13)),linear-gradient(0deg,rgba(20,16,9,.3),transparent 50%)}.hero-chip{background:#201a1366;border-color:#d6b96c80;color:#fff4d7}.chip-sun{background:#f1d078;box-shadow:0 0 0 4px #d7ae4c35}.ns-hero h1 em{color:#f2d183}.hero-content p{color:#fff7e7}.hero-text-link{color:#fff5e1}.hero-location{color:#f3dfb1}
.quick-bar{background:#fffdf8;box-shadow:0 16px 45px #4b38151c;border:1px solid #eee3cc}.quick-icon,.welcome-highlights svg,.thing-icon{background:#f5ebd3;color:#825f20}.quick-item{border-color:#e8dec8}.quick-item small{color:#7c6c50}.quick-item strong{color:#392c15}.overline{color:#8b6827}.leaf-dot{color:#bc9037}.ns-site h2 em,.ns-site h1 em{color:#8a651e}.ns-hero h1 em{color:#f2d183}.welcome-sticker{background:linear-gradient(135deg,#f6e3a3,#d3ac56);color:#483412;box-shadow:0 6px 23px #63481524}.welcome-highlights span{color:#55462e}
.things-section,.rates-section{background:#f8f4e9}.thing-card{background:#fffdf8;box-shadow:0 6px 30px #5d46100c}.thing-icon{border-color:#fffdf8}.photo-caption{background:linear-gradient(transparent,#201a10c9);color:#fff7e7}.gallery-more{color:#795719}.photo-note{color:#736750}
.videos-section{background:#f0e8d8}.video-grid-static video{background:#171510;border:1px solid #c8a24c55}.video-grid-static figcaption{color:#46361b}.video-grid-static figcaption small{color:#726858}
.price-card{border-color:#e7dbc1;background:#fffdf8;box-shadow:0 8px 22px #5e44110a}.price-label>span{color:#826124}.price-label p{color:#786e5a}.price-card.featured{background:linear-gradient(125deg,#2c2417,#171510);border-color:#ba9345;color:#fff4d9}.featured .price-label>span{color:#e0c37e}.featured .price-label p{color:#dacfb7}.featured .price-value{color:#f2d183}.price-note{color:#74684f}.rates-deco{color:#c1a363}.rates-deco svg{width:80px;height:80px}
.booking-form-card{background:#f8f3e7;border-color:#e9dcc0;box-shadow:0 18px 40px #5b431012}.form-chip{color:#846223}.booking-form-card label{color:#56472d}.booking-form-card input{border-color:#dcd0b5;background:#fffefa;color:#30291e}.booking-form-card input:focus{border-color:#a37b30;box-shadow:0 0 0 3px #b68d3625}.form-hint{color:#786d58}.booking-photo::after{background:linear-gradient(transparent,#251a0c80)}
.location-section{background:#f5f0e5}.address-line{color:#896526}.address-line address{color:#53452d}.location-pill{background:#fffaf0;color:#76571b}.final-cta{background:radial-gradient(ellipse at 10% 10%,#4b391e 0,transparent 50%),radial-gradient(ellipse at 95% 100%,#49371a 0,transparent 45%),#1b1710;color:#fff6e2;border-block:1px solid #b68b4055}.final-cta .overline{color:#dec17a}.final-cta h2 em{color:#f0ce7d}
.ns-footer{background:#15130f;color:#eadebf}.footer-logo{color:#f2d183}.footer-logo strong b{color:#e6be63}.footer-logo .brand-logo{width:94px;height:94px}.ns-footer p{color:#c3b69b}.footer-main>div:not(:first-child){color:#c3b69b}.footer-main>div>strong{color:#f4deb0}.ns-footer a:not(.ns-logo){color:#cfc1a4}.ns-footer a:hover{color:#f6dc9b}.footer-end{color:#b7a98a;border-color:#d3b76b33}.mobile-whatsapp{background:linear-gradient(115deg,#96712a,#6d501b);box-shadow:0 8px 27px #2f220b66;color:#fff8e6!important}.lightbox[open]{background:#17130bf5}.lightbox::backdrop{background:#17130bf5}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline-color:#b88b30}
@media(max-width:1100px){.header-inner{gap:16px}.ns-nav{gap:13px}}
@media(max-width:800px){.ns-header{height:88px}.brand-logo{width:66px;height:66px}.ns-nav{top:88px;background:#1d1912;box-shadow:0 20px 30px #17151040;border-bottom:1px solid #b68b4055}.ns-nav a{color:#f0e4c8}.mobile-menu{color:#edd08a}.ns-logo strong{font-size:20px}.ns-logo small{font-size:7px}}
@media(max-width:600px){.ns-logo{gap:10px}.footer-logo .brand-logo{width:84px;height:84px}.hero-chip{letter-spacing:.08em}.ns-hero h1 em{color:#f2d183}}

/* Foto em maior resolução e máscara mais leve, mantendo contraste no texto. */
.ns-hero .hero-shade{background:linear-gradient(90deg,rgba(20,16,9,.76),rgba(20,16,9,.38) 45%,rgba(20,16,9,.035) 80%),linear-gradient(0deg,rgba(20,16,9,.19),transparent 45%)}
@media(max-width:700px){.ns-hero .hero-shade{background:linear-gradient(90deg,rgba(20,16,9,.74),rgba(20,16,9,.31)),linear-gradient(0deg,rgba(20,16,9,.18),transparent 45%)}}

/* Todos os botões usam o dourado luminoso da hero. */
.ns-site{--button-gold:linear-gradient(115deg,#f4dc94,#d4ab55);--button-gold-hover:linear-gradient(115deg,#fae8b4,#e2bc69);--button-ink:#2e210c}
.ns-site .pill,.ns-site .mobile-whatsapp,.ns-site button{background:var(--button-gold);color:var(--button-ink);border-color:#dbb767;box-shadow:0 5px 18px #b98c3426}
.ns-site .mobile-whatsapp{color:var(--button-ink)!important}
.ns-site .pill:hover,.ns-site .mobile-whatsapp:hover,.ns-site button:hover{background:var(--button-gold-hover);color:var(--button-ink);box-shadow:0 8px 24px #b98c3438}
.ns-site .gallery-more{padding:13px 23px;border-radius:100px;border:1px solid #dbb767;text-decoration:none}
.ns-site .mobile-menu{border-radius:10px;border:1px solid #dbb767}
.ns-site .lightbox button{border:1px solid #dbb767;color:var(--button-ink)}
@media(prefers-reduced-motion:reduce){.ns-site .pill,.ns-site button{transition:none}}

/* Localização oficial e contato flutuante em todas as telas. */
.location-map{grid-column:1/-1;overflow:hidden;border-radius:21px;border:1px solid #e4d5b6;background:#eee8da;margin-top:12px;min-width:0}
.location-map iframe{display:block;width:100%;height:360px;border:0}
.ns-site .whatsapp-float{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:80;display:flex;align-items:center;justify-content:center;width:62px;height:62px;min-width:62px;min-height:62px;padding:0;border-radius:50%;box-shadow:0 6px 25px #4c351652;border:1px solid #f5dda1}
.ns-site .whatsapp-float svg{width:35px;height:35px;flex:none}
@media(max-width:700px){.location-map iframe{height:300px}.ns-site .whatsapp-float{width:58px;height:58px;min-width:58px;min-height:58px;right:max(16px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom))}.ns-site .whatsapp-float svg{width:33px;height:33px}}
