/**
 * Content
 */

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

a:active {
	opacity: 0.7;
}

.page a.active {
	opacity: 0.4;
}

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: 4.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: 1rem;
	font-weight: 400;
	color: rgba(0, 0, 0, 0.9);
	font-family: "Neue Haas Grotesk", Icons;
	font-style: normal;
	line-height: 1.3;
    letter-spacing: 0.01em;
}

[data-predefined-style="true"] bodycopy a {
	color: rgba(0, 0, 0, 0.9);
	padding-bottom: 0.1em;
	border-bottom: 1px solid rgba(0, 0, 0, 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: "Neue Haas Grotesk", Icons;
	font-style: normal;
	font-weight: 400;
	padding: 0;
	margin: 0;
	font-size: 5.5rem;
	line-height: 1.2;
	color: rgba(0, 0, 0, 0.9);
    letter-spacing: 0.01em;
	}

[data-predefined-style="true"] h1 a {
	color: rgba(0, 0, 0, 0.9);
    border-bottom: 1px solid rgb(41, 41, 41);
}

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

[data-predefined-style="true"] h2 a {
	color: rgba(0, 0, 0, 0.9);
    border-bottom: 1px solid rgb(41, 41, 41);
}

[data-predefined-style="true"] small {
	display: inline-block;
	font-size: 1.4rem;
	line-height: 1.3;
	font-family: "Neue Haas Grotesk", Icons;
	font-style: normal;
	font-weight: 400;
	color: rgba(0, 0, 0, 0.9);
}

[data-predefined-style="true"] small a {
	color: rgba(0, 0, 0, 0.9);
	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;
    min-height: 0px; /*jx*/
	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: rgb(255, 255, 255) /*!body_bgcolor*/;
}

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

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


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

/**
 * Thumbnails
 */

div[thumbnails] {
	justify-content: flex-start;
    background-color: #000;
}

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

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

[data-css-preset] [thumbnails-pad] {
    padding: 0rem/*!thumbnails_padding*/;
}

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

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

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

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

.thumbnails .title {
    margin-top: 1.2rem;
    margin-bottom: 0.1rem;
    font-size: 2.1rem;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.9);
	font-family: "Helvetica Neue", Helvetica, sans-serif, "Helvetica Neue Italic", Icons;
	font-style: italic;
	line-height: 1.3;
}


.thumbnails .tags {
    margin-top: 1.2rem;
    margin-bottom: 0.5rem;
    font-size: 1.3rem;
	line-height: 1.3;
	font-weight: 700;
	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 {
	position: relative;
}

.thumbnails .thumbnail .title {
	background: rgba(0, 0, 0, 0);
    padding: 0;
    margin: 0;
    color: rgba(255, 255, 255, 1);
    align-content: center;
    display: flex;
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 9;
    opacity: 0;
}

.thumbnails .title span {
	margin: auto;
	display: inline-block;
}

.thumbnails .thumbnail:hover .thumb_image{
    opacity: 0.4;
    transition: 0.5s;
}

.thumbnails .thumbnail:hover .title {
    opacity: 1;
    transition: 0.5s;
}

body.mobile .thumbnails .title {
opacity: 1;
}

/* === OVERRIDE: títulos de proyectos Courier New 11px / 1.4 line-height, blanco === */

.thumbnails .title,
.thumbnails .title a,
.thumbnails .title span {
  font-family: 'Courier New', monospace !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
  font-style: normal !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* === OVERRIDE: ajustar main container blanco (más fino, sin tapar imagen) === */

[data-css-preset] .content_padding,
.container.content_padding,
.page .content_padding {
  padding-top: 0.6rem !important;   /* antes 1rem, más fino */
  padding-bottom: 0.6rem !important;
}

[data-css-preset] .container {
  background-color: #ffffff !important; /* mantiene el blanco */
}

/* === FIX HEADER MOBILE (sin cambiar márgenes globales ni layout de desktop) === */

/* 1) Botón de menú siempre visible y clickeable en mobile */
@media (max-width: 768px) {
  #site_menu_button {
    position: fixed !important;
    top: max(.6rem, env(safe-area-inset-top)) !important;
    right: .6rem !important;
    z-index: 9999 !important;
    pointer-events: auto !important;
  }

  /* El panel del menú por debajo del botón, pero por encima del contenido */
  #site_menu {
    z-index: 9998 !important;
  }
}

/* 2) Evitar que el container blanco “pise” el header/botón en mobile */
@media (max-width: 768px) {
  .page .content_padding,
  .container.content_padding,
  [data-css-preset] .content_padding {
    padding-top: calc(0.6rem + env(safe-area-inset-top)) !important; /* un pelín más de aire */
    padding-bottom: 0.6rem !important;
  }
}

/* 3) Header de contacto (tu bloque courier-text) apilado y limpio en mobile
   - No cambia posiciones en desktop
   - En mobile apila columnas y evita desbordes */
@media (max-width: 768px) {
  .courier-text {
    display: block !important;
  }
  .courier-text [grid-col] {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    margin-bottom: 4px !important; /* micro respiro sin afectar márgenes globales */
  }
  .courier-text a {
    display: inline-block;
    line-height: 1.4 !important; /* mantiene legibilidad */
    text-decoration: none;
  }
}

/* 4) Evitar desbordes/zoom raro del header en mobile (iOS/Android) */
@media (max-width: 768px) {
  html, body {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
    overflow-x: hidden !important;
  }
}
/* === Ajuste visual: bajar el primer proyecto en mobile === */
@media (max-width: 768px) {
  /* detecta el primer bloque de proyectos inmediatamente después del header */
  div[thumbnails]:first-of-type {
    margin-top: 80px !important; /* ⚙️ podés probar 32–48px según cuánto necesites bajarlo */
  }
}/* === Segunda línea debajo del título de cada proyecto (aparece con hover) === */
.thumbnails .subtitle {
  display: block;
  margin-top: 4px;
  font-family: "Courier New", monospace;
  font-size: 6px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.8);
  opacity: 0;
  transition: opacity 0.3s ease;
  text-transform: none;
  letter-spacing: 0.01em;
}

/* Mostrar el subtítulo sólo al hacer hover en el proyecto */
.thumbnails .thumbnail:hover .subtitle {
  opacity: 1;
}

/* === Subtítulo usando TAGS debajo del título del thumbnail === */
.thumbnails .tags {
  position: absolute;
  top: calc(50% + 14px);        /* distancia bajo el título; si hace falta, ajustá 10–18px */
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;

  /* estilo de texto */
  font-family: "Courier New", monospace !important;
  font-size: 9px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.85) !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;

  /* visibilidad por interacción */
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* Mostrar subtítulo (tags) al hover del thumbnail en desktop */
.thumbnails .thumbnail:hover .tags { opacity: 1; }

/* En mobile, que se vea siempre */
@media (max-width: 768px) {
  .thumbnails .tags { opacity: 1; }
}

/* Apariencia de los enlaces de tag como texto plano */
.thumbnails .tags a {
  color: inherit !important;
  text-decoration: none !important;
  border: 0 !important;
  display: inline;  /* que no salten de línea salvo que haga falta */
  padding: 0;
  margin: 0;
}