@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,500&display=swap');
:root{--bg:#0c1012;--fg:#f0f0ec;--muted:#a0a9ab;--line:#30383a;--accent:#c7c4b5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:500;letter-spacing:-.055em;line-height:1.05}h1{font-size:clamp(4.3rem,10vw,10rem)}h2{font-size:clamp(3.3rem,7vw,7rem)}h3{font-size:1.5rem;font-weight:500}em{font-family:'Playfair Display',Georgia,serif;font-weight:500;color:#d2d3ca}.eyebrow{font-size:.69rem;letter-spacing:.22em;font-weight:700;color:#b5c0bf}.nav{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:27px 5vw;border-bottom:1px solid #ffffff26}.wordmark{font-weight:700;letter-spacing:.18em;font-size:1rem}.wordmark span{display:block;font-size:.54rem;letter-spacing:.3em;color:#b8c2c5;margin-top:4px}.nav nav{display:flex;align-items:center;gap:2.4vw;font-size:.83rem}.nav nav a:hover,.text-link:hover{color:#e7d6b4}.nav-contact{border:1px solid #ffffff88;padding:12px 18px}.menu{display:none;background:none;border:1px solid #777;color:white;padding:10px}.hero{height:min(850px,100svh);min-height:650px;position:relative;display:flex;align-items:center;padding:8rem 7vw 5rem;overflow:hidden}.hero-backdrop{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.8);transform:scale(1.02)}.hero-content{position:relative;max-width:900px}.hero h1{margin:24px 0}.hero-sub{font-size:clamp(1.1rem,1.7vw,1.4rem);line-height:1.6;max-width:570px;color:#d6dedd}.button{display:inline-flex;align-items:center;gap:60px;background:#e4e4dc;color:#131719;padding:19px 24px;margin-top:26px;font-size:.83rem;font-weight:700;letter-spacing:.02em}.button:hover{background:#fff}.hero-bottom{position:absolute;bottom:32px;left:7vw;right:7vw;display:flex;justify-content:space-between;font-size:.65rem;letter-spacing:.15em;color:#d1d6d6}.section{padding:125px 7vw}.section-heading{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:4vw;margin-bottom:50px}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2{margin:0}.section-heading>p:last-child{font-size:1.1rem;color:var(--muted);line-height:1.7;max-width:330px}.video-wrap{background:#111;aspect-ratio:16/9;overflow:hidden}.video-wrap video{width:100%;height:100%;display:block;object-fit:contain}.feature-meta{display:flex;justify-content:space-between;gap:30px;margin-top:28px}.feature-meta h3{font-size:2rem;margin:10px 0}.feature-meta p:not(.eyebrow){color:var(--muted);line-height:1.7;max-width:600px}.feature-meta>span{font-size:.7rem;color:var(--muted);white-space:nowrap;letter-spacing:.12em}.upcoming{margin-top:95px;padding-top:30px;border-top:1px solid var(--line)}.upcoming-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.upcoming-grid>div{padding:45px 30px;background:#161c1e;border:1px solid #273033}.upcoming-grid span{font-size:.65rem;letter-spacing:.15em;color:#a3b4b4}.upcoming-grid h3{margin:30px 0 8px}.upcoming-grid p{color:var(--muted);margin:0}.services{background:#161b1d;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.service-list>div{display:grid;grid-template-columns:55px 1fr;border-top:1px solid #384144;padding:26px 0}.service-list span{font-size:.7rem;color:#b7c0c0}.service-list h3{margin:0 0 10px}.service-list p{color:var(--muted);line-height:1.7;margin:0}.about{display:grid;grid-template-columns:.85fr 1fr;gap:10vw;align-items:center}.portrait{height:600px;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.about-copy p:not(.eyebrow){font-size:1.08rem;color:#adb7b8;line-height:1.9}.text-link{display:inline-block;margin-top:30px;border-bottom:1px solid #ddd;padding-bottom:12px}.trip-banner{background:#253237;text-align:center;padding:115px 25px}.trip-banner h2{margin:20px 0}.trip-banner>p:not(.eyebrow){color:#d2dddd}.light{margin-top:22px}.contact{text-align:center}.contact h2{margin:24px 0}.contact>p:not(.eyebrow){color:var(--muted);max-width:550px;margin:0 auto 40px;line-height:1.7}.contact-email{font-size:clamp(1.25rem,3vw,2.4rem);border-bottom:1px solid #ddd;padding-bottom:10px}footer{padding:35px 7vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:.66rem;letter-spacing:.12em;color:#9eaaab}.trip-hero{padding:190px 7vw 125px;min-height:750px;background:radial-gradient(circle at 85% 20%,#2a444b 0,transparent 45%),#101719}.trip-hero h1{font-size:clamp(3.8rem,8vw,8rem)}.trip-hero>p:not(.eyebrow){max-width:560px;font-size:1.25rem;line-height:1.7;color:#b9c5c7}.trip-steps h2{margin:30px 0 65px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.steps>div{border-top:1px solid var(--line);padding-top:25px}.steps span{font-size:.8rem;color:#b8c5c5}.steps h3{margin-top:45px}.steps p,.trip-note p:not(.eyebrow){color:var(--muted);line-height:1.7}.trip-note{background:#161d20}.trip-note p:not(.eyebrow){max-width:540px}@media(max-width:800px){.nav{padding:20px 6vw}.menu{display:block}.nav nav{display:none;position:absolute;top:75px;left:0;right:0;background:#101719;flex-direction:column;align-items:stretch;padding:24px 6vw;gap:20px}.nav nav.open{display:flex}.hero{min-height:670px;padding:120px 7vw 80px}.hero-bottom span{display:none}.section{padding:80px 7vw}.section-heading,.services,.about{grid-template-columns:1fr}.section-heading .eyebrow{grid-column:auto}.section-heading{gap:20px}.feature-meta{display:block}.feature-meta>span{display:block;margin-top:15px}.portrait{height:460px;max-width:420px}.upcoming-grid,.steps{grid-template-columns:1fr}.trip-hero{padding-top:160px;min-height:650px}footer{flex-wrap:wrap;line-height:1.7}footer span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* V2 — tighter editorial hero and actual editing-workstation photograph */
.hero{height:clamp(490px,68svh,650px);min-height:490px;padding:118px 7vw 70px;align-items:center}
.hero-backdrop{background-position:center 45%;filter:saturate(.88)}
.hero-content{max-width:750px}
.hero h1{font-size:clamp(3.1rem,6.1vw,6.6rem);line-height:1.06;margin:13px 0 17px;letter-spacing:-.055em}
.hero .eyebrow{margin-bottom:0;font-size:.65rem;letter-spacing:.19em}
.hero-sub{font-size:clamp(.98rem,1.2vw,1.13rem);line-height:1.55;max-width:490px;margin-bottom:0}
.hero .button{margin-top:22px;padding:14px 19px;gap:36px}
.hero-bottom{bottom:20px;font-size:.58rem}
@media(max-width:800px){.hero{height:auto;min-height:560px;padding:125px 7vw 70px}.hero h1{font-size:clamp(2.9rem,10vw,4.6rem)}.hero-backdrop{background-position:58% center}}

/* V3 — lift workstation image so navigation sits over a quieter area */
.hero-backdrop{background-position:center 82%}
@media(max-width:800px){.hero-backdrop{background-position:58% 75%}}
/* V5: ease the workstation photo down from V4 so the Resolve nodes skim the top edge. */
.hero-backdrop{background-position:center 68%}
@media(max-width:800px){.hero-backdrop{background-position:58% 62%}}
/* V6: slight downward shift of workstation photo from V5 */
.hero-backdrop{background-position:center 61%}
@media(max-width:800px){.hero-backdrop{background-position:58% 55%}}

/* V7: reveal more of the Resolve nodes at the top of the hero. */
.hero-backdrop{background-position:center 48%}
@media(max-width:800px){.hero-backdrop{background-position:58% 44%}}

/* Instagram links */
.instagram-nav{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.9;transition:opacity .2s}.instagram-nav:hover{opacity:1;color:#e7d6b4}.social-contact{margin-top:24px!important;font-size:.95rem!important}.social-contact a{color:#f0f0ec;border-bottom:1px solid #a0a9ab;padding-bottom:3px}.social-contact a:hover{color:#e7d6b4}
@media(max-width:800px){.instagram-nav{justify-content:flex-start}}

/* V9 — improve navigation readability over workstation photo */
.nav{background:linear-gradient(to bottom,rgba(7,12,15,.68),rgba(7,12,15,.30) 75%,rgba(7,12,15,0));}
.nav .wordmark,.nav nav a,.nav .menu{color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.92),0 2px 12px rgba(0,0,0,.75);}
.nav nav a{font-weight:600;transition:color .2s ease,text-shadow .2s ease;}
.nav nav a:hover,.nav nav a:focus-visible{text-shadow:0 1px 6px #000,0 0 12px rgba(255,255,255,.28);}
.nav .nav-contact{background:rgba(7,12,15,.28);border-color:rgba(255,255,255,.72);}
.nav .instagram-nav svg{filter:drop-shadow(0 1px 4px rgba(0,0,0,.85));}

/* V12: approved wide Trip Trailers hero, with responsive live text on phones */
.trip-hero-v12{padding:0;min-height:0;aspect-ratio:1672/941;background:#0c1718 url('assets/trip-trailers-hero.jpg') center center / contain no-repeat;}
.trip-hero-mobile-copy{display:none;}
.trip-hero-action{display:flex;justify-content:center;padding:6px 7vw 42px;background:#0c1012;}
.trip-hero-action .button{margin-top:0;}
@media(max-width:800px){
.trip-hero-v12{aspect-ratio:auto;min-height:690px;padding:150px 7vw 70px;display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(4,15,18,.84),rgba(4,15,18,.18)),url('assets/trip-trailers-mobile.jpg');background-size:cover;background-position:54% center;}
.trip-hero-mobile-copy{display:block;position:relative;max-width:530px;}
.trip-hero-mobile-copy h1{font-size:clamp(3.1rem,11vw,5.2rem);line-height:1.1;margin:22px 0;}
.trip-hero-mobile-copy p:not(.eyebrow){font-size:1rem;line-height:1.6;max-width:390px;color:#f0f1ed;}
.trip-hero-action{padding:18px 7vw 48px;}
}

/* V16 — compact two-line editorial hero; prevent headline clipping */
.hero-content{width:100%;max-width:760px;min-width:0}
.hero h1{font-size:clamp(2.55rem,5.2vw,5.4rem);line-height:1.12;letter-spacing:-.045em;margin:0 0 10px;overflow-wrap:normal}
.hero-tagline{font-family:'Playfair Display',Georgia,serif;font-style:italic;color:#d2d3ca;font-size:clamp(1.1rem,2.1vw,1.85rem);line-height:1.35;margin:0 0 18px}
.hero-rule{height:1px;width:min(100%,530px);background:rgba(235,238,232,.45);margin-bottom:20px}
.hero-sub{margin-top:0}
@media(max-width:800px){.hero{min-height:540px;padding-top:120px;padding-bottom:80px}.hero h1{font-size:clamp(2.35rem,8.5vw,4.1rem)}.hero-tagline{font-size:clamp(1.05rem,4.2vw,1.5rem)}}
@media(max-width:380px){.hero{padding-top:115px}.hero h1{font-size:2.25rem}}

/* Featured vertical Trip Trailer */
.trip-film{text-align:center;padding-top:100px;padding-bottom:110px}
.trip-film-heading p:not(.eyebrow){margin:0 auto 35px;max-width:550px}
.trip-film-heading h2{margin:20px 0 25px}
.trip-film-player{width:min(100%,380px);margin:0 auto;aspect-ratio:9/16;background:#090d0f;box-shadow:0 20px 65px rgba(0,0,0,.35);overflow:hidden}
.trip-film-player video{display:block;width:100%;height:100%;object-fit:contain}
.trip-film-caption{font-size:.67rem;letter-spacing:.17em;margin:20px auto 0;color:#a0a9ab}
@media(max-width:800px){.trip-film{padding-top:80px;padding-bottom:85px}.trip-film-player{width:min(100%,380px)}}

/* V18 — completed Philippines film linked from Selected Work */
.upcoming-grid > a.upcoming-feature-link{display:block;padding:45px 30px;background:#161c1e;border:1px solid #46565a;transition:background .2s ease,border-color .2s ease}
.upcoming-feature-link:hover,.upcoming-feature-link:focus-visible{background:#202b2d;border-color:#c7c4b5}
.upcoming-feature-link span{font-size:.65rem;letter-spacing:.15em;color:#c7c4b5}
.upcoming-feature-link h3{margin:30px 0 8px}
.upcoming-feature-link p{color:var(--muted);margin:0}
