@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800family=Inter:wght@400;500;600;700&family=Inter+Tight:wght@600;700;800family=Inter:wght@400;500;600;700family=Inter:wght@400;500;600;700&family=Inter+Tight:wght@600;700;800family=Inter+Tight:wght@600;700;800&display=swap');

:root{
  --black:#0B0F14;
  --off:#F7F8FA;
  --red:#C8102E;
  --slate:#6B7280;
  --white:#FFFFFF;
  --ink:#171B22;
  --muted:#5F6876;
  --line:#DDE1E7;
  --soft:#EEF1F4;
  --max:1240px;
  --radius:18px;
  --shadow:0 24px 70px rgba(11,15,20,.10);
  --display:"Inter Tight","Helvetica Neue",Arial,sans-serif;
  --body:"Inter","Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--off);color:var(--black);font-family:var(--body);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-60px;z-index:1000;background:#fff;padding:10px 14px;border-radius:8px}
.skip-link:focus{top:16px}

.site-header{position:fixed;inset:0 0 auto;z-index:100;background:linear-gradient(180deg,rgba(11,15,20,.96),rgba(11,15,20,.72),transparent);transition:.22s}
.site-header.is-scrolled{background:rgba(11,15,20,.96);backdrop-filter:blur(14px);box-shadow:0 1px rgba(255,255,255,.08)}
.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:34px}
.brand img{width:166px;height:auto}
.site-nav{display:flex;align-items:center;gap:30px;color:rgba(255,255,255,.9);font-size:.82rem;font-weight:700;letter-spacing:-.01em}
.site-nav a{transition:.18s}
.site-nav a:hover{color:#fff}
.nav-cta{border:1px solid rgba(200,16,46,.9);padding:11px 18px;border-radius:999px;color:#fff!important}
.nav-cta:hover{background:var(--red)}
.menu-toggle{display:none;background:none;border:0;padding:8px}
.menu-toggle span:not(.sr-only){display:block;width:24px;height:2px;background:#fff;margin:5px}

.hero{position:relative;min-height:760px;background:var(--black);color:#fff;overflow:hidden;display:grid;align-items:center;padding:138px 0 76px}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 35%,rgba(200,16,46,.20),transparent 24%),linear-gradient(90deg,rgba(11,15,20,.15),rgba(11,15,20,.0));pointer-events:none}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 86%)}
.hero-glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.20}
.hero-glow-one{width:500px;height:500px;background:var(--red);right:-250px;top:80px}
.hero-glow-two{width:460px;height:460px;background:#28313D;left:-300px;bottom:-240px}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr .96fr;gap:72px;align-items:center}
.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.20em;font-size:.67rem;font-weight:800}
.eyebrow{display:flex;align-items:center;gap:12px;color:#D5DAE1;margin-bottom:18px}
.eyebrow-line{width:30px;height:2px;background:var(--red);display:inline-block}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(200,16,46,.14);display:inline-block}
.hero h1{font-family:var(--display);font-size:clamp(3.6rem,6.5vw,6.7rem);font-weight:800;line-height:.90;letter-spacing:-.065em;margin:0;max-width:720px}
.hero h1 span{color:var(--red)}
.hero-lead{font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.55;color:#C2C8D1;max-width:640px;margin:24px 0 0}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0 24px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 20px;border-radius:999px;font-size:.84rem;font-weight:800;border:1px solid transparent;cursor:pointer;transition:.18s}
.button-primary{background:var(--red);color:#fff}
.button-primary:hover{background:#A80D27;transform:translateY(-1px)}
.button-ghost{border-color:rgba(255,255,255,.46);color:#fff;background:rgba(255,255,255,.02)}
.button-ghost:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.hero-meta{display:flex;gap:15px;flex-wrap:wrap;color:#8E97A5;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700}
.hero-meta span:not(:last-child)::after{content:"•";margin-left:15px;color:var(--red)}

.signal-card{background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:16px;box-shadow:0 35px 100px rgba(0,0,0,.42);transform:perspective(900px) rotateY(-2deg)}
.signal-top,.signal-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center}
.signal-top{padding:2px 2px 13px;color:#B8C0CB;font-size:.65rem;letter-spacing:.13em;font-weight:700}
.signal-label{display:flex;align-items:center;gap:9px}
.signal-stage{position:relative;aspect-ratio:16/10;border-radius:12px;background:radial-gradient(circle at 56% 48%,rgba(200,16,46,.13),transparent 34%),linear-gradient(155deg,#131920,#07090D);display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.04)}
.hero-mark{width:48%;max-height:60%;object-fit:contain;filter:drop-shadow(0 10px 30px rgba(0,0,0,.25))}
.frame-corner{position:absolute;width:32px;height:32px;opacity:.95}
.frame-tl{left:18px;top:18px;border-left:2px solid var(--red);border-top:2px solid var(--red)}
.frame-tr{right:18px;top:18px;border-right:2px solid var(--red);border-top:2px solid var(--red)}
.frame-bl{left:18px;bottom:18px;border-left:2px solid var(--red);border-bottom:2px solid var(--red)}
.frame-br{right:18px;bottom:18px;border-right:2px solid var(--red);border-bottom:2px solid var(--red)}
.signal-bottom{padding:14px 2px 1px}
.signal-bottom div{display:flex;flex-direction:column}
.signal-bottom small{font-size:.58rem;color:#7E8896;letter-spacing:.14em;font-weight:700}
.signal-bottom strong{font-size:.78rem;color:#E7EAF0;font-weight:700}

.trust-strip{background:#fff;border-bottom:1px solid var(--line)}
.trust-grid{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#596271;font-size:.63rem;font-weight:800;letter-spacing:.18em;white-space:nowrap;overflow:auto}
.trust-grid i{width:1px;height:16px;background:var(--red);flex:0 0 auto}

.section{padding:96px 0}
.section-heading{display:grid;grid-template-columns:1.08fr .92fr;gap:72px;align-items:end;margin-bottom:38px}
.kicker{color:var(--red);margin:0 0 12px}
.section-heading h2,.about-copy h2,.contact-copy h2,.availability-cta-grid h2{font-family:var(--display);font-size:clamp(2.4rem,4vw,4.5rem);font-weight:800;letter-spacing:-.055em;line-height:.96;margin:0}
.section-heading>p{margin:0 0 3px;color:var(--muted);font-size:1rem;line-height:1.65;max-width:520px}

.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.service-card{background:#fff;border:1px solid #D9DEE5;border-radius:14px;padding:24px;min-height:260px;display:flex;flex-direction:column;transition:.2s}
.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#C8CED7}
.service-num{font-size:.63rem;font-weight:900;letter-spacing:.16em;color:var(--red)}
.service-card h3{font-family:var(--display);font-size:1.35rem;line-height:1.02;letter-spacing:-.03em;margin:34px 0 10px}
.service-card p{margin:0;color:#68717F;font-size:.88rem;line-height:1.6}
.service-link{margin-top:auto;padding-top:24px;font-size:.76rem;font-weight:800;color:var(--red)}

.section-dark{background:linear-gradient(90deg,#0B0F14,#111820);color:#fff;position:relative;overflow:hidden}
.section-dark::after{content:"";position:absolute;right:-10%;top:0;width:48%;height:100%;background:radial-gradient(circle at center,rgba(255,255,255,.05),transparent 62%);pointer-events:none}
.section-dark .container{position:relative;z-index:1}
.section-heading-dark>p{color:#AAB2BE}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.16)}
.process-step{padding:24px 24px 6px;border-right:1px solid rgba(255,255,255,.15);min-height:215px}
.process-step:last-child{border-right:0}
.process-step span{font-size:.73rem;font-weight:900;color:var(--red)}
.process-step h3{font-family:var(--display);font-size:1.38rem;letter-spacing:-.02em;margin:42px 0 8px}
.process-step p{margin:0;color:#A6AFBA;font-size:.85rem;line-height:1.6}

.audience-section{background:#F2F4F6}
.audience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.audience-card{background:#fff;border:1px solid #D9DEE5;border-radius:12px;padding:18px 22px;display:grid;grid-template-columns:1fr;gap:4px;position:relative}
.audience-card::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:2px;background:var(--red)}
.audience-card strong{font-family:var(--display);font-size:1.02rem;letter-spacing:-.02em}
.audience-card span{color:#6A7380;font-size:.84rem}

.about-section{background:#fff}
.about-grid{display:grid;grid-template-columns:.58fr 1.42fr;gap:70px;align-items:center}
.about-mark{background:var(--off);border:1px solid var(--line);border-radius:18px;min-height:320px;display:grid;place-items:center;padding:34px}
.about-mark img{width:74%;max-height:220px;object-fit:contain}
.about-copy p{font-size:1rem;line-height:1.65;color:#606A78;max-width:760px}
.about-note{font-weight:800!important;color:var(--black)!important}

.availability-cta-section{background:linear-gradient(90deg,#0C1117,#111821);color:#fff}
.availability-cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.availability-cta-grid>div:first-child>p:last-child{color:#AAB2BE;max-width:650px;font-size:.96rem;line-height:1.65}
.availability-cta-card{background:#0B0F14;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:24px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;box-shadow:0 26px 80px rgba(0,0,0,.24)}
.availability-calendar-icon{width:82px;height:92px;border:1px solid rgba(255,255,255,.18);border-radius:12px;overflow:hidden;display:grid;grid-template-rows:28px 1fr;text-align:center}
.availability-calendar-icon span{background:var(--red);display:grid;place-items:center;font-size:.56rem;font-weight:900;letter-spacing:.14em}
.availability-calendar-icon strong{display:grid;place-items:center;font-family:var(--display);font-size:2rem}
.availability-cta-card>div:nth-child(2){display:grid;gap:3px}
.availability-cta-card small{color:#858F9D;font-size:.60rem;letter-spacing:.13em;font-weight:800}
.availability-cta-card strong{font-family:var(--display);font-size:1.1rem}
.availability-cta-card span{color:#AAB2BD;font-size:.80rem}
.availability-cta-card .button{grid-column:1/-1;width:100%;margin-top:2px}

.contact-section{background:#fff}
.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:68px;align-items:start}
.contact-copy>p{color:#606978;max-width:500px}
.direct-contact{display:grid;gap:8px;margin-top:30px}
.direct-contact a{border-top:1px solid var(--line);padding:14px 0;display:flex;flex-direction:column}
.direct-contact small{font-size:.63rem;color:var(--slate);font-weight:800;letter-spacing:.16em}
.direct-contact strong{font-size:.98rem}
.form-wrap{background:var(--off);border:1px solid var(--line);border-radius:18px;padding:28px}
.quote-form{display:grid;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.quote-form label{display:grid;gap:6px;font-size:.70rem;font-weight:800;letter-spacing:.06em;color:#4C5562}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid #CFD4DC;border-radius:10px;background:#fff;color:var(--black);padding:12px 13px;outline:none}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(200,16,46,.10)}
.quote-form textarea{resize:vertical}.form-submit{justify-self:start}.form-fineprint{margin:0;color:#757D88;font-size:.80rem}.hp{position:absolute;left:-9999px}
.form-status{padding:13px 15px;border-radius:10px;margin-bottom:16px;font-weight:700}.form-status.success{background:#EAF7EF;color:#176337}.form-status.error{background:#FDECEE;color:#8E1128}

.site-footer{background:#080C11;color:#fff;padding:58px 0 24px;border-top:1px solid rgba(255,255,255,.08)}
.footer-grid{display:grid;grid-template-columns:1.5fr .8fr .7fr;gap:56px}
.footer-logo{width:180px;height:auto;margin-bottom:16px}.footer-grid p,.footer-grid span,.footer-grid a{color:#9DA6B2;font-size:.86rem}.footer-grid>div{display:flex;flex-direction:column;gap:8px}.footer-grid strong{margin-bottom:5px;font-size:.82rem;text-transform:uppercase;letter-spacing:.11em}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:42px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#737D8B;font-size:.70rem}

.brandlab{position:fixed;right:18px;bottom:18px;z-index:150;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:var(--shadow);display:flex;align-items:center;gap:6px;font-size:.78rem}.brandlab strong{padding:0 8px;color:#5A6370}.brandlab a{padding:8px 10px;border-radius:9px;background:#EEF0F3}.brandlab a.active{background:var(--red);color:#fff}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:none}

@media(max-width:1060px){
  .site-nav{gap:20px}.hero-inner{grid-template-columns:1fr 1fr;gap:42px}.service-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:920px){
  .container{width:min(var(--max),calc(100% - 32px))}.header-inner{height:74px}.brand img{width:150px}.menu-toggle{display:block}.site-nav{position:absolute;top:74px;left:16px;right:16px;background:#10161E;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px;display:none;flex-direction:column;align-items:stretch;gap:6px}.site-nav.is-open{display:flex}.site-nav a{padding:11px 12px}.nav-cta{text-align:center}
  .hero{min-height:auto;padding:126px 0 74px}.hero-inner{grid-template-columns:1fr;gap:46px}.hero-visual{max-width:680px}.section{padding:78px 0}.section-heading,.about-grid,.contact-grid,.availability-cta-grid{grid-template-columns:1fr;gap:28px}.process-grid{grid-template-columns:1fr 1fr}.process-step:nth-child(2){border-right:0}.process-step:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.15)}.about-mark{min-height:260px}.trust-grid{justify-content:flex-start}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:640px){
  .container{width:calc(100% - 24px)}.hero{padding:112px 0 58px}.hero h1{font-size:3.55rem}.hero-lead{font-size:.98rem}.hero-actions{flex-direction:column;align-items:stretch}.button{width:100%}.signal-card{transform:none}.trust-grid{min-height:58px;font-size:.58rem}.section{padding:62px 0}.section-heading h2,.about-copy h2,.contact-copy h2,.availability-cta-grid h2{font-size:2.65rem}.service-grid,.process-grid,.audience-grid,.form-row{grid-template-columns:1fr}.process-step{border-right:0;border-bottom:1px solid rgba(255,255,255,.15);min-height:180px}.process-step:last-child{border-bottom:0}.service-card{min-height:230px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.brandlab{left:14px;right:14px;justify-content:center}
}

/* SJK LIVE v0.2.4 BROADCAST NUMERIC SYSTEM START */

:root{
  --numeric:"Barlow Condensed","Arial Narrow","Roboto Condensed",sans-serif;
}

/*
 * Broadcast / operational numbers
 * 01 02 03 04 should read like production markers,
 * not small metadata.
 */
.service-num{
  display:block;
  font-family:var(--numeric);
  font-size:clamp(2.5rem,3.4vw,3.4rem);
  font-weight:800;
  line-height:.82;
  letter-spacing:.015em;
  font-variant-numeric:tabular-nums;
  color:var(--red);
}

.service-card h3{
  margin-top:30px;
}


/* Dark process section — same numeric language */
.process-step span{
  display:block;
  font-family:var(--numeric);
  font-size:clamp(2.65rem,3.8vw,3.75rem);
  font-weight:800;
  line-height:.82;
  letter-spacing:.015em;
  font-variant-numeric:tabular-nums;
  color:var(--red);
}

.process-step h3{
  margin:28px 0 8px;
  font-size:1.5rem;
}


/* Homepage mini calendar date */
.availability-calendar-icon strong{
  font-family:var(--numeric);
  font-size:2.65rem;
  font-weight:800;
  line-height:.9;
  font-variant-numeric:tabular-nums;
}


/* CALL / phone becomes a real contact element */
.direct-contact a:first-child{
  padding-top:18px;
  padding-bottom:22px;
}

.direct-contact a:first-child small{
  margin-bottom:6px;
}

.direct-contact a:first-child strong{
  font-family:var(--numeric);
  font-size:clamp(2rem,3vw,3rem);
  font-weight:700;
  line-height:.95;
  letter-spacing:.025em;
  font-variant-numeric:tabular-nums;
  color:var(--black);
}


/* Keep email strong but clearly secondary to telephone */
.direct-contact a:nth-child(2) strong{
  font-family:var(--display);
  font-size:1.15rem;
  font-weight:700;
  letter-spacing:-.02em;
}


/* Small operational labels */
.direct-contact small,
.service-num,
.process-step span{
  text-rendering:geometricPrecision;
}


@media(max-width:640px){

  .service-num{
    font-size:2.55rem;
  }

  .process-step span{
    font-size:2.75rem;
  }

  .process-step h3{
    margin-top:22px;
  }

  .direct-contact a:first-child strong{
    font-size:2.25rem;
  }
}

/* SJK LIVE v0.2.4 BROADCAST NUMERIC SYSTEM END */


/* SJK LIVE v0.2.5 BROADCAST UTILITY TYPE START */

/*
 * SJK LIVE broadcast utility typography
 *
 * Purpose:
 * Replace tiny, widely-tracked agency-style uppercase labels
 * with stronger editorial/broadcast typography.
 */


/* ---------------------------------------------------------
   HERO EYEBROW
   "LIVE PRODUCTION. REAL IMPACT."
   --------------------------------------------------------- */

.eyebrow{
    font-family:var(--display);
    font-size:.82rem;
    font-weight:700;
    line-height:1.15;

    /*
     * Broadcast labels need controlled spacing.
     * Previous .20em was too wide.
     */
    letter-spacing:.055em;

    text-transform:uppercase;
    color:#E3E7ED;

    display:flex;
    align-items:center;
    gap:13px;

    margin-bottom:20px;

    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
}

.eyebrow-line{
    width:30px;
    height:2px;
    background:var(--red);
    flex:0 0 auto;
}


/* ---------------------------------------------------------
   SECTION KICKERS
   OUR SERVICES / OUR PROCESS / WHY SJK LIVE
   --------------------------------------------------------- */

.kicker{
    font-family:var(--display);
    font-size:.76rem;
    font-weight:700;
    line-height:1.15;

    letter-spacing:.065em;
    text-transform:uppercase;

    color:var(--red);

    margin:0 0 13px;

    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
}


/* ---------------------------------------------------------
   EVENT / INDUSTRY STRIP

   CORPORATE EVENTS
   CONFERENCES
   LIVE STREAMING
   AWARD CEREMONIES
   PRODUCT LAUNCHES
   --------------------------------------------------------- */

.trust-grid{
    min-height:72px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:28px;

    font-family:var(--display);
    font-size:.80rem;
    font-weight:700;
    line-height:1;

    /*
     * Important:
     * significantly tighter than the original .18em
     */
    letter-spacing:.045em;

    text-transform:uppercase;
    color:#414A57;

    white-space:nowrap;
    overflow-x:auto;

    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
}

.trust-grid span{
    display:flex;
    align-items:center;
    min-height:72px;
}

.trust-grid i{
    width:1px;
    height:22px;
    background:var(--red);
    opacity:.82;
    flex:0 0 auto;
}


/* ---------------------------------------------------------
   HERO META
   HOUSTON / LIVE / STREAMING ETC.
   --------------------------------------------------------- */

.hero-meta{
    font-family:var(--display);

    display:flex;
    gap:15px;
    flex-wrap:wrap;

    color:#959EAA;

    font-size:.74rem;
    font-weight:650;
    line-height:1.15;

    text-transform:uppercase;

    /*
     * Was too airy.
     */
    letter-spacing:.055em;
}

.hero-meta span:not(:last-child)::after{
    content:"•";
    margin-left:15px;
    color:var(--red);
}


/* ---------------------------------------------------------
   SIGNAL / MONITOR LABELS
   --------------------------------------------------------- */

.signal-top{
    font-family:var(--display);
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.045em;
    line-height:1;
}

.signal-bottom small{
    font-family:var(--display);
    font-size:.67rem;
    font-weight:650;
    letter-spacing:.045em;
}

.signal-bottom strong{
    font-family:var(--display);
    font-size:.82rem;
    font-weight:700;
    letter-spacing:0;
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media(max-width:900px){

    .trust-grid{
        justify-content:flex-start;
        gap:22px;
        padding-right:24px;
    }

    .trust-grid span{
        min-height:66px;
    }

    .trust-grid{
        min-height:66px;
    }
}


@media(max-width:640px){

    .eyebrow{
        font-size:.76rem;
        letter-spacing:.045em;
    }

    .kicker{
        font-size:.72rem;
        letter-spacing:.05em;
    }

    .trust-grid{
        font-size:.75rem;
        letter-spacing:.035em;
        gap:20px;
    }

    .trust-grid i{
        height:18px;
    }

    .hero-meta{
        font-size:.70rem;
        letter-spacing:.04em;
    }
}

/* SJK LIVE v0.2.5 BROADCAST UTILITY TYPE END */


/* SJK LIVE v0.2.9 YOLOCAST PLAYER START */

.signal-stage-live{
    aspect-ratio:16 / 9;
    display:block;
    background:#000;
    overflow:hidden;
}

.yolocast-player{
    display:block;
    width:100%;
    height:100%;
    border:0;
    border-radius:11px;
    background:#000;
}

/*
 * Give the real player maximum useful width.
 */
.signal-stage-live .frame-corner,
.signal-stage-live .hero-mark{
    display:none;
}

/* SJK LIVE v0.2.9 YOLOCAST PLAYER END */




/* SJK LIVE v0.3.4 ISOLATED YOLOCAST START */

.signal-stage-yolocast{
    position:relative;

    width:100%;

    aspect-ratio:16 / 9;

    padding:0 !important;

    overflow:hidden;

    background:#000;
}


.sjk-yolocast-frame{
    position:absolute;

    inset:0;

    display:block;

    width:100%;
    height:100%;

    margin:0;
    padding:0;

    border:0;

    background:#000;
}


/*
 * Static logo/corners are not used while
 * YoloCast player is enabled.
 */
.signal-stage-yolocast .hero-mark,
.signal-stage-yolocast .frame-corner{
    display:none !important;
}

/* SJK LIVE v0.3.4 ISOLATED YOLOCAST END */


/* SJK LIVE v0.4.0 PWA START */


/* ---------------------------------------------------------
   MOBILE APP MODE
   --------------------------------------------------------- */

html.sjk-mobile-mode{
    -webkit-tap-highlight-color:transparent;
}


html.sjk-mobile-mode body{
    overscroll-behavior-y:contain;
}


html.sjk-pwa-standalone body{
    padding-top:
        env(safe-area-inset-top);

    padding-bottom:
        env(safe-area-inset-bottom);
}


/*
 * Standalone PWA navigation should feel more app-like.
 */
html.sjk-pwa-standalone .site-header{
    position:sticky;

    top:0;

    z-index:1000;

    padding-top:
        env(safe-area-inset-top);
}


/* ---------------------------------------------------------
   MOBILE INSTALL BAR
   --------------------------------------------------------- */

.sjk-pwa-install{
    position:fixed;

    left:
        max(
            12px,
            env(safe-area-inset-left)
        );

    right:
        max(
            12px,
            env(safe-area-inset-right)
        );

    bottom:
        max(
            12px,
            env(safe-area-inset-bottom)
        );

    z-index:99999;

    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        auto
        34px;

    align-items:center;

    gap:12px;

    padding:13px 12px 13px 16px;

    border:
        1px solid
        rgba(255,255,255,.12);

    border-radius:16px;

    background:
        rgba(
            11,
            15,
            20,
            .96
        );

    color:#F7F8FA;

    box-shadow:
        0 16px 50px
        rgba(0,0,0,.35);

    backdrop-filter:
        blur(18px);

    -webkit-backdrop-filter:
        blur(18px);
}


.sjk-pwa-install-copy{
    min-width:0;

    display:grid;

    gap:2px;
}


.sjk-pwa-install-copy strong{
    font-family:
        "Inter Tight",
        "Inter",
        sans-serif;

    font-size:.95rem;

    font-weight:750;

    line-height:1.15;
}


.sjk-pwa-install-copy span{
    color:#AEB6C1;

    font-family:
        "Inter",
        sans-serif;

    font-size:.75rem;

    line-height:1.3;
}


.sjk-pwa-install-button{
    min-height:40px;

    padding:
        9px
        16px;

    border:0;

    border-radius:999px;

    background:#C8102E;

    color:#fff;

    font-family:
        "Inter Tight",
        "Inter",
        sans-serif;

    font-size:.82rem;

    font-weight:750;

    cursor:pointer;
}


.sjk-pwa-install-close{
    width:34px;
    height:34px;

    border:0;

    background:transparent;

    color:#AEB6C1;

    font-size:1.4rem;

    line-height:1;

    cursor:pointer;
}


@media(min-width:821px){

    .sjk-pwa-install{
        display:none !important;
    }
}


/*
 * Installed PWA does not need the installer.
 */
html.sjk-pwa-standalone
.sjk-pwa-install{
    display:none !important;
}


/* SJK LIVE v0.4.0 PWA END */


/* SJK LIVE v0.4.1 IOS PWA START */


/* ---------------------------------------------------------
   MOBILE INSTALL BAR
   --------------------------------------------------------- */

.sjk-install-bar{
    position:fixed;

    left:max(
        12px,
        env(safe-area-inset-left)
    );

    right:max(
        12px,
        env(safe-area-inset-right)
    );

    bottom:max(
        12px,
        env(safe-area-inset-bottom)
    );

    z-index:99990;

    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        auto
        34px;

    gap:12px;

    align-items:center;

    padding:13px 12px 13px 16px;

    border:
        1px solid
        rgba(255,255,255,.14);

    border-radius:16px;

    background:
        rgba(11,15,20,.97);

    color:#F7F8FA;

    box-shadow:
        0 18px 60px
        rgba(0,0,0,.38);

    backdrop-filter:
        blur(18px);

    -webkit-backdrop-filter:
        blur(18px);
}


.sjk-install-copy{
    display:grid;
    gap:2px;

    min-width:0;
}


.sjk-install-copy strong{
    font-family:
        "Inter Tight",
        "Inter",
        sans-serif;

    font-size:.96rem;
    font-weight:750;

    line-height:1.15;
}


.sjk-install-copy span{
    color:#AEB6C1;

    font-family:
        "Inter",
        sans-serif;

    font-size:.76rem;

    line-height:1.3;
}


.sjk-install-button{
    min-height:40px;

    padding:9px 16px;

    border:0;
    border-radius:999px;

    background:#C8102E;

    color:#fff;

    font-family:
        "Inter Tight",
        sans-serif;

    font-size:.82rem;
    font-weight:750;

    cursor:pointer;

    white-space:nowrap;
}


.sjk-install-dismiss{
    width:34px;
    height:34px;

    padding:0;

    border:0;

    background:transparent;

    color:#AEB6C1;

    font-size:1.45rem;

    cursor:pointer;
}


/* ---------------------------------------------------------
   iPHONE INSTALL MODAL
   --------------------------------------------------------- */

.sjk-ios-install-modal{
    position:fixed;

    inset:0;

    z-index:100000;

    display:flex;

    align-items:flex-end;
    justify-content:center;

    padding:
        18px
        14px
        max(
            18px,
            env(safe-area-inset-bottom)
        );

    background:
        rgba(4,7,10,.76);

    backdrop-filter:
        blur(8px);

    -webkit-backdrop-filter:
        blur(8px);
}


.sjk-ios-install-card{
    position:relative;

    width:min(520px,100%);

    max-height:
        calc(
            100vh
            -
            32px
        );

    overflow:auto;

    padding:
        28px
        24px
        22px;

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius:
        22px;

    background:#0B0F14;

    color:#F7F8FA;

    box-shadow:
        0 24px 80px
        rgba(0,0,0,.48);
}


.sjk-ios-install-close{
    position:absolute;

    top:14px;
    right:14px;

    width:38px;
    height:38px;

    border:0;

    border-radius:50%;

    background:
        rgba(255,255,255,.07);

    color:#D9DEE5;

    font-size:1.5rem;

    cursor:pointer;
}


.sjk-ios-install-brand{
    margin-bottom:22px;

    font-family:
        "Inter Tight",
        sans-serif;

    font-size:.9rem;

    font-weight:800;

    letter-spacing:.045em;
}


.sjk-ios-install-brand span{
    color:#C8102E;
}


.sjk-ios-install-line{
    width:32px;
    height:3px;

    margin-bottom:16px;

    background:#C8102E;
}


.sjk-ios-install-card h2{
    margin:0 0 12px;

    font-family:
        "Inter Tight",
        sans-serif;

    font-size:2.2rem;
    font-weight:800;

    line-height:.95;

    letter-spacing:-.045em;
}


.sjk-ios-install-intro{
    margin:0 0 24px;

    color:#B8C0CB;

    font-family:
        "Inter",
        sans-serif;

    font-size:.94rem;

    line-height:1.55;
}


.sjk-ios-install-steps{
    list-style:none;

    display:grid;

    gap:11px;

    margin:0;
    padding:0;
}


.sjk-ios-install-steps li{
    display:grid;

    grid-template-columns:
        38px
        minmax(0,1fr);

    gap:13px;

    align-items:center;

    padding:13px 14px;

    border:
        1px solid
        rgba(255,255,255,.09);

    border-radius:13px;

    background:
        rgba(255,255,255,.025);
}


.sjk-step-number{
    display:flex;

    align-items:center;
    justify-content:center;

    width:34px;
    height:34px;

    border-radius:50%;

    background:#C8102E;

    color:#fff;

    font-family:
        "Barlow Condensed",
        "Arial Narrow",
        sans-serif;

    font-size:1.25rem;

    font-weight:700;
}


.sjk-ios-install-steps div{
    display:grid;

    gap:2px;
}


.sjk-ios-install-steps strong{
    font-family:
        "Inter Tight",
        sans-serif;

    font-size:.95rem;
    font-weight:750;
}


.sjk-ios-install-steps small{
    color:#AAB3BF;

    font-family:
        "Inter",
        sans-serif;

    font-size:.79rem;

    line-height:1.35;
}


.sjk-ios-browser-note{
    margin-top:17px;

    padding:12px 13px;

    border-left:
        3px solid
        #C8102E;

    background:
        rgba(200,16,46,.07);

    color:#CCD2DA;

    font-family:
        "Inter",
        sans-serif;

    font-size:.82rem;

    line-height:1.45;
}


.sjk-ios-install-done{
    width:100%;

    min-height:48px;

    margin-top:20px;

    border:0;

    border-radius:999px;

    background:#C8102E;

    color:#fff;

    font-family:
        "Inter Tight",
        sans-serif;

    font-size:.92rem;
    font-weight:750;

    cursor:pointer;
}


/*
 * Installed app:
 * no installation controls.
 */
html.sjk-pwa-standalone
.sjk-install-bar,
html.sjk-pwa-standalone
.sjk-ios-install-modal{
    display:none !important;
}


/*
 * Installer is mobile only.
 */
@media(min-width:821px){

    .sjk-install-bar,
    .sjk-ios-install-modal{
        display:none !important;
    }
}

/* SJK LIVE v0.4.1 IOS PWA END */


/* SJK LIVE v0.4.2 MOBILE WATCH START */


/*
 * Desktop keeps the existing cinematic hero monitor.
 */
.sjk-mobile-watch{
    display:none;
}


/*
 * Mobile / PWA becomes viewer-first.
 */
@media(max-width:900px){

    .sjk-mobile-watch{
        display:block;

        margin:0;

        padding:
            18px
            16px
            24px;

        background:#0B0F14;

        color:#F7F8FA;

        border-bottom:
            1px solid
            rgba(255,255,255,.08);
    }


    .sjk-mobile-watch-head{
        display:flex;

        align-items:flex-end;
        justify-content:space-between;

        gap:18px;

        margin-bottom:14px;
    }


    .sjk-mobile-watch-kicker{
        display:block;

        margin-bottom:6px;

        font-family:
            "Inter Tight",
            "Inter",
            sans-serif;

        color:#C8102E;

        font-size:.72rem;
        font-weight:800;

        line-height:1;

        letter-spacing:.055em;
    }


    .sjk-mobile-watch h2{
        margin:0;

        font-family:
            "Inter Tight",
            "Inter",
            sans-serif;

        font-size:
            clamp(
                1.55rem,
                7vw,
                2.25rem
            );

        font-weight:800;

        line-height:.98;

        letter-spacing:-.045em;
    }


    .sjk-mobile-player-status{
        display:inline-flex;

        align-items:center;

        gap:7px;

        flex:0 0 auto;

        padding:
            7px
            9px;

        border:
            1px solid
            rgba(255,255,255,.10);

        border-radius:999px;

        background:
            rgba(255,255,255,.05);

        color:#D7DCE3;

        font-family:
            "Inter Tight",
            sans-serif;

        font-size:.64rem;

        font-weight:750;

        letter-spacing:.035em;
    }


    .sjk-mobile-player-status>span{
        width:8px;
        height:8px;

        border-radius:50%;

        background:#C8102E;

        box-shadow:
            0 0 0 5px
            rgba(200,16,46,.14);
    }


    .sjk-mobile-player-shell{
        position:relative;

        width:100%;

        aspect-ratio:16 / 9;

        overflow:hidden;

        border:
            1px solid
            rgba(255,255,255,.11);

        border-radius:14px;

        background:#000;

        box-shadow:
            0 16px 42px
            rgba(0,0,0,.30);
    }


    .sjk-mobile-watch-frame{
        position:absolute;

        inset:0;

        display:block;

        width:100%;
        height:100%;

        margin:0;
        padding:0;

        border:0;

        background:#000;
    }


    .sjk-mobile-watch-meta{
        display:flex;

        align-items:center;
        justify-content:space-between;

        gap:16px;

        padding-top:10px;

        color:#8F99A7;

        font-family:
            "Inter",
            sans-serif;

        font-size:.72rem;

        line-height:1.2;
    }


    .sjk-mobile-watch-meta span:first-child{
        color:#D5DAE1;
        font-weight:650;
    }


    .sjk-mobile-watch-standby{
        min-height:170px;

        display:flex;

        align-items:center;

        gap:14px;

        padding:24px;

        border:
            1px solid
            rgba(255,255,255,.10);

        border-radius:14px;

        background:#10151B;
    }


    .sjk-mobile-standby-dot{
        width:12px;
        height:12px;

        flex:0 0 auto;

        border-radius:50%;

        background:#6B7280;
    }


    .sjk-mobile-watch-standby>div:last-child{
        display:grid;
        gap:4px;
    }


    .sjk-mobile-watch-standby strong{
        font-family:
            "Inter Tight",
            sans-serif;

        font-size:1rem;
        font-weight:750;
    }


    .sjk-mobile-watch-standby span{
        color:#9EA7B3;

        font-family:
            "Inter",
            sans-serif;

        font-size:.82rem;

        line-height:1.4;
    }


    /*
     * We now have a dedicated player above the hero.
     * Do not waste mobile screen space duplicating the
     * large desktop monitor.
     */
    .hero .signal-card,
    .hero .hero-visual{
        display:none;
    }

}


/*
 * Installed PWA:
 * video begins immediately below app header.
 */
@media(max-width:900px){

    html.sjk-pwa-standalone
    .sjk-mobile-watch{
        padding-top:
            max(
                14px,
                env(safe-area-inset-top)
            );
    }

}


/* Very small phones */
@media(max-width:420px){

    .sjk-mobile-watch{
        padding-left:12px;
        padding-right:12px;
    }

    .sjk-mobile-watch-head{
        align-items:flex-start;
    }

    .sjk-mobile-player-status{
        font-size:.58rem;
    }

}


/* SJK LIVE v0.4.2 MOBILE WATCH END */


/* SJK LIVE v0.4.3 MOBILE NAV START */

.sjk-mobile-bottom-nav{
    display:none;
}


@media(max-width:900px){

    body{
        padding-bottom:
            calc(
                82px
                +
                env(safe-area-inset-bottom)
            );
    }


    .sjk-mobile-bottom-nav{
        position:fixed;

        left:0;
        right:0;
        bottom:0;

        z-index:99980;

        display:grid;

        grid-template-columns:
            repeat(4,1fr);

        min-height:
            calc(
                68px
                +
                env(safe-area-inset-bottom)
            );

        padding:
            7px
            8px
            max(
                7px,
                env(safe-area-inset-bottom)
            );

        border-top:
            1px solid
            rgba(255,255,255,.10);

        background:
            rgba(
                11,
                15,
                20,
                .97
            );

        box-shadow:
            0 -10px 35px
            rgba(0,0,0,.26);

        backdrop-filter:
            blur(18px);

        -webkit-backdrop-filter:
            blur(18px);
    }


    .sjk-mobile-nav-item{
        position:relative;

        min-width:0;

        display:flex;

        flex-direction:column;

        align-items:center;
        justify-content:center;

        gap:4px;

        padding:
            6px
            3px;

        border-radius:12px;

        color:#8F99A7;

        text-decoration:none;

        font-family:
            "Inter",
            system-ui,
            sans-serif;

        font-size:.69rem;

        font-weight:600;

        line-height:1;

        transition:
            color .15s ease,
            background .15s ease;
    }


    .sjk-mobile-nav-icon{
        width:24px;
        height:24px;

        display:flex;

        align-items:center;
        justify-content:center;
    }


    .sjk-mobile-nav-icon svg{
        width:23px;
        height:23px;
    }


    .sjk-mobile-nav-item.is-active{
        color:#F7F8FA;

        background:
            rgba(
                255,
                255,
                255,
                .055
            );
    }


    .sjk-mobile-nav-item.is-active::before{
        content:"";

        position:absolute;

        top:-7px;

        left:50%;

        width:34px;
        height:3px;

        transform:
            translateX(-50%);

        border-radius:99px;

        background:#C8102E;
    }


    /*
     * Watch and Book are the two primary operations.
     */
    .sjk-mobile-nav-item[
        data-nav="watch"
    ].is-active,
    .sjk-mobile-nav-item[
        data-nav="book"
    ].is-active{
        color:#fff;
    }


    html.sjk-pwa-standalone
    .sjk-mobile-bottom-nav{
        background:#0B0F14;
    }

}


/*
 * Install bar must sit above bottom app navigation.
 */
@media(max-width:900px){

    .sjk-install-bar{
        bottom:
            calc(
                82px
                +
                env(safe-area-inset-bottom)
            ) !important;
    }

}

/* SJK LIVE v0.4.3 MOBILE NAV END */


/* ==========================================================
   SJK LIVE v0.4.4 — FIVE ITEM MOBILE NAV
   ========================================================== */

@media(max-width:900px){

    .sjk-mobile-nav-v044{
        grid-template-columns:
            repeat(
                5,
                minmax(0,1fr)
            ) !important;
    }


    .sjk-mobile-nav-v044
    .sjk-mobile-nav-item{
        padding-left:1px;
        padding-right:1px;

        font-size:.64rem;
    }


    /*
     * LIVE is visually identifiable without making
     * unsupported claims that the current event itself
     * is presently broadcasting live.
     */
    .sjk-mobile-nav-v044
    .sjk-mobile-nav-live
    .sjk-mobile-nav-icon{
        width:32px;
        height:32px;

        margin-top:-8px;

        border-radius:50%;

        background:#C8102E;

        color:#fff;

        box-shadow:
            0 6px 18px
            rgba(200,16,46,.30);
    }


    .sjk-mobile-nav-v044
    .sjk-mobile-nav-live
    .sjk-mobile-nav-icon svg{
        width:20px;
        height:20px;
    }


    .sjk-mobile-nav-v044
    .sjk-mobile-nav-live.is-active::before{
        display:none;
    }


    .sjk-mobile-nav-v044
    .sjk-mobile-nav-live.is-active{
        background:transparent;
    }

}


/*
 * Booking destination should not hide behind sticky headers.
 */
#calendar{
    scroll-margin-top:
        max(
            12px,
            env(safe-area-inset-top)
        );
}


/*
 * Calendar becomes the visual starting point when specifically
 * entered through the Book tab.
 */
@media(max-width:900px){

    body:has(#calendar)
    #calendar{
        scroll-margin-bottom:
            calc(
                80px
                +
                env(safe-area-inset-bottom)
            );
    }

}

/* SJK LIVE v0.4.5 CLICK TO CALL START */

.sjk-phone-link{
    color:inherit;

    text-decoration:none;

    font:inherit;

    font-variant-numeric:
        tabular-nums;

    white-space:nowrap;

    transition:
        color .15s ease,
        opacity .15s ease;
}


.sjk-phone-link:hover{
    color:#C8102E;
}


.sjk-phone-link:focus-visible{
    outline:
        2px solid
        #C8102E;

    outline-offset:
        4px;

    border-radius:
        3px;
}


/*
 * On touch devices make the phone target easier to tap.
 */
@media(max-width:900px){

    .sjk-phone-link{
        display:inline-flex;

        align-items:center;

        min-height:38px;
    }

}

/* SJK LIVE v0.4.5 CLICK TO CALL END */

