/* Lumi — modern magic. Instrument Serif and Poppins remain the brand typefaces. */
:root {
  --lumi-page: #faf8f5;
  --lumi-panel: #fffefd;
  --lumi-ink: #25212e;
  --lumi-secondary: #696374;
  --lumi-line: #ded9e4;
  --lumi-lavender: #7561af;
  --lumi-soft: #f0eaf6;
  --lumi-glow: #d6c4f455;
  --lumi-nav: #fffefde8;
}
html[data-theme="dark"] {
  --lumi-page: #111116;
  --lumi-panel: #1a1921;
  --lumi-ink: #f4f0fa;
  --lumi-secondary: #b8b2c5;
  --lumi-line: #34303f;
  --lumi-lavender: #c9b7ee;
  --lumi-soft: #262131;
  --lumi-glow: #7f4cbb2b;
  --lumi-nav: #1a1921ed;
}
html:root .shell.lumi-home, html:root .om-shell.om-shell { background: var(--lumi-page) !important; color: var(--lumi-ink) !important; animation: none !important; }
html:root :is(.shell,.om-shell) > div[aria-hidden="true"][style*="position: fixed"] { display: none; }
html:root .lumi-site-nav {
  box-sizing: border-box; max-width: 1384px; margin-inline: auto;
  background: var(--lumi-nav) !important; border: 1px solid var(--lumi-line);
  box-shadow: 0 4px 24px #17102306 !important; backdrop-filter: blur(20px);
  padding: 10px 12px 10px 18px !important;
}
html:root .lumi-brand { gap: 10px !important; }
html:root .lumi-brand-mark { color: #f8f2ff !important; background: linear-gradient(145deg,#9b80ca,#654997) !important; border-radius: 12px !important; font-size: 26px !important; box-shadow: inset 0 1px 1px #ffffff55; }
html:root .lumi-site-nav .nav-burger { border-color: var(--lumi-line) !important; background: transparent !important; color: var(--lumi-ink) !important; }
html:root .lumi-surface { background: var(--lumi-panel) !important; border: 1px solid var(--lumi-line); box-shadow: 0 10px 40px #17102303; }
html:root :is(.om-shell, .om-shell > main) > section { margin-top: 18px !important; }
html:root :is(.pill-f,.pill-p,.learn,.browse-btn) { transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease !important; }
html:root .deck-grid > a { border-radius: 18px; }
html:root .om-shell h1 { color: var(--lumi-ink); }
html:root .om-shell h1 em, html:root .om-shell h1 > span[style*="italic"] { color: var(--lumi-lavender); }
html:root .lumi-home .band { max-width: 1250px; padding-inline: clamp(24px,4.6vw,65px); }
html:root .lumi-home [data-reveal] { opacity: 1 !important; transform: none; }
html:root .lumi-home [style*="animation:"] { animation: none !important; }
html:root .lumi-home > section { transform: none !important; }
.lumi-home :is(h1,h2,.lumi-art-caption,.lumi-card-word) { font-family: 'Instrument Serif',Georgia,serif; font-weight: 400; }
html:root .lumi-hero { position: relative; padding: 76px 0 0 !important; margin: 0 !important; }
html:root .lumi-hero-grid { display: grid; grid-template-columns: 1.04fr 1fr; gap: 36px; align-items: center; }
.lumi-hero-copy { min-width: 0; padding-block: 30px 48px; position: relative; z-index: 1; }
.lumi-kicker { display: flex; align-items: center; gap: 10px; max-width: 460px; font-size: 14px; line-height: 1.7; letter-spacing: .07em; text-transform: uppercase; color: var(--lumi-secondary); margin-bottom: 26px; }
.lumi-kicker > span:first-child { color: var(--lumi-lavender); font-size: 22px; flex: none; }
html:root .lumi-hero h1 { font-size: clamp(64px,7.1vw,102px); line-height: 1.04; letter-spacing: -.035em; margin: 0 0 28px; text-wrap: initial; }
.lumi-hero h1 em { color: var(--lumi-lavender); font-weight: 400; }
.lumi-hero-lead { max-width: 470px; margin: 0 0 30px; font-size: 17px; line-height: 1.8; color: var(--lumi-secondary); }
.lumi-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
html:root .lumi-hero-actions a { padding: 16px 26px !important; min-height: 56px; box-shadow: none !important; }
html:root .lumi-hero-actions a:first-child { background: #7960ac !important; color: #fff !important; }
html:root .lumi-hero-actions a:first-child svg { fill: #fff !important; }
html:root .lumi-hero-actions a:first-child svg path { fill: #fff !important; }
html:root .lumi-hero-actions a:last-child { background: transparent !important; color: var(--lumi-ink) !important; border: 1px solid var(--lumi-line); }
html:root .lumi-hero-actions a:last-child svg { fill: currentColor !important; }
html:root .lumi-hero-actions a:last-child svg path { fill: currentColor !important; }
.lumi-hero-note { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; color: var(--lumi-secondary); font-size: 14px; }
.lumi-rating { display: inline-flex; align-items: center; gap: 9px; }
.lumi-rating > span { color: #ad8650; font-size: 15px; letter-spacing: 1px; }
.lumi-note-divider { width: 1px; height: 14px; background: var(--lumi-line); }
.lumi-hero-art { width: 100%; aspect-ratio: 1.02; min-width: 0; position: relative; isolation: isolate; }
.lumi-hero-art::before { content: ''; position: absolute; inset: -5%; background: radial-gradient(ellipse,var(--lumi-glow) 0%,transparent 68%); border-radius: 50%; z-index: -1; }
.lumi-orbit { position: absolute; border: 1px solid var(--lumi-line); border-radius: 50%; }
.lumi-orbit-outer { inset: 4% 0 8%; transform: rotate(-24deg); }
.lumi-orbit-inner { inset: 13% 8% 17%; border-style: dashed; opacity: .7; }
.lumi-art-card { position: absolute; width: 37%; aspect-ratio: .59; border-radius: 18px; box-shadow: 0 20px 50px #07020f33; overflow: hidden; border: 1px solid #d0bcec77; }
.lumi-card-front { left: 31.5%; top: 11%; z-index: 3; background: #291b46; transform: rotate(-4deg); }
.lumi-card-front img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lumi-card-rule { position: absolute; inset: 9px; border: 1px solid #d7bbff66; border-radius: 12px; }
.lumi-card-left { top: 21%; left: 10%; transform: rotate(-20deg); background: radial-gradient(ellipse at 20% 20%,#9274b9,#4c3865 65%,#322541); }
.lumi-card-right { top: 18%; right: 8%; transform: rotate(15deg); background: radial-gradient(ellipse at 80% 0,#4f4868,#282235 80%); }
.lumi-card-moon,.lumi-card-sun { position: absolute; inset: 0; display: grid; place-items: center; color: #d9c4ec; font-family: Georgia,serif; font-size: clamp(50px,8vw,112px); }
.lumi-card-sun { color: #d9bd93; }
.lumi-card-corner { position: absolute; bottom: 22px; left: 0; right: 0; text-align: center; color: #e2cda6; font-size: 20px; }
.lumi-card-word { position: absolute; top: 22px; left: 0; right: 0; color: #fff1d7; text-align: center; font-size: 27px; letter-spacing: .02em; }
.lumi-art-caption { position: absolute; z-index: 4; bottom: 6%; right: 2%; display: flex; align-items: center; gap: 14px; padding: 16px 22px; border-radius: 16px; border: 1px solid var(--lumi-line); color: var(--lumi-ink); background: var(--lumi-nav); box-shadow: 0 14px 36px #1710230d; font-size: 23px; max-width: 78%; line-height: 1.3; }
.lumi-art-caption > span:first-child { font-family: Georgia,serif; color: var(--lumi-lavender); }
.lumi-spark { position: absolute; color: var(--lumi-lavender); z-index: 4; font-family: Georgia,serif; }
.lumi-spark-one { left: 13%; top: 5%; font-size: 34px; }
.lumi-spark-two { right: 8%; top: 8%; font-size: 50px; }
.lumi-spark-three { left: 3%; bottom: 16%; font-size: 19px; }
html:root .lumi-quick-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding-block: 36px 0; gap: 0; }
html:root .lumi-quick-links a { display: flex; align-items: center; gap: 14px; padding: 22px 28px; border-block: 1px solid var(--lumi-line); font-size: 16px; color: var(--lumi-ink); min-width: 0; }
.lumi-quick-links a+a { border-left: 1px solid var(--lumi-line); }
.lumi-quick-links a > span:last-child { margin-left: auto; color: var(--lumi-secondary); }
.lumi-quick-icon { font-family: Georgia,serif; font-size: 26px; color: var(--lumi-lavender); flex: none; }
html:root .lumi-chat { padding: 108px 0 112px !important; }
html:root .lumi-chat-grid { gap: 80px !important; grid-template-columns: 1fr 1fr; }
html:root .lumi-chat h2 { font-size: clamp(42px,4.9vw,68px) !important; line-height: 1.08 !important; max-width: 580px; }
.lumi-chat-grid > div:first-child { min-width: 0; }
html:root .lumi-chat p { font-size: 17px !important; line-height: 1.8 !important; color: var(--lumi-secondary) !important; }
html:root .lumi-chat .btn { background: var(--lumi-soft) !important; border: 1px solid var(--lumi-line); box-shadow: none !important; color: var(--lumi-ink) !important; padding: 15px 24px !important; }
.lumi-product-visual { position: relative; min-width: 0; padding-block: 22px; }
.lumi-product-visual::before { content: ''; position: absolute; inset: 16% -2%; border: 1px solid var(--lumi-line); border-radius: 50%; background: radial-gradient(ellipse,var(--lumi-glow),transparent 72%); }
.lumi-product-visual::after { content: '✦'; position: absolute; left: 6%; top: 16%; color: var(--lumi-lavender); font-family: Georgia,serif; font-size: 32px; }
html:root .lumi-phone { width: min(310px,88%) !important; z-index: 1; transform: rotate(3deg); }
html:root .lumi-phone > div { border-radius: 36px !important; border: 1px solid #9b84be66; box-shadow: 0 30px 70px #110b2033 !important; }
html:root .lumi-features { padding: 0 0 108px !important; }
html:root .lumi-features .band > div:first-child { text-align: left !important; margin-bottom: 42px !important; }
html:root .lumi-features h2, html:root .lumi-reviews h2, html:root .lumi-faq-section h2 { font-size: clamp(42px,4.8vw,66px) !important; line-height: 1.08 !important; }
html:root .lumi-feature-grid { gap: 22px !important; }
html:root .lumi-feature-card { position: relative; background: var(--lumi-panel) !important; border: 1px solid var(--lumi-line); border-radius: 28px !important; padding: 34px !important; min-height: 420px !important; box-shadow: 0 12px 40px #10051e03; }
html:root .lumi-feature-card:first-child { background: linear-gradient(150deg,var(--lumi-panel),var(--lumi-soft)) !important; }
html:root .lumi-feature-card:nth-child(2) { background: linear-gradient(155deg,var(--lumi-soft),var(--lumi-panel)) !important; }
html:root .lumi-feature-card p { color: var(--lumi-secondary) !important; font-size: 16px !important; line-height: 1.8 !important; }
html:root .lumi-feature-card > div[style*="font-family"] { font-size: 40px !important; }
.lumi-feature-arrow { position: absolute; right: 24px; top: 24px; width: 36px; height: 36px; border: 1px solid var(--lumi-line); border-radius: 50%; display: grid; place-items: center; color: var(--lumi-secondary); font-size: 20px; }
html:root .lumi-feature-card.wide { min-height: 340px !important; }
html:root .lumi-feature-card .cm-vis { padding: 18px 0; }
html:root .lumi-feature-card .cm-row > div:is(:first-child,:last-child) { position: relative; background: linear-gradient(155deg,#9c83ba,#413153) !important; border: 1px solid #c7afd977 !important; }
.lumi-feature-card .cm-row > div:is(:first-child,:last-child)::after { content: '✧'; position: absolute; inset: 0; display: grid; place-items: center; color: #e5d1ed; font: 32px Georgia,serif; }
html:root .lumi-feature-card .ztile { background: linear-gradient(145deg,#a085c3,#6c4c9d) !important; box-shadow: inset 0 1px 1px #ffffff55,0 14px 30px #38204d33 !important; }
html:root .lumi-reviews { padding: 0 0 108px !important; }
html:root .lumi-reviews .band > div:first-child { text-align: center !important; margin-bottom: 42px !important; }
html:root .lumi-review-grid > div { background: transparent !important; border: 0 !important; border-top: 1px solid var(--lumi-line) !important; border-radius: 0 !important; padding: 28px 18px 0 !important; box-shadow: none !important; }
html:root .lumi-review-grid > div > div:nth-child(2) { font-size: 26px !important; line-height: 1.4 !important; }
html:root .lumi-faq-section { padding: 0 0 100px !important; }
html:root .lumi-faq-section .wide { gap: 80px !important; }
.lumi-faq { border-color: var(--lumi-line); }
html:root .lumi-download { padding: 0 0 40px !important; }
html:root .lumi-download .band > div { border-radius: 32px !important; border: 1px solid #75619466; background: radial-gradient(ellipse at 50% 0,#453058 0,#201827 64%,#17141e 100%) !important; padding-block: 78px !important; }
html:root .lumi-download .band > div > div[style*="position: absolute"] { display: none; }
html:root .lumi-download h2 { font-size: clamp(46px,5.8vw,80px) !important; line-height: 1.08 !important; }
html:root .lumi-download h2 span { color: #e1c699 !important; }
html:root .lumi-home footer { padding-top: 28px !important; }
html:root .lumi-home .f-word { font-size: clamp(92px,14vw,180px) !important; line-height: 1.08 !important; margin-block: 32px !important; }
@media (hover:hover) {
  .lumi-quick-links a:hover { background: var(--lumi-soft); color: var(--lumi-ink); }
  html:root .lumi-feature-card:hover { transform: translateY(-4px) !important; border-color: var(--lumi-lavender); }
  html:root .lumi-hero-actions a:hover { transform: translateY(-2px); }
}
@media (max-width:1100px) {
  html:root .lumi-hero { padding-top: 48px !important; }
  html:root .lumi-hero-grid { gap: 24px; }
  html:root .lumi-hero h1 { font-size: clamp(58px,7.4vw,82px); }
  html:root .lumi-chat-grid { gap: 40px !important; }
  .lumi-art-caption { font-size: 20px; padding: 14px 18px; }
}
@media (max-width:860px) {
  html:root .m-bar { position: fixed !important; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)) !important; margin: 0 !important; z-index: 70; transition: opacity .2s ease, transform .2s ease; }
  html:root .m-bar a { background: #7960ac !important; color: #fff !important; border: 1px solid #a18ac5; box-shadow: 0 8px 24px #0002 !important; }
  html:root :is(.shell,.om-shell):not([data-cta-active="true"]) .m-bar { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(16px); }
  html:root .lumi-home .band { padding-inline: 10px; }
  html:root .lumi-hero { padding-top: 38px !important; }
  html:root .lumi-hero-grid { grid-template-columns: 1fr; gap: 0; }
  .lumi-hero-copy { padding: 0; text-align: center; }
  .lumi-kicker { justify-content: center; max-width: 100%; margin-bottom: 20px; font-size: 14px; letter-spacing: .035em; gap: 8px; }
  .lumi-kicker > span:first-child { font-size: 18px; }
  html:root .lumi-hero h1 { font-size: clamp(50px,11.6vw,78px); line-height: 1.06; margin-bottom: 22px; letter-spacing: -.025em; }
  .lumi-hero-lead { font-size: 16px; line-height: 1.75; margin: 0 auto 24px; max-width: 460px; }
  .lumi-hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 auto 18px; max-width: 440px; }
  html:root .lumi-hero-actions a { width: 100%; padding: 14px 8px !important; font-size: 15px !important; gap: 7px !important; min-height: 54px; }
  .lumi-hero-note { justify-content: center; font-size: 14px; gap: 10px; }
  .lumi-rating > span { font-size: 14px; letter-spacing: 0; }
  .lumi-hero-art { max-width: 440px; margin: 28px auto 0; aspect-ratio: 1.16; }
  .lumi-art-card { width: 34%; border-radius: 13px; }
  .lumi-card-front { left: 33%; top: 7%; }
  .lumi-card-left { left: 13%; top: 17%; }
  .lumi-card-right { right: 10%; top: 15%; }
  .lumi-card-word { top: 15px; font-size: 21px; }
  .lumi-card-corner { bottom: 15px; font-size: 16px; }
  .lumi-card-rule { inset: 7px; border-radius: 9px; }
  .lumi-art-caption { bottom: 2%; right: 4%; padding: 12px 16px; font-size: 20px; border-radius: 12px; }
  .lumi-orbit-outer { inset: 1% 4% 8%; }
  .lumi-orbit-inner { inset: 12% 13% 18%; }
  .lumi-spark-one { font-size: 25px; left: 12%; top: 0; }
  .lumi-spark-two { font-size: 38px; right: 10%; top: 0; }
  .lumi-card-moon,.lumi-card-sun { font-size: 68px; }
  html:root .lumi-quick-links { padding-top: 34px; }
  html:root .lumi-quick-links a { flex-direction: column; gap: 5px; padding: 15px 4px; font-size: 14px; text-align: center; line-height: 1.45; justify-content: flex-start; }
  .lumi-quick-links a > span:last-child { display: none; }
  .lumi-quick-icon { font-size: 26px; }
  html:root .lumi-chat { padding: 64px 0 68px !important; }
  html:root .lumi-chat-grid { grid-template-columns: 1fr; gap: 34px !important; }
  html:root .lumi-chat h2 { font-size: 42px !important; line-height: 1.13 !important; max-width: 570px; }
  html:root .lumi-chat p { font-size: 16px !important; line-height: 1.75 !important; max-width: 570px !important; }
  html:root .lumi-chat .btn { max-width: 440px; }
  html:root .lumi-phone { width: min(290px,86%) !important; transform: rotate(2deg); }
  html:root .lumi-features, html:root .lumi-reviews { padding-bottom: 68px !important; }
  html:root .lumi-features h2, html:root .lumi-reviews h2, html:root .lumi-faq-section h2 { font-size: 42px !important; line-height: 1.12 !important; }
  html:root .lumi-features .band > div:first-child, html:root .lumi-reviews .band > div:first-child { margin-bottom: 28px !important; }
  html:root .lumi-feature-grid { gap: 16px !important; }
  html:root .lumi-feature-card { padding: 26px !important; min-height: 380px !important; border-radius: 24px !important; }
  html:root .lumi-feature-card > div[style*="font-family"] { font-size: 34px !important; }
  html:root .lumi-feature-card .ztile { width: 76% !important; height: 76% !important; }
  html:root .lumi-feature-card.wide { gap: 18px !important; }
  html:root .lumi-review-grid { gap: 28px !important; }
  html:root .lumi-review-grid > div { padding-inline: 4px !important; }
  html:root .lumi-faq-section { padding-bottom: 62px !important; }
  html:root .lumi-faq-section .wide { gap: 24px !important; }
  html:root .lumi-download .band > div { padding: 50px 20px !important; border-radius: 26px !important; }
  html:root .lumi-download h2 { font-size: 44px !important; line-height: 1.1 !important; }
  html:root .lumi-download .btn { min-height: 54px; }
  html:root .lumi-home .f-word { order: initial; margin-block: 14px 24px !important; }
  html:root .lumi-home .f-bottom { flex-direction: row; align-items: center !important; }
}
@media (max-width:360px) {
  .lumi-kicker { font-size: 14px; letter-spacing: .025em; }
  html:root .lumi-hero h1 { font-size: 48px; }
  .lumi-hero-note { font-size: 14px; gap: 8px; }
  .lumi-hero-actions { gap: 8px; }
  html:root .lumi-hero-actions a { font-size: 14px !important; }
  .lumi-art-caption { font-size: 18px; }
}
@media (prefers-reduced-motion:reduce) { .lumi-home *, .lumi-home *::before, .lumi-home *::after { animation: none !important; transition: none !important; } }
