/* Desktop (3 cards in one row with gaps) */
.three-cards {
  display: flex !important;
  gap: 24px;                /* space between cards */
  align-items: stretch;
  flex-wrap: nowrap;
}

.three-cards > [grid-col] {
  flex: 1 1 0;              /* allow growing/shrinking */
  min-width: 0;             /* fixes text breaking inside flex items */
}

/* Tablet: 2 columns */
@media (max-width: 1024px) {
  .three-cards {
    flex-wrap: wrap;
  }
  .three-cards > [grid-col] {
    flex: 1 1 calc(50% - 12px);  /* 2 columns with gap */
  }
}

/* Mobile: 1 column */
@media (max-width: 640px) {
  .three-cards > [grid-col] {
    flex: 1 1 100%;   /* full width */
  }
}

.np-btn {
  background-color: #111;
    display: inline-block;
    padding: 11px 80px;
    border-radius: 20px;
    border: solid 1px white;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

.np-btn:hover {
  background-color: #2d2d2d;
    display: inline-block;
    padding: 11px 80px;
    border-radius: 20px;
    border: solid 1px white;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}


html {
  scroll-behavior: smooth;
}

.fop-tag{
    background-color: #fc6d14;
    display: inline-block;
    padding: 8px 28px;
    border-radius: 8px;
    border: solid 1px #fc6d14;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

.vang-tag{
    background-color: #8F1B23
;
    display: inline-block;
    padding: 8px 28px;
    border-radius: 8px;
    border: solid 1px #8F1B23;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

.ds-tag{
    background-color: #494D6B;
    display: inline-block;
    padding: 8px 28px;
    border-radius: 8px;
    border: solid 1px #494D6B;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

.doc-tag{
    background-color: #09CFD6;
    display: inline-block;
    padding: 8px 28px;
    border-radius: 8px;
    border: solid 1px #09CFD6;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}
.surfable-tag{
	
    background-color: #6696ea;
    display: inline-block;
    padding: 8px 28px;
    border-radius: 8px;
    border: solid 1px #6696ea;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}
.key-fact{
	padding: 8px 28px;
    border-radius: 8px;
    border: solid 1px #1CDF6C;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}
.sol-tag {
	background-color: #1CDF6C;
    display: inline-block;
    padding: 8px 28px;
    border-radius: 8px;
    border: solid 1px #1CDF6C;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}
.tag-btn {
  background-color: #111;
    display: inline-block;
    padding: 4px 16px;
    border-radius: 30px;
    border: solid 1px white;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

.intro-btn {
   background-color: #0e321d;
    display: inline-block;
    padding: 4px 16px;
    border-radius: 30px;
    border: solid 1px #1CDF6C;;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

.test-btn {
 background-color: #111;
    display: inline-block;
    padding: 8px 30px;
    border-radius: 10px;
    border: solid 2px rgba(17, 17, 17, 1);
    cursor: pointer;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

.test-btn:hover {
    background-color: #111;
    padding: 8px 30px;
    border-radius: 15px;
    border: solid 2px #1CDF6C;
    cursor: pointer;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

.card-btn {
 background-color: #111;
    display: inline-block;
    padding: 8px 30px;
    border-radius: 18px;
    border: solid 1px #2e2e2e;
    cursor: pointer;
}

.card-btn:hover {
 transform: scale(1.02); 
 background-color: #111;
 border: solid 1px #fff;
}

.hdr-btn {
 background-color: #111;
    display: inline-block;
    padding: 8px 30px;
    border-radius: 30px;
    border: solid 1px #111;
    cursor: pointer;
}

.hdr-btn:hover {
 transform: scale(1.35); 
 background-color: #04170c;
 border: solid 1px #1cdf6c;
}

.page a.active {
	color: #1cdf6c;
}

.custom-btn {
 background-color: #0e4d28;
    display: inline-block;
    padding: 16px 32px;
    border-radius: 20px;
    border: solid 3.6px #1CDF6C;
    cursor: pointer;
}

.custom-btn:hover {
 background-color: #111111; 
 border: solid 3.6px #1CDF6C;
}

#toolset {
	display: none;
}

body {
	background-color: #fff;
	color: #000;
}

a:active {
    opacity: .7;
}

.page a.active {
	
}

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 2.5em;
}

blockquote {
	margin: 0;
	padding: 0 0 0 1em;
}

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

.content img {
	float: none;
	margin-bottom: 0;
    outline-offset: -1px;
    vertical-align: bottom;
}

[image-gallery="slideshow"] {
    margin-bottom: 2rem;
}

.gallery_image_caption {
    font-size: 1.2rem;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.5);
	font-family: "Diatype Variable", Icons;
	font-style: normal;
	line-height: 1.2;
    text-align: left;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
}


/**
 * Loading Animation
 */

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

/**
 * Editor styles
 */

[data-predefined-style="true"] bodycopy {
	font-size: 1.4rem;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.48);
	font-family: Inter, Icons;
	font-style: normal;
	line-height: 1.3;
    letter-spacing: 0.12rem;
}

[data-predefined-style="true"] bodycopy a {
	color: rgba(255, 255, 255, 0.9);
	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: Inter, Icons;
	font-style: normal;
	font-weight: 400;
	padding: 0;
	margin: 0;
	font-size: 7.2rem;
	line-height: 1;
	color: rgba(255, 255, 255, 1);
    letter-spacing: 0.3rem;
}

[data-predefined-style="true"] h1 a {
	color: rgba(255, 255, 255, 1);
}

[data-predefined-style="true"] h2 {
	font-family: Inter, Icons;
	font-style: normal;
	font-weight: 400;
	padding: 0;
	margin: 0;
	color: rgba(255, 255, 255, 0.9);
	font-size: 2.2rem;
	line-height: 1.2;
	}

[data-predefined-style="true"] h2 a {
	color: rgba(255, 255, 255, 0.9);
}

[data-predefined-style="true"] small {
	display: inline-block;
	font-size: 1rem;
	line-height: 1.6;
	font-family: Inter, Icons;
	font-style: normal;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.64);
    letter-spacing: 0;
}

[data-predefined-style="true"] small a {
	color: rgba(255, 255, 255, 0.8);
	border-bottom-width: 0em;
}


/**
 * Breakpoints
 */


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

.mobile .page,
[data-css-preset].mobile .page {
	position: relative;
	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: center /*!text_center*/;
}

[data-css-preset] body {
	background-color: #111/*!body_bgcolor*/;
}

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

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

/**
 * 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] {
    padding: 0.75rem/*!thumbnails_padding*/;
}

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

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

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

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

.thumbnails .title {
    margin-top: 1.0rem;
    margin-bottom: 0.8rem;
    font-size: 1.5rem;
	font-weight: 400;
	color: rgba(0, 0, 0, 0.85);
	font-family: Diatype, Icons;
	font-style: normal;
	line-height: 1.3;
}

.thumbnails .tags {
    margin-top: .8rem;
    margin-bottom: 1.5rem;
    font-size: 1rem;
	font-weight: 400;
	color: rgba(0, 0, 0, 0.6);
	font-family: "Monument Grotesk Mono", Icons;
	font-style: normal;
	line-height: 1.2;
}

.thumbnails .tags a {
	border-bottom: 0;
    color: rgba(0, 0, 0, 0.6);
    text-decoration: none;
}

.thumbnails .has_title .tags {
	margin-top: 0rem;
}

/**
 * Site Menu Button
 */

[data-css-preset] #site_menu_button {
    color: rgba(0, 0, 0, 0.75);
    line-height: 1;
    font-size: 22px /*!site_menu_button*/;
    padding: 6px;
    line-height: 1;
    background: rgba(33, 32, 46, 0);
    position: fixed;
	right: 3rem /*!site_menu_button*/;
	top: 3rem /*!site_menu_button*/;
}

body.mobile #site_menu_button {
	margin: -6px;
    font-size: 24px;
}

#site_menu_button.custom_icon {
	width: 40px;
    height: auto;
}

#site_menu_button.active {
	display: none;
}


/**
 * Site Menu
 */

#site_menu {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif, "Sans Serif", Icons;
	background: rgba(20, 20, 20, 0.95);
	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, 0.85);
    background: transparent;
	font-size: 32px;
    font-style: normal;
	font-weight: 400;
    line-height: 1;
    position: fixed;
	padding: 6px;
	top: 1rem /*!shop_button*/;
	left: 1.5rem /*!shop_button*/;
}

