.home-page {
   overflow-x: hidden;
   background: #f4f1ec;
}

.home-main {
   min-width: 0;
}

.home-hero-content,
.home-institutional-grid,
.home-highlights-grid {
   width: min(calc(100% - 2rem), 1180px);
   margin-inline: auto;
}

.home-page .site-header:not(.scrolled) {
   background: transparent;
   border-bottom-color: transparent;
   backdrop-filter: none;
}

.home-page .site-header:not(.scrolled) .navbar {
   color: #fff;
   background: rgba(9, 37, 29, 0.54);
   border-color: rgba(255, 255, 255, 0.2);
   box-shadow: none;
   backdrop-filter: blur(8px);
}

.home-page .site-header:not(.scrolled) .nav-links>li>a,
.home-page .site-header:not(.scrolled) .nav-links>li>.dropbtn {
   color: #fff;
}

.home-page .site-header:not(.scrolled) .nav-links>li>a:hover,
.home-page .site-header:not(.scrolled) .nav-links>li>.dropbtn:hover,
.home-page .site-header:not(.scrolled) .nav-links>li>a[aria-current="page"] {
   color: #fff;
   background: rgba(255, 255, 255, 0.16);
}

.home-hero {
   position: relative;
   min-height: 100svh;
   display: flex;
   align-items: center;
   overflow: hidden;
   isolation: isolate;
   color: #fff;
}

.home-hero-background,
.home-hero-overlay {
   position: absolute;
   inset: 0;
}

.home-hero-background {
   z-index: -2;
   background-color: #315940;
   background-image: url("/assets/home.webp");
   background-repeat: no-repeat;
   background-position: center;
   background-size: cover;
   transform: scale(1);
   animation: home-hero-zoom 26s ease-in-out infinite alternate;
}

.home-hero-overlay {
   z-index: -1;
   background:
      linear-gradient(90deg, rgba(3, 20, 14, 0.84) 0%, rgba(5, 29, 20, 0.7) 48%, rgba(7, 31, 22, 0.48) 100%),
      linear-gradient(0deg, rgba(2, 16, 11, 0.66) 0%, rgba(3, 20, 14, 0.1) 58%);
}

.home-hero-content {
   padding-top: var(--header-height);
   padding-bottom: 4rem;
}

.home-hero-kicker {
   margin: 0 0 0.5rem;
   font-size: clamp(1rem, 2vw, 1.35rem);
   font-weight: 500;
   letter-spacing: 0.42em;
   color: #fff;
   text-shadow: 0 2px 7px rgba(0, 0, 0, 0.72);
}

.home-hero h1 {
   max-width: 760px;
   margin: 0;
   font-size: clamp(3.4rem, 7.5vw, 6.8rem);
   font-weight: 500;
   line-height: 0.98;
   letter-spacing: 0.02em;
   color: #fff;
   text-shadow: 0 3px 9px rgba(0, 0, 0, 0.68);
}

.home-hero-intro {
   max-width: 560px;
   margin: 1.4rem 0 1.6rem;
   font-size: clamp(1rem, 1.5vw, 1.2rem);
   line-height: 1.65;
   color: #fffefa;
   font-weight: 600;
   text-shadow: 0 2px 6px rgba(0, 0, 0, 0.7);
}

.home-hero-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 1rem;
}

.home-button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 0.65rem;
   min-height: 46px;
   padding: 0.75rem 1.35rem;
   border: 1px solid transparent;
   border-radius: 7px;
   font-size: 0.86rem;
   font-weight: 700;
   text-decoration: none;
   text-transform: uppercase;
   transition:
      transform 0.2s ease,
      background-color 0.2s ease,
      border-color 0.2s ease;
}

.home-button:hover {
   transform: translateY(-2px);
}

.home-button-primary {
   color: #fff;
   background: #80530d;
   border-color: #80530d;
   box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
}

.home-button-primary:hover {
   color: #fff;
   background: #956921;
   border-color: #956921;
}

.home-button-outline {
   color: #fff;
   background: rgba(0, 0, 0, 0.12);
   border-color: rgba(255, 255, 255, 0.85);
}

.home-button-outline:hover {
   color: #fff;
   background: rgba(255, 255, 255, 0.12);
}

.home-hero-verse {
   max-width: 570px;
   margin: 1.5rem 0 0;
   color: #fffdf8;
   font-size: 0.85rem;
   font-style: italic;
   text-shadow: 0 2px 6px rgba(0, 0, 0, 0.78);
}

