/* ===== Neurolov extras: hero word rotator + magical theme button ===== */
.nv-rotator{flex:1 1 auto;width:100%;max-width:560px;min-width:0;position:relative;isolation:isolate;overflow:hidden;padding:24px 34px 18px;border-radius:24px;
  background:linear-gradient(180deg,#b9dbff 0%,#d4e9ff 55%,#ecf5ff 100%);
  box-shadow:inset 0 1px 0 #ffffffb0,0 12px 32px rgba(54,120,210,.14);font-family:PPNeueMontreal,ui-sans-serif,system-ui,sans-serif}
.nv-rotator::before,.nv-rotator::after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(18px);background:#ffffffcc;pointer-events:none}
.nv-rotator::before{width:260px;height:90px;left:-60px;top:-24px;animation:nv-cloud 16s ease-in-out infinite alternate}
.nv-rotator::after{width:320px;height:110px;right:-90px;bottom:-40px;animation:nv-cloud 20s ease-in-out infinite alternate-reverse}
@keyframes nv-cloud{from{transform:translateX(0)}to{transform:translateX(60px)}}
.nv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nv-sky{position:absolute;inset:0;z-index:-1;pointer-events:none}
.nv-spark{position:absolute;width:5px;height:5px;border-radius:50%;background:#fffbe6;box-shadow:0 0 6px 2px #fff6c8,0 0 14px 4px #ffe89a88;opacity:0;animation:nv-twinkle 5s ease-in-out infinite}
.nv-spark-0{left:8%;top:70%;animation-delay:.2s}.nv-spark-1{left:30%;top:18%;animation-delay:1.4s;width:3px;height:3px}
.nv-spark-2{left:62%;top:78%;animation-delay:2.6s}.nv-spark-3{left:86%;top:24%;animation-delay:3.3s;width:3px;height:3px}
.nv-spark-4{left:48%;top:50%;animation-delay:4.1s;width:3px;height:3px}.nv-spark-5{left:92%;top:66%;animation-delay:.9s}
@keyframes nv-twinkle{0%,100%{opacity:0;transform:translateY(6px) scale(.4)}40%{opacity:1;transform:translateY(0) scale(1)}70%{opacity:.25;transform:translateY(-8px) scale(.7)}}
.nv-grid{display:grid;grid-template-columns:max-content max-content;column-gap:14px;row-gap:10px;align-items:center;justify-content:center}
.nv-label{display:flex;align-items:baseline;justify-content:flex-end;gap:12px;white-space:nowrap}
.nv-kw{font-family:CrosswordDeparture,ui-monospace,monospace;font-size:18px;letter-spacing:.14em;color:#1b5dbd}
.nv-ch{position:relative;display:inline-block}
.nv-ch.is-scan{color:transparent}
.nv-ch.is-scan::after{content:"";position:absolute;left:8%;right:18%;top:18%;bottom:18%;border-radius:2px;background:#fffbe3;
  box-shadow:0 0 5px 2px #fff4bd,0 0 14px 5px #ffe07a99}
.nv-pre{font-size:25px;letter-spacing:-.3px;color:#2a4a74}
.nv-pill{position:relative;display:inline-flex;align-items:center;height:48px;overflow:hidden;border-radius:14px;background:#fff;
  border:1px solid #ffffffe6;box-shadow:0 1px 2px rgba(20,60,120,.08),0 8px 20px rgba(40,110,200,.14);
  transition:width .5s cubic-bezier(.22,1,.36,1)}
.nv-measure{visibility:hidden;padding:0 17px;font-size:25px;font-weight:500;white-space:nowrap}
.nv-word{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;white-space:nowrap;
  font-size:25px;font-weight:500;letter-spacing:-.3px;color:#0f223e}
.nv-word.is-in{animation:nv-in .6s cubic-bezier(.22,1,.36,1) both}
.nv-word.is-out{animation:nv-out .45s ease-in both}
@keyframes nv-in{from{opacity:0;transform:translateY(60%);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes nv-out{to{opacity:0;transform:translateY(-60%);filter:blur(6px)}}
.nv-chain{margin-top:14px;text-align:center;font-family:CrosswordDeparture,ui-monospace,monospace;font-size:13px;letter-spacing:.06em;color:#5f7aa0}
@media(max-width:767px){
  .nv-rotator{padding:18px 14px 14px;border-radius:18px;max-width:none}
  .nv-grid{column-gap:10px;row-gap:8px}.nv-label{gap:8px}
  .nv-kw{font-size:13px}.nv-pre,.nv-word,.nv-measure{font-size:18px}
  .nv-pill{height:38px;border-radius:11px}.nv-measure{padding:0 12px}.nv-chain{font-size:11px}}

/* ---- magical time-of-day button ---- */
.nv-theme{--c1:#5aa8ff;--c2:#a6e6ff;--c3:#ffe27a;--glow:#9fd4ff;--sun:#ffe46b;
  --orb:linear-gradient(180deg,#2f7fe0,#8cc8ff);
  position:relative;width:40px;height:40px;padding:0;border:0;border-radius:999px;background:transparent;
  cursor:pointer;display:inline-grid;place-items:center;isolation:isolate;-webkit-tap-highlight-color:transparent;
  transition:transform .25s cubic-bezier(.22,1,.36,1)}
.nv-theme--morning{--c1:#ffb199;--c2:#ffd8a8;--c3:#a6c8ff;--glow:#ffd0a8;--sun:#ffd25e;--orb:linear-gradient(180deg,#8fc2ff,#ffd2ad)}
.nv-theme--afternoon{--c1:#ff9a5a;--c2:#ffd06b;--c3:#ff7aa8;--glow:#ffc08a;--sun:#ffb23a;--orb:linear-gradient(180deg,#5b8fe0,#ffb27a)}
.nv-theme--night{--c1:#7a6bff;--c2:#c3b0ff;--c3:#3a4dbd;--glow:#b8a6ff;--sun:#f3efff;--orb:radial-gradient(circle at 30% 25%,#34407a,#0e1433)}
.nv-theme:hover{transform:scale(1.08)}.nv-theme:active{transform:scale(.94)}
.nv-theme:focus-visible{outline:2px solid #2f7fe0;outline-offset:3px}
.nv-theme:disabled{cursor:default;opacity:.6}
.nv-theme-ring{position:absolute;inset:0;border-radius:inherit;z-index:-1;
  background:conic-gradient(var(--c1),var(--c2),var(--c3),var(--c1));animation:nv-spin 6s linear infinite}
.nv-theme-ring::after{content:"";position:absolute;inset:-2px;border-radius:inherit;background:inherit;filter:blur(7px);opacity:.6}
.nv-theme:hover .nv-theme-ring{animation-duration:1.6s}
.nv-theme-orb{position:absolute;inset:3px;border-radius:inherit;display:grid;place-items:center;overflow:hidden;
  background:var(--orb);color:var(--sun);box-shadow:inset 0 1px 2px #ffffff70,inset 0 -5px 9px #00000026}
.nv-theme-orb.is-cast{animation:nv-cast .7s cubic-bezier(.22,1,.36,1) both}
.nv-theme-orb svg{overflow:visible;filter:drop-shadow(0 0 3px var(--glow))}
.nv-rays{transform-box:fill-box;transform-origin:center;animation:nv-spin 14s linear infinite}
.nv-theme:hover .nv-rays{animation-duration:3s}
.nv-star{animation:nv-star 2.2s ease-in-out infinite}.nv-star2{animation-delay:.7s}.nv-star3{animation-delay:1.4s}
@keyframes nv-spin{to{transform:rotate(360deg)}}
@keyframes nv-star{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes nv-cast{0%{transform:rotate(-200deg) scale(.3);opacity:0}60%{transform:rotate(12deg) scale(1.12);opacity:1}100%{transform:none}}
.nv-burst{position:absolute;inset:0;pointer-events:none}
.nv-burst i{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:#fff;
  box-shadow:0 0 6px 2px var(--glow);transform:rotate(var(--a)) translateY(0);animation:nv-burst .8s cubic-bezier(.2,.8,.3,1) forwards}
.nv-burst i:nth-child(even){width:3px;height:3px;margin:-1.5px}
@keyframes nv-burst{to{transform:rotate(var(--a)) translateY(calc(var(--d) * -1)) scale(.2);opacity:0}}
.nv-ripple{position:absolute;inset:0;border-radius:inherit;border:2px solid var(--glow);pointer-events:none;animation:nv-ripple .7s ease-out forwards}
@keyframes nv-ripple{from{transform:scale(1);opacity:.9}to{transform:scale(2.3);opacity:0}}
.nv-tip{position:absolute;top:calc(100% + 10px);left:50%;z-index:60;padding:4px 9px;border-radius:7px;white-space:nowrap;pointer-events:none;
  background:#0f1c33;color:#fff;font:12px/1.2 CrosswordDeparture,ui-monospace,monospace;letter-spacing:.06em;
  box-shadow:0 0 12px var(--glow);animation:nv-tip 1.7s ease forwards}
@keyframes nv-tip{0%{opacity:0;transform:translate(-50%,-4px)}15%,70%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-4px)}}
@media(prefers-reduced-motion:reduce){
  .nv-rotator *,.nv-rotator::before,.nv-rotator::after,.nv-theme *{animation-duration:.01ms!important;animation-iteration-count:1!important}
  .nv-pill{transition:none}}
/* v2: blend the rotator into the page background (no card) */
.nv-rotator{background:transparent;box-shadow:none;border-radius:0;padding:4px 0;overflow:visible}
.nv-rotator::before,.nv-rotator::after{display:none}
.nv-grid{justify-content:start}
.nv-chain{text-align:left;padding-left:2px;color:#8a97a8}
.nv-pre{color:#3a3f47}
.nv-kw{color:#1f5fc4}
.nv-pill{background:#fff;border:1px solid #e2e7ee;box-shadow:0 1px 2px rgba(15,30,60,.06),0 6px 16px rgba(15,30,60,.07)}
.nv-word{color:#15181d}
.nv-spark{background:#ffe58a;box-shadow:0 0 6px 2px #ffe89acc,0 0 12px 4px #ffd86a66}
@media(max-width:767px){.nv-rotator{padding:2px 0}}
/* v3: Lifto rebrand */
.research-cover-brand img{filter:drop-shadow(0 1px 3px #0004)!important}
.neurolov-intro .intro-copy>img,.neurolov-footer img{filter:drop-shadow(0 6px 14px #2f7fe033)}
.footer-line nav{flex-wrap:wrap;justify-content:center}
.lf-team-link{opacity:.75}
.lf-article-body{font-family:PPNeueMontreal,system-ui,sans-serif;font-size:19px;line-height:1.7;color:#16191e}
.lf-article-body h2{font-size:28px;font-weight:500;letter-spacing:-.5px;margin:40px 0 12px;color:#0e1116}
.lf-article-body h3{font-size:22px;font-weight:500;margin:28px 0 8px}
.lf-article-body p{margin:0 0 18px}
.lf-article-body ul,.lf-article-body ol{padding-left:24px;margin:0 0 20px;list-style:revert}
.lf-article-body li{margin:0 0 8px}
.lf-article-body blockquote{margin:26px 0;padding:4px 0 4px 20px;border-left:4px solid #0b57c9;font-family:EBGaramond,Georgia,serif;font-size:25px;line-height:1.4}
.lf-article-body blockquote p{margin:0}
.lf-article-body a{color:#0b57c9;text-decoration:underline}
.footer-line{color:#5b6573}.footer-line a{color:#3a414c}.footer-line a:hover{color:#0b57c9}.lf-team-link{opacity:1}
/* v4: make "Meet" readable over clouds (same white as "Lifto", with a soft blue outline glow) */
.neurolov-wordmark>span{color:#f9fbff;text-shadow:0 1px 1px #1d4f8a80,0 2px 6px #1d4f8a73,0 8px 22px #1d4f8a66;font-weight:400;letter-spacing:.5px}
.neurolov-wordmark h1{text-shadow:0 3px 1px #fff4,0 2px 6px #1d4f8a40,0 15px 30px #24508340}
/* v5: animated footer logo */
.neurolov-footer>a:first-child{width:124px;height:124px;margin:0 auto 26px}
.neurolov-footer picture{display:block;width:100%;height:100%}
.neurolov-footer img.lf-anim-logo{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 22px #2f7fe040)}
@media(max-width:767px){.neurolov-footer>a:first-child{width:100px;height:100px}}

/* ===== v7: Ship Fund section, in the same quiet style as "How it works" ===== */
.lf-fund{padding:40px 24px 130px;background:#fff}
.lf-fund .section-heading{max-width:1052px;margin:0 auto;font-family:PortfolioNeoris,Arial,sans-serif}
.lf-fund-amt{margin:0 0 6px;font-family:PortfolioNeoris,PPNeueMontreal,Arial,sans-serif;font-weight:400;font-size:clamp(76px,10vw,128px);line-height:1;letter-spacing:-4px;
  background:linear-gradient(180deg,#333 30%,#2f7fe0 120%);-webkit-background-clip:text;background-clip:text;color:transparent}
.lf-fund .section-heading h2{margin-top:6px}
.lf-fund .section-subtitle{margin:18px 0 0;font-size:24px;color:#999;letter-spacing:-.4px}
.lf-fund-strip{max-width:1050px;margin:64px auto 0;padding-top:25px;border-top:1px solid #e6e6e6;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}
.lf-fund-label,.lf-fund-note{font:13px CrosswordDeparture,LiftoMono,ui-monospace,monospace;color:#999;letter-spacing:.04em}
.lf-fund-note{text-align:right}
.lf-fund-weeks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(12,1fr);gap:8px}
.lf-fund-weeks li{height:38px;border-radius:8px;border:1px solid #e6e6e6;display:grid;place-items:center;font:12px CrosswordDeparture,LiftoMono,ui-monospace,monospace;color:#b8b8b8;background:#fff;
  transition:background .5s ease,border-color .5s ease,color .5s ease;transition-delay:calc(var(--i) * 110ms)}
.lf-fund.on .lf-fund-weeks li{background:linear-gradient(180deg,#eaf4ff,#d3e8ff);border-color:#b9d8ff;color:#2f6fd6}
.lf-fund-cta-row{display:flex;justify-content:center;margin-top:44px}
@media(max-width:900px){
  .lf-fund{padding:24px 20px 90px}
  .lf-fund .section-subtitle{font-size:19px}
  .lf-fund-strip{grid-template-columns:1fr;gap:14px;margin-top:44px;max-width:420px}
  .lf-fund-note{text-align:left}
  .lf-fund-weeks{grid-template-columns:repeat(6,1fr)}
}
@media (prefers-reduced-motion:reduce){.lf-fund-weeks li{transition:none}}
