@charset "UTF-8";
@font-face {
  font-family: "BabelStone Tibetan Slim";
  src: url("/fonts/BabelStoneTibetanSlim.ttf") format("truetype");
  unicode-range: U+0F00-0FFF;
  size-adjust: 140%;
  descent-override: 50%;
  letter-spacing: 1.1px;
  font-display: swap; }

@font-face {
  font-family: 'Noto Serif';
  src: url("/fonts/Noto_Serif/NotoSerif-VariableFont_wdth,wght.ttf") format("truetype");
  font-weight: 100 900;
  font-feature-settings: "liga" 0;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Libre Baskerville';
  src: url("/fonts/Libre_Baskerville/LibreBaskerville-Bold.ttf") format("truetype");
  font-feature-settings: "liga" 0;
  font-weight: bold;
  font-display: swap; }

@font-face {
  font-family: 'Libre Baskerville';
  src: url("/fonts/Libre_Baskerville/LibreBaskerville-Regular.ttf") format("truetype");
  font-weight: normal;
  font-display: swap; }

:root {
  --font-heading: 'Libre Baskerville';
  --font-tibetan: 'BabelStone Tibetan Slim';
  --font-latin: 'Noto Serif';
  --font-body: --font-tibetan, --font-latin;
  --black-dark: #151515;
  --black-medium: #242424;
  --black-light: #363636;
  --color-dark-400: #363636;
  --color-dark-500: #363636;
  --white-dark: #E9E9E9;
  --white-medium: #F6F7F8;
  --white-light: #FFFFFF;
  --color-light: #f6f7f8;
  --color-accent: #b90808;
  --color-accent-2: #F6CD51;
  --line-height-base: 1.5;
  --measure-xs: 20ch;
  --measure-s: 35ch;
  --measure-m: 55ch;
  --measure-l: 75ch;
  --measure-xl: 96ch;
  --measure-2xl: 125ch;
  --content-s: 600px;
  --content-m: 900px;
  --content-l: 1200px;
  --content-xl: 1600px;
  --step--2: clamp(0.7901rem, 0.7558rem + 0.1718vw, 0.8889rem);
  --step--1: clamp(0.8889rem, 0.8502rem + 0.1932vw, 1rem);
  --step-0: clamp(1rem, 0.9565rem + 0.2174vw, 1.125rem);
  --step-1: clamp(1.125rem, 1.0761rem + 0.2446vw, 1.2656rem);
  --step-2: clamp(1.2656rem, 1.2106rem + 0.2751vw, 1.4238rem);
  --step-3: clamp(1.4238rem, 1.3619rem + 0.3095vw, 1.6018rem);
  --step-4: clamp(1.6018rem, 1.5322rem + 0.3482vw, 1.802rem);
  --step-5: clamp(1.802rem, 1.7237rem + 0.3917vw, 2.0273rem);
  --step-900: calc(clamp(1.85em, 1.8395rem + 1.1704vw, 2.5rem));
  --step-1000: calc(clamp(2.3rem, 2.1597rem + 1.6433vw, 3rem));
  --step-2000: calc(clamp(3rem, 2.8691rem + 2.4507vw, 4rem));
  --space-3xs: clamp(0.25rem, 0.2065rem + 0.2174vw, 0.375rem);
  --space-2xs: clamp(0.3125rem, 0.2473rem + 0.3261vw, 0.5rem);
  --space-xs: clamp(0.5rem, 0.413rem + 0.4348vw, 0.75rem);
  --space-s: clamp(0.625rem, 0.4946rem + 0.6522vw, 1rem);
  --space-m: clamp(0.9375rem, 0.7418rem + 0.9783vw, 1.5rem);
  --space-l: clamp(1.25rem, 0.9891rem + 1.3043vw, 2rem);
  --space-xl: clamp(1.875rem, 1.4837rem + 1.9565vw, 3rem);
  --space-2xl: clamp(2.5rem, 1.9783rem + 2.6087vw, 4rem);
  --space-3xl: clamp(3.75rem, 2.9674rem + 3.913vw, 6rem);
  --body-margin: var(--space-xs);
  --body-padding: var(--space-2xs);
  --media-medium: 1024px;
  --color-primary: #2d3436;
  --color-secondary: #636e72;
  --color-text: #2d3436;
  --color-hover: #f1f2f6;
  --color-focus: #74b9ff;
  --border-grid: #5d7782;
  --border-light: 1px solid rgba(0, 0, 0, 0.16);
  --border-medium: 1px solid rgba(0, 0, 0, 0.35);
  --border-dark: 1px solid rgba(0, 0, 0, 0.65);
  --card-background-color: #fff;
  --card-border-color: #ddd;
  --card-border-radius: 5px;
  --card-padding: 1rem;
  --card-gap: 0.5rem;
  --card-hover-transform: translateY(-2px);
  --card-hover-box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  --card-title-font-size: var(--step-1);
  --card-description-color: #333;
  --card-number-color: #555;
  --card-transition: transform 0.3s ease, box-shadow 0.3s ease;
  --card-vertical-height: 210px;
  --card-vertical-image-width: 180px;
  --card-vertical-image-height: 190px;
  --card-vertical-image-border-radius: 4px;
  --card-vertical-content-flex: 5;
  --card-vertical-image-flex: 2;
  --z-index-card: 1;
  --z-index-cloud: 1;
  --z-index-image: 3;
  --z-index-tooltip: 20;
  --z-index-def: 20;
  --z-index-toc: 98;
  --z-index-nav: 99;
  --z-index-logo: 100;
  --sidebar-main-width: 120rem;
  --sidebar-body-width: 65rem;
  --sidebar-toc-width: 25rem;
  --focus-outline: 3px solid var(--color-focus);
  --sidebar-width: 300px;
  --nav-height: 60px; }

