/* Melaka Homestay — landing page styles */

@font-face {
  font-family: 'Bricolage Grotesque';
  src: url('../fonts/BricolageGrotesque-Bold.ttf') format('truetype');
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: 'DM Sans';
  src: url('../fonts/DMSans-Regular.ttf') format('truetype');
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --navy:#1A2942;
  --navy-dark:#0c243a;
  --gold:#D4A853;
  --cream:#f6ecd9;
  --cream-border:#ecdcbf;
  --ink:#1a2b3c;
  --muted:#6B7280;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
}

body {
  margin:0;
  font-family:'DM Sans', sans-serif;
  color:var(--ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}

img {
  display:block;
  max-width:100%;
}

a {
  color:#fff;
  text-decoration:none;
}

a:hover {
  color:var(--gold);
}

.mk-wrap ul {
  margin:0;
  padding:0;
  list-style:none;
}

.mk-container {
  max-width:1180px;
  margin:0 auto;
  padding:0 28px;
}

.serif {
  font-family:'Bricolage Grotesque',Georgia,sans-serif;
}

@keyframes mk-kb {
  from {
    transform:scale(1.02);
  }

  to {
    transform:scale(1.14);
  }

}

@keyframes mk-heroUp {
  from {
    opacity:0;
    transform:translateY(26px);
  }

  to {
    opacity:1;
    transform:translateY(0);
  }

}

@keyframes mk-scriptIn {
  from {
    opacity:0;
    transform:translateY(8px) rotate(-2deg);
  }

  to {
    opacity:1;
    transform:none;
  }

}

.mk-reveal {
  opacity:0;
  transform:translateY(30px);
  transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);
}

.mk-reveal.mk-in {
  opacity:1;
  transform:none;
}

/* ---------- NAV ---------- */ 
.mk-nav {
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  background:#fbf9f5;
  box-shadow:0 1px 0 rgba(0,0,0,.08);
  transition:background .4s ease,box-shadow .4s ease;
}

.mk-nav.mk-solid {
  background:#fbf9f5;
  box-shadow:0 2px 12px rgba(0,0,0,.10);
}

.mk-nav-inner {
  max-width:1180px;
  margin:0 auto;
  padding:16px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.mk-brand {
  display:flex;
  align-items:center;
  gap:12px;
}


.mk-menu {
  display:flex;
  gap:30px;
  margin-left:auto;
}

.mk-menu a {
  font-family:'DM Sans';
  font-weight:500;
  color:var(--ink);
  font-size:15px;
  transition:color .25s ease;
}

.mk-menu a:hover {
  color:var(--navy);
}

.mk-menu a.active {
  color:var(--navy);
  font-weight:600;
  border-bottom:2px solid var(--navy);
  padding-bottom:3px;
}

.mk-nav-cta {
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:11px 20px;
  background:#25D366;
  border:none;
  border-radius:10px;
  color:#fff;
  font-weight:600;
  font-size:14px;
  transition:all .3s ease;
}

.mk-nav-cta:hover {
  background:#1ebe5a;
  color:#fff;
}

.mk-burger {
  display:none;
  background:none;
  border:none;
  color:var(--ink);
  cursor:pointer;
  padding:6px;
}

/* ---------- HERO ---------- */ 
.mk-hero {
  position:relative;
  min-height:92vh;
  overflow:hidden;
  display:flex;
  align-items:center;
}

.mk-hero-slide {
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1.2s ease;
}

.mk-hero-slide img {
  width:100%;
  height:100%;
  object-fit:cover;
  animation:mk-kb 9s ease-out forwards;
}

.mk-hero-slide.mk-active {
  opacity:1;
}

.mk-hero-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(95deg,rgba(9,29,48,.94) 0%,rgba(9,29,48,.7) 38%,rgba(9,29,48,.28) 68%,rgba(9,29,48,.08) 100%);
}

/* .mk-hero-overlay2 {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(9,29,48,.35) 0%,rgba(9,29,48,0) 30%,rgba(9,29,48,.15) 100%);
} */

.mk-hero-inner {
  position:relative;
  max-width:1180px;
  margin:0 auto;
  padding:0 28px;
  width:100%;
}

