:root{
  --tlm-home-red:#ef2028;
  --tlm-home-cream:#f4f0e8;
  --tlm-home-bg:#070707;
  --tlm-home-muted:#a39d96;
  --tlm-home-line:rgba(255,255,255,.13);
}

.tlm-home-shell{
  overflow:hidden;
  color:#f4f0e8;
  background:var(--tlm-home-bg);
  font-family:Inter,Arial,sans-serif;
}

.tlm-home-wrap{
  width:min(1320px,calc(100% - 72px));
  margin:0 auto;
}

/* HERO — restore the original TLM turntables artwork directly from the
   plugin. Previous builds tried to inherit/recover a theme/Elementor background,
   which is not guaranteed to exist on the plugin-owned homepage. Bundling the
   known original asset makes the hero deterministic on desktop, iPad and iPhone. */
.tlm-home-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-color:#050505;
  background-image:url("hero-turntables.jpg");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}

/* Preserve the original dark editorial treatment while allowing the decks and
   coloured controls to remain clearly visible, especially on the right side. */
.tlm-home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.70) 42%,rgba(0,0,0,.18) 78%),
    linear-gradient(0deg,rgba(0,0,0,.88) 0%,transparent 44%);
  pointer-events:none;
}

/* Reintroduce the subtle vertical MASTERMIND watermark from the original
   homepage concept. */
.tlm-home-hero::after{
  content:"MASTERMIND";
  position:absolute;
  right:-42px;
  bottom:8%;
  z-index:1;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.055);
  font-family:Anton,Impact,sans-serif;
  font-size:clamp(110px,18vw,320px);
  line-height:1;
  letter-spacing:-5px;
  white-space:nowrap;
  transform:rotate(-90deg) translateX(20%);
  transform-origin:right bottom;
  pointer-events:none;
}

.tlm-home-hero .hero-inner{
  position:relative;
  z-index:2;
  padding-top:clamp(122px,13vh,146px);
  padding-bottom:clamp(118px,13vh,154px);
}

.tlm-home-tagline{
  max-width:640px;
  margin:0 0 14px;
  color:#e3ddd6;
  font-size:10px;
  font-weight:900;
  letter-spacing:.15em;
  line-height:1.55;
  text-transform:uppercase;
}

.tlm-home-hero h1{
  max-width:710px;
  margin:0;
  color:#f8f4ed;
  font-family:Anton,Impact,sans-serif;
  font-size:clamp(74px,8.2vw,126px);
  font-weight:400;
  line-height:.72;
  letter-spacing:-.025em;
  text-transform:uppercase;
}

.tlm-home-hero-copy{
  max-width:610px;
  margin:26px 0 0;
  color:#d0cbc4;
  font-size:clamp(18px,1.6vw,25px);
  line-height:1.45;
}

.tlm-home-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:30px;
}

.tlm-home-btn{
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:0 22px;
  border:1px solid rgba(255,255,255,.16);
  color:#fff!important;
  font-size:10px;
  font-weight:900;
  letter-spacing:.11em;
  text-decoration:none!important;
  text-transform:uppercase;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}

.tlm-home-btn:hover,
.tlm-home-btn:focus-visible{
  transform:translateY(-1px);
  outline:none;
}

.tlm-home-btn--red{
  border-color:var(--tlm-home-red);
  background:var(--tlm-home-red);
}

.tlm-home-btn--ghost{
  background:rgba(5,5,5,.46);
}

.tlm-home-btn--black{
  border-color:#090909;
  background:#090909;
}

.tlm-home-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:970px;
  margin-top:70px;
  border-top:1px solid rgba(255,255,255,.17);
  border-bottom:1px solid rgba(255,255,255,.17);
}

.tlm-home-stats>div{
  min-height:100px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:18px 24px;
  border-right:1px solid rgba(255,255,255,.17);
}

.tlm-home-stats>div:first-child{padding-left:0}
.tlm-home-stats>div:last-child{border-right:0}

.tlm-home-stats strong{
  color:#f7f3ed;
  font-family:Anton,Impact,sans-serif;
  font-size:clamp(25px,2.8vw,38px);
  font-weight:400;
  line-height:1;
}

.tlm-home-stats span{
  margin-top:7px;
  color:#8c857e;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
}

/* Tune In is deliberately rendered by the template instead of relying on a
   post-load DOM insertion. The existing audio JS still owns the modal/player. */
.tlm-home-hero .tlm-home-tune-in{
  margin-bottom:34px;
}

.tlm-home-marquee{
  overflow:hidden;
  height:55px;
  border:0;
  background:var(--tlm-home-red);
  color:#fff;
  white-space:nowrap;
}

