html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'Be Vietnam Pro', Arial, sans-serif; color: #211F1C; background: #FAF8F4; -webkit-font-smoothing: antialiased; }
a { color: #9A610B; text-decoration: none; }
a:hover { color: #B9760F; }
* { box-sizing: border-box; }
input, select, button { font-family: inherit; }
img { max-width: 100%; }

@keyframes maPulse { 0%,100% { opacity: 1; } 50% { opacity: 0.32; } }
@keyframes maBlink { 0%,49% { opacity: 1; } 50%,100% { opacity: 0; } }
@keyframes maRow { 0% { opacity: 0; transform: translateY(8px); } 14% { opacity: 1; transform: translateY(0); } 100% { opacity: 1; } }
@keyframes maScan { 0% { transform: translateX(-100%); } 100% { transform: translateX(340%); } }
@keyframes maFlowD { 0% { top: 0; opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { top: calc(100% - 8px); opacity: 0; } }
@keyframes maFlowU { 0% { top: calc(100% - 8px); opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { top: 0; opacity: 0; } }
@keyframes maCore { 0%,100% { box-shadow: 0 0 0 0 rgba(228,155,39,0.35); } 50% { box-shadow: 0 0 0 16px rgba(228,155,39,0); } }
@keyframes maFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes maEye { 0%,92%,100% { transform: scaleY(1); } 96% { transform: scaleY(0.15); } }
@keyframes maRing { 0% { transform: scale(0.85); opacity: 0.5; } 100% { transform: scale(1.5); opacity: 0; } }
@keyframes maBubble { from { opacity: 0; transform: translateY(8px) scale(0.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes maSpark { 0%,100% { opacity: 0.25; } 50% { opacity: 1; } }
@keyframes maSheet { from { opacity: 0; transform: translateX(12px); } to { opacity: 1; transform: translateX(0); } }

/* ---- landing (v5-*) ---- */
.v5-nav a { white-space: nowrap; }
@media (max-width: 1130px) { .v5-nav { display: none !important; } .v5-burger { display: flex !important; } .v5-cta { display: none !important; } }
@media (max-width: 1000px) {
  .v5-hero, .v5-two, .v5-mod { grid-template-columns: 1fr !important; }
  .v5-4 { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .v5-3 { grid-template-columns: 1fr !important; }
  .v5-band { grid-template-columns: 1fr !important; }
  .v5-bandlabel { border-right: none !important; border-bottom: 1px solid rgba(255,255,255,0.14) !important; padding-right: 0 !important; padding-bottom: 16px !important; }
  .v5-h1 { font-size: 38px !important; }
  .v5-modmedia { order: -1; }
}
@media (max-width: 700px) {
  .v5-prow { grid-template-columns: 1fr !important; row-gap: 0; padding-bottom: 12px; }
  .v5-prow > div:nth-child(2) { padding-top: 0 !important; padding-bottom: 6px !important; }
  .v5-prow2 { grid-template-columns: 1fr !important; }
  .v5-prow2 > div:first-child { padding-bottom: 2px !important; }
  .v5-prow2 > div:last-child { padding-top: 0 !important; }
}
@media (max-width: 620px) { .v5-4 { grid-template-columns: 1fr !important; } .v5-h1 { font-size: 31px !important; } }
.v5-mobilebar { display: none; }
@media (max-width: 860px) {
  .v5-mobilebar { display: flex !important; }
  body { padding-bottom: 78px; }
  .v5-maya-fab { bottom: calc(78px + env(safe-area-inset-bottom) + 14px) !important; }
}

/* ---- product pages (m-*) ---- */
.m-nav a { white-space: nowrap; }
@media (max-width: 1000px) { .m-nav { display: none !important; } .m-burger { display: flex !important; } }
@media (max-width: 900px) { .m-two { grid-template-columns: 1fr !important; } .m-3 { grid-template-columns: 1fr !important; } .m-h1 { font-size: 36px !important; } }
@media (max-width: 700px) {
  .m-prow { grid-template-columns: 1fr !important; padding-bottom: 12px; }
  .m-prow > div:nth-child(2) { padding-top: 0 !important; padding-bottom: 6px !important; }
}

/* ---- shared: mobile slide-out sheet menu (landing + product/legacy pages) ---- */
.site-sheet { position: fixed; inset: 0; z-index: 90; display: none; justify-content: flex-end; }
.site-sheet.open { display: flex; }
.site-sheet-backdrop { position: absolute; inset: 0; background: rgba(33,31,28,0.55); }
.site-sheet-panel { position: relative; width: min(420px, 100%); height: 100%; background: #FAF8F4; display: flex; flex-direction: column; animation: maSheet 0.22s ease-out; }
body.sheet-open { overflow: hidden; }

/* ---- Maya assistant bubble ---- */
.bot-hidden { display: none !important; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
}
