/* Extracted from current homepage site-foundation.css. */
/* Regulation cards: preserve the Figma surfaces while arranging all five in
   an exponential 3D fan. Far cards stay inside the stage and recede by depth. */
#reg .reg-info .reg-grid{
  position:relative;display:block;width:100%;height:340px;margin-top:0;
  overflow:visible;perspective:none;transform-style:preserve-3d;
  cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;pointer-events:none
}
#regGrid.is-dragging{cursor:grabbing}
/* Keep the glass/card surface on the scaled plane while native-sized text remains
   a sibling on the same rotating 3D slot, avoiding scale-rasterized glyphs. */
#regGrid .reg-card-slot{
  --reg-x:0px;--reg-z:0px;--reg-ry:0deg;--reg-scale:1;--reg-opacity:1;--reg-edge-alpha:1;--reg-layer:10;
  --reg-card-perspective:420px;--reg-material-scale:1;
  --reg-pointer-rx:0deg;--reg-pointer-ry:0deg;--reg-hover-y:0px;--reg-hover-z:0px;--reg-pointer-scale:1;
  --reg-light-x:42%;--reg-light-y:28%;--reg-light-o:.306;
  position:absolute;z-index:var(--reg-layer);left:50%;top:50%;width:218px;max-width:calc(100% - 64px);height:160px;border-radius:20px;
  opacity:1;pointer-events:auto;
  background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;
  transform:translate3d(calc(-50% + var(--reg-x)),calc(-50% + var(--reg-hover-y)),0) perspective(var(--reg-card-perspective)) translateZ(calc(var(--reg-z) + var(--reg-hover-z))) rotateX(var(--reg-pointer-rx)) rotateY(calc(var(--reg-ry) + var(--reg-pointer-ry))) scale(var(--reg-pointer-scale));
  transform-origin:50% 50%;transform-style:preserve-3d;backface-visibility:hidden;isolation:auto;will-change:auto
}
#regGrid .reg-card-plane>.reg-reflection{
  display:block;position:absolute;z-index:0;left:1.5%;right:1.5%;top:calc(100% + 4px);height:94px;border-radius:20px;pointer-events:none;
  background:
    radial-gradient(ellipse 78% 104% at var(--reg-light-x) 0%,rgba(239,249,255,.3) 0%,rgba(156,211,250,.16) 28%,rgba(42,151,242,.06) 58%,transparent 82%),
    linear-gradient(180deg,rgba(255,255,255,.14),rgba(111,180,231,.055) 42%,rgba(19,141,255,.018) 68%,transparent 92%),
    var(--mm-surface-reg-card-default) center/100% 100% no-repeat;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.72) 24%,rgba(0,0,0,.38) 48%,rgba(0,0,0,.12) 66%,rgba(0,0,0,.025) 76%,transparent 82%,transparent 100%);
  mask-image:linear-gradient(180deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.72) 24%,rgba(0,0,0,.38) 48%,rgba(0,0,0,.12) 66%,rgba(0,0,0,.025) 76%,transparent 82%,transparent 100%);
  -webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  filter:blur(5px) saturate(1.08);opacity:.46;mix-blend-mode:screen;
  transform:perspective(190px) rotateX(56deg) scaleX(.98);transform-origin:50% 0;
  transition:opacity .32s cubic-bezier(.22,.61,.36,1),filter .32s cubic-bezier(.22,.61,.36,1);will-change:auto
}
#regGrid .reg-card-slot.is-center .reg-reflection{
  opacity:.82;filter:blur(6px) saturate(1.22);
  background:
    radial-gradient(ellipse 82% 108% at var(--reg-light-x) 0%,rgba(231,247,255,.42) 0%,rgba(89,186,255,.29) 30%,rgba(19,141,255,.115) 60%,transparent 84%),
    linear-gradient(180deg,rgba(213,238,255,.22),rgba(19,141,255,.09) 46%,rgba(19,141,255,.018) 72%,transparent 94%)
}
#regGrid .reg-card-slot.is-tilting .reg-reflection{opacity:.68;filter:blur(5px) saturate(1.18)}
#regGrid .reg-card-slot.is-center.is-tilting .reg-reflection{opacity:.94;filter:blur(6px) saturate(1.3)}
#regGrid .reg-card-slot.is-offstage{pointer-events:none}
#regGrid .reg-card-slot.is-offstage .reg-card-plane,
#regGrid .reg-card-slot.is-offstage .reg-native-copy{visibility:hidden}
#regGrid .reg-card-plane{
  position:absolute;z-index:1;inset:0;transform:scale(var(--reg-scale));transform-origin:50% 50%;
  border-radius:20px;background:var(--mm-surface-reg-card-default) center/100% 100% no-repeat,linear-gradient(rgba(6,7,11,.24),rgba(6,7,11,.24));
  -webkit-backdrop-filter:none;backdrop-filter:none;
  opacity:var(--reg-edge-alpha);transform-style:preserve-3d;backface-visibility:hidden;will-change:auto
}
#regGrid .reg-card-slot:not(.is-center) .reg-card-plane{
  -webkit-backdrop-filter:blur(1px) saturate(145%);backdrop-filter:blur(1px) saturate(145%)
}
html:not(.wire) #regGrid .reg-card-plane::before,
html:not(.wire) #regGrid .reg-card-plane::after{
  content:"";position:absolute;z-index:0;top:10px;bottom:10px;width:6px;border-radius:3px;
  pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;
  background:linear-gradient(90deg,#02060b 0%,#0c1721 24%,rgba(164,190,210,.3) 50%,#0b151f 76%,#02060b 100%);
  box-shadow:inset 0 1px rgba(255,255,255,.1),inset 0 -1px rgba(0,0,0,.72);opacity:.72
}
html:not(.wire) #regGrid .reg-card-plane::before{left:0;transform:translateX(-50%) rotateY(-90deg)}
html:not(.wire) #regGrid .reg-card-plane::after{right:0;transform:translateX(50%) rotateY(90deg)}
#regGrid .reg-item{
  width:100%;max-width:none;height:100%;min-height:100%;overflow:hidden;isolation:auto;transform:translateZ(3px);backface-visibility:hidden;cursor:pointer;
  background:transparent;
  -webkit-backdrop-filter:none;backdrop-filter:none;
  box-shadow:inset 0 1px 0 rgba(240,248,255,.14),inset 14px 0 28px -27px rgba(178,219,249,.32),inset -12px -20px 30px -28px rgba(19,141,255,.22),0 22px 38px -30px rgba(0,0,0,.88),43px 112px 34px rgba(0,0,0,0),28px 72px 31px rgba(0,0,0,.02),16px 40px 26px rgba(0,0,0,.06),7px 18px 19px rgba(0,0,0,.1),2px 4px 11px rgba(0,0,0,.12)
}
#regGrid .reg-card-slot.is-center .reg-item{cursor:grab}
#regGrid.is-dragging .reg-card-slot .reg-item{cursor:grabbing}
#regGrid .reg-item::before{background:var(--mm-control-reg-active-218) center/100% 100% no-repeat;opacity:0}
html:not(.wire) #regGrid .reg-card-slot.is-center .reg-item::before{opacity:.8;filter:drop-shadow(0 0 12px rgba(19,141,255,.3))}
#regGrid .reg-item::after{
  z-index:1;inset:-3px;border-radius:inherit;
  background:
    radial-gradient(ellipse 190px 148px at var(--reg-light-x) var(--reg-light-y),rgba(252,254,255,.34) 0%,rgba(220,240,255,.21) 20%,rgba(135,198,247,.085) 45%,rgba(59,143,211,.026) 64%,transparent 82%),
    linear-gradient(112deg,transparent 11%,rgba(255,255,255,.035) 28%,rgba(239,249,255,.15) 47%,rgba(171,218,252,.045) 63%,transparent 82%),
    linear-gradient(180deg,rgba(255,255,255,.075),transparent 34%,rgba(19,141,255,.045) 100%);
  mix-blend-mode:screen;filter:blur(.4px) saturate(1.08);opacity:var(--reg-light-o);
  transition:opacity .34s cubic-bezier(.22,.61,.36,1),filter .38s cubic-bezier(.22,.61,.36,1);will-change:auto
}
#regGrid .reg-card-slot:not(.is-center) .reg-item::after{opacity:calc(var(--reg-light-o) * .8)}
#regGrid.is-motion-active .reg-card-slot{will-change:transform}
#regGrid.is-motion-active .reg-card-plane{will-change:transform}
#regGrid.is-motion-active .reg-card-plane>.reg-reflection{will-change:opacity,filter}
#regGrid.is-motion-active .reg-item::after{will-change:opacity,filter}
#regGrid .reg-card-slot:is(.is-tilting,.is-returning){will-change:transform}
#regGrid .reg-card-slot:is(.is-tilting,.is-returning) .reg-card-plane{will-change:transform}
#regGrid .reg-card-slot:is(.is-tilting,.is-returning) .reg-reflection{will-change:opacity,filter}
#regGrid .reg-card-slot:is(.is-tilting,.is-returning) .reg-item::after{will-change:opacity,filter}
#regGrid .reg-card-slot.is-center .reg-item::after{
  opacity:clamp(0,calc(var(--reg-light-o) - .08),1);
  background:
    radial-gradient(ellipse 190px 148px at var(--reg-light-x) var(--reg-light-y),rgba(146,214,255,.4) 0%,rgba(76,177,255,.25) 20%,rgba(19,141,255,.12) 45%,rgba(10,94,185,.038) 64%,transparent 82%),
    linear-gradient(112deg,transparent 11%,rgba(83,184,255,.05) 28%,rgba(121,207,255,.21) 47%,rgba(19,141,255,.08) 63%,transparent 82%),
    linear-gradient(180deg,rgba(69,169,255,.11),transparent 34%,rgba(19,141,255,.065) 100%);
  filter:blur(.5px) saturate(1.16)
}
#regGrid .reg-card-slot:is(.is-tilting,.is-returning) .reg-item::after{filter:blur(1.4px) saturate(1.04)}
#regGrid .reg-card-slot.is-center:is(.is-tilting,.is-returning) .reg-item::after{filter:blur(1.4px) saturate(1.16)}
#regGrid .reg-item .reg-loc{gap:8px;opacity:0;color:rgba(255,255,255,.8)}
#regGrid .reg-card-slot.is-center .reg-item .reg-loc{gap:10px;opacity:1}
#regGrid .reg-card-slot.is-center .reg-item .reg-loc::before{box-shadow:0 0 10px #f03,0 0 0 4px rgba(255,0,51,.12),0 0 8px #f03}
#regGrid .reg-card-slot .reg-item>.rc,
#regGrid .reg-card-slot .reg-item>p,
#regGrid .reg-card-slot .reg-item>.reg-loc{opacity:0!important}
#regGrid .reg-native-copy{
  position:absolute;z-index:4;display:flex;flex-direction:column;left:var(--reg-native-left,0);top:var(--reg-native-top,0);
  width:var(--reg-native-width,100%);height:var(--reg-native-height,100%);padding:19em 25em;border-radius:20em;overflow:hidden;
  font-family:inherit;font-size:var(--reg-native-unit,1px);line-height:normal;text-align:left;color:var(--fg);
  pointer-events:none;opacity:var(--reg-edge-alpha);transform:none;transform-origin:50% 50%;backface-visibility:visible;
  -webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;will-change:auto
}
html:not(.wire) #regGrid .reg-native-copy::before{
  content:"";position:absolute;z-index:1;inset:calc(6px * var(--reg-material-scale));border:calc(1px * var(--reg-material-scale)) solid rgba(226,241,252,.055);border-radius:calc(20em - 6px * var(--reg-material-scale));
  background:linear-gradient(155deg,rgba(255,255,255,.052),rgba(137,199,244,.02) 46%,rgba(5,11,20,.07));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),inset 0 -1px 0 rgba(0,0,0,.14);pointer-events:none
}
html:not(.wire) #regGrid .reg-card-slot.is-center .reg-native-copy::before{inset:calc(8px * var(--reg-material-scale));border-radius:calc(20em - 8px * var(--reg-material-scale))}
#regGrid .reg-card-slot.is-center .reg-native-copy{padding:18em 24em}
#regGrid .reg-native-copy>*{position:relative;z-index:2}
#regGrid .reg-native-copy .rc{display:flex;align-items:center;gap:8em;margin-bottom:8em}
#regGrid .reg-native-copy .ab{font-family:"SF Pro",var(--display);font-weight:700;font-size:28em;line-height:1.17857143;background:linear-gradient(137.727deg,#fff 41.138%,rgba(255,255,255,.2) 103.57%);-webkit-background-clip:text;background-clip:text;color:transparent}
:is(html[lang="zh-CN"],html[lang="zh-TW"]) #regGrid .reg-native-copy .reg-protection-title{font-size:27em;line-height:1.18518519;letter-spacing:-.04em;white-space:nowrap}
#regGrid .reg-native-copy .lic{font-family:Manrope,var(--body);font-size:12em;line-height:1.33333333;font-weight:600;color:#fff;border:0;background:rgba(255,255,255,.12);border-radius:999px;padding:.16666667em .66666667em .33333333em}
#regGrid .reg-native-copy .reg-license-long{font-size:10em}
#regGrid .reg-native-copy p{font-size:14em;line-height:1.42857143;font-weight:400;color:rgba(255,255,255,.7);text-shadow:0 0 .01px currentColor}
#regGrid .reg-native-copy .reg-loc{display:inline-flex;align-items:center;gap:.66666667em;margin-top:auto;font-size:12em;line-height:1.41666667;font-weight:700;color:rgba(255,255,255,.8);opacity:0;transition:opacity .3s;text-shadow:0 0 .01px currentColor}
#regGrid .reg-native-copy .reg-loc::before{content:"";width:.5em;height:.5em;flex:none;border-radius:50%;background:#f03;box-shadow:0 0 .66666667em #f03}
#regGrid .reg-card-slot.is-center .reg-native-copy .reg-loc{gap:.83333333em;opacity:1}
#regGrid .reg-card-slot.is-center .reg-native-copy .reg-loc::before{box-shadow:0 0 .83333333em #f03,0 0 0 .33333333em rgba(255,0,51,.12),0 0 .66666667em #f03}
#regGrid .reg-item:focus{outline:none}
#regGrid .reg-item:focus-visible{outline:2px solid rgba(82,176,255,.95);outline-offset:3px}
html:not(.wire) #regGrid .reg-card-slot.is-center .reg-item{
  border:0;border-radius:20px;padding:18px 24px;
  background:transparent;
  -webkit-backdrop-filter:none;backdrop-filter:none;
  box-shadow:inset 0 1px 0 rgba(235,248,255,.2),inset 18px 0 32px -29px rgba(158,216,255,.38),inset -14px -22px 34px -28px rgba(19,141,255,.32),0 24px 42px -30px rgba(0,44,91,.72)
}
/* WebKit depth-sorts the translated card face above its native-sized copy. Draw
   the active material inside the copy's own stack so its z-index stays below
   the copy, without scaling or rasterizing the glyph layer. */
