:root { --ink:#1b2027; --cream:#fbf7ed; --red:#bd392e; --gold:#e6be66; font-family:Georgia,serif; } * { box-sizing:border-box; } body { margin:0; color:var(--ink); background:var(--cream); line-height:1.6; } a { color:inherit; } img { display:block; width:100%; height:100%; object-fit:cover; }
.festival-strip { padding:8px 5vw; color:#fff; background:var(--red); text-align:center; font:700 .75rem Arial,sans-serif; letter-spacing:.07em; text-transform:uppercase; }.cinema-mast { display:flex; align-items:center; justify-content:space-between; padding:27px 6vw; border-bottom:1px solid #d7d1c5; }.cinema-logo { font-size:1.55rem; line-height:.84; font-weight:bold; text-decoration:none; }.cinema-logo span { color:var(--red); font-size:.72rem; letter-spacing:.17em; }.cinema-mast nav { display:flex; gap:24px; font:800 .78rem Arial,sans-serif; text-transform:uppercase; }.cinema-mast nav a { text-decoration:none; }
.opening-credit { display:grid; grid-template-columns:.95fr 1.05fr; min-height:590px; }.credit-copy { padding:clamp(55px,9vw,130px) 14%; background:var(--gold); }.credit-copy p:first-child { color:var(--red); font:800 .75rem Arial,sans-serif; text-transform:uppercase; letter-spacing:.1em; }.credit-copy h1 { margin:.22em 0; font-size:clamp(3.2rem,5.4vw,6.4rem); line-height:.87; }.primary-action { display:inline-block; padding:13px 18px; color:#fff; background:var(--red); text-decoration:none; font:700 .78rem Arial,sans-serif; text-transform:uppercase; }.opening-credit figure { margin:0; position:relative; }.opening-credit figcaption { position:absolute; right:0; bottom:0; padding:13px 18px; background:var(--ink); color:#fff; }
.screening-calendar { padding:88px 8vw; }.screening-calendar header { display:flex; align-items:end; justify-content:space-between; }.screening-calendar header p { color:var(--red); font:800 .75rem Arial,sans-serif; text-transform:uppercase; }.screening-calendar h2 { font-size:3rem; line-height:1; }.calendar-list { border-top:2px solid var(--ink); }.calendar-list article { display:grid; grid-template-columns:100px 1fr auto; align-items:center; gap:30px; padding:25px 0; border-bottom:1px solid #cfc8bb; }.calendar-list time { color:var(--red); font:bold 1.6rem Arial,sans-serif; }.calendar-list h3 { margin:0; font-size:1.4rem; }.calendar-list p { margin:.2em 0; }.calendar-list a { font-weight:bold; }
.projection-room { display:grid; grid-template-columns:1fr .85fr; min-height:460px; background:var(--ink); color:#fff; }.projection-room img { height:460px; }.projection-room div { padding:70px 15%; }.projection-room div p:first-child { color:var(--gold); text-transform:uppercase; font:800 .75rem Arial,sans-serif; }.projection-room h2 { font-size:3rem; line-height:1; }.camera-note { display:flex; align-items:center; gap:70px; padding:80px 10vw; }.camera-note div { max-width:500px; }.camera-note h2 { font-size:2.8rem; line-height:1; }.camera-note img { width:42%; height:290px; }.cinema-footer { display:grid; grid-template-columns:1.2fr .65fr 1fr; gap:45px; padding:55px 7vw; border-top:8px solid var(--red); }.cinema-footer nav { display:grid; gap:5px; }.cinema-footer address { font-style:normal; }
@media (max-width:760px) { .cinema-mast,.opening-credit,.projection-room,.cinema-footer { display:block; }.cinema-mast nav { margin-top:15px; flex-wrap:wrap; }.opening-credit figure { min-height:350px; }.screening-calendar header { display:block; }.calendar-list article { grid-template-columns:65px 1fr; }.calendar-list a { grid-column:2; }.projection-room img { height:330px; }.camera-note { display:block; }.camera-note img { width:100%; margin-top:30px; }.cinema-footer > * { margin-top:22px; } }
.role-board { padding:90px 8vw; background:#f0dfb9; }.role-board header { display:flex; align-items:end; justify-content:space-between; }.role-board header p,.admissions-note p:first-child { color:var(--red); font:800 .75rem Arial,sans-serif; text-transform:uppercase; letter-spacing:.1em; }.role-board h2,.admissions-note h2 { font-size:2.9rem; line-height:1; }.role-board > div { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.role-board article { padding:22px; background:#fbf7ed; }.admissions-note { display:flex; justify-content:space-between; align-items:center; gap:60px; padding:80px 12vw; }.admissions-note > div { max-width:680px; } @media (max-width:760px) { .role-board header,.role-board > div,.admissions-note { display:block; }.role-board article { margin-top:15px; }.admissions-note .primary-action { margin-top:20px; } }
.mast { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:22px 6vw; border-bottom:1px solid #d7d1c5; }.brand { color:var(--red); font-weight:bold; font-size:1.45rem; text-decoration:none; }.brand b { color:var(--ink); }.nav { display:flex; flex-wrap:wrap; gap:16px; font:800 .78rem Arial,sans-serif; text-transform:uppercase; }.nav a { text-decoration:none; }.reel-banner { padding:75px 9vw 54px; color:#fff; background:var(--ink); }.reel-banner h1 { font-size:clamp(2.8rem,5vw,5rem); line-height:.95; }.festival-board { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; width:min(1140px,88%); padding:80px 0; margin:auto; }.festival-board img { height:410px; }.festival-board h2 { font-size:2.2rem; line-height:1.05; }.festival-board__mark,.tag { color:var(--red); font:800 .75rem Arial,sans-serif; text-transform:uppercase; letter-spacing:.1em; }.screening-cards { padding:75px 9vw; background:#f0dfb9; }.reel-footer { display:grid; grid-template-columns:1.2fr .7fr 1fr; gap:40px; padding:55px 7vw; color:#fff; background:var(--ink); }.reel-footer ul { list-style:none; padding:0; }.reel-footer a { color:#fff; } @media(max-width:760px){.mast,.festival-board,.reel-footer{display:block}.nav{margin-top:15px}.festival-board img{margin-bottom:30px}.reel-footer>*{margin:22px 0}}
.ls-bar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 6vw;color:#fff;background:var(--ink)}.ls-mark{font:bold 1.25rem Arial,sans-serif;letter-spacing:.06em}.ls-mark i{color:var(--gold);font-style:normal;font-size:.76rem}.ls-bar nav{display:flex;flex-wrap:wrap;gap:15px;font:800 .75rem Arial,sans-serif;text-transform:uppercase}.ls-bar a{color:#fff;text-decoration:none}.ls-footer{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:42px;padding:54px 7vw;color:#fff;background:var(--ink);border-top:7px solid var(--red)}.ls-footer nav{display:grid;gap:5px}.ls-footer a{color:#fff}.ls-footer address{font-style:normal}
.school-lead{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.school-lead div{padding:clamp(55px,8vw,120px) 14%;background:var(--gold)}.school-lead h1,.programme-title h1,.workshop-cover h1,.labs-intro h1,.screening-main h1,.apply-title h1,.contact-top h1{font-size:clamp(3rem,5vw,5.5rem);line-height:.9}.school-lead img{height:520px}.school-values{padding:85px 8vw}.school-values h2{font-size:2.8rem}.school-values>div,.workshop-list,.apply-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.school-values article,.workshop-list article,.apply-steps article{padding:25px;background:#fff;border-top:5px solid var(--red)}.school-note,.lab-prepare,.screening-call{padding:70px 13vw;color:#fff;background:var(--ink)}.school-note h2,.lab-prepare h2,.screening-call h2{font-size:2.7rem;line-height:1}.school-note a,.lab-prepare a,.screening-call a{color:var(--gold);font-weight:bold}
.programme-title{padding:90px 12vw;background:#f0dfb9}.programme-title>p{max-width:700px}.programme-title a{font-weight:bold}.programme-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding:90px 10vw}.programme-grid img{height:410px}.programme-grid ol{margin:0;padding:0;list-style:none}.programme-grid li{padding:18px 0;border-bottom:1px solid #cfc8bb}.programme-grid b,.programme-grid span{display:block}.programme-detail{max-width:850px;padding:65px 0;margin:auto}.programme-detail h2{font-size:2.5rem}
.workshop-cover{display:grid;grid-template-columns:1.1fr .9fr}.workshop-cover img{height:500px}.workshop-cover div{padding:clamp(55px,8vw,120px) 14%;color:#fff;background:var(--red)}.workshop-list{padding:85px 8vw;background:#f7eee0}.workshop-list p:first-child,.apply-steps span{color:var(--red);font:bold 1.4rem Arial,sans-serif}.workshop-list a{font-weight:bold}.workshop-aside{max-width:850px;margin:80px auto;padding:35px;border-left:6px solid var(--gold)}
.labs-intro{padding:90px 12vw;color:#fff;background:var(--ink)}.labs-intro>p,.screening-main>div>p,.apply-title>p:first-child,.contact-top>p:first-child,.legal-sheet>p:first-child{color:var(--gold);font:800 .76rem Arial,sans-serif;text-transform:uppercase}.lab-board{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#d7d1c5}.lab-board div{padding:65px 15%;background:#fbf7ed}.lab-board img{height:360px}.lab-board h2{font-size:2rem}
.screening-main{display:grid;grid-template-columns:.9fr 1.1fr}.screening-main div{padding:clamp(55px,8vw,115px) 15%;background:var(--gold)}.screening-main img{height:500px}.screening-rules{padding:85px 10vw}.screening-rules h2{font-size:2.8rem}.screening-rules ol{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:0;list-style:none}.screening-rules b,.screening-rules span{display:block}.screening-rules b{color:var(--red);font-size:1.2rem}
.apply-title{padding:85px 12vw;background:#f7eee0}.apply-title>p:not(:first-child){max-width:700px}.apply-steps{padding:75px 9vw;background:#fff}.apply-ready{display:grid;grid-template-columns:1fr .9fr;align-items:center}.apply-ready img{height:420px}.apply-ready div{padding:65px 15%;background:var(--ink);color:#fff}.apply-ready a{color:var(--gold);font-weight:bold}.contact-top{padding:85px 12vw;background:#f0dfb9}.contact-top p{max-width:700px}.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:70px;padding:80px 12vw}.contact-grid form{display:grid;gap:18px}.contact-grid label{font-weight:bold}.contact-grid input,.contact-grid select,.contact-grid textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #9c988e;font:inherit}.contact-grid button{justify-self:start;padding:13px 20px;border:0;background:var(--red);color:#fff;font-weight:bold}.contact-grid aside{padding:20px;background:#f7eee0}.contact-grid aside img{height:220px}.legal-sheet{max-width:860px;margin:auto;padding:90px 8vw}.legal-sheet h1{font-size:clamp(2.8rem,5vw,5rem);line-height:.95}.legal-sheet h2{margin-top:40px;font-size:1.8rem}
@media(max-width:760px){.ls-bar,.ls-footer,.school-lead,.school-values>div,.programme-grid,.workshop-cover,.workshop-list,.lab-board,.screening-main,.screening-rules ol,.apply-steps,.apply-ready,.contact-grid{display:block}.ls-bar nav{margin-top:15px}.ls-footer>*{margin-top:22px}.school-lead img,.workshop-cover img,.screening-main img,.apply-ready img{height:330px}.school-values article,.workshop-list article,.apply-steps article,.screening-rules li{margin-top:15px}.programme-grid img{margin-bottom:30px}.lab-board div{padding:45px 12%}}