#shop_button.text {
    font-size: 1.6rem;
	font-weight: 400;
	color: rgba(0, 0, 0, 0.75);
	font-family: Diatype, Icons;
    padding: 0;
    line-height: 1.3;
	font-style: normal;
}

#shop_button.custom_icon {
	width: 40px;
    height: auto;
}

body.mobile #shop_button:not(.text) {
	margin: -6px;
    font-size: 40px;
}

/*
 * Shop Product Widget
 */

.shop_product {
    width: 100%;
	max-width: 22rem;
    position: relative;
    display: block;
}

.shop_product .price {
	font-family: Diatype, Icons;
	font-size: 1.6rem;
	line-height: 1;
	color: rgba(0, 0, 0, 0.75);
    display: block;
    margin-bottom: 1rem;
	font-style: normal;
	font-weight: 400;
}

.shop_product .dropdown {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif, "Sans Serif", Icons;
    font-size: 1.2rem;
    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: .7rem 2.5rem .7rem 1rem;
	font-style: normal;
	font-weight: 400;
    color: rgba(0, 0, 0, 0.75);
}

.shop_product .button {
	font-family: Diatype, Icons;
	font-size: 1.2rem;
    background: rgba(0, 0, 0, 0.75);
    color: rgba(255,255,255,1);
    flex: 0 0 50%;
    text-align: left;
    display: inline-block;
	line-height: 1;
    padding: .8rem 1rem .9rem;
	font-style: normal;
	font-weight: 700;
}