.tlm-home-marquee .ticker-track{
  min-height:55px;
  display:flex;
  align-items:center;
  gap:28px;
  width:max-content;
  padding:0 14px;
  font-family:Anton,Impact,sans-serif;
  font-size:18px;
  letter-spacing:.02em;
  text-transform:uppercase;
}

/* FOUNDATION */
.tlm-home-foundation{
  position:relative;
  padding:clamp(88px,10vw,150px) 0;
  background:#070707;
}

.tlm-home-section-no{
  position:absolute;
  right:max(36px,calc((100vw - 1320px)/2));
  top:clamp(58px,7vw,96px);
  color:rgba(255,255,255,.035);
  font-family:Anton,Impact,sans-serif;
  font-size:clamp(90px,10vw,170px);
  line-height:1;
}

.tlm-home-foundation-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
  gap:clamp(52px,7vw,100px);
  align-items:center;
}

.tlm-home-photo{
  position:relative;
  margin:0;
  overflow:hidden;
  background:#111;
}

.tlm-home-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.tlm-home-photo--crew{
  aspect-ratio:1.42/1;
}

.tlm-home-photo--crew figcaption{
  position:absolute;
  left:0;
  bottom:0;
  padding:11px 18px;
  background:var(--tlm-home-red);
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.tlm-home-kicker{
  color:var(--tlm-home-red);
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.tlm-home-kicker--light{color:#fff}

.tlm-home-copy h2,
.tlm-home-carnival__copy h2,
.tlm-home-moments h2{
  margin:10px 0 25px;
  color:#f5f0e8;
  font-family:Anton,Impact,sans-serif;
  font-weight:400;
  letter-spacing:-.02em;
  text-transform:uppercase;
}

.tlm-home-copy h2{
  font-size:clamp(56px,5.6vw,88px);
  line-height:.84;
}

.tlm-home-copy p{
  max-width:650px;
  margin:0 0 18px;
  color:#a7a099;
  font-size:15px;
  line-height:1.72;
}

.tlm-home-text-link{
  display:inline-flex;
  gap:13px;
  align-items:center;
  margin-top:8px;
  padding-bottom:6px;
  border-bottom:2px solid var(--tlm-home-red);
  color:#fff!important;
  font-size:10px;
  font-weight:900;
  letter-spacing:.11em;
  text-decoration:none!important;
}

/* CARNIVAL TRIPTYCH — mirrors the Elementor reference: image/red/image. */
.tlm-home-carnival{
  background:#070707;
}

.tlm-home-carnival-grid{
  width:min(1600px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:.92fr 1.42fr .92fr;
  min-height:520px;
}

.tlm-home-carnival__image{
  min-height:520px;
}

.tlm-home-carnival__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(46px,6vw,92px);
  background:var(--tlm-home-red);
  color:#fff;
}

.tlm-home-carnival__copy h2{
  margin-top:12px;
  color:#fff;
  font-size:clamp(60px,6.2vw,105px);
  line-height:.82;
}

.tlm-home-carnival__copy p{
  max-width:600px;
  margin:0 0 28px;
  color:#fff;
  font-size:15px;
  line-height:1.7;
}

/* MOMENTS — one large tile + two stacked, matching desktop/iPad reference. */
.tlm-home-moments{
  position:relative;
  padding:clamp(88px,10vw,150px) 0 clamp(100px,11vw,165px);
  background:#090909;
}

.tlm-home-moments-head{
  display:grid;
  grid-template-columns:1fr minmax(320px,.7fr);
  gap:70px;
  align-items:end;
  margin-bottom:50px;
}

.tlm-home-moments h2{
  margin-bottom:0;
  font-size:clamp(64px,6.5vw,104px);
  line-height:.82;
}

.tlm-home-moments-head>p{
  margin:0 0 4px;
  color:#8f8881;
  font-size:15px;
  line-height:1.7;
}

.tlm-home-moments-grid{
  display:grid;
  grid-template-columns:1.48fr .92fr;
  gap:12px;
}

.tlm-home-moments-stack{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:12px;
}

.tlm-home-moment{
  position:relative;
  min-height:285px;
  margin:0;
  overflow:hidden;
  background:#111;
}

.tlm-home-moment--large{
  min-height:584px;
}

.tlm-home-moment img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.tlm-home-moment:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.77) 100%);
  pointer-events:none;
}

.tlm-home-moment figcaption{
  position:absolute;
  z-index:2;
  left:22px;
  right:22px;
  bottom:22px;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.tlm-home-moment small{
  color:#ded8d0;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
}

.tlm-home-moment strong{
  color:#f6f1e8;
  font-family:Anton,Impact,sans-serif;
  font-size:clamp(28px,3.2vw,52px);
  font-weight:400;
  line-height:.95;
}

/* LIVE — cream information block and dark Restream player. */
.tlm-home-live{
  display:grid;
  grid-template-columns:minmax(390px,.74fr) minmax(0,1.26fr);
  min-height:620px;
  background:#171717;
}

.tlm-home-live-copy{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:55px;
  background:var(--tlm-home-cream);
  color:#070707;
}

.tlm-home-live-copy__inner{
  width:min(480px,100%);
}

.tlm-home-live-kicker{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:14px;
  color:#111;
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
}

.tlm-home-live-kicker span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--tlm-home-red);
  box-shadow:0 0 0 7px rgba(239,32,40,.08);
}

