/* Motova — Floating Sidebar Layers · Layout 36 */
:root {
  --mv-void: #08090c;
  --mv-deep: #0f1117;
  --mv-panel: #161922;
  --mv-ash: #8b9199;
  --mv-mist: #c8cdd6;
  --mv-paper: #ece8e1;
  --mv-ember: #e63b2e;
  --mv-gold: #c9a962;
  --mv-glow: rgba(230, 59, 46, 0.15);
  --mv-sidebar-w: 11rem;
  --mv-topbar-h: 3.5rem;
  --mv-font-serif: 'Cormorant Garamond', 'Hiragino Mincho ProN', serif;
  --mv-font-sans: 'DM Sans', 'Hiragino Sans', sans-serif;
  --mv-font-mono: 'JetBrains Mono', monospace;
  --mv-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --mv-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
  --mv-layer-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

[data-theme="light"] {
  --mv-void: #f4f2ed;
  --mv-deep: #ffffff;
  --mv-panel: #ebe7df;
  --mv-ash: #5c6169;
  --mv-mist: #2a2d33;
  --mv-paper: #1a1c22;
  --mv-glow: rgba(230, 59, 46, 0.08);
  --mv-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
  --mv-layer-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.mv-body {
  margin: 0;
  font-family: var(--mv-font-sans);
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--mv-mist);
  background: var(--mv-void);
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
address { font-style: normal; }
.mv-sr, .mv-skip { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.mv-skip:focus { position: fixed; top: 0; left: 0; z-index: 9999; width: auto; height: auto; clip: auto; padding: .5rem 1rem; background: var(--mv-ember); color: #fff; }
.mv-micro { font-family: var(--mv-font-mono); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--mv-ash); }
.mv-lead { font-size: 1.15rem; line-height: 1.75; color: var(--mv-mist); }
h1, h2, h3, h4 { font-family: var(--mv-font-serif); font-weight: 600; line-height: 1.15; color: var(--mv-paper); margin: 0 0 .75rem; }
h2 { font-size: clamp(2rem, 4vw, 3.2rem); }
h2 em { font-style: italic; color: var(--mv-ember); }
p { margin: 0 0 1rem; }

/* Buttons */
.mv-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  padding: .75rem 1.5rem; border: 1px solid transparent; border-radius: 2px;
  font-size: .82rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase;
  cursor: pointer; transition: transform .35s var(--mv-ease), background .35s, border-color .35s, color .35s;
}
.mv-btn--ember { background: var(--mv-ember); color: #fff; }
.mv-btn--ember:hover { transform: translateY(-2px); background: #c93226; }
.mv-btn--ghost { background: transparent; border-color: var(--mv-ash); color: var(--mv-mist); }
.mv-btn--ghost:hover { border-color: var(--mv-ember); color: var(--mv-ember); }
.mv-btn--lg { padding: 1rem 2rem; font-size: .88rem; }
.mv-icon-btn {
  width: 2.5rem; height: 2.5rem; border: 1px solid var(--mv-ash); background: var(--mv-panel);
  color: var(--mv-mist); border-radius: 50%; cursor: pointer; transition: border-color .3s, color .3s;
}
.mv-icon-btn:hover { border-color: var(--mv-ember); color: var(--mv-ember); }
.mv-link-arrow::after { content: ' →'; color: var(--mv-ember); }

/* Topbar */
.mv-topbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 900;
  height: var(--mv-topbar-h); display: flex; align-items: center; justify-content: space-between;
  padding: 0 1.25rem 0 calc(var(--mv-sidebar-w) + 1rem);
  background: rgba(8, 9, 12, 0.72); backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.04);
  transition: background .4s, padding .4s;
}
[data-theme="light"] .mv-topbar { background: rgba(244, 242, 237, 0.88); border-color: rgba(0,0,0,.06); }
.mv-topbar.is-scrolled { background: rgba(8, 9, 12, 0.95); }
.mv-topbar__cluster { display: flex; align-items: center; gap: 1rem; }
.mv-topbar__brand { display: flex; align-items: center; gap: .6rem; }
.mv-topbar__glyph {
  width: 2rem; height: 2rem; display: grid; place-items: center;
  background: var(--mv-ember); color: #fff; font-family: var(--mv-font-serif); font-weight: 600; font-size: 1.1rem;
  clip-path: polygon(0 0, 100% 0, 100% 70%, 70% 100%, 0 100%);
}
.mv-topbar__name { font-family: var(--mv-font-serif); font-size: 1.25rem; font-weight: 600; color: var(--mv-paper); letter-spacing: .04em; }
.mv-topbar__nav { display: flex; gap: 1.75rem; }
.mv-topbar__nav a { font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--mv-ash); transition: color .3s; }
.mv-topbar__nav a:hover, .mv-topbar__nav a.is-active { color: var(--mv-paper); }
.mv-topbar__cta { color: var(--mv-ember) !important; }
.mv-topbar__tools { display: flex; align-items: center; gap: .75rem; }
.mv-topbar__search, .mv-topbar__theme, .mv-topbar__cart {
  background: none; border: none; color: var(--mv-ash); cursor: pointer; padding: .35rem; transition: color .3s;
}
.mv-topbar__search:hover, .mv-topbar__theme:hover { color: var(--mv-paper); }
.mv-topbar__cart { position: relative; display: flex; align-items: center; }
.mv-topbar__cart span {
  position: absolute; top: -4px; right: -6px; min-width: 1rem; height: 1rem;
  background: var(--mv-ember); color: #fff; font-size: .6rem; border-radius: 50%;
  display: grid; place-items: center; font-family: var(--mv-font-mono);
}
.mv-topbar__burger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: .25rem; }
.mv-topbar__burger span { display: block; width: 20px; height: 1.5px; background: var(--mv-paper); transition: transform .3s; }
.mv-topbar__progress { position: absolute; bottom: 0; left: 0; height: 2px; width: 0; background: linear-gradient(90deg, var(--mv-ember), var(--mv-gold)); transition: width .1s linear; }
[data-theme="light"] .mv-icon-moon { display: none; }
[data-theme="dark"] .mv-icon-sun, :root:not([data-theme]) .mv-icon-sun { display: none; }
:root:not([data-theme]) .mv-icon-moon { display: block; }

