/*font-family: "source-han-sans-sc-variable", sans-serif;
font-variation-settings: "wght" 250;*/

/*font-family: "source-han-serif-cn-subset", sans-serif;
font-weight: 400;
font-style: normal;*/
/*font-family: "source-han-serif-cn-subset", sans-serif;
font-weight: 700;
font-style: normal;*/

/* RESET (minimal) */
* { box-sizing: border-box; }
body { margin: 0; }

/* LANDING BASE */
body.landing{
  background: #fff;
  color: #303030;
  min-height: 100vh;
  font-family: "source-sans-3", sans-serif;
}

/* GRID */
.landing-grid{
  width: min(1400px, calc(100% - 80px));
  margin: 0 auto;
  min-height: 100vh;

  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
}

/* LEFT COLUMN */
.landing-left{
  display: grid;
  grid-template-rows: auto 1fr auto;
}

/* TOP */
.landing-top{
  padding-top: 40px;
}

.landing-url{
  font-size: 16px;
}

/* TITLE AREA */
.landing-title{
  display: grid;
  /*align-content: center;*/
  gap: 12px;
}

.landing-left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;   /* ← THIS is key */
}

.landing-title {
  text-align: left;
}


body.landing h1{
  font-family: "urbana", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 96px;
  color: #494949 !important;
}

/* ANIMATION */
@keyframes h1Fade{
  from{
    opacity: 0;
    transform: translateY(8px);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}

/* DIVIDER */
.divider{
  width: 140px;
  height: 1px;
  background: #b0b0b0;
}

/* SUBTITLE */
.landing-subtitle{
  font-family: "source-sans-3", sans-serif;
  font-weight: 300;
  font-style: italic;
  font-size: 14px;
  margin: 0;
}

/* LANDING — languages closer to title */
.lang-actions{
  margin-top: -70px;
  display: flex;
  gap: 24px;
  justify-content: flex-end;
}

.lang-actions a{
  font-size: 14px;
  font-style: italic;
  color: #b33;
  text-decoration: none;
  transition: opacity .25s ease;
}

.lang-actions a:hover{
  opacity: .6;
}


/* BOTTOM */
.landing-bottom{
  padding-bottom: 40px;
  font-size: 16px;
  line-height: 1.4;
}

/* RIGHT COLUMN */
.landing-right{
  padding: 40px 0;
}

.landing-right-text{
  font-family: "source-sans-3", sans-serif;
  font-size: 88px;
  line-height: .92;
  font-weight: 300;
  text-align: right;
}

/* SOCIAL */
/* SOCIAL — move to LEFT */
/* SOCIAL — align with landing grid */
.social-links{
  position: fixed;
  left: calc((100vw - min(1400px, calc(100vw - 80px))) / 2);
  bottom: 44px;

  display: grid;
  gap: 6px;
  text-align: left;
}



.social-links a{
  font-size: 18px;
  text-decoration: none;
  color: #303030;
  transition: color .25s ease;
}

.social-links a:hover{
  color: #21BCFF;
}


.social-links a:hover{
  font-size: 18px;
  text-decoration: none;
  color: #21BCFF;
}

/* MOBILE */
@media (max-width: 900px){
  .landing-grid{
    grid-template-columns: 1fr;
  }

  .landing-right-text{
    font-size: 56px;
    text-align: left;
  }
}

/* LANDING — center left content vertically */
body.landing .landing-left{
  display: flex;
  align-items: center;     /* vertical centering */
}

/* ensure title block is the centered element */
body.landing .landing-title{
  align-content: initial;  /* reset previous grid behavior */
}
body.landing .divider{
  display: none;
}
/* LANDING — vertically center the right-side text */
body.landing .landing-right{
  display: flex;
  align-items: center;   /* vertical centering */
}

/* LANDING — right vertical text (presencia sin acceso) */
body.landing .landing-right-text{
  font-family: "urbana", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 96px;
  color: #494949 !important;
  text-align: center;
  line-height: 1.0;      /* keeps the stacked rhythm tight */
  margin: 0;              /* IMPORTANT: remove inherited margins */
}

/* LANDING — languages aligned to the RIGHT edge of the title */
body.landing .landing-title{
  width: fit-content;        /* shrink-wrap to the title width */
}

/* LANDING — language buttons (FINAL) */
body.landing .lang-actions{
  /*margin-top: 12px;           /* about 10px below title; tweak 4–10 */
  display: flex;
  gap: 24px;
  justify-content: flex-end; /* right aligned under title */
}

body.landing .lang-actions a{
  font-family: "source-sans-3", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 18px;

  color: #494949;
  text-decoration: none;

  transition: color .2s ease, opacity .2s ease;
}

body.landing .lang-actions a:hover{
  color: #21BCFF;
  opacity: 1;
}

/* TEMP — hide social links */
body.landing .social-links{
  display: none;
}


/* LANDING — default (desktop/tablet): no overlap */
body.landing .lang-actions{
  margin-top: -20px !important;   /* adjust 16–40 */
}

/* LANDING — mobile only: pull it closer if you want */
@media (max-width: 480px){
  body.landing .lang-actions{
    margin-top: 0px !important; /* your mobile tuning */
  }
}

/* LANDING — lock title block to its content width and right-align everything */
body.landing .landing-title{
  width: fit-content !important; /* shrink-wrap to title width */
  margin: 0 auto !important;     /* keep the whole block centered on the page */
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important; /* RIGHT edge alignment */
  text-align: right !important;
}

body.landing .landing-title h1{
  margin: 0 !important;
}

/* Author: single space below title, thinner + smaller */
body.landing .landing-title h2{
  margin: 8px 0 0 0 !important;
  font-family: "source-sans-3", sans-serif !important;
  font-weight: 300 !important;
  font-size: 20px !important;
  color: #494949 !important;
}

/* Language menu: sits under author, aligned to the same right edge */
body.landing .landing-title .lang-actions{
  margin-top: 10px !important;  /* adjust */
  align-self: flex-end !important;
}


/* ENF OF LANDING CSS FOR DESKTOP - DONT TOUCH ANYTHING ABOVE */

/* ===== LANDING FINAL ALIGNMENT (BLOCK LEFT / TEXT RIGHT / TIGHT LEADING) ===== */

/* Position the whole title block on the LEFT side */
body.landing .landing-left{
  display: flex !important;
  justify-content: center !important;   /* vertical centering */
  align-items: flex-start !important;   /* push block to LEFT */
  padding-left: 60px !important;        /* browser margin (adjust 40–100) */
}

/* Title container */
body.landing .landing-title{
  width: fit-content !important;
  margin: 0 !important;

  display: flex !important;
  flex-direction: column !important;

  align-items: flex-end !important;     /* RIGHT align internal elements */
  text-align: right !important;

  gap: 0px !important;                 /* tight leading (single-space feel) */
}

/* Title */
body.landing .landing-title h1{
  margin: 0 !important;
  line-height: 1 !important;
}

/* Author */
body.landing .landing-title h2{
  margin: 0 !important;
  font-family: "source-sans-3", sans-serif !important;
  font-weight: 300 !important;
  font-size: 20px !important;
  color: #494949 !important;
  line-height: 0.5 !important;
  
}

/* Language menu */
body.landing .landing-title .lang-actions{
	 line-height: 4 !important;
  margin-top: 2px !important;
  align-self: flex-end !important;      /* align to same right edge */
}
