html {
  scroll-behavior: smooth;
  color-scheme: dark;
}
body {
  margin: 0;
  background: #0a0a0a;
}
* {
  box-sizing: border-box;
}
.faq-answer {
  font:
    500 16px/1.5 Satoshi,
    sans-serif;
  color: #999;
  margin: 20px 0 0 !important;
  white-space: normal;
}
[hidden] {
  display: none !important;
}
[data-faq] {
  height: auto !important;
  cursor: pointer;
}
.honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.form-status {
  font:
    500 16px/1.5 Satoshi,
    sans-serif;
  color: #fcfcfa;
}
.form-status:empty {
  display: none;
}
[data-post-body] p:not(.framer-text),
[data-post-body] li:not(.framer-text) {
  font:
    500 16px/1.5 Satoshi,
    sans-serif;
  color: #999;
  letter-spacing: -.02em;
  margin: 24px 0 0;
}
[data-post-body] h2:not(.framer-text) {
  font:
    500 36px/1.3 Satoshi,
    sans-serif;
  color: #fcfcfa;
  letter-spacing: -.02em;
  margin: 48px 0 0;
}
[data-post-body] > :first-child { margin-top: 0; }
[data-post-body] a {
  color: #fcfcfa;
  text-decoration: underline;
}
[data-post-body] img {
  max-width: 100%;
}
.framer--carousel {
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.framer--carousel > li {
  scroll-snap-align: start;
}
.ticker {
  animation: ticker-slide 40s linear infinite;
}
.ticker:hover {
  animation-play-state: paused;
}
@keyframes ticker-slide {
  to {
    transform: translateX(calc(-1 * var(--ticker-distance)));
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .ticker {
    animation: none;
  }
}
@media (max-width: 809px) {
  body:has(nav.menu-open) #main > div > :not(:first-child):not(a) {
    filter: blur(10px);
    opacity: .15;
  }
  nav.menu-open [data-component="Line 1"] { top: 50% !important; transform: rotate(45deg) !important; }
  nav.menu-open [data-component="Line 2"] { opacity: 0 !important; }
  nav.menu-open [data-component="Line 3"] { top: 50% !important; transform: rotate(-45deg) !important; }
  nav.menu-open {
    height: 340px !important;
  }
  nav.menu-open [data-component="Links"] {
    display: flex !important;
    position: absolute !important;
    top: 50px;
    left: 0;
    right: 0;
    width: auto !important;
    height: auto !important;
    max-height: none !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    opacity: 1 !important;
  }
  nav.menu-open [data-component="Links"] a {
    opacity: 1 !important;
  }
}

/* The statement replays its Framer blur reveal when it enters the viewport. */
[data-blur-reveal] {
  transition: filter 900ms cubic-bezier(.16, 1, .3, 1);
}
[data-blur-reveal].is-revealed {
  filter: blur(0px) !important;
  -webkit-filter: blur(0px) !important;
}
@media (prefers-reduced-motion: reduce) {
  [data-blur-reveal] {
    filter: none !important;
    -webkit-filter: none !important;
    transition: none;
  }
}

/* Commercial homepage: retain Satoshi, Instrument Serif, dark surfaces and violet. */
.sales-section { box-sizing:border-box; width:100%; max-width:1160px; margin:0 auto; padding:90px 40px; color:#fcfcfa; font-family:Satoshi,sans-serif; scroll-margin-top:110px; }
.sales-section h2 { font-size:clamp(32px,4.4vw,56px); line-height:1.12; font-weight:500; letter-spacing:-.04em; margin:24px 0 40px; }
.sales-section h2 em,.sales-hero h1 em { font-family:'Instrument Serif',serif; font-weight:400; }
.sales-eyebrow { display:inline-block; font-size:14px; color:#b7b7b7; border:1px solid #272727; padding:9px 14px; border-radius:12px; }
.pain-section { text-align:center; padding-top:55px; }
.pain-grid,.offer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; text-align:left; }
.pain-grid article,.offer-grid article { background:#0d0d0d; border:1px solid #252525; border-radius:24px; padding:30px; }
.sales-number { color:#a593ff; font-size:13px; letter-spacing:.06em; }
.sales-section h3 { font-size:24px; line-height:1.25; letter-spacing:-.025em; font-weight:500; margin:24px 0 14px; }
.sales-section p,.sales-section li { color:#aaa; font-size:16px; line-height:1.6; letter-spacing:-.02em; }
.sales-section p { margin:0 0 18px; }
.sales-section .sales-note { color:#b9b9b9; font-size:15px; margin:28px 0 0; }
.offer-grid article { display:flex; flex-direction:column; }
.offer-grid ul { padding-left:20px; margin:4px 0 28px; }
.sales-text-link { font-size:15px; color:#fcfcfa; text-decoration:none; line-height:1.4; margin-top:auto; }
.sales-text-link:hover { color:#b6a7ff; }
.sales-text-link span { margin-left:5px; }
.case-section { display:grid; grid-template-columns:.75fr 1.25fr; align-items:center; gap:65px; border-top:1px solid #252525; border-bottom:1px solid #252525; }
.case-brand img { display:block; width:100%; height:auto; max-width:330px; margin:40px 0 18px; }
.case-brand p { font-size:14px; }
.case-section h2 { margin-top:0; }
.case-flow { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:30px 0; }
.case-flow span:not([aria-hidden]) { background:#141414; border:1px solid #303030; border-radius:12px; padding:12px 16px; font-size:14px; }
.case-flow span[aria-hidden] { color:#a593ff; }
.faq-intro { text-align:center; padding-bottom:0; }
.faq-intro h2 { margin-bottom:0; }
.sales-form-note { font:500 14px/1.5 Satoshi,sans-serif; color:#aaa; margin:0; text-align:center; }
.sales-contact-form [data-component="Name"] > label { width:100% !important; }
.sales-hero h1 { --framer-font-size:72px !important; }
#main a:focus-visible,#main [role="button"]:focus-visible { outline:2px solid #b5a5ff; outline-offset:6px; }
@media(max-width:809px) {
 .sales-section { padding:60px 24px; }
 .pain-grid,.offer-grid { grid-template-columns:1fr; gap:14px; }
 .pain-grid article,.offer-grid article { padding:26px; }
 .case-section { grid-template-columns:1fr; gap:36px; }
 .case-brand img { max-width:260px; }
 .sales-hero h1 { --framer-font-size:40px !important; }
 .faq-intro { padding-bottom:0; }
 .sales-section h2 { margin-bottom:30px; }
}
.sales-floating-contact { position:fixed; z-index:20; right:24px; bottom:24px; background:#4400ff; color:#fcfcfa; padding:15px 20px; border:1px solid #7150ff; border-radius:12px; font:500 15px/1.3 Satoshi,sans-serif; text-decoration:none; box-shadow:0 8px 32px #0006; }
@media(max-width:809px) { .sales-floating-contact { right:16px; bottom:16px; padding:12px 16px; font-size:14px; } }

/* All example cards share one content grid instead of captured per-card offsets. */
#examples .framer--carousel > li { width:368px !important; }
#examples .framer--carousel > li > div {
  position:relative !important; width:100% !important; height:500px !important;
  display:flex !important; flex-direction:column !important; justify-content:flex-end !important;
  align-items:stretch !important; gap:16px !important; padding:32px !important;
}
#examples .framer--carousel > li > div > [data-framer-component-type="RichTextContainer"] {
  position:relative !important; inset:auto !important; transform:none !important;
  width:100% !important; height:auto !important; flex:none !important; z-index:1;
}
#examples .framer--carousel h4 { margin:0 !important; min-height:52px; --framer-font-size:20px; --framer-line-height:26px; --framer-text-alignment:left; }
#examples .framer--carousel p { margin:0 !important; min-height:112px; --framer-font-size:16px; --framer-line-height:1.4em; --framer-text-alignment:left; }
#about-us a { align-self:center !important; margin-inline:auto !important; width:fit-content !important; justify-content:center !important; gap:0 !important; padding:12px 24px !important; }
#about-us a > .framer-1r6io33-container { display:none !important; }
#about-us a h6 { text-align:center; white-space:nowrap; }
@media(max-width:809px) { #examples .framer--carousel > li { width:min(368px,calc(100vw - 48px)) !important; } }
#examples .framer--carousel > li > div { min-width:0 !important; max-width:none !important; }
.case-metrics { display:grid; gap:22px; margin:32px 0; }
.case-metrics strong { display:block; font:500 29px/1.2 Satoshi,sans-serif; letter-spacing:-.04em; color:#fcfcfa; }
.case-metrics span { display:block; margin-top:7px; color:#aaa; font:500 14px/1.4 Satoshi,sans-serif; }
.case-brand .apollo-case-image { width:100%; max-width:360px; border-radius:18px; border:1px solid #292929; margin-top:30px; }
.apollo-case { border-top:0; }
.apollo-case .sales-text-link { display:inline-block; margin-top:24px; }

/* Real project preview: Memory Map, part of Fan Theories at Domo360. */
.memory-showcase { grid-column:1 / -1; display:grid; grid-template-columns:1.2fr 1fr; gap:36px; align-items:center; border-top:1px solid #292929; padding-top:45px; min-width:0; }
.memory-preview { display:block; min-width:0; border:1px solid #303030; border-radius:18px; overflow:hidden; transition:transform .25s ease,border-color .25s ease; }
.memory-preview:hover { transform:translateY(-4px); border-color:#a593ff; }
.memory-preview img { display:block; width:100%; height:auto; }
.memory-copy { min-width:0; }
.memory-copy h3 { font-family:Satoshi,sans-serif; font-size:30px; line-height:1.2; letter-spacing:-.7px; margin:18px 0; color:#fff; }
.memory-copy h3 em { font-family:Instrument Serif,serif; font-weight:400; }
@media (max-width:809px) { .memory-showcase { grid-template-columns:1fr; gap:24px; padding-top:32px; } .memory-copy h3 { font-size:28px; } }

.contact-privacy{font:12px/1.5 Satoshi,sans-serif;color:#999;max-width:600px}.contact-privacy a{color:inherit;text-decoration:underline}