/* Search overlay */
.mv-search { position: fixed; inset: 0; z-index: 950; display: flex; align-items: flex-start; justify-content: center; padding-top: 15vh; pointer-events: none; opacity: 0; transition: opacity .4s; }
.mv-search.is-open { pointer-events: auto; opacity: 1; }
.mv-search__veil { position: absolute; inset: 0; background: rgba(0,0,0,.7); }
.mv-search__panel { position: relative; width: min(540px, 92vw); background: var(--mv-panel); padding: 2rem; box-shadow: var(--mv-shadow); transform: translateY(-20px); transition: transform .4s var(--mv-ease); }
.mv-search.is-open .mv-search__panel { transform: translateY(0); }
.mv-search__form { display: flex; gap: .5rem; margin: 1rem 0; }
.mv-search__form input { flex: 1; padding: .75rem 1rem; background: var(--mv-deep); border: 1px solid rgba(255,255,255,.08); color: var(--mv-paper); }
.mv-search__hints { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; font-size: .8rem; }
.mv-search__hints button { background: var(--mv-deep); border: 1px solid var(--mv-ash); color: var(--mv-ash); padding: .3rem .7rem; cursor: pointer; font-size: .75rem; }
.mv-search__hints button:hover { border-color: var(--mv-ember); color: var(--mv-ember); }

/* Drawer */
.mv-drawer { position: fixed; inset: 0; z-index: 940; pointer-events: none; }
.mv-drawer.is-open { pointer-events: auto; }
.mv-drawer__veil { position: absolute; inset: 0; background: rgba(0,0,0,.6); opacity: 0; transition: opacity .4s; }
.mv-drawer.is-open .mv-drawer__veil { opacity: 1; }
.mv-drawer__sheet {
  position: absolute; top: 0; right: 0; width: min(300px, 85vw); height: 100%;
  background: var(--mv-panel); padding: 5rem 2rem 2rem; transform: translateX(100%); transition: transform .45s var(--mv-ease);
  display: flex; flex-direction: column; gap: 1.25rem;
}
.mv-drawer.is-open .mv-drawer__sheet { transform: translateX(0); }
.mv-drawer__sheet a { font-family: var(--mv-font-serif); font-size: 1.4rem; color: var(--mv-paper); }
.mv-drawer__contact { margin-top: auto; font-size: .85rem; color: var(--mv-ash); display: flex; flex-direction: column; gap: .35rem; }

/* Floating Sidebar */
.mv-float-sidebar {
  position: fixed; left: 1.25rem; top: calc(var(--mv-topbar-h) + 1.5rem); z-index: 800;
  width: var(--mv-sidebar-w); padding: 1.25rem 1rem;
  background: rgba(22, 25, 34, 0.88); backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.06); box-shadow: var(--mv-layer-shadow);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);
  transition: transform .5s var(--mv-ease), opacity .4s;
}
[data-theme="light"] .mv-float-sidebar { background: rgba(255,255,255,.92); border-color: rgba(0,0,0,.08); }
.mv-float-sidebar__head strong { display: block; font-family: var(--mv-font-serif); font-size: 1.1rem; color: var(--mv-paper); margin-top: .25rem; }
.mv-float-sidebar__list { list-style: none; margin: 1.25rem 0 0; padding: 0; }
.mv-float-sidebar__list li { margin-bottom: .15rem; }
.mv-float-sidebar__list button {
  width: 100%; display: flex; align-items: center; gap: .6rem; padding: .45rem .5rem;
  background: none; border: none; border-left: 2px solid transparent; color: var(--mv-ash);
  font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; text-align: left;
  transition: color .3s, border-color .3s, padding-left .3s;
}
.mv-float-sidebar__list button span { font-family: var(--mv-font-mono); font-size: .65rem; opacity: .6; min-width: 1.2rem; }
.mv-float-sidebar__list button:hover, .mv-float-sidebar__list button.is-active {
  color: var(--mv-paper); border-left-color: var(--mv-ember); padding-left: .75rem;
}
.mv-float-sidebar__depth {
  margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.06);
  font-family: var(--mv-font-mono); color: var(--mv-ember);
}
.mv-float-sidebar__depth span { font-size: 1.8rem; display: block; line-height: 1; }
.mv-float-sidebar__depth small { font-size: .6rem; color: var(--mv-ash); text-transform: uppercase; }
.mv-float-sidebar--pages .mv-float-sidebar__pages { display: flex; flex-direction: column; gap: .35rem; margin-top: 1rem; }
.mv-float-sidebar--pages .mv-float-sidebar__pages a {
  font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: var(--mv-ash);
  padding: .4rem .5rem; border-left: 2px solid transparent; transition: all .3s;
}
.mv-float-sidebar--pages .mv-float-sidebar__pages a:hover,
.mv-float-sidebar--pages .mv-float-sidebar__pages a.is-active {
  color: var(--mv-paper); border-left-color: var(--mv-ember); padding-left: .75rem;
}

