/* MPV Holiday — modern home landing
   Brand palette preserved: teal / gold / cream / ink
   Fonts: Fraunces (display) + Plus Jakarta Sans (body)
*/

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

body.home.mpv-home-landing {
  --mpv-teal: #0F4C45;
  --mpv-teal-mid: #16645C;
  --mpv-teal-deep: #0A342F;
  --mpv-gold: #C9A227;
  --mpv-gold-soft: #E7CD6E;
  --mpv-cream: #FAF6EC;
  --mpv-sage: #E7EEE6;
  --mpv-ink: #22291F;
  --mpv-muted: #5C5746;
  --mpv-line: #D9D2C0;
  --mpv-white: #FFFFFF;
  --mpv-font-display: 'Fraunces', Georgia, serif;
  --mpv-font-sans: 'Plus Jakarta Sans', system-ui, sans-serif;
  background: var(--mpv-cream);
  color: var(--mpv-ink);
}

body.home.mpv-home-landing .site-content,
body.home.mpv-home-landing #primary,
body.home.mpv-home-landing .ast-container,
body.home.mpv-home-landing .entry-content {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.home.mpv-home-landing .entry-header,
body.home.mpv-home-landing .ast-single-entry-banner {
  display: none !important;
}

.mpv-home {
  font-family: var(--mpv-font-sans);
  color: var(--mpv-ink);
  overflow-x: hidden;
}

.mpv-home * { box-sizing: border-box; }

.mpv-home a { text-decoration: none; color: inherit; }

/* -------- Hero (full-bleed, brand-first) -------- */
.mpv-home-hero {
  position: relative;
  min-height: min(100vh, 820px);
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  color: var(--mpv-cream);
  isolation: isolate;
}

.mpv-home-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.mpv-home-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  display: block;
  transform: scale(1.04);
  animation: mpvHomeKen 18s ease-out forwards;
}

@keyframes mpvHomeKen {
  from { transform: scale(1.08); }
  to { transform: scale(1); }
}

.mpv-home-hero__shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(6,32,29,.55) 0%, rgba(6,32,29,.42) 28%, rgba(6,32,29,.78) 58%, rgba(6,32,29,.94) 100%),
    linear-gradient(90deg, rgba(6,32,29,.55) 0%, rgba(6,32,29,.2) 55%, transparent 100%);
  pointer-events: none;
}

.mpv-home-hero__inner {
  position: relative;
  z-index: 2;
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
  padding: 96px 0 56px;
  animation: mpvHomeRise .9s cubic-bezier(.22,1,.36,1) both;
}

@keyframes mpvHomeRise {
  from { opacity: 0; transform: translateY(28px); }
  to { opacity: 1; transform: translateY(0); }
}

.mpv-home-hero__title {
  font-family: var(--mpv-font-display);
  font-weight: 600;
  font-size: clamp(1.85rem, 4.6vw, 3.15rem);
  line-height: 1.12;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
  max-width: 18ch;
  color: #FFFbf0;
  text-shadow: 0 2px 18px rgba(0,0,0,.55), 0 1px 2px rgba(0,0,0,.45);
}

.mpv-home-hero__sub {
  font-size: clamp(.95rem, 1.6vw, 1.08rem);
  line-height: 1.6;
  max-width: 46ch;
  margin: 0 0 28px;
  color: #F5F0E2;
  font-weight: 500;
  text-shadow: 0 2px 14px rgba(0,0,0,.5), 0 1px 2px rgba(0,0,0,.4);
}

.mpv-home-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.mpv-home-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 22px;
  border-radius: 10px;
  font-family: var(--mpv-font-sans);
  font-weight: 700;
  font-size: .95rem;
  border: 1.5px solid transparent;
  transition: transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
  cursor: pointer;
}

.mpv-home-btn:hover { transform: translateY(-2px); }

.mpv-home-btn--primary {
  background: var(--mpv-gold);
  color: var(--mpv-teal-deep);
}

.mpv-home-btn--primary:hover { background: var(--mpv-gold-soft); }

.mpv-home-btn--ghost {
  background: rgba(6,32,29,.35);
  color: #FFFbf0;
  border-color: rgba(255,251,240,.7);
  backdrop-filter: blur(4px);
}

.mpv-home-btn--ghost:hover {
  background: rgba(6,32,29,.55);
  border-color: #FFFbf0;
}

.mpv-home-btn--solid {
  background: var(--mpv-teal);
  color: var(--mpv-cream);
}

.mpv-home-btn--solid:hover { background: var(--mpv-teal-mid); }

/* -------- Sections -------- */
.mpv-home-section {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
  padding: 72px 0;
}

.mpv-home-kicker {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--mpv-gold);
  margin: 0 0 10px;
}

.mpv-home-h2 {
  font-family: var(--mpv-font-display);
  font-weight: 600;
  font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  line-height: 1.2;
  color: var(--mpv-teal);
  margin: 0 0 14px;
  max-width: 22ch;
}

.mpv-home-lead {
  font-size: 1.02rem;
  line-height: 1.6;
  color: var(--mpv-muted);
  max-width: 48ch;
  margin: 0;
}

/* -------- Why (editorial list, not card grid) -------- */
.mpv-home-why {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: clamp(28px, 5vw, 64px);
  align-items: start;
}

.mpv-home-why__list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--mpv-line);
}

.mpv-home-why__list li {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 16px;
  padding: 20px 0;
  border-bottom: 1px solid var(--mpv-line);
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .55s ease, transform .55s ease;
}

.mpv-home-why__list li.is-in {
  opacity: 1;
  transform: none;
}

.mpv-home-why__num {
  font-family: var(--mpv-font-display);
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--mpv-gold);
  line-height: 1.2;
}

