@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;600;800;900&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f2f0eb;color:#111;font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;padding:22px 28px;mix-blend-mode:difference;color:#fff}.logo{font-weight:900;line-height:.82;font-size:19px;letter-spacing:-.06em}.menu-btn{display:none;background:none;border:0;color:inherit;font:inherit}nav{display:flex;gap:22px;font:500 11px 'DM Mono',monospace;letter-spacing:.04em}.hero{min-height:100vh;position:relative;background:#111;color:#fff;display:grid;align-items:end;padding:28px}.hero-media,.media-placeholder{background:linear-gradient(135deg,#333,#111);min-height:100%;display:flex;align-items:center;justify-content:center;color:#888;font:11px 'DM Mono';letter-spacing:.08em}.hero-media{position:absolute;inset:0}.hero-copy{position:relative;z-index:1;max-width:950px;padding-bottom:6vh}.eyebrow,.kicker{font:500 11px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase}.hero h1{font-size:clamp(70px,13vw,190px);line-height:.76;letter-spacing:-.08em;margin:28px 0}.hero h1 span{margin-left:12vw}.lead{font-size:clamp(20px,2.2vw,32px);max-width:650px}.button{display:inline-block;border:1px solid currentColor;padding:14px 20px;margin-top:22px;font:500 11px 'DM Mono';text-transform:uppercase}.section{padding:130px 6vw}.intro h2,.section h2{font-size:clamp(48px,8vw,120px);line-height:.9;letter-spacing:-.07em;margin:25px 0 70px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:8vw;font-size:19px;line-height:1.5;max-width:1100px}.two-col p{margin:0}.dark{background:#111;color:#f2f0eb}.workout-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #555}.workout-grid a{padding:30px 10px 55px;border-bottom:1px solid #555;display:grid;gap:10px}.workout-grid a:nth-child(odd){border-right:1px solid #555}.workout-grid b{font:12px 'DM Mono';color:#999}.workout-grid strong{font-size:clamp(25px,3.5vw,50px);letter-spacing:-.05em}.workout-grid small{font:13px 'DM Mono';color:#aaa}.film-card{display:grid;grid-template-columns:1.2fr .8fr;min-height:600px;background:#151515;color:#fff}.film-card .media-placeholder{min-height:600px}.film-card>div:last-child{padding:60px;display:flex;flex-direction:column;justify-content:center}.statement{font-size:clamp(45px,8vw,120px);font-weight:800;line-height:.9;letter-spacing:-.07em}.split{display:grid;grid-template-columns:1.3fr .7fr;gap:6vw;align-items:center}.split .media-placeholder{height:600px}.page-hero{padding:180px 6vw 100px;min-height:70vh;display:flex;flex-direction:column;justify-content:flex-end}.page-hero h1,.film-hero h1{font-size:clamp(65px,11vw,160px);line-height:.78;letter-spacing:-.08em;margin:20px 0}.light-gray{background:#d9d7d2}.measure{max-width:700px;font-size:22px;line-height:1.45}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw}.three b{font-size:clamp(30px,4vw,60px);letter-spacing:-.06em}.three p{line-height:1.5}.workout-detail{scroll-margin-top:30px}.workout-detail>span{font:14px 'DM Mono';color:#888}.workout-detail h2{margin-bottom:15px}.workout-detail>p{font:14px 'DM Mono';text-transform:uppercase}.film-hero{min-height:100vh;display:grid;grid-template-columns:1.5fr .5fr;align-items:end;padding:28px}.film-hero .media-placeholder{min-height:90vh}.film-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw}.film-meta div{display:grid;gap:12px}.film-meta small{font:11px 'DM Mono';color:#777}.credits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0}.credits-grid div{padding:35px 0;border-bottom:1px solid #aaa;display:grid;gap:8px}.credits-grid b{font-size:26px}.credits-grid small{font:12px 'DM Mono';color:#555}.contact{background:#111;color:#fff}footer{padding:35px 28px;display:grid;grid-template-columns:1fr 1fr 1fr;font:11px 'DM Mono';gap:20px}
@media(max-width:800px){.site-header{padding:18px}.menu-btn{display:block}nav{display:none}.hero{padding:20px}.hero h1{font-size:22vw}.hero h1 span{margin-left:12vw}.section{padding:85px 6vw}.two-col,.split,.film-card,.film-hero{grid-template-columns:1fr}.workout-grid{grid-template-columns:1fr}.workout-grid a:nth-child(odd){border-right:0}.film-card .media-placeholder{min-height:50vh}.film-card>div:last-child{padding:40px}.split .media-placeholder{height:45vh}.page-hero{min-height:65vh;padding:130px 6vw 70px}.page-hero h1,.film-hero h1{font-size:18vw}.three,.film-meta,.credits-grid{grid-template-columns:1fr}.film-hero{padding:20px;gap:30px}.film-hero .media-placeholder{min-height:55vh}footer{grid-template-columns:1fr;gap:15px}}

.workout-image{margin-bottom:45px}.workout-image img{display:block;width:100%;max-height:75vh;object-fit:cover;object-position:center;border-radius:2px}@media(max-width:800px){.workout-image img{max-height:55vh}}

.hero .hero-media{background:rgba(0,0,0,.16)}

