/* Homepage: editorial rhythm, readable content and restrained interaction. */
.home-page{--home-ease:cubic-bezier(.23,1,.32,1)}
.home-page ::selection{background:#efc27a;color:#173e39}
.home-page :focus-visible{outline:3px solid #b86e19;outline-offset:4px}
.home-page .js-motion .reveal.pending,.home-page .reveal.pending{opacity:1;transform:none}
.home-page .home-hero{grid-template-columns:46% 54%;min-height:min(710px,calc(100svh - 90px))}
.home-page .hero-copy{display:flex;flex-direction:column;justify-content:center;padding-top:clamp(65px,7vw,110px);padding-bottom:clamp(65px,7vw,110px)}
.home-page .hero-copy h1{font-size:clamp(60px,5vw,80px);line-height:1.04;letter-spacing:-.035em;text-wrap:normal}
.home-page .hero-copy p{font-size:clamp(19px,1.5vw,22px);line-height:1.6;max-width:31ch}
.home-page .hero-copy .btn{align-self:flex-start}
.home-page .hero-foot{margin-top:42px}
.home-page .hero-visual{min-height:650px}
.home-page .hero-caption{bottom:44px}
.home-page .hero-caption strong{font-size:clamp(28px,2.4vw,38px)}
.home-page .ribbon .wrap{min-height:76px;align-items:center}
.home-page .section-head{gap:30px;margin-bottom:clamp(44px,5vw,70px)}
.home-page .section-head h2,.home-page .about-copy h2,.home-page .volunteer-content h2,.home-page .patronage h2{text-wrap:balance;letter-spacing:-.035em}
.home-page .home-services,.home-page .home-gallery,.home-page .home-news{padding-top:clamp(90px,9vw,140px);padding-bottom:clamp(90px,9vw,140px)}
.home-page .home-services .services-grid{gap:clamp(24px,2.4vw,40px)}
.home-page .service-card{border-bottom:1px solid #b9c8bf;padding-bottom:28px}
.home-page .service-image,.home-page .service-card:nth-child(even) .service-image,.home-page .service-card:last-child .service-image{height:auto;aspect-ratio:4/3;border-radius:0;margin-bottom:14px;background:#d9e8dc}
.home-page .service-image img,.home-page .service-card:last-child .service-image img{object-fit:cover}
.home-page .service-illustration{margin:0 0 20px;color:#496b60;font-size:16px}
.home-page .service-index{top:18px;left:18px;background:#fbf9f2;color:#173e39}
.home-page .service-card h3{font-size:clamp(27px,2.1vw,34px);line-height:1.16;min-height:2.32em;max-width:18ch}
.home-page .service-card p{line-height:1.65;max-width:48ch}
.home-page .about-section{padding-block:clamp(90px,9vw,145px)}
.home-page .about-grid{gap:clamp(50px,7vw,110px);align-items:center}
.home-page .about-copy p{max-width:57ch;line-height:1.7}
.home-page .about-detail{margin-top:clamp(70px,7vw,105px)}
.home-page .film-section{min-height:620px}
.home-page .film-content h2{max-width:850px;text-wrap:balance}
.home-page .play-button{transition:transform 220ms var(--home-ease),background-color 180ms ease,color 180ms ease}
.home-page .testimonials{padding-block:clamp(90px,9vw,140px)}
.home-page .testimonials blockquote{max-width:1000px;text-wrap:pretty}
.home-page .home-gallery .photo-strip{gap:clamp(16px,2vw,30px)}
.home-page .home-gallery .photo-strip button{overflow:hidden}
.home-page .volunteer-section{margin-bottom:0}
.home-page .volunteer-panel{min-height:630px}
.home-page .volunteer-content{padding:clamp(55px,7vw,115px)}
.home-page .volunteer-content h2{max-width:18ch}
.home-page .volunteer-photo{min-height:630px}
.home-page .volunteer-copy p{max-width:45ch}
.home-page .home-news .news-grid{gap:clamp(24px,2.6vw,42px)}
.home-page .news-card .news-photo{height:auto;aspect-ratio:4/3}
.home-page .news-card h3{line-height:1.2;text-wrap:balance}
.home-page .news-card p{line-height:1.6}
.home-page .patronage{padding-block:clamp(90px,9vw,145px)}
.home-page .patronage .donate-grid{align-items:center}
.home-page .patronage p{max-width:50ch;font-size:20px;line-height:1.65}
.home-page .btn,.home-page .text-link,.home-page .circle-link{transition:color 180ms ease,background-color 180ms ease,transform 160ms var(--home-ease),border-color 180ms ease}
.home-page .btn:active,.home-page .play-button:active{transform:scale(.98)}
.home-page .service-image img,.home-page .photo-strip img,.home-page .news-photo img,.home-page .volunteer-photo img{transition:transform 420ms var(--home-ease)}
@media(hover:hover) and (pointer:fine){.home-page .service-card:hover .service-image img,.home-page .photo-strip button:hover img,.home-page .news-card:hover .news-photo img,.home-page .volunteer-photo:hover img{transform:scale(1.035)}.home-page .text-link:hover .arrow{transform:translate(4px,-4px)}.home-page .text-link .arrow{transition:transform 200ms var(--home-ease)}}
@media(max-width:1000px){.home-page .home-hero{min-height:0}.home-page .hero-visual{min-height:600px}.home-page .service-card h3{min-height:0}.home-page .volunteer-panel,.home-page .volunteer-photo{min-height:540px}}
@media(max-width:760px){.home-page .home-hero{display:flex}.home-page .hero-copy{padding:52px 24px 48px}.home-page .hero-copy h1{font-size:clamp(48px,10vw,68px);line-height:1.04}.home-page .hero-copy p{font-size:19px}.home-page .hero-foot{margin-top:30px}.home-page .hero-visual{min-height:360px}.home-page .hero-caption{bottom:24px}.home-page .hero-caption strong{font-size:27px}.home-page .ribbon .wrap{padding-block:20px;gap:14px 26px}.home-page .home-services,.home-page .home-gallery,.home-page .home-news,.home-page .about-section,.home-page .testimonials{padding-block:80px}.home-page .section-head{margin-bottom:40px}.home-page .services-grid{grid-template-columns:1fr;gap:46px}.home-page .service-card{padding-bottom:25px}.home-page .service-card h3{font-size:29px;max-width:19ch}.home-page .service-card p{font-size:18px}.home-page .service-image,.home-page .service-card:nth-child(even) .service-image,.home-page .service-card:last-child .service-image{aspect-ratio:4/3}.home-page .about-grid{gap:48px}.home-page .about-detail{margin-top:60px}.home-page .film-section{min-height:510px}.home-page .volunteer-panel{min-height:0}.home-page .volunteer-content{padding:65px 24px}.home-page .volunteer-photo{min-height:0;height:360px}.home-page .volunteer-content h2{max-width:14ch}.home-page .home-news .news-grid{gap:50px}.home-page .patronage{padding-block:80px}.home-page .patronage p{font-size:19px}}
@media(prefers-reduced-motion:reduce){.home-page .service-image img,.home-page .photo-strip img,.home-page .news-photo img,.home-page .volunteer-photo img,.home-page .btn,.home-page .text-link,.home-page .play-button{transition:none!important}.home-page [data-parallax]{transform:none!important}}

@media(prefers-reduced-motion:no-preference){.home-page .hero-copy h1,.home-page .hero-copy p{animation:home-arrive 600ms cubic-bezier(.23,1,.32,1) both}.home-page .hero-copy p{animation-delay:70ms}@keyframes home-arrive{from{opacity:.7;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}

/* Gallery previews show each photograph without cutting people or objects. */
.home-page .home-gallery .photo-strip { align-items: start; }
.home-page .home-gallery .photo-strip button { padding-top: 0; }
.home-page .home-gallery .photo-strip img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: unset;
}

/* Fill the residential card while keeping the beds in the frame. */
.home-page .service-card:first-child .service-image img {
  object-fit: cover;
  object-position: center 58%;
}

/* A single aligned gallery row; portrait subjects are framed from the top. */
.home-page .home-gallery .photo-strip { align-items: stretch; }
.home-page .home-gallery .photo-strip button { height: clamp(250px, 27vw, 390px); }
.home-page .home-gallery .photo-strip img { height: 100%; object-fit: cover; object-position: center 25%; }
@media (max-width: 760px) {
  .home-page .home-gallery .photo-strip button { height: 250px; }
}

/* Hero: fotografia real em toda a largura, com leitura clara sobre a imagem. */
.home-page .home-hero{position:relative;display:grid;grid-template-columns:1fr;min-height:clamp(640px,calc(100svh - 90px),850px);overflow:hidden;background:#173e39;color:#fff}
.home-page .hero-visual{position:absolute;inset:0;min-height:0;z-index:0}
.home-page .hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,47,43,.93) 0%,rgba(13,47,43,.77) 37%,rgba(13,47,43,.18) 76%),linear-gradient(0deg,rgba(13,47,43,.3),transparent 38%);pointer-events:none}
.home-page .hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 55%;transform:none}
.home-page .hero-copy{position:relative;z-index:1;display:block;align-self:center;width:min(100%,1000px);padding:clamp(80px,8vw,130px) clamp(32px,7vw,125px);background:transparent;color:white}
.home-page .hero-copy .eyebrow{color:#f4d69c;margin-bottom:27px}
.home-page .hero-copy h1{font-size:clamp(65px,7.2vw,112px);line-height:.98;color:white;max-width:850px}
.home-page .hero-copy h1 em{font-style:normal}
.home-page .hero-copy p{font-size:clamp(20px,1.65vw,25px);line-height:1.5;max-width:32ch;margin:30px 0 35px;color:white}
.home-page .hero-copy .btn{background:#edc17c;border-color:#edc17c;color:#183e3a;min-height:62px}
.home-page .hero-copy .btn:hover{background:#f7d397;border-color:#f7d397}
.home-page .hero-contact{display:inline-flex;align-items:center;gap:22px;min-height:62px;margin-left:12px;padding:14px 24px;border:1px solid rgba(255,255,255,.8);color:white;transition:background .25s,color .25s}
.home-page .hero-contact:hover{background:#fff;color:#183e3a}
.home-page .hero-foot,.home-page .hero-caption{display:none}
@media(max-width:760px){
 .home-page .home-hero{display:grid;min-height:650px;min-height:max(650px,calc(100svh - 84px))}
 .home-page .hero-visual{position:absolute;inset:0;min-height:0}
 .home-page .hero-visual img{object-position:62% center}
 .home-page .hero-visual:after{background:linear-gradient(90deg,rgba(13,47,43,.88),rgba(13,47,43,.52)),linear-gradient(0deg,rgba(13,47,43,.45),transparent 65%)}
 .home-page .hero-copy{padding:70px 24px;align-self:center}
 .home-page .hero-copy .eyebrow{font-size:15px;max-width:none}
 .home-page .hero-copy h1{font-size:clamp(52px,12vw,72px);line-height:1.02}
 .home-page .hero-copy p{font-size:20px;line-height:1.5;margin:25px 0 28px}
 .home-page .hero-copy .btn,.home-page .hero-contact{margin:0 10px 12px 0}
}
.home-page .hero-copy h1 em{color:#fff}
/* A fotografia ocupa toda a altura do hero. */
.home-page .hero-visual img{inset:0}
.home-page .home-news .news-grid:has(> article:only-child){grid-template-columns:minmax(0,620px)}
/* Manter os rostos e o abraço dentro do enquadramento em todas as larguras. */
.home-page .about-images .small{width:39%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center top}
@media(max-width:760px){.home-page .about-images .small{width:42%;height:auto;aspect-ratio:3/4}}
