.pwa-install-button{position:fixed;left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));z-index:130;display:flex;align-items:center;gap:9px;min-height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(247,248,244,.92);color:#21483a;box-shadow:0 12px 34px rgba(23,63,53,.16);backdrop-filter:blur(12px);font:600 10px system-ui,-apple-system,sans-serif;letter-spacing:.2px;cursor:pointer;animation:pwa-in .35s ease both}.pwa-install-button svg{width:16px;height:16px;fill:none;stroke:#617c58;stroke-width:1.7}.pwa-install-button:hover{transform:translateY(-1px);background:#fff}.pwa-install-button[hidden]{display:none!important}
.pwa-sheet-backdrop{position:fixed;inset:0;z-index:160;display:grid;place-items:end center;padding:18px;background:rgba(27,39,34,.42);backdrop-filter:blur(8px)}.pwa-sheet{width:min(100%,480px);padding:24px;border:1px solid rgba(255,255,255,.75);border-radius:22px;background:#fbfcf8;box-shadow:0 30px 80px rgba(20,48,37,.26)}.pwa-sheet .eyebrow{margin:0;color:#7e9474;font-size:9px;letter-spacing:1.8px}.pwa-sheet h2{margin:8px 0 8px;color:#21483a;font:500 24px Georgia,serif}.pwa-sheet p{margin:0;color:#77857b;font-size:12px;line-height:1.7}.pwa-sheet ol{margin:18px 0;padding-left:20px;color:#41584b;font-size:12px;line-height:1.9}.pwa-sheet button{width:100%;border:0;border-radius:10px;padding:12px;background:#173f35;color:#fff;font:600 11px system-ui;cursor:pointer}
@keyframes pwa-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:520px){.pwa-install-button{left:14px;bottom:max(14px,env(safe-area-inset-bottom));min-height:40px}.pwa-sheet-backdrop{padding:10px}.pwa-sheet{border-radius:20px}}@media(display-mode:standalone){.pwa-install-button{display:none!important}}
/* Premium startup experience for installed NUVORA PWA · V2 */
html.pwa-splash-active{background:#123F33}
html.pwa-splash-active body{overflow:hidden}
html.pwa-splash-active:not(.pwa-splash-mounted) body>*:not(script){visibility:hidden}
html.pwa-splash-active .nuvora-splash{visibility:visible}
.nuvora-splash{position:fixed;inset:0;z-index:100000;overflow:hidden;background:linear-gradient(155deg,#092e27 0%,#123f33 50%,#0d342c 100%);opacity:1;visibility:visible;transition:opacity .48s ease,visibility .48s ease}
.nuvora-splash::before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 50% 43%,rgba(210,170,91,.12),transparent 16%),radial-gradient(circle at 82% 19%,rgba(148,168,135,.075),transparent 23%),radial-gradient(circle at 17% 80%,rgba(210,170,91,.055),transparent 28%);animation:nuvora-v2-breath 4s ease-in-out infinite alternate}
.nuvora-splash.is-leaving{opacity:0;visibility:hidden}
.nuvora-splash__grain{position:absolute;inset:0;opacity:.034;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.nuvora-splash__glow{position:absolute;left:50%;top:44%;width:min(58vw,290px);height:min(58vw,290px);border-radius:50%;transform:translate(-50%,-50%) scale(.55);background:radial-gradient(circle,rgba(240,216,158,.15),transparent 68%);filter:blur(11px);opacity:0}
.nuvora-splash__ring{position:absolute;left:50%;top:44%;border:1px solid rgba(240,216,158,.10);border-radius:50%;opacity:0;will-change:transform,opacity}
.nuvora-splash__ring--one{width:min(52vw,235px);height:min(52vw,235px)}
.nuvora-splash__ring--two{width:min(73vw,330px);height:min(73vw,330px);border-color:rgba(255,255,255,.065)}
.nuvora-splash__ring--three{width:min(94vw,425px);height:min(94vw,425px);border-color:rgba(210,170,91,.055)}
.nuvora-splash__beam{position:absolute;top:-10%;left:-65%;width:48%;height:125%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,241,203,.025),rgba(255,243,209,.21),rgba(255,241,203,.04),transparent);filter:blur(9px);opacity:0}
.nuvora-splash__dots i{position:absolute;width:2.5px;height:2.5px;border-radius:50%;background:#f0d89e;box-shadow:0 0 13px rgba(240,216,158,.58);opacity:0}
.nuvora-splash__dots i:nth-child(1){left:24%;top:27%}.nuvora-splash__dots i:nth-child(2){left:72%;top:31%}.nuvora-splash__dots i:nth-child(3){left:18%;top:55%}.nuvora-splash__dots i:nth-child(4){left:80%;top:58%}.nuvora-splash__dots i:nth-child(5){left:36%;top:69%}.nuvora-splash__dots i:nth-child(6){left:65%;top:72%}
.nuvora-splash__lockup{position:absolute;left:50%;top:44%;width:min(84vw,430px);transform:translate(-50%,-50%);display:grid;justify-items:center;text-align:center}
.nuvora-splash__symbol{position:relative;width:min(28vw,122px);opacity:0;transform:scale(.72) translateY(10px);filter:blur(7px)}
.nuvora-splash__symbol img{display:block;width:100%;height:auto}
.nuvora-splash__symbol span{position:absolute;right:3%;top:-2%;width:34%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(240,216,158,.5) 0%,rgba(210,170,91,.16) 35%,transparent 72%);filter:blur(5px);opacity:0}
.nuvora-splash__wordmark{position:relative;margin-top:18px;color:#f7f2e8;font:400 clamp(48px,13vw,70px)/.95 Georgia,"Times New Roman",serif;letter-spacing:-2.8px;opacity:0;transform:translateY(11px);filter:blur(6px)}
.nuvora-splash__wordmark i{position:absolute;left:50%;bottom:-11px;width:76px;height:2.4px;border-radius:2px;background:#d2aa5b;transform:translateX(-50%);box-shadow:0 0 12px rgba(210,170,91,.18)}
.nuvora-splash__tagline{margin-top:24px;color:rgba(247,242,232,.47);font:600 7px/1 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.27em;opacity:0;transform:translateY(5px)}
.nuvora-splash__microcopy{position:absolute;bottom:max(46px,calc(env(safe-area-inset-bottom) + 24px));left:0;right:0;margin:0;text-align:center;color:rgba(247,242,232,.35);font:600 7px/1 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.24em;opacity:0}
.nuvora-splash__bloom{position:absolute;z-index:20;left:50%;top:44%;width:24px;height:24px;border-radius:50%;transform:translate(-50%,-50%) scale(0);background:#faf8f3;box-shadow:0 0 110px 35px rgba(250,248,243,.38);opacity:0;pointer-events:none}
.nuvora-splash.is-running .nuvora-splash__glow{animation:nuvora-v2-glow 2.8s .12s cubic-bezier(.2,.75,.2,1) both}
.nuvora-splash.is-running .nuvora-splash__ring--one{animation:nuvora-v2-ring1 2.4s .25s ease-out both}
.nuvora-splash.is-running .nuvora-splash__ring--two{animation:nuvora-v2-ring2 2.8s .36s ease-out both}
.nuvora-splash.is-running .nuvora-splash__ring--three{animation:nuvora-v2-ring3 3s .45s ease-out both}
.nuvora-splash.is-running .nuvora-splash__dots i{animation:nuvora-v2-dot 1.7s var(--nuvora-dot-delay) ease-out both}
.nuvora-splash.is-running .nuvora-splash__dots i:nth-child(1){--nuvora-dot-delay:.38s}.nuvora-splash.is-running .nuvora-splash__dots i:nth-child(2){--nuvora-dot-delay:.52s}.nuvora-splash.is-running .nuvora-splash__dots i:nth-child(3){--nuvora-dot-delay:.63s}.nuvora-splash.is-running .nuvora-splash__dots i:nth-child(4){--nuvora-dot-delay:.45s}.nuvora-splash.is-running .nuvora-splash__dots i:nth-child(5){--nuvora-dot-delay:.72s}.nuvora-splash.is-running .nuvora-splash__dots i:nth-child(6){--nuvora-dot-delay:.58s}
.nuvora-splash.is-running .nuvora-splash__symbol{animation:nuvora-v2-symbol 1.12s .62s cubic-bezier(.16,.84,.28,1) both}
.nuvora-splash.is-running .nuvora-splash__symbol span{animation:nuvora-v2-flare .6s 1.05s ease-out both}
.nuvora-splash.is-running .nuvora-splash__wordmark{animation:nuvora-v2-name .84s 1.42s cubic-bezier(.16,.84,.28,1) forwards}
.nuvora-splash.is-running .nuvora-splash__tagline{animation:nuvora-v2-caption .5s 1.82s ease forwards}
.nuvora-splash.is-running .nuvora-splash__beam{animation:nuvora-v2-beam .88s 1.43s ease-out forwards}
.nuvora-splash.is-running .nuvora-splash__microcopy{animation:nuvora-v2-micro .5s 2.05s ease forwards}
.nuvora-splash.is-running .nuvora-splash__bloom{animation:nuvora-v2-bloom 1.25s 2.66s cubic-bezier(.58,.02,.23,1) forwards}
@keyframes nuvora-v2-breath{to{transform:scale(1.04) translate(3px,-4px)}}
@keyframes nuvora-v2-glow{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}45%{opacity:1}100%{opacity:.62;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes nuvora-v2-ring1{0%{opacity:0;transform:translate(-50%,-50%) scale(.78) rotate(0)}100%{opacity:.8;transform:translate(-50%,-50%) scale(1) rotate(28deg)}}
@keyframes nuvora-v2-ring2{0%{opacity:0;transform:translate(-50%,-50%) scale(.82)}100%{opacity:.58;transform:translate(-50%,-50%) scale(1) rotate(-23deg)}}
@keyframes nuvora-v2-ring3{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}100%{opacity:.42;transform:translate(-50%,-50%) scale(1.02) rotate(14deg)}}
@keyframes nuvora-v2-dot{0%{opacity:0;transform:scale(.25)}38%{opacity:1}100%{opacity:0;transform:translateY(-13px) scale(1.6)}}
@keyframes nuvora-v2-symbol{0%{opacity:0;transform:scale(.72) translateY(11px);filter:blur(8px)}62%{opacity:1}100%{opacity:1;transform:scale(1);filter:blur(0)}}
@keyframes nuvora-v2-flare{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.45)}100%{opacity:.38;transform:scale(.8)}}
@keyframes nuvora-v2-name{to{opacity:1;transform:none;filter:blur(0)}}
@keyframes nuvora-v2-caption{to{opacity:1;transform:none}}
@keyframes nuvora-v2-beam{0%{left:-65%;opacity:0}18%{opacity:1}100%{left:132%;opacity:0}}
@keyframes nuvora-v2-micro{to{opacity:1}}
@keyframes nuvora-v2-bloom{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}18%{opacity:1}100%{opacity:1;transform:translate(-50%,-50%) scale(42)}}
@media(max-width:520px){.nuvora-splash__lockup{top:43.5%;width:88vw}.nuvora-splash__symbol{width:min(31vw,118px)}.nuvora-splash__wordmark{font-size:clamp(48px,15vw,62px)}.nuvora-splash__microcopy{bottom:max(38px,calc(env(safe-area-inset-bottom) + 18px));font-size:6.5px;letter-spacing:.2em}}
@media(prefers-reduced-motion:reduce){.nuvora-splash,.nuvora-splash::before,.nuvora-splash *{animation:none!important;transition:none!important}.nuvora-splash__glow{opacity:.45;transform:translate(-50%,-50%) scale(1)}.nuvora-splash__ring{opacity:.35;transform:translate(-50%,-50%)}.nuvora-splash__symbol,.nuvora-splash__wordmark,.nuvora-splash__tagline,.nuvora-splash__microcopy{opacity:1;transform:none;filter:none}}
