:root{--black:#080808;--ink:#171717;--white:#f7f7f3;--muted:#aaa;--green:#7cff00;--line:#2d2d2d;--max:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}img{display:block;width:100%}a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 max(24px,4vw);position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;background:rgba(8,8,8,.93);color:#fff;border-bottom:1px solid #333}.brand{display:flex;align-items:center;gap:14px}.brand-mark{position:relative;font-weight:900;font-size:25px;letter-spacing:-3px;padding:8px;color:white}.brand-mark:before,.brand-mark:after{content:"";position:absolute;width:10px;height:10px;border-color:var(--green)}.brand-mark:before{top:0;left:0;border-top:3px solid var(--green);border-left:3px solid var(--green)}.brand-mark:after{right:0;bottom:0;border-right:3px solid var(--green);border-bottom:3px solid var(--green)}.brand-name{font-size:13px;letter-spacing:3px}.brand-name b{color:var(--green)}.nav{display:flex;align-items:center;gap:30px;font-size:12px;text-transform:uppercase;letter-spacing:1.5px}.nav a{padding:10px 0}.nav a:hover{color:var(--green)}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;background:#fff;width:26px;height:2px;margin:6px}.hero{min-height:100vh;position:relative;background:#000;color:#fff;display:flex;align-items:flex-end;padding:150px max(24px,7vw) 10vh}.hero>img,.film-strip>img,.audience-card>img{position:absolute;inset:0;height:100%;object-fit:cover}.hero-shade,.card-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.28) 70%,rgba(0,0,0,.15))}.hero-copy{position:relative;z-index:2;max-width:820px}.eyebrow{text-transform:uppercase;letter-spacing:4px;font-size:11px;font-weight:700}.green{color:#53aa00}.hero h1{font-size:clamp(58px,9vw,132px);line-height:.84;letter-spacing:-6px;margin:18px 0 30px}.hero h1 em{font-weight:300;color:var(--green)}.hero-copy>p:not(.eyebrow){font-size:clamp(17px,2vw,23px);max-width:660px;color:#ddd}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}.button{display:inline-block;text-transform:uppercase;letter-spacing:1.6px;font-size:11px;font-weight:800;padding:17px 24px;border:1px solid #fff}.button.primary{background:var(--green);border-color:var(--green);color:#081000}.button.ghost{color:#fff}.scroll-cue{position:absolute;right:4vw;bottom:38px;z-index:2;color:#ddd;text-transform:uppercase;letter-spacing:2px;font-size:10px}.section{padding:110px max(24px,6vw)}.intro{text-align:center;max-width:1050px;margin:auto}.intro h2,.section-heading h2,.about h2,.book h2,.contact h2,.film-strip h2{font-size:clamp(43px,6vw,84px);line-height:.95;letter-spacing:-3px;margin:15px 0 30px}.lead{font-size:clamp(18px,2vw,25px);color:#555;max-width:800px;margin:0 auto}.audiences{display:grid;grid-template-columns:1fr 1fr;background:#000}.audience-card{min-height:680px;position:relative;overflow:hidden;color:#fff}.audience-card img{transition:transform .8s}.audience-card:hover img{transform:scale(1.035)}.audience-card>div:last-child{position:absolute;z-index:2;left:9%;right:9%;bottom:8%}.audience-card p{font-size:11px;letter-spacing:3px;text-transform:uppercase}.audience-card h3{font-size:clamp(40px,4vw,65px);margin:8px 0}.audience-card span{display:block;color:#ccc;margin-bottom:22px}.audience-card a,.text-link{font-weight:bold;border-bottom:2px solid var(--green);padding-bottom:5px}.section-heading{max-width:var(--max);margin:0 auto 50px;display:flex;justify-content:space-between;gap:30px;align-items:end}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:480px;color:#666;font-size:18px}.filters{max-width:var(--max);margin:0 auto 28px;display:flex;gap:8px;flex-wrap:wrap}.filters button{cursor:pointer;border:1px solid #bbb;background:transparent;padding:10px 16px;font-size:10px;letter-spacing:1px;text-transform:uppercase}.filters button.active,.filters button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.gallery{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:300px;gap:10px}.gallery figure{margin:0;position:relative;overflow:hidden;background:#ddd}.gallery figure.wide{grid-column:span 2}.gallery figure.hidden{display:none}.gallery img{height:100%;object-fit:cover;transition:transform .5s}.gallery figure:hover img{transform:scale(1.04)}.gallery figcaption{position:absolute;left:0;bottom:0;background:rgba(0,0,0,.8);color:#fff;font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:10px 14px}.dark{background:var(--black);color:#fff}.dark .section-heading>p{color:#aaa}.service-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-grid article{padding:45px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:290px}.service-grid span{color:var(--green);font-size:11px}.service-grid h3{font-size:26px;margin:40px 0 15px}.service-grid p{color:#aaa}.film-strip{min-height:690px;position:relative;color:#fff;display:flex;align-items:center;padding:100px max(24px,8vw)}.film-strip>div:last-child{position:relative;z-index:2;max-width:650px}.film-strip p:not(.eyebrow){color:#ddd;font-size:19px;margin-bottom:30px}.about{display:grid;grid-template-columns:minmax(300px,1fr) minmax(320px,1.1fr);gap:8vw;align-items:center;max-width:var(--max);margin:auto}.about-image img{aspect-ratio:4/5;object-fit:cover;filter:grayscale(100%)}.about-copy p{color:#555;font-size:17px}.about-copy .text-link{display:inline-block;margin-top:15px}.book{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;align-items:center}.book-copy p:not(.eyebrow){color:#aaa;font-size:18px}.book-copy small{display:block;color:#777;margin-top:18px}.calendar iframe{width:100%;height:690px;border:0;background:#fff}.contact{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:end}.contact h2{margin-bottom:0}.contact-details a{display:block;font-size:clamp(18px,2vw,28px);font-weight:bold;margin-bottom:8px}.contact-details p{color:#555}footer{background:#000;color:#888;padding:50px max(24px,5vw);display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:11px;letter-spacing:1px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:#0b0b0b;padding:25px;flex-direction:column;align-items:flex-start;gap:8px}.nav.open{display:flex}.hero h1{letter-spacing:-3px}.audiences,.about,.book,.contact{grid-template-columns:1fr}.audience-card{min-height:520px}.gallery{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:1fr 1fr}.calendar iframe{height:650px}.section-heading{display:block}.section-heading>p{margin-top:25px}footer{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.site-header{height:70px}.nav{top:70px}.brand-name{font-size:11px;letter-spacing:2px}.hero{padding-bottom:100px}.scroll-cue{display:none}.section{padding-top:75px;padding-bottom:75px}.audiences{display:block}.audience-card{min-height:480px}.gallery{grid-template-columns:1fr;grid-auto-rows:360px}.gallery figure.wide{grid-column:auto}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:auto;padding:35px}.service-grid h3{margin-top:25px}.film-strip{min-height:600px}.calendar iframe{height:600px}.contact-details{margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.booking-cta{text-align:center}.booking-cta>div{max-width:900px;margin:auto}.booking-cta h2{font-size:clamp(43px,6vw,84px);line-height:.95;letter-spacing:-3px;margin:15px 0 30px}.booking-cta p:not(.eyebrow){font-size:19px;color:#aaa;max-width:700px;margin:0 auto 30px}.booking-cta:not(.dark) p:not(.eyebrow){color:#555}.button{cursor:pointer}.dark-button{background:#171717;color:#fff;border-color:#171717}.booking-modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.booking-modal.open{display:flex}.booking-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(5px)}.booking-dialog{position:relative;width:min(760px,100%);max-height:94vh;background:#fff;color:#171717;box-shadow:0 25px 80px rgba(0,0,0,.5);overflow:hidden}.booking-dialog>header{height:92px;background:#0a0a0a;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:18px 24px}.booking-dialog h2{font-size:24px;margin:2px 0}.modal-close{background:none;border:1px solid #555;color:#fff;width:45px;height:45px;font-size:30px;line-height:1;cursor:pointer}.booking-frame{height:min(690px,calc(94vh - 135px));overflow:hidden;background:#fff}.booking-frame iframe{width:100%;height:calc(100% + 70px);border:0;margin-bottom:-70px}.booking-fallback{position:absolute;bottom:0;left:0;right:0;margin:0;padding:9px 18px;background:#fff;text-align:center;font-size:12px;color:#777}.booking-fallback a{text-decoration:underline}.modal-open{overflow:hidden}.page-hero{min-height:72vh;position:relative;background:#000;color:#fff;display:flex;align-items:flex-end;padding:160px max(24px,7vw) 9vh}.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.page-hero>div:last-child{position:relative;z-index:2;max-width:850px}.page-hero h1{font-size:clamp(55px,8vw,110px);line-height:.9;letter-spacing:-5px;margin:18px 0 25px}.page-hero p:not(.eyebrow){font-size:21px;max-width:680px;color:#ddd}.services-hero>img{object-position:center 38%}.service-feature{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.service-feature-image img{aspect-ratio:4/3;object-fit:cover}.service-feature h2{font-size:clamp(38px,5vw,65px);line-height:1;letter-spacing:-2px}.service-feature p,.service-feature li{color:#555;font-size:17px}.service-feature ul{padding-left:20px;margin:25px 0 32px}.about-image img{filter:none;object-position:center 18%}
.button.youtube{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#111;border-color:#fff}.button.youtube:hover{background:var(--green);border-color:var(--green)}.play-icon{font-size:14px}
@media(max-width:900px){.service-feature{grid-template-columns:1fr}.page-hero h1{letter-spacing:-3px}.booking-dialog{max-height:96vh}.booking-frame{height:calc(96vh - 135px)}}
