
/* Premium hub polish only. Inner mini-case pages and game mechanics remain untouched. */
body.sm-body{
  background:
    radial-gradient(circle at 14% -8%,rgba(78,118,137,.24),transparent 34rem),
    radial-gradient(circle at 90% 12%,rgba(183,131,55,.12),transparent 31rem),
    linear-gradient(180deg,#07121b 0%,#050c12 64%,#04090e 100%)!important;
}
.sm-shell{width:min(1180px,calc(100% - 40px))}
.sm-hub-hero--premium{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.72fr);
  gap:48px;
  align-items:center;
  padding:70px 0 48px;
  position:relative;
}
.sm-hub-hero--premium:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(217,181,111,.26),transparent);
}
.sm-hub-hero__copy{min-width:0}
.sm-hub-hero--premium .sm-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 16px;
  color:#ddb76f;
}
.sm-hub-hero--premium .sm-kicker:before{
  content:"";
  width:28px;height:1px;background:#b98f4b;
}
.sm-hub-hero--premium h1{
  max-width:730px;
  margin:0;
  color:#f3e4c8;
  font:600 clamp(54px,5.6vw,82px)/.91 Georgia,serif;
  letter-spacing:-.052em;
  text-wrap:balance;
}
.sm-hub-hero--premium .sm-hub-hero__copy>p:not(.sm-kicker){
  max-width:720px;
  margin:22px 0 0;
  color:#b9c7cc;
  font-size:18px;
  line-height:1.62;
}
.sm-hub-stats{margin-top:28px;gap:10px}
.sm-hub-stats div{
  min-width:0;
  flex:1 1 150px;
  padding:15px 16px 14px;
  border-color:rgba(207,223,230,.095);
  border-radius:13px;
  background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008));
  box-shadow:inset 0 1px rgba(255,255,255,.02);
}
.sm-hub-stats strong{font-size:29px;color:#e5bf76}
.sm-hub-stats span{display:block;margin-top:2px;color:#718791;font-size:10px;line-height:1.25}

/* Editorial dossier visual, no fake buttons. */
.sm-hub-visual{
  position:relative;
  min-height:420px;
  overflow:hidden;
  padding:20px;
  border:1px solid rgba(220,182,108,.25);
  border-radius:24px;
  background:
    radial-gradient(circle at 70% 20%,rgba(218,176,96,.13),transparent 30%),
    linear-gradient(155deg,rgba(18,38,49,.95),rgba(6,16,24,.98));
  box-shadow:0 30px 80px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.025);
}
.sm-hub-visual:before{
  content:"ML / ARCHIVE";
  position:absolute;
  right:-10px;bottom:34px;
  transform:rotate(-90deg);
  color:rgba(239,208,147,.05);
  font:700 22px/1 ui-monospace,monospace;
  letter-spacing:.18em;
}
.sm-hub-visual__top,
.sm-hub-visual__bottom{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  position:relative;z-index:2;
}
.sm-hub-visual__top{
  padding-bottom:14px;
  border-bottom:1px solid rgba(204,220,229,.1);
  color:#718791;
  font:700 9px/1.2 ui-monospace,monospace;
  letter-spacing:.15em;
}
.sm-hub-visual__top b{color:#ddb76f;font-size:11px}
.sm-hub-visual__stack{position:relative;height:292px;margin-top:18px}
.sm-hub-file{
  position:absolute;
  width:78%;
  min-height:138px;
  padding:19px 20px;
  border:1px solid rgba(220,183,109,.22);
  border-radius:15px 15px 11px 11px;
  background:
    linear-gradient(180deg,rgba(229,210,170,.11),rgba(112,82,44,.035)),
    #101c23;
  box-shadow:0 18px 40px rgba(0,0,0,.28);
  transform-origin:50% 100%;
}
.sm-hub-file:before{
  content:"";position:absolute;left:18px;right:18px;top:7px;height:1px;
  background:rgba(221,183,108,.16);
}
.sm-hub-file small{display:block;color:#b38d4f;font:700 8px/1.2 ui-monospace,monospace;letter-spacing:.11em}
.sm-hub-file strong{display:block;margin-top:11px;color:#eee1c9;font:600 23px/1.05 Georgia,serif}
.sm-hub-file span{display:block;margin-top:8px;color:#78909b;font-size:10px}
.sm-hub-file--one{left:4%;top:12px;transform:rotate(-4deg)}
.sm-hub-file--two{right:2%;top:78px;transform:rotate(3deg);background:linear-gradient(180deg,rgba(45,74,88,.4),rgba(8,20,28,.94)),#0d1b24}
.sm-hub-file--three{left:10%;top:150px;transform:rotate(-1deg);background:linear-gradient(180deg,rgba(115,86,47,.18),rgba(7,17,24,.96)),#0d1b24}
.sm-hub-visual__bottom{
  padding-top:13px;
  border-top:1px solid rgba(204,220,229,.09);
  color:#738995;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.1em;
}

/* Format ladder */
.sm-ladder{
  margin:40px 0 68px;
  padding:24px 24px 25px;
  border-color:rgba(203,219,227,.095);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.006));
  box-shadow:inset 0 1px rgba(255,255,255,.018);
}
.sm-ladder h2{margin:0 0 20px;color:#eee0c5;font-size:30px;font-weight:600}
.sm-ladder__grid{gap:10px}
.sm-ladder__grid article{
  position:relative;
  min-height:135px;
  padding:18px 18px 17px;
  border-color:rgba(203,219,227,.085);
  border-radius:14px;
  background:rgba(4,14,20,.48);
}
.sm-ladder__grid article:nth-child(2){
  border-color:rgba(219,180,105,.32);
  background:linear-gradient(180deg,rgba(218,176,94,.07),rgba(4,14,20,.64));
  box-shadow:inset 0 2px #c59a50;
}
.sm-ladder__grid small{font-size:8px;letter-spacing:.14em}
.sm-ladder__grid strong{margin:9px 0 7px;color:#e9dcc5;font-size:20px;font-weight:600}
.sm-ladder__grid p{color:#778d97;font-size:11px;line-height:1.52}

.sm-hub-grid-head{margin:0 0 18px;padding:0 2px}
.sm-hub-grid-head span{display:block;color:#c89f57;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.sm-hub-grid-head strong{display:block;margin-top:7px;color:#f0e1c5;font:600 32px/1.05 Georgia,serif}
.sm-hub-grid-head p{margin:7px 0 0;color:#718690;font-size:12px}
.sm-hub-grid{gap:14px;padding:0 0 82px}
.sm-hub-card{
  min-height:250px;
  padding:22px 23px 21px;
  border-color:rgba(200,217,226,.095);
  border-radius:18px;
  background:
    radial-gradient(circle at 98% 2%,rgba(218,178,99,.07),transparent 30%),
    linear-gradient(155deg,rgba(15,31,41,.96),rgba(6,16,23,.98));
  box-shadow:0 14px 38px rgba(0,0,0,.13),inset 0 1px rgba(255,255,255,.018);
}
.sm-hub-card:before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:2px;
  background:linear-gradient(180deg,transparent,rgba(208,166,88,.55),transparent);
  opacity:.38;
}
.sm-hub-card:after{right:14px;bottom:-21px;font-size:88px;color:rgba(231,216,187,.032)}
.sm-hub-card:hover{
  transform:translateY(-3px);
  border-color:rgba(218,178,99,.31);
  box-shadow:0 22px 52px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.025);
}
.sm-hub-card__top{font-size:9px;letter-spacing:.115em;color:#607680}
.sm-hub-card__status{color:#c9a35e;font-weight:800}
.sm-hub-card h2{margin:28px 0 8px;color:#eee2ce;font-size:29px;font-weight:600;letter-spacing:-.018em}
.sm-hub-card p{color:#80949d;font-size:12px;line-height:1.5}
.sm-hub-card__meta{padding-top:21px;gap:6px}
.sm-hub-card__meta span{padding:5px 8px;border-color:rgba(199,215,224,.08);color:#6e838d;font-size:9px}
.sm-hub-card__go{margin-top:14px;color:#dcb56c;font-size:11px;letter-spacing:.01em}

@media(max-width:920px){
  .sm-hub-hero--premium{grid-template-columns:1fr;gap:28px;padding-top:50px}
  .sm-hub-visual{min-height:350px}
  .sm-hub-visual__stack{height:225px}
  .sm-hub-file{min-height:112px;width:70%}
  .sm-hub-file--one{top:4px}.sm-hub-file--two{top:54px}.sm-hub-file--three{top:105px}
}
@media(max-width:620px){
  .sm-shell{width:min(100% - 24px,1180px)}
  .sm-hub-hero--premium{padding:38px 0 34px}
  .sm-hub-hero--premium h1{font-size:45px;line-height:.94}
  .sm-hub-hero--premium .sm-hub-hero__copy>p:not(.sm-kicker){font-size:16px;line-height:1.55}
  .sm-hub-stats{display:grid;grid-template-columns:1fr 1fr}
  .sm-hub-stats div:last-child{grid-column:1/-1}
  .sm-hub-visual{min-height:320px;padding:16px;border-radius:18px}
  .sm-hub-visual__stack{height:205px}
  .sm-hub-file{width:82%;padding:15px;min-height:100px}
  .sm-hub-file strong{font-size:19px}
  .sm-hub-file--one{left:1%}.sm-hub-file--two{right:0;top:52px}.sm-hub-file--three{left:6%;top:105px}
  .sm-ladder{margin:28px 0 48px;padding:18px;border-radius:17px}
  .sm-ladder h2{font-size:27px}
  .sm-hub-grid-head strong{font-size:29px}
  .sm-hub-grid{gap:11px}
  .sm-hub-card{min-height:220px;padding:19px 18px;border-radius:16px}
  .sm-hub-card h2{font-size:27px}
}

/* Keep the universal desktop menu inside the viewport on this header structure. */
@media(min-width:1181px){
  .sm-header.ml-site-menu-header{display:flex!important;align-items:center!important;gap:24px!important}
  .sm-header.ml-site-menu-header>.sm-header__in{
    width:auto!important;
    margin-left:max(20px,calc((100vw - 1180px)/2))!important;
    margin-right:0!important;
    flex:0 0 auto!important;
  }
  .sm-header.ml-site-menu-header .sm-header__actions{display:none!important}
  .sm-header.ml-site-menu-header>.ml-site-desktop-nav{
    margin-left:auto!important;
    margin-right:max(20px,calc((100vw - 1180px)/2))!important;
    gap:14px!important;
  }
}