.mk-hero-content {
  max-width:560px;
  color:#fff;
}

.mk-hero-content h1 {
  font-family:'Bricolage Grotesque';
  font-size:48px;
  line-height:1.1;
  margin:0 0 22px;
  animation:mk-heroUp 1s both .15s;
}

.mk-script {
  font-family:'Bricolage Grotesque';
  font-weight:700;
  color:var(--gold);
  font-size:52px;
  display:inline-block;
  animation:mk-scriptIn 1.1s both .55s;
  font-style: italic;
}

.mk-hero-content .mk-sub {
  font-size:18px;
  line-height:1.5;
  color:#E8E8E8;
  margin:0 0 26px;
  max-width:440px;
  animation:mk-heroUp 1s both .35s;
}

.mk-hero-feats {
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:32px;
  font-size:15px;
  font-weight:500;
  color:rgba(255,255,255,.95);
  animation:mk-heroUp 1s both .5s;
}

.mk-hero-feats .dot {
  opacity:.5;
}

.mk-hero-feats .chk {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--gold);
}

.mk-hero-feats .chk span {
  font-family:'DM Sans';
  font-weight:500;
  font-size:15px;
  color:#fff;
}

.mk-hero-btns {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  animation:mk-heroUp 1s both .65s;
}

.mk-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-radius:10px;
  font-weight:600;
  font-size:15px;
  transition:all .3s ease;
  cursor:pointer;
}

.mk-btn-gold {
  padding: 15px 26px;
  background:var(--gold) !important;
  color:#fff;
  font-family:'DM Sans';
  font-weight:600;
  box-shadow:0 10px 26px rgba(200,152,79,.4);
}

.mk-btn-gold:hover {
  background:#b6853d;
  color:#fff;
  transform:translateY(-2px);
}

.mk-btn-ghost {
  padding:15px 26px;
  border:1.5px solid rgba(255,255,255,.7);
  color:#fff;
}

.mk-btn-ghost:hover {
  background:rgba(255,255,255,.12);
  border-color:#fff;
  color:#fff;
}

/* ---- Hero carousel arrows & dots (commented out — single slide active) ---- 
.mk-arrow {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.4);
  background:rgba(9,29,48,.35);
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  backdrop-filter:blur(4px);
  transition:all .3s ease;
  z-index:3;
}

.mk-arrow:hover {
  background:var(--gold);
  border-color:var(--gold);
}

.mk-arrow.prev {
  left:22px;
}

.mk-arrow.next {
  right:22px;
}

.mk-dots {
  position:absolute;
  bottom:26px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:9px;
  align-items:center;
  z-index:3;
}

.mk-dots button {
  height:9px;
  width:9px;
  border-radius:99px;
  border:none;
  cursor:pointer;
  padding:0;
  background:rgba(255,255,255,.55);
  transition:all .35s ease;
}

.mk-dots button.mk-active {
  width:26px;
  background:var(--gold);
}

---- end Hero carousel arrows & dots ---- */ 

/* ---------- SECTION HEADINGS ---------- */ 
.mk-sec {
  padding:78px 0 34px;
  background:#fff;
}

.mk-head {
  text-align:center;
  margin-bottom:44px;
}

.mk-head h2 {
  font-family:'Bricolage Grotesque';
  font-size:32px;
  color:var(--navy);
  margin:0 0 12px;
}

.mk-head .mk-rule {
  width:54px;
  height:3px;
  background:var(--gold);
  border-radius:2px;
  margin:0 auto 16px;
}

.mk-head p {
  color:#6B7280;
  font-size:16px;
  margin:0;
}

/* ---------- FEATURED CARDS ---------- */ 
.mk-grid3 {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}

.mk-card {
  position:relative;
  background:#fff;
  border:1px solid #ecebe6;
  border-radius:16px;
  box-shadow:0 8px 26px rgba(18,49,78,.07);
  display:flex;
  flex-direction:column;
  transition:box-shadow .35s ease,transform .35s ease;
}

.mk-card-img {
  border-radius:16px 16px 0 0;
  position:relative;
  height:200px;
  overflow:hidden;
}

