:root {
  --ink: #10161c;
  --ink-2: #182028;
  --paper: #f1eee8;
  --paper-2: #e8e3da;
  --white: #fffefa;
  --muted: #a8b2ba;
  --line: rgba(255,255,255,.14);
  --line-dark: rgba(16,22,28,.14);
  --amber: #f2a444;
  --ice: #77c8cf;
  --violet: #8a73ff;
  --container: 96rem;
  --gutter: clamp(1.15rem, 3.6vw, 3.5rem);
  --section: clamp(4.2rem, 7.5vw, 7.4rem);
  --radius-s: .75rem;
  --radius-m: 1.25rem;
  --radius-l: 2rem;
  --hairline: .0625rem;
  --shadow: 0 1.5rem 5rem rgba(0,0,0,.18);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}
body.mv-page-home { background: var(--ink); }
img { display: block; max-inline-size: 100%; block-size: auto; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: .18rem solid var(--amber); outline-offset: .2rem; }
[hidden] { display: none !important; }
.mv-shell { inline-size: min(calc(100% - (2 * var(--gutter))), var(--container)); margin-inline: auto; }
.mv-main { overflow: clip; }
.mv-section { padding-block: var(--section); position: relative; }
.mv-skip { position: fixed; inset-inline-start: 1rem; inset-block-start: 1rem; z-index: 1000; transform: translateY(-180%); background: var(--white); color: var(--ink); padding: .7rem 1rem; border-radius: .6rem; }
.mv-skip:focus { transform: none; }
.mv-eyebrow { margin: 0 0 1rem; text-transform: uppercase; letter-spacing: .13em; font-size: .78rem; font-weight: 800; color: var(--amber); }
h1, h2, h3, p { margin-block-start: 0; }
h1, h2, h3 { line-height: 1.03; letter-spacing: -.035em; }
h1 { font-size: clamp(2.8rem, 5.3vw, 5.6rem); max-inline-size: 26ch; }
h2 { font-size: clamp(2rem, 3.4vw, 3.75rem); max-inline-size: 36ch; }
h3 { font-size: clamp(1.2rem, 1.6vw, 1.75rem); }
.mv-lead, .mv-hero-lead { font-size: clamp(1.06rem, 1.5vw, 1.28rem); max-inline-size: 46rem; color: color-mix(in srgb, currentColor 78%, transparent); }
.mv-small-note { font-size: .92rem; color: color-mix(in srgb, currentColor 68%, transparent); }
.mv-section-head { max-inline-size: 72rem; }
.mv-section-head.mv-head-wide { max-inline-size: 82rem; }
.mv-section-head.mv-head-compact { max-inline-size: 60rem; }
.mv-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-block-start: 2rem; }
.mv-btn, .mv-text-link {
  display: inline-flex; align-items: center; justify-content: center; gap: .7rem;
  min-block-size: 3rem; padding: .78rem 1.15rem; border-radius: 999rem;
  text-decoration: none; border: var(--hairline) solid transparent; font-weight: 800;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}