/* Canvas */
.mv-main { padding-top: var(--mv-topbar-h); }
.mv-canvas { margin-left: calc(var(--mv-sidebar-w) + 2.5rem); max-width: 1100px; padding: 0 2rem 4rem; }
.mv-layer { position: relative; margin-bottom: clamp(4rem, 10vh, 8rem); }
.mv-reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s var(--mv-ease), transform .8s var(--mv-ease); }
.mv-reveal.is-visible { opacity: 1; transform: translateY(0); }

/* 00 Gate */
.mv-gate {
  min-height: 85vh; display: flex; align-items: center; position: relative; padding: 4rem 0;
}
.mv-gate__title { margin-bottom: 1.5rem; }
.mv-gate__line {
  display: block; font-family: var(--mv-font-serif); font-size: clamp(3.5rem, 9vw, 7rem);
  font-weight: 600; line-height: .95; color: var(--mv-paper); letter-spacing: -.02em;
}
.mv-gate__sub { display: block; font-size: clamp(1rem, 2vw, 1.35rem); font-weight: 400; color: var(--mv-ash); margin-top: .5rem; font-family: var(--mv-font-sans); }
.mv-gate__deck { max-width: 32rem; color: var(--mv-ash); margin-bottom: 2rem; }
.mv-gate__actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 3rem; }
.mv-gate__ticks { list-style: none; padding: 0; margin: 0; display: flex; gap: 2.5rem; }
.mv-gate__ticks em { display: block; font-family: var(--mv-font-serif); font-size: 1.8rem; font-style: normal; color: var(--mv-gold); }
.mv-gate__ticks span { font-size: .7rem; color: var(--mv-ash); text-transform: uppercase; letter-spacing: .1em; }
.mv-gate__ghost {
  position: absolute; right: -2rem; top: 50%; transform: translateY(-50%);
  display: flex; flex-direction: column; font-family: var(--mv-font-serif); font-size: clamp(4rem, 12vw, 9rem);
  font-weight: 600; color: rgba(255,255,255,.03); line-height: .85; pointer-events: none; user-select: none;
}
[data-theme="light"] .mv-gate__ghost { color: rgba(0,0,0,.04); }

/* 01 Velocity */
.mv-velocity { display: grid; grid-template-columns: 1fr; gap: 2rem; }
.mv-velocity__cut {
  position: absolute; top: -2rem; left: -10%; width: 120%; height: 60%;
  background: linear-gradient(135deg, var(--mv-glow), transparent 60%);
  clip-path: polygon(0 20%, 100% 0, 100% 80%, 0 100%); pointer-events: none;
}
.mv-velocity__frame { position: relative; clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%); overflow: hidden; }
.mv-velocity__frame img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.mv-velocity__frame figcaption { position: absolute; bottom: 1rem; left: 1.5rem; }
.mv-velocity__float {
  position: relative; margin-top: -4rem; margin-left: 10%; max-width: 28rem;
  padding: 2rem; background: var(--mv-panel); box-shadow: var(--mv-layer-shadow);
  border-left: 3px solid var(--mv-ember);
}