.mpv-home-why__list h3 {
  font-family: var(--mpv-font-sans);
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 4px;
  color: var(--mpv-ink);
}

.mpv-home-why__list p {
  margin: 0;
  font-size: .94rem;
  line-height: 1.5;
  color: var(--mpv-muted);
}

.mpv-home-why__closing {
  margin: 36px 0 0;
  text-align: center;
  font-family: var(--mpv-font-display);
  font-weight: 600;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  color: var(--mpv-teal);
}

/* -------- Services (full-bleed split, not inset cards) -------- */
.mpv-home-services {
  padding: 0;
  width: 100%;
}

.mpv-home-services__intro {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
  padding: 56px 0 0;
  border-top: 1px solid var(--mpv-line);
}

.mpv-home-services__intro .mpv-home-h2 {
  max-width: 28ch;
  margin-bottom: 8px;
}

.mpv-home-services__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 520px;
}

.mpv-home-service {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 420px;
  overflow: hidden;
  color: var(--mpv-cream);
}

.mpv-home-service img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.1s ease;
}

.mpv-home-service:hover img { transform: scale(1.05); }

.mpv-home-service__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(6,32,29,.25) 0%, rgba(6,32,29,.55) 40%, rgba(6,32,29,.92) 100%),
    linear-gradient(0deg, rgba(0,0,0,.35), transparent 45%);
}

.mpv-home-service__body {
  position: relative;
  z-index: 1;
  padding: clamp(28px, 4vw, 48px);
  max-width: 38ch;
}

.mpv-home-service__body h2 {
  font-family: var(--mpv-font-display);
  font-size: clamp(1.45rem, 2.6vw, 1.9rem);
  font-weight: 600;
  margin: 0 0 10px;
  line-height: 1.15;
  color: #FFFbf0;
  text-shadow: 0 2px 14px rgba(0,0,0,.55);
}

.mpv-home-service__body p {
  margin: 0 0 20px;
  font-size: .98rem;
  line-height: 1.55;
  color: #F2ECDC;
  font-weight: 500;
  text-shadow: 0 2px 12px rgba(0,0,0,.5);
}

/* -------- Reviews -------- */
.mpv-home-reviews .mpv-home-reviews__top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 28px;
}

.mpv-home-reviews .mpv-gr-wrap {
  margin-top: 4px;
}

.mpv-home-review-track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 8px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.mpv-home-review {
  flex: 0 0 min(340px, 85vw);
  scroll-snap-align: start;
  background: var(--mpv-white);
  border: 1px solid var(--mpv-line);
  border-radius: 14px;
  padding: 22px 20px;
  text-decoration: none;
  color: inherit;
  display: block;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.mpv-home-review:hover {
  border-color: var(--mpv-gold);
  box-shadow: 0 10px 26px -14px rgba(15, 76, 69, .28);
  transform: translateY(-2px);
}

.mpv-home-review__stars {
  color: #F4B400;
  letter-spacing: 1px;
  font-size: 14px;
  margin-bottom: 10px;
}

.mpv-home-review p {
  margin: 0 0 16px;
  font-size: .92rem;
  line-height: 1.55;
  color: var(--mpv-muted);
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.mpv-home-review__name {
  font-weight: 700;
  font-size: .88rem;
  color: var(--mpv-teal);
}

.mpv-home-review:hover .mpv-home-review__name {
  color: var(--mpv-teal-mid);
  text-decoration: underline;
}

/* -------- Closing -------- */
.mpv-home-close {
  position: relative;
  min-height: 420px;
  display: flex;
  align-items: center;
  color: var(--mpv-cream);
  overflow: hidden;
}

.mpv-home-close__media {
  position: absolute;
  inset: 0;
}

.mpv-home-close__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mpv-home-close__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(6,32,29,.94) 0%, rgba(6,32,29,.82) 42%, rgba(6,32,29,.55) 100%),
    linear-gradient(180deg, rgba(6,32,29,.45), rgba(6,32,29,.75));
}

.mpv-home-close__inner {
  position: relative;
  z-index: 1;
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
  padding: 64px 0;
  max-width: 640px;
  margin-left: max(20px, calc((100% - 1120px) / 2));
}

.mpv-home-close .mpv-home-h2 {
  color: #FFFbf0;
  max-width: none;
  text-shadow: 0 2px 16px rgba(0,0,0,.5);
}

.mpv-home-close__copy {
  margin: 0 0 28px;
}

.mpv-home-close__copy p {
  margin: 0 0 12px;
  font-size: 1rem;
  line-height: 1.6;
  color: #F2ECDC;
  font-weight: 500;
  text-shadow: 0 2px 12px rgba(0,0,0,.45);
}

.mpv-home-close__copy p:last-child { margin-bottom: 0; }

/* -------- Reveal helper -------- */
.mpv-home-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .65s ease, transform .65s ease;
}

.mpv-home-reveal.is-in {
  opacity: 1;
  transform: none;
}

/* -------- Responsive -------- */
@media (max-width: 900px) {
  .mpv-home-why { grid-template-columns: 1fr; }
  .mpv-home-services__grid { grid-template-columns: 1fr; }
  .mpv-home-service { min-height: 360px; }
  .mpv-home-hero { min-height: 92svh; }
  .mpv-home-close__inner { margin-left: 20px; margin-right: 20px; width: auto; max-width: none; }
  .mpv-home-hero__inner { padding-bottom: 40px; }
  .mpv-home-cta .mpv-home-btn { flex: 1 1 auto; }
}

@media (max-width: 560px) {
  .mpv-home-section { padding: 56px 0; }
  .mpv-home-why__list li { grid-template-columns: 40px 1fr; gap: 12px; }
  .mpv-home-cta .mpv-home-btn { width: 100%; }
  .mpv-home-cta { flex-direction: column; }
}
