:root{color-scheme:dark;--bg:#0c0c0c;--text:#f4f4f0;--muted:#a6a6a1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}a:focus-visible,button:focus-visible{outline:2px solid white;outline-offset:6px}header{position:absolute;z-index:2;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:30px 4.5%;border-bottom:1px solid #ffffff25}.wordmark{font-size:18px;letter-spacing:.04em;font-weight:600}.wordmark span{display:block;font-size:12px;letter-spacing:.18em;font-weight:400;margin-top:7px}nav{display:flex;gap:30px;align-items:center;font-size:14px}nav button{padding:0}header nav a:last-child{border:1px solid #ffffff65;padding:10px 18px;border-radius:24px}header nav a:hover,header nav button:hover{opacity:.65}.hero{height:100svh;min-height:650px;max-height:1100px;position:relative;padding:140px 4.5% 30px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.shade{position:absolute;inset:0;background:linear-gradient(180deg,#0007 0%,#0001 35%,#0008 100%);z-index:-1}.hero-top{font-size:12px;letter-spacing:.15em;display:flex;justify-content:space-between}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-bottom:55px}.eyebrow{font-size:12px;letter-spacing:.16em;line-height:1.5;margin:0 0 25px;color:var(--muted)}.hero .eyebrow{color:#ddd}h1{font-size:clamp(76px,9.5vw,160px);font-weight:400;line-height:.95;letter-spacing:-.065em;margin:0}h2{font-size:clamp(36px,4.2vw,66px);font-weight:400;line-height:1.08;letter-spacing:-.045em;margin:0}.reel-button{display:flex;align-items:center;gap:16px;font-size:16px;margin-bottom:10px}.play{width:64px;height:64px;border:1px solid #fff8;border-radius:50%;display:grid;place-items:center;font-size:15px;padding-left:3px;transition:.2s}.reel-button:hover .play{background:white;color:black;transform:scale(1.06)}.hero-foot{border-top:1px solid #ffffff50;padding-top:20px;display:flex;justify-content:space-between;font-size:13px}.hero-foot button{font-size:13px;padding:0}.work{padding:105px 4.5%}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:45px}.count{font-size:13px;vertical-align:top;letter-spacing:0;margin-left:16px;color:var(--muted)}.filters{display:flex;gap:20px;font-size:14px}.filters button{padding:8px 0;color:var(--muted);border-bottom:1px solid transparent}.filters .active{color:white;border-color:white}.projects{display:grid;grid-template-columns:1fr 1fr;gap:48px 28px}.project{padding:0;text-align:left;width:100%}.project.featured{grid-column:1/-1}.image-wrap{overflow:hidden;position:relative;background:#171717;aspect-ratio:16/9}.featured .image-wrap{aspect-ratio:2.2}.project img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s,opacity .4s}.project:hover img{transform:scale(1.025);opacity:.85}.image-wrap .view{position:absolute;right:25px;bottom:25px;background:#1119;border:1px solid #fff5;border-radius:25px;padding:10px 16px;font-size:13px;backdrop-filter:blur(10px)}.project-meta{display:flex;justify-content:space-between;align-items:flex-start;padding-top:18px;gap:15px}.project h3{font-size:25px;font-weight:400;margin:0 0 8px;letter-spacing:-.025em}.project p{margin:0;color:var(--muted);font-size:14px}.project .year{font-size:13px;color:var(--muted);padding-top:7px}.about{padding:105px 4.5%;border-top:1px solid #ffffff25;display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center}.bio{max-width:560px;margin-top:32px;line-height:1.7;color:var(--muted)}.underlined{display:inline-block;margin-top:22px;border-bottom:1px solid #888;padding-bottom:6px;font-size:14px}figure{margin:0}figure img{width:100%;display:block;aspect-ratio:1.05;object-fit:cover;object-position:65% center}figcaption{font-size:12px;letter-spacing:.13em;color:var(--muted);padding-top:16px}.contact{padding:100px 4.5% 110px;border-top:1px solid #ffffff25}.contact h2{font-size:clamp(60px,7vw,110px)}.email{display:inline-block;font-size:clamp(22px,3vw,44px);letter-spacing:-.025em;border-bottom:1px solid #777;margin-top:45px;padding-bottom:8px}.contact-details{display:flex;gap:35px;color:var(--muted);font-size:14px;margin-top:25px}footer{display:flex;justify-content:space-between;gap:25px;padding:30px 4.5%;border-top:1px solid #ffffff25;color:var(--muted);font-size:13px}footer div{display:flex;gap:25px}dialog{padding:65px 5% 50px;background:#0c0c0c;color:white;border:1px solid #333;width:95vw;max-width:1400px;max-height:94svh}dialog::backdrop{background:#000d;backdrop-filter:blur(10px)}.close{position:absolute;right:24px;top:20px;font-size:14px;padding:8px}.detail-title{font-size:clamp(36px,6vw,75px);margin:10px 0 16px;font-weight:400;letter-spacing:-.04em}.detail-info{color:var(--muted);line-height:1.6;margin-bottom:28px}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:30px 0}.detail-gallery img{width:100%;height:auto;display:block}.detail-gallery img:first-child{grid-column:1/-1}dialog video,dialog iframe{width:100%;aspect-ratio:16/9;border:0;background:#000}body.modal-open{overflow:hidden}.film-link{display:inline-block;margin:12px 0 25px;border-bottom:1px solid #888;padding-bottom:6px}
@media(max-width:700px){header{padding:22px 6%}.wordmark{font-size:14px}.wordmark span{font-size:10px}nav{gap:15px;font-size:13px}header nav a:last-child{padding:0;border:0}nav button{display:none}.hero{min-height:640px;padding:110px 6% 24px}.hero-top{font-size:10px}.hero-top span{display:none}.hero-bottom{display:block;padding-bottom:38px}h1{font-size:clamp(76px,18vw,126px)}.reel-button{margin:32px 0 0;padding:0}.play{width:46px;height:46px}.work,.about,.contact{padding:65px 6%}.section-heading{display:block}.filters{margin-top:25px}.projects{grid-template-columns:1fr;gap:34px}.featured .image-wrap{aspect-ratio:16/9}.project h3{font-size:23px}.about{grid-template-columns:1fr;gap:42px}figure img{aspect-ratio:1.2}.contact-details{flex-direction:column;gap:12px}footer{padding:25px 6%;flex-direction:column;font-size:12px}footer div{gap:20px}dialog{padding:60px 6% 25px;width:98vw}.detail-gallery{grid-template-columns:1fr}.image-wrap .view{right:15px;bottom:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.hero video{display:none}.hero{background:url('assets/hero.jpg') center/cover}}
/* Expanded portfolio and self-contained project credits. */
.section-heading{flex-wrap:wrap}.filters{flex-wrap:wrap}.project .project-role{margin-top:7px;font-size:12px;color:#82827e}.equipment-link{margin-left:25px}.detail-role{display:block;margin-top:8px;color:#ddd}.detail-intro{max-width:900px}.project-film{margin-bottom:25px}.project-film .eyebrow{margin-bottom:12px}.detail-body{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2.3fr);gap:45px;margin-top:45px}.detail-body h3{font-size:18px;font-weight:400;margin:0 0 24px}.project-credits dl{margin:0}.project-credits dl>div{padding:13px 0;border-top:1px solid #ffffff20}.project-credits dt{font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:5px}.project-credits dd{font-size:15px;line-height:1.6;margin:0;overflow-wrap:anywhere}.project-credits p{font-size:15px;line-height:1.6}.detail-body .detail-gallery{margin:0}.detail-body .detail-gallery img:first-child{grid-column:auto}.detail-body .detail-gallery img:only-child{grid-column:1/-1}footer div{flex-wrap:wrap}
/* Equipment directory. */
.equipment-page header{position:relative}.equipment-main{padding:85px 4.5% 100px}.equipment-hero{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;padding-bottom:55px;border-bottom:1px solid #ffffff25}.equipment-hero h1{font-size:clamp(65px,7vw,110px);line-height:1.05}.rental-note{max-width:330px}.rental-note p{font-size:16px;line-height:1.6;color:var(--muted)}.rental-note a{display:inline-block;border:1px solid #ffffff65;padding:12px 20px;border-radius:30px;font-size:14px}.equipment-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:7%;padding-top:55px}.equipment-nav{display:block;position:sticky;top:30px;align-self:start}.equipment-nav a{display:block;font-size:14px;padding:13px 0;color:var(--muted);border-bottom:1px solid #ffffff20}.equipment-nav a:hover{color:white}.equipment-section{margin-bottom:60px;scroll-margin-top:30px}.equipment-section h2{font-size:32px;margin:0 0 25px}.equipment-table{width:100%;border-collapse:collapse}.equipment-table th{text-align:left;color:var(--muted);font-size:12px;font-weight:400;letter-spacing:.08em;padding:0 0 15px}.equipment-table td{padding:20px 0;border-top:1px solid #ffffff25;font-size:16px;line-height:1.55;vertical-align:top}.equipment-table td:last-child,.equipment-table th:last-child{text-align:right;white-space:nowrap;padding-left:25px;width:150px}.kit-detail{display:block;font-size:13px;color:var(--muted);margin-top:8px;line-height:1.7}.equipment-contact{padding-top:35px;border-top:1px solid #ffffff25}.equipment-contact h2{font-size:34px}.equipment-contact p{color:var(--muted);line-height:1.6}.equipment-contact .email{font-size:26px;margin-top:10px}.equipment-page footer{margin-top:0}
@media(max-width:900px){.detail-body{grid-template-columns:1fr}.project-credits dl{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.detail-stills{min-width:0}.equipment-layout{grid-template-columns:170px minmax(0,1fr);gap:5%}}
@media(max-width:700px){.equipment-link{margin-left:0;display:table;margin-top:20px}.filters{gap:14px;font-size:13px}.project-credits dl{grid-template-columns:1fr}.detail-body{gap:30px;margin-top:30px}.detail-body .detail-gallery{grid-template-columns:1fr}.equipment-main{padding:50px 6%}.equipment-hero{display:block;padding-bottom:35px}.rental-note{margin-top:28px;max-width:none}.equipment-layout{display:block;padding-top:25px}.equipment-nav{position:relative;top:0;display:flex;flex-wrap:wrap;gap:0 20px;margin-bottom:45px}.equipment-nav a{font-size:13px}.equipment-section h2{font-size:27px}.equipment-table td{font-size:14px;padding:16px 0}.equipment-table td:last-child,.equipment-table th:last-child{padding-left:15px;width:105px}.equipment-contact .email{font-size:22px}}
@media(max-width:480px){header{display:block}.wordmark{display:inline-block}header nav{margin-top:20px;justify-content:space-between;gap:10px}header nav a,header nav button{font-size:14px}.hero{padding-top:155px}.equipment-main{padding-top:40px}}

/* Preserve the full uploaded portrait and its film border. */
.about figure img{height:auto;aspect-ratio:auto;object-fit:contain}

.equipment-nav a[href="#drone"]:hover{color:var(--muted);opacity:1}
/* Keep the opening title secondary to the showreel. */
.hero h1{font-size:clamp(3rem,5vw,5rem);line-height:1.02;letter-spacing:-.045em}
@media(max-width:700px){.hero h1{font-size:clamp(2.25rem,9vw,3.5rem)}}

.hero h1{white-space:nowrap}
@media(max-width:700px){.hero h1{font-size:clamp(1.75rem,7.5vw,3rem)}}

/* Manufacturer product thumbnails in the rental list. */
.equipment-table td{vertical-align:middle}
.equipment-item{display:flex;align-items:center;gap:20px}
.equipment-photo{width:88px;height:88px;flex:0 0 88px;border-radius:4px;background:#f5f5f5;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:9px}
.equipment-photo img{display:block;width:100%;height:100%;object-fit:contain}
.equipment-item-name{min-width:0}
.equipment-item-name .kit-detail{display:block}
@media(max-width:700px){.equipment-item{gap:12px}.equipment-photo{width:62px;height:62px;flex-basis:62px;padding:6px}.equipment-table td:last-child,.equipment-table th:last-child{width:94px;padding-left:12px}.equipment-table td{font-size:14px}}

.equipment-item-without-photo{padding-left:108px}
@media(max-width:700px){.equipment-item-without-photo{padding-left:74px}}
/* Equipment image and rental details dialog. */
.equipment-open{border:0;background:none;color:inherit;font:inherit;text-align:left;padding:0;width:100%;cursor:pointer}
.equipment-open:hover .equipment-item-name{text-decoration:underline;text-underline-offset:4px}
.equipment-open:focus-visible{outline:2px solid #fff;outline-offset:6px;border-radius:4px}
.equipment-table tbody tr{cursor:pointer}
body.equipment-viewer-open{overflow:hidden}
.equipment-viewer{position:fixed;inset:0;margin:auto;width:min(920px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #ffffff35;border-radius:8px;background:#111;color:#fff;overflow:auto}
.equipment-viewer[open]{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.equipment-viewer::backdrop{background:rgba(0,0,0,.82)}
.equipment-viewer-close{position:absolute;right:12px;top:12px;width:40px;height:40px;border:1px solid #ffffff40;border-radius:50%;background:#111;color:#fff;font-size:28px;line-height:1;cursor:pointer;z-index:1}
.equipment-viewer-close:focus-visible{outline:2px solid #fff;outline-offset:3px}
.equipment-viewer-image{background:#f5f5f5;padding:24px;display:flex;align-items:center;justify-content:center;min-height:380px}
.equipment-viewer-image img{display:block;width:100%;height:420px;object-fit:contain}
.equipment-viewer-details{padding:76px 32px 40px;align-self:center}
.equipment-viewer-details h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.25;letter-spacing:-.025em;margin:0 0 20px}
.equipment-viewer-kit{font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 24px}
.equipment-viewer-price{font-size:26px;margin:0 0 8px}
.equipment-viewer-unit,.equipment-viewer-tax{font-size:14px;color:var(--muted)}
.equipment-viewer-tax{margin:0}
@media(max-width:700px){.equipment-viewer[open]{grid-template-columns:1fr}.equipment-viewer-image{min-height:0;padding:20px}.equipment-viewer-image img{height:clamp(180px,38dvh,340px)}.equipment-viewer-details{padding:24px}.equipment-viewer-details h2{font-size:1.5rem}}

/* Keep the showreel free of horizontal divider lines. */
body:not(.equipment-page) > header{border-bottom:0}
.hero-foot{border-top:0}

/* Keep the reel within its own visible stacking context. */
.hero{isolation:isolate}
.play svg{display:block}
@media(prefers-reduced-motion:reduce){.hero video.manual-play{display:block}}

/* Bold condensed lettering for the opening title. */
@font-face{font-family:'Barlow Condensed';src:url('/assets/fonts/barlow-condensed-bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
.hero h1{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(3rem,5.8vw,5.5rem);line-height:1;letter-spacing:.01em;white-space:nowrap}
@media(max-width:700px){.hero h1{font-size:clamp(1.75rem,8.4vw,3.5rem)}}

/* Supplied title artwork, framed to show only the name. */
.hero .hero-bottom{display:block}
.hero .hero-location{font-size:14px;letter-spacing:.04em;text-transform:none;line-height:1.5;margin-bottom:20px}


.hero-top{justify-content:flex-end}
.hero-foot{align-items:center}
.hero-foot .reel-button{margin:0;padding:0;font-size:14px;gap:12px}
.hero-foot .play{width:40px;height:40px}
@media(max-width:700px){.hero .hero-location{font-size:12px;letter-spacing:.02em;margin-bottom:16px}.hero-foot .reel-button{font-size:13px;gap:8px}.hero-foot .play{width:34px;height:34px}}

/* Large two-line Archivo Black title. */
@font-face{font-family:'Archivo Black';src:url('/assets/fonts/archivo-black.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.hero h1.hero-name{font-family:'Archivo Black',Arial,sans-serif;font-weight:400;font-size:clamp(4rem,8.5vw,8rem);line-height:.98;letter-spacing:-.045em;text-transform:uppercase;white-space:normal;margin:0}
@media(max-width:700px){.hero h1.hero-name{font-size:clamp(2.5rem,13vw,5.5rem);line-height:1.02}}

/* Consistent neutral bloom across all headings. */
h1,h2,h3,h4,h5,h6{text-shadow:0 0 5px rgba(255,255,255,.35),0 0 18px rgba(255,255,255,.22),0 0 40px rgba(255,255,255,.12)}

@media(prefers-contrast:more){h1,h2,h3,h4,h5,h6{text-shadow:none}}

/* Compact navigation above the reel; reveal the name in the content sections. */
.home-header{position:fixed;z-index:10;padding-top:18px;padding-bottom:18px;justify-content:flex-end;transition:padding .25s ease,background-color .25s ease}
.home-header .wordmark[hidden]{display:none}
.home-header nav{margin-top:0}
.home-header.has-brand{justify-content:space-between;padding-top:30px;padding-bottom:24px;background:rgba(12,12,12,.95)}
@media(max-width:480px){.home-header{display:block;padding-top:18px;padding-bottom:18px}.home-header.has-brand{padding-top:22px;padding-bottom:20px}.home-header.has-brand nav{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.home-header{transition:none}}
