/* Bajori Pro website. Fonts are local (no external requests). */
@font-face{font-family:"Roboto";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/roboto-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/roboto-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/roboto-latin-700-normal.woff2") format("woff2")}

:root{
  --ink:#0F1623; --ink-2:#172033; --ink-3:#223049;
  --text:#1B2535; --muted:#586376; --line:#E1E6EE; --bg:#fff; --soft:#F4F6FA;
  --a:#4B8FDB; --b:#4ACFDD; --grad:linear-gradient(115deg,#4B8FDB 0%,#4ACFDD 100%);
  --ok:#1E8E6A; --warn:#B9770E;
  --radius:14px; --max:1160px; --gut:24px;
  --shadow:0 1px 2px rgba(15,22,35,.06),0 12px 32px -8px rgba(15,22,35,.18);
  color-scheme:light;
}
[hidden]{display:none!important}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Roboto","Segoe UI",system-ui,-apple-system,Arial,sans-serif;font-size:17px;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto;display:block}
a{color:#2A6FBF;text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.18;margin:0 0 .5em;letter-spacing:-.01em;font-weight:700;color:var(--ink)}
h1{font-size:clamp(2.1rem,5vw,3.4rem);letter-spacing:-.02em}
h2{font-size:clamp(1.65rem,3.4vw,2.35rem);letter-spacing:-.015em}
h3{font-size:1.2rem}
p{margin:0 0 1em}
ul{margin:0;padding:0;list-style:none}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.narrow{max-width:760px}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:10px 14px;z-index:100}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--b);outline-offset:2px;border-radius:6px}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(15,22,35,.96);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid rgba(255,255,255,.07)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px;gap:20px}
.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none!important}
.brand img{width:34px;height:34px}
.brand-name{font-weight:700;font-size:1.12rem;letter-spacing:.06em;text-transform:uppercase;line-height:1}
.brand-name span{color:#4ACFDD;font-size:.72em;letter-spacing:.28em;margin-left:.5em;font-weight:700}
.nav-links{display:flex;align-items:center;gap:6px}
.nav-links a{color:#C9D3E3;font-size:.95rem;font-weight:500;padding:8px 12px;border-radius:8px;text-decoration:none}
.nav-links a:hover{color:#fff;background:rgba(255,255,255,.07);text-decoration:none}
.nav-links a[aria-current="page"]{color:#fff}
.nav-cta{margin-left:8px}
.burger{display:none;background:none;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:10px;width:44px;height:44px;cursor:pointer}
.burger svg{margin:auto}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font:inherit;font-weight:500;font-size:1rem;padding:13px 22px;border-radius:11px;border:1.5px solid transparent;cursor:pointer;text-decoration:none!important;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;line-height:1.1}
.btn:hover{transform:translateY(-1px)}
.btn-grad{background:var(--grad);color:#07202B;box-shadow:0 8px 24px -8px rgba(74,207,221,.55)}
.btn-grad:hover{box-shadow:0 12px 28px -8px rgba(74,207,221,.7)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.btn-ghost:hover{background:rgba(255,255,255,.08)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--ink-3)}
.btn-line{background:#fff;color:var(--ink);border-color:#CBD3DF}
.btn-line:hover{border-color:var(--ink)}
.btn-wa{background:#1FA855;color:#fff}
.btn-wa:hover{background:#198F48}
.btn-sm{padding:9px 15px;font-size:.92rem;border-radius:9px}
.btn-lg{padding:16px 28px;font-size:1.05rem}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden;padding:72px 0 0}
.hero::before{content:"";position:absolute;inset:-20% -10% auto -10%;height:120%;background:radial-gradient(60% 55% at 78% 8%,rgba(75,143,219,.42),transparent 62%),radial-gradient(45% 45% at 12% 18%,rgba(74,207,221,.22),transparent 65%);pointer-events:none}
.hero .wrap{position:relative}
.hero h1{color:#fff;max-width:17ch}
.hero .lead{color:#B9C5D8;font-size:1.2rem;max-width:58ch;margin-bottom:28px}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#4ACFDD;margin-bottom:14px}
.on-light .eyebrow,.eyebrow.dark{color:#2A6FBF}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.trust{display:flex;flex-wrap:wrap;gap:10px 26px;margin:30px 0 0;color:#AFBCD0;font-size:.95rem}
.trust li{display:flex;align-items:center;gap:8px}
.trust svg{color:#4ACFDD;flex:none}
.hero-shot{margin-top:48px;padding-bottom:0}
.hero-shot .shot{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:0;box-shadow:0 -4px 80px -10px rgba(74,207,221,.35),0 30px 80px -20px rgba(0,0,0,.6)}
@media (min-width:1040px){
.hero{padding:32px 0 48px}
.hero h1{font-size:clamp(2rem,3.3vw,2.85rem);margin-bottom:.4em}
.hero .lead{margin-bottom:22px}
.hero .trust{margin-top:22px}
.hero-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:start}
.hero-copy{padding-top:8px}
.hero .trust{gap:6px 22px;font-size:.9rem}
.hero-shot{margin:0;width:calc(100% + (100vw - 100%)/2);max-width:none}
.hero-shot .shot{border-radius:12px 0 0 12px;border-right:0;border-bottom:1px solid rgba(15,22,35,.12)}
.hero .lead{font-size:1.05rem}
}

/* page hero (inner pages) */
.page-hero{background:var(--ink);color:#fff;padding:64px 0 56px;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:-60% -10% auto 40%;height:200%;background:radial-gradient(50% 50% at 50% 30%,rgba(75,143,219,.34),transparent 65%);pointer-events:none}
.page-hero .wrap{position:relative}
.page-hero h1{color:#fff;font-size:clamp(2rem,4.4vw,2.9rem);margin-bottom:.35em}
.page-hero p{color:#B9C5D8;font-size:1.15rem;max-width:62ch;margin:0}

/* ---------- screenshots ---------- */
.shot{background:#fff;border:1px solid rgba(15,22,35,.12);border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}
.shot-bar{display:flex;align-items:center;justify-content:space-between;padding:0 0 0 14px;height:34px;background:#EEF1F6;border-bottom:1px solid #DDE3EC}
.wc{display:flex;height:100%}
.wc i{position:relative;width:44px;height:100%;display:block}
.wc i:before,.wc i:after{content:'';position:absolute;left:50%;top:50%;box-sizing:border-box}
.wmin:before{width:10px;height:1px;background:#6B7688;margin:0 0 0 -5px}
.wmax:before{width:10px;height:10px;border:1px solid #6B7688;margin:-5px 0 0 -5px}
.wx:before,.wx:after{width:13px;height:1px;background:#6B7688;margin:0 0 0 -6px}
.wx:before{transform:rotate(45deg)}.wx:after{transform:rotate(-45deg)}
.shot-bar span{font-size:.78rem;color:#6B7688;letter-spacing:.02em}
.shot img{width:100%;aspect-ratio:8/5;object-fit:cover;object-position:top}
.shot figcaption{display:none}
figure{margin:0}

/* ---------- sections ---------- */
section{padding:88px 0}
.soft{background:var(--soft)}
.dark-sec{background:var(--ink);color:#C7D1E1}
.dark-sec h2,.dark-sec h3{color:#fff}
.sec-head{max-width:700px;margin-bottom:44px}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head p{color:var(--muted);font-size:1.1rem}
.dark-sec .sec-head p{color:#AEBBD0}
.grid{display:grid;gap:22px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.card h3{margin-bottom:.4em}
.card p{color:var(--muted);margin:0;font-size:.98rem}
.ico{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,rgba(75,143,219,.14),rgba(74,207,221,.18));display:grid;place-items:center;color:#2A6FBF;margin-bottom:16px}
.dark-sec .card{background:var(--ink-2);border-color:rgba(255,255,255,.08)}
.dark-sec .card p{color:#A9B7CC}
.dark-sec .ico{background:rgba(74,207,221,.12);color:#4ACFDD}

.split{display:grid;grid-template-columns:1fr 1.25fr;gap:56px;align-items:center}
.split.flip{grid-template-columns:1.25fr 1fr}
.split.flip .copy{order:2}
.copy h2{margin-bottom:.45em}
.copy>p{color:var(--muted);font-size:1.08rem}
.ticks{margin:22px 0 0;display:grid;gap:11px}
.ticks li{position:relative;padding-left:30px;color:var(--text)}
.ticks li::before{content:"";position:absolute;left:0;top:.28em;width:19px;height:19px;border-radius:50%;background:var(--grad);-webkit-mask:none}
.ticks li::after{content:"";position:absolute;left:6px;top:.52em;width:6px;height:10px;border:solid #07202B;border-width:0 2px 2px 0;transform:rotate(45deg) scale(.9);transform-origin:center}

/* steps */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px 26px}
.step::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--grad);color:#07202B;font-weight:700;margin-bottom:16px}
.step h3{margin-bottom:.35em}
.step p{color:var(--muted);margin:0;font-size:.98rem}

/* pricing */
.price-card{background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:36px;box-shadow:var(--shadow);max-width:520px}
.price-tag{display:flex;align-items:baseline;gap:10px;margin:6px 0 4px}
.price-tag strong{font-size:3.2rem;line-height:1;letter-spacing:-.03em;color:var(--ink)}
.price-tag span{color:var(--muted)}
.price-card .ticks{margin:22px 0 28px}
.fine{color:var(--muted);font-size:.9rem}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
table{width:100%;border-collapse:collapse;min-width:520px}
th,td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);font-size:.98rem}
th{background:var(--soft);font-weight:700;color:var(--ink);font-size:.88rem;letter-spacing:.03em;text-transform:uppercase}
tr:last-child td{border-bottom:0}
td.c,th.c{text-align:center}
.yes{color:var(--ok);font-weight:700}
.no{color:#8A93A3}

/* FAQ */
.faq{display:grid;gap:12px;max-width:820px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 20px}
.faq summary{cursor:pointer;list-style:none;font-weight:500;color:var(--ink);padding:18px 28px 18px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.5rem;color:#2A6FBF;font-weight:400}
.faq details[open] summary::after{content:"\2212"}
.faq details p{color:var(--muted);margin:0 0 18px}

/* CTA band */
.cta-band{background:var(--ink);color:#fff;border-radius:24px;padding:56px 40px;text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:-50% 20% auto 20%;height:140%;background:radial-gradient(50% 50% at 50% 40%,rgba(75,143,219,.45),transparent 65%);pointer-events:none}
.cta-band>*{position:relative}
.cta-band h2{color:#fff}
.cta-band p{color:#B9C5D8;max-width:56ch;margin:0 auto 26px;font-size:1.1rem}
.cta-band .cta-row{justify-content:center}

/* notices */
.note{background:#FFF8E8;border:1px solid #F0DDAA;border-radius:12px;padding:16px 18px;color:#5B4510;font-size:.97rem}
.note.info{background:#EEF5FD;border-color:#CFE0F5;color:#1E3B5E}
.note strong{color:inherit}
.stack{display:grid;gap:18px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:.98rem}
.kv dt{color:var(--muted)}
.kv-row{display:contents}
.kv dd{margin:0;color:var(--ink);font-weight:500;word-break:break-word}

/* legal pages */
.legal h2{font-size:1.3rem;margin-top:2em}
.legal p,.legal li{color:#2B3647}
.legal ol{padding-left:1.2em}
.legal .clause{padding:18px 0;border-bottom:1px solid var(--line)}
.legal .clause:last-child{border-bottom:0}
.legal .clause h3{font-size:1.05rem;margin-bottom:.35em}
.legal .clause p{margin:0}
.updated{color:var(--muted);font-size:.95rem}

/* footer */
.site-footer{background:var(--ink);color:#9FAEC4;padding:64px 0 28px;font-size:.96rem}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1.25fr 1.35fr 1.2fr;gap:32px}
.site-footer h4{color:#fff;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.site-footer a{color:#B5C2D6}
.site-footer a:hover{color:#fff}
.site-footer li{margin-bottom:9px}
.foot-bottom{margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.09);display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;font-size:.88rem}
.foot-brand p{max-width:34ch;margin-top:14px}
.social{display:flex;gap:10px;margin-top:18px}
.social a{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid rgba(255,255,255,.14);color:#B5C2D6;transition:background .15s,color .15s,border-color .15s,transform .15s}
.social a:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.3);transform:translateY(-2px)}
.social a:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* reveal */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.btn{transition:none}}
.no-js .reveal{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .g3,.g4{grid-template-columns:repeat(2,1fr)}
  .split,.split.flip{grid-template-columns:1fr;gap:32px}
  .split.flip .copy{order:0}
  .steps{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr 1fr}
  .foot-brand{grid-column:1/-1}
  section{padding:68px 0}
}
@media (max-width:820px){
  .burger{display:inline-grid}
  .nav-links{position:absolute;left:0;right:0;top:68px;background:var(--ink);flex-direction:column;align-items:stretch;padding:12px var(--gut) 20px;border-bottom:1px solid rgba(255,255,255,.1);display:none;gap:2px}
  .nav-links.open{display:flex}
  .nav-links a{padding:13px 10px;font-size:1.02rem}
  .nav-cta{margin:10px 0 0!important}
  .nav-cta .btn{width:100%}
}
@media (max-width:620px){
  :root{--gut:18px}
  body{font-size:16.5px}
  .g3,.g4,.g2{grid-template-columns:1fr}
  .hero{padding-top:48px}
  .hero-shot{margin-top:38px}
  .cta-band{padding:40px 22px;border-radius:18px}
  .price-card{padding:26px}
  .foot-grid{grid-template-columns:1fr}
  .cta-row .btn{width:100%}
  .shot-bar span{display:none}
}
/* breadcrumbs, related cards, hero buttons */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.86rem;color:#8FA3C0;margin-bottom:18px}
.crumbs a{color:#B9C5D8}
.crumbs a:hover{color:#fff}
.crumbs i{font-style:normal;opacity:.5}
.crumbs [aria-current]{color:#DCE5F2}
.page-hero .cta-row{margin-top:28px}
.card.rel{display:block;color:inherit;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}
.card.rel:hover{border-color:#9CC3EE;transform:translateY(-2px);box-shadow:var(--shadow);text-decoration:none}
.card.rel .more{display:inline-block;margin-top:12px;font-weight:500;color:#2A6FBF;font-size:.95rem}
.site-footer h4{white-space:nowrap}
/* image viewer */
.zoomable{cursor:zoom-in}
.zoomable:focus-visible{outline:3px solid #4ACFDD;outline-offset:3px}
.lb{position:fixed;inset:0;z-index:1000;background:rgba(8,12,20,.95);display:flex;align-items:center;justify-content:center;padding:56px 72px 64px}
.lb[hidden]{display:none}
.lb-fig{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:12px}
.lb-img{max-width:min(94vw,1500px);max-height:calc(100vh - 150px);width:auto;height:auto;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.6);background:#fff}
.lb-cap{color:#B9C5D8;font-size:.95rem;text-align:center;max-width:70ch}
.lb-x,.lb-nav{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;border-radius:50%;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s}
.lb-x:hover,.lb-nav:hover{background:rgba(255,255,255,.26)}
.lb-x:focus-visible,.lb-nav:focus-visible{outline:3px solid #4ACFDD;outline-offset:2px}
.lb-x{top:14px;right:16px;width:46px;height:46px;font-size:2rem}
.lb-nav{top:50%;transform:translateY(-50%);width:50px;height:50px;font-size:2.3rem;padding-bottom:4px}
.lb-prev{left:14px}.lb-next{right:14px}
.lb-nav[hidden]{display:none}
.lb-count{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);color:#8FA3C0;font-size:.9rem}
html.lb-open{overflow:hidden}
@media (max-width:700px){.lb{padding:64px 10px 60px}.lb-nav{top:auto;bottom:10px;transform:none;width:44px;height:44px}.lb-prev{left:16px}.lb-next{right:16px}.lb-img{max-width:96vw;max-height:calc(100vh - 190px)}}
.fine-foot{font-size:.85rem;color:#7F90A8;margin-top:10px}
/* invoice template carousel */
.split>*{min-width:0}
.tplg{max-width:720px;width:100%;min-width:0;margin-inline:auto}
.tplg-stage{position:relative;display:flex;align-items:center;gap:10px}
.tplg-viewport{overflow:hidden;flex:1;min-width:0;border-radius:var(--radius);background:#E6EBF2;border:1px solid var(--line)}
.tplg-track{display:flex;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.tplg-slide{flex:0 0 100%;margin:0;padding:18px 16px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.tplg-slide img{width:auto;height:auto;max-width:100%;max-height:min(560px,62vh);border-radius:4px}
.tplg-slide figcaption{font-size:.95rem;color:var(--muted);text-align:center}
.tplg-slide figcaption strong{color:var(--ink)}
.tplg-nav{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:1.8rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding-bottom:3px;box-shadow:0 2px 8px rgba(15,22,35,.08)}
.tplg-nav:hover{background:var(--soft)}
.tplg-nav:focus-visible,.tplg-pill:focus-visible,.themeg button:focus-visible{outline:3px solid #4ACFDD;outline-offset:2px}
.tplg-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}
.tplg-pill{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:999px;padding:6px 14px;font:inherit;font-size:.9rem;cursor:pointer}
.tplg-pill[aria-current="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
@media (max-width:620px){.tplg-nav{width:38px;height:38px;font-size:1.5rem}.tplg-stage{gap:6px}.tplg-slide img{max-height:min(470px,60vh)}}
/* light / dark screenshot viewer */
.themeg-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 20px;margin-bottom:16px;align-items:center}
.themeg-tabs,.themeg-mode{display:flex;flex-wrap:wrap;gap:8px}
.themeg button{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:999px;padding:7px 15px;font:inherit;font-size:.92rem;cursor:pointer}
.themeg button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.themeg-mode{padding:4px;background:#fff;border:1px solid var(--line);border-radius:999px}
.themeg-mode button{border:0;padding:6px 16px}
.themeg .shot{transition:box-shadow .2s}
.themeg.is-dark .shot{box-shadow:0 18px 50px -12px rgba(15,22,35,.55)}
@media print{.site-header,.site-footer,.cta-band{display:none}}

/* ===== Download and install animation ===== */
.ia{max-width:880px;margin:0 auto}
.ia-stage{container-type:inline-size;position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:radial-gradient(120% 120% at 20% 0%,#223049 0%,#0F1623 70%);box-shadow:var(--shadow)}
.ia .sc{position:absolute;inset:0;display:none}
.ia .sc.on{display:block}
.ia .win{position:absolute;background:#fff;border-radius:1.2cqw;box-shadow:0 2cqw 5cqw -1cqw rgba(0,0,0,.5);overflow:hidden;color:#1B2535;font-size:1.9cqw;line-height:1.35}
.ia .bar{height:4.4cqw;background:#EEF1F6;display:flex;align-items:center;gap:1.2cqw;padding:0 0 0 1.4cqw;border-bottom:1px solid #DCE2EC}
.ia .bi{display:grid;place-items:center;width:2.2cqw;height:2.2cqw;flex:none}.ia .bi svg,.ia .bi img{width:100%;height:100%}
.ia .bt{font-size:1.5cqw;color:#1B2535;white-space:nowrap}
.ia .wc{margin-left:auto;display:flex;height:100%;flex:none}.ia .wc i{position:relative;width:5.4cqw;height:100%}
.ia .wc .mn::before{content:"";position:absolute;left:50%;top:50%;width:1.2cqw;height:.14cqw;margin:0 0 0 -.6cqw;background:#1B2535}
.ia .wc .mx::before{content:"";position:absolute;left:50%;top:50%;width:1cqw;height:1cqw;margin:-.5cqw 0 0 -.5cqw;border:.14cqw solid #1B2535;box-sizing:border-box}
.ia .wc .cl::before,.ia .wc .cl::after{content:"";position:absolute;left:50%;top:50%;width:1.5cqw;height:.14cqw;margin:0 0 0 -.75cqw;background:#1B2535;transform:rotate(45deg)}
.ia .wc .cl::after{transform:rotate(-45deg)}
.ia .addr{flex:1;background:#fff;border:1px solid #DCE2EC;border-radius:2cqw;padding:.5cqw 1.6cqw;font-size:1.6cqw;color:#586376;max-width:46cqw;margin-left:1cqw}
.ia .body{position:absolute;left:0;right:0;top:4.4cqw;bottom:0}
.ia-cur{position:absolute;width:3cqw;height:3cqw;z-index:9;filter:drop-shadow(0 .3cqw .4cqw rgba(0,0,0,.35));left:0;top:0}
.ia .rip{position:absolute;left:50%;top:50%;width:6cqw;height:6cqw;margin:-3cqw 0 0 -3cqw;border-radius:50%;border:.5cqw solid rgba(75,143,219,.8);opacity:0;pointer-events:none}

/* scene 1 */
.w1{left:5%;top:7%;width:90%;height:86%}
.w1 .body{padding:4cqw 6cqw}
.sk-h{font-size:3.2cqw;font-weight:700;color:#0F1623;margin-bottom:1.6cqw}
.sk-l{height:1.4cqw;background:#E8ECF3;border-radius:1cqw;margin-bottom:1.1cqw;width:48%}.sk-l.s{width:32%}
.dlbtn{position:absolute;left:6cqw;top:21cqw;display:flex;align-items:center;gap:1.2cqw;padding:1.4cqw 2.6cqw;border-radius:1.2cqw;background:var(--grad);color:#07202B;font-weight:700;font-size:2.2cqw}
.dlbtn svg{width:2.6cqw;height:2.6cqw}
.dlbtn .rip{left:30%}
.chip{position:absolute;right:2cqw;top:1.4cqw;width:35cqw;background:#fff;border:1px solid #DCE2EC;border-radius:1.2cqw;box-shadow:0 1.4cqw 3.4cqw -.6cqw rgba(15,22,35,.28);padding:1.4cqw;display:flex;gap:1.4cqw;align-items:center;opacity:0;transform:translateY(-1.2cqw) scale(.96)}
.chip-ic{width:4.6cqw;height:4.6cqw;border-radius:1cqw;background:var(--grad);display:grid;place-items:center;color:#07202B;flex:none}.chip-ic svg{width:2.6cqw;height:2.6cqw}
.chip-t{flex:1;min-width:0}.chip-t b{display:block;font-size:1.6cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trk{display:block;height:.9cqw;background:#E8ECF3;border-radius:1cqw;margin:.8cqw 0;overflow:hidden}.trk i{display:block;height:100%;width:100%;background:var(--grad);transform-origin:left;transform:scaleX(0)}
.chip small{display:flex;justify-content:space-between;font-size:1.4cqw;color:#586376}.chip small s{text-decoration:none;color:var(--ok);font-weight:700;opacity:0}

.sc1.on .ia-cur{animation:c1 6s ease-in-out both}
.sc1.on .dlbtn{animation:press 6s both}
.sc1.on .dlbtn .rip{animation:rip 6s both;animation-delay:0s}
.sc1.on .chip{animation:chipin 6s both}
.sc1.on .trk i{animation:fill 6s linear both}
.sc1.on .chip small s{animation:show 6s both}
.sc1.on .chip small u{text-decoration:none}
@keyframes c1{0%{transform:translate(78cqw,36cqw);opacity:0}6%{opacity:1}34%{transform:translate(17cqw,25cqw)}100%{transform:translate(17cqw,25cqw);opacity:1}}
@keyframes press{0%,36%{transform:scale(1)}39%{transform:scale(.95)}43%,100%{transform:scale(1)}}
@keyframes rip{0%,37%{opacity:0;transform:scale(.3)}38%{opacity:1;transform:scale(.3)}52%,100%{opacity:0;transform:scale(1.6)}}
@keyframes chipin{0%,44%{opacity:0;transform:translateY(-1.2cqw) scale(.96)}50%,100%{opacity:1;transform:none}}
@keyframes fill{0%,50%{transform:scaleX(0)}86%,100%{transform:scaleX(1)}}
@keyframes show{0%,86%{opacity:0}92%,100%{opacity:1}}

/* scene 2 */
.w2{left:8%;top:7%;width:84%;height:86%}
.file{position:absolute;left:8cqw;top:8cqw;width:16cqw;text-align:center;font-size:1.5cqw;padding:1.2cqw;border-radius:1cqw}
.fic{width:8cqw;height:8cqw;margin:0 auto .8cqw;display:grid;place-items:center}.fic img{width:8cqw;height:8cqw}
.file .rip{top:7cqw}.file .r1,.file .r2{left:50%}
.dim{position:absolute;inset:0;background:rgba(15,22,35,.5);opacity:0}
.ss{position:absolute;left:50%;top:50%;width:52cqw;margin:-14.5cqw 0 0 -26cqw;background:#1E5FA8;color:#fff;border-radius:.8cqw;padding:2.2cqw 2.6cqw;box-shadow:0 2cqw 5cqw rgba(0,0,0,.45);opacity:0;transform:scale(.94)}
.ss-h{display:flex;align-items:center;gap:1.2cqw;margin-bottom:1cqw}.ss-h svg{width:3.4cqw;height:3.4cqw;flex:none}.ss-h b{font-size:2.5cqw}
.ss p{margin:.6cqw 0;font-size:1.65cqw;opacity:.95}
.ss-slot{position:relative;height:3.2cqw;margin-top:.6cqw}.ss-slot p{position:absolute;left:0;top:0;margin:0}
.ss .ss-more{text-decoration:underline;font-weight:700;opacity:1}
.ss-pub{opacity:0}
.ss-btns{display:flex;gap:1.4cqw;justify-content:flex-end;margin-top:1.2cqw;opacity:0}
.ss-btns span{position:relative;padding:.9cqw 2.2cqw;border:.2cqw solid rgba(255,255,255,.8);font-size:1.7cqw;border-radius:.4cqw}
.ss-run{background:#fff;color:#1E5FA8;font-weight:700}
.sc2.on .ia-cur{animation:c2 6.5s ease-in-out both}
.sc2.on .file{animation:filesel 6.5s both}
.sc2.on .r1{animation:rip 6.5s both;animation-delay:0s}
.sc2.on .dim{animation:dimin 6.5s both}
.sc2.on .ss{animation:ssin 6.5s both}
.sc2.on .ss-more{animation:hide 6.5s both}
.sc2.on .ss-pub,.sc2.on .ss-btns{animation:show2 6.5s both}
.sc2.on .ss-run .rip{animation:rip2 6.5s both}
@keyframes c2{0%{transform:translate(62cqw,38cqw);opacity:0}5%{opacity:1}22%,34%{transform:translate(15cqw,14cqw)}52%,62%{transform:translate(22cqw,20cqw)}74%,100%{transform:translate(45cqw,25cqw);opacity:1}}
@keyframes filesel{0%,26%{background:transparent}30%,100%{background:rgba(75,143,219,.18)}}
@keyframes dimin{0%,38%{opacity:0}46%,88%{opacity:1}96%,100%{opacity:0}}
@keyframes ssin{0%,40%{opacity:0;transform:scale(.94)}46%,88%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.98)}}
@keyframes hide{0%,56%{opacity:1}60%,100%{opacity:0}}
@keyframes show2{0%,60%{opacity:0}66%,100%{opacity:1}}
@keyframes rip2{0%,76%{opacity:0;transform:scale(.3)}77%{opacity:1;transform:scale(.3)}90%,100%{opacity:0;transform:scale(1.8)}}

/* scene 3 */
.w3{left:14%;top:9%;width:72%;height:82%}
.w3 .body{display:flex}
.wz-side{width:22%;background:linear-gradient(180deg,#223049,#0F1623);display:grid;place-items:center}.wz-side img{width:9cqw;height:9cqw}
.wz-main{flex:1;position:relative}
.pg{position:absolute;inset:0;padding:3cqw 3.4cqw;opacity:0}
.wz-t{font-size:2.5cqw;font-weight:700;color:#0F1623;margin-bottom:1cqw}
.wz-p{font-size:1.65cqw;color:#586376;margin:0 0 2cqw}
.wz-path{display:flex;gap:1.4cqw;align-items:center}.wz-path span{flex:1;border:1px solid #AEB8C8;padding:.9cqw 1.2cqw;font-size:1.7cqw;color:#0F1623;background:#fff}.wz-path u{border:1px solid #AEB8C8;background:#F4F6FA;text-decoration:none;padding:.9cqw 1.6cqw;font-size:1.6cqw}
.wz-bar{height:2cqw;background:#E8ECF3;border-radius:1cqw;overflow:hidden}.wz-bar i{display:block;height:100%;background:var(--grad);transform-origin:left;transform:scaleX(0)}
.wz-st{margin-top:1.2cqw!important;font-size:1.5cqw}
.wz-chk{display:flex;align-items:center;gap:1.2cqw;font-size:1.8cqw;color:#0F1623}.wz-chk .bx{display:grid;place-items:center;width:2.4cqw;height:2.4cqw;border-radius:.4cqw;background:var(--ok);color:#fff;opacity:0;transform:scale(.5)}.wz-chk .bx svg{width:1.7cqw;height:1.7cqw}
.wz-btn{position:absolute;right:3.4cqw;bottom:2.4cqw}
.wz-b{position:relative;display:inline-block;padding:1cqw 3.4cqw;border-radius:.8cqw;background:var(--grad);color:#07202B;font-weight:700;font-size:1.8cqw}
.sc3.on .pgA{animation:pgA 9s both}
.sc3.on .pgB{animation:pgB 9s both}
.sc3.on .pgC{animation:pgC 9s both}
.sc3.on .wz-bar i{animation:fill3 9s linear both}
.sc3.on .wz-inst .rip{animation:rip3a 9s both}
.sc3.on .wz-fin .rip{animation:rip3b 9s both}
.sc3.on .wz-chk .bx{animation:okin 9s both}
.sc3.on .ia-cur{animation:c3 9s ease-in-out both}
@keyframes pgA{0%,38%{opacity:1}42%,100%{opacity:0}}
@keyframes pgB{0%,40%{opacity:0}44%,70%{opacity:1}74%,100%{opacity:0}}
@keyframes pgC{0%,72%{opacity:0}77%,100%{opacity:1}}
@keyframes fill3{0%,44%{transform:scaleX(0)}68%,100%{transform:scaleX(1)}}
@keyframes okin{0%,80%{opacity:0;transform:scale(.5)}86%,100%{opacity:1;transform:none}}
@keyframes rip3a{0%,32%{opacity:0;transform:scale(.3)}33%{opacity:1;transform:scale(.3)}45%,100%{opacity:0;transform:scale(1.6)}}
@keyframes rip3b{0%,94%{opacity:0;transform:scale(.3)}95%{opacity:1;transform:scale(.3)}100%{opacity:0;transform:scale(1.6)}}
@keyframes c3{0%{transform:translate(72cqw,41cqw);opacity:0}6%{opacity:1}26%,100%{transform:translate(62cqw,36.5cqw);opacity:1}}

/* scene 4 */
.w4{left:12%;top:5%;width:76%;height:90%}
.w4 .body{background:#0F1623}
.w4 .body img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.demo-tag{position:absolute;right:1.6cqw;top:1.2cqw;background:#B9770E;color:#fff;font-weight:700;font-size:1.5cqw;letter-spacing:.12em;padding:.5cqw 1.4cqw;border-radius:2cqw;opacity:0}
.co{position:absolute;background:#fff;color:#0F1623;font-weight:700;font-size:1.7cqw;padding:.9cqw 1.8cqw;border-radius:2cqw;box-shadow:0 1cqw 2.6cqw rgba(0,0,0,.4);opacity:0;transform:translateY(1cqw);white-space:nowrap}
.co::before{content:"";display:inline-block;width:1.1cqw;height:1.1cqw;border-radius:50%;background:var(--grad);margin-right:.9cqw}
.co1{left:3cqw;bottom:6cqw}.co2{left:34cqw;bottom:13cqw}.co3{right:3cqw;bottom:5cqw}
.sc4.on .w4{animation:winin 6.5s both}
.sc4.on .demo-tag{animation:coin 6.5s both;animation-delay:0s}
.sc4.on .co1{animation:co1 6.5s both}.sc4.on .co2{animation:co2 6.5s both}.sc4.on .co3{animation:co3 6.5s both}
.sc4.on .body img{animation:slowz 6.5s ease-out both}
@keyframes winin{0%{opacity:0;transform:scale(.96)}10%,100%{opacity:1;transform:none}}
@keyframes slowz{0%{transform:scale(1)}100%{transform:scale(1.04)}}
@keyframes coin{0%,14%{opacity:0}22%,100%{opacity:1}}
@keyframes co1{0%,26%{opacity:0;transform:translateY(1cqw)}34%,100%{opacity:1;transform:none}}
@keyframes co2{0%,44%{opacity:0;transform:translateY(1cqw)}52%,100%{opacity:1;transform:none}}
@keyframes co3{0%,62%{opacity:0;transform:translateY(1cqw)}70%,100%{opacity:1;transform:none}}

/* controls */
.ia-ctl{display:flex;gap:10px;align-items:stretch;margin-top:14px}
.ia-tabs{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ia-tab{position:relative;overflow:hidden;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);background:#fff;border-radius:12px;font:inherit;color:var(--muted);cursor:pointer;text-align:left}
.ia-tab span{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--soft);font-size:.8rem;font-weight:700}
.ia-tab b{font-size:.92rem;font-weight:600}
.ia-tab i{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--grad);transform-origin:left;transform:scaleX(0)}
.ia-tab.on{color:var(--ink);border-color:#9CC4EE;background:#F3F9FF}
.ia-tab.on span{background:var(--grad);color:#07202B}
.ia-tab.on i{animation:tabfill var(--d,6s) linear forwards}
.ia-tab.done i{transform:scaleX(1)}
@keyframes tabfill{to{transform:scaleX(1)}}
.ia-pp{flex:none;width:48px;border:1px solid var(--line);background:#fff;border-radius:12px;color:var(--ink);cursor:pointer;display:grid;place-items:center}
.ia-pp svg{width:18px;height:18px}.ia-pp .i-play{display:none}
.ia.paused .ia-pp .i-play{display:block}.ia.paused .ia-pp .i-pause{display:none}
.ia.paused *{animation-play-state:paused!important}
.ia-caps{margin-top:14px;min-height:4.6em}
.ia-cap{display:none;margin:0;font-size:1.05rem;color:var(--text);text-align:center}.ia-cap.on{display:block}
.ia-note{margin:6px 0 0;text-align:center;font-size:.82rem;color:var(--muted)}
.ia-tab:focus-visible,.ia-pp:focus-visible{outline:3px solid #4B8FDB;outline-offset:2px}
@media (max-width:640px){.ia-tab b{display:none}.ia-tab{justify-content:center}.ia-caps{min-height:7em}}
@media (prefers-reduced-motion:reduce){.ia *{animation-duration:.01s!important;animation-delay:0s!important;animation-iteration-count:1!important}}

/* equal-size hero buttons */
.hero .cta-row .btn,.page-hero .cta-row .btn,.cta-band .cta-row .btn{flex:0 0 auto;min-width:290px}
@media (max-width:640px){.hero .cta-row .btn,.page-hero .cta-row .btn,.cta-band .cta-row .btn{min-width:0;width:100%}}
.hero .cta-row{flex-wrap:nowrap}
.hero .cta-row .btn{flex:1 1 0;min-width:0;padding-left:14px;padding-right:14px;white-space:nowrap}
@media (max-width:480px){.hero .cta-row{flex-wrap:wrap}.hero .cta-row .btn{flex:1 1 100%}}
.btn svg{flex:none}

/* scene: Windows permission prompt (User Account Control) */
.sc5 .desk{position:absolute;inset:0;background:radial-gradient(120% 90% at 30% 20%,#1F3B63 0%,#0F1B30 60%,#0A1220 100%)}
.uac{position:absolute;left:50%;top:50%;width:48cqw;margin:-15cqw 0 0 -24cqw;background:#fff;color:#1B2535;border-radius:.5cqw;box-shadow:0 2cqw 5cqw rgba(0,0,0,.5);overflow:hidden;opacity:0;transform:scale(.95)}
.uac-h{display:flex;align-items:center;gap:1.2cqw;background:#C77700;color:#fff;padding:1.6cqw 2cqw}.uac-h svg{width:3.4cqw;height:3.4cqw;flex:none}.uac-h b{font-size:1.9cqw;font-weight:600}
.uac-b{padding:2cqw 2.4cqw 2.2cqw}
.uac-q{margin:0 0 1.6cqw;font-size:2cqw;font-weight:600;line-height:1.3;color:#10213A}
.uac-app{display:flex;align-items:center;gap:1.4cqw;padding:1.2cqw 0 1.8cqw}.uac-app img{width:4.6cqw;height:4.6cqw}.uac-app b{display:block;font-size:1.7cqw;font-weight:600}.uac-app small{display:block;font-size:1.4cqw;color:#586376;line-height:1.45;margin-top:.3cqw}
.uac-btns{display:flex;gap:1.4cqw;justify-content:flex-end;margin:0 -2.4cqw -2.2cqw;padding:1.6cqw 2.4cqw;background:#EEF1F6}
.uac-btns span{position:relative;min-width:11cqw;text-align:center;padding:.9cqw 2cqw;font-size:1.7cqw;border:.2cqw solid #8995A8;border-radius:.3cqw;background:#fff}
.uac-yes{border-color:#1E5FA8!important;background:#1E5FA8!important;color:#fff;font-weight:600}
.sc5.on .uac{animation:uacin 5.5s both}
.sc5.on .ia-cur{animation:c5 5.5s ease-in-out both}
.sc5.on .uac-yes .rip{animation:rip5 5.5s both}
@keyframes uacin{0%,6%{opacity:0;transform:scale(.95)}14%,88%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.98)}}
@keyframes c5{0%{transform:translate(70cqw,44cqw);opacity:0}8%{opacity:1}52%,100%{transform:translate(53cqw,41.5cqw);opacity:1}}
@keyframes rip5{0%,62%{opacity:0;transform:scale(.3)}63%{opacity:1;transform:scale(.3)}78%,100%{opacity:0;transform:scale(1.7)}}
.ia-tabs{grid-template-columns:repeat(5,1fr)!important}
