/* Nova Friend - "Colourful" website style (Settings > Branding > Website style).
   Loaded after app.css on the public website only (never the admin panel or lender portal).
   --g1/--g2 (gradient) and --g3 (highlight) come from admin settings; --p/--a keep their meaning.
   Motion is opt-in: keyframe animations and reveal effects only run under html.anim, which app.js sets when the admin
   switch is on AND the visitor has not asked for reduced motion. Without JavaScript everything is visible. */

html.theme-vibrant{
  --ink:#141433;--ink-2:#3b3b5c;--muted:#6b6b8a;--line:#e8e6f6;--line-2:#f0eefa;
  --bg:#f7f6fd;--card:#ffffff;--surface-2:#f6f4ff;
  --r:20px;--r-sm:12px;
  --shadow:0 1px 2px rgba(30,27,75,.05),0 12px 30px -16px rgba(79,70,229,.28);
  --shadow-lg:0 2px 6px rgba(30,27,75,.06),0 30px 60px -24px rgba(79,70,229,.40);
  --grad:linear-gradient(135deg,var(--g1),var(--g2));
  --grad-soft:linear-gradient(135deg,rgba(99,102,241,.10),rgba(192,38,211,.10));
  --ease:cubic-bezier(.2,.75,.2,1);
}
@supports (color:color-mix(in srgb,red 50%,blue)){
  html.theme-vibrant{--grad-soft:linear-gradient(135deg,color-mix(in srgb,var(--g1) 11%,transparent),color-mix(in srgb,var(--g2) 11%,transparent))}
}
.theme-vibrant body{background:var(--bg)}
.theme-vibrant ::selection{background:color-mix(in srgb,var(--g2) 25%,#fff);color:var(--ink)}

/* ------------------------------------------------------------------ ambient background + scroll progress */
.bg-orbs{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.bg-orbs i{position:absolute;display:block;width:46vmax;height:46vmax;border-radius:50%;opacity:.55}
.bg-orbs i:nth-child(1){left:-14vmax;top:-12vmax;background:radial-gradient(closest-side,color-mix(in srgb,var(--g1) 30%,transparent),transparent)}
.bg-orbs i:nth-child(2){right:-16vmax;top:18vh;background:radial-gradient(closest-side,color-mix(in srgb,var(--g2) 24%,transparent),transparent)}
.bg-orbs i:nth-child(3){left:20vw;bottom:-22vmax;background:radial-gradient(closest-side,color-mix(in srgb,var(--g3) 22%,transparent),transparent)}
.page-bg .bg-orbs{opacity:.45}
.theme-vibrant header.top,.theme-vibrant main,.theme-vibrant footer.site,.theme-vibrant .demo-strip,.theme-vibrant .cobrand{position:relative;z-index:1}
.theme-vibrant header.top{position:sticky;z-index:30}
.scroll-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:60;pointer-events:none}
.scroll-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--g3),var(--g1),var(--g2));transform-origin:0 50%;transform:scaleX(var(--sp,0))}

/* ------------------------------------------------------------------ typography */
.theme-vibrant h1,.theme-vibrant h2{letter-spacing:-.02em}
.theme-vibrant .eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 13px;border-radius:999px;background:var(--grad-soft);color:var(--g1);border:1px solid color-mix(in srgb,var(--g1) 18%,transparent);letter-spacing:.1em}
.theme-vibrant a{color:var(--g1)}.theme-vibrant a:hover{color:var(--g2)}

/* ------------------------------------------------------------------ header */
.theme-vibrant header.top{background:rgba(255,255,255,.72);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid rgba(99,102,241,.10);transition:box-shadow .3s var(--ease),background .3s}
.theme-vibrant header.top.scrolled{background:rgba(255,255,255,.9);box-shadow:0 10px 30px -18px rgba(30,27,75,.35)}
.theme-vibrant .brand .logo{background:var(--grad);box-shadow:0 8px 18px -8px color-mix(in srgb,var(--g2) 70%,transparent);position:relative;overflow:hidden}
.theme-vibrant .brand .logo::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%)}
.theme-vibrant .brand:hover .logo::after{transform:translateX(120%);transition:transform .8s var(--ease)}
.theme-vibrant nav.main a:not(.btn){position:relative;color:var(--ink-2)}
.theme-vibrant nav.main a:not(.btn)::after{content:"";position:absolute;left:13px;right:13px;bottom:4px;height:2px;border-radius:2px;background:var(--grad);transform:scaleX(0);transform-origin:0 50%;transition:transform .3s var(--ease)}
.theme-vibrant nav.main a:not(.btn):hover,.theme-vibrant nav.main a.active{background:var(--grad-soft);color:var(--g1)}
.theme-vibrant nav.main a:not(.btn):hover::after,.theme-vibrant nav.main a.active::after{transform:scaleX(1)}
.theme-vibrant .menu-btn{border-color:var(--line);color:var(--g1)}