/*
 * 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(255, 255, 255, 1) /*!quick_view_bgcolor*/;
}

.quick-view-caption {
    font-family: "Monument Grotesk Mono", Icons;
    transition: 100ms opacity ease-in-out;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 3.5rem 0;
    text-align: center;
    font-size: 1rem;
	font-style: normal;
	font-weight: 400;
    line-height: 1.2;
}

.quick-view-caption span {
    padding: 0.5rem 1rem;
    display: inline-block;
    background: rgba(0,0,0,0.4);
    color: white;
}


/**
 * Quick View Navigation 
 */

.quick-view-navigation .left-arrow {
    left: 10px;
}

.quick-view-navigation .right-arrow {
    right: 10px;
}

.quick-view-navigation .left-arrow,
.quick-view-navigation .right-arrow {
    /* Change height/width together to scale */
    height: 36px;
    width: 36px;
}

.quick-view-navigation .left-arrow .inner-color,
.quick-view-navigation .right-arrow .inner-color {
    stroke: #fff;
    stroke-width: 0px;
}

.quick-view-navigation .left-arrow .outer-color,
.quick-view-navigation .right-arrow .outer-color {
    stroke: rgba(0, 0, 0, 0.85);
    stroke-width: 2px;
}

.quick-view-navigation .close-button {  
    top: 10px;
    right: 10px;
    /* Change height/width together to scale */
    width: 36px;
    height: 36px;
}

.quick-view-navigation .close-button .inner-color {
    stroke: #fff;
    stroke-width: 0px;
}

.quick-view-navigation .close-button .outer-color {
    stroke: rgba(0, 0, 0, 0.85);
    stroke-width: 2px;
}

