/* All top-level links share one text box; the underline never changes its height. */
.site-header nav { align-items:center; }
.site-header nav > a { position:relative; }
.site-header nav > a::after { position:absolute; left:0; bottom:0; margin:0; }
/* Full-width activity mega-menu: native links, a disclosure on small screens. */
.site-header .nav-activities { position:static; display:flex; align-items:center; gap:12px; min-width:0; }
.site-header .activities-parent { display:inline-flex; align-items:center; gap:7px; position:relative; }
.site-header .activities-parent::after { position:absolute; left:0; bottom:0; margin:0; }
.activities-chevron { font:inherit; line-height:1; transform:translateY(-2px); }
.activities-toggle { display:none; border:1px solid #b9afa2; background:transparent; color:#191919; padding:10px 14px; min-height:44px; font:700 13px/1.4 'DM Sans',sans-serif; cursor:pointer; }
.activities-toggle[hidden],.activities-submenu[hidden] { display:none!important; }
.nav-activities:has(.activities-toggle[aria-expanded='true']) .activities-chevron { transform:rotate(180deg); }
.activities-toggle:focus-visible,.activities-submenu a:focus-visible { outline:3px solid #996000; outline-offset:3px; }
.site-header .activities-submenu { position:absolute; z-index:30; top:100%; left:50%; transform:translateX(-50%); width:calc(100% - 8%); max-width:1320px; max-height:min(75vh,700px); overflow-y:auto; display:grid; grid-template-columns:minmax(0,2.2fr) minmax(0,1fr); gap:36px; padding:34px; background:#f4f1ec; border:1px solid #d2c9bc; border-top:4px solid #c80000; border-radius:0 0 8px 8px; box-shadow:0 18px 36px #0003; box-sizing:border-box; }
.activities-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 16px; align-content:start; }
.activities-links > p { grid-column:1/-1; color:#9f0000; font:700 12px/1.5 'DM Sans',sans-serif; letter-spacing:.12em; margin:0 0 16px; }
.site-header .activities-submenu a { display:block; font-size:16px; font-weight:600; line-height:1.4; padding:12px; white-space:normal; color:#191919; border-radius:3px; }
.site-header .activities-submenu a::after { display:none; }
.site-header .activities-links a:hover,.site-header .activities-links a[aria-current='page'] { background:#e3dacc; color:#990000; }
.activities-editorial { background:#e8e0d3; padding:24px; min-width:0; border-left:3px solid #c80000; }
.activities-editorial > p:first-child { color:#9f0000; font:700 11px/1.5 'DM Sans',sans-serif; letter-spacing:.1em; margin:0 0 18px; }
.activities-editorial h2 { font:800 34px/.97 'Barlow Condensed',sans-serif; margin:0 0 16px; letter-spacing:-.02em; }
.activities-editorial-copy { font:400 16px/1.6 'DM Sans',sans-serif; margin:0 0 18px; }
.site-header .activities-editorial a { padding:0; color:#980000; text-decoration:underline; text-underline-offset:4px; }
@media(min-width:851px) and (max-width:1050px) { .site-header .activities-submenu { grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:24px; padding:24px; } .activities-links { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:850px) {
 .site-header nav { position:absolute; left:0; right:0; }
 .site-header nav.open { top:100%; max-height:calc(100svh - 110px); overflow-y:auto; }
 .site-header .nav-activities { grid-column:1/-1; position:relative; flex-wrap:wrap; justify-content:space-between; }
 .activities-toggle { display:inline-flex; }
 .site-header .activities-submenu { flex:1 0 100%; position:static; width:100%; transform:none; max-height:none; padding:20px; margin:8px 0; grid-template-columns:minmax(0,1fr); gap:24px; box-shadow:none; background:#ebe4d9; }
 .activities-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
 .activities-editorial { padding:20px; }
}
@media(max-width:400px) { .activities-links { grid-template-columns:minmax(0,1fr); } .activities-editorial h2 { font-size:30px; } }
main > section:first-child:is(.page-hero,.identity-hero,.faith-hero,.cv-hero) { min-height:clamp(580px,46vw,700px)!important; height:auto!important; aspect-ratio:auto; box-sizing:border-box; }
.quem-somos-page .identity-hero,.page-hero-photo { display:flex!important; align-items:center; padding:76px 6%!important; }
.quem-somos-page .identity-hero > div:first-child,.page-hero-photo > div:first-child { width:min(760px,100%)!important; max-width:760px; }
.quem-somos-page .identity-hero h1,.page-hero-photo .page-hero-message h1 { font-size:clamp(56px,6.5vw,96px); line-height:.95; max-width:13ch; letter-spacing:-.025em; }
.quem-somos-page .identity-hero .lede,.page-hero-photo .lede { max-width:45ch; margin:28px 0; }
.quem-somos-page .identity-hero { background-image:linear-gradient(90deg,#000d 0%,#000b 50%,#0006 100%),url('/assets/real/montanha-03.webp')!important; }
.page-hero-photo { background-image:linear-gradient(90deg,#000d 0%,#000b 50%,#0006 100%),url('/assets/home-montanha.webp')!important; }
.hero-entry-action { margin-top:24px; }
main [id] { scroll-margin-top:120px; }
@media(max-width:850px) {
 main > section:first-child:is(.page-hero,.identity-hero,.faith-hero,.cv-hero) { min-height:560px!important; }
 .quem-somos-page .identity-hero,.page-hero-photo { padding:60px 6%!important; }
 .quem-somos-page .identity-hero h1,.page-hero-photo .page-hero-message h1 { font-size:clamp(48px,10vw,70px); }
}
.activity-mergulho .page-hero { background-image:linear-gradient(90deg,#000d,#000a),url('/assets/activities/atividade-mergulho-grupo.webp'); background-position:center 80%; }
.activity-retiros .page-hero { background-image:linear-gradient(90deg,#000d,#000a),url('/assets/activities/atividade-retiro-oracao.webp'); }
@media(max-width:750px) {
 .activity-mergulho .page-hero { background-image:linear-gradient(90deg,#000d,#000a),url('/assets/activities/atividade-mergulho-grupo-800.webp'); background-image:linear-gradient(90deg,#000d,#000a),image-set(url('/assets/activities/atividade-mergulho-grupo-480.webp') 1x,url('/assets/activities/atividade-mergulho-grupo-800.webp') 2x,url('/assets/activities/atividade-mergulho-grupo-1200.webp') 3x,url('/assets/activities/atividade-mergulho-grupo.webp') 4x); }
 .activity-retiros .page-hero { background-image:linear-gradient(90deg,#000d,#000a),url('/assets/activities/atividade-retiro-oracao-800.webp'); background-image:linear-gradient(90deg,#000d,#000a),image-set(url('/assets/activities/atividade-retiro-oracao-480.webp') 1x,url('/assets/activities/atividade-retiro-oracao-800.webp') 2x,url('/assets/activities/atividade-retiro-oracao-1200.webp') 3x,url('/assets/activities/atividade-retiro-oracao-1600.webp') 4x); }
}
.activity-family .page-hero { background-image:linear-gradient(90deg,#000d,#000a),url('/assets/home-montanha.webp'); }
@media(max-width:850px) {
 .site-header nav { position:absolute; left:0; right:0; top:100%; width:100%; box-sizing:border-box; display:none; }
 .site-header nav.open { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Supporting hero copy must remain readable on the dark photographic surface. */
.page-hero .free-note { color:#fff; }
/* Documentary galleries show complete people and never inherit strip heights. */
.activity-specific .mini-real-gallery { grid-template-columns:minmax(0,1fr); padding:56px 8vw 80px; }
.activity-specific .mini-real-gallery figure { height:auto; width:100%; max-width:1000px; margin:0 auto; overflow:visible; }
.activity-specific .mini-real-gallery img { width:100%; height:auto; filter:none; }
.activity-family .mini-real-gallery figure { max-width:560px; }
.activity-motos .activity-gallery { grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:32px; padding:56px 8vw 80px; align-items:center; }
.activity-motos .activity-gallery figure { height:auto; overflow:visible; background:transparent; }
.activity-motos .activity-gallery img { height:auto; filter:none; }
.activity-motos .activity-gallery figcaption { font-size:16px; line-height:1.6; text-transform:none; letter-spacing:0; color:#504b45; padding-top:12px; }
@media(max-width:720px) { .activity-motos .activity-gallery { grid-template-columns:minmax(0,1fr); gap:32px; } .activity-motos .page-hero { background-size:cover,100% auto; background-repeat:no-repeat; background-position:center bottom; } }

/* Card headings must fit the tablet track without splitting words. */
.igrejas-page .card h3 { font-size:clamp(30px,3.6vw,38px); }

.nav-churches .activities-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
.nav-faith .activities-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:400px) { .nav-churches .activities-links { grid-template-columns:minmax(0,1fr); } }
@media(max-width:400px) { .nav-faith .activities-links { grid-template-columns:minmax(0,1fr); } }
