body{margin:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
[hidden]{display:none !important}
a{color:#2563EB}a:hover{color:#1D4ED8}
.bv *{box-sizing:border-box}
.bv h1,.bv h2,.bv h3,.bv p{margin:0}
.bv h1,.bv h2,.bv h3{font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;text-wrap:balance}
.bv p{text-wrap:pretty}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes floatA{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(-3deg)}}
@keyframes floatB{0%,100%{transform:translateY(0) rotate(5deg)}50%{transform:translateY(-10px) rotate(5deg)}}
@keyframes popIn{0%{opacity:0;transform:translateY(18px) scale(.9)}100%{opacity:1;transform:none}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes beam{0%{top:10%}50%{top:84%}100%{top:10%}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(220,38,38,.5)}70%{box-shadow:0 0 0 9px rgba(220,38,38,0)}100%{box-shadow:0 0 0 0 rgba(220,38,38,0)}}
@keyframes draw{0%,30%{stroke-dashoffset:24}60%,100%{stroke-dashoffset:0}}
@keyframes swap{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@keyframes words{0%,26%{transform:translateY(0)}33%,59%{transform:translateY(-1.15em)}66%,92%{transform:translateY(-2.3em)}100%{transform:translateY(-3.45em)}}
@keyframes corner{0%,100%{opacity:.55}50%{opacity:1}}

.in1{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
.in2{animation:rise .7s .12s cubic-bezier(.2,.7,.2,1) both}
.in3{animation:rise .7s .24s cubic-bezier(.2,.7,.2,1) both}
.in4{animation:rise .7s .36s cubic-bezier(.2,.7,.2,1) both}
.phA{animation:rise .9s .2s both,floatA 6s 1.1s ease-in-out infinite}
.phB{animation:rise .9s .4s both,floatB 7s 1.3s ease-in-out infinite}
.chip1{animation:popIn .6s 1.1s both,bob 5s 1.7s ease-in-out infinite}
.chip2{animation:popIn .6s 1.5s both,bob 5.5s 2.1s ease-in-out infinite}
.chip3{animation:popIn .6s 1.9s both,bob 6s 2.5s ease-in-out infinite}
.beam{animation:beam 2.6s ease-in-out infinite}
.pulse{animation:pulse 1.8s infinite}
.tick{stroke-dasharray:24;animation:draw 2.4s ease-in-out infinite alternate}
.swap{animation:swap .45s cubic-bezier(.2,.7,.2,1) both}
.rot{display:block;height:1.15em;overflow:hidden}
.rot>span{display:block;animation:words 7.5s cubic-bezier(.7,0,.3,1) infinite}
.rot>span>span{display:block;height:1.15em}
.corner{animation:corner 1.6s ease-in-out infinite}

.lift{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.lift:hover{transform:translateY(-5px);box-shadow:0 18px 40px -18px rgba(15,23,42,.28)}
.btn{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px -10px rgba(37,99,235,.6)}
.tabbtn{transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.navlink{color:#334155;text-decoration:none;font-weight:600;font-size:15px}
.navlink:hover{color:#2563EB}
.bv details summary{cursor:pointer;list-style:none}
.bv details summary::-webkit-details-marker{display:none}
.bv details[open] .plus{transform:rotate(45deg)}
.plus{transition:transform .25s ease}

@supports (animation-timeline: view()){
  .reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 0% cover 22%}
}
@media (max-width: 860px){
  .navlinks{display:none !important}
  .phB{display:none !important}
  .chip3{display:none !important}
}
@media (max-width: 560px){
  .chip1,.chip2{display:none !important}
}
@media (prefers-reduced-motion: reduce){
  .bv *,.bv *::before,.bv *::after{animation:none !important;transition:none !important}
}
.still *,.still *::before,.still *::after{animation:none !important}

/* tour tabs */
.tabbtn{text-align:left;border-radius:20px;padding:22px 24px;border:1.5px solid #E4E7EF;background:#fff;cursor:pointer;font:inherit;color:inherit;display:flex;gap:18px;align-items:flex-start;width:100%}
.tabbtn:hover{border-color:#93B4F5}
.tabbtn[aria-pressed="true"]{border-color:#2563EB;background:#EFF5FF}
.tabnum{flex:none;width:46px;height:46px;border-radius:14px;background:#F1F5F9;color:#334155;display:flex;align-items:center;justify-content:center;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:17px;transition:background-color .2s ease,color .2s ease}
.tabbtn[aria-pressed="true"] .tabnum{background:#2563EB;color:#fff}
.screen{height:100%}
/* keyboard focus */
.bv a:focus-visible,.bv button:focus-visible,.bv summary:focus-visible{outline:3px solid #F97316;outline-offset:3px;border-radius:8px}
/* scroll reveal fallback for browsers without scroll-driven animations */
.io .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.io .reveal.shown{opacity:1;transform:none}