.home-hero-verse span {
   display: block;
   margin-top: 0.25rem;
   color: #a9ddb8;
   font-weight: 700;
   font-style: normal;
}

.home-scroll-indicator {
   position: absolute;
   left: 50%;
   bottom: 1.5rem;
   width: 2.25rem;
   height: 2.25rem;
   display: grid;
   place-items: center;
   color: #fff;
   border: 1px solid rgba(255, 255, 255, 0.8);
   border-radius: 50%;
   text-decoration: none;
   transform: translateX(-50%);
}

.home-institutional {
   padding: 1rem 0;
   background: #faf8f5;
}

.home-institutional-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 1.25rem;
}

.home-institutional-card,
.home-panel {
   background: rgba(255, 255, 255, 0.985);
   border: 1px solid rgba(20, 76, 43, 0.2);
   border-radius: 10px;
   box-shadow: 0 5px 18px rgba(26, 46, 36, 0.08);
}

.home-institutional-card {
   padding: 1.35rem 1.15rem;
   text-align: center;
}

.home-institutional-card>i {
   margin-bottom: 0.65rem;
   color: #aa781f;
   font-size: 2.25rem;
}

.home-institutional-card h2 {
   margin-bottom: 0.45rem;
   color: #14502e;
   font-size: 0.93rem;
   font-weight: 800;
}

.home-institutional-card p {
   min-height: 3.5em;
   margin: 0 0 0.65rem;
   color: #26332d;
   font-weight: 500;
   font-size: 0.78rem;
   line-height: 1.45;
}

.home-institutional-card a,
.home-panel-header a,
.home-message-action {
   color: #714600;
   font-size: 0.78rem;
   font-weight: 800;
   text-decoration: none;
   text-transform: uppercase;
}

.home-panel-header a,
.home-message-action {
   text-decoration: underline;
   text-decoration-thickness: 2px;
   text-underline-offset: 0.22em;
}

.home-message-action {
   color: #593600;
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
}

.home-institutional-card a span,
.home-panel-header a span,
.home-message-action span {
   margin-left: 0.35rem;
}

.home-highlights {
   padding: 0.75rem 0 2rem;
   background: #f1ede7;
}

.home-highlights-grid {
   display: grid;
   grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr) minmax(260px, 0.8fr);
   gap: 1.25rem;
}

.home-panel {
   min-width: 0;
   padding: 1.15rem;
}

.home-panel-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 0.75rem;
   margin-bottom: 0.85rem;
}

.home-panel-header h2 {
   margin: 0;
   color: #12482b;
   font-size: 0.9rem;
   font-weight: 800;
}

.home-panel-header h2 i {
   margin-right: 0.45rem;
}

.home-events-list {
   display: flex;
   flex-direction: column;
}

.home-event-item {
   display: grid;
   grid-template-columns: 72px 50px minmax(0, 1fr);
   align-items: center;
   gap: 0.75rem;
   padding: 0.7rem 0;
   border-bottom: 1px solid rgba(31, 95, 58, 0.2);
}

.home-event-item:last-child {
   border-bottom: 0;
}

.home-event-image {
   width: 72px;
   height: 52px;
   object-fit: cover;
   border-radius: 6px;
}

.home-event-date {
   padding: 0.3rem;
   text-align: center;
   background: #eee5d7;
   box-shadow: inset 0 0 0 1px #cfbfa5;
   border-radius: 6px;
}

.home-event-date strong,
.home-event-date span {
   display: block;
}

.home-event-date strong {
   color: #103f27;
   font-size: 1.15rem;
   line-height: 1;
}

.home-event-date span {
   margin-top: 0.25rem;
   color: #654000;
   font-size: 0.67rem;
   font-weight: 700;
   text-transform: uppercase;
}

.home-event-copy h3 {
   margin: 0 0 0.2rem;
   color: #103f27;
   font-size: 0.85rem;
   font-weight: 800;
}

.home-event-copy p {
   margin: 0;
   color: #26382f;
   font-weight: 500;
   font-size: 0.72rem;
   line-height: 1.4;
}

.home-panel-status {
   margin: 0.75rem 0 0;
   color: #59635e;
   font-size: 0.82rem;
}

.home-featured-media {
   position: relative;
   display: block;
   overflow: hidden;
   aspect-ratio: 16 / 9;
   background: #20382c;
   border-radius: 7px;
   box-shadow: 0 4px 12px rgba(8, 35, 24, 0.2);
}

.home-featured-media img {
   width: 100%;
   height: 100%;
   display: block;
   object-fit: cover;
}

