/* ========================================= THE THIRD LAW — HOME PAGE Cinematic / Premium / Editorial ========================================= */ .tl-home { –tl-red: #8f001d; –tl-red-bright: #b00026; –tl-black: #050505; –tl-dark: #0d0d0d; –tl-white: #f4f1ee; –tl-grey: #aaa6a6; –tl-border: rgba(255,255,255,0.12); background: var(–tl-black); color: var(–tl-white); font-family: Arial, Helvetica, sans-serif; margin: 0; padding: 0; overflow: hidden; } .tl-home * { box-sizing: border-box; } .tl-container { width: min(1180px, 90%); margin: 0 auto; } /* ========================================= HERO ========================================= */ .tl-hero { min-height: 88vh; display: flex; align-items: center; position: relative; overflow: hidden; background: radial-gradient( circle at 85% 45%, rgba(143,0,29,0.30), transparent 38% ), linear-gradient( 135deg, #050505 0%, #0a0a0a 55%, #16050a 100% ); } .tl-hero:after { content: “”; position: absolute; width: 500px; height: 500px; right: -200px; bottom: -250px; border-radius: 50%; background: rgba(143,0,29,0.18); filter: blur(80px); } .tl-hero-content { position: relative; z-index: 2; padding: 110px 0; } .tl-eyebrow { display: inline-block; color: #d9d5d3; font-size: 12px; letter-spacing: 4px; text-transform: uppercase; margin-bottom: 28px; border-left: 2px solid var(–tl-red-bright); padding-left: 14px; } .tl-hero h1 { font-size: clamp(58px, 9vw, 125px); line-height: 0.88; letter-spacing: -5px; font-weight: 700; max-width: 1000px; margin: 0 0 35px; } .tl-hero h1 span { color: var(–tl-red-bright); } .tl-hero-subtitle { max-width: 580px; color: #c7c3c1; font-size: 20px; line-height: 1.6; margin-bottom: 42px; } .tl-button { display: inline-block; padding: 16px 28px; background: var(–tl-red); color: #fff !important; text-decoration: none !important; font-size: 13px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; transition: all 0.3s ease; border: 1px solid var(–tl-red); } .tl-button:hover { background: transparent; color: #fff !important; border-color: #fff; transform: translateY(-2px); } .tl-button-outline { background: transparent; border-color: rgba(255,255,255,0.4); margin-left: 12px; } .tl-button-outline:hover { background: #fff; color: #050505 !important; } /* ========================================= INTRO ========================================= */ .tl-intro { background: var(–tl-white); color: var(–tl-black); padding: 120px 0; } .tl-intro-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 90px; align-items: center; } .tl-section-label { font-size: 11px; letter-spacing: 4px; text-transform: uppercase; color: var(–tl-red); font-weight: 700; } .tl-intro h2 { font-size: clamp(40px, 5vw, 70px); line-height: 0.95; letter-spacing: -3px; margin: 20px 0; } .tl-intro p { color: #555; font-size: 18px; line-height: 1.8; max-width: 650px; } /* ========================================= SERVICES ========================================= */ .tl-services { background: #0b0b0b; padding: 120px 0; } .tl-services-header { margin-bottom: 65px; } .tl-services h2 { font-size: clamp(40px, 5vw, 68px); line-height: 1; letter-spacing: -3px; margin: 15px 0 0; } .tl-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(–tl-border); } .tl-service { padding: 45px 35px 45px 0; border-right: 1px solid var(–tl-border); margin-right: 35px; } .tl-service:last-child { border-right: none; margin-right: 0; } .tl-service-number { color: var(–tl-red-bright); font-size: 13px; letter-spacing: 2px; margin-bottom: 45px; } .tl-service h3 { font-size: 30px; margin: 0 0 20px; } .tl-service p { color: var(–tl-grey); font-size: 16px; line-height: 1.7; } /* ========================================= SELECTED WORK ========================================= */ .tl-work { background: var(–tl-white); color: var(–tl-black); padding: 120px 0; } .tl-work-header { display: flex; justify-content: space-between; align-items: end; margin-bottom: 55px; } .tl-work h2 { font-size: clamp(42px, 5vw, 72px); line-height: 0.95; letter-spacing: -3px; margin: 15px 0 0; } .tl-work-intro { max-width: 350px; color: #666; line-height: 1.7; } /* Work grid */ .tl-work-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; } .tl-work-card { position: relative; overflow: hidden; min-height: 460px; background: #151515; text-decoration: none !important; color: #fff !important; display: flex; align-items: end; } .tl-work-card:before { content: “”; position: absolute; inset: 0; background: linear-gradient( to top, rgba(0,0,0,0.92), rgba(0,0,0,0.1) 65%, rgba(0,0,0,0) ); z-index: 1; } .tl-work-card:after { content: “”; position: absolute; inset: 0; background: linear-gradient( 135deg, rgba(143,0,29,0.35), transparent 55% ); opacity: 0; transition: 0.4s ease; } .tl-work-card:hover:after { opacity: 1; } .tl-work-placeholder { position: absolute; inset: 0; background: radial-gradient( circle at 70% 30%, rgba(143,0,29,0.35), transparent 35% ), linear-gradient( 135deg, #242424, #090909 ); } .tl-work-content { position: relative; z-index: 2; padding: 35px; width: 100%; } .tl-work-type { color: #e4a8b4; font-size: 11px; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 12px; } .tl-work-title { font-size: 34px; line-height: 1; margin: 0; } .tl-work-arrow { position: absolute; right: 35px; bottom: 35px; font-size: 28px; transition: transform 0.3s ease; } .tl-work-card:hover .tl-work-arrow { transform: translateX(8px); } /* ========================================= STATEMENT ========================================= */ .tl-statement { background: var(–tl-red); padding: 110px 0; text-align: center; } .tl-statement h2 { max-width: 950px; margin: 0 auto; font-size: clamp(42px, 6vw, 80px); line-height: 0.95; letter-spacing: -4px; } .tl-statement p { max-width: 600px; margin: 30px auto 0; color: rgba(255,255,255,0.8); font-size: 18px; line-height: 1.7; } /* ========================================= CONTACT CTA ========================================= */ .tl-contact { background: #050505; padding: 130px 0; } .tl-contact-inner { border-top: 1px solid var(–tl-border); border-bottom: 1px solid var(–tl-border); padding: 80px 0; display: flex; justify-content: space-between; align-items: center; gap: 50px; } .tl-contact h2 { font-size: clamp(42px, 6vw, 78px); line-height: 0.95; letter-spacing: -4px; margin: 0 0 20px; } .tl-contact p { color: var(–tl-grey); font-size: 18px; } .tl-contact-button { flex-shrink: 0; } /* ========================================= MOBILE ========================================= */ @media (max-width: 800px) { .tl-hero { min-height: 80vh; } .tl-hero-content { padding: 90px 0; } .tl-hero h1 { font-size: clamp(55px, 16vw, 90px); letter-spacing: -4px; } .tl-hero-subtitle { font-size: 17px; } .tl-button { margin-bottom: 10px; } .tl-button-outline { margin-left: 0; } .tl-intro { padding: 80px 0; } .tl-intro-grid { grid-template-columns: 1fr; gap: 25px; } .tl-services { padding: 80px 0; } .tl-service-grid { grid-template-columns: 1fr; } .tl-service { border-right: none; border-bottom: 1px solid var(–tl-border); margin-right: 0; padding: 40px 0; } .tl-service:last-child { border-bottom: none; } .tl-work { padding: 80px 0; } .tl-work-header { display: block; } .tl-work-intro { margin-top: 25px; } .tl-work-grid { grid-template-columns: 1fr; } .tl-work-card { min-height: 400px; } .tl-statement { padding: 80px 0; } .tl-contact { padding: 80px 0; } .tl-contact-inner { display: block; padding: 60px 0; } .tl-contact-button { margin-top: 35px; } }
The Third Law Productions

Happy people
make good
movies.

Film. Theatre. Stories that stay with you. We create bold South African stories with heart, humour and something to say.

Explore our work Get in touch

We make
stories matter.

The Third Law is a South African production company passionate about creating meaningful, entertaining and unforgettable stories.

From film and theatre to original productions, we believe that great storytelling has the power to make people feel something, think differently and connect with one another.

Stories in
every form.

01

Film

Original films and screen stories built around strong characters, compelling ideas and authentic South African voices.

02

Theatre

Bold theatrical experiences that bring stories to life through performance, design, movement and imagination.

03

Production

From concept to execution, we develop and produce projects that are creative, professional and made to connect with audiences.

Stories
we’ve told.

A selection of projects created, developed and produced by The Third Law.

We don’t just make productions. We create experiences.

Because the best stories don’t end when the curtain closes or the credits roll.

Have a story
to tell?

We’d love to hear it.