.mv-btn:hover, .mv-text-link:hover { transform: translateY(-.12rem); }
.mv-btn-primary { background: var(--amber); color: var(--ink); }
.mv-btn-primary:hover { background: #ffc06c; }
.mv-btn-ghost { border-color: currentColor; background: transparent; }
.mv-btn-small { min-block-size: 2.5rem; padding: .58rem .9rem; font-size: .9rem; }
.mv-text-link { padding-inline: 0; border-radius: 0; min-block-size: auto; border-block-end: var(--hairline) solid currentColor; }
.mv-icon { inline-size: 1.15rem; block-size: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }

/* global chrome */
.mv-header { position: sticky; inset-block-start: 0; z-index: 120; background: rgba(16,22,28,.92); color: var(--white); backdrop-filter: blur(.8rem); border-block-end: var(--hairline) solid var(--line); }
.mv-header-row { min-block-size: 4.6rem; display: flex; align-items: center; gap: 1.25rem; }
.mv-brand { display: inline-flex; align-items: center; gap: .75rem; text-decoration: none; min-inline-size: max-content; }
.mv-brand-mark { display: grid; place-items: center; inline-size: 2.3rem; aspect-ratio: 1; border-radius: .72rem; background: linear-gradient(135deg, var(--amber), var(--ice)); color: var(--ink); font-weight: 950; }
.mv-brand strong { display: block; letter-spacing: .02em; }
.mv-brand small { display: block; color: var(--muted); font-size: .72rem; margin-block-start: .04rem; }
.mv-desktop-nav { margin-inline-start: auto; display: flex; align-items: center; gap: clamp(.8rem, 1.5vw, 1.35rem); }
.mv-desktop-nav a, .mv-mobile-nav a { text-decoration: none; font-size: .93rem; font-weight: 700; color: #e7ebee; }
.mv-desktop-nav a:hover { color: var(--amber); }
.mv-header-cta { margin-inline-start: .15rem; }
.mv-menu-toggle { display: none; margin-inline-start: auto; inline-size: 3rem; block-size: 3rem; border: var(--hairline) solid var(--line); border-radius: 50%; background: transparent; color: var(--white); padding: .75rem; }
.mv-menu-toggle span { display: block; block-size: .11rem; background: currentColor; margin-block: .3rem; }
.mv-mobile-nav { border-block-start: var(--hairline) solid var(--line); background: var(--ink); }
.mv-mobile-nav .mv-shell { display: grid; padding-block: 1rem 1.4rem; }
.mv-mobile-nav a { padding-block: .8rem; border-block-end: var(--hairline) solid var(--line); }

/* home: 10 intentionally different major silhouettes */
.mv-hero-orbit { position: relative; min-block-size: clamp(42rem, 80svh, 58rem); color: var(--white); background:
  radial-gradient(circle at 82% 16%, rgba(119,200,207,.16), transparent 29%),
  radial-gradient(circle at 12% 58%, rgba(242,164,68,.12), transparent 30%),
  var(--ink); display: grid; align-items: center; overflow: hidden;
}
.mv-hero-orbit::after { content: ""; position: absolute; inset: auto -8rem -14rem auto; inline-size: 38rem; aspect-ratio: 1; border: var(--hairline) solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 5rem rgba(255,255,255,.02), 0 0 0 11rem rgba(255,255,255,.012); }
.mv-hero-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: clamp(1.3rem,3vw,3.4rem); align-items: center; padding-block: clamp(5rem, 8vw, 7rem); }
.mv-hero-copy { grid-column: 1 / span 8; z-index: 2; }
.mv-hero-copy h1 { margin-block-end: 1.4rem; max-inline-size: 28ch; font-size: clamp(3rem,4.1vw,4.5rem); }
.mv-hero-note { display: inline-flex; align-items: center; gap: .65rem; color: var(--muted); margin-block-start: 1.4rem; font-size: .9rem; }
.mv-hero-media { grid-column: 9 / -1; position: relative; min-block-size: 34rem; display: grid; place-items: center; }
.mv-portal { position: absolute; inline-size: min(36rem, 90vw); aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; }
.mv-portal span { position: absolute; inset: 0; border: var(--hairline) solid rgba(119,200,207,.4); border-radius: 50%; box-shadow: inset 0 0 3rem rgba(119,200,207,.1); }
.mv-portal span:nth-child(2) { inset: 11%; border-color: rgba(242,164,68,.5); transform: rotate(17deg); }
.mv-portal span:nth-child(3) { inset: 23%; border-color: rgba(138,115,255,.55); transform: rotate(-14deg); }
.mv-hero-photo-frame { position: relative; z-index: 2; inline-size: min(31rem, 100%); block-size: 33rem; border-radius: 45% 3rem 45% 3rem; overflow: hidden; border: var(--hairline) solid rgba(255,255,255,.18); box-shadow: 0 2.2rem 5rem rgba(0,0,0,.38); transform: rotate(1.4deg); }
.mv-photo-hero, .mv-photo-hero img { inline-size: 100%; block-size: 100%; }
.mv-photo-hero img { object-fit: cover; object-position: 66% center; }

.mv-hero-device { position: relative; z-index: 2; inline-size: min(27rem, 78%); aspect-ratio: 1.08; transform: translate(1.5rem,.6rem) rotate(-4deg); filter: drop-shadow(0 2.2rem 2.8rem rgba(0,0,0,.45)); }
.mv-visor { position:absolute; inset:22% 8% 30% 8%; border-radius: 3.8rem 3.8rem 2rem 2rem; background: linear-gradient(150deg,#e8eef0 0 32%,#c9d2d6 33% 46%,#19252d 47% 72%,#0a0f13 73%); border:.18rem solid rgba(255,255,255,.24); box-shadow: inset 0 -.7rem 1.8rem rgba(0,0,0,.45), 0 0 0 .15rem rgba(119,200,207,.14); }
.mv-visor::after { content:""; position:absolute; inset:15% 24% 23% 24%; border-radius: 48%; background: radial-gradient(circle at 50% 45%, rgba(119,200,207,.7), rgba(18,31,39,.94) 58%, #050809 75%); }
.mv-strap { position:absolute; inset:34% -6% 41% -6%; border:.55rem solid rgba(207,215,218,.78); border-inline-color:rgba(207,215,218,.35); border-radius:50%; z-index:-1; }
.mv-controller { position:absolute; inline-size:5.4rem; block-size:7.8rem; border-radius:2.4rem 2.4rem 3rem 3rem; background:linear-gradient(145deg,#eef2f3,#aab6bc 62%,#53616a); border:.16rem solid rgba(255,255,255,.35); box-shadow: inset 0 -.7rem 1rem rgba(0,0,0,.18); }
.mv-controller::before { content:""; position:absolute; inset:.7rem .8rem auto .8rem; aspect-ratio:1; border:.45rem solid #10181e; border-radius:50%; }
.mv-controller-a { inset:auto 4% 4% auto; transform:rotate(14deg); }
.mv-controller-b { inset:auto auto 1% 8%; transform:rotate(-20deg); }
.mv-hero-ticket { position: absolute; z-index: 3; inset-inline-start: -2rem; inset-block-end: 1rem; background: var(--paper); color: var(--ink); padding: 1rem 1.2rem; border-radius: 1rem; box-shadow: var(--shadow); display: grid; gap: .1rem; min-inline-size: 13rem; }
.mv-hero-ticket span { font-size: .8rem; color: #59636b; }
.mv-hero-ticket b { color: #9a611b; }

.mv-formats-belt { background: var(--paper); color: var(--ink); }
.mv-format-grid { display: grid; grid-template-columns: 1.1fr .9fr 1fr 1.2fr; gap: 1rem; margin-block-start: 2.8rem; align-items: stretch; }
.mv-format-card { padding: 1.5rem; border: var(--hairline) solid var(--line-dark); border-radius: var(--radius-m); min-block-size: 21rem; display: flex; flex-direction: column; }
.mv-format-0 { background: var(--ink); color: var(--white); transform: translateY(1.8rem); }
.mv-format-1 { background: var(--white); min-block-size: 18rem; }
.mv-format-2 { background: var(--amber); color: var(--ink); transform: translateY(-1rem); }
.mv-format-3 { background: #c7dadd; color: var(--ink); min-block-size: 23rem; }
.mv-kicker { font-size: .76rem; text-transform: uppercase; letter-spacing: .11em; font-weight: 900; opacity: .7; }
.mv-format-meta { font-size: .9rem; opacity: .75; }
.mv-format-focus { font-size: 1.12rem; margin-block: auto 1rem; padding-block-start: 1rem; font-weight: 900; }

.mv-runway { background: #d7d1c7; }
.mv-runway-layout { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: clamp(2rem,6vw,7rem); align-items: start; }
.mv-runway-intro { position: sticky; inset-block-start: 7rem; }
.mv-runway-aside { margin-block-start: 2rem; border-block-start: .18rem solid var(--ink); padding-block-start: 1rem; max-inline-size: 23rem; }
.mv-runway-aside span { color: #9a611b; }
.mv-runway-steps { list-style: none; margin: 0; padding: 0; counter-reset: step; }
.mv-runway-steps li { display: grid; grid-template-columns: 5rem 1fr; gap: 1.2rem; padding-block: 1.7rem; border-block-end: var(--hairline) solid rgba(16,22,28,.22); align-items: start; }
.mv-runway-steps li:nth-child(even) { transform: translateX(clamp(0rem, 4vw, 4.5rem)); }
.mv-runway-steps b { font-size: 2.2rem; color: #8b642f; }
.mv-runway-steps h3 { margin-block-end: .45rem; }

.mv-hygiene-ledger { background: #141c22; color: var(--white); }
.mv-hygiene-grid { display: grid; grid-template-columns: minmax(0,6fr) minmax(0,7fr); gap: 0; align-items: stretch; }
.mv-hygiene-copy { padding: clamp(1.2rem,4vw,4rem) clamp(1rem,4vw,4.5rem) clamp(1.2rem,4vw,4rem) 0; }
.mv-fact-ledger { margin-block-start: 2rem; display: grid; }
.mv-fact-ledger > div { display: grid; grid-template-columns: 2rem 1fr; column-gap: .8rem; padding-block: 1rem; border-block-start: var(--hairline) solid var(--line); }
.mv-fact-ledger > div span { color: var(--ice); }
.mv-fact-ledger > div h3, .mv-fact-ledger > div p { grid-column: 2; }
.mv-fact-ledger > div h3 { margin-block-end: .35rem; }
.mv-hygiene-media { position: relative; margin-inline-end: calc(var(--gutter) * -1); min-block-size: 36rem; background: url("../img/morvello-hygiene-960.jpg") center / cover no-repeat; }
.mv-photo-wide, .mv-photo-wide img { inline-size: 100%; block-size: 100%; }
.mv-photo-wide img { object-fit: cover; }
.mv-photo-index { position: absolute; inset-inline-end: 1.2rem; inset-block-end: 1.2rem; background: var(--paper); color: var(--ink); padding: .5rem .75rem; border-radius: 999rem; font-size: .8rem; font-weight: 900; }

.mv-occasion-matrix { background: var(--paper); }
.mv-decision-board { margin-block-start: 2.6rem; display: grid; grid-template-columns: 1.3fr .7fr .8fr 1.2fr; grid-template-rows: auto auto; gap: .8rem; }
.mv-decision-board article { min-block-size: 14rem; padding: 1.35rem; border: var(--hairline) solid var(--line-dark); border-radius: 1.3rem; display: grid; align-content: start; }
.mv-decision-board article:nth-child(1) { grid-row: span 2; background: var(--white); min-block-size: 28.8rem; align-content: end; }
.mv-decision-board article:nth-child(2) { background: #d6c6ff; }
.mv-decision-board article:nth-child(3) { background: #f0c986; transform: translateY(1.7rem); }
.mv-decision-board article:nth-child(4) { background: #bedcdf; grid-column: 2 / -1; min-block-size: 11rem; display: grid; grid-template-columns: auto 1fr 1fr; gap: 1rem; align-items: center; }
.mv-decision-board .mv-index { opacity: .5; font-weight: 900; }
.mv-decision-board strong { font-size: 1.18rem; }

.mv-birthday-edge { background: #ece7de; }
.mv-birthday-layout { display: grid; grid-template-columns: minmax(8rem,12rem) minmax(0,1fr) minmax(8rem,13rem); gap: clamp(1.5rem,4vw,4rem); align-items: center; }
.mv-birthday-signal { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; transform:rotate(-4deg); }
.mv-birthday-signal span { display:grid; place-items:center; aspect-ratio:1; border:var(--hairline) solid rgba(16,22,28,.22); border-radius:1.1rem; font-size:clamp(1.4rem,3vw,2.6rem); font-weight:900; background:rgba(255,255,255,.38); }
.mv-birthday-signal span:nth-child(1){grid-row:1 / span 2; aspect-ratio:auto; background:#efaa55}.mv-birthday-signal span:nth-child(2){background:#c7dadd}.mv-birthday-signal span:nth-child(3){background:#8a73ff;color:#fff}
.mv-photo-portrait { display: block; border-radius: 10rem 10rem 1.5rem 1.5rem; overflow: hidden; box-shadow: var(--shadow); }
.mv-photo-portrait img { inline-size: 100%; aspect-ratio: .94; object-fit: cover; }
.mv-chip-list { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .65rem; margin-block: 1.8rem; }
.mv-chip-list li { padding: .55rem .8rem; border: var(--hairline) solid var(--line-dark); border-radius: 999rem; font-size: .9rem; }
.mv-birthday-mark { font-size: clamp(8rem,14vw,14rem); line-height: .7; font-weight: 950; color: rgba(16,22,28,.08); text-align: center; }

.mv-team-stage { background: #0d1216; color: var(--white); }
.mv-team-header { border-block-end: var(--hairline) solid var(--line); padding-block-end: 2rem; }
.mv-team-composition { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 1rem; align-items: center; margin-block-start: 2.6rem; min-block-size: 28rem; }
.mv-team-photo-wrap { grid-column: 1 / span 6; justify-self: stretch; background: url("../img/morvello-team-960.jpg") center / cover no-repeat; border-radius: 1.4rem 8rem 1.4rem 1.4rem; }
.mv-photo-team { display: block; border-radius: 1.4rem 8rem 1.4rem 1.4rem; overflow: hidden; border: .2rem solid rgba(255,255,255,.12); box-shadow: var(--shadow); }
.mv-photo-team img { inline-size: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; }
.mv-team-facts { grid-column: 7 / span 4; display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.mv-team-facts span { display: flex; gap: .7rem; align-items: center; min-block-size: 7rem; padding: 1rem; border: var(--hairline) solid var(--line); border-radius: 1rem; }
.mv-team-facts span:nth-child(2), .mv-team-facts span:nth-child(3) { background: rgba(255,255,255,.04); }
.mv-team-action { grid-column: 11 / -1; justify-self: end; writing-mode: vertical-rl; }
.mv-team-action .mv-btn { min-block-size: auto; min-inline-size: 12rem; }

.mv-gift-sash { background: var(--amber); color: var(--ink); overflow: hidden; }
.mv-gift-layout { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,6fr); align-items: center; gap: clamp(2rem,5vw,6rem); }
.mv-gift-stack { position: relative; min-block-size: 25rem; perspective: 60rem; }
.mv-gift-card { position: absolute; inset-inline-start: calc(var(--i) * 8%); inset-block-start: calc(var(--i) * 2rem); inline-size: min(31rem, 80%); min-block-size: 10rem; padding: 1.3rem; border-radius: 1.4rem; background: #10161c; color: var(--white); border: var(--hairline) solid rgba(255,255,255,.2); transform: rotate(calc((var(--i) - 1.5) * 2deg)); display: flex; justify-content: space-between; align-items: end; box-shadow: var(--shadow); }
.mv-gift-card span { inline-size: 2.5rem; aspect-ratio: 1; border-radius: .75rem; display: grid; place-items: center; background: var(--ice); color: var(--ink); font-weight: 950; }
.mv-gift-card strong { font-size: 1.6rem; }

.mv-faq-cascade { background: #cbdcdd; }
.mv-faq-layout { display: grid; grid-template-columns: minmax(18rem,4fr) minmax(0,7fr); gap: clamp(2rem,6vw,7rem); align-items: start; }
.mv-faq-heading { position: sticky; inset-block-start: 7rem; }
.mv-accordion details { border-block-start: var(--hairline) solid rgba(16,22,28,.22); }
.mv-accordion details:last-child { border-block-end: var(--hairline) solid rgba(16,22,28,.22); }
.mv-accordion summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; padding-block: 1.35rem; font-weight: 850; font-size: 1.08rem; }
.mv-accordion summary::-webkit-details-marker { display: none; }
.mv-accordion summary span { transition: transform .2s ease; }
.mv-accordion details[open] summary span { transform: rotate(45deg); }
.mv-accordion details div { padding: 0 2rem 1.5rem 0; max-inline-size: 42rem; }

.mv-booking-console { background: #ece7de; color: var(--ink); }
.mv-booking-layout { display: grid; grid-template-columns: minmax(0,6fr) minmax(0,7fr); gap: clamp(2rem,6vw,7rem); align-items: start; }
.mv-booking-intro { position: sticky; inset-block-start: 7rem; }
.mv-estimate-card { margin-block-start: 2rem; background: var(--ink); color: var(--white); padding: 1.35rem; border-radius: 1.2rem; max-inline-size: 22rem; }
.mv-estimate-card span { display: block; color: var(--muted); font-size: .84rem; }
.mv-estimate-card strong { display: block; font-size: 2.5rem; margin-block: .25rem; }
.mv-form { background: var(--white); border-radius: 1.5rem; padding: clamp(1.25rem,3.5vw,3rem); box-shadow: 0 1rem 3rem rgba(16,22,28,.08); }
.mv-form h3, .mv-form h2 { margin-block-end: 1.4rem; }
.mv-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.mv-form label { display: grid; gap: .45rem; font-size: .86rem; font-weight: 800; }
.mv-form input, .mv-form textarea, .mv-form select { inline-size: 100%; border: var(--hairline) solid #aeb6bc; border-radius: .75rem; padding: .82rem .85rem; color: var(--ink); background: #fff; }
.mv-form textarea { resize: vertical; }
.mv-span-2 { grid-column: 1 / -1; }
.mv-check { grid-template-columns: auto 1fr; align-items: start; font-weight: 650 !important; }
.mv-check input { inline-size: 1.1rem; block-size: 1.1rem; margin-block-start: .25rem; }
.mv-form .mv-btn { margin-block-start: 1.2rem; border: 0; cursor: pointer; }
.mv-form-status { margin-block-end: 1rem; padding: .8rem 1rem; border-radius: .8rem; background: #e9f1e5; }

/* internal page grammars */
.mv-internal { background: var(--paper); }
.mv-internal-hero { padding-block: clamp(5rem,9vw,8rem); position: relative; min-block-size: 33rem; display: grid; align-items: end; border-block-end: var(--hairline) solid var(--line-dark); }
.mv-internal-hero .mv-shell { position: relative; z-index: 2; }
.mv-internal-hero h1 { max-inline-size: 34ch; font-size: clamp(2.7rem,4.2vw,4.8rem); }
.mv-hero-map { background: linear-gradient(140deg,#d9e6e4 0 55%,#f0a84c 55% 68%,#e9e4db 68%); }
.mv-hero-events { background: radial-gradient(circle at 80% 35%,#7a67d8 0 14%,transparent 14.5%), linear-gradient(125deg,#161d23 0 52%,#efaa55 52%); color: var(--white); }
.mv-hero-formats { background: repeating-linear-gradient(90deg,rgba(16,22,28,.08) 0 .0625rem,transparent .0625rem 7rem), #e6dfd5; }
.mv-hero-about { background: #10161c; color: var(--white); }
.mv-hero-about h1 { max-inline-size: 34ch; }
.mv-hero-about::after { content:"M"; position:absolute; inset-inline-end:5%; inset-block-end:-.1em; font-size:clamp(11rem,24vw,25rem); line-height:.7; color:rgba(255,255,255,.04); font-weight:950; }
.mv-hero-faq { background: #c7dadd; min-block-size: 27rem; }
.mv-hero-contact { background: linear-gradient(135deg,#efaa55,#e5ded4 46%,#bdd8da 46%); }

.mv-mode-constellation { background: var(--ink); color: var(--white); }
.mv-constellation { display: grid; grid-template-columns: 1.1fr .9fr 1.2fr .8fr; gap: .8rem; margin-block-start: 2rem; }
.mv-constellation article { min-block-size: 20rem; padding: 1.4rem; border-radius: 1.2rem; border: var(--hairline) solid var(--line); display: flex; flex-direction: column; justify-content: end; }
.mv-constellation article:nth-child(2) { transform: translateY(2.8rem); background: rgba(119,200,207,.1); }
.mv-constellation article:nth-child(3) { min-block-size: 25rem; background: rgba(242,164,68,.12); }
.mv-constellation article span { color: var(--amber); font-weight: 900; }
.mv-comfort-grid { display: grid; grid-template-columns: minmax(18rem,5fr) minmax(0,6fr); gap: clamp(2rem,5vw,5rem); align-items: center; }
.mv-orbit-graphic { aspect-ratio: 1; max-inline-size: 34rem; margin-inline: auto; border: var(--hairline) solid var(--line-dark); border-radius: 50%; display: grid; place-items: center; position: relative; }
.mv-orbit-graphic i { position:absolute; inset:14%; border:var(--hairline) solid rgba(16,22,28,.18); border-radius:50%; }
.mv-orbit-graphic i:nth-child(2){inset:28%;}.mv-orbit-graphic i:nth-child(3){inset:40%;}
.mv-orbit-graphic b { font-size: clamp(5rem,10vw,9rem); }
.mv-lined-list { list-style:none; padding:0; }
.mv-lined-list li { display:flex; gap:.8rem; padding-block:1rem; border-block-start:var(--hairline) solid var(--line-dark); }
.mv-flow-ribbon { background:#f1ad59; }
.mv-flow-ribbon ol { list-style:none; padding:0; display:grid; grid-template-columns:repeat(6,1fr); gap:.7rem; margin-block-start:2rem; }
.mv-flow-ribbon li { min-block-size:11rem; border:var(--hairline) solid rgba(16,22,28,.24); border-radius:1rem; padding:1rem; display:flex; flex-direction:column; justify-content:space-between; }
.mv-flow-ribbon li:nth-child(even){transform:translateY(2rem)}
.mv-flow-ribbon b{font-size:2rem;opacity:.45}
.mv-internal-cta { background:#10161c; color:var(--white); }
.mv-internal-cta .mv-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end}
.mv-internal-cta h2{margin:0}.mv-internal-cta p{max-inline-size:40rem}

.mv-event-birthday { background:#e5ded4; }
.mv-event-birthday-grid { display:grid;grid-template-columns:minmax(0,7fr) minmax(8rem,3fr);gap:2rem;align-items:end }
.mv-event-number { font-size:clamp(10rem,20vw,20rem);line-height:.7;font-weight:950;color:rgba(16,22,28,.08);text-align:end }
.mv-stat-row { display:flex;flex-wrap:wrap;gap:.6rem;margin-block-start:1.5rem }.mv-stat-row strong{padding:.55rem .8rem;border-radius:999rem;border:var(--hairline) solid var(--line-dark)}
.mv-event-friends { background:#bfd8da; }
.mv-event-friends .mv-shell{display:grid;grid-template-columns:2fr 5fr;gap:clamp(2rem,6vw,7rem);align-items:center}
.mv-friends-rule { min-block-size:20rem;display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;align-items:end }
.mv-friends-rule span{display:block;background:var(--ink);border-radius:999rem 999rem .5rem .5rem}.mv-friends-rule span:nth-child(1){block-size:55%}.mv-friends-rule span:nth-child(2){block-size:92%;background:var(--amber)}.mv-friends-rule span:nth-child(3){block-size:72%;background:var(--violet)}
.mv-event-corporate { background:#10161c;color:var(--white) }
.mv-corp-stage{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;align-items:center}.mv-corp-photo{grid-column:1/span 4}.mv-corp-copy{grid-column:5/-1}.mv-corp-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-block-start:1.5rem}.mv-corp-facts span{padding:1rem;border:var(--hairline) solid var(--line);border-radius:.9rem}
.mv-event-planner { background:#efaa55 }.mv-event-planner .mv-shell{display:grid;grid-template-columns:6fr 5fr;gap:clamp(2rem,6vw,7rem)}.mv-event-planner ol{list-style:none;padding:0;margin:0}.mv-event-planner li{display:grid;grid-template-columns:4rem 1fr;gap:1rem;padding-block:1rem;border-block-start:var(--hairline) solid rgba(16,22,28,.22)}.mv-event-planner b{font-size:1.8rem;opacity:.45}

.mv-format-ledger { background:#10161c;color:var(--white) }.mv-format-list article{display:grid;grid-template-columns:4rem 2.2fr 1.15fr 2.15fr;gap:1.2rem;align-items:center;padding-block:1.6rem;border-block-start:var(--hairline) solid var(--line)}.mv-format-list article:last-child{border-block-end:var(--hairline) solid var(--line)}.mv-format-list article>span{font-size:1.7rem;color:var(--amber)}.mv-plan-focus{font-size:1.05rem;color:var(--amber);font-weight:900}
.mv-included-wheel { background:#cbdcdd }.mv-wheel{position:relative;min-block-size:30rem;display:grid;place-items:center}.mv-wheel>i{inline-size:8rem;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--white);font-style:normal;font-size:3rem;font-weight:950}.mv-wheel>span{position:absolute;inline-size:min(16rem,35%);min-block-size:7rem;padding:1rem;border-radius:1rem;background:var(--white);display:flex;gap:.7rem;align-items:center}.mv-wheel>span:nth-child(1){inset-inline-start:0;inset-block-start:15%}.mv-wheel>span:nth-child(2){inset-inline-end:5%;inset-block-start:4%}.mv-wheel>span:nth-child(3){inset-inline-end:0;inset-block-end:12%}.mv-wheel>span:nth-child(4){inset-inline-start:8%;inset-block-end:2%}.mv-wheel>span:nth-child(5){inset-inline-start:42%;inset-block-start:0}
.mv-booking-truth { background:#e5ded4 }.mv-booking-truth .mv-shell{display:grid;grid-template-columns:2fr 6fr;gap:2rem;align-items:center}.mv-truth-index{font-size:clamp(4rem,10vw,9rem);font-weight:950;color:rgba(16,22,28,.12)}

.mv-principle-columns { background:#e7e0d6 }.mv-principle-columns>.mv-shell>div{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:1rem;margin-block-start:2rem}.mv-principle-columns article{padding:1.4rem;border-block-start:.24rem solid var(--ink);background:rgba(255,255,255,.42);min-block-size:18rem}.mv-principle-columns article:nth-child(2){transform:translateY(2.4rem)}.mv-principle-columns article span{font-weight:900;opacity:.45}
.mv-about-hygiene { background:#10161c;color:var(--white) }.mv-about-hygiene .mv-shell{display:grid;grid-template-columns:7fr 4fr;gap:0;align-items:center}.mv-about-photo{min-block-size:32rem}.mv-about-copy{padding:clamp(1.5rem,5vw,5rem);border:var(--hairline) solid var(--line);margin-inline-start:-3rem;background:#151e25;z-index:2}.mv-truth-band{background:#efaa55}.mv-truth-band .mv-shell{display:grid;grid-template-columns:4rem 1fr;gap:1.2rem;max-inline-size:62rem}.mv-truth-band .mv-icon{inline-size:2.2rem;block-size:2.2rem}

.mv-faq-index{background:#e9e4dc}.mv-faq-index-layout{display:grid;grid-template-columns:2fr 7fr;gap:clamp(2rem,6vw,7rem);align-items:start}.mv-faq-index aside{position:sticky;inset-block-start:7rem}.mv-faq-count{font-size:clamp(5rem,10vw,10rem);font-weight:950;line-height:.8;color:rgba(16,22,28,.12)}.mv-accordion-large summary{font-size:clamp(1.1rem,1.8vw,1.45rem);padding-block:1.6rem}

.mv-contact-routes{background:#10161c;color:var(--white)}.mv-route-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:1rem;margin-block-start:2rem}.mv-route-grid article{min-block-size:21rem;border:var(--hairline) solid var(--line);padding:1.3rem;border-radius:1.2rem;display:flex;flex-direction:column}.mv-route-grid article:nth-child(2){background:rgba(119,200,207,.12);transform:translateY(2rem)}.mv-route-grid .mv-text-link{margin-block-start:auto;align-self:flex-start}.mv-route-grid article>span{color:var(--amber);font-size:1.5rem;font-weight:900}
.mv-contact-ledger{background:#efaa55}.mv-contact-data{display:grid;grid-template-columns:1fr 1fr 1.5fr;border-block-start:var(--hairline) solid rgba(16,22,28,.24);border-block-end:var(--hairline) solid rgba(16,22,28,.24);margin-block:2rem 1rem}.mv-contact-data>a,.mv-contact-data>div{display:grid;gap:.2rem;padding:1rem;text-decoration:none;border-inline-end:var(--hairline) solid rgba(16,22,28,.2)}.mv-contact-data>*:last-child{border-inline-end:0}.mv-contact-data span{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.mv-contact-form-section{background:#d4dddc}.mv-contact-form-layout{display:grid;grid-template-columns:3fr 7fr;gap:2rem}.mv-form-side{display:grid;place-items:center}.mv-big-m{font-size:clamp(9rem,18vw,18rem);font-weight:950;color:rgba(16,22,28,.09)}

/* legal */
.mv-legal{background:#f3f0e9}.mv-legal-hero{padding-block:5rem 3rem;border-block-end:var(--hairline) solid var(--line-dark)}.mv-legal-hero h1{font-size:clamp(2.7rem,4.5vw,4.8rem);max-inline-size:30ch}.mv-legal-date{font-size:.88rem;color:#677179}.mv-legal-layout{display:grid;grid-template-columns:minmax(13rem,2.2fr) minmax(0,7fr);gap:clamp(2rem,6vw,7rem);align-items:start}.mv-legal-toc{position:sticky;inset-block-start:7rem;display:grid;border-block-start:var(--hairline) solid var(--line-dark)}.mv-legal-toc a{text-decoration:none;padding:.75rem 0;border-block-end:var(--hairline) solid var(--line-dark);font-size:.88rem}.mv-legal-article{max-inline-size:50rem}.mv-legal-article section{padding-block:1.2rem 2rem;border-block-end:var(--hairline) solid var(--line-dark)}.mv-legal-article h2{font-size:clamp(1.5rem,2.2vw,2.2rem);max-inline-size:none}.mv-legal-article p{max-inline-size:46rem}

/* 404 */
.mv-404{min-block-size:70svh;display:grid;place-items:center;background:#10161c;color:var(--white);text-align:center}.mv-404 .mv-shell{max-inline-size:50rem}.mv-404-mark{font-size:clamp(8rem,22vw,22rem);line-height:.7;color:rgba(255,255,255,.06);font-weight:950}.mv-404 h1{max-inline-size:none;font-size:clamp(2.5rem,5vw,4.5rem)}

/* footer */
.mv-footer{background:#0d1216;color:#e9edf0}.mv-footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1.5fr;gap:2rem;padding-block:3rem}.mv-footer h2{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-block-end:1rem}.mv-footer-nav,.mv-footer-contact{display:grid;align-content:start;gap:.55rem}.mv-footer-nav a,.mv-footer-contact a{text-decoration:none}.mv-footer-contact span{color:#c7cfd5}.mv-footer-contact-band{border-block:var(--hairline) solid var(--line)}.mv-footer-contact-band .mv-shell{min-block-size:4rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}.mv-footer-bottom .mv-shell{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding-block:1.1rem;font-size:.8rem;color:#9ca8b0}.mv-footer-bottom nav{display:flex;flex-wrap:wrap;gap:1rem}.mv-footer-bottom a{text-decoration:none}

/* cookie */
.mv-cookie{position:fixed;z-index:200;inset-inline:var(--gutter);inset-block-end:1rem;max-inline-size:70rem;margin-inline:auto;background:#fffefa;color:var(--ink);box-shadow:var(--shadow);border-radius:1rem;padding:1rem 1.2rem;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}.mv-cookie p{margin:0;font-size:.88rem;max-inline-size:52rem}.mv-cookie-actions{display:flex;gap:.5rem}.mv-modal{position:fixed;z-index:220;inset:0;background:rgba(5,8,10,.72);display:grid;place-items:center;padding:1rem}.mv-modal-card{background:#fffefa;inline-size:min(42rem,100%);border-radius:1.2rem;padding:1.3rem}.mv-modal-head{display:flex;justify-content:space-between;gap:1rem;align-items:start}.mv-modal-head h2{font-size:1.8rem}.mv-modal-close{border:0;background:#e7e0d6;border-radius:50%;inline-size:2.5rem;aspect-ratio:1;font-size:1.5rem;cursor:pointer}.mv-cookie-setting{display:flex;justify-content:space-between;gap:1rem;padding-block:1.2rem;border-block:var(--hairline) solid var(--line-dark);margin-block:1rem}.mv-cookie-setting p{margin:0}.mv-cookie-setting>span{font-weight:900;color:#35655f;white-space:nowrap}

@media (max-width: 72rem) {
  .mv-desktop-nav { gap: .7rem; }
  .mv-desktop-nav a { font-size: .84rem; }
  .mv-format-grid { grid-template-columns: 1fr 1fr; }
  .mv-format-card { min-block-size: 18rem; transform: none; }
  .mv-decision-board { grid-template-columns: 1fr 1fr; }
  .mv-decision-board article:nth-child(1) { grid-row: auto; min-block-size: 14rem; }
  .mv-decision-board article:nth-child(4) { grid-column: 1 / -1; }
  .mv-team-action { writing-mode: initial; grid-column: 5 / -1; justify-self: start; }
  .mv-flow-ribbon ol { grid-template-columns: repeat(3,1fr); }
  .mv-format-list article { grid-template-columns: 3rem 1.6fr .8fr 1.4fr; }
}

@media (max-width: 62rem) {
  .mv-desktop-nav, .mv-header-cta { display: none; }
  .mv-menu-toggle { display: block; }
  .mv-hero-grid { grid-template-columns: 1fr; }
  .mv-hero-copy { grid-column: auto; max-inline-size: 48rem; }
  .mv-hero-media { grid-column: auto; min-block-size: 28rem; justify-self: end; inline-size: min(38rem, 100%); }
  .mv-hero-ticket { inset-inline-start: 0; }
  .mv-runway-layout, .mv-booking-layout, .mv-faq-layout, .mv-event-planner .mv-shell, .mv-faq-index-layout, .mv-legal-layout { grid-template-columns: 1fr; }
  .mv-runway-intro, .mv-booking-intro, .mv-faq-heading, .mv-faq-index aside, .mv-legal-toc { position: static; }
  .mv-hygiene-grid { grid-template-columns: 1fr; }
  .mv-hygiene-copy { padding-inline-end: 0; }
  .mv-hygiene-media { margin-inline: calc(var(--gutter) * -1); min-block-size: 30rem; }
  .mv-birthday-layout { grid-template-columns: minmax(8rem,11rem) 1fr; }
  .mv-birthday-mark { display: none; }
  .mv-team-composition { grid-template-columns: 1fr 1fr; }
  .mv-team-photo-wrap, .mv-team-facts, .mv-team-action { grid-column: auto; }
  .mv-team-facts { grid-template-columns: 1fr; }
  .mv-gift-layout { grid-template-columns: 1fr; }
  .mv-constellation { grid-template-columns: 1fr 1fr; }
  .mv-constellation article:nth-child(2) { transform: none; }
  .mv-comfort-grid, .mv-event-friends .mv-shell, .mv-corp-stage, .mv-about-hygiene .mv-shell, .mv-booking-truth .mv-shell, .mv-contact-form-layout { grid-template-columns: 1fr; }
  .mv-corp-photo, .mv-corp-copy { grid-column: auto; }
  .mv-corp-photo { max-inline-size: 26rem; }
  .mv-about-copy { margin: -3rem 1rem 0; }
  .mv-contact-data { grid-template-columns: 1fr; }
  .mv-contact-data>a,.mv-contact-data>div { border-inline-end: 0; border-block-end: var(--hairline) solid rgba(16,22,28,.2); }
  .mv-contact-data>*:last-child { border-block-end: 0; }
  .mv-footer-grid { grid-template-columns: 1fr 1fr; }
  .mv-footer-contact { grid-column: 1 / -1; }
}

@media (max-width: 48rem) {
  h1 { font-size: clamp(2.6rem, 12vw, 4.4rem); }
  h2 { font-size: clamp(1.9rem, 8vw, 3rem); }
  .mv-header-row { min-block-size: 4.2rem; }
  .mv-brand small { display: none; }
  .mv-hero-orbit { min-block-size: auto; }
  .mv-hero-grid { padding-block: 4.5rem 3rem; }
  .mv-hero-media { min-block-size: 23rem; inline-size: 100%; }
  .mv-hero-device { inline-size: min(24rem, 78%); transform: translate(.8rem,.2rem) rotate(-3deg); }
  .mv-hero-ticket { min-inline-size: 11rem; }
  .mv-format-grid, .mv-decision-board, .mv-principle-columns>.mv-shell>div, .mv-route-grid { grid-template-columns: 1fr; }
  .mv-format-card, .mv-decision-board article, .mv-decision-board article:nth-child(4), .mv-principle-columns article, .mv-route-grid article { transform: none; min-block-size: auto; grid-column: auto; }
  .mv-runway-steps li:nth-child(even) { transform: none; }
  .mv-hygiene-media { min-block-size: 23rem; }
  .mv-birthday-layout { grid-template-columns: 1fr; }
  .mv-birthday-signal { max-inline-size: 11rem; justify-self: end; }
  .mv-birthday-copy { padding-block-start: 3rem; }
  .mv-team-composition { grid-template-columns: 1fr; }
  .mv-team-photo-wrap, .mv-team-facts, .mv-team-action { grid-column: 1; }
  .mv-gift-stack { min-block-size: 22rem; }
  .mv-gift-card { inline-size: 85%; }
  .mv-form-grid { grid-template-columns: 1fr; }
  .mv-span-2 { grid-column: auto; }
  .mv-internal-hero { min-block-size: 25rem; }
  .mv-constellation { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-block-end: 1rem; }
  .mv-constellation article { flex: 0 0 80%; scroll-snap-align: start; min-block-size: 18rem; }
  .mv-flow-ribbon ol { grid-template-columns: 1fr 1fr; }
  .mv-flow-ribbon li:nth-child(even) { transform: none; }
  .mv-event-birthday-grid { grid-template-columns: 1fr; }
  .mv-event-number { text-align: start; }
  .mv-corp-facts { grid-template-columns: 1fr 1fr; }
  .mv-format-list article { grid-template-columns: 2.5rem 1fr; gap: .8rem; }
  .mv-format-list .mv-plan-focus, .mv-format-list article>p { grid-column: 2; }
  .mv-wheel { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; min-block-size: auto; }
  .mv-wheel>span { position: static; inline-size: auto; min-block-size: 6rem; }
  .mv-wheel>i { grid-column: 1 / -1; margin-inline: auto; order: -1; }
  .mv-about-photo { min-block-size: 22rem; }
  .mv-footer-grid { grid-template-columns: 1fr; }
  .mv-footer-contact { grid-column: auto; }
  .mv-footer-contact-band .mv-shell, .mv-footer-bottom .mv-shell, .mv-cookie { align-items: start; flex-direction: column; display: flex; }
  .mv-cookie-actions { inline-size: 100%; }
  .mv-cookie-actions .mv-btn { flex: 1; }
}

@media (max-width: 30rem) {
  .mv-hero-media { min-block-size: 20rem; }
  .mv-hero-device { inline-size: 80%; }
  .mv-flow-ribbon ol, .mv-corp-facts { grid-template-columns: 1fr; }
  .mv-runway-steps li { grid-template-columns: 3.5rem 1fr; }
  .mv-gift-card { inline-size: 90%; inset-inline-start: calc(var(--i) * 3%); }
  .mv-cookie { inset-inline: .7rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
.mv-corp-figure { grid-column: 1 / span 4; min-block-size: 24rem; position: relative; display: grid; place-items: center; border: var(--hairline) solid var(--line); border-radius: 50% 50% 1.3rem 1.3rem; overflow: hidden; background: radial-gradient(circle at 50% 45%, rgba(242,164,68,.22), transparent 30%), rgba(255,255,255,.025); }
.mv-corp-figure strong { font-size: clamp(5rem, 10vw, 9rem); line-height: 1; color: var(--amber); z-index: 2; }
.mv-corp-figure span { position: absolute; inline-size: 42%; aspect-ratio: 1; border-radius: 50%; border: var(--hairline) solid rgba(119,200,207,.45); }
.mv-corp-figure span:nth-child(2) { transform: translate(-48%,-28%); }
.mv-corp-figure span:nth-child(3) { transform: translate(48%,-28%); border-color: rgba(138,115,255,.5); }
.mv-corp-figure span:nth-child(4) { transform: translate(0,42%); border-color: rgba(242,164,68,.5); }
.mv-prep-diagram { min-block-size: 32rem; position: relative; overflow: hidden; display: grid; place-items: center; background: linear-gradient(135deg, rgba(119,200,207,.10), transparent 50%), #0d1216; border: var(--hairline) solid var(--line); }
.mv-prep-diagram b { inline-size: 7rem; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: var(--amber); color: var(--ink); font-size: 3.2rem; z-index: 2; }
.mv-prep-diagram i { position: absolute; inline-size: 17rem; block-size: 7rem; border: .18rem solid rgba(255,255,255,.16); border-radius: 1.2rem; transform: rotate(-12deg) translate(-6rem,-5rem); }
.mv-prep-diagram i:nth-child(2) { transform: rotate(8deg) translate(7rem,-1rem); border-color: rgba(119,200,207,.32); }
.mv-prep-diagram i:nth-child(3) { transform: rotate(-3deg) translate(-1rem,7rem); border-color: rgba(242,164,68,.38); }
@media (max-width: 62rem) { .mv-corp-figure, .mv-corp-copy { grid-column: auto; } .mv-corp-figure { max-inline-size: 26rem; inline-size: 100%; } }
@media (max-width: 48rem) { .mv-prep-diagram { min-block-size: 21rem; } }

@media (max-width: 48rem) { .mv-hero-photo-frame { inline-size:100%; block-size:27rem; border-radius:2rem 2rem 8rem 2rem; transform:none; } .mv-photo-hero img { object-position:62% center; } }

.mv-hygiene-copy .mv-section-head, .mv-booking-intro .mv-section-head, .mv-runway-intro .mv-section-head { max-inline-size: none; }
.mv-hygiene-copy h2, .mv-booking-intro h2, .mv-runway-intro h2 { max-inline-size: none; }

.mv-runway-intro h2, .mv-hygiene-copy h2, .mv-gift-copy h2, .mv-faq-heading h2, .mv-booking-intro h2 { font-size: clamp(2rem, 2.9vw, 3.25rem); }