@supports (background-image:-webkit-named-image(i)){
  html:not(.wire) #regGrid .reg-card-slot.is-center .reg-item::before{opacity:0;filter:none}
  html:not(.wire) #regGrid .reg-native-copy::after{
    content:"";position:absolute;z-index:0;inset:0;border-radius:inherit;
    background:var(--mm-control-reg-active-218) center/100% 100% no-repeat;
    opacity:0;transition:opacity .3s;pointer-events:none
  }
  html:not(.wire) #regGrid .reg-card-slot.is-center .reg-native-copy::after{opacity:.8}
}

/* Authored article faces from the existing market article component. */
.reg-info{max-width:1280px;margin:auto}#reg .reg-info .reg-grid{width:100%;height:704px;margin-top:0}#regGrid .reg-card-slot{width:calc(var(--reg-card-width,292) * 1px / 1.12);height:auto;--reg-card-perspective:calc(420px * var(--reg-geometry-ratio,1.6));top:45%;max-width:none}#regGrid .reg-item{border:0;border-radius:20px;padding:0;position:relative;color:inherit;display:block;text-align:left}#regGrid .reg-item::before,#regGrid .reg-item::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none}#regGrid .reg-card-slot.is-center .reg-item{padding:0}#regGrid .reg-item>.article-face{visibility:hidden}#regGrid .reg-native-copy,#regGrid .reg-card-slot.is-center .reg-native-copy{padding:0;border-radius:20em}html:not(.wire) #regGrid .reg-native-copy::before{display:none}#regGrid .article-face{height:auto;display:flex;flex-direction:column;padding:calc(var(--reg-face-padding,16) * 1em);position:relative}#regGrid .cover{width:calc(var(--reg-cover-width,260) * 1em);height:calc(var(--reg-cover-height,185) * 1em);aspect-ratio:1.405;flex:none;align-self:center;position:relative;overflow:hidden;border-radius:12em;background:#0a1420;box-shadow:0 1em 0 #ffffff20,0 9em 16em -12em #000e}#regGrid .cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}#regGrid .level{position:absolute;left:auto;right:calc(14 * var(--reg-native-unit));top:calc(14 * var(--reg-native-unit));padding:.583333em .666667em .5em;font-size:12em;line-height:1.166667;border-radius:100em;background:#fff;color:#0c55fc;border:0;box-shadow:inset 0 0 0 1px #0c55fc33,0 1em 1.666667em #0e1f351f,0 .5em 1em #0e1f3529,0 .166667em .333333em #0e1f351f;font-weight:700;white-space:nowrap}#regGrid .article-copy{padding:20em 10em 6em;flex:none;display:flex;flex-direction:column}#regGrid .metadata{display:flex;align-items:center;gap:10em;margin-bottom:8em;color:rgb(243 245 248 / .56)}#regGrid .category{font-size:14em;line-height:1.42857143;font-weight:700;white-space:nowrap}#regGrid .metadata:after{content:"";height:1px;background:#a0c6e92b;flex:1}#regGrid .article-title{font-size:18em;line-height:1.41666667;font-weight:900;margin:0;color:#fff;letter-spacing:0}#regGrid .article-face .article-description{font-size:14em;line-height:1.375;font-weight:500;color:rgb(255 255 255 / .6);text-shadow:none;margin:.714285714em 0 0}#regGrid .reg-card-plane>.reg-reflection{top:calc(100% + 4px * var(--reg-geometry-ratio));height:calc(94px * var(--reg-geometry-ratio));transform:perspective(calc(190px * var(--reg-geometry-ratio))) rotateX(56deg) scaleX(.98)}
/* Measure the same template before perspective; each card hugs its own content. */
#regGrid .reg-item>.article-face{width:112%;font-size:1px;--reg-native-unit:1px}

