/* =====================================================================
   BAIC Iraq — BJ40 V2 page (Phase 2 rebuild of baicglobal.com/models/36 "B40 PRO", Nuxt component __name "36",
   scoped CSS data-v-725af293). Composition values (positions, sizes, colours, transitions) are ported from Global's CSS;
   Global's "desktop" rules apply to LANDSCAPE viewports and its ".mobile" rules to PORTRAIT viewports (Global switched at
   1200 px width, which put portrait art on landscape tablets — not reproduced).
   Production corrections (see notes/BJ40_V2_PHASE2_IMPLEMENTATION.md §29):
   - the stage is a sticky viewport inside a normal scrolling section (no wheel hijack, no footer bleed, keyboard works);
   - frames are drawn without distortion (Global stretched 16:9 frames to any viewport) and never cover the text;
   - vw-only type gets readable minimums (clamp) on small landscape screens; no fixed-height inner scroll box for the specs.
   ===================================================================== */

/* ---------- Base (scoped) ---------- */
:where(#bj40) *,:where(#bj40) :after,:where(#bj40) :before{box-sizing:border-box}
:where(#bj40) h1,:where(#bj40) h2,:where(#bj40) h3,:where(#bj40) p{font-size:inherit;font-weight:inherit;margin:0}
:where(#bj40) img{display:block;max-width:none;border:0}
:where(#bj40) button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer}
:where(#bj40) a{color:inherit;text-decoration:none}
#bj40{--main:#f1ab16;--orange:#ea5c04;--top:0px;--vh:1vh;background:#000;color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.5;overflow-x:clip;width:100%}
@supports (height:1svh){#bj40{--vh:1svh}}
@media (max-width:1199px){#bj40{--top:64px}}           /* Iraq header height <1200 (fixed / sticky there) */
#bj40 .sr-only,.bj40-full .sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}
#bj40 a:focus-visible,#bj40 button:focus-visible,.bj40-full button:focus-visible{outline:2px solid var(--main);outline-offset:3px}

/* ---------- 01-09 Stage ---------- */
/* height = viewport + (steps-1) units + tail; a unit (75 svh of scroll) holds one screen state and the move to the next.
   --n (number of states) is set per orientation here and re-set by bj40.js only if the diesel step is disabled. */
#bj40 .bj40-stage{--n:12;--unit:calc(var(--vh)*75);--tail:calc(var(--vh)*35);height:calc(var(--vh)*100 - var(--top) + (var(--n) - 1)*var(--unit) + var(--tail));position:relative}
@media (orientation:portrait){#bj40 .bj40-stage{--n:11}}
#bj40 .bj40-sticky{background:#000;height:calc(var(--vh)*100 - var(--top));overflow:hidden;position:sticky;top:var(--top);width:100%}
#bj40 .bj40-bg img{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%}
#bj40 .bj40-bg .bj40-bg2{opacity:var(--bg2,0)}
#bj40 .bj40-canvas{height:100%;inset:0;opacity:var(--canvas,1);pointer-events:none;position:absolute;width:100%;z-index:2}

/* ATS scene (Global .rockery/.stone_vista + .gravel1-3): visible on the ATS screen only, one terrain at a time */
#bj40 .bj40-scene img{height:100%;left:0;object-fit:cover;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .3s;width:100%;z-index:1}
#bj40 .bj40-scene .rockery{transform:translateY(-3%)}
#bj40 .bj40-scene .vista{transform:translateY(3%)}
#bj40 .bj40-particles img{height:auto;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s;z-index:3}
#bj40 .bj40-particles .gravel1{bottom:15.09%;left:.5%;width:6.48vw}
#bj40 .bj40-particles .snow1.gravel1,#bj40 .bj40-particles .shamo1.gravel1{left:0;width:10.48vw}
#bj40 .bj40-particles .shamo1.gravel1{bottom:0}
#bj40 .bj40-particles .gravel2{bottom:-1%;left:40.91%;width:16.22vw}
#bj40 .bj40-particles .snow2.gravel2{bottom:0;width:30.21vw}
#bj40 .bj40-particles .shamo2.gravel2{bottom:22%;left:52%;width:7vw}
#bj40 .bj40-particles .gravel3{bottom:24.4%;right:.6%;width:5.63vw}
#bj40 .bj40-sticky[data-screen=ats][data-terrain="0"] .t0,
#bj40 .bj40-sticky[data-screen=ats][data-terrain="1"] .t1,
#bj40 .bj40-sticky[data-screen=ats][data-terrain="2"] .t2{opacity:1}
#bj40 .bj40-sticky[data-screen=ats] .vista{transition:opacity .5s}
#bj40 .bj40-sticky[data-screen=ats] .rockery{transition:opacity 1.2s .5s}
#bj40 .bj40-sticky[data-screen=ats] .bj40-particles img{transition:opacity .3s 1.2s}

/* frame box: exactly where the current frame is drawn (set by bj40.js); geometry overlays share the frame's coordinates */
#bj40 .bj40-frame-box{height:var(--fh,56.25vw);left:var(--fx,0);pointer-events:none;position:absolute;top:var(--fy,0);width:var(--fw,100vw);z-index:3}
#bj40 .bj40-frame-box img{height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s;width:100%}
#bj40 .bj40-frame-box .geo-220{transform:translate(-.5%,.8%)}
#bj40 .bj40-frame-box .geo-angles{transform:translateY(1.8%)}
#bj40 .bj40-frame-box .geo-p{transform:translate(-.7%,2%)}
#bj40[data-orient=landscape] .bj40-sticky[data-screen=geo][data-sub="0"] .geo-750{opacity:1;transition:opacity 1s}
#bj40[data-orient=landscape] .bj40-sticky[data-screen=geo][data-sub="0"] .geo-220{opacity:1;transition:opacity 1s .3s}
#bj40[data-orient=landscape] .bj40-sticky[data-screen=geo][data-sub="1"] .geo-angles{opacity:1;transition:opacity 1s}
#bj40[data-orient=portrait] .bj40-sticky[data-screen=geo][data-sub="0"] .geo-p{opacity:1;transition:opacity 1s}

/* screens 5-6: static renders replace the sequence (Global hides the canvas there) */
#bj40 .bj40-render{height:auto;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s;z-index:2}
#bj40 .bj40-render--cage{left:0;top:0;transform:translate(-15%,5%);width:85vw}
#bj40 .bj40-render--frame{left:0;top:0;transform:translate(-9%,15%);width:70vw}
#bj40 .bj40-sticky[data-screen=cage] .bj40-render--cage,#bj40 .bj40-sticky[data-screen=frame] .bj40-render--frame{opacity:1;transition:opacity 1s}

/* screens */
#bj40 .bj40-screen{inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s;z-index:5}
#bj40 .bj40-sticky[data-screen=hero] .bj40-screen[data-for=hero],#bj40 .bj40-sticky[data-screen="4wd"] .bj40-screen[data-for="4wd"],
#bj40 .bj40-sticky[data-screen=ats] .bj40-screen[data-for=ats],#bj40 .bj40-sticky[data-screen=geo] .bj40-screen[data-for=geo],
#bj40 .bj40-sticky[data-screen=cage] .bj40-screen[data-for=cage],#bj40 .bj40-sticky[data-screen=frame] .bj40-screen[data-for=frame],
#bj40 .bj40-sticky[data-screen=family] .bj40-screen[data-for=family],#bj40 .bj40-sticky[data-screen=door] .bj40-screen[data-for=door],
#bj40 .bj40-sticky[data-screen=tail] .bj40-screen[data-for=tail]{opacity:1;transition:opacity 1s}
#bj40 .bj40-screen a,#bj40 .bj40-screen button{pointer-events:none}
#bj40 .bj40-sticky[data-screen=hero] [data-for=hero] a,#bj40 .bj40-sticky[data-screen=hero] [data-for=hero] button,
#bj40 .bj40-sticky[data-screen=ats] [data-for=ats] button{pointer-events:auto}

/* hero (page1) */
#bj40 .bj40-title-img{height:auto;mix-blend-mode:overlay;position:absolute;right:9.01vw;top:9.7vw;width:43.67vw}
#bj40 .bj40-hero-btns{align-items:center;display:flex;position:absolute;right:9.15vw;top:22vw}
#bj40 .bj40-btn{border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:clamp(13px,1vw,24px);height:clamp(34px,2.26vw,54px);letter-spacing:.1vw;margin:0 .66vw;min-width:clamp(140px,11.59vw,280px);padding:0 1.2em;transition:background .3s,color .3s,border-color .3s;white-space:nowrap}
#bj40 .bj40-btn--outline{border:max(1px,.1vw) solid #fff;color:#fff}
#bj40 .bj40-btn--white{background:#fff;border:max(1px,.1vw) solid #fff;color:#606161}
#bj40 .bj40-btn:hover{background:var(--main);border-color:var(--main);color:#fff}
#bj40 .bj40-next-cue{animation:bj40-next 2s linear infinite;bottom:2.16vw;display:flex;flex-direction:column;align-items:center;left:50%;padding:8px 14px;position:absolute;transform:translate(-50%)}
#bj40 .bj40-next-cue img{height:auto;margin-bottom:.2vw;width:clamp(11px,.86vw,20px)}
#bj40 .bj40-next-cue img:nth-child(1){animation:bj40-i3 2s linear infinite}
#bj40 .bj40-next-cue img:nth-child(2){animation:bj40-i2 2s linear infinite}
#bj40 .bj40-next-cue img:nth-child(3){animation:bj40-i1 2s linear infinite}
@keyframes bj40-next{0%,to{transform:translate(-50%) translateY(20%)}50%{transform:translate(-50%) translateY(0)}}
@keyframes bj40-prev{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(20%)}}
@keyframes bj40-i1{0%{opacity:1}50%{opacity:.41}to{opacity:.21}}
@keyframes bj40-i2{0%{opacity:.41}50%{opacity:.21}to{opacity:1}}
@keyframes bj40-i3{0%{opacity:.21}50%{opacity:1}to{opacity:.41}}

/* cards (Global .dialog-main): reveal with a clip-path wipe once the frames have arrived */
#bj40 .bj40-card{background-color:#0d0d0d66;clip-path:inset(0 0 100% 0);min-height:26.88vw;opacity:0;position:absolute;transform:translateY(-50%);transition:opacity .3s,clip-path 1s;width:31.6vw;z-index:21}
#bj40 .bj40-sticky[data-screen=hero] [data-for=hero] .bj40-card,#bj40 .bj40-sticky[data-screen="4wd"] [data-for="4wd"] .bj40-card,
#bj40 .bj40-sticky[data-screen=ats] [data-for=ats] .bj40-card,#bj40 .bj40-sticky[data-screen=cage] [data-for=cage] .bj40-card,
#bj40 .bj40-sticky[data-screen=frame] [data-for=frame] .bj40-card,#bj40 .bj40-sticky[data-screen=family] [data-for=family] .bj40-card,
#bj40 .bj40-sticky[data-screen=door] [data-for=door] .bj40-card,#bj40 .bj40-sticky[data-screen=tail] [data-for=tail] .bj40-card{clip-path:inset(0);opacity:1;transition:opacity .6s .3s,clip-path 1s .3s}
#bj40 .bj40-card img{aspect-ratio:1580/832;height:auto;object-fit:cover;width:100%}
#bj40 .bj40-card__text{letter-spacing:.1vw;padding:1.5vw 2vw;text-align:center}
#bj40 .bj40-card__title{font-size:clamp(16px,1.2vw,30px);line-height:1.2}
#bj40 .bj40-card__memo{font-size:clamp(12px,.92vw,22px);line-height:1.5;margin-top:1vw}
#bj40 .bj40-card--4wd{right:10.35vw;top:49%}
#bj40 .bj40-card--ats{right:9vw;top:40%}
#bj40 .bj40-card--cage{right:10.35vw;top:53%}
#bj40 .bj40-card--frame{right:10.35vw;top:51%}
#bj40 .bj40-card--family{right:8.8vw;top:50%}
#bj40 .bj40-card--door{right:7.35vw;top:50%}
#bj40 .bj40-card--tail{right:10.35vw;top:45%}

/* ATS terrain controls (Global .tap-group / .tap-item) */
#bj40 .bj40-terrains{display:flex;justify-content:space-between;left:50%;position:absolute;top:82.5%;transform:translate(-50%);width:max(27.58vw,330px);z-index:30}
#bj40 .bj40-terrain{align-items:center;display:flex;flex-direction:column;min-width:2.76vw;padding:4px 6px;position:relative}
#bj40 .bj40-terrain__icons{display:block;position:relative;width:clamp(28px,2.76vw,64px)}
#bj40 .bj40-terrain__icons img{height:auto;transition:opacity .5s;width:100%}
#bj40 .bj40-terrain__icons .un{opacity:.6}
#bj40 .bj40-terrain__icons .ch{left:0;opacity:0;position:absolute;top:0}
#bj40 .bj40-terrain[aria-pressed=true] .un{opacity:0}
#bj40 .bj40-terrain[aria-pressed=true] .ch{opacity:1}
#bj40 .bj40-terrain__txt{color:#fff;font-size:clamp(12px,1vw,24px);letter-spacing:.04vw;line-height:1.2;margin-top:.5vw;opacity:.6;text-shadow:0 0 .2vw #000;white-space:nowrap}
#bj40 .bj40-terrain[aria-pressed=true] .bj40-terrain__txt{color:var(--main);opacity:1}

/* geometry (page4): title, figure tables (Global .argument-table) */
#bj40 .bj40-geo-title{background:linear-gradient(180deg,#fff,#7a797a);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-size:clamp(20px,2vw,48px);font-weight:600;left:50%;line-height:1.3;position:absolute;text-align:center;top:6.8vw;transform:translate(-50%);width:max(49.99vw,320px)}
#bj40 .bj40-figs{align-items:center;background-color:#87878733;bottom:2.6vw;display:flex;justify-content:space-around;left:50%;min-height:4.6vw;min-width:70vw;opacity:0;padding:.6vw 5.9vw;position:absolute;transform:translate(-50%);transition:opacity .3s}
#bj40 .bj40-figs:before,#bj40 .bj40-figs:after{background-color:var(--orange);content:"";height:3.35vw;min-height:28px;position:absolute;top:50%;transform:translateY(-50%);width:max(2px,.14vw)}
#bj40 .bj40-figs:before{left:0}
#bj40 .bj40-figs:after{right:-1px}
#bj40 .bj40-figs__row{display:contents}
#bj40 .bj40-fig{align-items:center;display:flex;flex-direction:column}
#bj40 .bj40-fig .name{color:#fff;font-size:clamp(11px,1vw,24px);text-transform:uppercase;transform:scale(.9) translateY(20%)}
#bj40 .bj40-fig .num{color:var(--orange);font-size:clamp(18px,2vw,48px);font-weight:600;transform:scale(.8);white-space:nowrap}
#bj40 .bj40-sticky[data-screen=geo] .bj40-figs[data-fig=gasoline]{opacity:var(--fig-gas,0)}
#bj40 .bj40-sticky[data-screen=geo] .bj40-figs[data-fig=diesel]{opacity:var(--fig-die,0)}
#bj40 .bj40-sticky .bj40-figs{transition:opacity .6s}

/* hotspot (Global .point-main.bright-spot, desktop): dot, vertical line drawn up, then horizontal line to the card */
#bj40 .bj40-spot{height:16.29vw;left:50%;position:absolute;top:35%;transform:translate(-50%,-50%);width:28.22vw;z-index:3}
#bj40 .bj40-spot .pt{bottom:0;height:auto;left:0;position:absolute;width:4vw}
#bj40 .bj40-spot .l1{clip-path:inset(12vw 0 0 0);height:12vw;left:1.86vw;min-width:.2vw;position:absolute;top:.13vw;transition:clip-path 1s;width:auto}
#bj40 .bj40-spot .l2{clip-path:inset(0 26.32vw 0 0);height:auto;left:1.86vw;position:absolute;top:0;transition:clip-path 1s;width:26.32vw}
#bj40 .bj40-sticky[data-screen=cage] [data-for=cage] .bj40-spot .l1,#bj40 .bj40-sticky[data-screen=frame] [data-for=frame] .bj40-spot .l1,
#bj40 .bj40-sticky[data-screen=family] [data-for=family] .bj40-spot .l1,#bj40 .bj40-sticky[data-screen=door] [data-for=door] .bj40-spot .l1,
#bj40 .bj40-sticky[data-screen=tail] [data-for=tail] .bj40-spot .l1{clip-path:inset(0)}
#bj40 .bj40-sticky[data-screen=cage] [data-for=cage] .bj40-spot .l2,#bj40 .bj40-sticky[data-screen=frame] [data-for=frame] .bj40-spot .l2,
#bj40 .bj40-sticky[data-screen=family] [data-for=family] .bj40-spot .l2,#bj40 .bj40-sticky[data-screen=door] [data-for=door] .bj40-spot .l2,
#bj40 .bj40-sticky[data-screen=tail] [data-for=tail] .bj40-spot .l2{clip-path:inset(0);transition-delay:1s}
#bj40 [data-for=cage] .bj40-spot{left:48%;top:38%}
#bj40 [data-for=frame] .bj40-spot{left:47%;top:32%}
#bj40 [data-for=family] .bj40-spot{left:50%;top:35%}
#bj40 [data-for=door] .bj40-spot{left:52%;top:35%}
#bj40 [data-for=tail] .bj40-spot{left:50%;top:30%}

/* Global desktop screen arrows (landscape only) */
#bj40 .bj40-step{animation:bj40-prev 3s linear infinite;box-sizing:content-box;left:50%;opacity:0;padding:.6vw;pointer-events:none;position:absolute;transform:translate(-50%);transition:opacity .3s;width:clamp(26px,2vw,48px);z-index:40}
#bj40 .bj40-step img{height:auto;width:100%}
#bj40 .bj40-step--prev{top:calc(66px - var(--top))}
#bj40 .bj40-step--next{animation-name:bj40-next;bottom:1vw}
#bj40[data-orient=landscape] .bj40-sticky:not([data-screen=hero]):not([data-screen=""]) .bj40-step{opacity:1;pointer-events:auto}
#bj40[data-orient=landscape] .bj40-sticky[data-last] .bj40-step--next{opacity:0;pointer-events:none}
#bj40 .bj40-step:focus-visible{opacity:1}

/* ---------- PORTRAIT composition (Global ".mobile" rules, tuned to the measured frame box) ---------- */
#bj40[data-orient=portrait] .bj40-title-img{left:50%;right:auto;top:20%;transform:translate(-50%,-50%);width:min(86vw,560px)}
#bj40[data-orient=portrait] .bj40-hero-btns{left:50%;right:auto;top:auto;bottom:calc(var(--vh)*7);transform:translateX(-50%)}
#bj40[data-orient=portrait] .bj40-btn{font-size:clamp(12px,2.89vw,16px);height:clamp(30px,6.67vw,44px);margin:0 2.26vw;min-width:min(33.87vw,190px)}
#bj40[data-orient=portrait] .bj40-next-cue{bottom:0}
#bj40[data-orient=portrait] .bj40-next-cue img{width:clamp(11px,2.86vw,18px)}
#bj40[data-orient=portrait] .bj40-card{left:50%;min-height:0;right:auto;top:calc(var(--vh)*3);transform:translateX(-50%);width:min(80.6vw,560px)}
#bj40[data-orient=portrait] .bj40-card img{max-height:calc(var(--vh)*22)}
#bj40[data-orient=portrait] .bj40-card__text{padding:max(3vw,10px) max(2vw,10px)}
#bj40[data-orient=portrait] .bj40-card__title{font-size:clamp(15px,4vw,20px)}
#bj40[data-orient=portrait] .bj40-card__memo{font-size:clamp(12px,2.89vw,15px);margin-top:max(2vw,6px)}
#bj40[data-orient=portrait] .bj40-terrains{bottom:calc(var(--vh)*2);justify-content:center;top:auto;width:100%}
#bj40[data-orient=portrait] .bj40-terrain{margin:0 2.5vw}
#bj40[data-orient=portrait] .bj40-terrain__icons{width:clamp(26px,6.76vw,44px)}
#bj40[data-orient=portrait] .bj40-terrain__txt{font-size:clamp(12px,3.2vw,16px);margin-top:1.5vw}
#bj40[data-orient=portrait] .bj40-geo-title{font-size:clamp(20px,5vw,30px);top:calc(var(--vh)*5);width:92vw}
#bj40[data-orient=portrait] .bj40-figs{background:none;bottom:auto;display:block;min-width:0;padding:0;top:calc(var(--vh)*15);width:min(92vw,520px)}
#bj40[data-orient=portrait] .bj40-figs:before,#bj40[data-orient=portrait] .bj40-figs:after{display:none}
#bj40[data-orient=portrait] .bj40-figs__row{align-items:center;background-color:#87878733;display:flex;justify-content:space-around;margin:0 auto min(4vw,18px);min-height:min(11.6vw,60px);padding:min(2.4vw,10px) min(5.7vw,30px);position:relative;width:min(56vw,340px)}
#bj40[data-orient=portrait] .bj40-figs__row+.bj40-figs__row{width:min(86vw,500px)}
#bj40[data-orient=portrait] .bj40-figs__row:before,#bj40[data-orient=portrait] .bj40-figs__row:after{background-color:var(--orange);content:"";height:6.8vw;max-height:30px;position:absolute;top:50%;transform:translateY(-50%);width:max(2px,.4vw)}
#bj40[data-orient=portrait] .bj40-figs__row:before{left:0}
#bj40[data-orient=portrait] .bj40-figs__row:after{right:-1px}
#bj40[data-orient=portrait] .bj40-fig .name{font-size:clamp(11px,2.89vw,15px);transform:translateY(20%)}
#bj40[data-orient=portrait] .bj40-fig .num{font-size:clamp(16px,4vw,24px);transform:none}
#bj40[data-orient=portrait] .bj40-render--cage{left:50%;top:auto;bottom:calc(var(--vh)*3);transform:translateX(-50%);width:min(150vw,calc(var(--vh)*95))}
#bj40[data-orient=portrait] .bj40-render--frame{left:50%;top:auto;bottom:calc(var(--vh)*3);transform:translateX(-50%);width:min(130vw,calc(var(--vh)*85))}
#bj40[data-orient=portrait] .bj40-spot,#bj40[data-orient=portrait] .bj40-step{display:none}
#bj40[data-orient=portrait] .bj40-particles .gravel1{bottom:calc(var(--vh)*20.09);width:8.48vw}
#bj40[data-orient=portrait] .bj40-particles .shamo1.gravel1{bottom:calc(var(--vh)*15.09);left:0;width:12.48vw}
#bj40[data-orient=portrait] .bj40-particles .snow1.gravel1{left:0;width:12.48vw}
#bj40[data-orient=portrait] .bj40-particles .gravel2{bottom:calc(var(--vh)*8);left:auto;right:0;width:15vw}
#bj40[data-orient=portrait] .bj40-particles .snow2.gravel2{bottom:0;width:22.22vw}
#bj40[data-orient=portrait] .bj40-particles .shamo2.gravel2{bottom:calc(var(--vh)*24);left:60%;width:12vw}
#bj40[data-orient=portrait] .bj40-particles .gravel3{bottom:calc(var(--vh)*30.4);right:4.6%;width:7.63vw}
#bj40[data-orient=portrait] .bj40-scene .rockery,#bj40[data-orient=portrait] .bj40-scene .vista{height:auto;top:calc(var(--vh)*58);transform:translateY(-50%);width:100%}
#bj40[data-orient=portrait] .bj40-scene .rockery{transform:translateY(-45.5%) translate(40%) scale(1.8)}

/* ---------- 10. Free-scroll area ---------- */
#bj40 .bj40-free{background:#0c0d0f center top/cover no-repeat;padding-bottom:5vw;position:relative}
#bj40 .bj40-free.is-near{background-image:linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.35)),url(/assets/bj40-global/images/bg1.webp)}
#bj40 .bj40-ctitle{background:linear-gradient(180deg,#fff,#7a797a);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;display:block;font-size:clamp(24px,2vw,48px);font-weight:600;line-height:1.3;margin:0 auto;padding:14vh 4vw 3vh;text-align:center}
#bj40 .bj40-carousel{position:relative}
#bj40 .bj40-swiper{overflow:hidden;padding-bottom:40px;position:relative}
#bj40 .bj40-slide{height:auto;margin:0 1vw;width:46.45vw}
#bj40 .bj40-slide__open{display:block;width:100%}
#bj40 .bj40-slide__img{aspect-ratio:1980/1032;border:max(1px,.1vw) solid hsla(0,0%,100%,.1);border-radius:.52vw;height:24.11vw;object-fit:cover;width:100%}
#bj40 .bj40-slide__text{margin:0 auto;opacity:0;text-align:center;transition:opacity 1s;width:40vw}
#bj40 .swiper-slide-active .bj40-slide__text{opacity:1}
#bj40 .bj40-slide__title{color:#fff;font-size:clamp(17px,1.43vw,34px);margin:2.6vw auto .6vw}
#bj40 .bj40-slide__intro{color:#fff;font-size:clamp(13px,.92vw,22px)}
#bj40 .bj40-arrow{height:50px;position:absolute;top:calc(12.05vw - 25px);width:50px;z-index:10}
#bj40 .bj40-arrow img{height:100%;width:100%}
#bj40 .bj40-arrow--prev{left:5%}
#bj40 .bj40-arrow--next{right:5%}
#bj40 .bj40-bullets{bottom:0!important;display:flex;gap:8px;justify-content:center;left:0;position:absolute;width:100%}
#bj40 .bj40-bullets .swiper-pagination-bullet{background:#fff;border-radius:0;height:2px;margin:0!important;opacity:.3;transition:opacity .3s;width:30px}
#bj40 .bj40-bullets .swiper-pagination-bullet-active{opacity:1}
#bj40[data-orient=portrait] .bj40-slide{margin:0;width:100%}
#bj40[data-orient=portrait] .bj40-slide__img{border-radius:max(1.27vw,6px);height:min(60svh,110vw);margin:0 auto;width:80.53vw}
#bj40[data-orient=portrait] .bj40-slide__text{width:95vw}
#bj40[data-orient=portrait] .bj40-slide__title{align-items:center;display:flex;font-size:clamp(15px,4vw,20px);justify-content:center;margin:1.6vw auto 0;padding-bottom:max(4vw,14px);position:relative}
#bj40[data-orient=portrait] .bj40-slide__title:after{background-color:#ffffff80;bottom:.5em;content:"";height:1px;left:50%;position:absolute;transform:translate(-50%);width:100vw}
#bj40[data-orient=portrait] .bj40-slide__title:before{background-color:#fff;bottom:calc(.5em - 1px);content:"";height:3px;left:50%;position:absolute;transform:translate(-50%);width:16vw}
#bj40[data-orient=portrait] .bj40-slide__intro{font-size:clamp(12px,2.89vw,15px);padding:0 2vw}
#bj40[data-orient=portrait] .bj40-arrow,#bj40[data-orient=portrait] .bj40-bullets{display:none}
#bj40[data-orient=portrait] .bj40-swiper{padding-bottom:0}

/* specifications (Global Specifications component data-v-5dfccb0b, as BJ30 V2 / U5 PLUS) — no inner scroll box */
#bj40 .bj40-specs .bj40-spec{background:#fff;color:#000;margin:0 auto;max-width:1600px;width:76.39vw}
.bj40-spec .spec-m{display:none}
@media (max-width:1199px){.bj40-spec .spec-pc{display:none}.bj40-spec .spec-m{display:block}#bj40 .bj40-specs .bj40-spec{width:min(92vw,720px)}}
.bj40-spec{font-size:14px;line-height:1.5}
.bj40-spec .params-table{border-collapse:collapse;border-spacing:0;margin:0 auto;width:100%}
.bj40-spec .params-table td{padding:0}
.bj40-spec .params-table .table_line:first-child .table_cell:first-child{max-width:25em;min-width:25em}
.bj40-spec .params-table .table_cell{border:1px solid #c7c7c7;padding:6px 10px;text-align:center;white-space:pre-line}
.bj40-spec .params-table .table_cell:first-child{border-left:none;border-right:1px solid #c7c7c7}
.bj40-spec .params-table .table_cell:last-child{border-left:1px solid #c7c7c7;border-right:none}
.bj40-spec .params-table .params-table__body .table_line.stripe-even{background-color:#e8e8ea}
.bj40-spec .params-table .params-table__body .table_line_menu{background-color:#8894a3;border:none;color:#fff;cursor:pointer}
.bj40-spec .params-table .params-table__body .table_line_menu .table_cell{font-weight:700;padding:5px 0;text-align:left}
.bj40-spec .params-table .table_cell__menu{align-items:center;display:flex;flex-direction:row;min-height:24px}
.bj40-spec .params-table .icon-plus-menu{margin:0 34px 0 20px;position:relative}
.bj40-spec .params-table .icon-plus-menu.close:after{transform:rotate(90deg)}
.bj40-spec .params-table .icon-plus-menu:after{background:#fff;content:"";height:1px;left:0;position:absolute;top:0;transition:transform .3s;width:14px}
.bj40-spec .params-table .icon-plus-menu:before{background:#fff;content:"";height:1px;left:0;position:absolute;top:0;width:14px}
.bj40-spec .params-table .params-table__footer,.bj40-spec .params-table .params-table__header{background-color:#53586d;color:#fff}
.bj40-spec .params-table .params-table__footer .table_cell,.bj40-spec .params-table .params-table__header .table_cell{font-weight:700}
.bj40-spec .params-table .table_line_menu:focus-visible{outline:2px solid #53586d;outline-offset:-2px}
.bj40-spec .params-div{display:flex;flex-direction:column}
.bj40-spec .params-div .params-div__select{align-items:center;background-color:#8894a3;display:flex;height:51px;padding:0 20% 0 15px}
.bj40-spec .params-div .params-div__block{display:flex;flex-direction:column}
.bj40-spec .params-div .params-div__block:nth-child(2) .params-div__line:nth-child(2n){background-color:transparent;border-bottom:1px solid #e8e8ea;border-top:1px solid #e8e8ea}
.bj40-spec .params-div .params-div__menu{background-color:#8894a3;border-bottom:1px solid #fff;color:#fff;cursor:pointer}
.bj40-spec .params-div .params-div__menu .params-div__value{position:relative;text-align:right}
.bj40-spec .params-div .params-div__menu .params-div__value.close:after{transform:rotate(90deg)}
.bj40-spec .params-div .params-div__menu .params-div__value:after{transition:transform .5s}
.bj40-spec .params-div .params-div__menu .params-div__value:after,.bj40-spec .params-div .params-div__menu .params-div__value:before{background:#fff;content:"";height:1px;left:-14px;position:absolute;right:0;top:0;width:14px;z-index:10}
.bj40-spec .params-div .params-div__body{overflow:hidden;transition:all .4s ease-in-out}
.bj40-spec .params-div .params-div__line{align-items:center;display:flex;flex-direction:row;min-height:51px;padding:5px .5em}
.bj40-spec .params-div .params-div__block .params-div__line:nth-child(2n){background-color:#e8e8ea}
.bj40-spec .params-div .params-div__body .params-div__line{padding:0;position:relative}
.bj40-spec .params-div .params-div__body .params-div__line:after{background:#bfbfbf6b;content:"";height:100%;left:55%;position:absolute;top:0;transform:translate(-50%);width:1px}
.bj40-spec .params-div .params-div__body .params-div__name{padding:0 .5em;width:54%;word-break:break-word}
.bj40-spec .params-div .params-div__body .params-div__value{padding:0 .5em;text-align:right;white-space:pre-line;width:45%}
.bj40-spec .params-div .params-div__menu .params-div__name{flex:1}
.bj40-spec .params-div .params-div__menu:focus-visible{outline:2px solid #fff;outline-offset:-3px}
.bj40-spec .bj40-trim{-webkit-appearance:none;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%23a8abb2' d='M831.872 340.864 512 652.672 192.128 340.864a30.59 30.59 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.59 30.59 0 0 0-42.752 0z'/%3E%3C/svg%3E") no-repeat right 8px center/14px 14px;border:0;border-radius:4px;box-shadow:inset 0 0 0 1px #dcdfe6;color:#606266;cursor:pointer;font-size:14px;height:32px;line-height:32px;padding:0 30px 0 12px;width:100%}
.bj40-spec .bj40-trim:focus{box-shadow:inset 0 0 0 1px #d1291a;outline:none}
#bj40 .bj40-spec-remark{color:#fff;font-size:13px;margin:16px auto 0;max-width:1600px;white-space:pre-line;width:76.39vw}
@media (max-width:1199px){#bj40 .bj40-spec-remark{width:min(92vw,720px)}}

/* test drive */
#bj40 .bj40-cta{padding-bottom:4vw;text-align:center}
#bj40 .bj40-td-btn{-webkit-backdrop-filter:blur(1vw);backdrop-filter:blur(1vw);background-color:#fff3;border-radius:.2vw;color:#fff;display:inline-block;font-size:clamp(13px,1vw,22px);letter-spacing:.2vw;padding:clamp(10px,.8vw,18px) 6vw;transition:all .3s}
#bj40 .bj40-td-btn:hover{background-color:#fff;color:#1a1a1a}

/* full-screen image viewer (Global .full-dialog) */
.bj40-full{background:#0009;border:0;height:100%;inset:0;margin:0;max-height:none;max-width:none;overflow:hidden;padding:0;position:fixed;width:100%;z-index:10000}
.bj40-full[open]{align-items:center;display:flex;justify-content:center}
.bj40-full::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0009}
.bj40-full__img{height:auto;max-height:100%;object-fit:contain;position:relative;width:100%}
.bj40-full__text{background:linear-gradient(180deg,transparent,rgba(0,0,0,.8));bottom:0;box-sizing:border-box;color:#fff;font-family:Arial,Helvetica,sans-serif;height:50vh;left:0;padding:28vh 50% 0 2.8vw;position:absolute;width:100%;z-index:2}
.bj40-full__title{font-size:clamp(17px,1.43vw,34px);font-weight:400;margin:0 0 .6vw}
.bj40-full__intro{font-size:clamp(13px,.92vw,22px);margin:0}
.bj40-full__btn{background:none;border:0;cursor:pointer;height:50px;padding:0;position:absolute;top:48%;width:50px;z-index:3}
.bj40-full__btn img{height:100%;width:100%}
.bj40-full__prev{left:1%}
.bj40-full__next{right:1%}
.bj40-full__close{background:none;border:0;cursor:pointer;padding:0;position:absolute;right:2vw;top:1vw;width:clamp(32px,2.6vw,60px);z-index:3}
.bj40-full__close img{height:auto;width:100%}
@media (orientation:portrait){
  .bj40-full__img{transform:translateY(-5%)}
  .bj40-full__text{padding:calc(var(--vh,1vh)*26) 2.8vw calc(var(--vh,1vh)*5)}
  .bj40-full__close{right:4vw;top:max(5.5vw,16px);width:clamp(32px,10vw,48px)}
  .bj40-full__btn{height:auto;padding:.5vw 0 .5vw .5vw;top:52%;width:clamp(30px,8vw,44px)}
}
html.bj40-full-open{overflow:hidden}

/* ---------- Reduced motion: key frames only, no fades / wipes / bobbing ---------- */
@media (prefers-reduced-motion:reduce){
  #bj40 *,#bj40 *:before,#bj40 *:after,.bj40-full *{animation:none!important;transition:none!important}
}