.mk-card:hover {
  box-shadow:0 18px 44px rgba(18,49,78,.16);
  transform:translateY(-4px);
}

.mk-card-img img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s ease;
}

.mk-card:hover .mk-card-img img,
.mk-card:hover .mk-card-img video {
  transform:scale(1.07);
}

/* ---------- CARD MEDIA SLIDER ---------- */
.mk-media-slider .mk-slides-wrap {
  position:relative;
  width:100%;
  height:100%;
}

.mk-media-slider .mk-slide {
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  transition:opacity .4s ease;
}

.mk-media-slider .mk-slide.mk-slide-active {
  opacity:1;
  pointer-events:auto;
}

.mk-media-slider .mk-slide img,
.mk-media-slider .mk-slide video {
  width:100%;
  height:200px;
  object-fit:cover;
  transition:transform .7s ease;
}

.mk-media-slider {
  cursor:zoom-in;
}

/* ---------- LIGHTBOX ---------- */
.mk-lb {
  display:none;
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(0,0,0,.92);
  align-items:center;
  justify-content:center;
}

.mk-lb.mk-lb-open {
  display:flex;
}

.mk-lb-media {
  display:flex;
  align-items:center;
  justify-content:center;
  max-width:90vw;
  max-height:88vh;
}

.mk-lb-media img {
  max-width:90vw;
  max-height:85vh;
  object-fit:contain;
  border-radius:8px;
  display:block;
}

.mk-lb-media video {
  max-width:90vw;
  max-height:85vh;
  border-radius:8px;
  display:block;
}

.mk-lb-close {
  position:fixed;
  top:18px;
  right:22px;
  width:40px;
  height:40px;
  border-radius:50%;
  background:rgba(255,255,255,.15);
  border:none;
  color:#fff;
  font-size:22px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s ease;
  z-index:1001;
}

.mk-lb-close:hover {
  background:rgba(255,255,255,.28);
}

.mk-lb-arrow {
  position:fixed;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border-radius:50%;
  background:rgba(255,255,255,.15);
  border:none;
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s ease;
  z-index:1001;
}

.mk-lb-arrow:hover {
  background:rgba(255,255,255,.28);
}

.mk-lb-arrow-prev { left:18px; }
.mk-lb-arrow-next { right:18px; }

.mk-lb-counter {
  position:fixed;
  bottom:20px;
  left:50%;
  transform:translateX(-50%);
  color:rgba(255,255,255,.75);
  font-size:14px;
  font-weight:500;
  letter-spacing:.5px;
  z-index:1001;
}

.mk-sl-btn {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:32px;
  height:32px;
  border-radius:50%;
  background:rgba(255,255,255,.85);
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--ink);
  box-shadow:0 2px 8px rgba(0,0,0,.2);
  transition:background .2s ease;
  z-index:2;
}

.mk-sl-btn:hover {
  background:#fff;
}

.mk-sl-prev { left:10px; }
.mk-sl-next { right:10px; }

.mk-sl-count {
  position:absolute;
  bottom:10px;
  left:12px;
  background:rgba(0,0,0,.45);
  color:#fff;
  font-size:12px;
  font-weight:500;
  padding:3px 8px;
  border-radius:20px;
  z-index:2;
  letter-spacing:.3px;
}

.mk-lot {
  position:absolute;
  top:14px;
  left:14px;
  background:var(--gold);
  color:#fff;
  font-size:12.5px;
  font-weight:700;
  padding:6px 13px;
  border-radius:6px;
  box-shadow:0 4px 12px rgba(0,0,0,.2);
}

.mk-guests {
  position:absolute;
  top:140px;
  right:16px;
  z-index:4;
  width:76px;
  height:76px;
  border-radius:999px;
  background:var(--navy);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  box-shadow:0 8px 20px rgba(18,49,78,.35);
  border:3px solid #fff;
}

.mk-guests .up {
  font-size:12px;
  line-height:1;
  opacity:.85;
  margin-bottom:1px;
}

.mk-guests .num {
  font-size:22px;
  font-weight:800;
  line-height:1;
  font-family:'Bricolage Grotesque',sans-serif;
}

.mk-guests .lbl {
  font-size:12px;
  line-height:1;
  opacity:.85;
  margin-top:1px;
}

