:root {
  --mavie-ink: #171915;
  --mavie-soft-ink: #2a2c25;
  --mavie-paper: #f2eee5;
  --mavie-cream: #fbf8f0;
  --mavie-terracotta: #df5738;
  --mavie-moss: #747b52;
  --mavie-blue: #234b92;
  --mavie-ochre: #b87935;
  --mavie-paint: #ad4d3b;
  --mavie-border: #ded6c5;
  --mavie-line: rgba(23, 25, 21, .22);
  --mavie-sans: "Mavie Sans", Archivo, Inter, Arial, sans-serif;
  --mavie-serif: "Mavie Serif", "Source Serif 4", Georgia, serif;
}

.mavie_service_press,
.mavie_service_collection,
.mavie_project_collection {
  box-sizing: border-box;
  color: var(--mavie-ink);
  font-family: var(--mavie-sans);
}

.mavie_service_press *,
.mavie_service_collection *,
.mavie_project_collection * { box-sizing: border-box; }

.mavie_service_press {
  --mavie-accent: var(--mavie-terracotta);
  position: relative;
  margin: 0;
  border: 1px solid var(--mavie-ink);
  background: var(--mavie-soft-ink);
  box-shadow: 10px 12px 0 rgba(23, 25, 21, .2);
}

.mavie_service_press[data-tone="blue"] { --mavie-accent: var(--mavie-blue); }
.mavie_service_press[data-tone="ink"] { --mavie-accent: #44473e; }
.mavie_service_press[data-tone="moss"] { --mavie-accent: var(--mavie-moss); }
.mavie_service_press[data-tone="ochre"] { --mavie-accent: var(--mavie-ochre); }
.mavie_service_press[data-tone="paint"] { --mavie-accent: var(--mavie-paint); }

.mavie-d5-press__heading {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 18px;
  align-items: center;
  min-height: 48px;
  padding: 0 20px;
  border-bottom: 1px solid rgba(251, 248, 240, .25);
  color: var(--mavie-cream);
  font: 700 10px/1 var(--mavie-sans);
  letter-spacing: .11em;
  text-transform: uppercase;
}

.mavie-d5-press__ready { display: inline-flex; gap: 7px; align-items: center; }
.mavie-d5-press__ready i { width: 8px; height: 8px; border-radius: 50%; background: var(--mavie-accent); box-shadow: 0 0 0 4px rgba(251,248,240,.08); }

.mavie-d5-press__items {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  padding: 18px 18px 24px;
  background: linear-gradient(180deg, #30332c 0, var(--mavie-soft-ink) 100%);
}

.mavie_service_press_item { display: contents; }

.mavie-d5-press__plate {
  grid-row: 1;
  min-width: 0;
  min-height: 66px;
  margin: 0 -1px 20px 0;
  padding: 9px 7px 10px;
  border: 1px solid rgba(251, 248, 240, .35);
  border-bottom: 4px solid var(--mavie-accent);
  border-radius: 0;
  background: #3a3d35;
  color: var(--mavie-cream);
  cursor: pointer;
  text-align: left;
  transition: background .2s ease, transform .2s ease;
}

.mavie-d5-press__plate:hover,
.mavie-d5-press__plate:focus-visible { background: #484c42; transform: translateY(-3px); }
.mavie_service_press_item.is-active .mavie-d5-press__plate { background: var(--mavie-accent); color: #fff; }
.mavie-d5-press__plate span { display: block; margin-bottom: 5px; font: 700 9px/1 var(--mavie-sans); opacity: .8; }
.mavie-d5-press__plate strong { display: block; overflow: hidden; font: 700 clamp(9px, 1vw, 12px)/1.15 var(--mavie-sans); text-overflow: ellipsis; }

.mavie-d5-press__paper {
  display: none;
  grid-column: 1 / -1;
  grid-row: 2;
  position: relative;
  min-height: 360px;
  padding: clamp(30px, 5vw, 58px);
  border: 1px solid var(--mavie-border);
  background: var(--mavie-cream);
  color: var(--mavie-ink);
  box-shadow: 7px 8px 0 rgba(0, 0, 0, .3);
}

.mavie_service_press_item:first-child .mavie-d5-press__paper,
.mavie_service_press_item.is-active .mavie-d5-press__paper { display: block; }
.mavie-d5-press__number { position: absolute; top: 22px; right: 25px; color: var(--mavie-accent); font: 800 48px/.9 var(--mavie-sans); opacity: .17; }
.mavie-d5-press__verb { margin: 0 0 12px; color: var(--mavie-accent); font: 800 11px/1 var(--mavie-sans); letter-spacing: .16em; text-transform: uppercase; }
.mavie-d5-press__title { max-width: 680px; margin: 0; padding: 0; color: var(--mavie-ink); font: 650 clamp(31px, 4vw, 55px)/.96 var(--mavie-serif); letter-spacing: -.025em; }
.mavie-d5-press__summary { max-width: 590px; margin: 20px 0 28px; font: 500 16px/1.55 var(--mavie-sans); }
.mavie-d5-press__paper dl { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin: 0 0 25px; }
.mavie-d5-press__paper dl div { padding-top: 12px; border-top: 1px solid var(--mavie-line); }
.mavie-d5-press__paper dt { font: 750 9px/1.2 var(--mavie-sans); letter-spacing: .12em; text-transform: uppercase; }
.mavie-d5-press__paper dd { margin: 5px 0 0; font: 600 17px/1.3 var(--mavie-serif); }
.mavie-d5-press__paper > a { display: inline-flex; gap: 12px; align-items: center; padding-bottom: 4px; border-bottom: 2px solid currentColor; color: var(--mavie-ink); font: 750 13px/1 var(--mavie-sans); text-decoration: none; }

.mavie-d5-press__controls { display: flex; justify-content: flex-end; gap: 8px; padding: 0 18px 18px; }
.mavie-d5-press__controls button { width: 42px; height: 36px; border: 1px solid rgba(251,248,240,.4); border-radius: 0; background: transparent; color: var(--mavie-cream); cursor: pointer; }
.mavie_service_press figcaption { padding: 13px 18px; border-top: 1px solid rgba(251,248,240,.25); color: var(--mavie-cream); font: 650 10px/1.3 var(--mavie-sans); letter-spacing: .07em; text-transform: uppercase; }
.mavie_service_press figcaption > span:first-child { margin-right: 8px; color: var(--mavie-accent); }

.mavie-d5-collection__heading { margin-bottom: 42px; }
.mavie-d5-collection__eyebrow { margin: 0 0 10px; color: var(--mavie-terracotta); font: 800 11px/1 var(--mavie-sans); letter-spacing: .14em; text-transform: uppercase; }
.mavie-d5-collection__title { margin: 0; padding: 0; color: var(--mavie-ink); font: 600 clamp(38px, 5vw, 66px)/.95 var(--mavie-serif); letter-spacing: -.03em; }

.mavie-d5-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.mavie_service_item { min-width: 0; }
.mavie-d5-service-card { display: flex; flex-direction: column; min-height: 330px; padding: 27px; border: 1px solid var(--mavie-line); border-top: 7px solid var(--mavie-terracotta); background: var(--mavie-cream); box-shadow: 6px 7px 0 rgba(23,25,21,.14); }
.mavie-d5-service-card[data-tone="blue"] { border-top-color: var(--mavie-blue); }
.mavie-d5-service-card[data-tone="ink"] { border-top-color: var(--mavie-ink); }
.mavie-d5-service-card[data-tone="moss"] { border-top-color: var(--mavie-moss); }
.mavie-d5-service-card[data-tone="ochre"] { border-top-color: var(--mavie-ochre); }
.mavie-d5-service-card[data-tone="paint"] { border-top-color: var(--mavie-paint); }
.mavie-d5-service__number { color: var(--mavie-terracotta); font: 800 11px/1 var(--mavie-sans); letter-spacing: .12em; }
.mavie-d5-service__title { margin: 24px 0 12px; padding: 0; color: var(--mavie-ink); font: 650 30px/1.02 var(--mavie-serif); }
.mavie-d5-service__summary { margin: 0 0 22px; font: 500 15px/1.55 var(--mavie-sans); }
.mavie-d5-service-card dl { display: grid; gap: 10px; margin: auto 0 20px; }
.mavie-d5-service-card dl div { display: grid; grid-template-columns: 70px 1fr; gap: 10px; padding-top: 9px; border-top: 1px solid var(--mavie-line); }
.mavie-d5-service-card dt { font: 750 9px/1.3 var(--mavie-sans); letter-spacing: .08em; text-transform: uppercase; }
.mavie-d5-service-card dd { margin: 0; font: 600 14px/1.3 var(--mavie-serif); }
.mavie-d5-service-card > a { align-self: flex-start; color: var(--mavie-ink); font: 750 12px/1 var(--mavie-sans); text-decoration: none; border-bottom: 2px solid currentColor; }

.mavie-d5-project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.mavie_project_item { overflow: hidden; border: 1px solid var(--mavie-line); background: var(--mavie-cream); }
.mavie-d5-project__art { position: relative; min-height: 230px; overflow: hidden; background: var(--mavie-terracotta); }
.mavie-d5-project__art span { position: absolute; inset: 18% 52% 18% 12%; border: 3px solid var(--mavie-cream); transform: rotate(-7deg); }
.mavie-d5-project__art span:nth-of-type(2) { inset: 31% 15% 24% 46%; transform: rotate(8deg); background: var(--mavie-cream); }
.mavie-d5-project__art span:nth-of-type(3) { inset: 62% 56% 9% 20%; transform: rotate(4deg); background: var(--mavie-ink); }
.mavie-d5-project__art i { position: absolute; width: 36%; height: 3px; background: var(--mavie-ink); transform: rotate(-18deg); }
.mavie-d5-project__art i:first-of-type { top: 30%; left: 42%; }
.mavie-d5-project__art i:last-of-type { right: 10%; bottom: 18%; transform: rotate(13deg); }
.mavie-d5-project__art--member { background: linear-gradient(135deg, var(--mavie-blue), #132e63); }
.mavie-d5-project__art--discover { background: repeating-linear-gradient(45deg, var(--mavie-ochre), var(--mavie-ochre) 18px, #d59a54 18px, #d59a54 36px); }
.mavie-d5-project__copy { padding: 25px; }
.mavie-d5-project__label,
.mavie-d5-project__services { color: var(--mavie-soft-ink); font: 750 10px/1.35 var(--mavie-sans); letter-spacing: .09em; text-transform: uppercase; }
.mavie-d5-project__title { margin: 16px 0 18px; padding: 0; color: var(--mavie-ink); font: 600 30px/1.05 var(--mavie-serif); }
.mavie-d5-project__copy > a,
.mavie-d5-project__copy > small { display: inline-block; margin-top: 18px; color: var(--mavie-ink); font: 750 11px/1.2 var(--mavie-sans); text-decoration: none; }
.mavie-d5-project__copy > a { border-bottom: 2px solid currentColor; }

@media (max-width: 980px) {
  .mavie-d5-service-grid,
  .mavie-d5-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mavie-d5-press__items { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mavie-d5-press__plate { grid-row: auto; margin-bottom: 8px; }
  .mavie-d5-press__paper { grid-row: 3; }
}

@media (max-width: 620px) {
  .mavie-d5-press__heading { grid-template-columns: 1fr auto; }
  .mavie-d5-press__ready { display: none; }
  .mavie-d5-press__items { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px; }
  .mavie-d5-press__paper { grid-row: 4; min-height: 390px; padding: 28px 22px; }
  .mavie-d5-press__paper dl { grid-template-columns: 1fr; }
  .mavie-d5-service-grid,
  .mavie-d5-project-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .mavie-d5-press__plate { transition: none; }
}

/* V3 fidelity layer: the modules remain native Divi parent/child modules while
   their public presentation uses the richer Mavie rails and artwork system. */
.mavie_service_collection,
.mavie_project_collection {
  width: 100%;
}

.mavie_service_collection {
  color: var(--mavie-cream);
}

.mavie-d5-collection__top {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 34px;
}

.mavie_service_collection .mavie-d5-collection__heading,
.mavie-d5-collection__top .mavie-d5-collection__heading {
  margin: 0;
}

.mavie_service_collection .mavie-d5-collection__eyebrow {
  display: none;
}

.mavie_service_collection .mavie-d5-collection__title {
  color: var(--mavie-cream);
  font-size: clamp(37px, 4vw, 56px);
  font-style: italic;
}

.mavie-d5-carousel__controls {
  display: flex;
  align-items: stretch;
  border: 1px solid rgba(251, 248, 240, .28);
}

.mavie-d5-carousel__controls button {
  min-width: 42px;
  min-height: 38px;
  padding: 0 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--mavie-cream);
  cursor: pointer;
  font: 750 10px/1 var(--mavie-sans);
  text-transform: uppercase;
}

.mavie-d5-carousel__controls button + button {
  border-left: 1px solid rgba(251, 248, 240, .28);
}

.mavie-d5-carousel__controls button:hover,
.mavie-d5-carousel__controls button:focus-visible {
  background: var(--mavie-cream);
  color: var(--mavie-ink);
}

.mavie-d5-service-viewport,
.mavie-d5-project-viewport {
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
}

.mavie-d5-service-viewport::-webkit-scrollbar,
.mavie-d5-project-viewport::-webkit-scrollbar {
  display: none;
}

.mavie-d5-service-grid {
  display: flex;
  gap: 18px;
  width: max-content;
}

.mavie_service_item {
  flex: 0 0 clamp(350px, 31vw, 430px);
  width: clamp(350px, 31vw, 430px);
  scroll-snap-align: start;
}

.mavie-d5-service-card {
  min-height: 465px;
  padding: 28px;
  border: 1px solid rgba(251, 248, 240, .3);
  border-top: 1px solid rgba(251, 248, 240, .3);
  background: var(--mavie-cream);
  box-shadow: none;
  color: var(--mavie-ink);
}

.mavie-d5-service-card[data-tone="ink"] {
  border-color: rgba(251, 248, 240, .28);
  background: #20221c;
  color: var(--mavie-cream);
}

.mavie-d5-service__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.mavie-d5-service__top > span:last-child {
  padding: 6px 9px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font: 750 8px/1 var(--mavie-sans);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.mavie-d5-service__number {
  color: var(--mavie-terracotta);
}

.mavie-d5-service__title {
  margin: 46px 0 12px;
  color: inherit;
  font-size: clamp(28px, 2.3vw, 38px);
  font-style: italic;
  font-weight: 560;
}

.mavie-d5-service__summary {
  min-height: 48px;
  color: currentColor;
  font-size: 14px;
  opacity: .78;
}

.mavie-d5-service-card ul {
  display: grid;
  gap: 7px;
  margin: 4px 0 34px;
  padding: 0;
  list-style: none;
}

.mavie-d5-service-card li {
  position: relative;
  padding-left: 16px;
  font: 600 11px/1.35 var(--mavie-sans);
}

.mavie-d5-service-card li::before {
  position: absolute;
  top: .55em;
  left: 0;
  width: 7px;
  height: 2px;
  background: var(--mavie-terracotta);
  content: "";
}

.mavie-d5-service__buy {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid currentColor;
}

.mavie-d5-service__buy > span,
.mavie-d5-service__buy strong,
.mavie-d5-service__buy small {
  display: block;
}

.mavie-d5-service__buy strong {
  color: inherit;
  font: 650 17px/1.2 var(--mavie-serif);
}

.mavie-d5-service__buy small {
  margin-top: 3px;
  font: 600 9px/1.25 var(--mavie-sans);
  opacity: .58;
}

.mavie-d5-service__buy > a {
  flex: none;
  border-bottom: 1px solid currentColor;
  color: inherit;
  font: 750 10px/1.2 var(--mavie-sans);
  text-decoration: none;
}

.mavie_project_collection {
  color: var(--mavie-cream);
}

.mavie_project_collection .mavie-d5-collection__heading {
  display: grid;
  grid-template-columns: 1fr minmax(240px, 380px);
  align-items: end;
  gap: 40px;
  margin-bottom: 52px;
}

.mavie_project_collection .mavie-d5-collection__eyebrow,
.mavie_project_collection .mavie-d5-collection__title {
  color: var(--mavie-cream);
}

.mavie_project_collection .mavie-d5-collection__title {
  font-size: clamp(42px, 5vw, 68px);
}

.mavie-d5-collection__description {
  margin: 0;
  color: rgba(251, 248, 240, .62);
  font: 500 14px/1.55 var(--mavie-sans);
}

.mavie-d5-project-grid {
  display: flex;
  gap: 18px;
  width: max-content;
}

.mavie_project_item {
  flex: 0 0 clamp(360px, 31vw, 440px);
  width: clamp(360px, 31vw, 440px);
  overflow: hidden;
  border-color: rgba(251, 248, 240, .22);
  background: #20221c;
  color: var(--mavie-cream);
  scroll-snap-align: start;
}

.mavie-d5-project__art {
  display: grid;
  place-items: center;
  min-height: 350px;
  border-bottom: 1px solid rgba(251, 248, 240, .24);
}

.mavie-d5-project__art--publish,
.mavie-d5-project__art--workflow {
  grid-template-columns: 1fr 32px 1fr 32px 1fr;
  padding: 35px;
  background: var(--mavie-cream);
  color: var(--mavie-ink);
}

.mavie-d5-project__art--publish span,
.mavie-d5-project__art--workflow span {
  position: static;
  display: grid;
  place-items: center;
  width: 82px;
  height: 82px;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: transparent;
  font: italic 600 13px/1 var(--mavie-serif);
  transform: none;
}

.mavie-d5-project__art--publish i,
.mavie-d5-project__art--workflow i {
  position: static;
  width: 42px;
  height: 1px;
  background: currentColor;
  transform: none;
}

.mavie-d5-project__art--publish span:last-child,
.mavie-d5-project__art--workflow span:last-child {
  border-color: var(--mavie-terracotta);
  background: var(--mavie-terracotta);
  color: var(--mavie-cream);
  transform: rotate(4deg);
}

.mavie-d5-project__art--workflow {
  background: #d9c9a6;
}

.mavie-d5-project__art--workflow span:last-child {
  border-color: var(--mavie-blue);
  background: var(--mavie-blue);
}

.mavie-d5-project__art--member {
  background: radial-gradient(circle at 50% 48%, transparent 0 18%, var(--mavie-terracotta) 18.5% 20%, transparent 20.5% 33%, rgba(251,248,240,.42) 33.5% 34%, transparent 34.5%), var(--mavie-blue);
}

.mavie-d5-project__orbit {
  position: static !important;
  width: 180px !important;
  height: 180px !important;
  border: 1px dashed var(--mavie-cream) !important;
  border-radius: 50%;
  background: transparent !important;
  transform: none !important;
  animation: mavie-project-orbit 18s linear infinite;
}

.mavie-d5-project__orbit::before,
.mavie-d5-project__orbit::after {
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--mavie-cream);
  content: "";
}

.mavie-d5-project__orbit::before { top: -8px; left: 82px; }
.mavie-d5-project__orbit::after { right: -8px; bottom: 64px; background: var(--mavie-terracotta); }

.mavie-d5-project__figure {
  position: absolute !important;
  inset: auto !important;
  width: 62px !important;
  height: 74px !important;
  border: 0 !important;
  border-radius: 50% 50% 8px 8px;
  background: var(--mavie-cream) !important;
  transform: none !important;
}

@keyframes mavie-project-orbit { to { transform: rotate(360deg); } }

.mavie-d5-project__art--discover {
  align-content: center;
  gap: 16px;
  padding: 64px;
  background: var(--mavie-moss);
}

.mavie-d5-project__search-line {
  position: static !important;
  display: block;
  width: 100% !important;
  height: 25px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--mavie-cream) !important;
  background: transparent !important;
  transform: none !important;
}

.mavie-d5-project__art--discover b {
  position: absolute;
  top: 37px;
  right: 38px;
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--mavie-terracotta);
  color: var(--mavie-cream);
  font: italic 600 26px/1 var(--mavie-serif);
}

.mavie-d5-project__art--editorial {
  align-content: center;
  justify-items: stretch;
  gap: 18px;
  padding: 56px;
  background: #d8ccb1;
}

.mavie-d5-project__page {
  position: absolute !important;
  inset: 42px 25% 42px 25% !important;
  border: 1px solid var(--mavie-ink) !important;
  background: var(--mavie-cream) !important;
  box-shadow: 8px 8px 0 var(--mavie-terracotta);
  transform: rotate(-3deg) !important;
}

.mavie-d5-project__rule {
  position: relative !important;
  z-index: 1;
  inset: auto !important;
  display: block;
  width: 42% !important;
  height: 1px !important;
  margin: 0 auto;
  border: 0 !important;
  background: var(--mavie-ink) !important;
  transform: rotate(-3deg) !important;
}

.mavie-d5-project__copy {
  min-height: 220px;
  padding: 24px;
}

.mavie-d5-project__label,
.mavie-d5-project__services {
  color: rgba(251, 248, 240, .55);
}

.mavie-d5-project__title {
  margin: 30px 0;
  color: var(--mavie-cream);
  font-size: 27px;
  font-weight: 500;
}

.mavie-d5-project__copy > a {
  color: var(--mavie-cream);
}

.mavie-d5-project-note {
  margin: 25px 0 0;
  color: rgba(251, 248, 240, .52);
  font: 500 10px/1.4 var(--mavie-sans);
}

@media (max-width: 980px) {
  .mavie-d5-service-grid,
  .mavie-d5-project-grid { display: flex; grid-template-columns: none; }
  .mavie_service_item,
  .mavie_project_item { flex-basis: min(420px, 76vw); width: min(420px, 76vw); }
  .mavie_project_collection .mavie-d5-collection__heading { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .mavie-d5-collection__top { align-items: center; }
  .mavie-d5-carousel__controls button { min-width: 36px; padding: 0 8px; }
  .mavie-d5-carousel__controls button:nth-child(2) { display: none; }
  .mavie_service_item,
  .mavie_project_item { flex-basis: 84vw; width: 84vw; }
  .mavie-d5-service-card { min-height: 430px; padding: 22px; }
  .mavie-d5-service__title { margin-top: 32px; }
  .mavie-d5-project__art { min-height: 280px; }
  .mavie-d5-project__art--publish,
  .mavie-d5-project__art--workflow { grid-template-columns: 1fr 20px 1fr 20px 1fr; padding: 22px; }
  .mavie-d5-project__art--publish span,
  .mavie-d5-project__art--workflow span { width: 62px; height: 62px; font-size: 11px; }
  .mavie-d5-project__art--publish i,
  .mavie-d5-project__art--workflow i { width: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  .mavie-d5-project__orbit { animation: none; }
}