/* 02 Picker */
.mv-picker__intro { margin-bottom: 2rem; max-width: 36rem; }
.mv-picker__stage { display: grid; gap: 1.5rem; }
.mv-picker__tabs { display: flex; flex-wrap: wrap; gap: .5rem; }
.mv-picker__tab {
  padding: .6rem 1rem; background: var(--mv-deep); border: 1px solid rgba(255,255,255,.06);
  color: var(--mv-ash); cursor: pointer; font-size: .78rem; transition: all .3s;
}
.mv-picker__tab.is-active { border-color: var(--mv-ember); color: var(--mv-paper); background: var(--mv-glow); }
.mv-picker__panel { display: none; grid-template-columns: 1.1fr 1fr; gap: 2rem; align-items: start; }
.mv-picker__panel.is-active { display: grid; animation: mvFadeLayer .5s var(--mv-ease); }
@keyframes mvFadeLayer { from { opacity: 0; transform: translateX(12px); } to { opacity: 1; transform: none; } }
.mv-picker__visual { position: relative; overflow: hidden; }
.mv-picker__visual img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.mv-picker__badge {
  position: absolute; top: 1rem; right: 1rem; background: var(--mv-ember); color: #fff;
  font-size: .65rem; padding: .3rem .6rem; letter-spacing: .1em; text-transform: uppercase;
}
.mv-picker__specs h3 { font-size: 1.6rem; }
.mv-picker__price { font-family: var(--mv-font-mono); font-size: 1.2rem; color: var(--mv-gold); margin-bottom: 1rem; }
.mv-picker__specs dl { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin: 0 0 1.5rem; }
.mv-picker__specs dt { font-size: .65rem; color: var(--mv-ash); text-transform: uppercase; letter-spacing: .08em; }
.mv-picker__specs dd { margin: .15rem 0 0; font-weight: 500; color: var(--mv-paper); }
.mv-picker__actions { display: flex; gap: .75rem; flex-wrap: wrap; }

/* 03 Manifesto */
.mv-manifesto__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
.mv-manifesto__visual { position: relative; }
.mv-manifesto__visual img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.mv-manifesto__overlap {
  position: absolute; bottom: -1.5rem; left: -1.5rem; width: 60%; height: 40%;
  background: var(--mv-ember); opacity: .12; z-index: -1;
}
.mv-quote { margin: 2rem 0 0; padding-left: 1.25rem; border-left: 2px solid var(--mv-gold); font-family: var(--mv-font-serif); font-size: 1.2rem; font-style: italic; color: var(--mv-paper); }
.mv-quote cite { display: block; margin-top: .5rem; font-size: .75rem; font-style: normal; color: var(--mv-ash); font-family: var(--mv-font-mono); }

/* 04 Route */
.mv-route__pin { position: relative; }
.mv-route__head { max-width: 28rem; margin-bottom: 2rem; }
.mv-route__track-wrap { position: relative; }
.mv-route__track {
  display: flex; gap: 1.25rem; overflow-x: auto; scroll-snap-type: x mandatory;
  padding: 1rem 0 1.5rem; scrollbar-width: thin; scrollbar-color: var(--mv-ember) var(--mv-deep);
  -webkit-overflow-scrolling: touch;
}
.mv-route__track::-webkit-scrollbar { height: 4px; }
.mv-route__track::-webkit-scrollbar-thumb { background: var(--mv-ember); }
.mv-route__card {
  flex: 0 0 min(320px, 78vw); scroll-snap-align: start;
  background: var(--mv-panel); overflow: hidden; box-shadow: var(--mv-layer-shadow);
  transition: transform .4s var(--mv-ease);
}
.mv-route__card:hover { transform: translateY(-6px); }
.mv-route__card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.mv-route__meta { padding: 1.25rem; }
.mv-route__meta h3 { font-size: 1.2rem; }
.mv-route__stats { display: flex; gap: 1rem; font-family: var(--mv-font-mono); font-size: .75rem; color: var(--mv-gold); margin: .5rem 0 1rem; }
.mv-route__nav { display: flex; gap: .5rem; margin-top: .5rem; }

/* 05 Islands */
.mv-islands__head { max-width: 30rem; margin-bottom: 3rem; }
.mv-islands__field { position: relative; min-height: 600px; }
.mv-islands__item {
  position: absolute; width: clamp(200px, 28%, 280px);
  transition: transform .5s var(--mv-ease), z-index .3s;
}
.mv-islands__item:nth-child(1) { top: 0; left: 5%; z-index: 3; }
.mv-islands__item:nth-child(2) { top: 8%; left: 38%; z-index: 5; }
.mv-islands__item:nth-child(3) { top: 2%; right: 2%; z-index: 4; }
.mv-islands__item:nth-child(4) { top: 42%; left: 0; z-index: 2; }
.mv-islands__item:nth-child(5) { top: 48%; left: 32%; z-index: 6; }
.mv-islands__item:nth-child(6) { top: 40%; right: 5%; z-index: 1; }
.mv-islands__item:hover { transform: scale(1.04); z-index: 10 !important; }
.mv-islands__link { display: block; background: var(--mv-panel); box-shadow: var(--mv-layer-shadow); overflow: hidden; }
.mv-islands__link img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.mv-islands__cap { padding: 1rem; }
.mv-islands__cap h3 { font-size: 1rem; margin: .25rem 0; }