.mk-card-body {
  padding:26px 20px 20px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.mk-card-body h3 {
  font-family:'Bricolage Grotesque';
  font-size:20px;
  color:var(--navy);
  margin:0 0 6px;
}

.mk-loc {
  display:flex;
  align-items:center;
  gap:6px;
  color:#4B5563;
  font-size:14px;
  margin-bottom:14px;
}

.mk-chips {
  display:flex;
  flex-wrap:wrap;
  gap:12px 8px;
  padding:12px 0;
  border-top:1px solid #eef0f2;
  border-bottom:1px solid #eef0f2;
  margin-bottom:16px;
}

.mk-chip {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:14px;
  color:#4a5967;
  width:calc(50% - 4px);
}

.mk-chip svg {
  color:var(--gold);
  flex:none;
}

.mk-sub-h {
  font-family:'DM Sans';
  font-weight:600;
  font-size:13px;
  color:var(--navy);
  margin:0 0 10px;
}

.mk-bd {
  width:5px;
  height:5px;
  border-radius:99px;
  background:var(--gold);
  flex:none;
}

.mk-facil {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px 12px;
  font-size:12.5px;
  color:var(--muted);
}

.mk-facil span {
  display:flex;
  align-items:center;
  gap:8px;
}

.mk-card-fill {
  flex:1;
}

.mk-card-btns {
  display:flex;
  gap:10px;
  margin-top:20px;
}

.mk-btn-out {
  flex:1;
  text-align:center;
  padding:12px 8px;
  border:1.5px solid var(--navy);
  border-radius:8px;
  color:var(--navy);
  font-weight:600;
  font-size:13.5px;
  transition:all .25s ease;
}

.mk-btn-out:hover {
  background:var(--navy);
  color:var(--gold);
}

.mk-btn-navy {
  flex:1.2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:12px 8px;
  border-radius:10px;
  background:var(--navy);
  color:#fff;
  font-weight:600;
  font-size:13.5px;
  white-space:nowrap;
  transition:all .25s ease;
}

.mk-btn-navy:hover {
  background:var(--navy-dark);
  color:#fff;
}

.mk-btn-gold-card {
  flex:1;
  text-align:center;
  padding:12px 8px;
  border:none;
  border-radius:8px;
  background:var(--gold);
  color:var(--navy);
  font-weight:600;
  font-size:13.5px;
  font-family:'DM Sans', sans-serif;
  cursor:pointer;
  transition:all .25s ease;
}

/* .mk-btn-gold-card:hover {
  background:#b6853d;
  color:#fff;
} */

.mk-card-btns button.mk-btn-out {
  background:#fff;
  cursor:pointer;
  font-family:'DM Sans', sans-serif;
}

.mk-card-btns button.mk-btn-out:hover {
  background:#fff;
  color:var(--navy);
}

@media (max-width:480px) {
  .mk-card-btns {
    flex-wrap:wrap;
  }
  .mk-card-btns > * {
    flex-basis:100%;
  }
}

/* ---------- COMING SOON ---------- */ 
.mk-soon {
  margin-top:34px;
  background:url('../images/custom/melaka_homestay_bg.jpg') center/cover no-repeat;
  border:1px solid var(--cream-border);
  border-radius:16px;
  padding:26px 90px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}

.mk-soon-l {
  display:flex;
  align-items:center;
  gap:20px;
}

.mk-soon-ico {
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
}

.mk-soon h3 {
  font-family: 'Bricolage Grotesque';
  font-size:23px;
  color:var(--navy);
  margin:0 0 5px;
}

.mk-soon p {
  font-size:15px;
  color:#6a6152;
  margin:0;
  line-height:1.5;
}

.mk-soon-cta {
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:14px 26px;
  border-radius:10px;
  background:var(--navy);
  color:#fff;
  font-weight:600;
  font-size:14.5px;
  flex:none;
  transition:all .3s ease;
}

.mk-soon-cta:hover {
  background:var(--navy-dark);
  color:#fff;
  transform:translateY(-2px);
}

/* ---------- WHY CHOOSE ---------- */ 
.mk-why {
  padding:56px 0 70px;
  background:#fff;
}

.mk-grid4 {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}

.mk-why-card {
  position:relative;
  height:250px;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(18,49,78,.12);
}

.mk-why-card img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .8s ease;
}

