html
{ cursor: url(https://freight.cargo.site/t/thumbnail/w/38/q/75/i/6e398470d5b23c4f35978218f79be4f3f7043f201317c7d2f4f730c9564cd819/active.svg), auto !important;
}

.player, iframe {
    cursor: url(https://freight.cargo.site/t/thumbnail/w/38/q/75/i/6e398470d5b23c4f35978218f79be4f3f7043f201317c7d2f4f730c9564cd819/active.svg), auto !important;
    pointer-events: auto !important; /* Ensure pointer events are enabled */
}

a
{ cursor: url(https://freight.cargo.site/t/thumbnail/w/38/q/75/i/ae16a34259ada0d84b50d8f51a6f25afcece5b4623ad3dea30d35c7b1be5cb64/auto.svg), pointer !important;
}
  
body {
	background-color: #fff;
	color: #000;	
}

a:active { opacity: 0.7; }
.page a.active { opacity: 1; }

i, em { font-style: italic; }
b, strong { font-weight: bolder; }

sub, sup { position: relative; vertical-align: baseline; }
sub { top: 0.3em; }
sup { top: -0.4em; }

s { text-decoration: line-through; }

img { border: 0; padding: 0; }

ul, ol { margin: 0; padding: 0 0 0 1em; }
blockquote { margin: 0; padding: 0 0 0 2em; }

hr {
	background: rgba(127, 127, 127, 0.2);
	border: 0;
	height: 1px;
	display: block;
}

.content img { float: none; margin-bottom: .5em; }

.gallery_image_caption {
    margin-top: 1.2rem;
    margin-bottom: 0.5rem;
    font-size: 1.3rem;
	line-height: 1.3;
	font-family: 'Neue Haas Grotesk', Icons;
	font-style: normal;
	font-weight: 400;
	color: rgba(41, 41, 41, 0.3);
}

/**
 * Loading Animation
 */
.loading[data-loading] {
	position: fixed;
	bottom: 8px; 
    left: 8px;
}

/**
 * Editor styles
 */
[data-predefined-style="true"] bodycopy {
	font-size: 1.2rem;
	color: rgb(0, 0, 0);
	font-family: "Neue Haas Grotesk", Icons;
	font-style: normal;
	line-height: 1.5;
	font-weight: 400;
}
[data-predefined-style="true"] bodycopy a {
	color: rgb(0, 0, 0);
	padding-bottom: 0.1em;
	border-bottom: 0px solid rgba(0, 0, 0, 1);
	text-decoration: none;
}
[data-predefined-style="true"] bodycopy a:hover {}

bodycopy a.image-link,
bodycopy a.icon-link,
bodycopy a.image-link:hover,
bodycopy a.icon-link:hover {
	border-bottom: 0;
	padding-bottom: 0;
}

[data-predefined-style="true"] h1 {
	font-family: "Neue Haas Grotesk", Icons;
	font-style: normal;
	font-weight: 500;
	padding: 0;
	margin: 0;
	font-size: 1.6rem;
	line-height: 1.1;
	color: rgb(0, 0, 0);
}
[data-predefined-style="true"] h1 a { color: rgb(0, 0, 0); }

[data-predefined-style="true"] h2 {
	font-family: "Neue Haas Grotesk", Icons;
	padding: 0;
	margin: 0;
	color: rgb(0, 0, 0);
	font-size: 3.7rem;
	line-height: 1.2;
	font-weight: 500;
}
[data-predefined-style="true"] h2 a {
	color: rgb(0, 0, 0);
    border-bottom: 1px solid rgb(41, 41, 41);
}

[data-predefined-style="true"] small {
	display: inline-block;
    font-size: .9rem;
	font-family: "Neue Haas Grotesk", Icons;
	font-style: normal;
 	letter-spacing:.3px;
	font-weight: 500;
	color: rgb(0, 0, 0);
    text-transform: uppercase;
}
[data-predefined-style="true"] small a { color: rgb(0, 0, 0); border-bottom-width: 0em; }

/**
 * Breakpoints
 */
[data-css-preset] .page { background-color: initial /*!page_bgcolor*/; }

.mobile .page,
[data-css-preset].mobile .page {
	position: relative;
	min-height: 10px;
	max-width: 100%;
	width: 100%;
	background-color: transparent /*!page_bgcolor*/;
}

[data-css-preset] .container {
	margin-left: auto /*!content_center*/;
	margin-right: auto /*!content_center*/;
	text-align: left /*!text_left*/;
}
[data-css-preset] body { background-color: rgb(255, 255, 255) /*!body_bgcolor*/; }

[data-css-preset] .container_width { width: 100%/*!content_center*/; }

[data-css-preset] .content_padding {
	padding-top: 2.5rem /*!main_margin*/;
	padding-bottom: 2.5rem /*!main_margin*/;
	padding-left: 2.5rem /*!main_margin*/;
	padding-right: 2.5rem /*!main_margin*/;
}

[data-css-preset] text-limit {
	display: inline-block /*!text_width*/;
	max-width: 66rem/*!text_width*/;
}

/**
 * Thumbnails
 */
div[thumbnails] { justify-content: flex-start; }

[data-css-preset] .thumbnails { background-color: transparent/*!thumbnails_bgcolor*/; }
[data-css-preset] .thumbnails_width { width: 100%/*!thumbnails_width*/; }

[data-css-preset] [thumbnails-pad] {}
[data-css-preset] [thumbnails-gutter] { margin: 1rem/*!thumbnails_padding*/; }

[data-css-preset] [responsive-layout] [thumbnails-pad] { padding: 0.6rem/*!responsive_thumbnails_padding*/; }
[data-css-preset] [responsive-layout] [thumbnails-gutter] { margin: -1.2rem/*!responsive_thumbnails_padding*/; }

.thumbnails .thumb_image {
	outline: 0px solid rgba(0,0,0,.12);
    outline-offset: -1px;
    position: relative;
}

.thumbnails .title {
    font-size: 3.7em;
	color: rgba(22, 22, 22, 1);
	font-family: "Neue Haas Grotesk", Icons;
	font-style: normal ;
	line-height: 1;
    text-align: center;
	font-weight: 410;
}
.thumbnails .tags {
    margin-top: 1.2rem;
    margin-bottom: 0.5rem;
    font-size: 1.3rem;
	line-height: 1.3;
	font-weight: 400;
	color: rgba(0, 0, 0, 0.35);
	font-family: 'Neue Haas Grotesk', Icons;
	font-style: normal;
}
.thumbnails .tags a {
	border-bottom: 0;
    color: rgba(0, 0, 0, 0.35);
    text-decoration: none;
}
.thumbnails .has_title .tags { margin-top: 1.2rem; }

/**
 * Thumbnail Hover
 */
.thumbnails .thumbnail > a { overflow:hidden; position: relative; }
.thumbnails .thumbnail .title {
	background: rgba(255, 255, 255, .9);
    color: rgba(22, 22, 22, 1);
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
}
.thumbnails .title span { margin: auto; display: inline-block; }
.thumbnails .thumbnail:hover .title { opacity: 1; }
body.mobile .thumbnails .thumbnail:hover .title { opacity: 0; }

/**
 * Site Menu
 */
[data-css-preset] #site_menu_button {
    color: rgba(0, 0, 0, 1);
    line-height: 1;
    font-size: 28px /*!site_menu_button*/;
    padding: 6px;
    background: rgba(33, 32, 46, 0);
    position: fixed;
    top: .6rem /*!site_menu_button*/;
	right: .6rem /*!site_menu_button*/;
}
body.mobile #site_menu_button { margin: -6px; font-size: 34px; }
#site_menu_button.custom_icon { width: 40px; height: auto; }
#site_menu_button.active { display: none; }

/**
 * Site Menu Panel
 */
#site_menu {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif, "Sans Serif", Icons;
	background: rgba(0, 0, 0, 1);
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	padding: 20px 30px 90px 30px;
	max-width: 400px;
	min-width: 300px;
	text-align: left;
	display: flex;
	justify-content: flex-start;
}
body.mobile #site_menu { width: 100%; }
#site_menu .page-link a { color: rgba(255, 255, 255, 0.75); }
#site_menu .set-link > a { color: rgba(255, 255, 255, 0.75); font-weight: bold; }
#site_menu a:active { opacity: .7; }
#site_menu a.active { opacity: .4; }
#site_menu .close { display: none; color: rgba(255, 255, 255, 0.4); line-height: .85em; font-size: 45px; }
body.mobile #site_menu .close { display: block; font-size: 50px; line-height: 1em; }
#site_menu .break { height: 28px; }
#site_menu .indent { margin-left: 28px; }

/*
 * Shop Button
 */
[data-css-preset] #shop_button {
	color: rgba(0, 0, 0, 1);
    background: transparent;
	font-size: 40px;
    font-style: normal;
	font-weight: 400;
    line-height: 1;
    position: fixed;
	padding: 6px;
	top: 1.2rem /*!shop_button*/;
	right: 1.2rem /*!shop_button*/;
}
#shop_button.text {
    font-family: "Neue Haas Grotesk", Icons;
	font-size: 2.2rem;
    padding: 0;
    line-height: 1.2;
	font-style: normal;
	font-weight: 400;
}
#shop_button.custom_icon { width: 40px; height: auto; }
body.mobile #shop_button:not(.text) { margin: -6px; font-size: 46px; }

