:root {
    --kss-dp-forest: #536b43;
    --kss-dp-forest-dark: #2f4229;
    --kss-dp-forest-soft: #eef3eb;
    --kss-dp-cream: #f7f5ef;
    --kss-dp-ink: #2d332c;
    --kss-dp-copy: #4d554c;
    --kss-dp-muted: #737b70;
    --kss-dp-line: #dce3d8;
    --kss-dp-white: #ffffff;
}


h1 {
    margin: 0 0 18px;
    font-size: 42px;
    font-weight: 600;
    line-height: 1em;
    letter-spacing: -2px
}

    .pkg-hero h1 {
        font-size: 36px !important;
        line-height: 1.1 !important
    }


body.kss-dynamic-page-body {
    margin: 0 !important;
    background: var(--kss-dp-cream) !important;
    color: var(--kss-dp-ink) !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

body.kss-dynamic-page-body *,
body.kss-dynamic-page-body *::before,
body.kss-dynamic-page-body *::after {
    box-sizing: border-box;
}

body.kss-dynamic-page-body .kss-dp {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--kss-dp-cream) !important;
}

body.kss-dynamic-page-body .kss-dp-container {
    width: min(1120px, calc(100% - 32px)) !important;
    margin-inline: auto !important;
}

body.kss-dynamic-page-body .kss-dp-hero {
    width: 100% !important;
    height: clamp(320px, 42vw, 500px) !important;
    min-height: 320px !important;
    overflow: hidden !important;
    background: #22301b !important;
}

body.kss-dynamic-page-body .kss-dp-hero__image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;


body.kss-dynamic-page-body .kss-dp-breadcrumb {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 0 14px !important;
    color: var(--kss-dp-muted) !important;
    font: 500 13px/1.4 Arial, Helvetica, sans-serif !important;
}

body.kss-dynamic-page-body .kss-dp-breadcrumb a {
    color: var(--kss-dp-forest-dark) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body.kss-dynamic-page-body .kss-dp-breadcrumb a:hover {
    text-decoration: underline !important;
}

body.kss-dynamic-page-body .kss-dp-intro h1,
body.kss-dynamic-page-body .kss-dp-content h2,
body.kss-dynamic-page-body .kss-dp-content h3,
body.kss-dynamic-page-body .kss-dp-content h4,
body.kss-dynamic-page-body .kss-dp-content h5,
body.kss-dynamic-page-body .kss-dp-content h6 {
    color: var(--kss-dp-forest) !important;
    font-family: "Times New Roman", serif !important;
    font-style: italic !important;
    text-align: left !important;
}

body.kss-dynamic-page-body .kss-dp-intro h1 {
    max-width: 850px !important;
    margin: 0 0 18px !important;
    font-size: clamp(40px, 5vw, 62px) !important;
    font-weight: 600 !important;
    line-height: 1.06 !important;
    letter-spacing: -2px !important;
}

body.kss-dynamic-page-body .kss-dp-content h2 {
    margin: 40px 0 16px !important;
    font-size: 34px !important;
    font-weight: 600 !important;
    line-height: 1.1em !important;
    letter-spacing: -2px !important;
}

body.kss-dynamic-page-body .kss-dp-content h3 {
    margin: 0 0 16px !important;
    font-size: 30px !important;
    font-weight: 600 !important;
    line-height: 1.2em !important;
}

body.kss-dynamic-page-body .kss-dp-content h4 {
    margin: 22px 0 8px !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    line-height: 1.3em !important;
}

body.kss-dynamic-page-body .kss-dp-content h5 {
    margin: 20px 0 8px !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.4em !important;
}

body.kss-dynamic-page-body .kss-dp-content h6 {
    margin: 16px 0 8px !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.5em !important;
    letter-spacing: 2px !important;
}

body.kss-dynamic-page-body .kss-dp-content p {
    font-size: 16px !important;
    line-height: 1.5em !important;
}

body.kss-dynamic-page-body .kss-dp-content > *:first-child {
    margin-top: 0 !important;
}

body.kss-dynamic-page-body .kss-dp-content > *:last-child {
    margin-bottom: 0 !important;
}

body.kss-dynamic-page-body .kss-dp-content ul,
body.kss-dynamic-page-body .kss-dp-content ol {
    margin: 0 0 16px !important;
    padding-left: 24px !important;
}

body.kss-dynamic-page-body .kss-dp-content li {
    margin: 0 0 8px !important;
}

body.kss-dynamic-page-body .kss-dp-content a {
    color: var(--kss-dp-forest-dark) !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}

body.kss-dynamic-page-body .kss-dp-content blockquote {
    margin: 24px 0 !important;
    padding: 16px 18px !important;
    border-left: 4px solid var(--kss-dp-forest) !important;
    border-radius: 8px !important;
    background: var(--kss-dp-forest-soft) !important;
}

body.kss-dynamic-page-body .kss-dp-content img {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 20px auto !important;
    border-radius: 8px !important;
}

@media (max-width: 1024px) {
    body.kss-dynamic-page-body .kss-dp-container {
        width: min(100% - 24px, 1120px) !important;
    }

    body.kss-dynamic-page-body .kss-dp-card {
        padding: 22px !important;
    }
}

@media (max-width: 640px) {
    body.kss-dynamic-page-body .kss-dp-container {
        width: calc(100% - 20px) !important;
    }

    body.kss-dynamic-page-body .kss-dp-hero {
        height: 280px !important;
        min-height: 280px !important;
    }

    body.kss-dynamic-page-body .kss-dp-intro {
        padding: 22px 0 20px !important;
    }

    body.kss-dynamic-page-body .kss-dp-intro h1 {
        font-size: clamp(28px, 8vw, 38px) !important;
    }

    body.kss-dynamic-page-body .kss-dp-card {
        padding: 18px !important;
    }

    body.kss-dynamic-page-body .kss-dp-content {
        font-size: 15px !important;
        line-height: 1.72 !important;
    }
}
/* ------------------------------------------------------------------
   Booking modal (#pum-805) — self-contained styling so it no longer
   depends on the WordPress Popup Maker plugin's own CSS.
   Append this block to the END of assets/css/custom-site.css
------------------------------------------------------------------ */
#pum-805{
  display:none;
  position:fixed;
  inset:0;
  z-index:999999;
  background:rgba(0,0,0,0.55);
  align-items:center;
  justify-content:center;
  padding:20px;
}
#pum-805.kss-modal-open{
  display:flex;
}
body.kss-modal-active{
  overflow:hidden;
}
#pum-805 #popmake-805{
  position:relative;
  background:#fff;
  width:100%;
  max-width:480px;
  max-height:90vh;
  overflow-y:auto;
  border-radius:10px;
  padding:28px 28px 24px;
  box-shadow:0 20px 60px rgba(0,0,0,0.3);
}
#pum-805 .pum-title{
  font-size:22px;
  font-weight:700;
  margin-bottom:16px;
  color:#2f4a2f;
}
#pum-805 .pum-close{
  position:absolute;
  top:14px;
  right:14px;
  background:#2f4a2f;
  color:#fff;
  border:none;
  border-radius:6px;
  padding:6px 14px;
  font-size:12px;
  letter-spacing:0.05em;
  cursor:pointer;
}
#pum-805 .pum-close:hover{
  background:#1f331f;
}