html:not(.wire) #regGrid .reg-card-slot .reg-item,html:not(.wire) #regGrid .reg-card-slot.is-center .reg-item{padding:0}
#reg .reg-info .reg-grid{overflow:visible}



#regGrid .article-title,#regGrid .article-face .article-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis}
#regGrid .article-title{height:2.83333334em;max-height:2.83333334em}
#regGrid .article-face .article-description{height:2.75em;max-height:2.75em}
/* Homepage regulation fix: an unmasked center reflection avoids compositor tile seams. */
@media(min-width:861px){#regGrid .reg-card-slot.is-center .reg-reflection{-webkit-mask-image:none;mask-image:none}}

/* Side-card background blur: 3px; center unchanged. */
#regGrid .reg-card-slot:not(.is-center) .reg-card-plane{-webkit-backdrop-filter:blur(3px) saturate(145%);backdrop-filter:blur(3px) saturate(145%)}


@media(max-width:1100px){#regGrid .article-copy{padding:16em 6em 0}#regGrid .metadata{margin-bottom:6em}#regGrid .article-face .article-description{margin-top:.5em}#regGrid .reg-card-slot{width:calc(var(--reg-card-width,236) * 1px / 1.12);height:auto}#reg .reg-info .reg-grid{height:650px}}
@media(max-width:760px){#regGrid .reg-card-slot{width:calc(var(--reg-card-width,236) * 1px / 1.12);height:auto;--reg-card-perspective:calc(328.125px * var(--reg-geometry-ratio,1.6))}#reg .reg-info .reg-grid{height:575px;overflow:visible}#regGrid .reg-native-copy{overflow:hidden}}
.no-js #reg .reg-info .reg-grid{height:auto;display:flex;overflow-x:auto;gap:24px;padding:24px 0}
.no-js #regGrid .reg-card-slot{position:relative;left:auto;top:auto;transform:none;flex:0 0 calc(var(--reg-card-width,292) * 1px);height:auto}
.no-js #regGrid .reg-item{height:auto}.no-js #regGrid .reg-item>.article-face{width:100%;visibility:visible;font-size:1px}
.no-js #regGrid .reg-reflection,.no-js .mk-article-controls{display:none}

/* Keep the fixed-ratio cover above the unchanged typography; the shell hugs both. */
#regGrid .reg-native-copy>.article-face{height:100%;min-height:0}