/* 06 Craft */
.mv-craft { display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: start; }
.mv-craft__stream { display: flex; flex-direction: column; gap: 0; }
.mv-craft__node {
  position: relative; padding: 1.75rem 0 1.75rem 3.5rem;
  border-left: 1px dashed rgba(255,255,255,.1); margin-left: 1rem;
}
.mv-craft__node:last-child { border-left-color: transparent; }
.mv-craft__num {
  position: absolute; left: -1rem; top: 1.5rem; width: 2rem; height: 2rem;
  background: var(--mv-ember); color: #fff; font-family: var(--mv-font-mono); font-size: .7rem;
  display: grid; place-items: center; border-radius: 50%;
}
.mv-craft__node h3 { font-size: 1.25rem; }
.mv-craft__visual img { width: 220px; aspect-ratio: 2/3; object-fit: cover; clip-path: polygon(0 0, 100% 5%, 100% 100%, 5% 95%); }

/* 07 Voices */
.mv-voices__head { margin-bottom: 2rem; }
.mv-voices__stack { position: relative; min-height: 320px; }
.mv-voices__card {
  position: absolute; width: min(420px, 90%); padding: 1.75rem 2rem;
  background: var(--mv-panel); border: 1px solid rgba(255,255,255,.05);
  box-shadow: var(--mv-layer-shadow); font-family: var(--mv-font-serif); font-size: 1.05rem;
  left: calc(var(--v-z, 1) * 8%); top: calc(var(--v-z, 1) * 12px);
  transition: transform .4s var(--mv-ease);
}
.mv-voices__card:hover { transform: translateY(-8px); z-index: 10; }
.mv-voices__card footer { margin-top: 1rem; font-size: .72rem; color: var(--mv-ash); font-family: var(--mv-font-sans); font-style: normal; }

/* 08 Pulse */
.mv-pulse__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; text-align: center; }
.mv-pulse__val { display: block; font-family: var(--mv-font-serif); font-size: clamp(2.5rem, 5vw, 4rem); color: var(--mv-ember); line-height: 1; }
.mv-pulse__label { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--mv-ash); }
.mv-pulse__note { text-align: center; margin-top: 2rem; font-size: .85rem; color: var(--mv-ash); }

/* 09 Commit */
.mv-commit { position: relative; overflow: hidden; padding: 3rem 0; }
.mv-commit__veil {
  position: absolute; inset: 0; background: linear-gradient(120deg, var(--mv-glow), transparent 50%);
  clip-path: polygon(0 0, 100% 15%, 100% 100%, 0 85%); pointer-events: none;
}
.mv-commit__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; position: relative; }
.mv-commit__actions { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.5rem 0; }
.mv-commit__trust { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 1rem; font-size: .75rem; color: var(--mv-ash); }
.mv-commit__trust li::before { content: '◆ '; color: var(--mv-gold); font-size: .5rem; }
.mv-commit__visual img { width: 100%; aspect-ratio: 7/5; object-fit: cover; clip-path: polygon(10% 0, 100% 0, 90% 100%, 0 100%); }

/* Footer */
.mv-foot { position: relative; margin-left: calc(var(--mv-sidebar-w) + 2.5rem); padding: 0 2rem 2rem; max-width: 1100px; }
.mv-foot__slice { height: 3px; background: linear-gradient(90deg, var(--mv-ember), var(--mv-gold), transparent); margin-bottom: 3rem; }
.mv-foot__inner { display: grid; grid-template-columns: 1.2fr 2fr; gap: 3rem; margin-bottom: 2.5rem; }
.mv-foot__logo { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1rem; }
.mv-foot__mark {
  width: 2.5rem; height: 2.5rem; background: var(--mv-ember); color: #fff;
  display: grid; place-items: center; font-family: var(--mv-font-serif); font-size: 1.3rem; font-weight: 600;
  clip-path: polygon(0 0, 100% 0, 100% 65%, 65% 100%, 0 100%);
}
.mv-foot__logo strong { display: block; font-family: var(--mv-font-serif); font-size: 1.4rem; color: var(--mv-paper); }
.mv-foot__logo span { font-size: .8rem; color: var(--mv-ash); }
.mv-foot__desc { font-size: .88rem; color: var(--mv-ash); max-width: 28rem; }
.mv-foot__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.mv-foot__col { display: flex; flex-direction: column; gap: .5rem; font-size: .85rem; }
.mv-foot__col a:hover { color: var(--mv-ember); }
.mv-foot__col--wide address, .mv-foot__hours { color: var(--mv-ash); line-height: 1.5; }
.mv-foot__letter { margin-bottom: 2rem; padding: 1.5rem; background: var(--mv-panel); max-width: 480px; }
.mv-foot__letter label { display: block; font-size: .8rem; margin-bottom: .75rem; color: var(--mv-ash); }
.mv-foot__letter-row { display: flex; gap: .5rem; }
.mv-foot__letter-row input { flex: 1; padding: .65rem 1rem; background: var(--mv-deep); border: 1px solid rgba(255,255,255,.08); color: var(--mv-paper); }
.mv-foot__base { display: flex; flex-wrap: wrap; gap: 1.5rem; font-size: .7rem; color: var(--mv-ash); font-family: var(--mv-font-mono); padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.05); }

