:root{color-scheme:dark;--ink:#101816;--panel:#17221f;--line:#39433e;--paper:#e8ebe5;--muted:#aeb9b2;--accent:#d6f061;--display:"Manrope",Arial,sans-serif;--body:"DM Sans",Arial,sans-serif;scroll-behavior:smooth}
*{box-sizing:border-box}
html{scroll-padding-top:6rem}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased}
button,a{touch-action:manipulation}
button{font:inherit}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--accent);color:var(--ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.skip-link{position:absolute;top:-5rem;left:1rem;z-index:100;background:var(--accent);color:var(--ink);padding:.6rem 1rem}
.skip-link:focus{top:1rem}
.site-shell{max-width:1920px;margin:0 auto;overflow:hidden}
.site-header{height:88px;padding:0 clamp(1.25rem,4.5vw,5rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2b3630}
.brand{display:flex;align-items:center;gap:1.1rem}
.brand-mark,.footer-brand{font-family:var(--display);font-size:2rem;font-weight:800;letter-spacing:-.12em;line-height:1}
.brand-dot,.period{color:var(--accent)}
.brand-descriptor{font-size:.62rem;font-weight:700;letter-spacing:.16em;line-height:1.45;color:#a8b2aa}
.site-nav{display:flex;align-items:center;gap:clamp(1.2rem,3vw,3.3rem);font-size:.86rem;font-weight:700}
.site-nav a:not(.nav-contact){transition:color .2s}.site-nav a:hover{color:var(--accent)}
.nav-contact{border:1px solid #78847c;padding:.75rem 1.05rem;display:flex;align-items:center;gap:1.4rem;transition:background .2s,color .2s}.nav-contact:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0}
.hero{display:grid;grid-template-columns:49% 51%;min-height:min(750px,calc(100svh - 88px))}
.hero-copy{padding:clamp(2.5rem,5vw,6rem) clamp(1.25rem,4.5vw,5rem) 2.5rem;display:flex;flex-direction:column;justify-content:center;position:relative}
.eyebrow,.section-kicker{font-size:.76rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--accent)}
.eyebrow{display:flex;align-items:center;gap:.75rem}.eyebrow-line{width:27px;height:1px;background:var(--accent)}
h1,h2,p{margin-top:0}
h1,h2{font-family:var(--display);font-weight:700;letter-spacing:-.075em;line-height:1.06}
h1{font-size:clamp(3.5rem,5.9vw,7.5rem);margin:2.25rem 0 1.9rem;white-space:nowrap}
h1 em,h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.075em}
.hero-copy>p{max-width:28rem;color:#b7c2b9;font-size:1.06rem;line-height:1.65}
.hero-actions{display:flex;align-items:center;gap:1.8rem;flex-wrap:wrap;margin-top:1.3rem}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:1.6rem;padding:1rem 1.2rem;font-weight:800;font-size:.88rem;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-3px)}.button-light{background:#e8ebe5;color:var(--ink)}.button-light:hover{background:var(--accent)}
.button-accent{background:var(--accent);color:var(--ink)}.button-accent:hover{background:#e2fa83}
.text-link,.underline-link{font-weight:700;font-size:.9rem;border-bottom:1px solid currentColor;padding-bottom:.25rem;width:max-content;max-width:100%;transition:color .2s}.text-link:hover,.underline-link:hover{color:var(--accent)}
.hero-index{display:flex;justify-content:space-between;color:#839188;font-size:.67rem;font-weight:800;letter-spacing:.14em;margin-top:auto;padding-top:3rem}
.hero-image{min-height:500px;background:#101816;position:relative;overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(2,9,8,.62));pointer-events:none}
.hero-image .image-caption{z-index:1}
.image-caption{position:absolute;left:clamp(1.25rem,3vw,3rem);right:clamp(1.25rem,3vw,3rem);bottom:2rem;display:flex;justify-content:space-between;gap:1rem;font-size:.68rem;font-weight:800;letter-spacing:.16em;text-shadow:0 1px 8px #000}
.marquee{height:55px;display:flex;align-items:center;background:var(--accent);color:#132016;overflow:hidden;font-size:.83rem;font-weight:800;letter-spacing:.17em;white-space:nowrap}.marquee-track{min-width:max-content;animation:drift 38s linear infinite}.marquee span{padding-left:1rem}.marquee b{font-size:1.2rem;padding:0 1.2rem;vertical-align:-.07em}@keyframes drift{to{transform:translateX(-50%)}}
.section-pad{padding:clamp(4rem,8vw,8rem) clamp(1.25rem,4.5vw,5rem)}
.section-topline{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.66rem;font-weight:800;letter-spacing:.17em;color:#91a096}
.section-kicker{margin-bottom:1.35rem}
.section-intro{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin:3.2rem 0 2.6rem}
.section-intro h2,.about-heading h2,.youtube-copy h2,.contact-section h2{font-size:clamp(3.8rem,7vw,8.5rem);margin:0}
.section-description{max-width:21rem;color:var(--muted);margin:0 0 .6rem;line-height:1.7}
.filter-row{display:flex;flex-wrap:wrap;gap:.6rem;border-bottom:1px solid var(--line);padding-bottom:1.35rem;margin-bottom:1.4rem}
.filter{border:1px solid #49564d;background:transparent;color:#bac6bd;padding:.65rem .95rem;cursor:pointer;font-size:.82rem;font-weight:700;transition:background .2s,color .2s,border .2s}.filter span{font-size:.63rem;margin-left:.45rem;vertical-align:top;color:#809187}.filter:hover{border-color:var(--accent);color:#fff}.filter.active{background:var(--accent);color:var(--ink);border-color:var(--accent)}.filter.active span{color:#50642a}
.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.project-card{display:block;text-align:left;border:1px solid #38433d;background:#18221e;color:var(--paper);padding:0;cursor:pointer;min-width:0;transition:transform .25s,border-color .25s}.project-card:hover{transform:translateY(-4px);border-color:#87978b}.project-card:focus-visible{outline-offset:3px}
.project-visual{height:clamp(240px,29vw,430px);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#2a3b37}
.project-visual.has-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.project-card:hover img{transform:scale(1.035)}
.visual-travel{background:linear-gradient(170deg,#31483e,#101816)}
.visual-adventure{background:radial-gradient(circle at 70% 20%,#a1a785 0,#5c7468 24%,transparent 52%),linear-gradient(140deg,#172822 10%,#436052 53%,#0c211e 100%)}
.visual-events{background:radial-gradient(circle at 18% 72%,#be7d51,transparent 36%),radial-gradient(circle at 84% 35%,#d5b58c,transparent 32%),linear-gradient(135deg,#403228,#142422 80%)}
.visual-shorts{background:radial-gradient(circle at 75% 30%,#9fba8a,transparent 32%),linear-gradient(115deg,#203b38 2%,#47736c 44%,#14211e 100%)}
.visual-word{font-family:var(--display);font-size:clamp(4rem,9vw,10rem);font-weight:800;letter-spacing:-.1em;color:rgba(238,244,227,.20);line-height:.85;text-align:center;max-width:90%;overflow-wrap:anywhere;text-transform:uppercase;mix-blend-mode:screen}
.project-visual.has-image .visual-word,.visual-travel .visual-word{color:rgba(238,244,227,.32)}
.visual-label{position:absolute;left:1.35rem;top:1.3rem;padding:.48rem .65rem;background:rgba(10,21,17,.78);backdrop-filter:blur(6px);font-size:.64rem;letter-spacing:.16em;font-weight:800;text-transform:uppercase}
.visual-number{position:absolute;right:1.35rem;top:1.2rem;font-size:.7rem;font-weight:800;letter-spacing:.15em}
.visual-note{position:absolute;bottom:1.35rem;left:1.35rem;font-size:.62rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;text-shadow:0 1px 8px #000}
.visual-expand{position:absolute;bottom:1.2rem;right:1.2rem;width:43px;height:43px;background:var(--paper);color:var(--ink);display:grid;place-items:center;font-size:1.2rem;transition:background .2s,transform .2s}.project-card:hover .visual-expand{background:var(--accent);transform:rotate(45deg)}
.project-card.has-local-video .visual-expand{font-size:.9rem;padding-left:.15rem}.project-card.has-local-video:hover .visual-expand{transform:none}
.project-info{display:flex;justify-content:space-between;gap:1rem;align-items:end;padding:1.4rem 1.35rem 1.5rem}
.project-type{font-size:.7rem;font-weight:800;letter-spacing:.15em;color:var(--accent);text-transform:uppercase;margin:0 0 .55rem}.project-info h3{font-family:var(--display);font-size:clamp(1.35rem,2vw,2rem);letter-spacing:-.05em;line-height:1.15;margin:0}.project-status{font-size:.76rem;color:#9bab9f;text-align:right;white-space:nowrap;margin:0 0 .1rem}
.work-note{color:var(--muted);text-align:center;margin:2.7rem 0 0;font-size:.9rem}.work-note a{color:var(--paper);border-bottom:1px solid var(--accent)}
.about-section{background:#e5e9df;color:var(--ink)}.about-section .section-topline{border-color:#abb7aa;color:#53645a}.about-section .section-kicker{color:#5e7529}
.about-layout{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:5rem;padding:4.7rem 0 1rem}
.about-heading h2{font-size:clamp(4.2rem,7.2vw,9rem)}.about-heading h2 em{color:#52703e}
.about-copy{max-width:34rem;padding-bottom:.4rem}.about-copy p{color:#4b5b50;line-height:1.78;font-size:1rem}.about-copy .about-lead{font-family:var(--display);color:#15231b;font-size:clamp(1.4rem,2.1vw,2.1rem);line-height:1.43;font-weight:600;letter-spacing:-.04em;margin-bottom:1.4rem}.about-copy .underline-link{display:inline-block}.about-links{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem 2rem;margin-top:2rem}
.youtube-section{display:grid;grid-template-columns:49% 51%;min-height:600px;background:#1d2b25}.youtube-visual{position:relative;min-height:500px;background:linear-gradient(125deg,#101816,#31483e);display:grid;place-items:center}.youtube-visual-center{display:flex;align-items:center;flex-direction:column;gap:1.5rem;color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.18em}.play-symbol{width:80px;height:80px;border:1px solid #dfe7dd;border-radius:50%;display:grid;place-items:center;padding-left:.3rem;font-size:1.35rem;background:rgba(13,26,21,.15)}.film-corner{position:absolute;width:26px;height:26px;border-color:#e8ebe5}.corner-tl{top:2rem;left:2rem;border-top:1px solid;border-left:1px solid}.corner-tr{top:2rem;right:2rem;border-top:1px solid;border-right:1px solid}.corner-bl{bottom:2rem;left:2rem;border-bottom:1px solid;border-left:1px solid}.corner-br{bottom:2rem;right:2rem;border-bottom:1px solid;border-right:1px solid}
.youtube-copy{padding:clamp(3.5rem,6vw,6.5rem) clamp(1.25rem,5vw,6rem);display:flex;flex-direction:column;align-items:start;justify-content:center}.youtube-copy .section-topline{width:100%;margin-bottom:auto}.youtube-copy .section-kicker{margin-top:3rem}.youtube-copy h2{font-size:clamp(3.6rem,5.5vw,7rem)}.youtube-copy h2 em{color:var(--accent)}.youtube-copy>p:not(.section-kicker){max-width:30rem;color:#b0c0b4;margin:2rem 0 2.5rem;line-height:1.7}.youtube-copy .underline-link{margin-bottom:auto}
.contact-section{background:#17221c}.contact-layout{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:4rem;padding:4.6rem 0 1rem}.contact-section h2{font-size:clamp(4.5rem,8vw,10rem)}.contact-section h2 em{color:var(--accent)}.contact-side{padding-bottom:.55rem}.contact-side p{font-size:clamp(1.2rem,1.65vw,1.65rem);line-height:1.5;color:#c5d0c3;max-width:27rem}.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-top:2rem}.contact-actions [hidden]{display:none}.contact-side .contact-email-line{font-size:.86rem;color:#92a69b;margin:1.2rem 0 0;overflow-wrap:anywhere}.contact-email-line[hidden]{display:none}
.site-footer{min-height:115px;padding:2rem clamp(1.25rem,4.5vw,5rem);display:flex;align-items:center;justify-content:space-between;gap:2rem;color:#93a198;font-size:.77rem;border-top:1px solid var(--line)}.site-footer>div{display:flex;flex-wrap:wrap;gap:1rem 2rem}.site-footer a:hover{color:var(--accent)}.footer-brand{font-size:2.4rem;color:var(--paper)}
.project-dialog{width:min(840px,calc(100vw - 2rem));max-height:min(90vh,900px);padding:0;border:1px solid #647267;background:var(--panel);color:var(--paper);box-shadow:0 30px 90px #000b}.project-dialog::backdrop{background:rgba(4,12,9,.82);backdrop-filter:blur(5px)}.dialog-close{position:absolute;z-index:2;right:1rem;top:1rem;width:44px;height:44px;display:grid;place-items:center;border:0;background:var(--paper);color:var(--ink);cursor:pointer}.dialog-close:hover{background:var(--accent)}.dialog-media{height:clamp(230px,38vh,390px);display:grid;place-items:center;background:linear-gradient(135deg,#536958,#182e29);overflow:hidden}.dialog-media img{width:100%;height:100%;object-fit:cover}.dialog-media span{font-size:clamp(2.5rem,7vw,6rem);font-family:var(--display);font-weight:800;letter-spacing:-.08em;color:#d1e0c48a;text-transform:uppercase}.dialog-body{padding:clamp(1.5rem,4vw,3rem)}.dialog-meta{color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.dialog-body h2{font-size:clamp(2.2rem,5vw,4rem);margin:1rem 0}.dialog-body>p:not(.dialog-meta){color:#bfcbc0;max-width:38rem;line-height:1.7}.dialog-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.4rem;margin-top:2rem}.dialog-actions [hidden]{display:none}
.dialog-media.has-video{height:auto;aspect-ratio:16/9;background:#050807}.dialog-media video{display:block;width:100%;height:100%;max-height:70vh;object-fit:contain;background:#050807}
.project-visual video{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.has-local-video .visual-note{background:rgba(10,21,17,.78);padding:.48rem .65rem}
@media(max-width:1050px){.hero{grid-template-columns:52% 48%}.hero-copy{padding-left:2.2rem;padding-right:2.2rem}h1{font-size:clamp(3.3rem,5.6vw,5rem)}.hero-actions{gap:1rem}.about-layout,.contact-layout{gap:2rem}}
@media(max-width:760px){.site-header{height:74px}.brand-descriptor{display:none}.site-nav{gap:1.1rem;font-size:.77rem}.site-nav a:nth-child(2),.site-nav a:nth-child(3){display:none}.nav-contact{padding:.62rem .75rem;gap:.5rem}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{min-height:550px;padding:3.7rem 1.25rem 1.7rem}.hero h1{font-size:clamp(3.4rem,11vw,5.3rem);margin:1.8rem 0}.hero-image{height:340px;min-height:0}.image-caption{bottom:1.2rem;font-size:.59rem}.section-intro{display:block;margin:2.5rem 0}.section-intro h2{margin-bottom:1.5rem}.section-description{max-width:32rem}.work-grid{gap:.8rem}.project-visual{height:270px}.project-info{padding:1rem;display:block}.project-status{text-align:left;margin-top:.65rem}.about-layout,.contact-layout{display:block;padding:3rem 0 0}.about-copy{margin-top:3rem}.youtube-section{display:flex;flex-direction:column}.youtube-visual{min-height:340px}.youtube-copy{min-height:500px}.youtube-copy .section-topline{margin-bottom:2rem}.contact-side{margin-top:3rem}.site-footer{flex-wrap:wrap}}
@media(max-width:560px){.site-nav a:first-child{display:none}.hero-copy{min-height:530px}.hero h1{font-size:clamp(2.75rem,10vw,4.4rem);white-space:normal}.hero-copy>p{font-size:1rem}.hero-actions{align-items:start;flex-direction:column;gap:1.3rem}.hero-index{padding-top:2rem}.section-pad{padding:4.5rem 1.25rem}.section-topline{font-size:.58rem}.section-topline span:last-child{display:none}.section-intro h2,.about-heading h2,.contact-section h2{font-size:clamp(3.8rem,13vw,6rem)}.filter-row{gap:.45rem}.filter{padding:.57rem .65rem;font-size:.76rem}.filter span{display:none}.work-grid{grid-template-columns:1fr}.project-visual{height:300px}.project-info{display:flex;padding:1.1rem}.project-status{text-align:right}.visual-word{font-size:6rem}.about-layout{padding-top:3.5rem}.youtube-copy{min-height:520px;padding:3rem 1.25rem}.youtube-copy h2{font-size:clamp(3.4rem,11vw,5rem)}.site-footer{justify-content:space-between;gap:1rem}.site-footer>div{width:100%;justify-content:space-between}.contact-section h2{font-size:clamp(4rem,13vw,6rem)}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.marquee-track{animation:none}.button,.project-card,.project-visual img,.visual-expand{transition:none}}

.about-portrait{width:220px;max-width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:12px;margin:0 auto 2rem}

.work-more{text-align:center}.work-more .button{margin-top:2rem;border:0;cursor:pointer}.work-more [hidden]{display:none}

.about-links [hidden],.site-footer [hidden]{display:none}

.youtube-links{display:flex;flex-wrap:wrap;gap:1.25rem 2rem;margin-bottom:auto}.youtube-links [hidden]{display:none}
.youtube-visual{overflow:hidden;background:#102019}
.youtube-trailer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.youtube-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(6,18,17,.35),rgba(9,20,15,.08));pointer-events:none}
.youtube-visual-center,.youtube-visual .film-corner{z-index:1;pointer-events:none}
.current-project{width:100%;border-top:1px solid var(--line);padding:1.5rem 0;margin-bottom:1rem}
.current-project .current-project-label{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:.65rem;font-weight:800;margin:0 0 .8rem}
.current-project h3{font-family:var(--display);font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.3;margin:0 0 .8rem}
.current-project p{color:#b0c0b4;line-height:1.7;max-width:30rem;margin:0}
.youtube-copy .trailer-toggle{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--ink);font-family:inherit;font-size:.9rem;font-weight:800;line-height:1.3;border:1px solid transparent;border-radius:999px;cursor:pointer;margin-bottom:1.5rem;padding:.9rem 1.5rem;min-height:48px;text-decoration:none;transition:background .2s ease,transform .2s ease}.youtube-copy .trailer-toggle:hover{background:var(--paper);transform:translateY(-2px)}.youtube-copy .trailer-toggle:focus-visible{outline:2px solid var(--paper);outline-offset:4px}
.youtube-visual{aspect-ratio:5 / 3;min-height:0;align-self:center;width:100%}
.youtube-trailer{object-fit:cover}