/*
 * Shop Product Widget
 */
.shop_product {
    width: 100%;
	max-width: 22rem;
    position: relative;
    display: block;
}
.shop_product .price {
	font-family: "Neue Haas Grotesk", Icons;
	font-style: normal;
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1;
	color: rgba(0, 0, 0, 1);
    display: block;
    margin-bottom: 1rem;
}
.shop_product .dropdown {
    font-family: "Neue Haas Grotesk", Icons;
    color: rgba(0, 0, 0, 1);
    font-size: 1.4rem;
    display: inline-block;
	width: 100%;
    border: 1px solid rgba(0,0,0,.2);
    background:  white url(https://static.cargo.site/assets/images/select-line-arrows.svg) no-repeat right;
    margin-bottom: 1rem;
    line-height: 1.2;
    padding: .8rem 2.5rem .8rem 1rem;
}
.shop_product .button {
    font-family: "Neue Haas Grotesk", Icons;
	font-size: 1.4rem;
    background: rgba(0, 0, 0, 1);
    color: rgba(255,255,255,1);
    flex: 0 0 50%;
    text-align: left;
    display: inline-block;
	line-height: 1;
    padding: .8rem 1rem .9rem;
}

/*
 * Image Zoom
 */
.content img.image-zoom:active { opacity: .7; }

/**
 * Quick View
 */
[data-css-preset] .quick-view {
    padding-top: 2.5rem /*!quick_view_padding*/;
    padding-bottom: 2.5rem /*!quick_view_padding*/;
    padding-left: 2.5rem /*!quick_view_padding*/;
    padding-right: 2.5rem /*!quick_view_padding*/;
    height: 100% /*!quick_view_height*/;
    width: 100% /*!quick_view_width*/;
}
body.mobile .quick-view { width: 100%; height: 100%; margin: 0; }
[data-css-preset] .quick-view-background { background: rgba(0, 0, 0, 1) /*!quick_view_bgcolor*/; }

.quick-view-caption {
    font-family: "Neue Haas Grotesk", Icons;
    transition: 100ms opacity ease-in-out;
    position: absolute;
    bottom: 0; left: 0; right: 0;
    margin: 3.5rem 0;
    text-align: center;
    font-size: 1.3rem;
	font-style: normal;
	font-weight: 400;
    line-height: 1.3;
}
.quick-view-caption span {
    padding: 0.5rem 1rem;
    display: inline-block;
    background: rgba(0,0,0,0.5);
    color: white;
}

/** 
 * Image Gallery Navigation Arrows 
 */
.image-gallery-navigation .left-arrow,
.image-gallery-navigation .right-arrow {
    height: 36px; width: 36px;
}
.image-gallery-navigation .left-arrow .inner-color,
.image-gallery-navigation .right-arrow .inner-color {
    stroke: #fff; stroke-width: 1.5px;
}
.image-gallery-navigation .left-arrow .outer-color,
.image-gallery-navigation .right-arrow .outer-color {
    stroke: rgba(0, 0, 0, 0.6); stroke-width: 2.5px;
}

/**
 * Wallpaper Backdrop Navigation Arrows 
 */
.wallpaper-navigation .left-arrow,
.wallpaper-navigation .right-arrow {
   width: 36px; height: 36px;
}
.wallpaper-navigation .left-arrow .inner-color,
.wallpaper-navigation .right-arrow .inner-color {
   stroke: #fff; stroke-width: 1.5px;
}
.wallpaper-navigation .left-arrow .outer-color,
.wallpaper-navigation .right-arrow .outer-color {
    stroke: rgba(0, 0, 0, 0.6); stroke-width: 2.5px;
}

/**
 * Feed
 */
.feed .content_container .page { border-top: 0px dashed rgba(0, 0, 0, 0.2); }
.feed .content_container .page_container:first-child .page { border-top: 0; }

/*
 * Audio Player
 */
.audio-player {
    max-width: 36rem;
    height: 3.3rem;
    outline: 1px solid rgba(0,0,0,0.15);
    color: rgba(0, 0, 0, 0.6);
    background: #fff;
    font-size: 1.2rem;
    line-height: 1.3;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif, "Sans Serif", Icons;
    font-style: normal;
    font-weight: 400;
    text-align: left;
    margin: 1px 1px 1em 1px;
}
body.mobile .audio-player { max-width: 100%; }
.audio-player .separator { width: 1px; background-color: rgba(0,0,0,0.15); }
.audio-player .button { background: transparent; cursor: black; }
.audio-player .icon { fill: rgba(0, 0, 0, 1); padding: 30%; width: 100%; margin: auto; }
.audio-player .buffer { background: rgba(0,0,0,0.03); }
.audio-player .progress { background: rgba(0,0,0,0.1); }
.audio-player .progress-indicator {
    border: 1px solid rgba(0, 0, 0, 1);
    width: 1px; height: 100%;
    right: 0; position: absolute; cursor: black;
}
.audio-player .note-icon { height: 100%; width: 3.8rem; padding: 1rem; fill: rgba(0, 0, 0, 0.5); }
.audio-player .current-time { padding-left: 1rem; }
.audio-player .total-time { padding-right: 1rem; }

[data-css-preset] .content_padding {
	padding-top: 0.7rem /*!main_margin*/;
	padding-bottom: 0.7rem /*!main_margin*/;
	padding-left: 0.7rem /*!main_margin*/;
	padding-right: 0.7rem /*!main_margin*/;
}
[data-css-preset] .content_padding {
	padding-top: 1rem;
	padding-bottom: 1rem;
	padding-left: 1rem;
	padding-right: 1rem;
}

.desktop-only { display: block; }
.mobile-only { display: none; }
@media (max-width: 767px) {
  .desktop-only { display: none; }
  .mobile-only { display: block; }
}

.site-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.site-nav a { text-decoration: none; }
.nav-right a { margin-left: 15px; }

/* === Rounded corners for homepage project tiles (Cargo) === */
.thumbnails .thumbnail > a {
  display: block;
  border-radius: 20px !important;
  overflow: hidden !important;
  position: relative;
  clip-path: inset(0 round 20px);       /* match 20px radius */
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}
.thumbnails .thumb_image,
.thumbnails .thumb_image img,
.thumbnails .thumb_image video,
.thumbnails picture,
.thumbnails picture img {
  border-radius: inherit !important;
  display: block;
}
.thumbnails .thumbnail .title {
  border-radius: inherit !important;
  overflow: hidden;
}
.thumbnails .thumbnail {
  border-radius: 20px !important;
  overflow: visible;
}

/* === Proper spacing between project tiles (override) === */
[thumbnails-gutter] { margin: -0.5rem !important; }   /* desktop outer edge */
[thumbnails-pad]    { padding: 1rem !important; }     /* tile gaps */

/* Mobile override – align to mobile page padding (1rem) */
@media (max-width: 767px) {
  [thumbnails-gutter] {
    margin-left: -1rem !important;
    margin-right: -1rem !important;
  }
  [thumbnails-pad] { padding: 0.75rem !important; }
}

/* Fullscreen landing page (legacy block – safe to keep if used elsewhere) */
.landing {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
.landing-video {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: 0;
  pointer-events: none;
}
.landing-overlay {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1; text-align: center; color: #fff;
}
.landing-overlay h1 { font-size: 3rem; margin-bottom: 1.5rem; }
.enter-button {
  font-size: 1.2rem;
  padding: 0.8rem 2rem;
  background: #000; color: #fff;
  text-decoration: none;
  border-radius: 9999px;
  transition: background 0.3s, color 0.3s;
}
.enter-button:hover { background: #ffdd00; color: #000; }

/* Special wrapper for the tall 1440x5100 Vimeo */
.gm-ar-tall {
  position: relative;
  width: 70%;
  margin: 0 auto;
  padding-top: calc(354.1667% * 0.7);
  line-height: 0;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  border-radius: 20px;
}
.gm-ar-tall iframe {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  border: 0; display: block;
}
/* Mobile: full width */
@media (max-width: 767px) {
  .gm-ar-tall {
    width: 100%;
    padding-top: 354.1667%;
    border-radius: 20px; /* px fixed */
  }
}

/* ===== HERO VIDEO — VIMEO COVER (no bars), MOBILE 16:9 ===== */

:root { --nav-height: 0px; } /* set this if your nav is fixed */

/* Hero container (desktop/tablet fills viewport height under nav) */
.home-hero {
  position: relative;
  width: 100%;
  height: calc(100vh - var(--nav-height));
  overflow: hidden;
  margin: 0;
  padding: 0;
  background: #000; /* safe backdrop while player boots */
}

/* Positioning wrapper */
.home-hero__video {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

/* Vimeo iframe — COVER trick: oversize + center = no bars */
.home-hero__iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 0;
  pointer-events: none !important; /* keep the overlay clickable */
  z-index: 0;

  /* Start sized by width (16:9) */
  width: 100vw;
  height: 56.25vw;            /* 9/16 = 0.5625 */

  /* If viewport is taller than 16:9, switch to sizing by height */
  min-width: 177.78vh;        /* 16/9 * 100vh */
  min-height: 100vh;

  /* Small perf wins */
  will-change: transform;
  backface-visibility: hidden;
}

/* Full hero click-through to #projects (optional) */
.home-hero__overlay-link {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  text-indent: -9999px;
}

/* ===== Mobile: show a 16:9 box (not fullscreen) so projects are visible ===== */
@media (max-width: 767px) {
  .home-hero {
    height: auto;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: #000;
  }

  .home-hero__video {
    position: relative;
    width: 100vw;
    height: 0;
    padding-top: 56.25%;      /* maintain 16:9 */
    overflow: hidden;
  }

  .home-hero__iframe {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    transform: none;          /* no centering needed in 16:9 box */
    pointer-events: none !important;
  }
}

/* Smooth in-page scrolling for #projects on home */
html { scroll-behavior: smooth; }