/* Back to top */
.mv-top {
  position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 850;
  width: 2.75rem; height: 2.75rem; border-radius: 50%; border: 1px solid var(--mv-ash);
  background: var(--mv-panel); color: var(--mv-mist); cursor: pointer; opacity: 0; pointer-events: none;
  transition: opacity .4s, transform .4s, border-color .3s;
}
.mv-top.is-visible { opacity: 1; pointer-events: auto; }
.mv-top:hover { border-color: var(--mv-ember); color: var(--mv-ember); transform: translateY(-3px); }
.mv-toast {
  position: fixed; bottom: 5rem; left: 50%; transform: translateX(-50%) translateY(20px);
  background: var(--mv-panel); border: 1px solid var(--mv-ember); color: var(--mv-paper);
  padding: .75rem 1.5rem; font-size: .85rem; z-index: 960; opacity: 0; pointer-events: none; transition: all .4s var(--mv-ease);
}
.mv-toast.is-visible { opacity: 1; transform: translateX(-50%) translateY(0); }

/* Inner pages */
.mv-page-hero, .mv-shop-hero, .mv-faq-hero, .mv-contact-hero, .mv-cart-hero, .mv-legal__head {
  margin-left: calc(var(--mv-sidebar-w) + 2.5rem); max-width: 1100px; padding: 3rem 2rem 2rem;
}
.mv-page-hero--about { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: end; }
.mv-page-hero__visual img { clip-path: polygon(0 8%, 100% 0, 100% 92%, 0 100%); }
.mv-shop-hero { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 1rem; }
.mv-shop-hero__stat { text-align: right; }
.mv-shop-hero__stat strong { display: block; font-family: var(--mv-font-serif); font-size: 3rem; color: var(--mv-ember); line-height: 1; }
.mv-shop-layout {
  margin-left: calc(var(--mv-sidebar-w) + 2.5rem); max-width: 1100px; padding: 0 2rem 3rem;
  display: grid; grid-template-columns: 200px 1fr; gap: 2rem;
}
.mv-shop-filter__tabs { display: flex; flex-direction: column; gap: .35rem; }
.mv-shop-filter__btn {
  text-align: left; padding: .55rem .75rem; background: none; border: none; border-left: 2px solid transparent;
  color: var(--mv-ash); cursor: pointer; font-size: .82rem; transition: all .3s;
}
.mv-shop-filter__btn.is-active, .mv-shop-filter__btn:hover { color: var(--mv-paper); border-left-color: var(--mv-ember); }
.mv-shop-filter__sort { margin-top: 2rem; }
.mv-shop-filter__sort select { width: 100%; padding: .5rem; background: var(--mv-panel); border: 1px solid rgba(255,255,255,.08); color: var(--mv-paper); }
.mv-shop-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.mv-shop-card {
  background: var(--mv-panel); overflow: hidden; transition: transform .4s, box-shadow .4s;
  border: 1px solid rgba(255,255,255,.04);
}
.mv-shop-card:hover { transform: translateY(-4px); box-shadow: var(--mv-layer-shadow); }
.mv-shop-card.is-hidden { display: none; }
.mv-shop-card__media { display: block; position: relative; overflow: hidden; }
.mv-shop-card__media img { width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform .6s; }
.mv-shop-card:hover .mv-shop-card__media img { transform: scale(1.03); }
.mv-shop-card__badge { position: absolute; top: .75rem; left: .75rem; background: var(--mv-ember); color: #fff; font-size: .6rem; padding: .25rem .5rem; text-transform: uppercase; letter-spacing: .08em; }
.mv-shop-card__body { padding: 1.25rem; }
.mv-shop-card__price { font-family: var(--mv-font-mono); color: var(--mv-gold); margin: .5rem 0 1rem; }
.mv-shop-card__specs { display: flex; gap: 1.5rem; font-size: .8rem; margin-bottom: 1rem; }
.mv-shop-card__specs dt { color: var(--mv-ash); font-size: .65rem; text-transform: uppercase; }
.mv-shop-card__specs dd { margin: .1rem 0 0; color: var(--mv-paper); }
.mv-shop-card__actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.mv-shop-note { margin: 0 0 4rem calc(var(--mv-sidebar-w) + 2.5rem); max-width: 1100px; padding: 2rem; background: var(--mv-panel); }

/* About */
.mv-about-story, .mv-about-mission, .mv-timeline, .mv-about-team, .mv-about-access, .mv-cta-strip {
  margin-left: calc(var(--mv-sidebar-w) + 2.5rem); max-width: 1100px; padding: 2rem; margin-bottom: 2rem;
}
.mv-about-mission__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.mv-about-mission__block { padding: 1.5rem; background: var(--mv-panel); border-top: 2px solid var(--mv-ember); }
.mv-about-mission__icon { font-size: 1.2rem; color: var(--mv-gold); }
.mv-timeline__track { display: flex; gap: 1.5rem; overflow-x: auto; padding-bottom: 1rem; scroll-snap-type: x mandatory; }
.mv-timeline__event { flex: 0 0 260px; scroll-snap-align: start; padding: 1.25rem; background: var(--mv-panel); }
.mv-timeline__event time { font-family: var(--mv-font-mono); font-size: .75rem; color: var(--mv-ember); }
.mv-timeline__event img { width: 100%; aspect-ratio: 3/2; object-fit: cover; margin-top: 1rem; }
.mv-about-team__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.mv-about-team__grid article { padding: 1rem; border-left: 1px solid rgba(255,255,255,.08); }
.mv-about-access__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; }
.mv-cta-strip { text-align: center; padding: 3rem; background: linear-gradient(135deg, var(--mv-glow), transparent); display: flex; flex-direction: column; align-items: center; gap: 1rem; }

