/* Readable live-text banners for pages beyond the six Canva references.
   Photos are existing Rota33 assets without typography burned into the image. */
.quem-somos-page .identity-hero,
.faith-page .faith-hero,
.page-hero-photo,
.outras-atividades-page .page-hero,
.igrejas-page .page-hero {
  display: grid !important;
  position: relative;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  align-items: center;
  gap: clamp(30px, 6vw, 90px);
  height: auto;
  min-height: 560px !important;
  aspect-ratio: auto;
  padding: 72px 6% !important;
  overflow: visible;
  background-size: cover !important;
  background-position: center !important;
  color: #fff;
}
.quem-somos-page .identity-hero {
  background-image: linear-gradient(90deg, #000d, #000a), url('/assets/real/montanha-03.webp') !important;
}
.faith-page .faith-hero {
  background-image: linear-gradient(90deg, #000d, #000a), url('/assets/real/cafe-02.webp') !important;
  background-image: linear-gradient(90deg, #000d, #000a), image-set(url('/assets/real/cafe-02-1600.webp') type('image/webp'), url('/assets/real/cafe-02.webp') type('image/jpeg')) !important;
}
.page-hero-photo {
  background-image: linear-gradient(90deg, #000d, #000a), url('/assets/real/familia-01.webp') !important;
}
.quem-somos-page .identity-hero > div,
.faith-page .faith-hero > div,
.page-hero-photo > div,
.outras-atividades-page .page-hero > div,
.igrejas-page .page-hero > div {
  display: block;
  position: relative !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
  border: 0 !important;
  min-width: 0;
  max-width: 100%;
}
.quem-somos-page .identity-hero .identity-hero-mark { display: none; }
.faith-page .faith-hero .faith-verse {
  border-left: 3px solid #fff !important;
  padding-left: 24px !important;
  max-width: 370px;
}
.faith-verse span { font-size: 1rem; line-height: 1.6; }
.page-hero-photo .big-index { display: none; }
/* A >=60% black veil keeps white text legible over even a white photo pixel. */
.cv-hero, .canva-mountain .cv-hero {
  background-image: linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.62)), var(--hero);
}
/* Assinatura comum aprovada para as testeiras de atividades. */
.activity-page .page-hero > div > .eyebrow,
.activity-page .run-hero .run-hero-copy > .eyebrow,
.outras-atividades-page .page-hero > div > .eyebrow {
  color: #fff;
  max-width: 100%;
}
/* A palavra em destaque usa o vermelho exato da referência (Canva). */
.activity-page .page-hero h1 em,
.activity-page .cv-hero h1 em,
.activity-page .run-hero h1 em,
.canva-mountain .cv-hero h1 em { color: #c80000; font-style: normal; }
/* O título da testeira da montanha cresce 150%, como pedido, sem alargar o bloco. */
.canva-mountain .cv-hero h1 { font-size: clamp(72px, 9.75vw, 132px); }
/* A mesma escala para o título da página geral de atividades, com reflow móvel. */
.outras-atividades-page .page-hero h1 { font-size: clamp(90px, 10.5vw, 157.5px); }
@media (max-width: 1000px) {
  .quem-somos-page .identity-hero,
  .faith-page .faith-hero,
  .page-hero-photo,
  .outras-atividades-page .page-hero,
  .igrejas-page .page-hero { grid-template-columns: minmax(0, 1fr); min-height: 520px !important; }
  .faith-page .faith-hero .faith-verse { justify-self: start; }
}
@media (max-width: 750px) {
  .canva-mountain .cv-hero h1 { font-size: clamp(63px, 12vw, 97px); }
  .outras-atividades-page .page-hero h1 {
    font-size: clamp(36px, 8vw, 60px);
    overflow-wrap: normal;
    word-break: normal;
  }
}
@media (max-width: 600px) {
  .quem-somos-page .identity-hero,
  .faith-page .faith-hero,
  .page-hero-photo,
  .outras-atividades-page .page-hero,
  .igrejas-page .page-hero { padding: 56px 6% !important; min-height: 480px !important; }
}

.outras-atividades-page .page-hero {
  background: linear-gradient(90deg, #000d, #000a), url('/assets/real/corrida-02.webp') center / cover no-repeat !important;
}
.outras-atividades-page .page-hero {
  grid-template-columns: minmax(0, 1.45fr) minmax(270px, .65fr);
  gap: clamp(24px, 3.5vw, 54px);
}
@media (max-width: 1000px) {
  .outras-atividades-page .page-hero { grid-template-columns: minmax(0, 1fr); }
}
.igrejas-page .page-hero {
  background: linear-gradient(90deg, #000d, #000a), url('/assets/igrejas-parceria-maos.webp') center / cover no-repeat !important;
}
.outras-atividades-page .page-hero .big-index,
.igrejas-page .page-hero .big-index { display: none; }

/* Para ti: fotografia fornecida pelo utilizador, com hierarquia editorial
   própria. O ponto único substitui a numeração/pista decorativa. */
.page-hero-photo {
  display: flex !important;
  align-items: center;
  min-height: clamp(620px, 52vw, 760px) !important;
  padding: clamp(64px, 7vw, 112px) 8vw !important;
  background-image:
    linear-gradient(90deg, rgba(0, 0, 0, .82) 0%, rgba(0, 0, 0, .68) 39%, rgba(0, 0, 0, .22) 72%, rgba(0, 0, 0, .08) 100%),
    url('/assets/para-ti-amanhecer.webp') !important;
  background-position: center center !important;
}
.page-hero-photo > div:first-child {
  width: min(690px, 100%) !important;
  max-width: 690px !important;
}
.page-hero-photo .para-hero-kicker {
  margin: 0 0 clamp(24px, 3vw, 38px);
  color: #c80000;
  font: 800 clamp(15px, 1.25vw, 19px)/1 'DM Sans', Arial, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.page-hero-photo .para-hero-kicker span {
  display: inline-block;
  margin-right: .32em;
  font-size: 1.45em;
  line-height: 0;
  vertical-align: -.08em;
}
.page-hero-photo .page-hero-message h1 {
  max-width: 10ch;
  margin: 0;
  color: #fff;
  font-size: clamp(72px, 8.25vw, 128px);
  line-height: .82;
  letter-spacing: -.035em;
}
.page-hero-photo .page-hero-message h1 em { color: #c80000; }
.page-hero-photo .page-hero-message .lede {
  max-width: 37ch;
  margin: clamp(24px, 2.5vw, 34px) 0;
  color: #fff;
  font-size: clamp(17px, 1.4vw, 21px) !important;
  line-height: 1.5 !important;
}
.page-hero-photo .hero-entry-action { background: #c80000; }
@media (max-width: 720px) {
  .page-hero-photo {
    min-height: 650px !important;
    padding: 64px 7vw !important;
    background-position: 56% center !important;
    background-image:
      linear-gradient(90deg, rgba(0, 0, 0, .84), rgba(0, 0, 0, .61)),
      url('/assets/para-ti-amanhecer.webp') !important;
  }
  .page-hero-photo .page-hero-message h1 { font-size: clamp(52px, 17vw, 88px); }
  .page-hero-photo .para-hero-kicker { margin-bottom: 24px; }
}
/* Text enlargement and reader-controlled spacing must reflow real grids. */
.contact-section { grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); }
.contact-section > *, .contact-grid > *, .lead-form > *,
.lead-form label, .split-dark > *, .check-list li,
.faith-doors > * { min-width: 0; max-width: 100%; }
.contact-intro, .lead-form, .check-list, .faith-doors a {
  overflow-wrap: anywhere;
}
.lead-form :is(input, textarea, select) { min-width: 0; max-width: 100%; }
.lead-form .button { max-width: 100%; white-space: normal; }
.split-dark { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.faith-doors { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.faith-doors a { padding-inline: clamp(24px, 3vw, 42px); }
@media (max-width: 1000px) {
  .contact-section, .split-dark, .faith-doors { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
  .contact-grid { grid-template-columns: minmax(0, 1fr); }
}