.mk-why-card:hover img {
  transform:scale(1.08);
}

.mk-why-card .mk-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(9,29,48,0) 40%,rgba(9,29,48,.9) 100%);
}

.mk-why-card .mk-why-txt {
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  color:#fff;
}

.mk-why-txt h4 {
  font-family:'Bricolage Grotesque';
  font-weight:600;
  font-size:16px;
  margin:0 0 5px;
}

.mk-why-txt p {
  font-size:14px;
  line-height:1.5;
  margin:0;
  color:#fff;
}

/* ---------- CONTACT ---------- */ 
.mk-contact {
  padding:0 0 74px;
  background:#fff;
}

.mk-contact-box {
  background:url('../images/custom/melaka-homestay-bg-2.jpg') center/cover no-repeat;
  border:1px solid var(--cream-border);
  border-radius:18px;
  padding:44px;
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:40px;
  align-items:center;
}

.mk-contact-box h2 {
  font-family: 'Bricolage Grotesque';
  font-size:30px;
  line-height:1.1;
  color:var(--navy);
  margin:0 0 16px;
}

.mk-contact-box .mk-c-lead {
  font-size:15px;
  color:#6a6152;
  line-height:1.6;
  margin:0;
}

.mk-contact-cards {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.mk-c-card {
  border-radius:14px;
  padding:22px;
  display:flex;
  flex-direction:column;
}

.mk-c-card.wa {
  background:#e9f5ec;
  border:1px solid #cfe8d6;
}

.mk-c-card.em {
  background:#eef3fb;
  border:1px solid #d6e2f2;
}

.mk-c-head {
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}

.mk-c-ico {
  width:42px;
  height:42px;
  border-radius:999px;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:none;
}

.mk-c-ico.wa {
  background:#25a05a;
}

.mk-c-ico.em {
  background:#1f4e79;
}

.mk-c-head h4 {
  font-family:'Bricolage Grotesque';
  font-weight:600;
  font-size:16px;
  color:var(--navy);
  margin:0;
}

.mk-c-card p {
  font-size:13px;
  color:var(--muted);
  line-height:1.5;
  margin:0 0 16px;
  flex:1;
}

.mk-c-btn {
  text-align:center;
  padding:12px;
  border-radius:10px;
  background:var(--navy);
  color:#fff;
  font-weight:600;
  font-size:14px;
  transition:all .3s ease;
}

.mk-c-btn:hover {
  background:var(--navy-dark);
  color:#fff;
}

/* ---------- FOOTER ---------- */ 
.mk-footer {
  background:#fbf9f5;
  color:var(--ink);
  padding:38px 0 26px;
}

.mk-footer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  padding-bottom:24px;
}

.mk-footer-brand {
  display:flex;
  align-items:center;
  gap:12px;
}


.mk-footer-tags {
  display:flex;
  align-items:center;
  gap:26px;
  font-size:14px;
   color:var(--ink);
}

.mk-footer-tags a{
  font-family: 'DM Sans';
  font-weight: 500;
  color:var(--ink);
  font-size:15px;
}

.mk-footer-tags .dot {
  opacity:.4;
}

.mk-social {
  display:flex;
  gap:12px;
}

.mk-social a {
  width:38px;
  height:38px;
  border-radius:999px;
  background:rgba(0,0,0,.1);
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all .3s ease;
}

.mk-social a:hover {
  background:var(--gold);
  color:#fff;
  transform:translateY(-3px);
}

.mk-copy {
  border-top:1px solid rgba(0,0,0,.12);
  padding-top:20px;
  text-align:center;
  font-size:14px;
  color:var(--ink);
}

/* ---------- SCROLL TO TOP ---------- */
.mk-totop {
  position:fixed;
  bottom:28px;
  right:28px;
  width:46px;
  height:46px;
  border-radius:50%;
  background:var(--navy);
  color:#fff;
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 16px rgba(26,41,66,.35);
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .3s ease,visibility .3s ease,transform .3s ease,background .25s ease;
  z-index:200;
}

