:root{--gold:#f5b817;--gold-soft:#ffd76c;--teal:#00a88f;--teal-dark:#007f70;--navy:#061b29;--navy-2:#0a2b3d;--ink:#0a1d28;--muted:#61727a;--mist:#f2f5f5;--line:#dbe3e5;--max:1240px;--shadow:0 24px 60px rgba(4,24,36,.16)}
body{font-family:Manrope,Arial,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3{font-family:"Space Grotesk",Manrope,sans-serif}
.container{width:min(var(--max),calc(100% - 64px))}
.section{padding:clamp(90px,9vw,138px) 0}
.site-header{position:absolute;border:0;background:linear-gradient(180deg,rgba(3,18,29,.78),transparent);z-index:20}
.header-ribbon{border-bottom:1px solid rgba(255,255,255,.16);color:#d7e2e5;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.header-ribbon .container{height:36px;display:flex;align-items:center;justify-content:flex-end;gap:2rem}
.header-ribbon span:first-child{margin-right:auto;color:var(--gold-soft)}
.nav-wrap{height:104px}
.brand-logo{width:275px;filter:drop-shadow(0 2px 5px rgba(0,0,0,.35))}
.site-header nav{gap:1.65rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.1em}
.site-header nav a{position:relative;padding:.8rem 0}
.site-header nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:.38rem;height:1px;background:var(--gold);transition:right .25s ease}
.site-header nav a:not(.nav-cta):hover:after{right:0}
.site-header nav a:hover{color:var(--gold-soft)}
.nav-cta{border:1px solid var(--gold);background:rgba(3,21,31,.28);padding:.78rem 1.15rem!important;color:#fff}
.nav-cta:hover{background:var(--gold);color:#071d2b!important}
.hero{min-height:920px;height:100vh;max-height:1050px;align-items:center;background:var(--navy)}
.hero-image{background:linear-gradient(90deg,rgba(3,18,29,.94) 0%,rgba(3,18,29,.78) 37%,rgba(3,18,29,.22) 72%,rgba(3,18,29,.08)),url('hero-security.png') center/cover no-repeat;transform:scale(1.01)}
.hero-shade{background:linear-gradient(0deg,rgba(3,18,29,.78),transparent 48%),radial-gradient(circle at 74% 50%,rgba(0,168,143,.11),transparent 32%)}
.hero-content{padding-top:175px;padding-bottom:165px;display:flex;flex-direction:column;align-items:flex-start}
.eyebrow{font-size:.72rem;letter-spacing:.28em;color:var(--gold-soft);margin-bottom:1.4rem}
.eyebrow span{background:var(--gold);width:52px;height:1px}
h1{font-size:clamp(3.25rem,6.2vw,6.4rem);max-width:920px;line-height:.98;letter-spacing:-.055em;margin-bottom:1.8rem;text-wrap:balance}
.hero-copy{max-width:650px;color:#d2dee2;font-size:clamp(1rem,1.45vw,1.22rem);border-left:2px solid var(--teal);padding-left:1.25rem}
.hero-actions{margin-top:2.25rem}
.button{min-height:57px;padding:1rem 1.55rem;border-radius:0;text-transform:uppercase;letter-spacing:.075em;font-size:.72rem;transition:transform .2s,background .2s,border-color .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--gold);color:#071d2b}
.button-primary:hover{background:var(--gold-soft)}
.button-ghost{border-color:rgba(255,255,255,.5)}
.hero-trust{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(var(--max),calc(100% - 64px));max-width:none;margin:0;background:rgba(5,29,42,.93);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);display:grid;grid-template-columns:repeat(3,1fr)}
.hero-trust div{padding:1.35rem 1.75rem;border-right:1px solid rgba(255,255,255,.13);margin:0;display:flex;align-items:baseline;gap:.75rem}
.hero-trust div:last-child{border-right:0}
.hero-trust strong{color:#fff;font-size:.95rem}
.hero-trust span{color:#9eb4bd;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.intro{position:relative;overflow:hidden}
.intro:before{content:"R";position:absolute;right:-2rem;top:-7rem;font:700 28rem/1 "Space Grotesk";color:#f3f6f6;z-index:0}
.intro-grid{position:relative;z-index:1;grid-template-columns:.9fr 1.1fr;gap:9%}
.section-label{font-size:.7rem;letter-spacing:.24em;color:var(--teal-dark);display:flex;align-items:center;gap:.8rem}
.section-label:before{content:"";width:36px;height:1px;background:currentColor}
.section-label.light{color:var(--gold-soft)}
h2{font-size:clamp(2.5rem,4.4vw,4.5rem);line-height:1.02;letter-spacing:-.05em;text-wrap:balance}
.intro-copy{border-left:1px solid var(--line);padding-left:clamp(2rem,5vw,4.8rem)}
.intro-copy p:first-child{font-size:1.22rem;line-height:1.7}
.services{background:#071f2e;color:#fff}
.services .section-heading>p{color:#a8bbc2}
.services .section-label{color:var(--gold-soft)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.15)}
.service-card,.festival-card{background:#0b2939;padding:0;min-height:500px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .28s,background .28s}
.service-card:hover{transform:translateY(-6px);background:#103548;box-shadow:0 18px 45px rgba(0,0,0,.3)}
.service-photo,.festival-card .service-photo{width:100%;height:225px;margin:0;object-fit:cover;filter:saturate(.86) contrast(1.03);transition:transform .45s,filter .45s}
.service-card:hover .service-photo{transform:scale(1.04);filter:saturate(1) contrast(1.05)}
.service-card h3,.service-card p,.service-card ul,.festival-card h3,.festival-card p,.festival-card ul{margin-left:1.6rem;margin-right:1.6rem}
.service-card h3{font-size:1.18rem;margin-top:1.5rem;margin-bottom:.8rem;color:#fff}
.service-card p{color:#aebfc5;font-size:.84rem;line-height:1.6}
.service-card ul,.festival-card ul{border:0;border-top:1px solid rgba(255,255,255,.12);padding:1rem 0 1.5rem;margin-top:auto}
.service-card li{font-size:.72rem;color:#d6e0e3}
.service-card li:before{color:var(--gold)}
.service-number{top:1rem;right:1rem;background:rgba(5,25,37,.88);color:var(--gold-soft);padding:.35rem .52rem;z-index:2}
.festival-card{grid-column:auto;min-height:500px;grid-template-columns:none;gap:0;align-items:stretch}
.festival-card>div{display:contents}
.festival-card ul{padding-left:0;border-left:0}
.approach{background:#fff;color:var(--ink);padding:0}
.approach-grid{grid-template-columns:1fr 1fr;min-height:720px;gap:0}
.approach-panel{background:linear-gradient(rgba(4,27,40,.93),rgba(4,27,40,.93)),url('services/film-production-security-plain.png') center/cover;padding:clamp(75px,8vw,120px) clamp(35px,6vw,85px);margin-left:calc((100vw - min(var(--max),calc(100vw - 64px)))/-2);padding-left:max(calc((100vw - var(--max))/2),32px);color:#fff}
.approach-panel p:not(.section-label){color:#b9c9ce}
.steps{color:var(--ink);border:0;padding:clamp(70px,8vw,110px) 0 clamp(70px,8vw,110px) clamp(35px,6vw,80px)}
.steps li{border-bottom:1px solid var(--line);grid-template-columns:52px 1fr}
.steps>li>span{color:var(--teal-dark)}
.steps p{color:var(--muted)}
.text-link{color:#fff;border-bottom-color:var(--gold)}
.text-link span{color:var(--gold)}
.areas{background:var(--mist)}
.area-list{background:#fff;box-shadow:var(--shadow);border-color:#d5dfe1}
.area-list span{position:relative;padding:1.6rem 1.8rem;border-color:#d5dfe1;font-size:.86rem}
.area-list span:before{content:"";display:inline-block;width:6px;height:6px;background:var(--teal);margin-right:.75rem;transform:rotate(45deg)}
.careers{background:linear-gradient(115deg,#061b29,#0d3547);position:relative;overflow:hidden}
.careers:after{content:"JOIN";position:absolute;right:-1rem;bottom:-4rem;font:700 13rem/1 "Space Grotesk";color:rgba(255,255,255,.025)}
.careers-grid{position:relative;z-index:1}
.career-form,.quote-form{border-top:4px solid var(--gold);box-shadow:0 26px 70px rgba(0,0,0,.28)}
.career-form input,.career-form select,.career-form textarea,.quote-form input,.quote-form select,.quote-form textarea{border:0;border-bottom:1px solid #b9c8cc;background:#f5f8f8;padding:.95rem}
.contact{background:#fff;color:var(--ink)}
.contact:after{opacity:.035}
.contact-copy>p:not(.section-label){color:var(--muted)}
.contact-note>span{color:var(--teal-dark)}
.contact-note p{color:#72838a}
.quote-form{background:#071f2e;color:#fff}
.quote-form input,.quote-form select,.quote-form textarea{background:#0c3042;border-bottom-color:#416070;color:#fff}
.quote-form input::placeholder,.quote-form textarea::placeholder{color:#a9bcc3}
.form-help{color:#9db0b8}
footer{background:#03141e;padding-top:85px;border-top:1px solid rgba(255,255,255,.08)}
.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr}
.footer-brand .brand-logo{width:300px}
.footer-grid h3{color:var(--gold-soft)}
.chat-launcher{background:var(--gold);color:#071d2b}
.chat-input button{background:var(--gold)}
.assistant-avatar{background:var(--gold)}
@media(max-width:1080px){.site-header nav{gap:1rem;font-size:.68rem}.brand-logo{width:220px}.service-grid{grid-template-columns:repeat(2,1fr)}.festival-card{grid-column:auto}}
@media(max-height:850px) and (min-width:851px){.hero{height:auto;min-height:960px}}
@media(max-width:850px){.header-ribbon{display:none}.nav-wrap{height:88px}.site-header nav{top:88px;background:rgba(4,27,40,.98);padding:1.5rem 32px}.hero{height:auto;min-height:980px}.hero-content{padding-top:150px;padding-bottom:190px}.hero-trust{width:calc(100% - 40px)}.intro-grid{grid-template-columns:1fr}.intro-copy{border-left:0;border-top:1px solid var(--line);padding:2rem 0 0}.approach-grid{grid-template-columns:1fr}.approach-panel{margin:0 -32px;padding-left:32px;padding-right:32px}.steps{padding-left:0}.contact-grid,.careers-grid{grid-template-columns:1fr}}
@media(max-width:560px){.container{width:min(100% - 28px,var(--max))}.brand-logo{width:185px}.hero{min-height:1060px}.hero-content{padding-top:120px;padding-bottom:245px}h1{font-size:3.35rem}.hero-copy{font-size:1rem}.hero-trust{width:calc(100% - 28px);grid-template-columns:1fr}.hero-trust div{padding:.8rem 1rem;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.hero-trust div:last-child{border-bottom:0}.service-grid{grid-template-columns:1fr}.service-card,.festival-card{min-height:auto}.service-photo,.festival-card .service-photo{height:235px}.approach-panel{margin:0 -14px;padding-left:14px;padding-right:14px}.section{padding:78px 0}.footer-brand .brand-logo{width:250px}}
/* Trustpilot review invitation and reserved live widget surface */
.reviews { background: #f5f8f9; }
.reviews-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.reviews h2 { max-width: 15ch; }
.reviews p { max-width: 56ch; }
.reviews-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.25rem; margin-top: 2rem; }
.reviews-link { color: #07334a; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.reviews-link:hover, .reviews-link:focus-visible { color: #126b78; }
.reviews-panel { background: white; border: 1px solid #dce6e9; border-top: 5px solid #00b67a; padding: clamp(1.5rem, 3vw, 2.5rem); box-shadow: 0 14px 32px rgba(5, 29, 42, .06); }
.reviews-panel-label { color: #07334a; font-weight: 800; margin-bottom: .75rem; }
.reviews-panel .trustpilot-widget[data-businessunit-id]:not([data-businessunit-id=""]) { display: block !important; }
@media (max-width: 760px) { .reviews-layout { grid-template-columns: 1fr; } }

.security-film { position:relative; grid-column:span 3; min-height:500px; overflow:hidden; background:#061c2a; isolation:isolate; display:flex; align-items:flex-end; }
.security-film video,.security-film-shade { position:absolute; inset:0; width:100%; height:100%; }
.security-film video { object-fit:cover; }
.security-film-shade { background:linear-gradient(90deg,rgba(3,19,29,.95) 0%,rgba(3,19,29,.74) 43%,rgba(3,19,29,.1) 100%); }
.security-film-copy { position:relative; z-index:1; padding:clamp(1.7rem,4vw,4rem); max-width:550px; }
.security-film-copy .section-label { color:var(--gold-soft); margin-bottom:1rem; }
.security-film-copy h3 { font-size:clamp(1.8rem,3vw,2.8rem); line-height:1.15; color:#fff; margin:0 0 1rem; }
.security-film-copy p:not(.section-label) { color:#e3edf0; font-size:1rem; line-height:1.55; margin:0 0 1.6rem; }
.security-film-toggle { position:absolute; z-index:2; right:1.5rem; bottom:1.5rem; color:#fff; background:rgba(4,27,40,.8); border:1px solid rgba(255,255,255,.65); padding:.7rem 1rem; font:inherit; font-size:.85rem; font-weight:700; cursor:pointer; }
.security-film-toggle:hover,.security-film-toggle:focus-visible { background:#103548; outline-color:var(--gold-soft); }
@media(max-width:1080px){.security-film{grid-column:span 2;}}
@media(max-width:560px){.security-film{grid-column:span 1;min-height:480px}.security-film-shade{background:linear-gradient(0deg,rgba(3,19,29,.96),rgba(3,19,29,.25))}.security-film-copy{padding:1.5rem 1.5rem 4.7rem}.security-film-toggle{right:1rem;bottom:1rem}}
