/* Primary display font: "Saira Stencil One" is a stand-in for "Aero Matics Stencil Bold" until that font file is uploaded. To swap in the real font, register it (e.g. via @font-face) and list it first in --font-stencil below. */
 :root { --background: 0 0% 7%; --foreground: 36 6% 79%; --card: 0 0% 10%; --card-foreground: 36 6% 79%; --popover: 0 0% 10%; --popover-foreground: 36 6% 79%; --primary: 0 0% 71%; --primary-foreground: 0 0% 96%; --secondary: 0 0% 15%; --secondary-foreground: 36 6% 79%; --muted: 0 0% 15%; --muted-foreground: 0 0% 65%; --accent: 0 0% 71%; --accent-foreground: 0 0% 96%; --destructive: 0 64% 65%; --destructive-foreground: 0 0% 100%; --border: 0 0% 22%; --input: 0 0% 22%; --ring: 0 0% 71%; --radius: .2rem; --copper: #b4b4b0; --copper-light: #e2e2de; --ink: #111111; --paper: #c8c8c8; --dim: #a09d97; --line: #333230; --font-stencil: 'Saira Stencil One', 'Aero Matics Stencil Bold', sans-serif; }
 * { box-sizing: border-box; }
 html { scroll-behavior: smooth; scroll-padding-top: 100px; }
 body { margin: 0; background: var(--ink); color: var(--paper); font-family: 'Barlow',sans-serif; font-size: 16px; line-height: 1.6; overflow-x: clip; }
 button,input,textarea { font: inherit; } button,a,input,textarea,summary { -webkit-tap-highlight-color: transparent; } button,a,summary { transition: color .2s, background .2s, transform .2s; } a { color: inherit; text-decoration: none; } button { cursor: pointer; } button:disabled { opacity: .6; cursor: wait; } button:active,.button:active { transform: translateY(1px); } :focus-visible { outline: 2px solid var(--copper); outline-offset: 5px; } h1,h2,h3,p,figure { margin: 0; } img { display: block; width: 100%; } h2 { font-family: var(--font-stencil); font-size: clamp(38px,4.2vw,62px); font-weight: 400; line-height: 1.08; letter-spacing: -0.5px; } h2 em,h1 em { font-family: 'Libre Caslon Display',serif; font-weight: 400; } h3 { font-family: var(--font-stencil); font-weight: 400; font-size: 25px; line-height: 1.25; letter-spacing: 0.2px; } p { color: var(--dim); } svg { flex-shrink: 0; }
.site-header { height: 90px; padding: 0 5%; display: flex; align-items: center; justify-content: space-between; gap: 25px; background: #111111f5; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; }
.brand { display: flex; align-items: center; gap: 18px; }.brand strong { font-family: var(--font-stencil); font-size: 42px; line-height: 1; letter-spacing: -1px; font-weight: 400; }.brand strong span { color: var(--copper); }.brand-caption { border-left: 1px solid #595653; padding-left: 16px; font-size: 10px; line-height: 1.6; letter-spacing: 2px; }.desktop-nav { display: flex; gap: 35px; margin-left: auto; margin-right: 35px; font-size: 14px; }.desktop-nav a:hover { color: var(--copper); }.header-cta { display: flex; align-items: center; gap: 22px; border: 1px solid #5a5a57; padding: 12px 21px; font-size: 13px; }.header-cta:hover { background: var(--copper); color: var(--ink); }.menu-button { display: none; background: transparent; color: var(--paper); border: 0; padding: 10px; }.mobile-nav { position: absolute; top: 100%; left: 0; width: 100%; background: var(--ink); padding: 24px; border-bottom: 1px solid var(--line); }.mobile-nav a { display: block; padding: 12px; text-transform: capitalize; }.skip-link { position: fixed; top: -100px; z-index: 50; background: var(--paper); color: var(--ink); padding: 12px; }.skip-link:focus { top: 0; }
.hero { position: relative; min-height: 100dvh; display: flex; flex-direction: column; padding: 35px 5% 0; isolation: isolate; }.hero-image,.hero-overlay { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; z-index: -2; }.hero-image { object-position: 65% center; }.hero-overlay { z-index: -1; background: linear-gradient(90deg,#080909ec 0%,#0b0c0b70 60%,#09090928),linear-gradient(0deg,#111 0%,transparent 30%); }.hero-location { display: flex; align-items: center; gap: 10px; font-size: 10px; letter-spacing: 2px; color: var(--paper); }.hero-location-right { margin-left: auto; }.dot { display: inline-block; width: 6px; height: 6px; background: var(--copper); flex-shrink: 0; }.hero-content { margin: auto 0; padding: 95px 0 115px; }.eyebrow { font-size: 10px; font-weight: 500; color: var(--copper); letter-spacing: 2.1px; margin-bottom: 25px; display: flex; align-items: center; gap: 12px; }.eyebrow:before { content: ''; width: 24px; height: 1px; background: var(--copper); }.hero h1 { font-family: var(--font-stencil); font-size: clamp(55px,7.3vw,110px); font-weight: 400; letter-spacing: -1px; line-height: 1.04; }.hero h1 em { color: var(--copper-light); letter-spacing: -1px; }.hero-description { font-size: 17px; margin-top: 29px; line-height: 1.7; color: #c3c3bd; }.hero-actions { display: flex; align-items: center; gap: 30px; margin-top: 35px; }.button { background: var(--copper); color: var(--ink); border: 1px solid var(--copper); padding: 15px 23px; display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; font-family: var(--font-stencil); font-weight: 400; font-size: 14px; letter-spacing: 0.3px; min-height: 50px; }.button:hover { background: var(--copper-light); }.hero-secondary { display: inline-flex; align-items: center; gap: 15px; font-size: 14px; }.hero-bottom { padding: 25px 0; border-top: 1px solid #cdc9c329; display: flex; justify-content: space-between; font-size: 9px; letter-spacing: 1.7px; color: #b3b1ac; }.hero-bottom a { display: flex; gap: 14px; align-items: center; }
.section { max-width: 1400px; margin: 0 auto; padding: 105px 5%; }.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 45px; margin-bottom: 45px; }.heading-aside { padding-bottom: 5px; font-size: 14px; }.heading-aside p { margin-bottom: 23px; }.text-link { display: inline-flex; align-items: center; gap: 20px; padding: 8px 0; border: 0; border-bottom: 1px solid #5a5a57; color: var(--paper); background: transparent; font-size: 13px; }.text-link:hover { color: var(--copper); }.filter-bar { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 18px 0; display: flex; justify-content: space-between; gap: 20px; margin-bottom: 30px; }.filters { display: flex; gap: 7px; flex-wrap: wrap; }.filters button { background: transparent; color: var(--dim); border: 1px solid transparent; padding: 8px 16px; font-size: 13px; min-height: 44px; }.filters .selected { background: #c8c8c81a; color: var(--copper-light); border-color: #c8c8c83d; }.filters button:hover { color: var(--paper); }.search { display: flex; align-items: center; gap: 12px; color: var(--dim); }.search input { border: 0; background: transparent; color: var(--paper); font-size: 13px; width: 165px; padding: 10px 0; }.equipment-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 35px 24px; }.equipment-card { background: linear-gradient(155deg, #202020 0%, #181717 55%, #121211 100%); }.equipment-image { position: relative; overflow: hidden; }.equipment-image img { aspect-ratio: 4/3; object-fit: cover; transition: transform .3s ease-out; }.equipment-card:hover img { transform: scale(1.025); }.image-tag,.image-index { position: absolute; top: 15px; font-size: 9px; letter-spacing: 1px; text-transform: uppercase; }.image-tag { left: 15px; background: #171717d9; padding: 5px 9px; }.image-index { right: 16px; color: var(--paper); }.equipment-copy { padding: 25px; }.small-label { font-size: 9px; letter-spacing: 1.6px; text-transform: uppercase; }.equipment-copy h3 { margin: 9px 0 15px; font-size: 23px; }.equipment-copy > p:not(.small-label) { font-size: 14px; min-height: 70px; }.equipment-copy details { margin-top: 22px; font-size: 12px; border-top: 1px solid var(--line); }.equipment-copy summary { padding: 13px 0; display: flex; justify-content: space-between; cursor: pointer; color: #b7afa6; list-style: none; }.equipment-copy summary::-webkit-details-marker { display: none; }.equipment-copy ul { margin: 8px 0 14px; padding-left: 17px; color: var(--dim); }.spec-note { font-size: 11px; padding-bottom: 15px; }.equipment-inquire { display: flex; align-items: center; justify-content: space-between; font-size: 13px; border-top: 1px solid var(--line); padding-top: 17px; color: #b3b1ac; }.portfolio-note { display: flex; align-items: center; gap: 10px; font-size: 11px; margin-top: 28px; }.portfolio-note > span:last-child { margin-left: auto; font-size: 9px; letter-spacing: 1px; white-space: nowrap; }.empty-state { text-align: center; padding: 50px; }
.services-section { background: #1d1c1b; }.services-layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: 10%; }.sticky-heading { position: sticky; top: 130px; align-self: start; }.sticky-heading > p:not(.eyebrow) { margin: 25px 0; font-size: 15px; max-width: 380px; }.service-list article { display: flex; align-items: flex-start; gap: 22px; padding: 32px 0; border-top: 1px solid #3b3835; }.service-list article:first-child { padding-top: 0; border-top: 0; }.service-number { font-size: 11px; color: var(--copper); padding-top: 6px; }.service-list article > svg { color: var(--copper); margin-left: auto; margin-top: 5px; }.service-list p { margin-top: 17px; font-size: 14px; }.service-list > p { border-top: 1px solid #3b3835; padding-top: 20px; }.about-section { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; align-items: center; }.about-section figure img { aspect-ratio: 1/1.1; object-fit: cover; }.about-section figcaption { display: flex; justify-content: space-between; padding: 17px 0; font-size: 8px; letter-spacing: 1.5px; color: var(--dim); }.about-section h2 { font-size: clamp(38px,3.8vw,54px); }.about-section p:not(.eyebrow) { margin-top: 22px; font-size: 14px; }.about-section .about-lead { font-size: 18px !important; color: var(--paper); }.about-section .text-link { margin-top: 27px; }.about-caption { border-top: 1px solid var(--line); padding-top: 25px; margin-top: 35px; display: flex; gap: 10px; align-items: center; font-size: 8px; letter-spacing: 1.5px; }
.inquiry-section { background: #1b1a19; border-top: 1px solid var(--line); }.inquiry-layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: 10%; }.contact-link { display: flex; gap: 14px; align-items: center; font-size: 15px; margin: 17px 0; overflow-wrap: anywhere; }.inquiry-form { display: flex; flex-direction: column; gap: 23px; }.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }.inquiry-form label { display: block; font-size: 12px; color: var(--paper); }.inquiry-form label > span { color: var(--copper); }.inquiry-form input:not([type=checkbox]),.inquiry-form textarea { width: 100%; display: block; margin-top: 8px; background: #222120; color: var(--paper); border: 1px solid #3b3835; padding: 13px; font-size: 13px; border-radius: 2px; color-scheme: dark; }.inquiry-form textarea { resize: vertical; }.inquiry-form input::placeholder,.inquiry-form textarea::placeholder { color: #8d8781; }.inquiry-form .consent-line { display: flex; align-items: flex-start; gap: 10px; font-size: 11px; color: var(--dim); }.consent-line input { margin-top: 4px; accent-color: var(--copper); width: 16px; height: 16px; }.form-foot { font-size: 10px; text-align: center; }.form-error { color: #efa898; font-size: 13px; }.form-success { border: 1px solid var(--line); padding: 45px; align-self: start; }.form-success svg { color: var(--copper); }.form-success h3 { margin: 25px 0 15px; }.form-success p { margin-bottom: 25px; }
.site-footer { max-width: 1400px; padding: 55px 5% 25px; margin: auto; }.footer-top { display: flex; gap: 35px; align-items: center; padding-bottom: 40px; border-bottom: 1px solid var(--line); }.footer-top p { font-size: 14px; }.footer-top > a:last-child { margin-left: auto; }.footer-details { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 40px; padding: 35px 0; font-size: 12px; color: var(--dim); }.footer-details .small-label { color: var(--copper); margin-bottom: 14px; }.footer-details a,.footer-details span { display: block; }.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding-top: 23px; color: var(--dim); font-size: 9px; letter-spacing: .6px; }.footer-bottom button { border: 0; background: transparent; color: var(--dim); padding: 10px 0; }.cookie-banner { position: fixed; bottom: 18px; left: 18px; width: min(470px,calc(100% - 36px)); background: #23211f; border: 1px solid #5f5f5c; box-shadow: 0 8px 35px #0006; z-index: 40; padding: 23px; }.cookie-banner h3 { font-size: 19px; margin-bottom: 8px; }.cookie-banner p { font-size: 12px; }.cookie-actions { display: flex; gap: 8px; margin-top: 17px; }.cookie-actions button { flex: 1; border: 1px solid #6a6a67; padding: 10px 6px; background: transparent; color: var(--paper); font-size: 11px; min-height: 44px; }.cookie-actions button:hover { background: #3a3a38; }.cookie-banner fieldset { margin: 17px 0 0; padding: 12px; border: 1px solid var(--line); }.cookie-banner legend { font-size: 12px; }.cookie-banner fieldset label { display: flex; gap: 10px; margin: 10px 0; font-size: 12px; }.cookie-banner small { display: block; color: var(--dim); line-height: 1.5; }.cookie-banner input { accent-color: var(--copper); }
.page-header { padding-top: 130px; padding-bottom: 30px; border-bottom: 1px solid var(--line); }.page-title { font-family: var(--font-stencil); font-size: clamp(46px,6vw,92px); font-weight: 400; line-height: 1.04; letter-spacing: -1px; margin: 10px 0 28px; }.page-title em { color: var(--copper-light); }.page-intro { font-size: 17px; line-height: 1.7; color: #c3c3bd; max-width: 640px; margin-bottom: 30px; }
.team-section { padding-top: 60px; }.team-group { display: grid; grid-template-columns: 1fr 2.4fr; gap: 8%; align-items: start; padding: 45px 0; border-top: 1px solid var(--line); }.team-group:first-of-type { border-top: 0; }.team-group-heading { position: sticky; top: 110px; align-self: start; }.team-group-blurb { margin-top: 16px; font-size: 14px; max-width: 320px; }.team-cards { display: grid; grid-template-columns: repeat(auto-fill,minmax(150px,1fr)); gap: 18px; }.team-cards-founder { grid-template-columns: 1fr; max-width: 320px; }.team-card { background: linear-gradient(155deg,#202020 0%,#181717 55%,#121211 100%); padding: 28px 22px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; transition: transform .2s; }.team-card:hover { transform: translateY(-3px); }.team-avatar { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: var(--copper); color: var(--ink); font-family: var(--font-stencil); font-size: 26px; margin-bottom: 8px; }.team-cards-founder .team-avatar { width: 72px; height: 72px; font-size: 34px; }.team-card h3 { font-size: calc(21px - 4pt); }.team-cards-founder .team-card h3 { font-size: calc(26px - 4pt); }
.projects-section { padding-top: 60px; }.projects-attribution { border: 1px solid var(--line); background: #1a1918; padding: 28px; margin-bottom: 55px; }.projects-attribution p { font-size: 14px; margin-top: 12px; line-height: 1.7; }.projects-attribution a { color: var(--copper-light); border-bottom: 1px solid #5a5a57; }.projects-block { margin-bottom: 60px; }.projects-block-title { font-size: clamp(30px,3.4vw,44px); margin-bottom: 8px; }.projects-block-note { font-size: 13px; margin-bottom: 28px; }.known-for-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }.known-for-card { background: linear-gradient(155deg,#202020 0%,#181717 55%,#121211 100%); padding: 26px 22px; display: flex; flex-direction: column; gap: 8px; border-top: 2px solid transparent; transition: border-color .2s, transform .2s; }.known-for-card:hover { border-top-color: var(--copper); transform: translateY(-3px); }.known-for-icon { color: var(--copper); margin-bottom: 6px; }.known-for-card h3 { font-size: max(13px, calc(19px - 4pt)); line-height: 1.2; }.known-for-year { font-size: 12px; color: #b7afa6; margin-top: auto; }.known-for-link { font-size: 11px; color: #b3b1ac; display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; }.credits-list { list-style: none; padding: 0; margin: 0 0 30px; }.credit-row { display: grid; grid-template-columns: 1.6fr 1fr auto; gap: 20px; align-items: center; padding: 18px 0; border-top: 1px solid var(--line); }.credit-row:first-child { border-top: 0; }.credit-title { display: flex; align-items: center; gap: 12px; color: var(--paper); font-size: max(13px, calc(15px - 4pt)); }.credit-title:hover { color: var(--copper); }.credit-title svg { color: var(--copper); }.credit-role { font-size: 13px; color: #b7afa6; }.credit-year { font-size: 13px; color: var(--dim); font-variant-numeric: tabular-nums; white-space: nowrap; }.projects-footer-link { text-align: center; font-size: 13px; margin: 50px 0 0; }.projects-footer-link a { color: var(--copper-light); border-bottom: 1px solid #5a5a57; }
.rental-section { padding-top: 60px; }.rental-note { display: flex; align-items: center; gap: 12px; font-size: 13px; margin-bottom: 45px; }.rental-note p { font-size: 13px; }.rental-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }.rental-card { background: linear-gradient(155deg,#202020 0%,#181717 55%,#121211 100%); display: flex; flex-direction: column; }.rental-card-head { padding: 26px 24px 18px; border-bottom: 1px solid var(--line); }.rental-card-head h3 { font-size: 21px; margin-bottom: 8px; }.rental-card-head p { font-size: 13px; }.rental-items { list-style: none; margin: 0; padding: 8px 24px 24px; }.rental-items li { display: flex; flex-direction: column; gap: 2px; padding: 14px 0; border-top: 1px solid #2a2927; }.rental-items li:first-child { border-top: 0; }.rental-item-name { color: var(--paper); font-size: 14px; }.rental-item-spec { color: var(--dim); font-size: 12px; }.rental-cta { text-align: center; margin-top: 55px; display: flex; flex-direction: column; align-items: center; gap: 18px; }.rental-cta p { font-size: 16px; }.rental-cta .button { justify-content: center; }
.gallery-section { padding-top: 60px; }.gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: 240px; gap: 18px; }.gallery-item { position: relative; overflow: hidden; background: #181717; }.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease-out; }.gallery-item:hover img { transform: scale(1.04); }.gallery-wide { grid-column: span 2; }.gallery-tall { grid-row: span 2; }.gallery-item figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px 18px 14px; font-size: 11px; letter-spacing: .5px; color: var(--paper); background: linear-gradient(0deg,#0c0c0be6,transparent); opacity: 0; transition: opacity .25s; }.gallery-item:hover figcaption { opacity: 1; }
@media(min-width:1600px) { .hero-content { max-width: 1500px; width: 100%; margin-left: auto; margin-right: auto; } }
@media(max-width:1000px) { .equipment-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.desktop-nav { margin-right: 0; gap: 18px; font-size: 13px; }.header-cta { font-size: 12px; padding: 10px; }.services-layout,.inquiry-layout { gap: 6%; }.hero h1 { font-size: 80px; }.section { padding-top: 80px; padding-bottom: 80px; }.section-heading { gap: 20px; }.heading-aside { max-width: 300px; }.known-for-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.rental-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.team-group { gap: 6%; } }
@media(max-width:700px) { html { scroll-padding-top: 85px; }.site-header { height: 75px; gap: 12px; }.brand strong { font-size: 35px; }.brand { gap: 10px; }.brand-caption { padding-left: 10px; font-size: 8px; letter-spacing: 1px; }.desktop-nav { display: none; }.menu-button { display: block; }.header-cta { margin-left: auto; font-size: 11px; gap: 10px; }.hero { padding-top: 24px; }.hero-location { font-size: 8px; letter-spacing: 1.3px; }.hero-location-right { display: none; }.hero h1 { font-size: clamp(50px,10vw,73px); letter-spacing: -2px; }.hero h1 em { letter-spacing: -1px; }.hero-content { padding: 110px 0; }.hero-description { font-size: 14px; max-width: 310px; }.hero-description br { display: none; }.hero-actions { flex-direction: column; align-items: flex-start; gap: 18px; }.hero-bottom { gap: 15px; font-size: 7px; letter-spacing: 1px; }.hero-bottom > span:last-child { display: none; }.hero-image { object-position: 65% center; }.hero-overlay { background: linear-gradient(90deg,#090909e8,#09090960),linear-gradient(0deg,#111,transparent 50%); }.section { padding: 65px 6%; }.section-heading { display: block; }.heading-aside { margin-top: 25px; max-width: none; }.eyebrow { font-size: 9px; letter-spacing: 1.5px; margin-bottom: 20px; }.filter-bar { flex-direction: column; gap: 10px; }.filters { gap: 2px; }.filters button { padding: 8px 10px; font-size: 12px; }.search { border-top: 1px solid var(--line); padding-top: 8px; }.search input { width: 100%; }.equipment-grid { gap: 22px; grid-template-columns: 1fr; }.equipment-copy > p:not(.small-label) { min-height: auto; }.portfolio-note { align-items: flex-start; }.portfolio-note .dot { margin-top: 6px; }.portfolio-note > span:last-child { display: none; }.services-layout,.about-section,.inquiry-layout { grid-template-columns: 1fr; gap: 45px; }.sticky-heading { position: static; }.service-list article { gap: 17px; }.service-list h3 { font-size: 23px; }.about-section figure img { aspect-ratio: 4/3; }.inquiry-layout h2 { font-size: 43px; }.form-row { gap: 14px; }.page-header { padding-top: 100px; }.page-title { font-size: clamp(40px,9vw,60px); }.team-group { grid-template-columns: 1fr; gap: 22px; }.team-group-heading { position: static; }.team-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }.known-for-grid { grid-template-columns: 1fr; }.credit-row { grid-template-columns: 1fr; gap: 4px; }.credit-year { font-size: 12px; }.rental-grid { grid-template-columns: 1fr; }.gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 200px; }.gallery-wide,.gallery-tall { grid-column: span 1; grid-row: span 1; }.gallery-item figcaption { opacity: 1; }.footer-top { flex-wrap: wrap; gap: 20px; }.footer-top > a:last-child { margin: 0; width: 100%; justify-content: space-between; }.footer-details { grid-template-columns: 1fr; gap: 24px; }.footer-bottom { flex-wrap: wrap; }.footer-bottom > span:nth-child(2) { display: none; }.cookie-banner { padding: 18px; }.form-success { padding: 30px; }.whatsapp-fab { position: fixed; right: 16px; bottom: 16px; z-index: 45; display: inline-flex; align-items: center; gap: 9px; background: var(--copper); color: var(--ink); border: 1px solid var(--copper-light); padding: 12px 16px 12px 13px; font-family: var(--font-stencil); font-size: 13px; letter-spacing: .3px; box-shadow: 0 8px 24px #0008; min-height: 50px; }.whatsapp-fab:hover { background: var(--copper-light); }.whatsapp-fab:active { transform: translateY(1px); } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } *,*::before,*::after { transition: none !important; } }

/* Floating WhatsApp button — mobile only. */
.whatsapp-fab { display: none; }

/* The supplied textured backdrop carries across all pages while keeping copy readable. */
body { background-color: #111; background-image: linear-gradient(rgba(12,12,12,.25),rgba(12,12,12,.25)), url('https://horizons-cdn.hostinger.com/b9875120-ec48-49b3-990f-25fa3a585535/535fc3137591345fb9ab00c40a4f3474.jpg'); background-position: center; background-size: cover; background-attachment: fixed; }
.site-header { background: rgba(17,17,17,.94); }
.mobile-nav { background: #171717; }
.services-section, .inquiry-section { background: rgba(29,28,27,.78); }

/* ---- WordPress additions ---- */
.screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.afe-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
.desktop-nav a[aria-current="page"]{color:var(--copper)}
.footer-details .small-label{display:block}
.footer-details span.muted{color:var(--dim)}
.cookie-banner[hidden]{display:none}
.equipment-card[hidden]{display:none}
.empty-state[hidden]{display:none}
.form-error{margin:0}
.inquiry-form button.button{cursor:pointer}
.generic-page{min-height:50vh}
.generic-page .entry-content{max-width:760px;color:#c3c3bd;font-size:16px;line-height:1.8}
.generic-page .entry-content a{color:var(--copper-light);border-bottom:1px solid #5a5a57}
.generic-page .entry-content h2,.generic-page .entry-content h3{margin:1.6em 0 .6em}
.error-404{min-height:60vh;display:flex;flex-direction:column;justify-content:center;gap:22px}
.hero h1 .hero-line-1{display:block;font-size:clamp(34px,5vw,64px);line-height:1.1;color:rgb(174,174,165)}
.hero h1 .hero-line-2{display:block;font-family:"Trebuchet MS",sans-serif;font-size:clamp(30px,4.4vw,56px);line-height:1.15;margin-top:6px}
.sec-title-a{color:var(--paper)}
.alt-face{font-family:"Trebuchet MS",sans-serif}
.page-title .alt-face{display:block}

/* ---- Mobile: WhatsApp replaces the email / inquiry shortcuts ---- */
.header-cta-wa,.contact-link-wa{display:none}
@media(max-width:700px){
	.header-cta-desk,.contact-link-email{display:none}
	.header-cta-wa{display:inline-flex;align-items:center;gap:8px;margin-left:auto;background:var(--copper);border-color:var(--copper-light);color:var(--ink);font-family:var(--font-stencil);padding:10px 14px;font-size:12px;min-height:44px}
	.header-cta-wa:hover{background:var(--copper-light);color:var(--ink)}
	.contact-link-wa{display:flex}
	.whatsapp-fab{display:none}
}

/* ---- Rental inventory (quantities, search, jump links) ---- */
.rental-grid{display:block;column-count:3;column-gap:24px}
.rental-card{break-inside:avoid;margin-bottom:24px;scroll-margin-top:100px;display:block}
.rental-card[hidden]{display:none}
.rental-items li{display:grid;grid-template-columns:1fr auto;gap:2px 14px;padding:10px 0;align-items:baseline}
.rental-item-spec{grid-column:1/-1}
.rental-item-qty{font-family:var(--font-stencil);color:var(--copper-light);font-size:13px;white-space:nowrap}
.rental-items li[hidden]{display:none}
.rental-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.rental-tools .search{flex:1 1 280px;max-width:420px}
.rental-count{font-size:12px;letter-spacing:1px;color:var(--dim);margin:0}
.rental-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:34px}
.rental-chips button{font:inherit;font-size:12px;padding:7px 11px;border:1px solid var(--line);background:none;color:var(--dim);cursor:pointer}
.rental-chips button:hover{color:var(--paper);border-color:var(--copper)}
.rental-chips button.selected{color:var(--paper);border-color:var(--copper-light);background:#ffffff12}
.rental-purchase{margin-top:45px;margin-bottom:0}
@media(max-width:1000px){.rental-grid{column-count:2}}
@media(max-width:700px){.rental-grid{column-count:1}.rental-chips{margin-bottom:24px}}

/* ---- Team photos ---- */
.team-photo{display:block;width:calc(100% + 44px);margin:-28px -22px 10px;aspect-ratio:4/5;overflow:hidden;background:#111}
.team-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(.2) contrast(1.05);transition:filter .3s,transform .4s}
.team-card:hover .team-photo img{filter:none;transform:scale(1.03)}

/* ---- Project slider (film posters) ---- */
.project-slider-section{padding-bottom:20px}
.slider-title{font-family:var(--font-display);font-size:clamp(30px,4vw,46px);margin:0 0 26px}
.slider{position:relative}
.slider-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;outline-offset:4px;padding-bottom:4px}
.slider-track::-webkit-scrollbar{display:none}
.slide{flex:0 0 clamp(190px,21vw,270px);scroll-snap-align:start;margin:0;display:flex;flex-direction:column;gap:12px}
.slide-poster{position:relative;aspect-ratio:2/3;overflow:hidden;background:#111;border:1px solid var(--line)}
.slide-poster img{display:block;width:100%;height:100%;object-fit:cover}
.slide-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:22px 18px;background:linear-gradient(155deg,#252322 0%,#181717 55%,#101010 100%)}
.slide-card-mark{color:var(--copper)}
.slide-card-title{font-family:var(--font-display);font-size:clamp(24px,2.6vw,34px);line-height:1.1;color:var(--paper)}
.slide figcaption{display:flex;flex-direction:column;gap:3px}
.slide-title{font-family:var(--font-display);font-size:max(13px,calc(17px - 4pt));color:var(--paper)}
a.slide-title{display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid transparent;align-self:flex-start}
a.slide-title:hover{border-color:var(--copper)}
.slide-credit{font-size:12px;letter-spacing:.5px;color:var(--dim)}
.slider-btn{position:absolute;top:calc(50% - 30px);transform:translateY(-50%);width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0b0b0bd9;border:1px solid var(--line);color:var(--paper);cursor:pointer;z-index:2;transition:background .2s,border-color .2s}
.slider-btn:hover{background:var(--copper);border-color:var(--copper-light);color:var(--ink)}
.slider-prev{left:-14px}.slider-next{right:-14px}
.slider-bar{display:flex;align-items:center;gap:22px;margin-top:22px}
.slider-progress{flex:1;height:3px;background:var(--line);position:relative;overflow:hidden}
.slider-progress span{position:absolute;left:0;top:0;bottom:0;width:20%;background:var(--copper);transition:left .2s,width .2s}
.slider-toggle{background:none;border:1px solid var(--line);color:var(--dim);padding:7px 14px;font-size:12px;letter-spacing:1px;cursor:pointer}
.slider-toggle:hover{color:var(--paper);border-color:var(--copper)}
.slider-note{font-size:12px;color:var(--dim);margin-top:14px}
@media(max-width:700px){
	.slide{flex-basis:62vw}
	.slider-btn{width:40px;height:40px;top:calc(50% - 26px)}
	.slider-prev{left:4px}.slider-next{right:4px}
}
@media(prefers-reduced-motion:reduce){.slider-track{scroll-behavior:auto}}


/* ---- Home photo slider (wide variant) ---- */
.slider--wide .slide{flex:0 0 min(80%,980px);position:relative}
.slider--wide .slide-poster{aspect-ratio:2/1}
.slider--wide figcaption{position:absolute;left:0;right:0;bottom:0;padding:50px 22px 18px;background:linear-gradient(0deg,#090909e6,#09090900);pointer-events:none}
.slider--wide figcaption a{pointer-events:auto}
.slider--wide .slide-title{font-size:clamp(15px,1.8vw,20px)}
.slider--wide .slider-btn{top:50%}
@media(max-width:700px){
	.slider--wide .slide{flex-basis:90%}
	.slider--wide .slide-poster{aspect-ratio:16/10}
	.slider--wide figcaption{padding:34px 14px 12px}
}

/* ---- Clients & DOPs ---- */
.list-section{padding-top:70px;padding-bottom:20px}
.list-intro{max-width:640px;margin:-10px 0 28px;color:var(--dim)}
.clients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.client-card{background:linear-gradient(155deg,#202020 0%,#181717 55%,#121211 100%);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .2s,border-color .2s}
.client-card:hover{transform:translateY(-3px);border-color:var(--copper)}
.client-logo{height:130px;display:flex;align-items:center;justify-content:center;padding:22px;border-bottom:1px solid var(--line);background:#101010}
.client-logo img{width:auto;max-width:100%;height:auto;max-height:74px;object-fit:contain;filter:grayscale(1) brightness(1.15);opacity:.9}
.client-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;flex:1}
.client-body h3{font-size:calc(22px - 4pt);line-height:1.2}
.client-link{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:7px;font-size:13px;letter-spacing:.5px;color:var(--copper-light);border-bottom:1px solid transparent}
.client-link:hover{border-color:var(--copper-light)}
.dop-card h3 a:hover{color:var(--copper-light)}
.dop-card .small-label{margin-top:4px}
.editor-hint{border:1px dashed var(--copper);padding:16px 18px;font-size:14px;color:var(--dim)}
.editor-hint a{color:var(--copper-light);border-bottom:1px solid var(--copper)}

/* ---- WhatsApp buttons: military green ---- */
:root{--military:#4b5320;--military-light:#66742f}
.whatsapp-fab,.header-cta-wa{background:var(--military);border-color:var(--military-light);color:var(--paper)}
.whatsapp-fab:hover,.header-cta-wa:hover{background:var(--military-light);border-color:var(--military-light);color:var(--paper)}

/* ---- Team card links (IMDb, resume) ---- */
.team-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:14px}
.team-link{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--line);font-size:12px;letter-spacing:.8px;color:var(--paper);transition:border-color .2s,background .2s,color .2s}
.team-link:hover{border-color:var(--copper-light);background:var(--copper);color:var(--ink)}

/* ---- Team short description ---- */
.team-bio{font-size:14px;line-height:1.5;color:var(--dim);margin-top:2px}

/* ---- Cards without an image: text only, with a thin accent line ---- */
.client-card-plain{border-top:3px solid var(--copper)}
.client-card-plain .client-body{padding-top:22px}
.dop-card-plain{border-top:3px solid var(--copper)}

.cat-filters{margin:0 0 26px}
[data-cat-item][hidden]{display:none!important}

.tab-bar{margin:0 0 30px;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px}
.tab-bar button{font-size:14px;padding:8px 18px;border-color:var(--line)}
.tab-panel[hidden]{display:none!important}
.empty-note{color:var(--dim);font-size:14px;margin:20px 0}
.gallery-section + .gallery-section{padding-top:0}

/* Compact page banner (Team, Clients, Rental): one line of title, one line of intro, 6pt (8px) smaller type */
.page-header--compact{padding-top:34px;padding-bottom:22px}
.page-header--compact .eyebrow,.page-header--compact>.text-link{display:none}
.page-header--compact .page-title{font-size:clamp(30px,calc(6vw - 8px),84px);letter-spacing:-.5px;margin:0 0 10px;line-height:1.1}
.page-header--compact .page-title .alt-face{display:inline;margin-left:.28em}
.page-header--compact .page-intro{font-size:12px;line-height:1.5;max-width:none;margin:0}
@media(max-width:700px){.page-header--compact{padding-top:26px}.page-header--compact .page-title{font-size:clamp(26px,calc(9vw - 8px),52px)}}
.rental-download{margin:0 0 26px}
.rental-download .button{display:inline-flex;align-items:center;gap:10px}

/* Pages without a banner: first section clears the sticky header */
.screen-reader-text + .section{padding-top:56px}

.about-page-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:start}
.about-page-grid.no-image{grid-template-columns:1fr;max-width:760px}
.about-page-lead{font-family:var(--font-stencil);font-size:clamp(24px,2.6vw,34px);line-height:1.25;margin:0 0 22px}
.about-page-copy p{line-height:1.75;color:#c3c3bd;margin:0 0 18px}
.about-page-copy .about-page-lead{color:inherit}
.about-page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:26px;margin-top:28px}
.about-page-image{margin:0;background:#181717;aspect-ratio:4/5;overflow:hidden}
.about-page-image img{width:100%;height:100%;object-fit:cover}
.about-page-h{margin:64px 0 24px}
.about-page-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.about-page-card{border-top:3px solid var(--copper);background:#181717;padding:24px 22px}
.about-page-card h3{margin:0 0 10px}
.about-page-card p{margin:0;font-size:14px;line-height:1.6;color:#c3c3bd}
@media(max-width:900px){.about-page-grid{grid-template-columns:1fr;gap:32px}.about-page-cards{grid-template-columns:1fr}}

/* Projects list: cards */
.project-grid{list-style:none;margin:30px 0 8px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.project-item{display:flex}
.project-card{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:26px;width:100%;min-height:190px;padding:22px 22px 18px;background:#181717;border:1px solid var(--line);border-top:3px solid var(--copper);color:var(--paper);text-decoration:none;transition:transform .25s,border-color .25s,background .25s}
a.project-card:hover,a.project-card:focus-visible{transform:translateY(-4px);background:#1d1c1b;border-color:var(--copper-light)}
.project-num{position:absolute;right:14px;top:4px;font-family:var(--font-stencil);font-size:64px;line-height:1;color:#ffffff0d;pointer-events:none}
.project-kind{display:inline-flex;align-items:center;gap:7px;letter-spacing:1.6px;text-transform:uppercase;color:var(--dim)}
.project-name{font-family:var(--font-stencil);line-height:1.18;color:var(--paper);overflow-wrap:anywhere}
.project-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:26px}
.project-tag{border:1px solid var(--line);padding:4px 10px;letter-spacing:1px;text-transform:uppercase;color:var(--dim)}
.project-tag:empty{display:none}
.project-go{display:inline-flex;margin-left:auto;color:var(--copper);transition:transform .25s,color .25s}
a.project-card:hover .project-go{transform:translate(3px,-3px);color:var(--copper-light)}
@media(max-width:700px){.project-grid{grid-template-columns:1fr}.project-card{min-height:150px}}

.project-go{align-items:center;gap:6px}
.project-imdb{letter-spacing:1.2px;text-transform:uppercase;font-size:11px}

/* Header without an intro line (Clients): no extra space under the title */
.page-header--no-intro{padding-bottom:0}
.page-header--no-intro .page-title{margin-bottom:0}
.page-header--no-intro + .section{padding-top:20px}

/* Rental: download button and search sit side by side */
.rental-download{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:0 0 22px}
.rental-download .search{flex:1 1 260px;max-width:420px;margin:0}
.rental-tools{justify-content:flex-start}

/* Less space between the compact banner and the content below (Team, Rental, Clients) */
.page-header--compact{padding-bottom:14px}
.page-header--compact + .section{padding-top:22px}

/* ---- Team page: founder feature + crew grid ---- */
.team-section{padding-top:28px}
.team-feature{display:grid;grid-template-columns:min(260px,30%) 1fr;gap:36px;align-items:end;border:1px solid var(--line);background:#141312}
.team-feature-photo{display:block;aspect-ratio:4/5;overflow:hidden;background:#0f0f0f}
.team-feature-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.team-feature-empty{display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:90px;color:var(--copper)}
.team-feature-text{padding:28px 32px 30px 0}
.team-feature-text h2{font-family:var(--font-stencil,var(--font-display));font-weight:400;line-height:1;margin:10px 0 6px;text-transform:uppercase}
.team-feature-role{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--copper);margin:0 0 16px}
.team-feature-bio{max-width:520px;color:var(--dim);line-height:1.55;margin:0}
.team-crew{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
.team-member{display:grid;grid-template-columns:104px 1fr;gap:18px;align-items:center;border:1px solid var(--line);background:#141312;padding:12px}
.team-round{display:block;width:104px;height:104px;border-radius:50%;overflow:hidden;background:#0f0f0f}
.team-round img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(.25)}
.team-round-empty{display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:30px;color:var(--copper)}
.team-member h3{margin:0}
.team-member .small-label{margin:3px 0 0}
.team-member .team-links{padding-top:8px}
.team-section .portfolio-note{margin-top:40px}
@media(max-width:1000px){.team-crew{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
.team-feature{grid-template-columns:1fr;gap:0}
.team-feature-text{padding:22px 20px 26px}
.team-crew{grid-template-columns:1fr}
.team-section .portfolio-note{flex-direction:column;align-items:flex-start;gap:12px}
}

.team-member{align-items:start}
.team-member-bio{margin:8px 0 0;color:var(--dim);line-height:1.45}

.brand-logo{height:40px;width:auto;display:block}
@media(max-width:700px){.brand-logo{height:32px}}
.site-footer .brand-logo{height:46px}
section.slider-section-wide#work-gallery .slide{flex-basis:100%}
section.slider-section-wide#work-gallery .slide-poster{aspect-ratio:21/9}
@media(max-width:700px){section.slider-section-wide#work-gallery .slide-poster{aspect-ratio:16/10}}

#project-slider{padding-top:34px}
@media(max-width:700px){#project-slider{padding-top:24px}}

.about-page{padding-top:36px}
@media(max-width:700px){.about-page{padding-top:24px}}

.site-footer{padding-top:24px}
.about-page{padding-bottom:30px}

/* Lights gallery: one full-bleed image at a time */
section.slider-section-wide#lights-gallery{max-width:none;padding-left:0;padding-right:0}
section.slider-section-wide#lights-gallery .eyebrow,section.slider-section-wide#lights-gallery .slider-title,section.slider-section-wide#lights-gallery .slider-bar,section.slider-section-wide#lights-gallery .slider-note,section.slider-section-wide#lights-gallery .text-link{margin-left:5%;margin-right:5%}
section.slider-section-wide#lights-gallery .slider-track{gap:0}
section.slider-section-wide#lights-gallery .slide{flex:0 0 100%;scroll-snap-align:center}
section.slider-section-wide#lights-gallery .slide-poster{aspect-ratio:2/1}
section.slider-section-wide#lights-gallery .slider-prev{left:20px}
section.slider-section-wide#lights-gallery .slider-next{right:20px}
@media(max-width:700px){section.slider-section-wide#lights-gallery .slide-poster{aspect-ratio:4/3}section.slider-section-wide#lights-gallery .slider-prev{left:10px}section.slider-section-wide#lights-gallery .slider-next{right:10px}}

/* Gallery submenu (desktop dropdown, mobile indented) */
.nav-drop{position:relative}
.nav-caret{font-size:10px;opacity:.7}
.nav-sub{position:absolute;top:100%;left:-14px;min-width:190px;padding:10px 0;margin-top:14px;background:#141414;border:1px solid var(--line);display:none;z-index:30}
.nav-drop::after{content:"";position:absolute;left:0;right:0;top:100%;height:16px}
.nav-drop:hover .nav-sub,.nav-drop:focus-within .nav-sub{display:block}
.nav-sub a{display:block;padding:10px 18px;white-space:nowrap}
.nav-sub a:hover{background:#1c1c1c;color:var(--copper-light)}
.mobile-nav a.sub{padding-left:32px;font-size:.92em;opacity:.8}

/* Gallery category bar: stays under the header while scrolling */
.gallery-cats{position:sticky;top:90px;z-index:15;background:rgba(17,17,17,.94);border-bottom:1px solid var(--line)}
.gallery-cats-inner{max-width:1400px;margin:0 auto;padding:12px 5%;display:flex;gap:10px}
.gallery-cats a{border:1px solid var(--line);color:var(--dim);padding:9px 20px;font-size:13px;letter-spacing:.5px}
.gallery-cats a:hover{color:var(--paper);border-color:var(--copper)}
.gallery-cats a.selected{background:var(--copper);color:var(--ink);border-color:var(--copper)}
.gallery-section{scroll-margin-top:150px}
@media(max-width:700px){.gallery-cats{top:75px}.gallery-cats-inner{padding:10px 6%}.gallery-cats a{flex:1;text-align:center;padding:9px 8px}.gallery-section{scroll-margin-top:130px}}

/* Founder photo same size as the gaffers */
.team-feature{grid-template-columns:104px 1fr;gap:18px;align-items:center;padding:12px}
.team-feature-photo{width:104px;height:104px;aspect-ratio:1;border-radius:50%}
.team-feature-empty{font-size:30px}
.team-feature-text{padding:0}
@media(max-width:700px){.team-feature{grid-template-columns:104px 1fr;gap:18px;align-items:start}.team-feature-text{padding:0}}

/* Projects: movie poster cards */
.poster-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:26px 20px}
.poster-card{display:flex;flex-direction:column;gap:12px;width:100%;color:inherit;transition:transform .2s}
a.poster-card:hover,a.poster-card:focus-visible{transform:translateY(-4px)}
.poster-img{position:relative;display:block;aspect-ratio:2/3;overflow:hidden;background:#181717;border:1px solid var(--line)}
a.poster-card:hover .poster-img{border-color:var(--copper-light)}
.poster-img img{display:block;width:100%;height:100%;object-fit:cover}
.poster-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:18px;text-align:center;color:var(--copper);background:linear-gradient(160deg,#1d1c1b,#131212)}
.poster-empty-title{font-family:var(--font-display);font-size:20px;line-height:1.15;color:var(--paper)}
.poster-tag{position:absolute;left:8px;top:8px;background:#0b0b0bcc;border:1px solid var(--line);color:var(--paper);font-size:10px;letter-spacing:1.2px;text-transform:uppercase;padding:4px 8px}
.poster-meta{display:flex;flex-direction:column;gap:3px}
.poster-name{font-size:15px;line-height:1.3}
.poster-sub{font-size:12px;color:var(--dim);letter-spacing:.3px}
@media(max-width:700px){.poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.poster-empty-title{font-size:16px}}

/* Founder text uses the same type as the gaffers */
.team-feature-text h3{margin:0}
.team-feature-text .small-label{margin:3px 0 0}
.team-feature-text .team-links{padding-top:8px}

.poster-about{font-size:12px;line-height:1.45;color:var(--dim);margin-top:4px}

/* Lights gallery (full-bleed): heading block closer to the left edge */
section.slider-section-wide#lights-gallery .eyebrow,section.slider-section-wide#lights-gallery .slider-title,section.slider-section-wide#lights-gallery .slider-bar,section.slider-section-wide#lights-gallery .slider-note,section.slider-section-wide#lights-gallery .text-link{margin-left:20px;margin-right:20px}
@media(max-width:700px){section.slider-section-wide#lights-gallery .eyebrow,section.slider-section-wide#lights-gallery .slider-title,section.slider-section-wide#lights-gallery .slider-bar,section.slider-section-wide#lights-gallery .slider-note,section.slider-section-wide#lights-gallery .text-link{margin-left:14px;margin-right:14px}}

.projects-section{padding-top:34px}
@media(max-width:700px){.projects-section{padding-top:24px}}

.gallery-section{padding-top:28px}
.gallery-empty{color:var(--dim);font-size:14px;margin:0 0 20px}

/* Projects page: tighter top, heading in the banner face (same as "Rental lighting") */
.projects-section{padding-top:14px}
.projects-block-title{font-family:var(--font-stencil);font-weight:400;line-height:1.1;margin-top:0}
@media(max-width:700px){.projects-section{padding-top:10px}}

.screen-reader-text + .projects-section{padding-top:16px}
@media(max-width:700px){.screen-reader-text + .projects-section{padding-top:12px}}

/* Category bars stay under the header while scrolling (Projects, Clients) */
.projects-block .cat-filters,.clients-page .tab-bar,.clients-page .cat-filters{position:sticky;z-index:14;background:#111;padding:12px 0;margin-top:0;margin-bottom:18px;box-shadow:0 1px 0 var(--line)}
.projects-block .cat-filters,.clients-page .tab-bar{top:90px}
.clients-page .cat-filters{top:calc(90px + var(--tabbar-h,56px));z-index:13}
@media(max-width:700px){.projects-block .cat-filters,.clients-page .tab-bar{top:75px}.clients-page .cat-filters{top:calc(75px + var(--tabbar-h,56px))}}

/* Mobile menu button shows text */
.menu-button{font-family:inherit;font-size:13px;font-weight:600;letter-spacing:1.5px;color:var(--paper);border:1px solid var(--line);padding:9px 11px;line-height:1;width:auto;height:auto}
.menu-button:hover{border-color:var(--copper)}

@media(max-width:700px){
.site-header{padding-left:16px;padding-right:16px}
.header-cta-wa{margin-left:auto;padding:10px 12px;font-size:12px}
.menu-button{margin-left:0;flex:0 0 auto}
.brand-logo{height:30px}
}

/* Mobile header: WhatsApp and MENU buttons share one size */
@media(max-width:700px){
.header-cta-wa,.menu-button{box-sizing:border-box;height:42px;min-width:100px;padding:0 12px;font-size:12px;letter-spacing:1px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.menu-button{font-weight:500}
}
@media(max-width:700px){
.site-header{gap:8px}
.header-cta-wa,.menu-button{min-width:84px;padding:0 8px;font-size:11px;letter-spacing:.8px}
.brand-logo{height:26px}
}
@media(max-width:700px){.header-cta-wa svg{display:none}.header-cta-wa,.menu-button{width:88px;min-width:88px}}
@media(max-width:700px){.header-cta-wa,.menu-button{height:34px;width:74px;min-width:74px;font-size:10px;letter-spacing:.6px;padding:0 6px}.menu-button{font-size:10px}.brand-logo{height:24px}}
@media(max-width:700px){.header-cta-wa,.menu-button{height:34px!important;min-height:0!important;line-height:1!important;padding-top:0!important;padding-bottom:0!important}}

/* Phone: menu items always visible as text links (no MENU button) */
.phone-nav{display:none}
@media(max-width:700px){
.menu-button,.mobile-nav{display:none!important}
.phone-nav{display:flex;flex-wrap:wrap;gap:2px 22px;padding:12px 16px 8px;border-bottom:1px solid var(--line);background:#141414}
.phone-nav a{font-size:13px;padding:6px 0;color:var(--dim);border-bottom:2px solid transparent}
.phone-nav a.on{color:var(--paper);border-bottom-color:var(--copper)}
}

/* Phone: menu links stay under the header while scrolling; sticky category bars sit below them */
@media(max-width:700px){
.phone-nav{position:sticky;top:62px;z-index:19}
html{scroll-padding-top:calc(62px + var(--pn-h,40px) + 10px)}
.gallery-cats{top:calc(62px + var(--pn-h,40px))}
.projects-block .cat-filters,.clients-page .tab-bar{top:calc(62px + var(--pn-h,40px))}
.clients-page .cat-filters{top:calc(62px + var(--pn-h,40px) + var(--tabbar-h,56px))}
.gallery-section{scroll-margin-top:calc(62px + var(--pn-h,40px) + 70px)}
}

/* Phone header: logo + WhatsApp icon on top, one-line menu row below */
.wa-icon{display:none}
@media(max-width:700px){
.site-header{height:62px}
.header-cta-wa{display:none!important}
.wa-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#1b1b1b;border:1px solid #2f2f2f;margin-left:auto}
.phone-nav{flex-wrap:nowrap;gap:15px;padding:0 16px;height:40px;align-items:stretch;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.phone-nav::-webkit-scrollbar{display:none}
.phone-nav a{flex:0 0 auto;display:flex;align-items:center;font-size:11.5px;letter-spacing:.2px;padding:2px 0 0}
.brand-logo{height:22px}
}

/* Phone: WhatsApp back as a text box, dimmer green */
@media(max-width:700px){
.wa-icon{display:none!important}
.header-cta-wa{display:inline-flex!important;align-items:center;justify-content:center;height:34px!important;width:auto;min-width:84px;padding:0 14px!important;margin-left:auto;font-size:11px!important;letter-spacing:.6px;background:#32381a!important;border:1px solid #4a5326!important;color:#c3c6b4!important}
.header-cta-wa svg{display:none!important}
}

/* Rental page, phone: download button text in grey (dark button so it stays readable) */
@media(max-width:700px){
.rental-download .button{background:#181717;color:#b4b4b0;border:1px solid #4a4947}
.rental-download .button:hover{background:#222;color:var(--copper-light)}
}

/* Desktop: slightly darker greys (the text was reading as off-white) */
@media(min-width:701px){
:root{--paper:#a9a9a7;--copper-light:#bebeba;--copper:#a4a4a0;--dim:#868480;--foreground:36 5% 66%}
}

/* Desktop: headings and the inquiry button a touch greyer */
@media(min-width:701px){
h1,h2,h3,.hero h1,.hero h1 em,h2 em{color:#a3a3a1}
.inquiry-form button.button,.inquiry-submit{background:#9c9c99;border-color:#9c9c99;color:#161616}
.inquiry-form button.button:hover{background:#adadaa}
}

/* Directors: plain list, no cards */
.plain-list{border-top:1px solid #2a2927}
.plain-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:13px 0;border-bottom:1px solid #2a2927}
.plain-row[hidden]{display:none}
.plain-row h3{font-size:19px;color:#a3a3a1}
.plain-row span{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:#868480;text-align:right}
@media(max-width:700px){.plain-row{flex-direction:column;gap:3px}.plain-row span{text-align:left}}

/* Directors: two names per row */
.plain-list{display:grid;grid-template-columns:1fr 1fr;column-gap:32px}
@media(max-width:700px){.plain-list{column-gap:16px}.plain-row h3{font-size:15px}}

/* Clients lists: smaller names */
.plain-row h3{font-size:15px}
.plain-row{padding:11px 0}
@media(max-width:700px){.plain-row h3{font-size:13px}}

/* Inquiry heading smaller; footer links in 2 columns */
.inquiry-section h2{font-size:clamp(28px,2.9vw,42px)}
.inquiry-section h2 em{font-size:.9em}
.footer-links{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;align-content:start}
.footer-links a{display:block}
@media(min-width:701px){.footer-links{padding-top:27px}}

/* Footer menu: one single row under the details */
.footer-links{display:flex;flex-wrap:wrap;gap:8px 28px;grid-column:1/-1;order:5;padding-top:0}
.footer-links a{display:inline-block}
@media(min-width:701px){.footer-links{padding-top:0;flex-wrap:nowrap}}

/* Footer menu: one row */
.footer-links{display:flex;flex-wrap:wrap;gap:8px 32px;padding:18px 0;border-top:1px solid var(--line);grid-template-columns:none}
.footer-links a{display:inline-block;font-size:14px}
@media(min-width:701px){.footer-links{padding-top:18px}}
@media(max-width:700px){.footer-links{gap:6px 20px}}
.footer-details{grid-template-columns:1.6fr 1fr}.footer-details>div>p:not(.small-label){margin-top:6px}@media(max-width:700px){.footer-details{grid-template-columns:1fr}}

/* Tagline under the header logo */
.brand{flex-direction:column;align-items:flex-start;justify-content:center;gap:3px}
.brand-tag{display:block;font-size:10.5px;letter-spacing:1.4px;line-height:1;color:#868480;white-space:nowrap}
@media(max-width:700px){.brand{gap:2px}.brand-tag{font-size:8.5px;letter-spacing:.9px}}

/* Phone: "Send your inquiry" and About "View the equipment list" in light grey text */
@media(max-width:700px){
.inquiry-form button.button,.inquiry-submit,.about-section .button{background:#181717;color:#b4b4b0;border:1px solid #4a4947}
.inquiry-form button.button:hover,.about-section .button:hover{background:#222120;color:#c4c4c0}
.inquiry-form button.button svg,.about-section .button svg{color:#b4b4b0}
}

/* About page: compact layout, same heading style as "Selected projects" */
.about-page-grid{grid-template-columns:1.5fr 1fr;gap:48px;align-items:center}
.about-page-lead,.about-page-h{font-family:var(--font-stencil);font-weight:400;font-size:var(--fs-banner-title,clamp(20px,2.3vw,32px));line-height:1.1;letter-spacing:-.3px}
.about-page-image{max-width:300px;justify-self:end}
.about-page-vision{max-width:760px;line-height:1.75;color:#a09d97;margin:0 0 8px}
.about-page-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.about-page-grid{grid-template-columns:1fr}.about-page-image{max-width:220px;justify-self:start}.about-page-cards{grid-template-columns:1fr}}

/* Work and Lights sliders: keep the frame inside the desktop screen */
section.slider-section-wide#work-gallery .slide-poster,section.slider-section-wide#lights-gallery .slide-poster{max-height:calc(100vh - 150px)}
section.slider-section-wide#work-gallery .slide-poster img,section.slider-section-wide#lights-gallery .slide-poster img{object-fit:cover}

/* "Films we have lit": wider frame (kept as before) */
section#project-slider{max-width:none;padding-left:2.5%;padding-right:2.5%}
@media(max-width:700px){section#project-slider{padding-left:3%;padding-right:3%}}

/* Lights gallery: same width and frame as the Work gallery */
section.slider-section-wide#lights-gallery{max-width:1400px;padding-left:5%;padding-right:5%}
section.slider-section-wide#lights-gallery .eyebrow,section.slider-section-wide#lights-gallery .slider-title,section.slider-section-wide#lights-gallery .slider-bar,section.slider-section-wide#lights-gallery .slider-note,section.slider-section-wide#lights-gallery .text-link{margin-left:0;margin-right:0}
section.slider-section-wide#lights-gallery .slider-track{gap:20px}
section.slider-section-wide#lights-gallery .slide{flex:0 0 100%}
section.slider-section-wide#lights-gallery .slide-poster{aspect-ratio:21/9}
section.slider-section-wide#lights-gallery .slider-prev{left:-14px}
section.slider-section-wide#lights-gallery .slider-next{right:-14px}
@media(max-width:700px){section.slider-section-wide#lights-gallery .slide-poster{aspect-ratio:16/10}}
@media(max-width:1000px){section.slider-section-wide#lights-gallery .slider-prev{left:4px}section.slider-section-wide#lights-gallery .slider-next{right:4px}}

/* Work and Lights sliders: show the whole photo, no cropping */
section.slider-section-wide#work-gallery .slide-poster,section.slider-section-wide#lights-gallery .slide-poster{background:#111}
section.slider-section-wide#work-gallery .slide-poster img,section.slider-section-wide#lights-gallery .slide-poster img{object-fit:contain}

/* Sticky category strips: no black background */
.clients-page .tab-bar,.clients-page .cat-filters,.projects-block .cat-filters,.gallery-cats{background:transparent;box-shadow:none;border-bottom:0;-webkit-backdrop-filter:none;backdrop-filter:none}

/* v3: Clients page folder tabs and sub-tabs */
.clients-page .tab-bar{display:flex;flex-wrap:nowrap;gap:6px;padding:0;margin-bottom:0;border-bottom:1px solid #4a4947}
.clients-page .tab-bar button{min-height:0;padding:11px 22px;font-size:15px;color:#868480;background:#262524;border:1px solid #3a3937;border-bottom:0;border-radius:3px 3px 0 0;margin-bottom:-1px;white-space:nowrap}
.clients-page .tab-bar button.selected,.clients-page .tab-bar button[aria-selected="true"]{background:#1c1b1a;color:#cfcfcc;border-color:#4a4947}
.clients-page .tab-bar button:hover{color:#bdbdba}
.clients-page .cat-filters{display:flex;gap:5px;padding:0;margin:16px 0 14px;border-bottom:1px solid #3a3937}
.clients-page .cat-filters button{min-height:0;padding:7px 16px;font-size:12.5px;color:#868480;background:#222120;border:1px solid #333231;border-bottom:0;border-radius:3px 3px 0 0;margin-bottom:-1px}
.clients-page .cat-filters button.selected{background:#1c1b1a;color:#bdbdba;border-color:#4a4947}
@media(max-width:700px){
.clients-page .tab-bar{gap:4px}.clients-page .tab-bar button{padding:10px 9px;font-size:12.5px}
.clients-page .cat-filters button{padding:7px 10px;font-size:12px}
}

/* Clients tabs: selected tab in black */
.clients-page .tab-bar button.selected,.clients-page .tab-bar button[aria-selected="true"],.clients-page .cat-filters button.selected{background:#000}