.tlm-home-live h2{
  margin:0 0 26px;
  color:#050505;
  font-family:Anton,Impact,sans-serif;
  font-size:clamp(72px,7vw,110px);
  font-weight:400;
  line-height:.78;
  letter-spacing:-.02em;
}

.tlm-home-live-copy p{
  margin:0 0 30px;
  color:#635e58;
  font-size:15px;
  line-height:1.72;
}

.tlm-home-live-player{
  min-height:620px;
  background:#181818;
}

.tlm-home-live-player iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:620px;
  border:0;
}

.tlm-home-live-placeholder{
  height:100%;
  min-height:620px;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:32px;
}

/* TABLET */
@media(max-width:1024px){
  .tlm-home-wrap{
    width:calc(100% - 112px);
  }

  .tlm-home-hero{
    background-position:58% center;
  }

  .tlm-home-foundation-grid{
    grid-template-columns:1fr 1fr;
    gap:54px;
  }

  .tlm-home-copy h2{
    font-size:clamp(52px,6.8vw,82px);
  }

  .tlm-home-carnival-grid{
    grid-template-columns:.9fr 1.25fr .9fr;
  }

  .tlm-home-carnival__copy{
    padding:54px 42px;
  }

  .tlm-home-moments-grid{
    grid-template-columns:1.38fr .92fr;
  }
}

/* PHONE */
@media(max-width:700px){
  .tlm-home-wrap{
    width:calc(100% - 42px);
  }

  .tlm-home-hero{
    background-position:62% center;
  }

  .tlm-home-hero::before{
    background:
      linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.48)),
      linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.58));
  }

  .tlm-home-hero::after{
    display:none;
  }

  .tlm-home-hero .hero-inner{
    padding-top:calc(116px + env(safe-area-inset-top,0px));
    padding-bottom:120px;
  }

  .tlm-home-hero .tlm-home-tune-in{
    width:100%;
    max-width:none;
    margin-bottom:28px;
  }

  .tlm-home-tagline{
    max-width:100%;
    font-size:10px;
    line-height:1.45;
  }

  .tlm-home-hero h1{
    max-width:100%;
    font-size:clamp(62px,18.2vw,92px);
    line-height:.78;
  }

  .tlm-home-hero-copy{
    margin-top:28px;
    font-size:18px;
    line-height:1.5;
  }

  .tlm-home-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .tlm-home-btn{
    min-height:62px;
  }

  .tlm-home-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-top:70px;
  }

  .tlm-home-stats>div{
    min-height:96px;
    padding:16px 14px 16px 0;
  }

  .tlm-home-stats>div:nth-child(2){
    padding-left:24px;
    border-right:0;
  }

  .tlm-home-stats>div:nth-child(3){
    grid-column:1 / -1;
    min-height:82px;
    padding-left:0;
    border-top:1px solid rgba(255,255,255,.17);
    border-right:0;
  }

  .tlm-home-marquee .ticker-track{
    font-size:17px;
  }

  .tlm-home-foundation{
    padding:76px 0 84px;
  }

  .tlm-home-section-no{
    display:none;
  }

  .tlm-home-foundation-grid{
    grid-template-columns:1fr;
    gap:54px;
  }

  .tlm-home-photo--crew{
    aspect-ratio:1/1.03;
  }

  .tlm-home-copy h2{
    font-size:clamp(52px,14.4vw,72px);
    line-height:.84;
  }

  .tlm-home-copy p{
    font-size:17px;
    line-height:1.72;
  }

  .tlm-home-carnival-grid{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
  }

  .tlm-home-carnival__image{
    min-height:0;
    aspect-ratio:.94/1;
  }

  .tlm-home-carnival__copy{
    min-height:0;
    padding:68px 42px 74px;
  }

  .tlm-home-carnival__copy h2{
    font-size:clamp(58px,15vw,78px);
    line-height:.84;
  }

  .tlm-home-carnival__copy p{
    font-size:17px;
    line-height:1.68;
  }

  .tlm-home-carnival__copy .tlm-home-btn{
    width:min(100%,390px);
    margin-top:12px;
  }

  .tlm-home-moments{
    padding:82px 0 92px;
  }

  .tlm-home-moments-head{
    grid-template-columns:1fr;
    gap:28px;
    margin-bottom:48px;
  }

  .tlm-home-moments h2{
    font-size:clamp(58px,15.5vw,82px);
    line-height:.84;
  }

  .tlm-home-moments-head>p{
    font-size:17px;
    line-height:1.68;
  }

  .tlm-home-moments-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .tlm-home-moments-stack{
    grid-template-rows:none;
    gap:14px;
  }

  .tlm-home-moment,
  .tlm-home-moment--large{
    min-height:0;
    aspect-ratio:.96/1;
  }

  .tlm-home-moment figcaption{
    left:26px;
    right:26px;
    bottom:28px;
  }

  .tlm-home-moment strong{
    font-size:clamp(34px,9.8vw,50px);
  }

  .tlm-home-live{
    grid-template-columns:1fr;
    min-height:0;
  }

  .tlm-home-live-copy{
    min-height:0;
    padding:78px 42px 86px;
    justify-content:flex-start;
  }

  .tlm-home-live h2{
    font-size:clamp(70px,19vw,98px);
    line-height:.80;
  }

  .tlm-home-live-copy p{
    font-size:17px;
    line-height:1.62;
  }

  .tlm-home-live-player{
    min-height:220px;
    aspect-ratio:16/9;
  }

  .tlm-home-live-player iframe,
  .tlm-home-live-placeholder{
    min-height:0;
    height:100%;
  }
}

