
/* Leitura: títulos objetivos, texto maior e grupos com limites visíveis. */
:root{--muted:#465c6b;--surface:#eaf1f7;--line:#c9d6e0;--max:1180px}
body{font-size:1.0625rem;line-height:1.75}
h2,h3{font-family:var(--sans);font-weight:600;letter-spacing:-.02em;line-height:1.3}
h2{font-size:clamp(1.65rem,2.7vw,2.3rem)}
h3{font-size:1.35rem}
h1 em,h2 em,h3 em{font-style:normal;color:inherit}
.section{padding:64px 0;border-top:1px solid var(--line)}
.section-heading{margin-bottom:28px;gap:30px}
.eyebrow{font-size:.875rem;letter-spacing:.06em;margin-bottom:16px}
.prose,.intro-copy,.page-description,.hero-description,.section-description{font-size:1.0625rem;line-height:1.8}
main p:not(.eyebrow):not(.image-caption),.unit-card>p,.contact-options p:not(.eyebrow),.visit-schedule p,.faq details>p,.course-card p,.news-card p,.study-card p,.timeline p,.principles-grid p,.community-preview p:not(.eyebrow),.school-teaser p:not(.eyebrow){font-size:1rem;line-height:1.75}
main p:not(.eyebrow){max-width:68ch}
.prose p+p,.intro-copy p+p{margin-top:1.2em}
.text-link,.button,.hero-actions .text-link,.main-nav>a:not(.button){font-size:.9375rem}
.main-nav{gap:22px}.main-nav .button{min-width:100px}
.header-inner{min-height:88px}
.hero-grid{gap:52px;padding-block:48px}
.hero h1{font-size:clamp(2.65rem,4.8vw,4.15rem);line-height:1.13;letter-spacing:-.025em;max-width:18ch}
.hero-description{margin-top:24px;max-width:47ch}
.hero-figure{height:430px;border-top-right-radius:42px}
.hero-figure figcaption strong{font:600 1.25rem/1.4 var(--sans)}
.hero-figure figcaption>span{font-size:.875rem;letter-spacing:.05em}
.hero-actions{margin-top:27px}
.page-intro{padding:24px 0 43px;background:var(--navy);color:white;border:0}
.breadcrumbs{font-size:.875rem;color:#d3e2ec;margin-bottom:24px;gap:12px}
.breadcrumbs a{color:white;text-decoration:underline;text-underline-offset:3px}
.page-intro h1{font-size:clamp(2.2rem,3.8vw,3.15rem);line-height:1.2;letter-spacing:-.02em}
.page-description{color:#e1eaf1;margin-top:18px}
.page-intro .button{margin-top:25px}
.intro-grid,.story-grid,.timeline-layout,.faq-grid,.school-grid,.community-preview{gap:60px}
.unit-card{padding:30px;border-radius:5px}
.unit-card h3,.unit-detail-copy h2{font:600 1.65rem/1.3 var(--sans)}
.unit-top{margin-bottom:15px;letter-spacing:.04em}
.unit-label,.unit-contact>span,.study-meta,.news-date,.course-type,.course-card ul{font-size:.875rem;color:#465f72}
.unit-top>span:last-child{font-size:1.25rem}
.unit-contact{margin:22px 0}
.school-section{background:#f7f9fb}
.school-teaser{padding:32px;gap:30px;border-radius:5px}
.school-teaser h2{font-size:1.7rem}
.school-visual{min-height:300px;padding:42px}
.school-logo{margin-bottom:26px}
.school-visual p{font:400 1rem/1.7 var(--sans)}
.school-visual>span{font-size:.875rem;letter-spacing:.04em;margin-top:24px}
.school-grid h2{margin-bottom:20px}
.school-page-nav{background:#e4eef6;border-block:1px solid #c1d2df}
.school-page-nav .container{padding-block:15px}
.school-page-nav a{font-size:.9375rem}
#cursos{background:#eaf1f7}
#inscricoes{background:white}
#duvidas-cursos{background:#eff3f6}
#perguntas-biblicas{background:white}
#acervo{background:#eaf1f7}
.school-channels{width:100%;max-width:none;background:#eaf1f7;margin:0;padding:0 max(32px,calc((100% - 1180px)/2)) 45px}
.school-channels p{margin:0}
.course-card{padding:27px;border-radius:5px}
.course-card h3{font-size:1.45rem;line-height:1.3;margin-bottom:17px}
.course-type{letter-spacing:.04em;margin-bottom:17px}
.contact-options{border-radius:5px;background:white}
.contact-options h3{font-size:1.3rem}
.contact-page h2{font-size:1.6rem}
.contact-options .eyebrow{font-size:.875rem}
.faq{border:0;display:grid;gap:12px}
.faq details{background:white;border:1px solid #c3d2de;border-radius:5px}
.faq summary{padding:20px 50px 20px 23px;font-size:1rem;line-height:1.55}
.faq summary:after{right:22px;top:19px}
.faq details[open]{border-left:4px solid var(--navy)}
.faq details[open] summary{padding-bottom:14px}
.faq details>p{padding:0 23px 20px;color:var(--muted);margin:0}
.editorial-note{border:1px solid #bfd1df;border-left:4px solid var(--navy);background:#eaf1f7;padding:22px 25px;border-radius:4px}
.editorial-note>span{font-size:.875rem;letter-spacing:.025em;color:var(--ink)}
.study-grid{gap:20px}
.study-card{background:#f4f7fa;border-radius:5px;padding:25px;min-height:280px}
.study-card h2{font-size:1.35rem;margin:18px 0 14px}
.study-card .text-link,.news-card .text-link,.course-card .text-link{font-size:.9375rem}
.archive-banner{padding:50px 0}
.archive-banner .container{grid-template-columns:1fr}
.archive-banner h2{font:600 1.8rem/1.35 var(--sans)}
.archive-years{display:none}
.archive-banner p:not(.eyebrow){margin-top:15px}
.archive-banner .button{margin-top:22px}
.archive-layout{grid-template-columns:210px minmax(0,1fr);gap:38px;align-items:start}
.archive-layout aside{top:116px;border:1px solid var(--line);border-radius:5px;padding:20px;background:#edf3f8}
.archive-layout .eyebrow{font-size:1rem;font-weight:600;letter-spacing:0;text-transform:none}
.year-nav{gap:9px}
.year-nav a{background:white;padding:10px;min-height:46px;font-size:1rem;border-radius:3px}
.year-nav a>span{font-size:.875rem;color:#49687e}
.archive-layout aside>.text-link{font-size:.875rem;margin-top:21px}
.archive-year{background:white;border:1px solid #bfd0dd;border-radius:5px;overflow:hidden;margin-bottom:32px}
.archive-year h2{font:600 1.55rem/1.4 var(--sans);letter-spacing:0;padding:15px 23px;margin:0;background:#dfeaf3;border-bottom:1px solid #bfd0dd;gap:18px}
.archive-year h2>span{font:400 .9375rem/1.5 var(--sans);color:#344e62;letter-spacing:0}
.archive-year li:last-child{border-bottom:0}
.archive-year li:nth-child(even){background:#f2f6fa}
.archive-year li a{padding:18px 23px;grid-template-columns:76px minmax(0,1fr) 20px;gap:17px;font-size:1rem;line-height:1.65}
.archive-year li a:hover{background:#e5eff7;color:var(--navy)}
.archive-year li a:hover>span:nth-child(2){text-decoration:underline;text-underline-offset:3px}
.archive-year time{font-size:.875rem;color:#476277;align-self:start;padding-top:2px}
.archive-year li a>span:last-child{font-size:1.1rem;color:var(--navy)}
.community-photo{max-width:100%}
.community-photo img{max-height:410px;object-fit:cover;object-position:center 20%}
.community-heading{margin-top:42px}
.community-preview h2{font-size:clamp(1.65rem,2.7vw,2.3rem)}
.news-card{padding:25px;border:1px solid #c2d2de;border-top:3px solid var(--navy);border-radius:5px;background:#f4f7fa}
.news-card h3{font-size:1.3rem;margin:17px 0 14px;line-height:1.4}
.news-grid{gap:22px}
.home-study-grid{gap:22px}
.home-study-grid>a{padding:25px;background:#f0f5f9;border:1px solid #c3d3df;border-top:3px solid var(--navy);border-radius:5px}
.home-study-grid h3{font-size:1.3rem;line-height:1.4;margin:19px 0 25px}
.home-study-grid>a>span:first-child{font-size:.875rem;letter-spacing:.035em;color:#476277}
.small-link{font-size:.9375rem}
.principles-grid article{background:white;padding:25px;border:1px solid var(--line);border-radius:5px}
.principles-grid .number{display:none}
.principles-grid h3,.timeline h3{font-size:1.3rem;line-height:1.4}
.timeline li{padding-bottom:32px}
.timeline li>span{font:600 1.3rem/1.4 var(--sans)}
.timeline .text-link{font-size:.9375rem}
.north-panel{padding:35px}
.north-address{font:600 2.3rem/1.35 var(--sans);letter-spacing:-.02em}
.north-address em{font-style:normal;font-size:1.35em}
.north-panel>div>span{font-size:.9375rem;letter-spacing:0}
.contact-band{padding:38px 0}
.contact-band h2{font:600 1.6rem/1.4 var(--sans)}
.contact-band p{color:#d9e6ef;margin-top:10px}
.contact-band .button{flex-shrink:0}
.site-footer{background:#e9f0f5;border-top:1px solid #c3d2dd}
.footer-top{padding-block:42px}
.footer-top h2{font-size:1rem;margin-bottom:17px}
.footer-top>div>a:not(.brand),.footer-top p,.footer-bottom{font-size:.875rem;color:#465e70}
.social-list strong{font:600 1.2rem/1.5 var(--sans)}
.image-caption,figcaption:not(.hero-figure figcaption){font-size:.875rem;color:#486176}
@media(max-width:1120px){.main-nav{gap:18px}.main-nav>a:not(.button){font-size:.875rem}.hero-grid{gap:35px}.hero-figure{height:410px}.intro-grid,.story-grid,.timeline-layout,.faq-grid,.school-grid,.community-preview{gap:36px}.school-teaser{gap:25px}}
@media(max-width:900px){.header-inner{min-height:82px}.hero-grid{gap:28px}.hero h1{font-size:2.7rem}.hero-figure{height:400px}.archive-layout{grid-template-columns:175px minmax(0,1fr);gap:24px}.archive-layout aside{padding:16px}.archive-year h2{padding-inline:18px}.archive-year li a{padding-inline:18px;gap:12px;grid-template-columns:66px minmax(0,1fr) 17px}.course-card{display:flex}.course-card .text-link{margin-top:20px}.school-visual{padding:32px}.school-channels{padding-inline:32px}.news-grid{gap:18px}}
@media(max-width:680px){.section{padding:42px 0}.header-inner{min-height:78px}.hero-grid{padding-block:35px;gap:28px}.hero h1{font-size:2.65rem;max-width:19ch}.hero-figure{height:285px;border-top-right-radius:32px}.hero-actions{gap:17px}.hero-actions .text-link{font-size:.9375rem}.page-intro{padding:22px 0 32px}.page-intro h1{font-size:2.15rem;max-width:24ch}.breadcrumbs{font-size:.875rem;margin-bottom:18px}.page-description{margin-top:15px}.section-heading{gap:20px;margin-bottom:24px}.intro-grid,.story-grid,.timeline-layout,.faq-grid,.school-grid,.community-preview{gap:28px}h2,.school-teaser h2,.community-preview h2{font-size:1.65rem}.unit-card{padding:24px}.unit-top{gap:15px}.unit-label,.unit-contact>span{font-size:.875rem}.school-visual{padding:30px;min-height:260px}.school-teaser{padding:27px}.school-channels{padding:0 20px 36px}.faq summary{padding:18px 45px 18px 19px}.faq summary:after{right:17px;top:17px}.faq details>p{padding:0 19px 20px}.course-card{padding:24px}.contact-options article{padding:25px}.archive-layout{display:block}.archive-layout aside{position:static;margin-bottom:26px;padding:18px}.year-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.year-nav a{font-size:.9375rem;padding:8px 4px}.archive-year h2{font-size:1.45rem;padding:14px 17px}.archive-year h2>span{font-size:.875rem}.archive-year li a{grid-template-columns:minmax(0,1fr) 18px;gap:6px 12px;padding:15px 17px;font-size:1rem}.archive-year time{grid-column:1;padding:0}.archive-year li a>span:nth-child(2){grid-column:1}.archive-year li a>span:last-child{grid-column:2;grid-row:1/3}.archive-banner{padding:38px 0}.archive-banner h2{font-size:1.65rem}.community-photo img{max-height:270px}.community-heading{margin-top:32px}.news-card{padding:23px}.home-study-grid h3{font-size:1.3rem}.contact-band{padding:32px 0}.contact-band .container{gap:22px}.footer-top{padding-block:34px}.footer-bottom{font-size:.875rem}.north-address{font-size:2.1rem}}
@media print{.page-intro,.surface,.archive-year h2{background:white;color:black}.page-description,.breadcrumbs{color:black}.archive-layout aside{display:none}.archive-layout{display:block}.archive-year{break-inside:avoid}}


/* Detalhes da identidade visual, com a linguagem simplificada preservada. */
.hero-copy::before,
.page-intro h1::before {
  content: "";
  display: block;
  width: 52px;
  height: 2px;
  margin-bottom: 22px;
  background: var(--gold);
}
.section-heading h2::before,
.intro-grid h2::before,
.story-grid h2::before,
.school-grid h2::before,
.timeline-layout > div > h2::before,
.faq-grid > div > h2::before,
.community-preview h2::before,
.archive-callout h2::before {
  content: "";
  display: block;
  width: 46px;
  height: 2px;
  margin-bottom: 17px;
  background: linear-gradient(to right, var(--navy) 0 30px, var(--gold) 30px);
}
.school-teaser {
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 24px rgb(12 54 89 / 8%);
}
.school-teaser::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 58px;
  height: 3px;
  background: var(--gold);
}
.unit-card,
.course-card,
.news-card,
.home-study-grid > a {
  box-shadow: 0 4px 18px rgb(12 54 89 / 4%);
}

/* As dimensões HTML reservam espaço; a altura acompanha a largura final. */
.school-teaser > img,
.school-logo {
  height: auto;
  object-fit: contain;
}
.school-teaser > img {
  width: 100%;
  max-width: 200px;
  aspect-ratio: 847 / 301;
  justify-self: start;
}
.community-preview > figure {
  width: 100%;
  max-width: 540px;
  min-width: 0;
  margin: 0;
}
.community-preview img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  object-position: center;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgb(12 54 89 / 9%);
}
.community-preview figcaption {
  margin-top: 14px;
  padding-left: 12px;
  border-left: 2px solid var(--gold);
  font-size: .875rem;
  line-height: 1.55;
}
@media (max-width: 680px) {
  .hero-copy::before,
  .page-intro h1::before { margin-bottom: 18px; width: 42px; }
  .school-teaser > img { max-width: 190px; }
  .community-preview > figure { max-width: 100%; }
}
@media print {
  .hero-copy::before,
  .page-intro h1::before,
  .section-heading h2::before,
  .intro-grid h2::before,
  .story-grid h2::before,
  .school-grid h2::before,
  .timeline-layout > div > h2::before,
  .faq-grid > div > h2::before,
  .community-preview h2::before,
  .archive-callout h2::before,
  .school-teaser::after { display: none; }
}
