/* ==========================================================================
   v4 — modern type, dark aurora heroes with warmth, tech floor, book cursor
   ========================================================================== */
@font-face{font-family:"Sora";src:url(../fonts/sora.woff2) format("woff2");font-weight:100 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Sora";src:url(../fonts/sora-ext.woff2) format("woff2");font-weight:100 800;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jakarta";src:url(../fonts/jakarta.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jakarta";src:url(../fonts/jakarta-ext.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jakarta";src:url(../fonts/jakarta-italic.woff2) format("woff2");font-weight:200 800;font-style:italic;font-display:swap}

:root{
  --sans:"Jakarta","Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  --display:"Sora","Jakarta",system-ui,sans-serif;
  --warm:#FFA552;--warm-2:#FFC98A;--deep:#050E1C;--deep-2:#0A2342;--deep-3:#0E3462;
}
body{font-family:var(--sans)!important;letter-spacing:-.003em}
h1,h2,h3,h4,.kinetic .row,.num,.stat b,.igl-stats b,.clock .t,.v2-badge b,.lvq-ring b,.mailbig,.giant h2{font-family:var(--display)!important}
h1,h2{font-weight:650!important;letter-spacing:-.035em!important}
h3{font-weight:600!important;letter-spacing:-.015em!important}
.btn,.kicker,.tag,.nav-links,.login-link,.lang-btn{font-family:var(--sans)!important}
:lang(zh) h1,:lang(zh) h2,:lang(zh) h3{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",var(--display)!important;letter-spacing:0!important}

/* ---------- dark aurora hero (home, inner pages, product pages) ---------- */
.v2-hero,.v2-page,main>section.spot:first-of-type{
  background:radial-gradient(120% 90% at 50% -10%,#0E3462 0%,#0A2342 38%,#061528 70%,#050E1C 100%)!important;
  animation:none!important;color:#DCEBF7!important;isolation:isolate}
.v2-page::before{background-image:none!important}
.v2-hero::after,.v2-page::after{background:linear-gradient(180deg,transparent,#F6FBFE)!important;height:90px!important;z-index:1}
.v2-page::after{height:220px!important}
.aur{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;mix-blend-mode:screen;will-change:transform}
.aur.a1{width:52vw;height:52vw;max-width:760px;max-height:760px;left:-12vw;top:-18vw;background:radial-gradient(circle,#1A9AD6 0%,rgba(26,154,214,0) 68%);opacity:.75;animation:aur1 18s ease-in-out infinite alternate}
.aur.a2{width:44vw;height:44vw;max-width:640px;max-height:640px;right:-10vw;top:-6vw;background:radial-gradient(circle,#38BDF8 0%,rgba(56,189,248,0) 68%);opacity:.5;animation:aur2 22s ease-in-out infinite alternate}
.aur.a3{width:40vw;height:40vw;max-width:600px;max-height:600px;left:30%;bottom:-16vw;background:radial-gradient(circle,#FF9F5A 0%,rgba(255,159,90,0) 66%);opacity:.38;animation:aur3 20s ease-in-out infinite alternate}
@keyframes aur1{to{transform:translate3d(10vw,8vw,0) scale(1.15)}}
@keyframes aur2{to{transform:translate3d(-8vw,10vw,0) scale(.9)}}
@keyframes aur3{to{transform:translate3d(-12vw,-6vw,0) scale(1.2)}}
.v2-orb{display:none!important}
canvas.constellation{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.hero-floor{position:absolute;left:-20%;right:-20%;bottom:0;height:46%;z-index:0;pointer-events:none;transform:perspective(520px) rotateX(64deg);transform-origin:50% 100%;
  background-image:linear-gradient(rgba(125,211,252,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(125,211,252,.22) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask:linear-gradient(180deg,transparent 0%,#000 55%,transparent 100%);mask:linear-gradient(180deg,transparent 0%,#000 55%,transparent 100%);animation:floor 3.2s linear infinite}
@keyframes floor{to{background-position:0 56px,0 0}}
.v2-hero .wrap,.v2-page .wrap,main>section.spot:first-of-type .wrap{position:relative;z-index:2}
.v2-hero h1,.v2-page-head h1,main>section.spot:first-of-type h1{color:#fff!important;filter:none!important}
.v2-hero h1 .grad{background:linear-gradient(100deg,#7DD3FC 0%,#BDE9FF 30%,#FFC98A 62%,#FFA552 80%,#7DD3FC 100%)!important;background-size:250% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;animation:shimmer 7s ease-in-out infinite!important}
.v2-hero .lead,.v2-page-head .lead{color:#B9CFE3!important}
.v2-badge{background:rgba(255,255,255,.06)!important;border:1px solid rgba(125,211,252,.35)!important}
.v2-badge b{background:linear-gradient(135deg,#FFC98A,#FFA552)!important;color:#3A1A00!important}
.v2-page .eyebrow{background:rgba(255,255,255,.06)!important;border-color:rgba(125,211,252,.35)!important}
.v2-page .eyebrow::before{background:var(--warm)!important;box-shadow:0 0 0 0 rgba(255,165,82,.6)!important;animation:pulsew 2s infinite}
@keyframes pulsew{70%{box-shadow:0 0 0 10px rgba(255,165,82,0)}100%{box-shadow:0 0 0 0 rgba(255,165,82,0)}}
.v2-hero .btn-primary,.v2-page-head .btn-primary,main>section.spot:first-of-type .btn-primary{background:linear-gradient(135deg,#FFC98A,#FFA552 60%,#F28C38)!important;color:#2A1300!important;box-shadow:0 18px 44px -14px rgba(255,140,56,.65)!important}
.v2-hero .btn-ghost,.v2-page-head .btn-ghost,main>section.spot:first-of-type .btn-ghost{background:rgba(255,255,255,.05)!important;border:1.5px solid rgba(125,211,252,.45)!important;color:#E6F4FF!important}
.v2-page .show-frame{background:linear-gradient(160deg,rgba(125,211,252,.25),rgba(255,255,255,.05))!important;border-color:rgba(125,211,252,.35)!important;box-shadow:0 80px 140px -50px rgba(0,0,0,.65),0 0 0 1px rgba(125,211,252,.12)!important}
main>section.spot:first-of-type .kicker{color:#7DD3FC!important}main>section.spot:first-of-type .kicker::before{background:#7DD3FC!important}
main>section.spot:first-of-type canvas.net{opacity:.7}
main>section.spot:first-of-type::after{content:"";position:absolute;left:-20%;right:-20%;bottom:0;height:40%;transform:perspective(520px) rotateX(64deg);transform-origin:50% 100%;background-image:linear-gradient(rgba(125,211,252,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(125,211,252,.18) 1px,transparent 1px);background-size:56px 56px;-webkit-mask:linear-gradient(180deg,transparent,#000 60%,transparent);mask:linear-gradient(180deg,transparent,#000 60%,transparent);animation:floor 3.2s linear infinite;pointer-events:none;z-index:0}
.v2-page-head .crumbs,.v2-page-head .crumbs *{color:#8FB4D4!important}

/* header capsule over the dark hero */
.site-header .nav{box-shadow:0 18px 50px -20px rgba(0,0,0,.45)!important}

/* ---------- warmth accents in light sections ---------- */
.kicker::before{background:linear-gradient(90deg,#1A9AD6,#FFA552)!important}
.sec h2,.sec-tight h2,.sec-head h2{background:linear-gradient(100deg,#06263F 0%,#0B4A75 55%,#1A9AD6 85%,#E08A3C 100%)!important;-webkit-background-clip:text!important;background-clip:text!important}
.on-dark h2,.sec-dark h2,.cta-band h2,.choose-card.sky h2,.photo-band h2,.band h2,.hcard.intro h2,.tile h2,.kinetic h2{-webkit-text-fill-color:currentColor!important;background:none!important}
.feat .fi{background:linear-gradient(135deg,#38BDF8,#1A9AD6 55%,#0E3462)!important}
.feat:nth-child(3n+2) .fi{background:linear-gradient(135deg,#FFC98A,#FFA552 60%,#E07A2C)!important;box-shadow:0 14px 30px -12px rgba(255,140,56,.7)!important}

/* ---------- kinetic band: dark tech strip ---------- */
.kinetic{background:radial-gradient(80% 140% at 50% 0%,#0E3462,#050E1C)!important;padding:clamp(30px,4.5vw,56px) 0!important}
.kinetic .row span i{-webkit-text-stroke:1.5px rgba(125,211,252,.55)!important}
.kinetic .row span b{background:linear-gradient(100deg,#7DD3FC,#FFFFFF 45%,#FFC98A 75%,#FFA552)!important;-webkit-background-clip:text!important;background-clip:text!important}
.kinetic .row span em{background:linear-gradient(135deg,#FFC98A,#FFA552)!important;box-shadow:0 0 30px rgba(255,165,82,.7)!important}

/* ---------- CTA band + footer: deep with glow ---------- */
.cta-band{background:radial-gradient(50% 90% at 100% 0%,rgba(56,189,248,.45),transparent 60%),radial-gradient(45% 80% at 0% 100%,rgba(255,165,82,.35),transparent 60%),linear-gradient(135deg,#0A2342,#0E3462 60%,#0A2342)!important;animation:none!important;border:1px solid rgba(125,211,252,.25)}
.cta-band .btn-primary,.cta-band .btn:not(.btn-ghost){background:linear-gradient(135deg,#FFC98A,#FFA552 60%,#F28C38)!important;color:#2A1300!important}
.site-footer{background:radial-gradient(60% 120% at 100% 0%,rgba(26,154,214,.25),transparent 60%),radial-gradient(40% 80% at 0% 100%,rgba(255,165,82,.12),transparent 60%),#050E1C!important;color:#9FB6CC!important}
.site-footer h4,.site-footer .foot-mail{color:#fff!important}
.site-footer a{color:#B9CFE3!important}.site-footer a:hover{color:#FFC98A!important}
.site-footer p,.site-footer span{color:#8FA9C2!important}
.site-footer .foot-brand img{filter:brightness(0) invert(1);opacity:.95}
.site-footer .foot-bottom{border-color:rgba(125,211,252,.15)!important}

/* ---------- book cursor ---------- */
html.book-cursor,html.book-cursor body,html.book-cursor a,html.book-cursor button,html.book-cursor [role=button],html.book-cursor label,html.book-cursor summary{cursor:none!important}
html.book-cursor input,html.book-cursor textarea,html.book-cursor select,html.book-cursor [contenteditable]{cursor:auto!important}
.bk{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;width:44px;height:44px;margin:-22px 0 0 -22px;will-change:transform;transition:opacity .25s}
.bk svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 6px 14px rgba(14,52,98,.35))}
.bk .pg-l,.bk .pg-r{transform-box:fill-box;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.bk .pg-l{transform-origin:100% 50%}.bk .pg-r{transform-origin:0% 50%}
.bk .flip{transform-box:fill-box;transform-origin:0% 50%;opacity:0}
.bk.open .pg-l{transform:rotate(-8deg) scaleX(1.08)}.bk.open .pg-r{transform:rotate(8deg) scaleX(1.08)}
.bk.press .flip{animation:pageflip .55s cubic-bezier(.4,0,.2,1)}
@keyframes pageflip{0%{opacity:1;transform:scaleX(1)}50%{opacity:1;transform:scaleX(0) skewY(-6deg)}51%{transform:scaleX(0) skewY(6deg)}100%{opacity:0;transform:scaleX(-1)}}
.bk-halo{position:fixed;left:0;top:0;z-index:9998;pointer-events:none;width:90px;height:90px;margin:-45px 0 0 -45px;border-radius:50%;background:radial-gradient(circle,rgba(255,165,82,.28),rgba(56,189,248,.12) 45%,transparent 70%);transition:width .3s,height .3s,margin .3s,opacity .3s;will-change:transform}
.bk-halo.open{width:130px;height:130px;margin:-65px 0 0 -65px}
.bk-spark{position:fixed;left:0;top:0;z-index:9997;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;pointer-events:none;background:#FFC98A;box-shadow:0 0 10px #FFA552;animation:spark .8s ease-out forwards}
@keyframes spark{to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.2)}}
.cursor-glow{display:none!important}
@media (pointer:coarse),(prefers-reduced-motion:reduce){.bk,.bk-halo{display:none!important}}
.cta-band .btn-ghost{background:rgba(255,255,255,.06)!important;color:#fff!important;border:1.5px solid rgba(125,211,252,.5)!important}
.v2-badge b{white-space:nowrap}
:lang(zh) h1,:lang(zh) h2{line-break:strict}