.home-featured-play {
   position: absolute;
   left: 50%;
   top: 50%;
   width: 3rem;
   height: 3rem;
   display: grid;
   place-items: center;
   color: #fff;
   background: rgba(10, 25, 18, 0.62);
   border: 1px solid rgba(255, 255, 255, 0.85);
   border-radius: 50%;
   transform: translate(-50%, -50%);
}

.home-featured-duration {
   position: absolute;
   right: 0.4rem;
   bottom: 0.35rem;
   padding: 0.12rem 0.3rem;
   color: #fff;
   background: rgba(0, 0, 0, 0.78);
   border-radius: 3px;
   font-size: 0.65rem;
}

.home-featured-copy h3 {
   margin: 0.65rem 0 0.25rem;
   color: #103f27;
   font-size: 0.92rem;
   font-weight: 800;
}

.home-featured-copy p {
   margin: 0 0 0.4rem;
   color: #26382f;
   font-weight: 500;
   font-size: 0.74rem;
}

.home-prayer-content>p {
   margin: 1.7rem 0 1rem;
   color: #26332d;
   font-size: 0.9rem;
   line-height: 1.55;
   font-weight: 500;
}

.home-prayer-panel .home-button {
   width: 100%;
   min-height: 40px;
   padding: 0.55rem 0.85rem;
   font-size: 0.75rem;
   font-weight: 800;
   box-shadow: 0 4px 12px rgba(72, 45, 4, 0.24);
}

.home-prayer-panel blockquote {
   margin: 1.25rem 0 0;
   color: #34453c;
   font-size: 0.74rem;
   font-style: italic;
   line-height: 1.55;
}

.home-prayer-panel cite {
   display: block;
   margin-top: 0.4rem;
   color: #a77521;
   font-style: normal;
}

@keyframes home-hero-zoom {
   from {
      transform: scale(1);
   }

   to {
      transform: scale(1.055);
   }
}

@media (max-width: 1100px) {
   .home-page .navbar {
      font-size: 1rem;
   }

   .home-page .nav-links {
      padding-right: 1rem;
   }

   .home-page .nav-links li>a,
   .home-page .nav-links li>.dropbtn {
      margin-inline: 2px;
      padding-inline: 7px;
   }

   .home-institutional-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .home-highlights-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .home-prayer-panel {
      grid-column: 1 / -1;
   }

   .home-prayer-content {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto minmax(220px, 0.7fr);
      align-items: center;
      gap: 1rem;
   }

   .home-prayer-content>p,
   .home-prayer-panel blockquote {
      margin: 0;
   }
}

@media (max-width: 768px) {

   .home-page .site-header:not(.scrolled) .nav-links>li>a,
   .home-page .site-header:not(.scrolled) .nav-links>li>.dropbtn {
      color: var(--cor-texto);
   }

   .home-hero {
      min-height: 100svh;
      text-align: center;
   }

   .home-hero-background {
      background-position: center;
   }

   .home-hero-overlay {
      background:
         linear-gradient(180deg, rgba(3, 20, 14, 0.72), rgba(3, 20, 14, 0.8)),
         rgba(5, 30, 22, 0.72);
   }

   .home-hero-content {
      padding-top: calc(var(--header-height) + 2rem);
      padding-bottom: 5rem;
   }

   .home-hero-kicker {
      letter-spacing: 0.25em;
   }

   .home-hero h1 {
      font-size: clamp(3rem, 17vw, 5rem);
   }

   .home-hero-intro,
   .home-hero-verse {
      margin-inline: auto;
   }

   .home-hero-actions {
      flex-direction: column;
      align-items: stretch;
      width: min(100%, 320px);
      margin-inline: auto;
   }

   .home-institutional-grid,
   .home-highlights-grid {
      grid-template-columns: 1fr;
   }

   .home-institutional-card p {
      min-height: 0;
   }

   .home-prayer-panel {
      grid-column: auto;
   }

   .home-prayer-content {
      display: block;
   }

   .home-prayer-content>p {
      margin: 1rem 0;
   }

   .home-prayer-panel blockquote {
      margin-top: 1.25rem;
   }
}

@media (max-width: 420px) {
   .home-event-item {
      grid-template-columns: 56px 44px minmax(0, 1fr);
      gap: 0.55rem;
   }

   .home-event-image {
      width: 56px;
      height: 48px;
   }

   .home-panel {
      padding: 1rem;
   }
}

@media (prefers-reduced-motion: reduce) {
   .home-hero-background {
      animation: none;
      transform: none;
   }

   .home-button {
      transition: none;
   }
}