/* Interactive WebGL showroom and dimensional details; all product information is retained. */
.hero{padding-top:140px;padding-bottom:8px;background:radial-gradient(ellipse at 84% 28%,#30496d80,transparent 50%),radial-gradient(ellipse at 3% 100%,#37456450,transparent 50%),#101a36;color:#fff;isolation:isolate}
.hero::before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#ffffff12 .8px,transparent .8px);background-size:29px 29px;mask-image:linear-gradient(to right,transparent,#000);pointer-events:none}
.hero::after{content:'';position:absolute;width:440px;height:440px;border:1px solid #efbe5110;border-radius:50%;left:-250px;top:35%;box-shadow:0 0 0 70px #efbe5104,0 0 0 140px #efbe5103;pointer-events:none;z-index:-1}
.hero-grid{grid-template-columns:.95fr 1.1fr;gap:48px}
.hero-copy{padding:25px 0}
.hero-tag{color:#e2d7b9;background:#ffffff05;border-color:#ffffff1a;font-size:11px}
.pulse{background:#efc778}.pulse::after{border-color:#efc778}
.hero-title{font-size:clamp(46px,5.05vw,76px);color:#fff;line-height:1.12;letter-spacing:-.045em}
.hero-title .outline{color:#efcd8c;-webkit-text-stroke:0;text-shadow:0 0 40px #efbe5110}
.hero-title .outline::after{background:#efbe5125;height:.08em;bottom:-.07em;right:3%;transform:rotate(-2deg)}
.hero-lead{color:#b9c4da;font-size:15px;line-height:1.95;max-width:44ch}
.hero-btns{margin-top:31px;gap:11px}
.hero-btns .btn-orange{background:#eec77e;color:#17213b;box-shadow:0 10px 30px -15px #efbe5170}
.hero-btns .btn-orange::before{background:#fff}.hero-btns .btn-ghost{color:#e7eaf0;border-color:#ffffff30;background:#ffffff03}.hero-btns .btn-ghost::before{background:#ffffff12}
.hero-btns .btn{padding:17px 21px;font-size:12px}.hero-btns .btn-ghost small{color:#c2cee1}
.hero-foot{margin-top:28px;padding-top:23px;padding-bottom:27px;gap:30px}.hero-foot::before{background:#ffffff16}
.hero-foot p{color:#b7c3da;font-size:10px}.scroll-cue{border-color:#71809d}.scroll-cue span{background:#eec77e}
/* "Sold at": all clients glide from right to left on a cream strip; hovering pauses it. */
.hero-logos{position:relative;flex:1;min-width:0;overflow:hidden;padding:15px 0;border-radius:14px;background:#f8f7f2;border:1px solid #ffffff30}
.hero-logos::before,.hero-logos::after{content:'';position:absolute;top:0;bottom:0;left:0;z-index:1;width:70px;pointer-events:none;background:linear-gradient(90deg,#f8f7f2 15%,#f8f7f200)}
.hero-logos::after{left:auto;right:0;transform:scaleX(-1)}
.hero-logos-track{display:flex;align-items:center;width:max-content}
.hero-logos-track img{flex:none;width:auto;height:22px;max-width:none;margin-right:58px;object-fit:contain;opacity:.88;transition:opacity .3s,transform .3s}
.hero-logos-track img:hover{opacity:1;transform:translateY(-2px)}
.hero-logos-track.moving{animation:hero-logos 40s linear infinite}
.hero-logos:hover .hero-logos-track{animation-play-state:paused}
@keyframes hero-logos{to{transform:translateX(-50%)}}
.reduce .hero-logos{overflow-x:auto;scrollbar-width:none}.reduce .hero-logos-track.moving{animation:none}.reduce .hero-logos-track img[aria-hidden]{display:none}
@media (max-width:640px){.hero-logos{padding:13px 0}.hero-logos-track img{margin-right:40px}.hero-logos-track.moving{animation-duration:30s}}
.words{background:#0d1732;border-top:1px solid #ffffff13;border-bottom:1px solid #ffffff13}

/* ---------- Interactive 3D showroom ----------
   A spotlit stage where pictures stream in from the right, with one glass control deck below it. */
.hero-world{--active:#f0dfb9;position:relative;height:560px;width:100%;min-width:0;border-radius:30px;border:1px solid #c9d5ef24;isolation:isolate;overflow:hidden;
  background:radial-gradient(ellipse 55% 45% at 50% 0,#f2cf8a1c,transparent 70%),radial-gradient(ellipse 70% 55% at 50% 52%,#3b558866,transparent 70%),linear-gradient(165deg,#1c2e56,#0f1834 72%);
  box-shadow:inset 0 1px 0 #ffffff14,0 40px 80px -40px #020714a0}
.hero-world::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(#ffffff0d .8px,transparent .8px) 0 0/24px 24px;mask-image:radial-gradient(ellipse at 50% 30%,#000,transparent 70%)}
.hero-world::after{content:'';position:absolute;left:12px;right:12px;bottom:12px;height:72px;z-index:1;border-radius:20px;pointer-events:none;
  background:linear-gradient(180deg,#ffffff0b,#ffffff04);border:1px solid #ffffff12;box-shadow:inset 0 1px 0 #ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.world-topbar{position:absolute;left:24px;right:20px;top:20px;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:16px;pointer-events:none;line-height:1.2}
.world-live{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff}
html[lang|="zh"] .world-live{letter-spacing:.16em}
.world-live::before{content:'';width:7px;height:7px;border-radius:50%;background:#efc778;box-shadow:0 0 0 3px #efc77826,0 0 14px #efbe51a0;animation:world-live 2.4s ease-in-out infinite}
@keyframes world-live{50%{box-shadow:0 0 0 6px #efc77800,0 0 14px #efbe5160}}
.world-drag{display:flex;align-items:center;gap:7px;padding:6px 11px;border-radius:99px;border:1px solid #ffffff14;background:#ffffff08;font-size:9px;letter-spacing:.04em;color:#a9b7d0}
.world-drag::before{content:'↔';font-size:11px;color:#efc778}
.world-viewport{position:absolute;inset:48px 0 92px;z-index:2;cursor:grab;touch-action:pan-y;outline:none;border-radius:24px;perspective:1000px;-webkit-user-select:none;user-select:none}
.world-viewport:focus-visible{outline:1px solid #efbe5180;outline-offset:-6px}
.world-viewport.dragging{cursor:grabbing}.world-viewport.over-product{cursor:pointer}
.world-canvas{position:absolute;inset:0;overflow:hidden;border-radius:24px;pointer-events:none}
.world-canvas canvas{display:block;width:100%;height:100%;pointer-events:none}
.world-still{position:absolute;left:50%;top:50%;width:auto;height:78%;translate:-50% -50%;filter:drop-shadow(0 22px 24px #02071480)}
.world-mounted .world-still{display:none}

.world-categories{position:absolute;left:26px;right:198px;bottom:26px;z-index:4;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}
.world-categories button{position:relative;justify-self:center;width:100%;max-width:44px;aspect-ratio:1;border-radius:12px;background:var(--swatch);opacity:.6;box-shadow:inset 0 0 0 1px #ffffff55,0 4px 10px #00000026;transition:opacity .3s,translate .35s var(--ease),box-shadow .35s}
.world-categories button img{width:100%;height:100%;object-fit:contain;padding:3px;pointer-events:none;transition:transform .35s var(--ease)}
.world-categories button:hover{opacity:1;translate:0 -3px}.world-categories button:hover img{transform:scale(1.1)}
.world-categories button[aria-pressed=true]{opacity:1;translate:0 -3px;box-shadow:0 0 0 2px #14213f,0 0 0 3.5px #f2cd86,0 8px 22px -4px #efbe5160}
.world-transport{position:absolute;right:26px;bottom:31px;z-index:4;display:flex;gap:6px;align-items:center;padding-left:18px;border-left:1px solid #ffffff14}
.world-transport button{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #ffffff1f;background:#ffffff08;color:#c7d3e6;font-size:18px;line-height:1;transition:background .25s,color .25s,border-color .25s,transform .25s}
.world-transport button:hover,.world-transport button:focus-visible{background:#efc778;color:#12204a;border-color:#efc778;transform:translateY(-1px)}
.world-transport button svg{width:13px;height:13px}.world-transport #world-prev svg{rotate:180deg}.world-transport .world-pause{font-size:13px}
.world-pause[aria-pressed=true]{background:#efc77822;color:#efc778;border-color:#efc77866}

/* CSS fallback when WebGL is not available. */
.world-css-orbit{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none}
.world-css-orbit[hidden]{display:none!important}
.world-css-orbit::before{content:'';position:absolute;width:72%;height:26%;left:14%;bottom:4%;border-radius:50%;background:radial-gradient(ellipse,#2c4373,#14244d 70%);border:1px solid #efbe5170;box-shadow:0 0 0 8px #efbe510a,0 0 45px #efbe5122;transform:rotateX(55deg)}
.world-css-paw{position:absolute;width:26%;left:37%;top:4%;height:auto;fill:#eec77e;filter:drop-shadow(0 6px 0 #a58142) drop-shadow(0 0 30px #efbe5155);transform:translateZ(-20px)}
.world-css-card{position:absolute;width:21%;height:47%;left:39.5%;top:32%;border-radius:16px;background:var(--swatch);border:1px solid #ffffff55;box-shadow:0 22px 38px -16px #000a;transform-style:preserve-3d;will-change:transform;backface-visibility:hidden;transition:box-shadow .4s}
.world-css-card.front{box-shadow:0 0 0 2px #f2cd86,0 22px 38px -16px #000a}
.world-css-card img{width:100%;height:100%;object-fit:contain;padding:9px;transform:translateZ(15px);filter:drop-shadow(0 9px 7px #12204a18)}

@media (max-width:1280px) and (min-width:1101px){.hero-world{height:540px}}
@media (max-width:1100px){
  .hero-world{height:510px;border-radius:26px}
  .world-topbar{left:20px;right:16px}.world-live{font-size:11px}.world-drag{font-size:8px;padding:5px 9px}
  .world-categories{left:22px;right:176px;gap:7px}
  .world-transport{right:22px;bottom:33px;gap:5px;padding-left:14px}.world-transport button{width:30px;height:30px}
}
@media (max-width:800px){.hero-world{max-width:620px;height:560px;margin:0 auto}}
@media (max-width:640px){
  .hero-world{height:480px;border-radius:22px}.hero-world::after{left:9px;right:9px;bottom:9px;height:104px;border-radius:16px}
  .world-topbar{left:18px;right:14px;top:16px;gap:8px}.world-live{font-size:10px;letter-spacing:.08em;gap:8px}.world-drag{font-size:8px;max-width:150px}
  .world-viewport{inset:42px 0 118px}
  .world-transport{left:0;right:0;bottom:68px;justify-content:center;gap:8px;padding:0;border:0}.world-transport button{width:28px;height:28px;font-size:16px}.world-transport button svg{width:11px;height:11px}.world-transport .world-pause{font-size:11px}
  .world-categories{left:18px;right:18px;bottom:19px;gap:6px}.world-categories button{border-radius:9px}.world-categories button img{padding:2px}
  .world-categories button[aria-pressed=true]{box-shadow:0 0 0 2px #14213f,0 0 0 3px #f2cd86}
}
@media (max-width:359px){
  .hero-world{height:460px}.world-categories{left:13px;right:13px;gap:4px}.world-live{font-size:9px}
}
@media (prefers-reduced-motion:reduce){.world-live::before{animation:none}.world-css-orbit,.world-css-card{transition:none}}

/* Labels, depth, light response and stitched edges give the rest of the page equal care. */
.detail-eyebrow{position:relative;display:flex;align-items:center;gap:12px;font:600 10px/1.5 var(--body);letter-spacing:.15em;text-transform:uppercase;color:#ab4b2d;margin-bottom:21px}
.detail-eyebrow>span{font-variant-numeric:tabular-nums;font-size:9px;opacity:.6}.detail-eyebrow>i{display:block;width:30px;height:1px;background:currentColor;opacity:.4}
.process .detail-eyebrow,.brandkh .detail-eyebrow{color:#e6c996}.contact .detail-eyebrow{margin-bottom:21px}
.factories>.wrap>.detail-eyebrow{grid-column:1/-1}
.depth-card{transform-style:preserve-3d;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .45s,border-color .35s}
.depth-card:hover{will-change:transform}
.coll.depth-card{overflow:visible;isolation:auto}
.coll.depth-card::before{content:'';position:absolute;inset:10px;border:1px dashed #ffffff65;border-radius:18px;transform:translateZ(2px);pointer-events:none}
.coll.depth-card::after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--light-x,50%) var(--light-y,30%),#ffffff4a,transparent 55%);opacity:0;transition:opacity .4s;transform:translateZ(1px);pointer-events:none}
.coll.depth-card:hover::after{opacity:1}
.coll.depth-card .coll-info{transform:translateZ(22px)}
.coll.depth-card .coll-art{transform-style:preserve-3d}
.coll.depth-card .coll-art .a1{transform:translateZ(55px)}
.coll.depth-card .coll-art .a2{transform:translateZ(25px) rotate(8deg)}
.coll.depth-card .coll-art .a3{transform:translateZ(38px) rotate(-7deg)}
.coll.depth-card .coll-art .a4{transform:translateZ(18px) rotate(5deg)}
.coll.depth-card:hover{box-shadow:0 25px 45px -25px #12204a45}
.coll-idx{display:inline-block;border:1px solid currentColor;border-radius:20px;padding:5px 9px;align-self:flex-start;opacity:.65}
.coll-count b{position:relative}.coll-count b::after{content:'';position:absolute;height:1px;width:26px;background:currentColor;right:-38px;bottom:4px;opacity:.35}.coll-count span{margin-left:28px}
.numbers-grid{overflow:hidden;border:1px solid #edbf5a40;position:relative}.numbers-grid::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 100% 0,#e8b94d14,transparent 65%);pointer-events:none}
.num b{text-shadow:0 0 35px #efbe5112}
.process{position:relative;background:radial-gradient(ellipse at 40% 0,#31456a50,transparent 60%),#101a36;background-image:radial-gradient(#ffffff08 .8px,transparent .8px);background-size:22px 22px}
.process .wrap{position:relative}.process .sec-head p{color:#aab9d2}
.steps{counter-reset:journey}.step{counter-increment:journey;isolation:isolate;border-color:#ffffff12;background:#ffffff03;overflow:visible}
.step::after{content:counter(journey,decimal-leading-zero);font:700 90px/1 var(--display);letter-spacing:-.07em;position:absolute;right:9px;bottom:2px;color:#ffffff05;z-index:-1;pointer-events:none}
.step.on{border-color:#efbe5150;box-shadow:0 15px 35px -25px #00000060;background:#ffffff06}
.step-ico{transform:translateZ(25px);box-shadow:0 5px 15px -8px #00000070;transition:transform .5s}.step:hover .step-ico{transform:translateZ(38px) rotate(-8deg)}
.step-media{transform:translateZ(5px)}.step-media img{will-change:transform}.step-txt{transform:translateZ(15px)}
.steps-line{background:repeating-linear-gradient(to right,#ffffff24 0 4px,transparent 4px 9px);height:2px}.steps-line i{box-shadow:0 0 14px #efbe5145}
.fac-tabs{position:relative}.fac-tab{position:relative;overflow:hidden}.fac-tab::after{content:'';position:absolute;inset:auto 14% 0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .5s}.fac-tab[aria-selected=true]::after{transform:scaleX(1)}
.fac-tab[aria-selected=true]{background:linear-gradient(140deg,#253960,#12204a)}
.fac-panel{box-shadow:0 20px 60px -50px #12204a55}.fac-badge{box-shadow:5px 6px 0 #efbe5138;z-index:2}
.fac-stats div{position:relative;overflow:hidden}.fac-stats div::after{content:'';position:absolute;width:30px;height:30px;border:1px solid #12204a10;border-radius:50%;right:-8px;top:-8px;box-shadow:0 0 0 8px #12204a03}
.bar .track{position:relative}.bar .track::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,#ffffff50 50%,transparent 80%);transform:translateX(-100%);animation:capacity-sheen 7s ease-in-out infinite;pointer-events:none}
@keyframes capacity-sheen{0%,70%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.brandkh{position:relative}
.brandkh::before{content:'';position:absolute;inset:0;pointer-events:none}
.brandkh .bk-grid{position:relative}
.cert.depth-card{overflow:visible;isolation:isolate}.cert.depth-card::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(circle at var(--light-x,50%) var(--light-y,15%),#efbe5117,transparent 70%);pointer-events:none}
.cert.depth-card .cert-logo{transform:translateZ(27px)}.cert.depth-card>b{transform:translateZ(14px)}.cert.depth-card>span{transform:translateZ(8px)}
.cert:hover{box-shadow:0 25px 38px -26px #12204a55;border-color:#dbbd76}.cert::after{border-radius:inherit}
.contact-card{isolation:isolate;overflow:visible;border:1px solid #ffffff15;background:linear-gradient(140deg,#1e3156,#12204a 70%)}
.contact-card::after{content:'';position:absolute;inset:0;border-radius:inherit;background:url('../brand/pawsign-192.png') no-repeat right -30px bottom -30px;background-size:230px;opacity:.045;z-index:-1;pointer-events:none}
.contact-card .person{transform:translateZ(22px)}.contact-card .reach,.contact-card .catalog-dl{transform:translateZ(16px)}
.avatar.avatar--portrait{width:96px;height:122px;border-radius:18px;overflow:hidden;border:2px solid #f2ce8b80;background:#f7f5ef;box-shadow:0 10px 24px #060e2540}
.avatar--portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.fl:focus-within{z-index:2}.fl input:focus,.fl select:focus,.fl textarea:focus{box-shadow:0 0 0 4px #efbe5126;border-color:#ad8640}
.foot-big{transition:color .5s,transform .8s;transform-origin:center bottom}.foot-big:hover{transform:perspective(1200px) rotateX(-12deg) translateY(-5px)}
.chapter-nav{position:fixed;right:13px;top:50%;transform:translateY(-50%) translateX(25px);z-index:42;display:grid;gap:12px;opacity:0;pointer-events:none;transition:transform .5s,opacity .5s}
.chapter-nav.show{transform:translateY(-50%);opacity:1;pointer-events:auto}
.chapter-nav a{position:relative;display:grid;place-items:center;width:16px;height:16px}.chapter-nav a>i{display:block;width:4px;height:4px;background:#7b86a2;border-radius:50%;transition:box-shadow .3s,background .3s}
.chapter-nav a.active>i{background:var(--gold);box-shadow:0 0 0 3px #e5bf6529,0 0 0 5px #e5bf6510}
.chapter-nav a>span{position:absolute;right:23px;white-space:nowrap;padding:5px 10px;border-radius:7px;background:var(--navy);color:#d8e2f3;font-size:9px;opacity:0;pointer-events:none;transform:translateX(5px);transition:transform .25s,opacity .25s;box-shadow:0 4px 10px #00000020}
.chapter-nav a:hover>span,.chapter-nav a:focus-visible>span{opacity:1;transform:none}

@media (max-width:1280px) and (min-width:1101px){
  .hero-grid{gap:30px;grid-template-columns:.9fr 1.1fr}.hero-title{font-size:clamp(43px,5vw,64px)}
  .hero-lead{font-size:14px}.hero-btns .btn{font-size:11px;padding-inline:17px}
}
@media (max-width:1100px){
  .hero{padding-top:130px}.hero-grid{grid-template-columns:.9fr 1.1fr;gap:28px}.hero-title{font-size:clamp(38px,5vw,54px)}.hero-tag{font-size:9px}.hero-lead{font-size:13px}.hero-btns .btn{font-size:10px;padding-inline:16px;gap:7px}.hero-btns .btn-ghost small{display:none}.chapter-nav{display:none}
}
@media (max-width:800px){
  .hero{padding-top:112px}.hero-grid{grid-template-columns:1fr;gap:28px}.hero-copy{padding:10px 0 0;max-width:640px}.hero-title{font-size:clamp(43px,7.4vw,61px)}.hero-tag{font-size:11px}.hero-lead{font-size:15px;max-width:52ch}.hero-btns .btn{font-size:12px;padding:16px 20px}.hero-foot{margin-top:29px}.hero-foot p{width:100%}
  .detail-eyebrow{font-size:9px;margin-bottom:18px}.coll.depth-card .coll-info{transform:none}
}
@media (max-width:640px){
  .avatar.avatar--portrait{width:76px;height:96px;border-radius:14px}.contact-card .person{gap:14px}
  .hero{padding-top:105px;padding-bottom:0}.hero-grid{gap:27px}.hero-title{font-size:clamp(37px,9.3vw,53px);line-height:1.14;margin:21px 0}.hero-tag{font-size:9px}.hero-lead{font-size:13px;line-height:1.9}.hero-btns{margin-top:23px;gap:8px}.hero-btns .btn{font-size:10px;padding:15px 16px;gap:6px}
  .hero-foot{gap:14px;padding-top:21px;padding-bottom:24px}.words{padding:16px 0}
  .depth-card{transform:none}.coll.depth-card .coll-art .a1{transform:translateZ(0)}.coll.depth-card .coll-art .a2{transform:rotate(8deg)}.coll.depth-card .coll-art .a3{transform:rotate(-7deg)}.coll.depth-card .coll-art .a4{transform:rotate(5deg)}
  .coll.depth-card::before{inset:8px;border-radius:15px}.coll-count span{margin-left:19px}.coll-count b::after{width:18px;right:-28px}.detail-eyebrow{font-size:8px;letter-spacing:.13em;gap:9px;margin-bottom:17px}.detail-eyebrow>i{width:22px}.step::after{font-size:110px}.step-txt{transform:none}.step-ico{transform:none}.contact-card .person,.contact-card .reach,.contact-card .catalog-dl{transform:none}
}
@media (max-width:359px){.hero-btns .btn{flex:1 1 100%;justify-content:center}}
@media (prefers-reduced-motion:reduce){.depth-card,.depth-card *{transform:none!important}.bar .track::after{animation:none}.foot-big:hover{transform:none}}