.film-poster{min-height:90vh;background:#111;display:flex;align-items:center;justify-content:center;overflow:hidden}
.film-poster img{width:100%;height:100%;max-height:90vh;object-fit:contain}
.film-watch{background:#111;padding-top:0}
.video-wrap{position:relative;width:100%;max-width:1200px;margin:auto;aspect-ratio:16/9}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:800px){.film-poster{min-height:55vh}.film-poster img{max-height:55vh}}



/* Mobile layout fixes */
html,body{width:100%;max-width:100%;overflow-x:hidden}
img,video,iframe{max-width:100%}

@media(max-width:800px){
  .site-header{
    width:100%;
    max-width:100%;
    padding:18px 20px;
    align-items:flex-start;
    mix-blend-mode:normal;
    color:#fff;
  }
  .logo{font-size:18px}
  .menu-btn{
    display:block;
    position:relative;
    z-index:1002;
    cursor:pointer;
    padding:0;
    color:inherit;
    background:transparent;
  }

  /* Full-screen, opaque mobile menu */
  nav{
    display:none;
  }
  nav.open{
    display:flex;
    position:fixed;
    z-index:1001;
    inset:0;
    width:100%;
    height:100%;
    min-height:100dvh;
    box-sizing:border-box;
    padding:105px 44px 50px;
    margin:0;
    background:#111;
    color:#f2f0eb;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:26px;
    font:500 18px/1.05 'DM Mono',monospace;
    letter-spacing:.03em;
    overflow-y:auto;
  }
  nav.open a{
    display:block;
    position:relative;
    z-index:1003;
  }
  nav.open a:hover,
  nav.open a:focus{
    color:#d71920;
  }

  .hero{
    width:100%;
    max-width:100vw;
    min-width:0;
    min-height:100svh;
    padding:20px;
    overflow:hidden;
  }
  .hero-copy{
    width:100%;
    max-width:100%;
    min-width:0;
    padding-bottom:5vh;
  }

  /* Home title: always contained inside the phone viewport */
  .hero h1{width:100%;max-width:100%;font-size:clamp(48px,11.5vw,82px);
    line-height:.82;
    letter-spacing:-.075em;
    margin:24px 0;
    overflow:visible;
    white-space:normal;
  }
  .hero h1 span{
    display:block;
    margin-left:0;
  }
  .lead{
    max-width:100%;
    font-size:19px;
    line-height:1.25;
  }

  .section,.page-hero{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  .section{padding:85px 6vw}
  .two-col,.split,.film-card,.film-hero{grid-template-columns:1fr}
  .workout-grid{grid-template-columns:1fr}
  .workout-grid a:nth-child(odd){border-right:0}
  .film-card .media-placeholder{min-height:50vh}
  .film-card>div:last-child{padding:40px}
  .split .media-placeholder{height:45vh}
  .page-hero{min-height:65vh;padding:130px 6vw 70px}
  .page-hero h1,.film-hero h1{font-size:18vw}
  .three,.film-meta,.credits-grid{grid-template-columns:1fr}
  .film-hero{padding:20px;gap:30px}
  .film-hero .media-placeholder{min-height:55vh}
  footer{grid-template-columns:1fr;gap:15px}
  .workout-image img{max-height:55vh}
  .film-poster{min-height:55vh}
  .film-poster img{max-height:55vh}
}

/* Final mobile home title containment */
@media(max-width:800px){
  .hero h1{
    font-size:clamp(48px,11.5vw,82px);
    letter-spacing:-.065em;
    line-height:.84;
    width:100%;
    max-width:100%;
    white-space:normal;
    overflow:visible;
  }
  .hero h1 span{
    display:block;
    margin-left:0;
  }
}

/* Mobile editorial typography */
@media(max-width:800px){
  /* Never allow oversized editorial type to create horizontal overflow. */
  h1,h2,h3,p,strong,small,b,span{
    max-width:100%;
  }

  /* Page and section headlines */
  .page-hero h1,
  .film-hero h1{
    font-size:clamp(42px,11vw,64px);
    line-height:.9;
    letter-spacing:-.055em;
    margin:20px 0 0;
    overflow-wrap:break-word;
    word-break:normal;
  }

  .intro h2,
  .section h2{
    font-size:clamp(40px,10.5vw,62px);
    line-height:.92;
    letter-spacing:-.055em;
    margin:22px 0 52px;
    overflow-wrap:break-word;
  }

  /* Large statement typography */
  .statement{
    font-size:clamp(40px,10.5vw,62px);
    line-height:.92;
    letter-spacing:-.055em;
    overflow-wrap:break-word;
  }

  /* Workout titles */
  .workout-grid strong{
    font-size:clamp(30px,8.2vw,48px);
    line-height:.95;
    letter-spacing:-.045em;
    overflow-wrap:break-word;
  }

  /* Credit names and other large labels */
  .credits-grid b{
    font-size:clamp(28px,8vw,46px);
    line-height:.95;
    letter-spacing:-.045em;
    overflow-wrap:break-word;
  }

  .three b{
    font-size:clamp(30px,8vw,48px);
    line-height:.95;
    letter-spacing:-.045em;
    overflow-wrap:break-word;
  }

  /* Comfortable reading size and rhythm */
  .measure,
  .two-col,
  .three p,
  .credits-grid small,
  .film-meta{
    font-size:17px;
    line-height:1.48;
  }

  .lead{
    font-size:18px;
    line-height:1.35;
  }

  .kicker,
  .eyebrow{
    line-height:1.35;
  }

  /* Give large editorial blocks more breathing room. */
  .section{
    padding-top:72px;
    padding-bottom:82px;
  }

  .page-hero{
    padding-top:120px;
    padding-bottom:58px;
  }

  /* Keep the Home title from being altered by the general page rules. */
  .hero h1{
    font-size:clamp(48px,11.5vw,82px);
    line-height:.84;
    letter-spacing:-.065em;
  }
}
