/* MAQ LAB Cycle 3 — incremental Home refinement */
.ml-home { overflow-x: clip; }
.ml-site.ml-home h1 { font-size: clamp(64px, 5.2vw, 72px); line-height: .98; }
.ml-site.ml-home h2 { font-size: clamp(48px, 4vw, 54px); line-height: 1.02; }
.ml-site.ml-home h3 { font-size: clamp(28px, 2.4vw, 32px); }
.ml-home .ml-section,
.ml-home .ml-manifesto,
.ml-home .ml-verbs,
.ml-home .ml-interaction,
.ml-home .ml-brand-block,
.ml-home .ml-platforms,
.ml-home .ml-final-cta { padding-top: clamp(112px, 8vw, 128px); padding-bottom: clamp(112px, 8vw, 128px); }

.ml-header { height: 120px; }
.ml-logo--image { width: 274px; height: 112px; }
.ml-nav { gap: clamp(22px, 2vw, 34px); }
.ml-nav a { font-size: 13px; letter-spacing: .035em; }
.ml-btn { border-radius: 2px; font-size: 13px; }

/* Elementor-managed image placeholders */
.ml-placeholder-slot { width: 100%; min-width: 0; }
.ml-placeholder-slot > .elementor { width: 100%; }
.ml-hero-image {
  width: 100%; aspect-ratio: 4 / 3; min-height: 0; overflow: hidden;
}
.ml-hero-image .e-con-inner,
.ml-hero-image .elementor-element,
.ml-hero-image .elementor-widget-container,
.ml-hero-image picture { width: 100%; height: 100%; }
.ml-hero-image img {
  display: block; width: 100%; height: 100%; object-fit: cover; object-position: center;
}
.ml-elementor-placeholder {
  width: 100%; min-width: 0; padding: 24px !important;
  display: flex !important; flex-direction: column; align-items: center; justify-content: center;
  background-color: var(--ml-soft-grey);
  background-image: linear-gradient(rgba(16,35,45,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(16,35,45,.045) 1px,transparent 1px);
  background-size: 32px 32px;
  border: 1px solid var(--ml-light-grey); border-radius: 0;
  color: var(--ml-mid-grey); text-align: center; overflow: hidden;
}
.ml-ratio-4-3 { aspect-ratio: 4 / 3; }
.ml-ratio-7-5 { aspect-ratio: 7 / 5; }
.ml-ratio-16-10 { aspect-ratio: 16 / 10; }
.ml-ratio-1-1 { aspect-ratio: 1 / 1; }
.ml-elementor-placeholder .elementor-element { margin: 0; }
.ml-elementor-placeholder .elementor-heading-title,
.ml-elementor-placeholder .ml-placeholder-title {
  color: var(--ml-dark) !important; font: 500 12px/1.4 var(--ml-mono) !important;
  letter-spacing: .15em; text-transform: uppercase;
}
.ml-elementor-placeholder .elementor-widget-text-editor,
.ml-elementor-placeholder .ml-placeholder-copy { margin-top: 10px; }
.ml-elementor-placeholder .elementor-widget-text-editor p,
.ml-elementor-placeholder .ml-placeholder-copy {
  margin: 0; color: var(--ml-mid-grey); font: 400 11px/1.65 var(--ml-mono); letter-spacing: .05em; text-transform: uppercase;
}
.ml-placeholder-slot[data-placeholder] { position: relative; }
.ml-placeholder-slot[data-placeholder]::before {
  content: attr(data-placeholder); position: absolute; z-index: 3; top: 14px; left: 16px;
  color: var(--ml-mid-grey); font: 500 11px/1 var(--ml-mono); letter-spacing: .12em;
}

/* Hero */
.ml-hero { grid-template-columns: minmax(0, 1.05fr) minmax(500px, .95fr); min-height: calc(100vh - 120px); }
.ml-hero__copy { padding-top: 96px; padding-bottom: 96px; }
.ml-hero h1 { max-width: 680px; }
.ml-hero__copy > p { max-width: 650px; font-size: 20px; }
.ml-hero__stage { min-height: 620px; padding: 40px; display: flex; align-items: center; justify-content: center; }
.ml-placeholder--hero { max-width: 720px; }
.ml-hero__stage .ml-elementor-placeholder { background-color: var(--ml-soft-grey); border-color: rgba(16,35,45,.18); }

/* Positioning */
.ml-manifesto { align-items: start; }
.ml-manifesto > p { padding-top: 34px; max-width: 560px; }

/* Experience product sheets */
.ml-home .ml-exp-grid { gap: 24px; }
.ml-home .ml-exp-card { border-radius: 0; box-shadow: none; }
.ml-exp-card__meta {
  min-height: 54px; padding: 16px 20px; display: flex; align-items: center; justify-content: space-between;
  border-bottom: 1px solid var(--ml-light-grey); color: var(--ml-dark);
  font: 500 11px/1 var(--ml-mono); letter-spacing: .12em; text-transform: uppercase;
}
.ml-home .ml-exp-card__visual { height: auto; background: none; border-bottom: 1px solid var(--ml-light-grey); }
.ml-home .ml-exp-card__visual::before,
.ml-home .ml-exp-card__visual::after { display: none; }
.ml-home .ml-exp-card__visual .ml-placeholder-slot::before { display: none; }
.ml-home .ml-exp-card__body { padding: 28px 30px 32px; }
.ml-home .ml-exp-card__body h3 { margin-top: 10px; }
.ml-home .ml-exp-card__body p { max-width: 520px; }
.ml-home .ml-exp-card:hover { transform: translateY(-3px); }

/* Verbs */
.ml-verbs__intro { max-width: 900px; }
.ml-verbs__rail { flex-wrap: wrap; overflow: visible; row-gap: 28px; }
.ml-verbs__rail span { flex: 0 0 auto; font-size: clamp(28px, 3.2vw, 48px); }
.ml-verbs__rail i { flex-basis: clamp(20px, 2vw, 34px); }

/* Body interaction */
.ml-interaction { align-items: center; }
.ml-interaction__art { min-height: 0; display: block; overflow: hidden; }
.ml-interaction__art .ml-elementor-placeholder { border: 0; background-color: rgba(255,255,255,.045); background-image: linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); color: rgba(255,255,255,.6); }
.ml-interaction__art .ml-elementor-placeholder .elementor-heading-title,
.ml-interaction__art .ml-elementor-placeholder .ml-placeholder-title { color: #fff !important; }
.ml-interaction__art .ml-elementor-placeholder p { color: rgba(255,255,255,.62); }
.ml-interaction__art > span {
  position: absolute; z-index: 5; left: 32px; bottom: 28px;
  font-size: clamp(44px, 6.2vw, 88px); line-height: .82;
  text-shadow: 0 2px 18px rgba(16,35,45,.28); pointer-events: none;
}

/* Personalization */
.ml-brand-block { display: grid; grid-template-columns: minmax(0,.9fr) minmax(480px,1.1fr); align-items: center; gap: clamp(48px,6vw,96px); }
.ml-brand-block::after { display: none; }
.ml-brand-block h2 { font-size: clamp(54px,6vw,84px); }
.ml-brand-block__copy > p { max-width: 590px; font-size: 19px; line-height: 1.6; }
.ml-tags { max-width: 620px; }
.ml-tags span { border-radius: 2px; padding: 9px 13px; background: rgba(255,255,255,.45); }

/* Rent / buy */
.ml-home .ml-split article { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.ml-home .ml-split article .ml-placeholder-slot { margin: calc(clamp(40px,5vw,72px) * -1) calc(clamp(40px,5vw,72px) * -1) 40px; width: calc(100% + clamp(80px,10vw,144px)); }
.ml-home .ml-split article > span { margin-bottom: 24px; }
.ml-home .ml-split article h3 { margin: 0 0 16px; }
.ml-home .ml-split article p { min-height: 86px; }
.ml-home .ml-split .ml-elementor-placeholder { border: 0; border-bottom: 1px solid rgba(255,255,255,.16); background-color: rgba(255,255,255,.04); background-image: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); }
.ml-home .ml-split .ml-elementor-placeholder .elementor-heading-title,
.ml-home .ml-split .ml-elementor-placeholder .ml-placeholder-title { color: #fff !important; }
.ml-home .ml-split .ml-elementor-placeholder p { color: rgba(255,255,255,.62); }

/* Platform modules */
.ml-home .ml-platform-grid > div { padding: 0 24px 30px; justify-content: flex-start; }
.ml-home .ml-platform-grid .ml-placeholder-slot { width: calc(100% + 48px); margin: 0 -24px 28px; }
.ml-home .ml-platform-grid .ml-elementor-placeholder { border-width: 0 0 1px; }
.ml-home .ml-platform-grid b { margin-bottom: 40px; }
.ml-home .ml-platform-grid p { margin: auto 0 0; }

/* Compact conversion and footer */
.ml-wa-float { width: 54px; height: 54px; padding: 0; display: grid; place-items: center; border-radius: 2px; }
.ml-wa-float span { display: none; }
.ml-wa-float svg { width: 24px; height: 24px; padding: 4px; }
.ml-footer { padding-top: 64px; }
.ml-footer-logo { width: 152px; padding: 0; background: transparent; }
.ml-footer-logo img { filter: grayscale(1) brightness(0) invert(1); }
.ml-footer__brand p { margin-bottom: 0; color: rgba(255,255,255,.7); }
.ml-site .ml-footer b { color: #fff; }
.ml-site .ml-footer a { color: rgba(255,255,255,.68); }
.ml-site .ml-footer a:hover,
.ml-site .ml-footer a:focus-visible { color: #fff; }
.ml-site .ml-footer__bottom { color: rgba(255,255,255,.42); }

@media (max-width: 1050px) {
  .ml-site.ml-home h1 { font-size: clamp(58px,7vw,68px); }
  .ml-site.ml-home h2 { font-size: clamp(44px,5vw,50px); }
  .ml-hero { grid-template-columns: 1fr; }
  .ml-hero__stage { min-height: auto; padding: 56px 28px; }
  .ml-placeholder--hero { max-width: 760px; }
  .ml-brand-block { grid-template-columns: 1fr; }
  .ml-brand-block .ml-placeholder-slot { max-width: 800px; }
  .ml-verbs__rail { display: grid; grid-template-columns: repeat(3,auto 24px); }
  .ml-verbs__rail i:nth-last-child(1) { display: none; }
}

@media (max-width: 680px) {
  .ml-site.ml-home h1 { font-size: clamp(42px,12.5vw,50px); line-height: 1.01; }
  .ml-site.ml-home h2 { font-size: clamp(34px,9.5vw,40px); }
  .ml-site.ml-home h3 { font-size: 28px; }
  .ml-home .ml-section,
  .ml-home .ml-manifesto,
  .ml-home .ml-verbs,
  .ml-home .ml-interaction,
  .ml-home .ml-brand-block,
  .ml-home .ml-platforms,
  .ml-home .ml-final-cta { padding-top: 68px; padding-bottom: 68px; }
  .ml-header { height: 94px; }
  .ml-logo--image { width: 219px; height: 89px; }
  .ml-hero__copy { padding-top: 64px; padding-bottom: 64px; }
  .ml-hero__copy > p { font-size: 18px; }
  .ml-hero__stage { padding: 32px 20px; }
  .ml-manifesto > p { padding-top: 0; }
  .ml-exp-card__meta { min-height: 48px; padding: 14px 16px; }
  .ml-elementor-placeholder { padding: 16px !important; }
  .ml-verbs__rail { display: grid; grid-template-columns: 1fr 18px 1fr; column-gap: 10px; row-gap: 22px; }
  .ml-verbs__rail span { font-size: 27px; }
  .ml-verbs__rail i { width: 18px; }
  .ml-verbs__rail i:nth-of-type(2),
  .ml-verbs__rail i:nth-of-type(4) { display: none; }
  .ml-interaction__art > span { left: 20px; bottom: 18px; font-size: clamp(42px,15vw,62px); }
  .ml-brand-block { gap: 40px; }
  .ml-brand-block h2 { font-size: 44px; }
  .ml-home .ml-split article .ml-placeholder-slot { margin: -30px -20px 30px; width: calc(100% + 40px); }
  .ml-home .ml-split article { padding: 30px 20px; }
  .ml-home .ml-platform-grid > div { min-height: 0; }
  .ml-footer { padding-top: 56px; }
  .ml-footer-logo { width: 142px; }
}