/* ------------------------------------------------------------------ buttons */
.theme-vibrant .btn{position:relative;overflow:hidden;isolation:isolate;border:1px solid transparent;background:var(--grad);color:#fff;border-radius:14px;box-shadow:0 12px 24px -14px color-mix(in srgb,var(--g1) 85%,transparent);transition:transform .25s var(--ease),box-shadow .25s var(--ease),filter .25s}
.theme-vibrant .btn::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,transparent 25%,rgba(255,255,255,.38) 50%,transparent 75%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.theme-vibrant .btn:hover{transform:translateY(-2px);box-shadow:0 18px 32px -14px color-mix(in srgb,var(--g2) 80%,transparent);color:#fff}
.theme-vibrant .btn:hover::before{transform:translateX(120%)}
.theme-vibrant .btn:active{transform:translateY(0) scale(.98)}
.theme-vibrant .btn.accent{background:linear-gradient(135deg,var(--a),#f97316);color:#1f1300;box-shadow:0 12px 26px -12px rgba(249,115,22,.65)}
.theme-vibrant .btn.accent:hover{color:#1f1300;box-shadow:0 20px 34px -12px rgba(249,115,22,.7)}
.theme-vibrant .btn.secondary{background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box;border:1.5px solid transparent;color:var(--g1);box-shadow:none}
.theme-vibrant .btn.secondary:hover{color:var(--g2);box-shadow:0 12px 24px -16px color-mix(in srgb,var(--g1) 70%,transparent)}
.theme-vibrant .btn.ghost{background:rgba(255,255,255,.6);border-color:var(--line);color:var(--ink);box-shadow:none}
.theme-vibrant .btn.ghost:hover{background:#fff;color:var(--g1)}
.theme-vibrant .btn.danger{background:var(--bad)}
.theme-vibrant .btn[disabled]{filter:grayscale(.3)}
.theme-vibrant .btn .ic{transition:transform .25s var(--ease)}.theme-vibrant .btn:hover .ic{transform:translateX(4px)}
.btn .ripple{position:absolute;border-radius:50%;pointer-events:none;background:rgba(255,255,255,.45);transform:scale(0);animation:ripple .6s ease-out forwards;z-index:-1}
@keyframes ripple{to{transform:scale(4);opacity:0}}

/* ------------------------------------------------------------------ cards */
.theme-vibrant .card{border:1px solid rgba(99,102,241,.10);border-radius:var(--r);box-shadow:var(--shadow);background:rgba(255,255,255,.92)}
.theme-vibrant .product-card,.theme-vibrant .stat-c,.theme-vibrant .step,.theme-vibrant .reviews .card,.theme-vibrant a.card{transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.theme-vibrant .product-card:hover,.theme-vibrant .stat-c:hover,.theme-vibrant .step:hover,.theme-vibrant .reviews .card:hover,.theme-vibrant a.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--g1) 30%,transparent)}

/* ------------------------------------------------------------------ hero */
.theme-vibrant .hero{padding:36px 0 26px}
.theme-vibrant .hero .card{--mx:70%;--my:30%;display:flex;flex-direction:column;align-items:flex-start;min-height:440px;justify-content:center;border-radius:30px;color:#fff;border:1px solid rgba(255,255,255,.08);
  background:radial-gradient(900px 420px at 0% 0%,color-mix(in srgb,var(--g1) 70%,transparent),transparent 60%),radial-gradient(700px 480px at 100% 100%,color-mix(in srgb,var(--g2) 60%,transparent),transparent 60%),linear-gradient(135deg,#1e1b4b,#2e1065 55%,#3b0764);
  box-shadow:0 40px 80px -40px rgba(46,16,101,.75),inset 0 1px 0 rgba(255,255,255,.08)}
.theme-vibrant .hero .card::before{inset:0;width:auto;aspect-ratio:auto;border-radius:0;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(255,255,255,.13),transparent 60%);z-index:1;transition:opacity .3s}
.theme-vibrant .hero .card::after{inset:0;width:auto;aspect-ratio:auto;border-radius:0;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1.4px);background-size:22px 22px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 75%);mask-image:linear-gradient(180deg,#000,transparent 75%);z-index:0}
.hero-aurora{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.hero-aurora i{position:absolute;display:block;border-radius:50%;opacity:.7}
.hero-aurora i:nth-child(1){width:380px;height:380px;left:-80px;bottom:-160px;background:radial-gradient(closest-side,color-mix(in srgb,var(--g3) 75%,transparent),transparent)}
.hero-aurora i:nth-child(2){width:460px;height:460px;right:18%;top:-220px;background:radial-gradient(closest-side,color-mix(in srgb,var(--g2) 70%,transparent),transparent)}
.hero-aurora i:nth-child(3){width:300px;height:300px;right:-80px;bottom:-120px;background:radial-gradient(closest-side,rgba(251,191,36,.45),transparent)}
.hero-copy{position:relative;z-index:2;width:100%}
.theme-vibrant .hero .card > .eyebrow,.theme-vibrant .hero .card > h1,.theme-vibrant .hero .card > p,.theme-vibrant .hero .card > .btn,.theme-vibrant .hero .card > .trust,.theme-vibrant .hero .card > form{position:relative;z-index:2}
.theme-vibrant .hero.has-visual .hero-copy{max-width:56%}
.theme-vibrant .hero h1{max-width:15ch;overflow-wrap:break-word;padding-right:.08em;font-size:clamp(2.1rem,5.2vw,3.7rem);background:linear-gradient(95deg,#fff 0%,#fff 45%,#f5d0fe 72%,#a5f3fc 100%);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%}
.theme-vibrant .hero p{color:rgba(255,255,255,.86)}
.theme-vibrant .hero.has-visual h1,html.theme-vibrant:not([lang=en]) .hero h1{max-width:none}
.theme-vibrant .hero .eyebrow{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.18);color:#fde68a;backdrop-filter:blur(6px)}
.pulse-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 rgba(74,222,128,.7);flex:none}
.theme-vibrant .hero .trust span{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hero-visual{position:absolute;z-index:2;right:2%;top:50%;width:44%;max-width:500px;transform:translateY(-50%) perspective(900px) rotateX(var(--ry,0deg)) rotateY(var(--rx,0deg));transition:transform .4s var(--ease)}
.hero-visual img{display:block;width:100%;height:auto;filter:drop-shadow(0 30px 40px rgba(15,10,50,.45))}
.theme-vibrant .trust-strip{gap:12px}
.theme-vibrant .trust-strip span{background:rgba(255,255,255,.8);border:1px solid var(--line);padding:8px 14px;border-radius:999px;box-shadow:var(--shadow);color:var(--ink-2)}
.theme-vibrant .trust-strip span::before{color:#16a34a}
@media (max-width:860px){
  .theme-vibrant .hero .card{min-height:0;border-radius:24px}
  .theme-vibrant .hero.has-visual .hero-copy{max-width:none}
  .hero-visual{position:relative;right:auto;top:auto;width:100%;max-width:330px;margin:4px auto -18px;transform:none;order:2;align-self:center}
}

/* ------------------------------------------------------------------ stats */
.theme-vibrant .stats{gap:16px}
.theme-vibrant .stats .card{padding:22px 16px;position:relative;overflow:hidden}
.theme-vibrant .stats .card::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:var(--sg,var(--grad));opacity:.10}
.stat-ic{display:block;margin:0 auto 8px;width:42px;height:42px;padding:9px;border-radius:14px;color:#fff;background:var(--sg,var(--grad));box-shadow:0 10px 20px -10px rgba(30,27,75,.5)}
.theme-vibrant .stats .n{font-family:var(--display);font-size:2.2rem;background:var(--sg,var(--grad));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat-c.c1{--sg:linear-gradient(135deg,var(--g1),#8b5cf6)}.stat-c.c2{--sg:linear-gradient(135deg,var(--g2),#ec4899)}
.stat-c.c3{--sg:linear-gradient(135deg,var(--g3),#14b8a6)}.stat-c.c4{--sg:linear-gradient(135deg,#f59e0b,#f97316)}

/* ------------------------------------------------------------------ how it works */
.theme-vibrant .steps{position:relative}
.theme-vibrant .step{padding-top:26px;overflow:hidden}
.theme-vibrant .step::before{left:auto;right:18px;top:10px;font-size:3.6rem;opacity:.12;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.theme-vibrant .step .num{display:none}
.step-ic{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:18px;color:#fff;background:var(--grad);box-shadow:0 14px 24px -12px color-mix(in srgb,var(--g1) 80%,transparent);transition:transform .4s var(--ease)}
.step.s2 .step-ic{background:linear-gradient(135deg,var(--g3),#14b8a6)}.step.s3 .step-ic{background:linear-gradient(135deg,#f59e0b,var(--g2))}
.theme-vibrant .step h3{margin-top:18px}
.theme-vibrant .step:hover .step-ic{transform:rotate(-8deg) scale(1.06)}
@media (min-width:900px){
  .theme-vibrant .steps.g3 .step:not(:last-child)::after{content:"";position:absolute;right:-13px;top:52px;width:26px;height:26px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center/14px no-repeat;box-shadow:var(--shadow);z-index:2}
  .theme-vibrant .steps.g3{overflow:visible}.theme-vibrant .steps.g3 .step{overflow:visible}
}

/* ------------------------------------------------------------------ products */
.theme-vibrant .product-card{position:relative;overflow:hidden;padding-top:28px}
.theme-vibrant .product-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--pg,var(--grad))}
.prod-ic{display:inline-grid;place-items:center;width:50px;height:50px;border-radius:16px;margin-bottom:12px;color:#fff;background:var(--pg,var(--grad));box-shadow:0 12px 22px -12px rgba(30,27,75,.55);transition:transform .4s var(--ease)}
.product-card:hover .prod-ic{transform:translateY(-3px) rotate(6deg)}
.product-card.pc1{--pg:linear-gradient(135deg,var(--g1),#8b5cf6)}.product-card.pc2{--pg:linear-gradient(135deg,var(--g2),#ec4899)}
.product-card.pc3{--pg:linear-gradient(135deg,var(--g3),#14b8a6)}.product-card.pc4{--pg:linear-gradient(135deg,#f59e0b,#f97316)}
.theme-vibrant .kv dd{color:var(--ink)}

/* ------------------------------------------------------------------ EMI calculator */
.theme-vibrant #emi{position:relative;overflow:hidden}
.theme-vibrant .emi input[type=range]{accent-color:var(--g1)}
.theme-vibrant .emi .out{position:relative;overflow:hidden;border-radius:20px;background:radial-gradient(360px 200px at 100% 0%,color-mix(in srgb,var(--g2) 55%,transparent),transparent 70%),linear-gradient(135deg,#1e1b4b,#312e81);box-shadow:0 24px 44px -24px rgba(49,46,129,.8)}
.theme-vibrant .emi .out .big{background:linear-gradient(90deg,#fff,#f5d0fe);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:2.4rem}

/* ------------------------------------------------------------------ CTA band, text block, FAQ, reviews */
.theme-vibrant .hb-cta{position:relative;overflow:hidden;border-radius:26px;padding:34px 36px}
.theme-vibrant .hb-cta.tone-brand{background:linear-gradient(120deg,var(--g1),var(--g2),var(--g1));background-size:220% 100%;color:#fff}
.theme-vibrant .hb-cta.tone-brand .btn.accent{box-shadow:0 14px 26px -12px rgba(0,0,0,.45)}
.theme-vibrant .hb-cta.tone-accent{background:linear-gradient(120deg,#fde68a,#fb923c)}
.theme-vibrant .hb-cta.tone-light{background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box;border:1.5px solid transparent}
.theme-vibrant .hb-cta::after{content:"";position:absolute;right:-60px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.25),transparent);pointer-events:none}
.theme-vibrant .hb-cta > *{position:relative;z-index:1}
.theme-vibrant details{border-bottom:1px solid var(--line-2)}
.theme-vibrant details summary{list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;transition:color .2s}
.theme-vibrant details summary::-webkit-details-marker{display:none}
.theme-vibrant details summary::after{content:"+";flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--grad-soft);color:var(--g1);font-weight:800;transition:transform .3s var(--ease)}
.theme-vibrant details[open] summary::after{transform:rotate(45deg)}
.theme-vibrant details summary:hover{color:var(--g1)}
.theme-vibrant .stars{color:#f59e0b}
.theme-vibrant .disclosure{border-radius:14px}

/* ------------------------------------------------------------------ forms, wizard, dashboard pieces */
.theme-vibrant input:focus,.theme-vibrant select:focus,.theme-vibrant textarea:focus{border-color:var(--g1);box-shadow:0 0 0 4px color-mix(in srgb,var(--g1) 16%,transparent)}
.theme-vibrant input[type=checkbox],.theme-vibrant input[type=radio],.theme-vibrant input[type=range]{accent-color:var(--g1)}
.theme-vibrant .wizard span{border-radius:12px;transition:background .3s}
.theme-vibrant .wizard span.on{background:var(--grad);border-color:transparent;box-shadow:0 10px 20px -12px color-mix(in srgb,var(--g1) 80%,transparent)}
.theme-vibrant .progress{background:var(--line-2)}.theme-vibrant .progress i{background:linear-gradient(90deg,var(--g3),var(--g1),var(--g2))}
.theme-vibrant .timeline li::before{background:var(--grad)}
.theme-vibrant .msg.me{background:var(--grad);border-color:transparent}
.theme-vibrant table.t tbody tr:hover{background:var(--surface-2)}
.theme-vibrant .badge.info{background:var(--grad-soft);color:var(--g1)}

/* ------------------------------------------------------------------ footer */
.theme-vibrant footer.site{margin-top:80px;border-top:0;color:#c7c5e6;background:radial-gradient(600px 260px at 10% 0%,color-mix(in srgb,var(--g1) 35%,transparent),transparent 70%),radial-gradient(600px 300px at 100% 100%,color-mix(in srgb,var(--g2) 30%,transparent),transparent 70%),#110f2e}
.theme-vibrant footer.site::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--g3),var(--g1),var(--g2))}
.theme-vibrant footer.site h4{color:#fff}
.theme-vibrant footer.site a{color:#d9d7f5}.theme-vibrant footer.site a:hover{color:#fff}
.theme-vibrant footer.site .disclosure{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#e9e7ff}

/* ------------------------------------------------------------------ motion (only under html.anim) */
.anim .rv{opacity:0;transform:translateY(26px) scale(.985);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0ms)}
.anim .rv.in{opacity:1;transform:none}
.anim .hero-copy > *{animation:heroIn .9s var(--ease) both}
.anim .hero-copy > :nth-child(2){animation-delay:.08s}.anim .hero-copy > :nth-child(3){animation-delay:.16s}.anim .hero-copy > :nth-child(4){animation-delay:.24s}.anim .hero-copy > :nth-child(5){animation-delay:.32s}
.anim .hero-visual img{animation:floatY 7s ease-in-out infinite,popIn 1.1s var(--ease) both}
.anim .hero h1{animation:heroIn .9s var(--ease) .08s both,shimmer 9s ease-in-out 1.2s infinite}
.anim .hero-aurora i:nth-child(1){animation:drift1 16s ease-in-out infinite}
.anim .hero-aurora i:nth-child(2){animation:drift2 19s ease-in-out infinite}
.anim .hero-aurora i:nth-child(3){animation:drift1 22s ease-in-out -6s infinite reverse}
.anim .bg-orbs i:nth-child(1){animation:drift2 30s ease-in-out infinite}
.anim .bg-orbs i:nth-child(2){animation:drift1 36s ease-in-out infinite}
.anim .bg-orbs i:nth-child(3){animation:drift2 42s ease-in-out -10s infinite}
.anim .pulse-dot{animation:pulse 2s ease-out infinite}
.anim .hb-cta.tone-brand{animation:bandShift 12s ease-in-out infinite}
.anim .stat-ic{animation:bob 5s ease-in-out infinite}
.anim .stat-c.c2 .stat-ic{animation-delay:-1.2s}.anim .stat-c.c3 .stat-ic{animation-delay:-2.4s}.anim .stat-c.c4 .stat-ic{animation-delay:-3.6s}
@keyframes heroIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes popIn{from{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:none}}
@keyframes floatY{0%,100%{translate:0 0}50%{translate:0 -14px}}
@keyframes shimmer{0%,100%{background-position:0% 0}50%{background-position:100% 0}}
@keyframes drift1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(60px,-40px) scale(1.12)}}
@keyframes drift2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-50px,50px) scale(1.08)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.7)}80%,100%{box-shadow:0 0 0 10px rgba(74,222,128,0)}}
@keyframes bandShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

@media (prefers-reduced-motion:reduce){
  .theme-vibrant *,.theme-vibrant *::before,.theme-vibrant *::after{animation:none!important;transition:none!important}
  .anim .rv{opacity:1;transform:none}
  .hero-visual{transform:translateY(-50%)}
}
@media (max-width:860px) and (prefers-reduced-motion:reduce){.hero-visual{transform:none}}
@media print{.bg-orbs,.scroll-progress,.hero-aurora,.hero-visual{display:none}}