/** 
 * Image Gallery Navigation Arrows 
 */
 
.image-gallery-navigation .left-arrow,
.image-gallery-navigation .right-arrow {
    /* Change height/width together to scale */
    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 {
   /* Change height/width together to scale */
   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.4rem;
    line-height: 1.3;
	font-family: Diatype, Icons;
    font-style: normal;
    font-weight: 500;
    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: pointer;
    fill: rgba(0, 0, 0, 0.85);
}

.audio-player .icon {
    fill: rgba(0, 0, 0, 0.85);
    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, 0.7);
    width: 1px;
    height: 100%;
    right: 0;
    position: absolute;
    cursor: ew-resize;
}

.audio-player .note-icon {
    height: 100%;
    width: 3.8rem;
    padding: 1rem;
    fill: rgba(0, 0, 0, 0.6);
}

.audio-player .current-time {
    padding-left: 1rem;
}

.audio-player .total-time {
    padding-right: 1rem;
}

:root {
  --bg-page: #0f0f10;
  --tile: #1a1a1c;
  --text: #ffffff;
  --muted: #cfcfd3;
  --ring: rgba(255,255,255,.08);
  --radius: 18px;
}

/* =========================
   BENTO GRID
   ========================= */
.bento {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;

  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-flow: row dense;  /* <-- Fills in gaps on tablet */
  gap: 18px;

  background: var(--bg-page);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color: var(--text);
  box-sizing: border-box;
}

/* =========================
   TILE ITEM
   ========================= */
.bento-item {
  position: relative;
  grid-column: span 4;
  min-height: 260px;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--tile);
  box-shadow: 0 0 0 1px var(--ring) inset;
  isolation: isolate;

  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s;
}

/* Optional: wider tile */
.bento-item.span-2 {
  grid-column: span 8;
  min-height: 300px;
}

/* =========================
   BACKGROUND IMAGE + GRADIENT
   ========================= */

/* Image set using CSS variable: --bg:url(...) */
.bento-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: brightness(0.85) contrast(1.05);
  transition: filter 0.35s ease, transform 0.35s ease;
  z-index: 0;
}

/* Gradient overlay for text readability */
.bento-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.69) 0%, rgba(0,0,0,0) 60%);
  z-index: 1;
  pointer-events: none;
}

/* =========================
   CONTENT
   ========================= */
.bento-index {
  position: absolute;
  top: 12px;
  left: 16px;
  z-index: 2;
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.06em;
  opacity: 0.9;
}

.bento-content {
  position: absolute;
  inset: auto 20px 22px 20px;
  z-index: 2;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}

.bento-content h3 {
  margin: 0 0 8px 0;
  font-size: clamp(28px, 5vw, 48px);
  line-height: 1.05;
  letter-spacing: 0.01em;
  color: #fff;
}

.bento-content p {
  margin: 0;
  color: var(--muted);
  font-size: clamp(14px, 2.2vw, 18px);
  line-height: 1.4;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

/* =========================
   RESPONSIVE BREAKPOINTS
   ========================= */

/* Tablet: 2 tiles per row */
@media (max-width: 1024px) {
  .bento {
    grid-auto-flow: row dense;
  }

  .bento-item {
    grid-column: span 6;
  }

  .bento-item.span-2 {
    grid-column: span 12;  /* Optional: wide tiles go full-width */
  }
}

/* Mobile: 1 tile per row */
@media (max-width: 640px) {
  .bento-item,
  .bento-item.span-2 {
    grid-column: span 12;
    aspect-ratio: 16 / 10;
    min-height: unset;
  }
}

/* =========================
   REDUCED MOTION
   ========================= */
@media (prefers-reduced-motion: reduce) {
  .bento-item {
    transition: none;
  }

  .bento-item:hover {
    transform: none;
    box-shadow: 0 0 0 1px var(--ring) inset;
  }

  .bento-item:hover::before {
    filter: brightness(0.85) contrast(1.05);
  }
}