#hero {
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center; }

.hero__content {
  max-width: 800px; }

.hero__title {
  font-size: var(--step-1000) !important; }

.hero__subtitle {
  font-size: var(--step-2) !important;
  color: var(--black-medium); }

@media (min-width: 769px) {
  .hero__title {
    font-size: 3rem; } }

@media (max-width: 768px) {
  .hero__title {
    font-size: 2.5rem; } }

.lineage__container {
  max-width: var(--content-m);
  margin: 0 auto; }

.lineage__grid {
  display: grid;
  gap: var(--space-s);
  grid-template-columns: repeat(1, 1fr);
  text-align: center;
  place-items: center;
  margin-bottom: var(--space-xl); }

@media (min-width: 600px) {
  .lineage__grid {
    grid-template-columns: repeat(2, 1fr); } }

@media (min-width: 1500px) {
  .lineage__grid {
    grid-template-columns: repeat(4, 1fr); }
  .lineage__container {
    max-width: var(--content-l);
    margin: 0 auto; } }

.lineage__item {
  width: 100%;
  min-width: 250px;
  max-width: 350px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; }

.lineage__item img {
  align-self: center;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  margin-bottom: var(--space-m);
  object-fit: cover; }

.quote-section {
  background: var(--color-mid);
  text-align: center; }

.quote-section__container {
  max-width: var(--content-m);
  margin: 0 auto; }

.quote-section__text {
  font-size: var(--step-500);
  font-style: italic;
  margin-bottom: var(--space-s);
  line-height: 1.65;
  text-align: left; }

.quote-section__author {
  color: var(--color-accent);
  font-size: 1.1rem;
  font-weight: 600; }

.quote-section__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: center;
  margin-bottom: 2rem; }

.sadhana {
  padding: var(--space-2xl) var(--space-l);
  max-width: var(--content-l);
  margin: 0 auto; }

.sadhana__content {
  display: flex;
  flex-direction: column;
  padding: 0 1.5rem; }

.sadhana__content > .sadhana-titles {
  display: flex;
  flex-direction: column; }

.sadhana__content > .sadhana-titles > div {
  position: relative;
  padding-top: var(--space-m);
  padding-bottom: var(--space-m);
  border-bottom: var(--border-medium); }

.sadhana__content > .sadhana-titles > div:first-child {
  padding-top: 0; }

.sadhana__content > .sadhana-titles > .sadhana-title-item > div {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center; }

.sadhana__content > .sadhana-titles > .sadhana-title-item > div::after {
  content: '›';
  font-size: 1.5rem;
  color: var(--black-light);
  transition: transform 0.2s ease; }

