@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@300;400;500&display=swap');
:root{color-scheme:dark;--ink:#101719;--paper:#e9e7df;--muted:#a7afab;--line:#ffffff20}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--ink);color:var(--paper);font-family:'DM Sans',Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid #e4ceb0;outline-offset:7px}.skip{position:fixed;top:-80px;left:20px;z-index:10;background:var(--ink);padding:15px}.skip:focus{top:20px}.opening{position:relative;min-height:700px;height:100svh;overflow:hidden;background:#293230;isolation:isolate}.ambient{position:absolute;inset:-30px;background:linear-gradient(#14201d55,#0e171b44),url('assets/ocean-logo.jpg') center/cover;filter:blur(22px);transform:scale(1.08);z-index:-2}.opening:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(180deg,#10171955 0%,transparent 35%,transparent 65%,#101719aa 100%)}.film{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%)}.film video{display:block;width:100%;height:auto;object-fit:contain;mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 91%,transparent)}.topline{position:absolute;top:40px;left:48px;right:48px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:12px;letter-spacing:.19em}.topline>a{padding:10px 0;border-bottom:1px solid #ffffff60}.opening-bottom{position:absolute;bottom:40px;left:48px;right:48px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:20px;font-size:12px;letter-spacing:.16em}.location{color:#e9e7dfb3;font-size:12px}.discover{justify-self:center;display:flex;flex-direction:column;align-items:center;gap:22px}.scroll-line{height:43px;width:1px;background:linear-gradient(#eee7da,transparent)}.motion{justify-self:end;background:transparent;border:0;color:var(--paper);cursor:pointer;font-size:12px;letter-spacing:.12em;display:flex;gap:10px;align-items:center;min-height:44px}.pause-icon{font-size:18px}.reel-section{padding:115px 7vw 80px;max-width:1680px;margin:auto}.reel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}.eyebrow{font-size:12px;letter-spacing:.2em;color:var(--muted);margin:0 0 27px}h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(40px,6.5vw,88px);font-weight:300;letter-spacing:-.045em;line-height:1.1;margin:0}.reel-note{color:var(--muted);line-height:1.7;margin:0 0 5px}.reel-stage{aspect-ratio:16/9;width:100%;position:relative;background:#0b1113;border:1px solid var(--line);overflow:hidden}.reel-empty{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 10%,#26333355,transparent 65%);display:flex;align-items:center;justify-content:center}.reel-frame-label,.reel-frame-bottom,.aspect-mark{position:absolute;font-size:12px;letter-spacing:.17em;color:#a2aaa5}.reel-frame-label{top:30px;left:32px}.reel-frame-bottom{bottom:30px;left:32px}.aspect-mark{bottom:30px;right:32px;letter-spacing:.08em}.empty-center{text-align:center;padding:40px}.empty-title{font-family:Manrope,Arial,sans-serif;font-size:clamp(26px,3.4vw,48px);font-weight:300;letter-spacing:-.035em;color:#c9d0ca}.empty-center p{font-size:14px;color:#929e97;margin:16px 0 0}.reel-stage video,.reel-stage iframe{width:100%;height:100%;border:0;display:block}.reel-caption{display:flex;justify-content:space-between;gap:24px;margin-top:21px;font-size:12px;letter-spacing:.13em;color:var(--muted)}footer{margin:0 7vw;padding:36px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:14px}.footer-logo{color:var(--paper);letter-spacing:.24em;font-size:18px}footer a{text-decoration:underline;text-underline-offset:5px}@media(min-width:2000px){.film{max-width:2100px;margin:auto}}@media(max-width:700px){.opening{min-height:580px;max-height:900px}.topline{top:24px;left:24px;right:24px;font-size:12px;letter-spacing:.08em}.topline>span{max-width:155px;line-height:1.7}.opening-bottom{left:24px;right:24px;bottom:24px;grid-template-columns:1fr 1fr;row-gap:24px}.location{grid-column:1/-1;text-align:center;order:3;letter-spacing:.1em}.discover{justify-self:start;gap:15px;letter-spacing:.08em}.scroll-line{height:28px}.motion{letter-spacing:.05em}.film{left:-18%;right:-18%}.reel-section{padding:75px 24px 56px}.reel-heading{display:block;margin-bottom:30px}.eyebrow{margin-bottom:18px}.reel-note{margin-top:20px;font-size:14px}.reel-frame-label{top:16px;left:16px;font-size:12px;letter-spacing:.07em}.reel-frame-bottom{display:none}.aspect-mark{bottom:16px;right:16px}.empty-center{padding:35px 12px 20px}.empty-title{font-size:25px}.empty-center p{font-size:14px;margin-top:10px}.reel-caption{line-height:1.8;font-size:12px;letter-spacing:.07em}.reel-caption>span:last-child{display:none}footer{margin:0 24px;flex-wrap:wrap;padding:28px 0}footer>span:nth-child(2){font-size:12px}footer>a{width:100%;margin-top:6px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Live ocean and film portfolio */
.ocean-fallback{position:absolute;inset:0;background:#263d42 url('assets/ocean-logo.jpg') center/cover;filter:blur(28px);transform:scale(1.2)}
#water-surface{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .8s}
.logo-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.logo-layer img{width:min(66vw,1000px);height:auto;filter:drop-shadow(0 2px 18px #061f2480)}
.topline,.opening-bottom{z-index:2}.nav-links{display:flex;align-items:center;gap:32px;font-size:12px;letter-spacing:.15em}.nav-links a{padding:10px 0;border-bottom:1px solid transparent}.nav-links a:hover,.nav-links a[aria-current]{border-color:#e9e7df}.works-link{display:flex;justify-content:space-between;gap:20px;padding:30px 0;margin-top:65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:Manrope,Arial,sans-serif;font-size:28px;font-weight:300}.works-link span{font-family:'DM Sans',Arial,sans-serif;font-size:12px;color:var(--muted);align-self:center;letter-spacing:.1em}.works-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 7vw;border-bottom:1px solid var(--line)}.works-main{max-width:1680px;margin:auto;padding:100px 7vw 90px}.works-heading{margin-bottom:65px}.works-intro{color:var(--muted);font-size:18px;line-height:1.6;margin-top:28px}.works-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 32px}.work-item:first-child{grid-column:1/-1}.work-screen{aspect-ratio:16/9;background:#090e10;border:1px solid var(--line)}.work-screen video,.work-screen iframe{width:100%;height:100%;border:0;display:block}.work-info{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-top:20px}.work-info h2{font-family:Manrope,Arial,sans-serif;font-size:28px;font-weight:300;margin:0}.work-info p{color:var(--muted);font-size:14px;line-height:1.5}.works-empty{min-height:440px;padding:40px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;border:1px solid var(--line);background:linear-gradient(130deg,#182526,#0b1215)}.works-empty[hidden]{display:none}.film-counter{font-size:12px;letter-spacing:.15em;color:var(--muted)}.works-empty h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(32px,4vw,58px);font-weight:300;line-height:1.2;letter-spacing:-.035em;margin:0}.works-empty p{font-size:16px;color:var(--muted);line-height:1.6}.works-empty>a{font-size:14px;text-decoration:underline;text-underline-offset:6px;align-self:flex-start}@media(max-width:700px){.logo-layer img{width:88vw}.nav-links{gap:20px;font-size:12px;letter-spacing:.08em}.works-link{font-size:24px;flex-direction:column;margin-top:45px}.works-link span{align-self:flex-start}.works-nav{padding:24px;flex-wrap:wrap}.works-main{padding:70px 24px 60px}.works-heading{margin-bottom:40px}.works-gallery{grid-template-columns:1fr;gap:40px}.works-empty{padding:24px;min-height:400px}.work-info{display:block}.work-info h2{font-size:24px}}@media(prefers-reduced-motion:reduce){#water-surface{transition:none}}
.ocean-fallback{background:linear-gradient(160deg,#384b4d,#182f38);filter:none;transform:none}.motion[hidden]{display:none}h1{letter-spacing:-.025em}
.drone-ocean{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:brightness(.72) saturate(.85)}.opening:after{z-index:0;background:linear-gradient(180deg,#07171955 0%,#07171910 35%,#07171910 65%,#071719aa 100%)}.logo-layer{z-index:1}.ocean-fallback{background:#183c36 url('assets/drone-ocean.jpg') center/cover}

.brand-lettering{display:block;height:auto;object-fit:contain}.brand-showreel{width:min(520px,75vw)}.brand-tideout{width:140px}.reel-heading h1{line-height:1}

.social-player{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;gap:10px;background:#0d171a}.social-player iframe{width:100%;flex:1;min-height:0;border:0}.social-player.portrait iframe{max-width:400px}.social-player a{color:#d7e5de;font-size:13px;padding:8px;flex-shrink:0}#dialog-player:has(.social-player.portrait){aspect-ratio:auto;height:min(75svh,800px)}

.about-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,7vw,110px);padding:100px 7vw 120px;border-top:1px solid #ffffff18;align-items:center;background:#101719;scroll-margin-top:30px}.about-visual{position:relative;min-height:470px;overflow:hidden;border-radius:2px}.about-visual img{position:absolute;width:100%;height:100%;object-fit:cover;filter:brightness(.75)}.about-image-label{position:absolute;left:28px;bottom:28px;letter-spacing:.18em;font-size:10px;color:#eee9dc}.about-copy :is(h1,h2){font-size:clamp(38px,4.8vw,72px);font-weight:300;line-height:1.08;letter-spacing:-.035em;margin:18px 0 22px}.about-subtitle{color:#d8d7c9;font-size:15px;margin-bottom:30px}#about-body p{font-size:15px;line-height:1.9;color:#aabbb8;margin:0 0 20px}#about-body p:first-child{color:#eee9dc;font-size:19px}@media(max-width:700px){.about-section{grid-template-columns:1fr;padding:65px 24px;gap:35px}.about-visual{min-height:300px}.topline .nav-links{gap:14px}}

.about-teaser{padding:75px 7vw 90px;border-top:1px solid #ffffff18}.about-teaser h2{font-size:clamp(36px,4vw,60px);font-weight:300;letter-spacing:-.03em;margin:20px 0}.about-teaser>p:not(.eyebrow){color:#aabbb8}.about-teaser .works-link{margin-top:35px}.nav-links [aria-current="page"]{border-bottom:1px solid currentColor;padding-bottom:6px}@media(max-width:700px){.about-teaser{padding:60px 24px}.works-nav .nav-links{gap:10px;font-size:10px}}
