.kgv-rental {
  --rental-ink: #172019;
  --rental-muted: #617067;
  --rental-green: #026432;
  --rental-green-dark: #013d21;
  --rental-yellow: #f6b527;
  --rental-surface: #f2f6ef;
  --rental-line: #dbe5dc;
  --rental-radius: 20px;
  background: #fff;
  color: var(--rental-ink);
  overflow: hidden;
}

.kgv-rental > * { margin-block: 0 !important; }
.kgv-rental *, .kgv-rental *::before, .kgv-rental *::after { box-sizing: border-box; }
.kgv-rental a { text-decoration: none; }
.kgv-rental__container { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }

.kgv-rental__hero { position: relative; display: flex; align-items: center; min-height: 700px; color: #fff; overflow: hidden; }
.kgv-rental__hero::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(5,20,11,.88) 0%, rgba(5,20,11,.62) 48%, rgba(5,20,11,.24) 100%); pointer-events: none; }
.kgv-rental__hero-media { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; margin: 0 !important; }
.kgv-rental__hero-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 58% center; }
.kgv-rental__hero-copy { position: relative; z-index: 2; padding-block: 110px; }
.kgv-rental__eyebrow { margin: 0 0 18px; color: var(--rental-yellow); font-size: .76rem; font-weight: 800; letter-spacing: .14em; line-height: 1.4; text-transform: uppercase; }
.kgv-rental__eyebrow--green { color: var(--rental-green); }
.kgv-rental__title { max-width: 760px; margin: 0 0 26px; color: #fff; font-size: clamp(3.7rem, 8vw, 7.5rem); letter-spacing: -.055em; line-height: .9; }
.kgv-rental__title em { color: var(--rental-yellow); font-style: normal; }
.kgv-rental__lead { max-width: 580px; margin: 0 0 34px; color: #e8eee8; font-size: clamp(1.05rem, 1.8vw, 1.25rem); line-height: 1.65; }
.kgv-rental__actions { gap: 12px; }
.kgv-rental__button .wp-block-button__link { padding: 14px 24px; border: 2px solid var(--rental-yellow); border-radius: 10px; background: var(--rental-yellow); color: var(--rental-green-dark); font-weight: 800; transition: transform .2s ease, background .2s ease; }
.kgv-rental__button .wp-block-button__link:hover { background: #ffd15a; color: var(--rental-green-dark); transform: translateY(-2px); }
.kgv-rental__button--outline .wp-block-button__link { border-color: rgba(255,255,255,.7); background: transparent; color: #fff; }
.kgv-rental__button--dark .wp-block-button__link { border-color: var(--rental-green); background: var(--rental-green); color: #fff; }

.kgv-rental__quick-facts { background: var(--rental-green-dark); color: #fff; }
.kgv-rental__facts-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.kgv-rental__facts-grid > div { display: grid; grid-template-columns: 34px 1fr; padding: 28px 32px; border-right: 1px solid rgba(255,255,255,.15); }
.kgv-rental__facts-grid > div:last-child { border-right: 0; }
.kgv-rental__facts-grid span { grid-row: 1 / 3; color: var(--rental-yellow); font-size: .75rem; font-weight: 800; letter-spacing: .1em; }
.kgv-rental__facts-grid strong { font-size: 1rem; }
.kgv-rental__facts-grid small { margin-top: 4px; color: #bdd0c1; font-size: .84rem; }

.kgv-rental__intro, .kgv-rental__pricing, .kgv-rental__gallery, .kgv-rental__notes { padding: clamp(76px, 9vw, 124px) 0; }
.kgv-rental__intro-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: clamp(44px, 8vw, 120px); align-items: start; }
.kgv-rental__heading { max-width: 780px; margin: 0 0 18px; color: var(--rental-ink); font-size: clamp(2.35rem, 5vw, 4.8rem); letter-spacing: -.045em; line-height: .98; }
.kgv-rental__heading--light { color: #fff; }
.kgv-rental__intro-copy { padding-top: 28px; }
.kgv-rental__intro-copy p, .kgv-rental__section-lead, .kgv-rental__locations-copy p { color: var(--rental-muted); font-size: 1.05rem; line-height: 1.75; }
.kgv-rental__intro-copy p + p { margin-top: 20px; }

.kgv-rental__pricing { background: var(--rental-surface); }
.kgv-rental__section-lead { max-width: 610px; margin: 0 0 48px; }
.kgv-rental__price-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.kgv-rental__price-grid > .wp-block-column { min-width: 0; margin: 0; }
.kgv-rental__price-card { height: 100%; overflow: hidden; border: 1px solid var(--rental-line); border-radius: var(--rental-radius); background: #fff; box-shadow: 0 18px 44px rgba(20,50,31,.08); }
.kgv-rental__price-card--featured { border-color: var(--rental-green); background: var(--rental-green); color: #fff; transform: translateY(-16px); }
.kgv-rental__price-image { margin: 0 !important; }
.kgv-rental__price-image img { display: block; width: 100%; height: 230px; object-fit: cover; }
.kgv-rental__price-body { padding: 28px; }
.kgv-rental__card-number { display: block; margin-bottom: 18px; color: var(--rental-yellow); font-size: .76rem; font-weight: 800; letter-spacing: .12em; }
.kgv-rental__price-card h3 { margin: 0 0 24px; font-size: 1.65rem; letter-spacing: -.025em; }
.kgv-rental__price-card--featured h3 { color: #fff; }
.kgv-rental__rates { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 18px 0; border-block: 1px solid var(--rental-line); }
.kgv-rental__price-card--featured .kgv-rental__rates { border-color: rgba(255,255,255,.2); }
.kgv-rental__rates--single { grid-template-columns: 1fr; }
.kgv-rental__rates p { margin: 0; }
.kgv-rental__rates strong, .kgv-rental__rates span { display: block; }
.kgv-rental__rates strong { font-size: 1.25rem; }
.kgv-rental__rates span { margin-top: 3px; color: var(--rental-muted); font-size: .82rem; }
.kgv-rental__price-card--featured .kgv-rental__rates span, .kgv-rental__price-card--featured .kgv-rental__included { color: #d8e8dc; }
.kgv-rental__included { min-height: 76px; margin: 20px 0; color: var(--rental-muted); line-height: 1.6; }

.kgv-rental__locations { padding: clamp(72px, 9vw, 110px) 0; background: var(--rental-green-dark); color: #fff; }
.kgv-rental__locations-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(44px, 8vw, 120px); align-items: center; }
.kgv-rental__locations-copy p { margin: 0 0 28px; color: #d8e8dc; }

.kgv-rental__gallery-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 38px; }
.kgv-rental__gallery-controls { display: flex; gap: 10px; padding-bottom: 8px; }
.kgv-rental__gallery-controls button { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid var(--rental-line); border-radius: 50%; background: #fff; color: var(--rental-green); font: inherit; font-size: 1.4rem; cursor: pointer; transition: background .2s ease, color .2s ease; }
.kgv-rental__gallery-controls button:hover { background: var(--rental-green); color: #fff; }
.kgv-rental__gallery-track { display: flex !important; flex-wrap: nowrap !important; gap: 18px !important; max-width: none !important; margin: 0 !important; padding: 0 0 16px !important; overflow-x: auto; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--rental-green) var(--rental-surface); }
.kgv-rental__gallery-track > .wp-block-image { flex: 0 0 min(420px, 78vw) !important; width: min(420px, 78vw) !important; scroll-snap-align: start; }
.kgv-rental__gallery-track > .wp-block-image img { width: 100% !important; height: 410px !important; border-radius: var(--rental-radius); object-fit: cover !important; }
.kgv-rental__gallery-note { margin: 14px 0 0; color: var(--rental-muted); font-size: .88rem; }

.kgv-rental__notes { padding-top: 24px; }
.kgv-rental__notes-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 44px; }
.kgv-rental__notes-grid > div { padding: 28px; border-top: 3px solid var(--rental-yellow); background: var(--rental-surface); }
.kgv-rental__notes-grid span { color: var(--rental-green); font-size: .76rem; font-weight: 800; letter-spacing: .12em; }
.kgv-rental__notes-grid h3 { margin: 38px 0 12px; font-size: 1.35rem; }
.kgv-rental__notes-grid p { margin: 0; color: var(--rental-muted); line-height: 1.65; }

.kgv-rental__cta { padding: 76px 0; background: var(--rental-green); color: #fff; }
.kgv-rental__cta-inner { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; }
.kgv-rental__cta-title { max-width: 820px; margin: 0; color: #fff; font-size: clamp(2.25rem, 5vw, 4.6rem); letter-spacing: -.045em; line-height: .98; }

@media (max-width: 960px) {
  .kgv-rental__price-grid { grid-template-columns: 1fr 1fr; }
  .kgv-rental__price-grid > .wp-block-column:last-child { grid-column: 1 / -1; }
  .kgv-rental__price-card--featured { transform: none; }
}

@media (max-width: 782px) {
  .kgv-rental__container { width: min(100% - 36px, 1240px); }
  .kgv-rental__hero { min-height: 640px; }
  .kgv-rental__hero-media img { object-position: 66% center; }
  .kgv-rental__title { font-size: clamp(3.15rem, 16vw, 5.4rem); }
  .kgv-rental__facts-grid, .kgv-rental__intro-grid, .kgv-rental__locations-grid, .kgv-rental__cta-inner { grid-template-columns: 1fr; }
  .kgv-rental__facts-grid > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); }
  .kgv-rental__facts-grid > div:last-child { border-bottom: 0; }
  .kgv-rental__intro-copy { padding-top: 0; }
  .kgv-rental__price-grid { grid-template-columns: 1fr; }
  .kgv-rental__price-grid > .wp-block-column:last-child { grid-column: auto; }
  .kgv-rental__gallery-heading { align-items: center; }
  .kgv-rental__gallery-track > .wp-block-image img { height: 360px !important; }
  .kgv-rental__notes-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .kgv-rental__gallery-heading { display: grid; }
  .kgv-rental__price-image img { height: 210px; }
}

@media (prefers-reduced-motion: reduce) {
  .kgv-rental__gallery-track { scroll-behavior: auto; }
  .kgv-rental__button .wp-block-button__link { transition: none; }
}

body:has(.kgv-rental) { background: #fff !important; }
body:has(.kgv-rental) .wp-block-post-content { margin-bottom: 0 !important; }