.sadhana__content > .sadhana-titles > .sadhana-title-item:hover > div::after {
  transform: translateX(10px);
  color: var(--black-light); }

.sadhana__content > .sadhana-titles > .sadhana-title-item > a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 1; }

.sadhana-title {
  font-size: 1.1rem; }

@media (min-width: 999px) {
  .sadhana__content {
    flex-direction: row;
    gap: 3rem; }
  .quote-section__container {
    flex: 0 0 45%;
    margin-bottom: 0; }
  .sadhana__content > div:last-child {
    flex: 0 0 55%;
    padding-top: 0.5rem; }
  .sadhana__content > div:last-child > div {
    padding: 2rem 0; } }

section {
  margin-top: var(--space-2xl);
  padding: var(--space-l) var(--space-m); }

.section-title {
  text-align: center;
  margin-bottom: var(--space-l); }

.section-title h2 {
  font-weight: 700;
  color: var(--black-medium);
  margin-bottom: 0; }

.section-title h3 {
  font-weight: 700;
  color: var(--black-medium);
  margin-top: 0; }

.teachings__container {
  max-width: var(--content-l);
  margin-left: auto;
  margin-right: auto; }

.teachings__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--space-s); }

.teaching-card__image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 3px; }

.teaching-card {
  gap: var(--space-m); }

.teaching-card__content a {
  text-decoration: none; }

.teaching-card__teacher {
  color: var(--color-accent);
  font-style: italic;
  margin-top: var(--space-3xs);
  margin-bottom: var(--space-xs); }

.section-ensenanzas {
  max-width: var(--content-l);
  margin: 0 auto;
  padding: var(--space-l) 0; }

.teachings-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-m);
  padding: var(--space-m); }

.grid-item {
  padding-bottom: var(--space-m);
  border-bottom: var(--border-medium); }

.grid-item a {
  text-decoration: none; }

.grid-item.featured {
  display: flex;
  flex-direction: column;
  border-bottom: var(--border-medium);
  padding-bottom: var(--space-xl); }

.grid-item-author {
  color: var(--color-accent);
  font-weight: 600; }

.grid-item-title {
  font-weight: 700;
  margin-bottom: var(--space-s);
  color: var(--black-medium);
  line-height: 1.3; }

.grid-item-image {
  width: 100%;
  aspect-ratio: 16/9;
  margin-bottom: var(--space-m);
  overflow: hidden; }

.grid-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover; }

.grid-item-excerpt {
  color: var(--black-medium); }

@media (min-width: 768px) {
  .teachings-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-xl); }
  .grid-item.featured {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-xl); }
  .grid-item.featured .content-wrapper {
    grid-column: 1;
    display: flex;
    flex-direction: column; }
  .grid-item.featured .grid-item-image {
    grid-column: 2;
    height: 100%;
    margin-bottom: 0; } }

@media (min-width: 1024px) {
  .section-ensenanzas {
    padding: var(--space-2xl) 0; } }

@media (max-width: 768px) {
  .featured-teaching__container {
    grid-template-columns: 1fr; } }

@media (min-width: 769px) {
  .featured-teaching__container {
    grid-template-columns: 1fr 1fr; } }

.weekly-teachings__container {
  max-width: 100%;
  margin: 0 auto;
  padding: var(--space-m); }

.weekly-teachings__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: var(--space-m); }

.weekly-teachings__image {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: var(--space-m); }

.weekly-teachings__info {
  width: 100%;
  margin: 0 5%; }

.weekly-teachings__info > * {
  margin-bottom: var(--space-m); }

.weekly-teachings__info > h1 {
  max-width: 100%; }

.weekly-teachings__time {
  padding: 0 var(--space-m);
  border-radius: var(--border-radius); }

.weekly-teachings__time div:last-child {
  margin-bottom: 0; }

@media (min-width: 769px) {
  .weekly-teachings__container {
    max-width: var(--content-m); }
  .weekly-teachings__header {
    flex-direction: row;
    text-align: left; }
  .weekly-teachings__image {
    width: 250px;
    height: 250px;
    margin-right: var(--space-m);
    margin-bottom: 0; } }