/* FAQ */
.mv-faq-layout { margin-left: calc(var(--mv-sidebar-w) + 2.5rem); max-width: 1100px; padding: 0 2rem 3rem; }
.mv-faq-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2rem; }
.mv-faq-tab {
  padding: .6rem 1.2rem; background: var(--mv-deep); border: 1px solid rgba(255,255,255,.06);
  color: var(--mv-ash); cursor: pointer; transition: all .3s;
}
.mv-faq-tab.is-active { background: var(--mv-glow); border-color: var(--mv-ember); color: var(--mv-paper); }
.mv-faq-panel { display: none; }
.mv-faq-panel.is-active { display: block; animation: mvFadeLayer .4s var(--mv-ease); }
.mv-faq-panel__title { font-size: 1.4rem; margin-bottom: 1rem; }
.mv-faq-item { border-bottom: 1px solid rgba(255,255,255,.06); }
.mv-faq-item summary {
  padding: 1.1rem 0; cursor: pointer; font-weight: 500; color: var(--mv-paper); list-style: none;
  display: flex; justify-content: space-between; align-items: center;
}
.mv-faq-item summary::-webkit-details-marker { display: none; }
.mv-faq-item summary::after { content: '+'; font-family: var(--mv-font-mono); color: var(--mv-ember); transition: transform .3s; }
.mv-faq-item[open] summary::after { transform: rotate(45deg); }
.mv-faq-item__body { padding: 0 0 1.25rem; color: var(--mv-ash); font-size: .92rem; }
.mv-faq-cta { margin: 0 0 4rem calc(var(--mv-sidebar-w) + 2.5rem); max-width: 1100px; padding: 2rem; text-align: center; background: var(--mv-panel); }

/* Contact */
.mv-contact-layout {
  margin-left: calc(var(--mv-sidebar-w) + 2.5rem); max-width: 1100px; padding: 0 2rem 4rem;
  display: grid; grid-template-columns: 1fr 1.1fr; gap: 2.5rem;
}
.mv-contact-card, .mv-contact-map { padding: 1.5rem; background: var(--mv-panel); margin-bottom: 1.5rem; }
.mv-contact-list { list-style: none; padding: 0; margin: 1rem 0 0; }
.mv-contact-list li { margin-bottom: 1rem; }
.mv-contact-list a { color: var(--mv-ember); }
.mv-contact-map__embed iframe { width: 100%; height: 220px; border: 0; filter: grayscale(.4) contrast(1.1); }
.mv-contact-form { padding: 2rem; background: var(--mv-panel); }
.mv-form-row { margin-bottom: 1.25rem; }
.mv-form-row label { display: block; font-size: .82rem; margin-bottom: .4rem; color: var(--mv-ash); }
.mv-req { color: var(--mv-ember); }
.mv-form-row input, .mv-form-row select, .mv-form-row textarea {
  width: 100%; padding: .7rem 1rem; background: var(--mv-deep); border: 1px solid rgba(255,255,255,.08); color: var(--mv-paper);
}
.mv-form-row input:focus, .mv-form-row select:focus, .mv-form-row textarea:focus { outline: none; border-color: var(--mv-ember); }
.mv-form-row--check label { display: flex; align-items: flex-start; gap: .5rem; font-size: .85rem; cursor: pointer; }
.mv-contact-form__note { font-size: .8rem; color: var(--mv-ash); margin-bottom: 1.5rem; }