/* iPhone-size refinement: keep the editorial typography bold without letting
   the condensed display face crop against the viewport edges. */
@media(max-width:430px){
  .tlm-home-wrap{
    width:calc(100% - 40px);
  }

  .tlm-home-hero .hero-inner{
    padding-bottom:96px;
  }

  .tlm-home-hero h1{
    font-size:clamp(60px,17.4vw,78px);
  }

  .tlm-home-copy h2{
    font-size:clamp(50px,13.8vw,62px);
  }

  .tlm-home-carnival__copy{
    padding-left:40px;
    padding-right:40px;
  }

  .tlm-home-carnival__copy h2{
    font-size:clamp(54px,14.2vw,66px);
  }

  .tlm-home-moments h2{
    font-size:clamp(56px,14.6vw,68px);
  }

  .tlm-home-live h2{
    font-size:clamp(68px,18vw,84px);
  }
}

/* v1.9.86 — complete the phone hero before the marquee begins. */
@media(max-width:570px){
  .tlm-home-hero{
    height:auto !important;
    min-height:0 !important;
  }

  .tlm-home-stats{
    margin-top:58px;
  }

  .tlm-home-stats>div:nth-child(3){
    padding-top:20px;
    padding-bottom:20px;
  }

  .tlm-home-marquee{
    position:relative;
    z-index:3;
  }
}

/* v1.9.87 — iPhone editorial refinement.
 * Keep the large condensed type that defines the design, but give the longest
 * headings a little more breathing room on narrow screens. The hero/background
 * and desktop/tablet composition are intentionally unchanged. */
@media(max-width:430px){
  .tlm-home-copy h2{
    font-size:clamp(48px,13.1vw,59px);
    line-height:.86;
  }

  .tlm-home-carnival__copy h2{
    font-size:clamp(52px,13.6vw,63px);
    line-height:.86;
  }

  .tlm-home-moments h2{
    font-size:clamp(54px,13.9vw,65px);
    line-height:.86;
  }

  .tlm-home-live h2{
    font-size:clamp(64px,16.2vw,76px);
    line-height:.82;
  }

  .tlm-home-foundation{
    padding-top:68px;
    padding-bottom:78px;
  }

  .tlm-home-moments{
    padding-top:74px;
    padding-bottom:84px;
  }

  .tlm-home-moments-head{
    gap:22px;
    margin-bottom:40px;
  }
}


/* v1.9.91 — final iPhone rhythm pass.
 * These are intentionally narrow-screen-only refinements. The approved hero,
 * desktop 1320px composition, tablet layout and restored background are left
 * untouched. */
@media(max-width:430px){
  .tlm-home-foundation{
    padding-top:64px;
    padding-bottom:72px;
  }

  .tlm-home-foundation-grid{
    gap:46px;
  }

  .tlm-home-copy h2{
    margin-bottom:22px;
  }

  .tlm-home-copy p{
    margin-bottom:16px;
  }

  .tlm-home-carnival__copy{
    padding-top:62px;
    padding-bottom:66px;
  }

  .tlm-home-carnival__copy p{
    margin-bottom:24px;
  }

  .tlm-home-moments{
    padding-top:68px;
    padding-bottom:76px;
  }

  .tlm-home-moments-head{
    gap:20px;
    margin-bottom:34px;
  }

  .tlm-home-live-copy{
    padding:68px 40px 74px;
  }

  .tlm-home-live h2{
    margin-bottom:22px;
  }

  .tlm-home-live-copy p{
    margin-bottom:26px;
  }
}
