

:root {
  --or:  #FF8C00;
  --orl: #FFA94D;
  --orb: #FFF7EE;
  --dk:  #0E0E0E;
  --gr:  #4A4A4A;
  --lt:  #F4F5F7;
  --wh:  #FFFFFF;
  --bd:  #E0E0E0;
  --r:   16px;
  --sh:  0 3px 18px rgba(0,0,0,.08);
  --shh: 0 12px 40px rgba(0,0,0,.16);
}

.lab-root * { box-sizing:border-box; margin:0; padding:0; }
.lab-root {
  font-family:system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  color:var(--dk); line-height:1.8; font-size:17px;
}
.lab-inner { max-width:1080px; margin:0 auto; padding:0 32px; }



.lab-sh {
  display:flex; align-items:center; gap:16px;
  flex-wrap:wrap; margin-bottom:40px;
}
.lab-label {
  font-size:.8rem; font-weight:900; letter-spacing:3.5px;
  text-transform:uppercase; color:var(--or); flex-shrink:0;
}
.lab-sh-title {
  font-size:clamp(1.7rem,3.2vw,2.3rem);
  font-weight:900; flex:1; letter-spacing:-.4px; line-height:1.2;
}
.lab-sh-more {
  font-size:.92rem; font-weight:800; color:var(--or);
  text-decoration:none; white-space:nowrap;
  padding:8px 20px; border-radius:999px;
  border:2px solid var(--or);
  transition:background .18s,color .18s;
}
.lab-sh-more:hover { background:var(--or); color:#fff; }

.lab-lcard-date {
  font-size:.9rem; color:#aaa; display:block;
  margin-top:8px; font-weight:500; letter-spacing:.2px;
}


.lab-badge {
  display:inline-flex; align-items:center;
  font-size:.84rem; font-weight:900; padding:6px 14px;
  border-radius:999px; letter-spacing:.3px;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
  white-space:nowrap; line-height:1;
  transition:transform .15s,box-shadow .15s;
}
.lab-badge:hover { transform:scale(1.07); }
.lab-badges { display:flex; flex-wrap:wrap; gap:7px; }
.lab-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.lab-tag {
  display:inline-flex; align-items:center; padding:5px 11px;
  border-radius:999px; background:#f5f5f5; color:#555;
  font-size:.78rem; font-weight:800; text-decoration:none;
}
.lab-tag:hover { background:#fff1df; color:var(--or); }
.lab-yt-card { cursor:pointer; }
button.lab-lcard,
button.lab-mfeat,
button.lab-mitem,
button.lab-video-card,
button.lab-short-card {
  color:inherit;
  font:inherit;
  text-align:left;
}





.lab-hero-wrap { background:#fff; }

.lab-hero-main {

  background:
    linear-gradient(118deg, rgba(8,16,40,0.90) 0%, rgba(17,38,87,0.74) 42%, rgba(15,32,64,0.78) 70%, rgba(26,10,46,0.86) 100%),
    url('../img/official/lab/hero-future-people.webp') center 30%/cover no-repeat,
    linear-gradient(118deg, #0C1A3A 0%, #112657 45%, #0F2040 75%, #1a0a2e 100%);
  padding:84px 0 78px;
  position:relative; overflow:hidden;
}

.lab-hero-main::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 55% 80% at -5%  50%, rgba(255,140,0,.22)  0%,transparent 55%),
    radial-gradient(ellipse 40% 60% at 105% 20%, rgba(29,79,163,.28)  0%,transparent 55%),
    radial-gradient(ellipse 35% 50% at 60%  110%,rgba(75,175,79,.18)  0%,transparent 55%);
}

.lab-hero-main::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:
    radial-gradient(1.5px 1.5px at 8%  18%,rgba(255,255,255,.55) 0%,transparent 100%),
    radial-gradient(1px   1px   at 22% 72%,rgba(255,200,80,.45)  0%,transparent 100%),
    radial-gradient(2px   2px   at 38% 30%,rgba(255,255,255,.35) 0%,transparent 100%),
    radial-gradient(1px   1px   at 55% 85%,rgba(120,200,255,.4)  0%,transparent 100%),
    radial-gradient(1.5px 1.5px at 72% 15%,rgba(255,255,255,.5)  0%,transparent 100%),
    radial-gradient(1px   1px   at 88% 60%,rgba(180,255,180,.35) 0%,transparent 100%),
    radial-gradient(1px   1px   at 95% 88%,rgba(255,255,255,.4)  0%,transparent 100%);
}

.lab-hero-content { position:relative; z-index:1; max-width:880px; }

.lab-hero-eyebrow {
  display:flex; align-items:center; gap:12px;
  margin-bottom:26px;
}
.lab-hero-tag {
  font-size:.86rem; font-weight:900; letter-spacing:3px;
  text-transform:uppercase; color:rgba(255,200,80,.95);
}
.lab-hero-tag-sep { color:rgba(255,255,255,.3); font-size:.9rem; }

.lab-hero-title {
  font-size:clamp(2.5rem,5.6vw,4.4rem); font-weight:900;
  color:#fff; line-height:1.16; margin-bottom:28px;
  letter-spacing:-.5px;
  text-shadow:0 2px 24px rgba(0,0,0,.4);
}
.lab-hero-title em {
  font-style:normal;
  background:linear-gradient(90deg,#FFB02E,#FFD54F,#7BD17F);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}

.lab-hero-lead {
  font-size:clamp(1.08rem,1.9vw,1.32rem); color:rgba(255,255,255,.88);
  line-height:1.95; margin-bottom:40px;
  text-shadow:0 1px 12px rgba(0,0,0,.35);
}
.lab-hero-lead strong { color:rgba(255,220,100,1); font-weight:800; }
.lab-hero-br { display:none; }
@media (min-width:640px) { .lab-hero-br { display:block; } }

.lab-hero-cta {
  display:inline-flex; align-items:center; gap:10px;
  padding:17px 42px; border-radius:999px;
  background:linear-gradient(90deg,#FF8C00,#FFAC30);
  color:#fff; font-size:1.12rem; font-weight:900;
  text-decoration:none;
  box-shadow:0 6px 24px rgba(255,140,0,.45);
  transition:transform .22s,box-shadow .22s;
}
.lab-hero-cta:hover {
  transform:translateY(-3px);
  box-shadow:0 10px 32px rgba(255,140,0,.55);
}


.lab-hero-pillars {
  background:#fff;
  border-bottom:3px solid;
  border-image:linear-gradient(90deg,#FF8C00 0%,#4BAF4F 50%,#1D4FA3 100%) 1;
  padding:0;
}

.lab-hero-pillar-row {
  display:grid; grid-template-columns:repeat(3,1fr);
}

.lab-pillar {
  display:flex; align-items:flex-start; gap:20px;
  padding:34px 34px;
  border-right:1px solid #eee;
  border-top:4px solid var(--pc);
  position:relative; overflow:hidden;
  transition:background .22s;
}
.lab-pillar:last-child { border-right:none; }
.lab-pillar::before {
  content:''; position:absolute; inset:0;
  background:var(--pca); opacity:0; transition:opacity .22s;
}
.lab-pillar:hover::before { opacity:1; }

.lab-pillar-icon {
  flex-shrink:0; margin-top:2px;
  width:46px; height:46px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  color:var(--pc); background:var(--pca);
}
.lab-pillar-icon svg { width:26px; height:26px; display:block; }
.lab-pillar-body { position:relative; }
.lab-pillar-num {
  font-size:.78rem; font-weight:900; letter-spacing:3px;
  color:var(--pc); text-transform:uppercase; margin-bottom:7px;
}
.lab-pillar-title {
  font-size:1.34rem; font-weight:900; color:#0E0E0E;
  margin-bottom:9px; line-height:1.22;
}
.lab-pillar-desc {
  font-size:1.02rem; color:#444; line-height:1.8;
}

@media (max-width:768px) {
  .lab-hero-main   { padding:48px 0 44px; }
  .lab-hero-pillar-row { grid-template-columns:1fr; }
  .lab-pillar      { border-right:none; border-bottom:1px solid #eee; border-top-width:3px; }
  .lab-pillar:last-child { border-bottom:none; }
}
@media (max-width:480px) {
  .lab-hero-title  { font-size:clamp(2.05rem,8.5vw,2.9rem); }
  .lab-hero-content { max-width:100%; }
}



.lab-latest { padding:80px 0; background:var(--wh); }


.lab-latest-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:auto auto;
  gap:24px;
}


.lab-lcard {
  display:flex; flex-direction:column;
  background:var(--wh); border-radius:var(--r);
  overflow:hidden; box-shadow:var(--sh);
  text-decoration:none; color:var(--dk);
  cursor:pointer; transition:transform .28s,box-shadow .28s;
  border:1px solid var(--bd);
}
.lab-lcard:hover { transform:translateY(-6px); box-shadow:var(--shh); }


.lab-lcard--big {
  grid-column:1 / -1;
  flex-direction:row;
}

.lab-lcard--sm { grid-column:span 1; }

.lab-lcard-thumb { position:relative; overflow:hidden; background:#111; flex-shrink:0; }
.lab-lcard--sm   .lab-lcard-thumb { aspect-ratio:3/2; }
.lab-lcard--big  .lab-lcard-thumb { width:48%; min-height:300px; }

.lab-lcard-thumb img {
  width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s;
}
.lab-lcard:hover .lab-lcard-thumb img { transform:scale(1.06); }
.lab-lcard-thumb--empty { background:#1a1a2e; }
.lab-lcard-no-thumb {
  width:100%; height:100%; min-height:200px;
  background:linear-gradient(135deg,#1A1E32,#2A2E50);
  display:flex; align-items:center; justify-content:center; font-size:3.2rem;
}

.lab-lcard-play {
  position:absolute; inset:0; background:rgba(0,0,0,.3);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity .22s;
}
.lab-lcard--yt:hover .lab-lcard-play { opacity:1; }
.lab-lcard-play span {
  width:64px; height:64px; background:rgba(210,0,0,.95);
  border-radius:50%; display:block; position:relative;
}
.lab-lcard-play span::after {
  content:''; position:absolute; left:26px; top:20px;
  border:11px solid transparent; border-left-width:19px; border-left-color:#fff;
}

.lab-lcard-body {
  padding:22px 24px; display:flex; flex-direction:column;
  gap:12px; flex:1; justify-content:center;
}
.lab-lcard--big .lab-lcard-body { padding:36px 42px; }
.lab-lcard-title { font-size:1.16rem; font-weight:800; line-height:1.62; }
.lab-lcard--big .lab-lcard-title { font-size:1.6rem; line-height:1.5; }



.lab-lcard-fb {
  position:absolute; inset:0; overflow:hidden;
}
.lab-lcard-fb img { width:100%; height:100%; object-fit:cover; display:block; }

.lab-lcard-gen-thumb {
  width:100%; height:100%; min-height:200px;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:10px; position:relative;
}
.lab-lcard-gen-initial {
  font-size:2.8rem; font-weight:900; color:rgba(255,255,255,.9); line-height:1;
}
.lab-lcard-gen-icon { font-size:1.4rem; opacity:.65; }

.lab-mthumb-gen {
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  border-radius:8px; position:relative; overflow:hidden;
}
.lab-mthumb-gen span {
  font-size:1rem; font-weight:900; color:rgba(255,255,255,.95); z-index:1; line-height:1;
}



.lab-universe { position:relative; padding:96px 0 104px; overflow:hidden; }
.lab-universe-bg {
  position:absolute; inset:0;

  background:linear-gradient(135deg,
    #1a0533 0%,
    #2d1b69 25%,
    #1a3a6b 50%,
    #0d4f6e 75%,
    #0a3d2e 100%
  );
}

.lab-universe-bg::after {
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 70% 60% at 15% 40%, rgba(255,140,0,.18) 0%,transparent 60%),
    radial-gradient(ellipse 50% 70% at 85% 60%, rgba(100,60,220,.22) 0%,transparent 60%),
    radial-gradient(ellipse 40% 50% at 50% 10%, rgba(0,200,200,.12) 0%,transparent 60%);
  animation:auroraShift 12s ease-in-out infinite alternate;
}
@keyframes auroraShift {
  from { opacity:.7; transform:scale(1) translateY(0); }
  to   { opacity:1;  transform:scale(1.04) translateY(-6px); }
}
.lab-universe-stars {
  position:absolute; inset:0;
  background-image:
    radial-gradient(2px   2px   at  5% 12%,rgba(255,255,255,.75) 0%,transparent 100%),
    radial-gradient(1.5px 1.5px at 18% 55%,rgba(255,220,120,.65) 0%,transparent 100%),
    radial-gradient(2.5px 2.5px at 32% 78%,rgba(200,160,255,.6)  0%,transparent 100%),
    radial-gradient(1px   1px   at 47% 22%,rgba(255,255,255,.7)  0%,transparent 100%),
    radial-gradient(2px   2px   at 58% 68%,rgba(120,220,255,.55) 0%,transparent 100%),
    radial-gradient(1.5px 1.5px at 72%  8%,rgba(255,160,80,.6)   0%,transparent 100%),
    radial-gradient(1px   1px   at 83% 45%,rgba(255,255,255,.65) 0%,transparent 100%),
    radial-gradient(2px   2px   at 94% 82%,rgba(180,255,200,.5)  0%,transparent 100%),
    radial-gradient(1px   1px   at 25% 35%,rgba(255,255,255,.5)  0%,transparent 100%),
    radial-gradient(1.5px 1.5px at 65% 90%,rgba(255,200,100,.55) 0%,transparent 100%);
  animation:starsD 28s ease-in-out infinite alternate;
}
@keyframes starsD { from{transform:translateY(0)} to{transform:translateY(-8px)} }
.lab-universe-in { position:relative; z-index:1; }

.lab-univ-header { text-align:center; margin-bottom:60px; }
.lab-univ-title {
  font-size:clamp(2.6rem,5.8vw,4.2rem); font-weight:900; color:#fff;
  line-height:1.1; margin:12px 0 20px;
  text-shadow:0 0 40px rgba(200,160,255,.4), 0 2px 20px rgba(0,0,0,.5);
}
.lab-univ-sub { font-size:1.08rem; color:rgba(255,255,255,.75); }

.lab-univ-nodes { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.lab-un-card {
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  border-top:5px solid var(--uc,#FF8C00);
  border-radius:18px; padding:30px 24px;
  backdrop-filter:blur(12px);
  box-shadow:0 4px 24px rgba(0,0,0,.25);
  transition:background .3s,transform .3s,box-shadow .3s;
}
.lab-un-card:hover {
  background:rgba(255,255,255,.18);
  transform:translateY(-8px);
  box-shadow:0 16px 40px rgba(0,0,0,.35);
}
.lab-un-num  { font-size:3rem; font-weight:900; color:var(--uc,#FF8C00); line-height:1; margin-bottom:16px; text-shadow:0 0 20px rgba(255,140,0,.4); }
.lab-un-name { font-size:1.25rem; font-weight:900; color:#fff; margin-bottom:14px; line-height:1.3; }
.lab-un-desc { font-size:1rem; color:rgba(255,255,255,.82); line-height:1.8; margin-bottom:20px; }
.lab-un-link { font-size:.92rem; font-weight:800; color:rgba(255,210,100,.95); text-decoration:none; }
.lab-un-link:hover { opacity:.75; }



.lab-hints { padding:80px 0; background:var(--lt); }

.lab-hint-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }

.lab-hint-card {
  display:flex; flex-direction:column;
  background:var(--wh); border-radius:var(--r);
  overflow:hidden; box-shadow:var(--sh);
  text-decoration:none; color:var(--dk); border:1px solid var(--bd);
  transition:transform .28s,box-shadow .28s;
}
.lab-hint-card:hover { transform:translateY(-6px); box-shadow:var(--shh); }
.lab-hint-card--big { grid-column:1/3; flex-direction:row; }

.lab-hint-img { position:relative; overflow:hidden; background:#ddd; flex-shrink:0; }
.lab-hint-card:not(.lab-hint-card--big) .lab-hint-img { aspect-ratio:3/2; }
.lab-hint-card--big .lab-hint-img { width:50%; min-height:260px; }

.lab-hint-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s; }
.lab-hint-card:hover .lab-hint-img img { transform:scale(1.06); }
.lab-hint-noimg { width:100%; min-height:200px; background:linear-gradient(135deg,#FFE8CC,#FFD5A0); }

.lab-hint-body {
  padding:24px 28px; display:flex; flex-direction:column;
  gap:12px; flex:1; justify-content:center;
}
.lab-hint-card--big .lab-hint-body { padding:36px 40px; }
.lab-hint-title { font-size:1.18rem; font-weight:800; line-height:1.65; color:var(--dk); }
.lab-hint-card--big .lab-hint-title { font-size:1.5rem; line-height:1.5; }



.lab-shorts { padding:80px 0; background:#090909; }
.lab-shorts .lab-sh-title { color:#fff; }

.lab-shorts-row { display:flex; gap:28px; justify-content:center; }
.lab-short-card {
  flex:0 0 calc(33% - 18px); cursor:pointer;
  border-radius:20px; overflow:hidden;
  transition:transform .3s,box-shadow .3s;
  box-shadow:0 4px 24px rgba(0,0,0,.4);
  background:transparent;
}
.lab-short-card:hover { transform:translateY(-8px); box-shadow:0 16px 48px rgba(0,0,0,.55); }
.lab-short-img {
  position:relative; aspect-ratio:9/16;
  overflow:hidden; background:#1a1a1a; border-radius:20px;
}
.lab-short-img img { width:100%; height:100%; object-fit:cover; display:block; }
.lab-short-play {
  position:absolute; inset:0; background:rgba(0,0,0,.22);
  display:flex; align-items:center; justify-content:center; transition:background .22s;
}
.lab-short-card:hover .lab-short-play { background:rgba(0,0,0,.42); }
.lab-short-play span {
  width:68px; height:68px; background:rgba(210,0,0,.95);
  border-radius:50%; display:block; position:relative;
}
.lab-short-play span::after {
  content:''; position:absolute; left:27px; top:21px;
  border:12px solid transparent; border-left-width:20px; border-left-color:#fff;
}



.lab-videos { padding:80px 0; background:var(--wh); }
.lab-video-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }

.lab-video-card {
  cursor:pointer; border-radius:var(--r); overflow:hidden;
  background:var(--wh); box-shadow:var(--sh); border:1px solid var(--bd);
  transition:transform .28s,box-shadow .28s;
}
.lab-video-card:hover { transform:translateY(-6px); box-shadow:var(--shh); }

.lab-video-thumb { position:relative; aspect-ratio:16/9; overflow:hidden; background:#111; }
.lab-video-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s; }
.lab-video-card:hover .lab-video-thumb img { transform:scale(1.06); }

.lab-video-play {
  position:absolute; inset:0; background:rgba(0,0,0,.24);
  display:flex; align-items:center; justify-content:center; transition:background .22s;
}
.lab-video-card:hover .lab-video-play { background:rgba(0,0,0,.42); }
.lab-video-play span {
  width:52px; height:52px; background:rgba(210,0,0,.95);
  border-radius:50%; display:block; position:relative;
}
.lab-video-play span::after {
  content:''; position:absolute; left:20px; top:16px;
  border:10px solid transparent; border-left-width:17px; border-left-color:#fff;
}
.lab-video-body  { padding:18px 20px; }
.lab-video-title { font-size:1.05rem; font-weight:800; line-height:1.6; margin-bottom:6px; }



.lab-listen { padding:80px 0; background:var(--lt); }
.lab-listen-cols { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }

.lab-lcol {
  background:var(--wh); border-radius:18px;
  padding:24px; box-shadow:var(--sh); border:1px solid var(--bd);
}
.lab-lcol-head {
  display:flex; align-items:center; gap:10px;
  padding-bottom:16px; margin-bottom:16px;
  border-bottom:3px solid var(--hc,var(--or));
}
.lab-lcol-head strong { flex:1; font-size:1rem; font-weight:900; }
.lab-lcol-more { font-size:.85rem; font-weight:800; color:var(--or); text-decoration:none; white-space:nowrap; }
.lab-lcol-more:hover { opacity:.7; }

.lab-mfallback { text-align:center; padding:24px; }
.lab-mfallback a { font-size:.95rem; color:var(--or); text-decoration:none; }

.lab-mlist { display:flex; flex-direction:column; gap:12px; }
.lab-mitem {
  display:grid; grid-template-columns:72px 1fr auto;
  align-items:center; gap:14px;
  background:var(--lt); border-radius:12px; padding:14px 16px;
  cursor:pointer; transition:background .18s,transform .18s;
  border:1px solid transparent;
  color:inherit;
  font:inherit;
  text-align:left;
  width:100%;
}
.lab-mitem--link { text-decoration:none; color:var(--dk); }
.lab-mitem:hover { background:#FFF4E6; transform:translateX(4px); border-color:rgba(255,140,0,.2); }

.lab-mthumb {
  width:72px; height:46px; border-radius:8px; overflow:hidden;
  background:#e0e0e0; flex-shrink:0; position:relative;
  display:flex; align-items:center; justify-content:center;
}
.lab-mthumb--sq { height:auto; aspect-ratio:1/1; }
.lab-mthumb img { width:100%; height:100%; object-fit:cover; display:block; }
.lab-mplay {
  position:absolute; inset:0; background:rgba(0,0,0,.32);
  display:flex; align-items:center; justify-content:center;
  border-radius:8px; opacity:0; transition:opacity .18s;
}
.lab-mitem:hover .lab-mplay { opacity:1; }
.lab-minfo  { min-width:0; flex:1; }
.lab-mtitle {
  font-size:1.06rem; font-weight:800; line-height:1.55;
  overflow:hidden; display:-webkit-box;
  -webkit-line-clamp:2; -webkit-box-orient:vertical;
}
.lab-mgo { font-size:.9rem; color:var(--or); flex-shrink:0; font-weight:700; }



.lab-xsec { padding:80px 0; background:var(--orb); }
.lab-xcard-wrap { max-width:800px; margin:0 auto; }

.lab-xcard {
  background:var(--wh); border-radius:22px;
  box-shadow:0 10px 48px rgba(0,0,0,.10);
  border:1px solid var(--bd); overflow:hidden;
  display:grid; grid-template-columns:1fr 1fr;
}
.lab-xcard-profile {
  padding:40px 36px; border-right:1px solid var(--bd);
  display:flex; flex-direction:column; gap:20px;
  background:linear-gradient(160deg,#fafafa,#fff);
}
.lab-xcard-info { min-width:0; }
.lab-xcard-avatar {
  width:90px; height:90px; border-radius:50%;
  overflow:hidden; border:3px solid #000; flex-shrink:0; position:relative;
}
.lab-xcard-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.lab-xcard-avatar-fb {
  display:none; width:100%; height:100%;
  background:linear-gradient(135deg,#FF8C00,#FFCA80);
  align-items:center; justify-content:center;
  font-size:2.2rem; font-weight:900; color:#fff;
}
.lab-xcard-name   { font-size:1.2rem; font-weight:900; color:var(--dk); }
.lab-xcard-handle { font-size:.88rem; color:#888; margin-top:3px; }
.lab-xcard-bio    { font-size:.96rem; color:var(--gr); line-height:1.8; margin-top:6px; }

.lab-xcard-posts {
  padding:32px; display:flex; flex-direction:column; gap:14px; justify-content:center;
}
.lab-xcard-post {
  display:flex; align-items:flex-start; gap:14px;
  padding:16px 18px; background:var(--lt); border-radius:14px;
  border-left:4px solid #000; transition:background .18s;
}
.lab-xcard-post:hover { background:#EBEBEB; }
.lab-xcard-post-icon { font-size:1.4rem; flex-shrink:0; line-height:1.4; }
.lab-xcard-post-text { font-size:.95rem; color:var(--dk); line-height:1.7; }

.lab-xcard-cta { text-align:center; margin-top:28px; }
.lab-x-follow-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:44px;
  padding:15px 40px; border-radius:999px;
  background:#000; color:#fff;
  font-size:1rem; font-weight:900; text-decoration:none;
  box-shadow:0 4px 22px rgba(0,0,0,.2);
  transition:transform .22s,box-shadow .22s;
}
.lab-x-follow-btn:hover { transform:translateY(-3px); box-shadow:0 10px 32px rgba(0,0,0,.25); }

@media (max-width:640px) {
  .lab-xcard { grid-template-columns:1fr; }
  .lab-xcard-profile { border-right:none; border-bottom:1px solid var(--bd); }
}



.lab-sns {
  padding:56px 0;

  background:linear-gradient(135deg,#1a237e 0%,#283593 35%,#0d47a1 65%,#1565c0 100%);
  text-align:center; position:relative; overflow:hidden;
}
.lab-sns::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 80% at 20% 50%,rgba(255,152,0,.18) 0%,transparent 70%),
    radial-gradient(ellipse 50% 60% at 80% 30%,rgba(255,64,129,.15) 0%,transparent 70%);
}
.lab-sns-label {
  font-size:.82rem; color:rgba(255,255,255,.65);
  letter-spacing:3px; text-transform:uppercase; margin-bottom:22px; display:block;
  position:relative;
}
.lab-sns-row { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; position:relative; }
.lab-sns-btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 26px; border-radius:999px;
  font-size:.9rem; font-weight:800; color:#fff; text-decoration:none;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
  transition:transform .2s,box-shadow .2s,filter .2s;
  border:2px solid rgba(255,255,255,.25);
}
.lab-sns-btn:hover {
  transform:translateY(-4px);
  box-shadow:0 8px 24px rgba(0,0,0,.35);
  filter:brightness(1.12);
}

.lab-cta {
  padding:96px 0; background:linear-gradient(135deg,#FF7A00,#FFB347);
  text-align:center; color:#fff;
}
.lab-cta-title {
  font-size:clamp(1.8rem,4.2vw,2.8rem); font-weight:900;
  line-height:1.35; margin-bottom:36px;
}
.lab-cta-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.lab-cta-btn {
  display:inline-flex; align-items:center; justify-content:center;
  padding:16px 44px; border-radius:999px;
  font-weight:900; font-size:1.05rem; text-decoration:none;
  background:#fff; color:#FF8C00;
  box-shadow:0 5px 20px rgba(0,0,0,.14); transition:transform .22s,box-shadow .22s;
}
.lab-cta-btn:hover { transform:translateY(-4px); box-shadow:0 10px 28px rgba(0,0,0,.18); }
.lab-cta-btn--ghost {
  background:transparent; border:2.5px solid rgba(255,255,255,.85);
  color:#fff; box-shadow:none;
}
.lab-cta-btn--ghost:hover { background:rgba(255,255,255,.18); }



.lab-reveal { opacity:0; transform:translateY(24px); transition:opacity .6s,transform .6s; }
.lab-reveal.visible { opacity:1; transform:translateY(0); }



@media (max-width:900px) {
  .lab-univ-nodes     { grid-template-columns:repeat(2,1fr); }
  .lab-video-grid     { grid-template-columns:repeat(2,1fr); }
  .lab-listen-cols    { grid-template-columns:1fr; }

  .lab-latest-grid    { grid-template-columns:repeat(2,1fr); }
  .lab-lcard--big     { grid-column:1 / -1; flex-direction:column; }
  .lab-lcard--big .lab-lcard-thumb { width:100%; min-height:240px; }
  .lab-hint-grid      { grid-template-columns:1fr; }
  .lab-hint-card--big { grid-column:1; flex-direction:column; }
  .lab-hint-card--big .lab-hint-img { width:100%; min-height:220px; }
}
@media (max-width:640px) {
  .lab-inner        { padding:0 20px; }
  .lab-univ-nodes   { grid-template-columns:1fr 1fr; }
  .lab-video-grid   { grid-template-columns:1fr 1fr; }
  .lab-latest-grid  { grid-template-columns:1fr 1fr; }
  .lab-lcard--sm    { grid-column:span 1; }
  .lab-shorts-row   { flex-wrap:nowrap; overflow-x:auto; padding-bottom:8px; justify-content:flex-start; }
  .lab-short-card   { flex:0 0 72%; }
  .lab-sh           { flex-direction:column; align-items:flex-start; gap:8px; }
  .lab-sh-more      { margin-top:-4px; }
  .lab-mitem        { grid-template-columns:58px 1fr auto; gap:10px; }
  .lab-mthumb       { width:58px; }
}
@media (max-width:420px) {
  .lab-univ-nodes { grid-template-columns:1fr; }
  .lab-video-grid { grid-template-columns:1fr; }
}

.lab-mfeat {
  display:block; background:var(--lt); border-radius:14px; overflow:hidden;
  text-decoration:none; color:var(--dk); border:1px solid transparent;
  margin-bottom:14px; cursor:pointer;
  transition:transform .18s, box-shadow .18s, border-color .18s;
}
.lab-mfeat:hover { transform:translateY(-3px); box-shadow:0 14px 32px rgba(0,0,0,.12); border-color:rgba(255,140,0,.25); }
.lab-mfeat-thumb { position:relative; aspect-ratio:16/9; background:#e0e0e0; overflow:hidden; }
.lab-mfeat-thumb--sq { aspect-ratio:16/10; }
.lab-mfeat-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.lab-mfeat:hover .lab-mfeat-thumb img { transform:scale(1.04); }
.lab-mfeat-thumb .lab-mthumb-gen { position:absolute; inset:0; width:100%; height:100%; border-radius:0; }
.lab-mfeat-play { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.20); transition:background .18s; }
.lab-mfeat-play svg { width:46px; height:46px; filter:drop-shadow(0 2px 8px rgba(0,0,0,.4)); }
.lab-mfeat:hover .lab-mfeat-play { background:rgba(0,0,0,.34); }
.lab-mfeat-body { padding:14px 16px 16px; }
.lab-mfeat-title {
  font-size:1.22rem; font-weight:800; line-height:1.5; margin:0 0 6px;
  overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
}
.lab-mfeat-body .lab-lcard-date { font-size:.82rem; color:#888; }
@media (max-width:768px){ .lab-mfeat-title { font-size:1.12rem; } }


a.lab-pillar { text-decoration:none; color:inherit; cursor:pointer; }
.lab-pillar-link { display:inline-block; margin-top:10px; font-size:.92rem; font-weight:800; color:var(--pc); }
.lab-pillar:hover .lab-pillar-link { text-decoration:underline; }

.lab-pillar--career { --pc:#FF8C00; --pca:rgba(255,140,0,.12); }
.lab-pillar--house { --pc:#4BAF4F; --pca:rgba(75,175,79,.12); }
.lab-pillar--diversity { --pc:#1D4FA3; --pca:rgba(29,79,163,.12); }
.lab-lcard-fb.is-hidden { display:none; }
.lab-js-hidden { display:none !important; }
.lab-js-block { display:block !important; }
.lab-js-flex { display:flex !important; }
.lab-lcard-fb__shade {
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(0,0,0,.28),rgba(0,0,0,.3));
}
.lab-badge--source { background:#f5f5f5; color:#555; }
.lab-hint-fallback-img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.lab-empty {
  color:#aaa;
  padding:40px 0;
}
.lab-lcol-head--youtube { --hc:#FF0000; }
.lab-lcol-head--standfm { --hc:#FF7B00; }
.lab-lcol-head--note { --hc:#41C9B4; }
.lab-mthumb-gen--standfm { background:#8f4c17; }
.lab-mthumb-gen--note { background:#24756c; }
.lab-mthumb-gen__mark {
  position:absolute;
  right:4px;
  bottom:4px;
  opacity:.5;
}
.lab-sh--shorts { margin-top:52px; }
.lab-label--shorts { color:#FF6B6B; }
.lab-label--universe { color:#FFB46A; }
.lab-un-card--quinsel { --uc:#FF8C00; }
.lab-un-card--sonory { --uc:#9B59B6; }
.lab-un-card--youworks { --uc:#1D4FA3; }
.lab-un-card--house { --uc:#4BAF4F; }
.lab-un-link-row {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.lab-sns-btn--youtube { background:#FF0000; }
.lab-sns-btn--x { background:#000; border:1px solid #333; }
.lab-sns-btn--facebook { background:#1877F2; }
.lab-sns-btn--standfm { background:#FF7B00; }
.lab-yt-modal {
  align-items:center;
  background:rgba(0,0,0,.93);
  display:flex;
  inset:0;
  justify-content:center;
  position:fixed;
  z-index:9999;
}
.lab-yt-modal__frame {
  aspect-ratio:16/9;
  border:0;
  border-radius:12px;
  width:min(880px,96vw);
}
.lab-yt-modal__frame--short {
  aspect-ratio:9/16;
  border-radius:16px;
  width:min(340px,88vw);
}
.lab-yt-modal__close {
  background:none;
  border:0;
  color:#fff;
  cursor:pointer;
  font-size:1.8rem;
  line-height:1;
  position:absolute;
  right:22px;
  top:18px;
}
.lab-yt-modal__close:focus-visible {
  outline:2px solid #fff;
  outline-offset:4px;
}


.lab-lcard,
.lab-mfeat,
.lab-mitem,
.lab-video-card,
.lab-short-card,
.lab-sh-more,
.lab-lcol-more,
.lab-un-link,
.lab-x-follow-btn,
.lab-sns-btn,
.lab-cta-btn,
.lab-yt-modal__close {
  min-height:44px;
}

.lab-lcard:focus-visible,
.lab-mfeat:focus-visible,
.lab-mitem:focus-visible,
.lab-video-card:focus-visible,
.lab-short-card:focus-visible,
.lab-sh-more:focus-visible,
.lab-lcol-more:focus-visible,
.lab-un-link:focus-visible,
.lab-x-follow-btn:focus-visible,
.lab-sns-btn:focus-visible,
.lab-cta-btn:focus-visible {
  outline:3px solid rgba(255,140,0,.88);
  outline-offset:4px;
}

.lab-yt-modal__close {
  min-width:44px;
}


@media (max-width: 768px) {
  .lab-mtitle,
  .lab-video-title,
  .lab-mfeat-title       { font-size: 15px !important; line-height: 1.5 !important; }
  .lab-un-desc,
  .lab-pillar-desc,
  .lab-xcard-post-text   { font-size: 13.5px !important; line-height: 1.7 !important; }
  .lab-un-link,
  .lab-sh-more,
  .lab-lcol-more,
  .lab-pillar-link       { font-size: 13px !important; }
  .lab-lcard-date        { font-size: 12px !important; }
  .lab-label,
  .lab-badge,
  .lab-pillar-num        { font-size: 11px !important; }
  .lab-hero-tag          { font-size: 11px !important; }
  .lab-cta-btn           { font-size: 14px !important; }
}

@media (prefers-reduced-motion: reduce) {
  [class^="lab-"],
  [class*=" lab-"],
  [class^="lab-"]::before,
  [class^="lab-"]::after,
  [class*=" lab-"]::before,
  [class*=" lab-"]::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }

  .lab-reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}
