/* ==========================================================================
   landing-intro.css: the landing page's full-screen intro (landing-intro.js).
   Uses landing.css for the Start Free Now button (.btn .btn--solid) and its
   fonts (Libre Baskerville, DM Sans). Kept out of the Dash app (assets_ignore).
   ========================================================================== */
html.li-open{overflow:hidden}
/* Pre-paint cover (set in landing.html <head>); lifted by landing-intro.js, or by itself after 4s if the script never runs */
html.li-pending::after{content:'';position:fixed;inset:0;z-index:9999;background:#050505;animation:li-uncover 0s 4s forwards}
@keyframes li-uncover{to{visibility:hidden}}
.li{position:fixed;inset:0;z-index:10000;background:#050505;opacity:0;transition:opacity .5s ease}
.li.show{opacity:1}
.li.out{opacity:0;transition:opacity .45s ease}
.li-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}

.li-trend{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;transition:opacity .6s}
.li-trend path{fill:none;stroke:#DAA520;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;
  filter:drop-shadow(0 0 6px rgba(218,165,32,.8))}
.li-trend.on path{transition:stroke-dashoffset 1.4s ease-in-out;stroke-dashoffset:0}
.li-trend polygon{fill:#DAA520;opacity:0;transition:opacity .3s 1.3s}
.li-trend.on polygon{opacity:1}
.li-trend.off{opacity:0}

.li-logo{position:absolute;border-radius:22%;overflow:hidden;opacity:0;transform:scale(.94);transition:opacity 1s ease,transform 1.2s cubic-bezier(.2,.8,.2,1);
  box-shadow:0 0 0 1px rgba(255,255,255,.08),0 30px 80px rgba(0,0,0,.6),0 0 100px rgba(41,176,227,.28)}
.li-logo.on{opacity:1;transform:none}
.li-logo img{display:block;width:100%;height:100%}

.li-cap{position:absolute;left:0;right:0;top:60%;text-align:center;padding:0 20px;opacity:0;transform:translateY(16px);transition:opacity .9s,transform .9s}
.li.ready .li-cap{opacity:1;transform:none}
.li-name{font:700 clamp(28px,4vw,46px)/1.15 'Libre Baskerville',serif;color:#FFFFF0;margin-bottom:10px}
.li-line{font:500 clamp(15px,1.7vw,20px)/1.4 'DM Sans',sans-serif;color:rgba(255,255,240,.75);margin-bottom:26px}
.li-row{display:flex;gap:18px;justify-content:center;align-items:center;flex-wrap:wrap}
.li-see{background:none;border:none;cursor:pointer;font:600 15px 'DM Sans',sans-serif;color:rgba(255,255,240,.75);text-decoration:underline;text-underline-offset:3px}
.li-see:hover{color:#FFFFF0}
.li-skip{position:absolute;top:18px;right:22px;background:none;border:none;cursor:pointer;font:500 13px 'DM Sans',sans-serif;color:rgba(255,255,240,.5);transition:opacity .4s}
.li-skip:hover{color:rgba(255,255,240,.9)}
.li.ready .li-skip{opacity:0;pointer-events:none}
.li-see:focus-visible,.li-skip:focus-visible{outline:2px solid #DAA520;outline-offset:3px}
