/* Orbit Websites: midnight violet direction */
:root {
  --ink: #f4f1f8;
  --deep: #0d0f19;
  --deep2: #1a1d2b;
  --cream: #151722;
  --paper: #1b1e2c;
  --sand: #252535;
  --line: #3b3e50;
  --gold: #c6b3eb;
  --goldlight: #e0d4f5;
  --muted: #b7b9c7;
}
html { scroll-padding-top: 78px; }
body { background: #11131d; color: var(--ink); overflow-x: hidden; }
::selection { background: #c6b3eb; color: #11131d; }
:focus-visible { outline: 2px solid #d5c1f8; outline-offset: 4px; }
.eyebrow.dark { color: #c6b3eb; }
.eyebrow.light { color: #d5c1f8; }
.text-link.dark-link { color: #eee9f8; }
.text-link.light-link { color: #f2ecfb; }
h1 em, h2 em, .quote-inner em { color: #c6b3eb; }
.intro h2 em, .stats-head h2 em,
.process-heading h2 em, .faq-grid h2 em { color: #c6b3eb; }
.button-gold { position:relative; overflow:hidden; background: #c6b3eb; color: #141321; }
.button-gold:after { content:""; position:absolute; inset:0; background:linear-gradient(105deg,transparent 32%,#ffffff9e 49%,transparent 65%); transform:translateX(-130%); transition:transform .65s ease; pointer-events:none; }
.button-gold:hover:after { transform:translateX(130%); }
.button-gold:hover { background: #e4d5ff; box-shadow: 0 15px 36px #9f7cdd47; }
.button span, .nav-cta span, .offer-link span, .contact-email span { display: inline-block; transition: transform .3s ease; }
.button:hover span, .nav-cta:hover span, .offer-link:hover span, .contact-email:hover span { transform: translate(4px,-4px); }

/* The navigation remains available as the story scrolls. */
.site-header { position: fixed; transition: background .35s ease, box-shadow .35s ease; }
.site-header.scrolled { background: #10111ce8; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 10px 35px #07081155; }
.nav-shell { border-bottom-color: #d9c8ff26; }
.brand-mark { border-color: #c6b3eb; }
.brand-mark>span { background: #c6b3eb; }
.primary-nav>a:not(.nav-cta) { color: #e8e5f1; position: relative; }
.primary-nav>a:not(.nav-cta):after { content:""; position:absolute; left:0; right:100%; bottom:-8px; height:1px; background:#c6b3eb; transition:right .3s ease; }
.primary-nav>a:not(.nav-cta):hover { color:#fff; }
.primary-nav>a:not(.nav-cta):hover:after { right:0; }
.nav-cta { border-color:#c6b3eb9e; color:#f3edff; }
.nav-cta:hover { background:#c6b3eb1f; }

/* Hero: darker blue-black, with restrained violet light. */
.hero { background: radial-gradient(circle at 78% 32%, #333048 0%, #1a1b2b 35%, #10121e 69%, #0b0d17 100%); }
.hero:before { content:""; position:absolute; inset:0; pointer-events:none; background: radial-gradient(circle at 43% 60%, #a17cdd0f 0, transparent 38%); }
.hero h1 em { color:#d6c5f7; }
.hero-lead { color:#c1c2d0; }
.hero-orbit { border-color:#c6b3eb30; }
.showcase-glow { background:#a887ec32; filter:blur(76px); }
.browser-frame { box-shadow: 0 37px 100px #03040abf, 0 0 0 1px #d7c9f03d; }
.showcase-note { background:#eee8f5; color:#191725; box-shadow:0 18px 48px #03040a75; }
.note-icon { color:#8865bf; }
.showcase-note small { color:#767182; }
.vertical-caption { color:#c0b8d1; }
.proof-line { background:#c6b3eb; }
.hero-proof { color:#c4c1d4; font-size:10px; }
.hero-bottom { border-color:#ddd0f82a; color:#bcb9cd; }

/* First-scroll offer: a clear, immediate answer to price and trust. */
.offer-section { position:relative; padding:28px 0 72px; background:#10121d; }
.offer-section:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 60% 15%,#7f60aa25,transparent 55%); pointer-events:none; }
.offer-shell { position:relative; display:grid; grid-template-columns: 205px minmax(0,1fr) 205px; gap:clamp(28px,4vw,58px); align-items:center; padding:48px 50px; border:1px solid #b9a7d444; background:linear-gradient(124deg,#252235,#201e2d 45%,#191d2b); box-shadow:0 35px 85px #06071180; overflow:hidden; }
.offer-shell:before { content:""; position:absolute; inset:0; z-index:0; background:radial-gradient(360px circle at var(--pointer-x,65%) var(--pointer-y,25%),#d0aaff36,transparent 72%); opacity:0; transition:opacity .35s ease; pointer-events:none; }
.offer-shell:hover:before { opacity:1; }
.offer-shell:after { content:""; position:absolute; right:-110px; top:-170px; width:465px; height:465px; border:1px solid #d2bdf932; border-radius:50%; pointer-events:none; }
.offer-stamp { min-height:226px; padding:19px; border:1px solid #d1beef76; display:flex; flex-direction:column; align-items:center; justify-content:space-between; text-align:center; color:#e0d3f4; position:relative; z-index:1; background:#c6b3eb0c; }
.offer-star { font-size:29px; line-height:1; color:#cab4ef; }
.offer-stamp-small, .offer-stamp-foot { font-size:9px; line-height:1.5; font-weight:700; letter-spacing:.18em; }
.offer-stamp strong { font:400 34px/.93 var(--serif); letter-spacing:-.045em; color:#faf6ff; }
.offer-stamp-foot { font-size:7px; }
.offer-content { position:relative; z-index:1; }
.offer-content .eyebrow { margin-bottom:17px; }
.offer-content h2 { font-size:clamp(42px,4.2vw,60px); line-height:1.09; max-width:640px; margin-bottom:20px; }
.offer-content>p:not(.eyebrow) { font-size:13px; line-height:1.75; color:#c6c5d2; max-width:640px; margin-bottom:13px; }
.offer-content .offer-comparison { color:#e0dbea !important; }
.offer-comparison strong { color:#eadcff; font-weight:700; }
.offer-link { display:inline-flex; align-items:center; gap:22px; margin-top:11px; border-bottom:1px solid #c6b3eb; padding-bottom:8px; font-size:12px; font-weight:700; color:#e4d5ff; }
.offer-content .offer-sources { margin-top:20px !important; margin-bottom:0 !important; color:#9f9baa !important; font-size:9px !important; }
.offer-sources a { text-decoration:underline; text-underline-offset:3px; }
.offer-sources a:hover { color:#eee8f8; }
.offer-price { position:relative; z-index:1; border-left:1px solid #c6b3eb55; padding-left:26px; align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
.offer-price span { font-size:9px; font-weight:700; letter-spacing:.17em; color:#bcb2ce; line-height:1.5; }
.offer-price strong { font:400 clamp(54px,5.5vw,78px)/1.2 var(--serif); letter-spacing:-.08em; color:#faf7ff; white-space:nowrap; margin:8px 0; }
.offer-price small { font-size:10px; line-height:1.6; color:#d1c5e2; }

/* A darker editorial rhythm across the remaining sections. */
.intro { background:#151722; border-bottom:1px solid #383749; }
.intro.section-pad { padding-top:98px; padding-bottom:64px; }
.intro-side p, .stats-head>p, .process-heading>p { color:#bfc0ce; }
.detail-row, .detail-item:not(:first-child) { border-color:#404252; }
.detail-symbol { color:#c6b3eb; }
.detail-item p { color:#b1b3c0; }
.stats-section { position:relative; isolation:isolate; overflow:hidden; margin-top:42px; background:radial-gradient(circle at 82% 12%,#4b365c65,transparent 39%),linear-gradient(135deg,#272136,#1d1d2c 62%,#211c30); border-top:1px solid #7d659654; border-bottom:1px solid #7d659654; }
.stats-section:before { content:""; position:absolute; z-index:-1; width:700px; height:700px; right:-250px; top:-360px; border:1px solid #c7b1ec2e; border-radius:50%; box-shadow:0 0 0 100px #c7b1ec08,0 0 0 200px #c7b1ec05; pointer-events:none; }
.stats-section.section-pad { padding-top:74px; }
.stat-grid { border-color:#414454; }
.stat-card:not(:first-child) { border-color:#414454; }
.stat-card { position:relative; transition:background .3s ease, padding-left .3s ease; }
.stat-card:before { content:""; position:absolute; inset:0; background:radial-gradient(260px circle at var(--pointer-x,50%) var(--pointer-y,50%),#b49aea2b,transparent 75%); opacity:0; transition:opacity .35s ease; pointer-events:none; }
.stat-card:hover:before { opacity:1; }
.stat-card>* { position:relative; z-index:1; }
.stat-card:hover { background:#c6b3eb0c; }
.stat-number { display:inline-block; transform-origin:left bottom; }
.stat-number { color:#f7f4fb; }
.stat-number span { color:#c7b4e9; }
.stat-card p { color:#c3c3d0; }
.stat-card a { color:#d9c8f7; border-color:#c6b3eb; }
.stat-card a:hover { color:#fff; }
.stats-note { color:#9b9daa; }
.process-section { background:#1b1d2a; }
.step-no { color:#cbb9eb; }
.step-rule { background:#56566b; }
.step-rule:after { background:#c9b7e9; }
.process-step p { color:#b8bac7; }
.quote-section { background:linear-gradient(120deg,#30283a,#242433); }
.quote-mark { color:#bba6df; }
.quote-inner p { color:#f7f2fb; }
.quote-inner em { color:#d9c5f6; }
.quote-credit { color:#bab4ca; }
.faq-section { background:#161824; }
.faq-list, .faq-list details { border-color:#414355; }
.faq-list summary span { color:#ccb9ef; }
.faq-list details p { color:#b9bac7; }
.faq-list details[open] p { animation:faqIn .35s ease both; }
.contact-section { background:radial-gradient(circle at 15% 15%,#292038,#151621 52%,#0f111b); }
.contact-orbit { border-color:#c6b3eb2e; }
.contact-copy p:not(.eyebrow) { color:#c4c4d1; }
.contact-email { color:#e1d0fb; border-color:#c6b3eb; }
.contact-form { background:#ede9f3; color:#1c1b28; }
.form-top { color:#765d99; border-color:#cbc2d9; }
.contact-form input,.contact-form textarea { border-color:#cbc4d4; background:#faf8fc; color:#1c1b28; }
.contact-form input:focus,.contact-form textarea:focus { border-color:#9a7fc3; box-shadow:0 0 0 2px #a789d246; }
.form-note { color:#686479; }
.site-footer { background:#0c0e17; }
.footer-top>a:last-child { color:#e1d0fb; border-color:#c6b3eb; }
.footer-bottom { border-color:#d3c2ed2a; color:#aaa9b8; }

/* Responsive fixes and spacing. */
.faq-grid { grid-template-columns:minmax(0,44fr) minmax(0,56fr); }
@media(max-width:1100px) {
  .offer-shell { grid-template-columns:165px minmax(0,1fr) 170px; gap:26px; padding:37px; }
  .offer-stamp { min-height:220px; }
  .offer-stamp strong { font-size:28px; }
  .offer-content h2 { font-size:46px; }
  .offer-price { padding-left:20px; }
  .offer-price strong { font-size:62px; }
}
@media(max-width:760px) {
  .intro.section-pad { padding-bottom:52px; }
  .stats-section { margin-top:24px; }
  .stats-section.section-pad { padding-top:54px; }
  .primary-nav { background:#151624f5; border-color:#c6b3eb55; }
  .menu-toggle span { background:#f1eaff; }
  .hero-proof { display:flex; margin-top:35px; line-height:1.5; }
  .offer-section { padding:26px 0 66px; }
  .offer-shell { display:block; padding:29px; }
  .offer-stamp { min-height:0; display:flex; flex-direction:row; gap:16px; width:100%; padding:15px; text-align:left; }
  .offer-star { font-size:23px; }
  .offer-stamp-small { font-size:8px; }
  .offer-stamp strong { font-size:28px; margin-left:auto; }
  .offer-stamp-foot { display:none; }
  .offer-content { margin-top:31px; }
  .offer-content h2 { font-size:clamp(43px,8vw,58px); }
  .offer-price { border-left:0; border-top:1px solid #c6b3eb55; margin-top:26px; padding:23px 0 0; display:flex; flex-direction:row; align-items:center; gap:16px; justify-content:space-between; }
  .offer-price strong { margin:0; font-size:53px; }
  .offer-price small { max-width:112px; }
  .faq-grid { grid-template-columns:1fr; }
}
@media(max-width:520px) {
  .hero-proof { font-size:9px; }
  .offer-shell { padding:23px; }
  .offer-stamp { gap:9px; }
  .offer-stamp-small { font-size:7px; }
  .offer-stamp strong { font-size:23px; }
  .offer-content h2 { font-size:42px; }
  .offer-price strong { font-size:44px; }
  .stat-card,.stat-card:not(:first-child) { border-color:#414454; }
}

/* Motion is only applied when JavaScript and the visitor's preference permit it. */
@keyframes riseIn { from { opacity:.72; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
@keyframes showcaseIn { from { opacity:.7; transform:translate(12px,14px) rotate(2deg); } to { opacity:1; transform:translate(0,0) rotate(1.1deg); } }
@keyframes showcaseFloat { 0%,100% { transform:translateY(0) rotate(1.1deg); } 50% { transform:translateY(-9px) rotate(.5deg); } }
@keyframes orbitDrift { from { transform:rotate(0); } to { transform:rotate(18deg); } }
@keyframes faqIn { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:translateY(0); } }
@keyframes numberLift { from { opacity:.45; transform:translateY(12px) scale(.93); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes lineDraw { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes starPulse { 0%,100% { transform:rotate(0) scale(1); opacity:.85; } 50% { transform:rotate(18deg) scale(1.22); opacity:1; } }
@keyframes ambientOrbit { from { transform:rotate(0); } to { transform:rotate(360deg); } }
@keyframes stampArrive { from { opacity:.6; transform:translateY(16px) rotate(-4deg); } to { opacity:1; transform:translateY(0) rotate(0); } }
@keyframes priceArrive { from { opacity:.55; transform:translateY(18px) scale(.92); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes quoteFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } }
@media(prefers-reduced-motion:no-preference) {
  .hero-copy .eyebrow { animation:riseIn .75s .05s both; }
  .hero-copy h1 { animation:riseIn .85s .14s both; }
  .hero-lead { animation:riseIn .85s .25s both; }
  .hero-actions { animation:riseIn .85s .36s both; }
  .hero-proof { animation:riseIn .85s .48s both; }
  .browser-frame { animation:showcaseIn 1.05s .18s both, showcaseFloat 9s 1.3s ease-in-out infinite; }
  .hero-orbit { animation:orbitDrift 50s ease-in-out infinite alternate; }
  .offer-star { animation:starPulse 7s ease-in-out infinite; }
  .offer-shell.is-visible .offer-stamp { animation:stampArrive .85s .18s cubic-bezier(.18,.75,.2,1) both; }
  .offer-shell.is-visible .offer-price strong { animation:priceArrive .95s .3s cubic-bezier(.18,.75,.2,1) both; }
  .stats-section:before { animation:ambientOrbit 55s linear infinite; }
  .stat-card.is-visible .stat-number { animation:numberLift .9s cubic-bezier(.18,.75,.2,1) both; }
  .process-step.is-visible .step-rule { transform-origin:left; animation:lineDraw .9s cubic-bezier(.18,.75,.2,1) both; }
  .quote-mark { animation:quoteFloat 6s ease-in-out infinite; }
  .motion-ready .reveal { transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); transition-delay:var(--reveal-delay,0ms); }
  .motion-ready .reveal:not(.is-visible) { opacity:0; transform:translateY(26px); }
  .motion-ready .reveal.is-visible { opacity:1; transform:translateY(0); }
}
@media(prefers-reduced-motion:reduce) {
  .hero-copy .eyebrow,.hero-copy h1,.hero-lead,.hero-actions,.hero-proof,.browser-frame,.hero-orbit { animation:none!important; }
  .motion-ready .reveal { opacity:1!important; transform:none!important; }
}