.mk-totop.mk-totop-show {
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.mk-totop:hover {
  background:var(--gold);
}

/* ---------- RESPONSIVE ---------- */ 
@media (max-width:1000px) {
  .mk-grid4 {
    grid-template-columns:repeat(2,1fr);
  }

}

@media (max-width:900px) {
  .mk-grid3 {
    grid-template-columns:1fr;
    max-width:460px;
    margin:0 auto;
  }

  .mk-contact-box {
    grid-template-columns:1fr;
    padding:32px 24px;
  }

  .mk-menu,.mk-nav-cta {
    display:none;
  }

  .mk-burger {
    display:block;
  }

  .mk-menu.mk-open {
    display:flex;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    gap:0;
    background:#fff;
    box-shadow:0 8px 24px rgba(0,0,0,.1);
    padding:8px 0;
  }

  .mk-menu.mk-open a {
    padding:14px 28px;
    width:100%;
    color:var(--ink);
    border-bottom:1px solid rgba(0,0,0,.06);
  }

  .mk-hero-content h1 {
    font-size:46px;
  }

  .mk-script {
    font-size:58px;
  }

}

@media (max-width:640px) {
  .mk-grid4 {
    grid-template-columns:1fr;
  }

  .mk-contact-cards {
    grid-template-columns:1fr;
  }

  .mk-head h2 {
    font-size:28px;
  }

  .mk-soon {
    flex-direction:column;
    align-items:center;
    padding:24px 20px;
    text-align:center;
  }

  .mk-soon-l {
    flex-direction:column;
    align-items:center;
    gap:12px;
  }

  .mk-soon h3 {
    font-size:20px;
  }

  .mk-soon-cta {
    width:100%;
    justify-content:center;
  }

  .mk-hero-content h1 {
    font-size:38px;
  }

  .mk-script {
    font-size:48px;
  }

  .mk-footer-top {
    flex-direction:column;
    align-items:flex-start;
  }

}

/* ================= FAQ ================= */
 .mk-faq-sec {
     padding:88px 0;
     background:#fff;
}
 .mk-faq-grid {
     display:flex;
     flex-direction:column;
     gap:12px;
     max-width:880px;
     margin:0 auto;
}
 .mk-faq-item {
     border:1px solid var(--cream-border);
     background:#fffdf8;
     border-radius:14px;
     padding:0 22px;
}
 .mk-faq-item[open] {
     border-color:var(--gold);
     box-shadow:0 6px 24px rgba(26,41,66,.07);
}
 .mk-faq-item > summary {
     display:flex;
     align-items:center;
     gap:14px;
     padding:20px 0;
     font-weight:600;
     font-size:17px;
     color:var(--navy);
     cursor:pointer;
     list-style:none;
}
 .mk-faq-item > summary::-webkit-details-marker {
     display:none;
}
 .mk-faq-n {
     flex:none;
     width:28px;
     height:28px;
     border-radius:50%;
     background:var(--gold);
     color:var(--navy);
     font-size:13px;
     font-weight:700;
     display:flex;
     align-items:center;
     justify-content:center;
}
 .mk-faq-q {
     flex:1;
}
 .mk-faq-chev {
     color:var(--gold);
     transition:transform .25s ease;
}
 .mk-faq-item[open] .mk-faq-chev {
     transform:rotate(180deg);
}
 .mk-faq-a {
     padding:0 0 22px 42px;
     font-size:16px;
     line-height:1.5;
     color:#4a5866;
     display:flex;
     flex-direction:column;
     gap:10px;
}
 .mk-faq-a p {
     margin:0;
}
 .mk-faq-a strong {
     color:var(--navy);
}
 .mk-faq-a a {
     color:#b98f3c;
     font-weight:600;
     border-bottom:1px solid rgba(212,168,83,.5);
}
 .mk-faq-note {
     font-size:15px;
     color:var(--muted);
}
 .mk-faq-times {
     display:flex;
     gap:12px;
}
 .mk-faq-times > div {
     flex:1;
     border:1px solid var(--cream-border);
     background:#fff;
     border-radius:10px;
     padding:14px 16px;
     display:flex;
     flex-direction:column;
     gap:4px;
}
 .mk-faq-times span {
     font-size:12px;
     letter-spacing:.12em;
     text-transform:uppercase;
     color:var(--muted);
     font-weight:600;
}
 .mk-faq-times strong {
     font-size:22px;
     color:var(--navy);
}
 .mk-bank-grid {
     display:grid;
     grid-template-columns:repeat(3,1fr);
     gap:14px;
}
 .mk-bank {
     border:1px solid var(--cream-border);
     background:#fff;
     border-radius:12px;
     padding:18px 20px;
     display:flex;
     flex-direction:column;
     gap:8px;
}
 .mk-bank-lots {
     font-size:14px;
     letter-spacing:.12em;
     text-transform:uppercase;
     color:var(--gold);
     font-weight:700;
}
 .mk-bank strong {
     font-size:15px;
     color:var(--navy);
}
 .mk-bank-name {
     font-size:15px;
     color:var(--muted);
}
 .mk-bank-no {
     font-size:19px;
     font-weight:700;
     color:var(--navy);
     font-variant-numeric:tabular-nums;
}
 .mk-near-grid {
     display:grid;
     grid-template-columns:repeat(3,1fr);
     gap:10px 20px;
}
 .mk-near {
     display:flex;
     justify-content:space-between;
     gap:12px;
     align-items:baseline;
     border-bottom:1px dashed var(--cream-border);
     padding-bottom:9px;
     font-size:15.5px;
}
 .mk-near em {
     color:#b98f3c;
     font-weight:600;
     font-style:normal;
     white-space:nowrap;
}
/* ================= HOUSE RULES ================= */
 .mk-rules {
     padding:88px 0;
}
 .mk-rules-grid {
     display:grid;
     grid-template-columns:repeat(2,1fr);
     gap:20px;
}
 .mk-rule-card {
     background:#fff;
     border:1px solid var(--cream-border);
     border-radius:16px;
     padding:30px 32px;
     display:flex;
     flex-direction:column;
     gap:14px;
}
 .mk-rule-head {
     display:flex;
     align-items:center;
     gap:14px;
}
 .mk-rule-n {
     font-family:'Bricolage Grotesque',Georgia,sans-serif;
     font-size:30px;
     font-weight:700;
     color:var(--gold);
     line-height:1;
}
 .mk-rule-card h3 {
     margin:0;
     font-size:20px;
     color:var(--navy);
     font-family:'Bricolage Grotesque',Georgia,sans-serif;
}
 .mk-rule-card p {
     margin:0;
     font-size:16px;
     line-height:1.7;
     color:#4a5866;
     text-wrap:pretty;
}
 .mk-rule-card strong {
     color:var(--navy);
}
 .mk-rules-cta {
     margin-top:36px;
     display:flex;
     align-items:center;
     justify-content:space-between;
     gap:24px;
     background:var(--navy);
     border-radius:16px;
     padding:26px 32px;
     flex-wrap:wrap;
}
 .mk-rules-cta p {
     margin:0;
     color:rgba(255,255,255,.82);
     font-size:16.5px;
     line-height:1.6;
}
 @media (max-width:900px) {
     .mk-abnb-grid {
         grid-template-columns:1fr;
         gap:34px;
    }
     .mk-abnb-l h2 {
         font-size:32px;
    }
     .mk-bank-grid, .mk-near-grid {
         grid-template-columns:1fr;
    }
     .mk-rules-grid {
         grid-template-columns:1fr;
    }
     .mk-rules-cta {
         flex-direction:column;
         align-items:flex-start;
    }
}
 @media (max-width:560px) {
     .mk-abnb-lots {
         grid-template-columns:1fr;
    }
     .mk-faq-item {
         padding:0 16px;
    }
     .mk-faq-a {
         padding-left:0;
    }
     .mk-faq-times {
         flex-direction:column;
    }
     .mk-rule-card {
         padding:24px 22px;
    }
}

/* ---------- MODALS: shared base (Check Availability + Date Not Available) ---------- */
.mk-modal {
  display:none;
  position:fixed;
  inset:0;
  z-index:1100;
  background:rgba(12,36,58,.55);
  align-items:center;
  justify-content:center;
  padding:20px;
}

.mk-modal.mk-modal-open {
  display:flex;
}

.mk-modal-card {
  position:relative;
  background:#fff;
  border-radius:16px;
  padding:28px 26px;
  width:100%;
  max-width:420px;
  max-height:88vh;
  overflow-y:auto;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
}

.mk-modal-close {
  position:absolute;
  top:16px;
  right:16px;
  width:32px;
  height:32px;
  border-radius:50%;
  border:none;
  background:var(--cream);
  color:var(--navy);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s ease;
}

.mk-modal-close:hover {
  background:var(--cream-border);
}

.mk-modal-card h4 {
  font-family:'Bricolage Grotesque', Georgia, sans-serif;
  color:var(--navy);
  font-size:19px;
  margin:0 0 14px;
  padding-right:28px;
}

/* ---------- CHECK AVAILABILITY: calendar ---------- */
.mk-avail-card {
  max-width:340px;
}

.mk-cal-nav {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px;
}

.mk-cal-nav span {
  font-weight:600;
  color:var(--navy);
  font-size:14.5px;
}

.mk-cal-arrow {
  width:30px;
  height:30px;
  border-radius:50%;
  border:1px solid var(--cream-border);
  background:#fff;
  color:var(--navy);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all .2s ease;
}

.mk-cal-arrow:hover {
  background:var(--cream);
}

.mk-cal-weekdays, .mk-cal-grid {
  display:grid;
  grid-template-columns:repeat(7, 1fr);
  gap:4px;
  text-align:center;
}

.mk-cal-weekdays span {
  font-size:11.5px;
  font-weight:700;
  color:#9aa4b2;
  padding-bottom:6px;
}

.mk-cal-day {
  aspect-ratio:1/1;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  font-size:13px;
  color:var(--navy);
}

.mk-cal-blank {
  visibility:hidden;
}

.mk-cal-free {
  background:var(--cream);
}

.mk-cal-blocked {
  background:transparent;
  color:#c7ccd4;
  text-decoration:line-through;
}

.mk-cal-past {
  color:#d7dbe1;
}

.mk-cal-today {
  box-shadow:inset 0 0 0 1.5px var(--gold);
  font-weight:700;
}

.mk-cal-legend {
  display:flex;
  gap:16px;
  margin-top:14px;
  font-size:12.5px;
  color:var(--navy);
}

.mk-cal-dot {
  display:inline-block;
  width:9px;
  height:9px;
  border-radius:50%;
  margin-right:6px;
  vertical-align:middle;
}

.mk-cal-dot-free {
  background:var(--cream);
  border:1px solid var(--cream-border);
}

.mk-cal-dot-blocked {
  background:#c7ccd4;
}

.mk-cal-status {
  margin:12px 0 0;
  font-size:12.5px;
  color:#8b93a1;
  text-align:center;
  min-height:16px;
}

/* ---------- DATE NOT AVAILABLE: enquiry form ---------- */
.mk-enquire-note {
  font-size:13.5px;
  color:#5b6472;
  line-height:1.55;
  margin:0 0 12px;
}

#mkEnquireForm label {
  display:block;
  font-size:12.5px;
  font-weight:600;
  color:var(--navy);
  margin:14px 0 6px;
}

#mkEnquireForm input {
  width:100%;
  padding:11px 13px;
  border:1.5px solid var(--cream-border);
  border-radius:8px;
  font-family:'DM Sans', sans-serif;
  font-size:14px;
  color:var(--navy);
  background:#fff;
}

#mkEnquireForm input:focus {
  outline:none;
  border-color:var(--gold);
}

#mkEnquireForm input[readonly] {
  background:var(--cream);
  color:var(--navy);
  font-weight:600;
}

.mk-enquire-send {
  width:100%;
  margin-top:22px;
  padding:13px 20px;
  border:none;
  border-radius:10px;
  background:#25D366;
  color:#fff;
  font-weight:700;
  font-size:15px;
  font-family:'DM Sans', sans-serif;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  cursor:pointer;
  transition:background .25s ease;
}

.mk-enquire-send:hover {
  background:#1ebc59;
}