/* Cart */
.mv-cart-layout {
  margin-left: calc(var(--mv-sidebar-w) + 2.5rem); max-width: 1100px; padding: 0 2rem 4rem;
  display: grid; grid-template-columns: 1.4fr 1fr; gap: 2rem;
}
.mv-cart-empty { color: var(--mv-ash); }
.mv-cart-empty a { color: var(--mv-ember); border-bottom: 1px solid var(--mv-ember); }
.mv-cart-item {
  display: grid; grid-template-columns: 100px 1fr auto; gap: 1rem; align-items: center;
  padding: 1.25rem 0; border-bottom: 1px solid rgba(255,255,255,.06);
}
.mv-cart-item img { width: 100px; aspect-ratio: 4/3; object-fit: cover; }
.mv-cart-item h3 { font-size: 1rem; margin: 0; }
.mv-cart-item__price { font-family: var(--mv-font-mono); color: var(--mv-gold); font-size: .9rem; }
.mv-cart-qty { display: flex; align-items: center; gap: .5rem; }
.mv-cart-qty button { width: 1.75rem; height: 1.75rem; border: 1px solid var(--mv-ash); background: none; color: var(--mv-paper); cursor: pointer; }
.mv-cart-qty span { min-width: 1.5rem; text-align: center; font-family: var(--mv-font-mono); }
.mv-cart-remove { background: none; border: none; color: var(--mv-ash); font-size: .75rem; cursor: pointer; text-decoration: underline; }
.mv-cart-summary { padding: 2rem; background: var(--mv-panel); position: sticky; top: calc(var(--mv-topbar-h) + 1.5rem); align-self: start; }
.mv-cart-row { display: flex; justify-content: space-between; padding: .6rem 0; font-size: .9rem; }
.mv-cart-row--total { border-top: 1px solid rgba(255,255,255,.1); margin-top: .5rem; padding-top: 1rem; font-weight: 500; font-size: 1.05rem; color: var(--mv-paper); }
.mv-cart-coupon { display: flex; gap: .5rem; margin: 1.25rem 0; }
.mv-cart-coupon input { flex: 1; padding: .6rem; background: var(--mv-deep); border: 1px solid rgba(255,255,255,.08); color: var(--mv-paper); }
.mv-cart-disclaimer { font-size: .75rem; color: var(--mv-ash); margin-top: 1rem; }

/* Legal */
.mv-legal { margin-left: calc(var(--mv-sidebar-w) + 2.5rem); max-width: 760px; padding: 0 2rem 4rem; }
.mv-legal__updated { font-size: .85rem; color: var(--mv-ash); }
.mv-legal__body section { margin-bottom: 2.5rem; }
.mv-legal__body h2 { font-size: 1.5rem; margin-top: 0; }
.mv-legal__body h3 { font-size: 1.1rem; color: var(--mv-mist); margin: 1.25rem 0 .5rem; }
.mv-legal__body ul { padding-left: 1.25rem; color: var(--mv-ash); }
.mv-legal__body li { margin-bottom: .4rem; }
.mv-legal__body a { color: var(--mv-ember); border-bottom: 1px solid rgba(230,59,46,.3); }
.mv-legal__contact { margin: 1rem 0; padding: 1rem; background: var(--mv-panel); line-height: 1.7; }

/* Responsive */
@media (max-width: 1024px) {
  .mv-topbar { padding-left: 1.25rem; }
  .mv-float-sidebar { display: none; }
  .mv-canvas, .mv-foot, .mv-page-hero, .mv-shop-hero, .mv-shop-layout, .mv-faq-layout,
  .mv-contact-layout, .mv-cart-layout, .mv-legal, .mv-about-story, .mv-about-mission,
  .mv-timeline, .mv-about-team, .mv-about-access, .mv-cta-strip, .mv-shop-note, .mv-faq-cta, .mv-faq-hero, .mv-contact-hero, .mv-cart-hero {
    margin-left: 0; max-width: none;
  }
  .mv-topbar__nav { display: none; }
  .mv-topbar__burger { display: flex; }
  .mv-manifesto__grid, .mv-commit__grid, .mv-page-hero--about, .mv-contact-layout, .mv-cart-layout { grid-template-columns: 1fr; }
  .mv-picker__panel.is-active { grid-template-columns: 1fr; }
  .mv-craft { grid-template-columns: 1fr; }
  .mv-craft__visual { order: -1; }
  .mv-craft__visual img { width: 100%; max-height: 300px; aspect-ratio: auto; }
  .mv-islands__field { min-height: 900px; }
  .mv-islands__item { width: 45%; }
  .mv-islands__item:nth-child(2) { left: 50%; }
  .mv-islands__item:nth-child(3) { right: 0; top: 25%; }
  .mv-islands__item:nth-child(4) { top: 50%; }
  .mv-islands__item:nth-child(5) { top: 55%; left: 25%; }
  .mv-islands__item:nth-child(6) { top: 72%; right: 10%; }
  .mv-pulse__grid { grid-template-columns: repeat(2, 1fr); }
  .mv-shop-layout { grid-template-columns: 1fr; }
  .mv-shop-filter__tabs { flex-direction: row; flex-wrap: wrap; }
  .mv-about-mission__grid, .mv-about-team__grid { grid-template-columns: 1fr 1fr; }
  .mv-foot__inner { grid-template-columns: 1fr; }
  .mv-foot__cols { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .mv-canvas { padding: 0 1rem 3rem; }
  .mv-gate__ghost { display: none; }
  .mv-velocity__float { margin-left: 0; margin-top: -2rem; }
  .mv-shop-grid { grid-template-columns: 1fr; }
  .mv-about-mission__grid, .mv-about-team__grid, .mv-foot__cols { grid-template-columns: 1fr; }
  .mv-voices__card { position: relative; width: 100%; left: 0 !important; top: 0 !important; margin-bottom: 1rem; }
  .mv-voices__stack { min-height: auto; }
  .mv-cart-item { grid-template-columns: 80px 1fr; }
  .mv-cart-item .mv-cart-qty { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .mv-reveal { opacity: 1; transform: none; transition: none; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
