.hero {
   position: relative;
   height: 100vh;
   display: flex;
   justify-content: center;
   text-align: center;
   align-items: center;
   background: url("../media/tridentu-about.webp") no-repeat center center/cover;
   margin-top: -10vh;
}
.hero::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background-color: rgba(255, 255, 255, 0.75);
   z-index: 1;
}
.hero > div {
   position: relative;
   z-index: 2;
}
.hero h1 {
   font-size: 3.5rem;
   font-weight: 600;
   color: var(--text-color);
   margin-bottom: 20px;
}
.hero p {
   font-size: 1.3rem;
   color: var(--text-color);
}
.hero-buttons {
   margin-top: 40px;
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 20px;
}
.text-block {
   flex: 1 1 500px;
}
.text-block h2 {
   font-size: 2.5rem;
   margin-bottom: 1rem;
   font-weight: 600;
   color: var(--text-color);
}
.text-block p {
   font-size: 1.125rem;
   line-height: 1.6;
   margin-bottom: 2rem;
   color: var(--text-color);
}
.image-block {
   flex: 1 1 500px;
}
.image-block img {
   width: 100%;
   border-radius: 10px;
   object-fit: cover;
}
.problem-section {
   background: var(--back-light);
   text-align: center;
}
.problem-section h2 {
   font-size: 2.5rem;
   color: var(--text-color);
   margin-bottom: 0.5rem;
}
.problem-section .subtitle {
   font-size: 1.125rem;
   color: var(--text-color);
   margin-bottom: 3rem;
}
.problem-stats-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
   gap: 2rem;
   margin-bottom: 2.5rem;
}
.stat-box {
   background: var(--back-dark);
   padding: 2rem;
   border-radius: 12px;
   box-shadow: 0 4px 8px rgba(0,0,0,0.05);
   transition: all .3s;
}
.stat-box:hover{
   transform: translateY(-5px);
   box-shadow: 0 4px 8px rgba(0,0,0,0.25);
}
.stat-box h3 {
   font-size: 2.25rem;
   color: var(--text-color);
   margin-bottom: 0.5rem;
}
.stat-box p {
   font-size: 1rem;
   color: var(--text-color);
   margin-bottom: 0.5rem;
}
.stat-box .source {
   font-size: 0.85rem;
   color: #888;
   display: block;
}
.closing {
   font-size: 1.1rem;
   color: var(--text-color);
}
.beliefs-section {
   background-color: var(--back-dark);
   text-align: center;
}
.beliefs-wrapper h2 {
   font-size: 2.5rem;
   color: var(--text-color);
   margin-bottom: 0.5rem;
}
.beliefs-wrapper .subtitle {
   font-size: 1.125rem;
   color: var(--text-color);
   margin-bottom: 3rem;
}
.beliefs-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
   gap: 2rem;
}
.belief-card {
   background: var(--back-light);
   padding: 2rem;
   border-radius: 12px;
   box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
   text-align: left;
   transition: all .3s;
}
.belief-card:hover{
   transform: translateY(-5px);
   box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}
.belief-card h3 {
   font-size: 1.25rem;
   color: var(--text-color);
   margin-bottom: 0.5rem;
}
.belief-card p {
   font-size: 0.95rem;
   color: var(--text-color);
}
.vision-section,
.who-for-section {
   text-align: center;
   background-color: var(--back-light);
}
.method-section{
   text-align: center;
   background-color: var(--back-dark);
}
.vision-section h2,
.method-section h2,
.who-for-section h2 {
   font-size: 2.5rem;
   color: var(--text-color);
   margin-bottom: 0.5rem;
}
.vision-section .subtitle,
.method-section .subtitle,
.who-for-section .subtitle {
   font-size: 1.125rem;
   color: var(--text-color);
   margin-bottom: 2rem;
}
.vision-text {
   font-size: 1rem;
   color: var(--text-color);
   max-width: 750px;
   margin: 0 auto;
}
.method-grid,
.who-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
   gap: 2rem;
}
.method-step,
.who-card {
   background-color: var(--back-dark);
   padding: 2rem;
   border-radius: 12px;
   box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
   text-align: left;
   transition: all .3s;
}
.method-step{
   background-color: var(--back-light);
}
.who-card:hover,
.method-step:hover{
   transform: translateY(-5px);
   box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}
.method-step h3,
.who-card h3 {
   font-size: 1.25rem;
   color: var(--text-color);
   margin-bottom: 0.5rem;
}
.method-step p,
.who-card p {
   font-size: 0.95rem;
   color: var(--text-color);
}
@media screen and (max-width: 600px) {
   .hero h1 {
      font-size: 2.2rem;
   }
   .hero p {
      font-size: 1rem;
      padding: 0 10px;
   }
   .hero-buttons {
      flex-direction: column;
      gap: 12px;
   }
   .btn.courses {
      width: 100%;
      font-size: 1rem;
   }
   .text-block h2,
   .problem-section h2,
   .beliefs-wrapper h2,
   .vision-section h2,
   .method-section h2,
   .who-for-section h2 {
      font-size: 1.7rem;
   }
   .text-block p,
   .vision-text,
   .problem-section .subtitle,
   .beliefs-wrapper .subtitle,
   .method-section .subtitle,
   .who-for-section .subtitle {
      font-size: 1rem;
   }
   .problem-stats-grid,
   .beliefs-grid,
   .method-grid,
   .who-grid {
      grid-template-columns: 1fr;
   }
}