/* Página inicial · presença, acolhimento e fotografias reais da igreja. */
body[data-page="home"] { --wrap:1360px; --header:104px; }
body[data-page="home"] .container { width:min(var(--wrap),calc(100% - 80px)); }
body[data-page="home"] .header-inner { width:min(1440px,calc(100% - 64px)); max-width:1440px; gap:28px; }
body[data-page="home"] .site-header { border-top:4px solid #ad633e; background:#fffdf7f5; }
body[data-page="home"] .brand { min-width:245px; gap:13px; }
body[data-page="home"] .brand img { width:62px; height:62px; }
body[data-page="home"] .brand small { display:block; margin:0 0 3px; color:#626750; font:600 12px/1.35 var(--sans)!important; letter-spacing:1.6px; }
body[data-page="home"] .brand strong { font:600 31px/1.05 var(--serif); letter-spacing:-.7px; }
body[data-page="home"] .desktop-nav { gap:20px; }
body[data-page="home"] .desktop-nav a { font-size:15px; }
body[data-page="home"] .header-actions { margin-left:auto; gap:10px; }

.welcome-home { position:relative; background:radial-gradient(ellipse at 84% 35%,#eee0c7 0,transparent 52%),#f7f3e9; }
.welcome-home:before { content:""; position:absolute; right:-100px; top:18%; width:480px; height:480px; border:1px solid #baa27b5c; border-radius:50%; pointer-events:none; }
.welcome-grid { position:relative; grid-template-columns:1fr 1.05fr; gap:36px; padding-top:62px; padding-bottom:66px; }
.welcome-copy { position:relative; z-index:2; padding-right:0; }
.welcome-copy .eyebrow { display:flex; align-items:center; gap:13px; font-size:14px; letter-spacing:2.8px; font-weight:700; }
.welcome-copy .eyebrow:before { content:""; width:36px; height:2px; background:#ac6540; }
.welcome-copy h1 { font-size:clamp(64px,6.55vw,96px); letter-spacing:-3.6px; line-height:1.02; margin:25px 0 28px; font-weight:500; }
.welcome-copy h1 em { display:inline; color:#a04a31; }
.welcome-copy>p { font-size:21px; line-height:1.7; max-width:43ch; color:#565e4d; }
.welcome-actions { gap:13px; margin:30px 0 28px; }
.welcome-actions .btn { font-size:16px; min-height:58px; padding:16px 23px; border-radius:8px; }
.welcome-actions .btn.primary { box-shadow:0 8px 22px #92452f1f; }
.welcome-location { max-width:100%; padding-top:21px; border-color:#c9c9b7; }
.welcome-location .location-icon { width:43px; height:43px; color:#4f5e3b; background:#e5e6d3; }
.welcome-location strong { font-size:15px; }
.welcome-location small { font-size:13px; margin-top:5px; }
.welcome-visual { padding:15px 0 48px 20px; }
.welcome-main-photo { margin:0 0 0 15px; position:relative; }
.welcome-main-photo:before { content:""; position:absolute; inset:-14px 13px 40px -14px; border:1px solid #bc9a65; border-radius:105px 18px 18px 18px; pointer-events:none; }
.welcome-main-photo img { width:100%; height:520px; object-fit:cover; object-position:center 100%; border-radius:94px 14px 14px 14px; position:relative; }
.welcome-main-photo figcaption { font-size:11px; padding:12px 0 0; color:#686958; }
.welcome-small-photo { width:168px; height:213px; left:-5px; bottom:2px; border:6px solid #fffdf7; border-radius:12px; object-position:45% 30%; box-shadow:0 15px 32px #3d402b24; }
.welcome-seal { right:-14px; top:-9px; width:106px; height:106px; color:#f8edcc; background:#455438; border:6px solid #f7f3e9; outline:1px solid #a0a67a; font-size:10px; letter-spacing:1.3px; transform:rotate(8deg); }
.welcome-seal b { font-size:27px; max-width:85px; }
.welcome-sunday { left:181px; right:9px; bottom:0; padding:20px 23px; border:1px solid #d9c7a6; background:#fffdf7; border-radius:12px; box-shadow:0 16px 36px #3d402b15; }
.welcome-sunday small { font-size:11px; color:#7f5b39; letter-spacing:1.3px; }
.welcome-sunday strong { font-size:28px; margin-top:7px; }

body[data-page="home"] .service-ribbon { background:#405035; border:0; color:#fff8e7; }
body[data-page="home"] .service-ribbon .container { max-width:1440px; }
body[data-page="home"] .service-item { padding:26px 23px; border-color:#edf2d329; min-height:102px; }
body[data-page="home"] .service-item b { color:#fff7e5; font-size:16px; line-height:1.4; }
body[data-page="home"] .service-item span { color:#e3e8d4; font-size:15px; margin-top:7px; }
body[data-page="home"] .section { padding:78px 0; }
body[data-page="home"] .kicker { font-size:13px; letter-spacing:2.1px; }
body[data-page="home"] .section-heading { margin-bottom:36px; }
body[data-page="home"] .section-heading h2 { font-size:clamp(38px,4.1vw,57px); letter-spacing:-1.5px; line-height:1.1; }
body[data-page="home"] .section-heading p { font-size:19px; line-height:1.65; max-width:62ch; }
body[data-page="home"] .section-heading>.text-link { font-size:16px; }
.quick-paths .path-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:19px; }
.quick-paths .path-card { position:relative; grid-column:span 2; padding:30px 32px; min-height:235px; border-radius:12px; background:#faf7ef; border:1px solid #ded9c9; overflow:hidden; }
.quick-paths .path-card:before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:#b87750; }
.quick-paths .path-card:after { content:"↗"; position:absolute; top:25px; right:28px; color:#8b5336; font-size:27px; }
.quick-paths .path-card:nth-child(n+4) { grid-column:span 3; min-height:205px; }
.quick-paths .path-card>span,.quick-paths .path-card .path-num { font-size:14px; letter-spacing:1.8px; }
.quick-paths .path-card b,.quick-paths .path-card h3 { font-size:33px; line-height:1.15; margin:25px 0 12px; }
.quick-paths .path-card p { font-size:18px; line-height:1.6; max-width:44ch; color:#575e4e; }
.quick-paths .path-card:hover { border-color:#aa6746; box-shadow:0 13px 28px #62573510; }
.quick-paths .path-card.path-give { background:#e9eddc; border-color:#cad1b7; }
.quick-paths .path-card.path-give:before { background:#62734c; }
.quick-paths .path-card.path-give:after { color:#586844; }

.life-home { background:#eedfca; border-top:1px solid #decbb0; border-bottom:1px solid #decbb0; }
.life-home-grid { gap:28px; grid-template-columns:1.15fr 1fr 1fr; }
.life-card img { height:320px; border-radius:12px; }
.life-card:first-child img { height:390px; }
.life-card small { font-size:12px; letter-spacing:1.3px; }
.life-card h3 { font-size:35px; line-height:1.12; }
.life-card p { font-size:18px; line-height:1.7; color:#5e5d4f; }
.life-card .text-link { font-size:16px; }
.life-video-tag { font-size:12px; padding:9px 13px; }
.daily-home-card { grid-template-columns:32% 1fr; border-radius:15px; border:1px solid #c9cdb5; }
.daily-home-side { background:#455539; padding:37px; }
.daily-home-side .daily-day { color:#eedbb0; font-size:88px; }
.daily-home-side small { color:#e1e8cf; font-size:15px; }
.daily-home-side blockquote { color:#fff8e9; font-size:28px; line-height:1.45; }
.daily-home-side cite { color:#f0d5a0; font-size:16px; }
.daily-home-main { padding:38px 43px; }
.daily-home-main h3 { font-size:41px; }
.daily-home-main .key-phrase { font-size:26px; }
.daily-home-main>p:not(.key-phrase) { font-size:18px; }
body[data-page="home"] .byline { font-size:14px; }
.next-events.dark { background:#f0f2e6; }
.event-card-preview { padding:28px 25px; }
.event-card-preview h3 { font-size:29px; }
.event-card-preview p { font-size:16px; }
#homeBanners .notice-card { min-height:270px; border-radius:12px; }
#homeBanners .notice-card h3,#homeBanners .notice-card.has-art h3 { font-size:31px; }
#homeBanners .notice-card p { font-size:18px; line-height:1.65; }
#homeBanners .notice-card a { font-size:15px; }
body[data-page="home"] .ministry-mini { padding:30px; }
body[data-page="home"] .ministry-mini h3 { font-size:30px; }
body[data-page="home"] .ministry-mini p { font-size:17px; line-height:1.7; }
body[data-page="home"] .ministry-mini small { font-size:14px; }
body[data-page="home"] .care-home h2,.community-grid h2 { font-size:clamp(37px,4.1vw,55px); }
body[data-page="home"] .care-home p,.community-grid p { font-size:19px; }
body[data-page="home"] .care-actions a { padding:25px; }
.community-invite { background:#97462f; color:#fff9ec; }
.community-invite .kicker { color:#f3d4a4; }
.community-grid h2 { color:#fff9ec; }
.community-grid p,.community-links span { color:#f5e3d2; }
.community-links strong { color:#fff9ec; font-size:24px; }
.community-links span { font-size:16px; line-height:1.6; }
.community-links a { border-color:#f4d5b357; padding:20px 4px; }
.pastor-card { border:0; background:#f1eddf; padding:42px; }
.pastor-card blockquote { font-size:33px; }
@media (prefers-reduced-motion:no-preference) {
 .welcome-copy { animation:welcome-in .65s ease-out both; }
 .welcome-visual { animation:welcome-in .8s .08s ease-out both; }
 @keyframes welcome-in { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
}
@media(max-width:1320px) {
 body[data-page="home"] .header-inner { gap:18px; }
 body[data-page="home"] .desktop-nav { gap:13px; }
 body[data-page="home"] .desktop-nav a { font-size:14px; }
 body[data-page="home"] .brand { min-width:222px; }
 body[data-page="home"] .brand strong { font-size:29px; }
 .welcome-grid { gap:27px; }
 .welcome-copy h1 { font-size:clamp(62px,6.55vw,86px); }
 .welcome-copy>p { font-size:20px; }
 .welcome-main-photo img { height:490px; }
 .welcome-actions .btn { padding:15px 19px; font-size:15px; }
 .welcome-small-photo { width:147px; height:185px; }
 .welcome-sunday { left:159px; padding:18px; }
 .welcome-sunday strong { font-size:25px; }
}
@media(max-width:1050px) {
 body[data-page="home"] .container { width:calc(100% - 56px); }
 .welcome-grid { grid-template-columns:1fr 1fr; gap:25px; padding-top:48px; padding-bottom:48px; }
 .welcome-copy h1 { font-size:67px; letter-spacing:-2.7px; }
 .welcome-copy .eyebrow { font-size:11px; letter-spacing:1.7px; gap:8px; }
 .welcome-copy .eyebrow:before { width:20px; }
 .welcome-copy>p { font-size:18px; }
 .welcome-main-photo img { height:450px; object-position:center 100%; }
 .welcome-visual { padding-left:0; }
 .welcome-main-photo { margin-left:0; }
 .welcome-small-photo { width:118px; height:156px; left:-8px; }
 .welcome-sunday { left:119px; right:0; padding:14px; }
 .welcome-sunday small { font-size:9px; }
 .welcome-sunday strong { font-size:22px; }
 .welcome-seal { width:86px; height:86px; font-size:8px; right:-8px; }
 .welcome-seal b { font-size:24px; }
 .quick-paths .path-card { padding:26px; }
 .quick-paths .path-card b,.quick-paths .path-card h3 { font-size:28px; }
 .quick-paths .path-card p { font-size:17px; }
 .life-card img,.life-card:first-child img { height:260px; }
 .life-card h3 { font-size:30px; }
 .life-card p { font-size:17px; }
 .daily-home-side { padding:29px; }
 .daily-home-main { padding:32px; }
 .daily-home-main h3 { font-size:35px; }
}
@media(min-width:761px) and (max-width:960px) {
 .welcome-grid { grid-template-columns:1fr; gap:42px; }
 .welcome-copy h1 { font-size:78px; }
 .welcome-copy>p { max-width:54ch; font-size:20px; }
 .welcome-location { max-width:510px; }
 .welcome-visual { width:100%; max-width:760px; margin-inline:auto; padding-left:18px; }
 .welcome-main-photo img { height:510px; }
 .welcome-small-photo { width:152px; height:193px; }
 .welcome-sunday { left:170px; right:8px; padding:20px; }
 .welcome-sunday strong { font-size:28px; }
}
@media(max-width:760px) {
 body[data-page="home"] { --header:88px; }
 body[data-page="home"] .container { width:calc(100% - 40px); }
 body[data-page="home"] .header-inner { width:calc(100% - 30px); gap:9px; }
 body[data-page="home"] .brand { min-width:0; gap:8px; }
 body[data-page="home"] .brand img { width:43px; height:43px; }
 body[data-page="home"] .brand strong { font-size:26px; }
 body[data-page="home"] .brand small { font-size:9px!important; letter-spacing:.9px; }
 body[data-page="home"] .header-actions { gap:7px; }
 body[data-page="home"] .header-pill { display:none; }
 body[data-page="home"] .menu-btn { min-width:43px; padding:8px; }
 body[data-page="home"] .menu-btn span { display:none; }
 body[data-page="home"] .portal-language select { min-height:40px; padding:6px 3px; font-size:11px; }
 .welcome-grid { display:flex; flex-direction:column; align-items:stretch; padding-top:35px; padding-bottom:34px; gap:35px; }
 .welcome-copy .eyebrow { font-size:11px; letter-spacing:1.7px; }
 .welcome-copy h1 { font-size:clamp(49px,10.5vw,74px); line-height:1.04; letter-spacing:-2px; margin:22px 0; }
 .welcome-copy>p { max-width:47ch; font-size:18px; line-height:1.65; }
 .welcome-actions { display:grid; grid-template-columns:1fr; gap:9px; margin:24px 0; }
 .welcome-actions .btn { font-size:14px; padding:13px 16px; min-height:51px; }
 .welcome-location strong { font-size:14px; }
 .welcome-location small { font-size:12px; }
 .welcome-visual { padding:11px 0 45px 10px; width:100%; }
 .welcome-main-photo { margin:0 0 0 0; }
 .welcome-main-photo img { height:clamp(310px,81vw,475px); border-radius:65px 12px 12px 12px; object-position:center 100%; }
 .welcome-main-photo:before { inset:-10px 12px 35px -10px; border-radius:74px 12px 12px 12px; }
 .welcome-main-photo figcaption { font-size:9px; padding-top:9px; }
 .welcome-small-photo { width:105px; height:139px; left:-4px; bottom:0; border-width:4px; }
 .welcome-seal { top:-3px; right:-4px; width:79px; height:79px; border-width:4px; font-size:7px; }
 .welcome-seal b { font-size:23px; }
 .welcome-sunday { left:110px; right:2px; bottom:0; padding:15px 12px; }
 .welcome-sunday strong { font-size:22px; }
 .welcome-sunday small { font-size:8px; letter-spacing:.6px; }
 body[data-page="home"] .service-ribbon .container { width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); }
 body[data-page="home"] .service-item { padding:20px 18px; min-height:102px; }
 body[data-page="home"] .service-item b { font-size:14px; }
 body[data-page="home"] .service-item span { font-size:13px; }
 body[data-page="home"] .section { padding:52px 0; }
 body[data-page="home"] .kicker { font-size:11px; }
 body[data-page="home"] .section-heading { margin-bottom:27px; }
 body[data-page="home"] .section-heading h2 { font-size:37px; letter-spacing:-.9px; }
 body[data-page="home"] .section-heading p { font-size:17px; }
 .quick-paths .path-grid { grid-template-columns:1fr; gap:13px; }
 .quick-paths .path-card,.quick-paths .path-card:nth-child(n+4) { grid-column:auto; min-height:0; padding:25px 27px; display:block; }
 .quick-paths .path-card>span,.quick-paths .path-card .path-num { font-size:12px; }
 .quick-paths .path-card b,.quick-paths .path-card h3,.quick-paths .path-card.path-give h3 { font-size:30px; margin:16px 0 9px; }
 .quick-paths .path-card p { font-size:17px; max-width:40ch; }
 .quick-paths .path-card:after { top:22px; right:25px; }
 .life-home-grid { grid-template-columns:1fr; gap:35px; }
 .life-card img,.life-card:first-child img { height:300px; }
 .life-card h3 { font-size:33px; }
 .life-card p { font-size:18px; }
 .daily-home-card { grid-template-columns:1fr; }
 .daily-home-side { padding:26px; grid-template-columns:76px 1fr; }
 .daily-home-side .daily-day { font-size:65px; }
 .daily-home-side small { font-size:14px; }
 .daily-home-side blockquote { font-size:26px; }
 .daily-home-main { padding:27px; }
 .daily-home-main h3 { font-size:33px; }
 .daily-home-main .key-phrase { font-size:24px; }
 .daily-home-main>p:not(.key-phrase) { font-size:17px; }
 .event-card-preview h3 { font-size:28px; }
 #homeBanners { grid-template-columns:1fr; }
 #homeBanners .notice-card { min-height:0; }
 body[data-page="home"] .ministry-preview-grid { grid-template-columns:1fr; }
 body[data-page="home"] .ministry-mini { padding:26px; }
 body[data-page="home"] .ministry-mini p { font-size:17px; }
 body[data-page="home"] .care-home h2,.community-grid h2 { font-size:37px; }
 body[data-page="home"] .care-home p,.community-grid p { font-size:18px; }
 .pastor-card { padding:26px; }
 .pastor-card blockquote { font-size:28px; }
}
@media(max-width:370px) {
 body[data-page="home"] .brand img { width:34px; height:34px; }
 body[data-page="home"] .brand strong { font-size:22px; }
 body[data-page="home"] .header-inner { width:calc(100% - 24px); }
 .welcome-actions .btn { width:100%; }
 .welcome-sunday strong { font-size:20px; }
 .welcome-copy h1 { font-size:47px; }
}
