@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--orange:#3fc5e9;--ink:#253260;--paper:#ffffff;--line:#d7d7cf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #1663a1;outline-offset:6px}.skip{position:fixed;left:20px;top:-100px;background:white;padding:15px;z-index:20}.skip:focus{top:10px}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper)}.brand{display:flex;align-items:center;gap:13px;line-height:1.3}.brand strong{font-size:44px;font-weight:800;letter-spacing:-4px;line-height:1}.brand strong span{font-size:12px;letter-spacing:0;vertical-align:top;margin-left:4px}.brand>span{font-size:12px;letter-spacing:1px;font-weight:700;border-left:1px solid #b9bbb4;padding-left:13px}nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:600}nav a:hover{text-decoration:underline;text-underline-offset:6px}.nav-cta{border:1px solid var(--ink);border-radius:5px;padding:12px 22px}.nav-cta span{margin-left:22px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px}.hero-copy{background:var(--orange);padding:45px 10% 25px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;line-height:1.5;margin:0 0 22px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1{font-size:clamp(64px,6.8vw,112px);font-weight:800;line-height:.99;letter-spacing:-6px;margin-bottom:28px}em{font-style:normal}h1 em{color:#fff8ed}.intro{max-width:430px;font-size:17px;line-height:1.7;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:54px;padding:15px 23px;font-size:14px;font-weight:700;border-radius:4px;transition:transform .2s}.button:hover{transform:translateY(-3px)}.dark{background:var(--ink);color:white}.light{background:var(--paper);color:var(--ink)}.button span{font-size:22px;line-height:1}.hero-bottom{display:flex;justify-content:space-between;border-top:1px solid #29251f55;margin-top:48px;padding-top:17px;font-size:10px;letter-spacing:1.4px;font-weight:700}.hero-photo{position:relative;overflow:hidden;background:#3a4037;min-height:600px}.hero-photo img{width:100%;height:100%;object-fit:cover;position:absolute;object-position:center}.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,#0009)}.photo-copy{position:absolute;left:9%;right:9%;bottom:64px;color:white}.photo-copy>span{font-size:11px;letter-spacing:2px;font-weight:600}.photo-copy p{font-size:clamp(38px,4vw,64px);font-family:Manrope,Arial,sans-serif;font-weight:600;letter-spacing:-2px;line-height:1.12;margin:18px 0 0}.photo-copy a{position:absolute;bottom:5px;right:0;border:1px solid #fffa;border-radius:50%;height:48px;width:48px;text-align:center;padding-top:6px;font-size:24px}.photo-note{position:absolute;bottom:13px;right:20px;font-size:10px;color:#fff;opacity:.8}.mission-strip{display:flex;justify-content:space-evenly;gap:20px;align-items:center;padding:22px;background:var(--ink);color:white;font-size:13px;letter-spacing:2px;font-weight:500}.mission-strip b{color:var(--orange);font-size:26px;line-height:1}.section{padding:100px 7%}.family{display:grid;grid-template-columns:1fr 1fr;gap:80px}.orange{color:#126383}h2{font-size:clamp(38px,4.1vw,64px);letter-spacing:-2.8px;line-height:1.12;font-weight:600;margin-bottom:28px}h2 em{color:#126383}.family-copy{padding-top:26px;color:#55574f;max-width:570px}.lead{font-size:23px;color:var(--ink);line-height:1.5}.values{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.values span{border:1px solid #cccfc4;border-radius:40px;padding:7px 15px;font-size:13px;color:var(--ink)}.groups{background:#edf7fc}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:44px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:385px;margin-bottom:4px;color:#585b51}.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.group-card{padding:32px;background:var(--paper);border-radius:4px;position:relative}.card-number{font-size:11px;font-weight:600;letter-spacing:1.5px;color:#686b62}.group-card h3{font-size:29px;line-height:1.25;font-weight:600;letter-spacing:-1px;margin:34px 0 18px}.group-card p{font-size:16px;color:#62645b}.card-word{display:block;border-top:1px solid var(--line);padding-top:20px;margin-top:35px;font-size:11px;letter-spacing:2px;font-weight:600}.group-invite{display:flex;justify-content:space-between;gap:45px;align-items:center;margin-top:40px}.group-invite h3{font-size:23px;margin-bottom:6px;font-weight:600}.group-invite p{max-width:680px;margin:0;color:#606257}.group-invite .button{white-space:nowrap}.path{background:var(--ink);color:var(--paper)}.path h2 em{color:var(--orange)}.path .eyebrow{color:#80dcf4}.path .section-heading>p{color:#c0c2b8}.steps{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;margin:60px 0 35px;padding:0;gap:30px}.steps li{border-top:1px solid #61645b;padding-top:25px}.steps li>span{color:#80dcf4;font-size:14px}.steps h3{font-size:21px;font-weight:500;letter-spacing:-.4px;margin:23px 0 12px}.steps p{color:#bfc2b6;font-size:15px;line-height:1.7}.text-link{font-size:15px;border-bottom:1px solid #b7b9ae;padding-bottom:10px;display:inline-block}.text-link span{margin-left:45px}.faq{display:grid;grid-template-columns:1fr 1fr;gap:65px}.questions details{border-bottom:1px solid var(--line);padding:22px 0}.questions details:first-child{padding-top:0}.questions summary{cursor:pointer;font-size:18px;font-weight:500;list-style:none;padding-right:25px;position:relative}.questions summary::-webkit-details-marker{display:none}.questions summary:after{content:'+';position:absolute;right:0;font-size:22px;color:#126383}.questions details[open] summary:after{content:'−'}.questions p{color:#606257;margin:16px 22px 0 0}.visit{background:var(--orange);padding:75px 7%;display:flex;justify-content:space-between;gap:60px}.visit h2 em{color:#fff8ed}.visit p{font-size:17px}.visit .button{margin-top:15px}.visit-address{min-width:260px;align-self:center;border-left:1px solid #68240d66;padding-left:55px}.visit-address>p{font-size:25px;line-height:1.4}.visit-address hr{border:0;border-top:1px solid #68240d66;margin:28px 0}.visit-address .small{font-size:16px;line-height:1.7}footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:30px;padding:45px 5%}footer p{font-size:14px;color:#64665b;margin:0}footer>a:not(.brand){font-size:13px}.copyright{width:100%;border-top:1px solid var(--line);padding-top:22px;font-size:12px;color:#6a6d61;margin-top:10px}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero-copy{padding-top:65px}}@media(max-width:1000px){header{padding:0 4%}nav{gap:19px}.hero-copy{padding:35px 8% 25px}h1{font-size:76px;letter-spacing:-4px}.hero-bottom{gap:20px}.section{padding:70px 5%}.family,.faq{gap:40px}.section-heading{gap:35px}.group-card{padding:24px}.steps{gap:18px}.steps h3{font-size:17px}.visit{padding:65px 5%}.visit-address{padding-left:30px}.mission-strip{font-size:10px;letter-spacing:1px}}@media(max-width:720px){header{height:85px;padding:0 6%;position:relative;z-index:10}.brand strong{font-size:38px}.brand>span{font-size:10px}.menu{display:flex;align-items:center;gap:14px;background:none;border:1px solid #c6c7be;border-radius:4px;padding:8px 12px;font-size:14px}nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--paper);padding:20px 6% 28px;box-shadow:0 15px 20px #0001;align-items:stretch;gap:0}nav.open{display:flex;flex-direction:column}nav a{padding:14px 0}.nav-cta{padding:12px 16px;margin-top:10px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:34px 7% 23px}.eyebrow{font-size:10px;letter-spacing:1.5px}h1{font-size:76px;line-height:1.02;letter-spacing:-4px}.intro{font-size:16px}.hero-bottom{margin-top:32px;font-size:9px}.hero-photo{min-height:440px}.photo-copy p{font-size:44px}.photo-copy{bottom:47px}.mission-strip{padding:20px 15px;gap:12px;flex-wrap:wrap;font-size:9px}.mission-strip b:last-child{display:none}.mission-strip b{font-size:18px}.section{padding:58px 7%}.family,.faq{grid-template-columns:1fr;gap:20px}h2{font-size:40px;letter-spacing:-1.8px}.family-copy{padding-top:0}.lead{font-size:21px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:22px}.group-grid{grid-template-columns:1fr;gap:16px}.group-card{padding:28px}.group-card h3{margin-top:22px}.card-word{margin-top:24px}.group-invite{display:block}.group-invite .button{margin-top:22px}.steps{grid-template-columns:1fr;margin-top:35px;gap:22px}.steps li{display:grid;grid-template-columns:34px 1fr;gap:0 15px;padding-top:18px}.steps h3{font-size:22px;margin:0}.steps p{grid-column:2;margin:8px 0 0}.steps li>span{padding-top:5px}.faq h2{margin-bottom:12px}.questions summary{font-size:16px}.visit{display:block;padding:55px 7%}.visit-address{margin-top:45px;border-left:0;border-top:1px solid #68240d66;padding:30px 0 0}.visit-address>p{font-size:23px}.visit-address hr{max-width:280px;margin-left:0}footer{padding:35px 7%;gap:25px}footer p{width:100%}.copyright{margin-top:0}.button{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.brand img{object-fit:contain;flex:none}.brand>span{font-size:12px}nav{gap:20px}nav a[aria-current=page]{color:#126383;text-decoration:underline;text-underline-offset:8px}h1 em{color:#253260}.hero-copy{background:#3fc5e9}.hero{min-height:640px}.identity-panel{background:#253260;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:55px;color:white;text-align:center}.identity-logo{width:min(54%,285px);height:auto;filter:drop-shadow(0 12px 35px #0003);background:white;border-radius:50%;padding:20px}.identity-panel p{font:500 clamp(24px,2.8vw,40px)/1.3 Manrope,Arial,sans-serif;letter-spacing:-1px;margin:35px 0}.identity-panel>span{font-size:13px;letter-spacing:2px}.actions{display:flex;flex-wrap:wrap;gap:12px}.outline{border:1px solid #253260;color:#253260}.hero-bottom{font-size:12px;letter-spacing:.7px}.eyebrow,.card-number,.card-word{font-size:12px}.page-intro{padding:65px 7%;background:#eaf7fc;border-bottom:1px solid #cfe5f1}.page-intro h1{font-size:clamp(48px,6vw,84px);line-height:1.08;letter-spacing:-3px;max-width:920px;margin:22px 0}.page-intro h1 em{color:#126383}.page-intro .lead{max-width:750px;margin:0}.family-copy{color:#4b5262}.group-card p,.group-invite p,.section-heading>p{color:#4b5262}.annual{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:55px}.annual img{width:100%;height:auto;border-radius:6px}.annual h2{font-size:clamp(32px,3.2vw,48px)}.narrow{max-width:820px}.group-grid{row-gap:25px}.group-card .text-link{display:block;width:fit-content;margin-top:20px;color:#126383}.values span{font-size:14px}blockquote{border-left:4px solid #3fc5e9;margin:32px 0;padding:0 0 0 25px;font-size:24px;line-height:1.5}cite{display:block;font-size:14px;font-style:normal;margin-top:15px}.visit{background:#253260;color:white}.visit h2 em{color:#80dcf4}.visit-address{border-color:#ffffff55}.visit-address hr{border-color:#ffffff55}.visit-address .button{font-size:14px}.questions summary:after{color:#126383}.footer-links{display:flex;gap:24px;flex-wrap:wrap;width:100%;font-size:14px}.journey{max-width:1200px;margin:auto}.journey-step{display:grid;grid-template-columns:100px 1fr;gap:30px;border-bottom:1px solid #d3e0ea;padding:35px 0}.journey-step>span{font-size:50px;font-family:Manrope,Arial,sans-serif;font-weight:700;color:#126383}.journey-step h2{font-size:34px;letter-spacing:-1px;margin-bottom:18px}.journey-step p{max-width:760px}.journey-step .eyebrow{margin-bottom:12px}.path .lead{color:white}.event{display:grid;grid-template-columns:200px 1fr;gap:50px}.event-date{border-top:4px solid #126383;padding-top:25px}.event-date strong{font-size:60px;line-height:1.2;display:block}.event-date span{font-size:14px;font-weight:700}.event .lead{max-width:800px}.hero .intro{font-size:18px}.mission-strip{font-size:12px}.button{font-size:15px}.brand img{width:52px;height:52px}header .brand strong{font-size:36px}
@media(max-width:1100px){header{height:auto;min-height:100px;gap:20px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}nav{gap:16px;font-size:14px}.brand>span{display:none}}
@media(max-width:720px){header{height:85px;min-height:85px;padding:10px 6%;flex-wrap:nowrap}.brand img{height:45px;width:45px}.brand>span{display:block;font-size:9px}.brand strong{font-size:30px!important}.identity-panel{padding:45px 25px}.identity-logo{width:165px}.identity-panel p{font-size:28px;margin:25px 0}.hero{min-height:0}.hero h1{font-size:68px}.hero-bottom{font-size:12px;flex-wrap:wrap}.page-intro{padding:45px 7%}.page-intro h1{font-size:48px;letter-spacing:-2px}.annual{grid-template-columns:1fr;gap:30px}.journey-step{grid-template-columns:42px 1fr;gap:18px}.journey-step>span{font-size:30px}.journey-step h2{font-size:27px}.event{grid-template-columns:1fr;gap:28px}.event-date{max-width:200px}.mission-strip{font-size:12px;letter-spacing:.4px}.mission-strip b{display:none}.group-card{min-width:0}.footer-links{flex-direction:column;gap:13px}h1,h2,h3{overflow-wrap:break-word}.eyebrow,.card-number{font-size:12px}nav.open{gap:0}.intro{max-width:100%}.actions .button{max-width:100%;white-space:normal}}

/* Official horizontal church identity, preserving the supplied artwork. */
.brand-horizontal{display:block;flex:0 1 310px;width:310px;max-width:100%;line-height:0}
.brand-horizontal>span.logo-frame,.logo-frame{display:block;position:relative;width:100%;aspect-ratio:3.66;overflow:hidden;border:0;padding:0;background:#fff}
.logo-frame img,.brand-horizontal .logo-frame img{position:absolute;display:block;width:121.3%;max-width:none;height:auto;left:-10.7%;top:-26.9%;object-fit:contain}
.hero-wordmark{width:100%;max-width:560px;background:white;padding:25px 20px;border-radius:5px}
header{background:white}footer .brand-horizontal{flex-basis:310px}
@media(min-width:721px) and (max-width:1100px){header .brand-horizontal{flex-basis:265px;width:265px}header{justify-content:center}}
@media(max-width:720px){header{justify-content:space-between;gap:16px}.brand-horizontal{flex:0 1 250px;width:250px;min-width:0}header .menu{flex-shrink:0;padding:8px;font-size:13px}.hero-wordmark{max-width:440px;padding:18px 12px}footer .brand-horizontal{flex-basis:290px}}
@media(max-width:380px){header .brand-horizontal{width:210px;flex-basis:210px}}

/* Contacto institucional JTL */

.jtl-wa-launch{position:fixed;right:20px;bottom:20px;z-index:1000;border:0;border-radius:28px;background:#126c42;color:white;padding:15px 22px;font:700 16px Arial;box-shadow:0 5px 24px #0003;cursor:pointer}
.jtl-wa-dialog{border:0;border-radius:18px;padding:26px;max-width:390px;width:calc(100% - 64px);color:#253260;font:16px/1.5 Arial;box-shadow:0 12px 50px #0004}.jtl-wa-dialog::backdrop{background:#0007}.jtl-wa-dialog h2{font-size:25px;margin:4px 0 12px}.jtl-wa-dialog button,.jtl-wa-dialog a{font:inherit}.jtl-wa-close{float:right;border:0;background:#edf2f7;border-radius:50%;width:36px;height:36px;cursor:pointer}.jtl-wa-options{display:grid;gap:9px}.jtl-wa-options a{display:block;text-decoration:none;padding:12px;border-radius:8px;background:#126c42;color:white}.jtl-wa-notice{background:#edf2f7;padding:12px;border-radius:8px}.jtl-wa-dialog p{margin:12px 0}.jtl-wa-dialog small{display:block;margin-top:14px;font-size:14px}

.social-links{display:flex;flex-wrap:wrap;gap:16px}.social-links a{font-size:16px} footer{padding-bottom:100px}

/* Aportes institucionales */
.giving-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}.giving-bank{background:#edf7fb;border:1px solid #b7dce7;padding:32px;border-radius:12px;min-width:0}.giving-bank h2{font-size:2rem}.giving-bank dl{margin:24px 0}.giving-bank dt{font-size:14px;font-weight:700;margin-top:18px}.giving-bank dd{margin:4px 0 0;font-size:18px;overflow-wrap:anywhere}.giving-account{font-size:25px!important;font-weight:800;letter-spacing:.04em}.giving-steps{min-width:0}.giving-steps li{margin:0 0 18px}.giving-steps a{overflow-wrap:anywhere}.giving-home{display:flex;gap:30px;align-items:center;justify-content:space-between;background:#edf7fb}.giving-home .button{flex-shrink:0}.giving-bank button[hidden]{display:none}#copy-status{min-height:24px;font-size:14px}
@media(max-width:850px){.giving-layout{grid-template-columns:1fr;gap:30px}.giving-home{display:block}.giving-home .button{margin-top:20px}.giving-bank{padding:22px}.giving-home .button{white-space:normal;text-align:center}}

.jtl-wa-dialog{max-height:85dvh;overflow-y:auto}.jtl-pastoral{border-top:1px solid #c9d6e3;margin-top:20px;padding-top:16px}.jtl-pastoral h3{font-size:18px;margin:0}.jtl-pastoral p{font-size:15px}.jtl-pastoral-link{display:block;background:#253260;color:#fff;padding:12px;border-radius:8px;text-decoration:none;overflow-wrap:anywhere}.jtl-wa-dialog a:focus-visible,.jtl-wa-launch:focus-visible{outline:3px solid #3fc5e9;outline-offset:3px}

/* Fotografías reales de nuestra casa */
.hero-real-photo{position:relative;min-height:570px;overflow:hidden;background:#152241}.hero-real-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:53% 50%}.hero-photo-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(4,19,44,.94));color:white;padding:90px 32px 32px}.hero-photo-caption span{font-size:14px;letter-spacing:.12em;font-weight:700}.hero-photo-caption p{font-size:30px;font-weight:700;margin:12px 0 0}.pastors-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;background:#edf7fb}.pastors-photo{margin:0;background:linear-gradient(145deg,#dff7fc,#b0e7f4);border-radius:12px;overflow:hidden;line-height:0}.pastors-photo img{display:block;width:100%;height:auto}.pastors-section h2{font-size:clamp(2rem,3.8vw,3.6rem)}.pastors-section .button{margin-top:12px}.life-gallery{background:#10244b;color:#fff}.life-gallery .eyebrow,.life-gallery h2 em{color:#5cd9ef}.life-gallery .section-heading p{color:#e2eaf2}.life-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:32px}.life-grid figure{margin:0;min-width:0}.life-grid img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:8px}.life-grid figcaption{padding:22px 0 0}.life-grid figcaption span{font-size:14px;letter-spacing:.1em;color:#5cd9ef}.life-grid h3{font-size:24px;margin:8px 0 0}.message-photo{margin:0 auto 60px;max-width:1100px;padding:0 24px}.message-photo img{display:block;width:100%;height:auto;border-radius:12px}.message-photo figcaption{font-size:16px;margin-top:14px}
@media(max-width:720px){.hero-real-photo{min-height:0;aspect-ratio:3/2}.hero-photo-caption{padding:55px 22px 22px}.hero-photo-caption p{font-size:23px}.pastors-section{grid-template-columns:1fr;gap:30px}.pastors-photo{max-width:560px}.life-grid{grid-template-columns:1fr;gap:38px}.message-photo{padding:0 20px}.hero-photo-caption span{font-size:12px}}

/* Portadas de las próximas actividades */
.upcoming-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:stretch}.school-banner{background:linear-gradient(140deg,#102041,#253260);color:#fff;border-radius:14px;padding:38px;display:flex;flex-direction:column;justify-content:center;min-width:0;border-top:6px solid #3fc5e9}.school-banner-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;font-weight:700;letter-spacing:.08em}.online-badge{background:#3fc5e9;color:#102041;padding:7px 12px;border-radius:30px}.school-start{margin:40px 0 8px;color:#61d8ed;font-size:20px;letter-spacing:.15em;font-weight:800}.school-banner h2{font-size:clamp(2rem,4.2vw,4.5rem);line-height:1.06;letter-spacing:-.035em;margin:0 0 30px}.school-banner h2 em{font-style:normal;color:#61d8ed}.school-date{display:flex;align-items:center;gap:24px;padding:20px 0;border-top:1px solid #ffffff44;border-bottom:1px solid #ffffff44}.school-date>strong{font-size:76px;line-height:1;color:#61d8ed}.school-date>div{display:grid;gap:6px;font-size:17px}.school-date b{font-size:22px}.school-banner>p:not(.school-start){font-size:18px;max-width:420px;margin:24px 0}.school-banner .button{align-self:flex-start}.seminar-banner{background:#edf7fb;border-radius:14px;padding:18px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-width:0}.seminar-banner>a:first-child{display:block;width:100%}.seminar-banner img{width:100%;height:auto;max-height:580px;object-fit:contain;display:block}.seminar-banner .button{text-align:center;white-space:normal}.seminar-poster img{display:block;width:100%;height:auto;border-radius:10px}.event:has(.seminar-poster){grid-template-columns:minmax(250px,.85fr) minmax(0,1.3fr);gap:40px;align-items:start}.school-agenda .school-banner{max-width:900px;margin:auto}.school-agenda .school-banner h2{font-size:clamp(2rem,5vw,4.5rem)}[data-highlight-until][hidden]{display:none}.upcoming-home[hidden]{display:none}
@media(max-width:850px){.upcoming-grid{grid-template-columns:1fr}.school-banner{padding:26px}.school-banner h2{font-size:clamp(2rem,8vw,4rem)}.school-start{margin-top:30px}.school-date{gap:18px}.school-date>strong{font-size:64px}.school-date b{font-size:20px}.event:has(.seminar-poster){grid-template-columns:1fr}.seminar-poster{max-width:520px;margin:auto}.seminar-banner img{max-height:620px}.school-banner-top{font-size:12px}}

/* Mantente conectado: carrusel accesible */
.activity-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0}.activity-controls[hidden]{display:none}.activity-controls button,.activity-dots button{border:1px solid #253260;background:white;color:#253260;padding:10px 16px;border-radius:24px;cursor:pointer;min-height:44px}.activity-controls button{font-family:inherit;font-size:14px;font-weight:700}.activity-count{font-size:15px;min-width:42px;text-align:center}.activity-controls button:hover,.activity-dots button[aria-current="true"]{background:#253260;color:white}.activity-controls button:focus-visible,.activity-dots button:focus-visible{outline:3px solid #159bbf;outline-offset:3px}.carousel-ready .upcoming-grid{display:block;overflow:hidden;min-height:640px}.carousel-ready .upcoming-grid>article{min-height:640px;box-sizing:border-box}.carousel-ready .upcoming-grid>article[hidden]{display:none}.carousel-ready .school-banner{padding:44px 7%;background:linear-gradient(115deg,#0c1b36,#253260 70%,#185578)}.carousel-ready .seminar-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:28px}.carousel-ready .seminar-banner img{max-height:580px}.carousel-ready .seminar-banner>a.button{justify-self:center;max-width:340px}.activity-active{animation:activity-enter .5s ease-out}.activity-dots{display:flex;gap:10px;justify-content:center;margin-top:20px}.activity-dots button{font-family:inherit;font-size:14px;min-width:44px;padding:8px}.activity-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@keyframes activity-enter{from{opacity:.2;transform:translateX(28px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:720px){.carousel-ready .upcoming-grid{min-height:660px}.carousel-ready .upcoming-grid>article{min-height:660px}.carousel-ready .school-banner{padding:28px 24px}.carousel-ready .seminar-banner{display:flex;padding:16px;gap:20px}.carousel-ready .seminar-banner img{max-height:520px}.activity-controls{gap:8px}.activity-controls button{padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.activity-active{animation:none}}

.seminar-carousel-copy{padding:20px;min-width:0}.seminar-carousel-copy h3{font-size:clamp(1.7rem,3vw,3rem);line-height:1.15;margin:16px 0}.seminar-carousel-copy p{font-size:18px}.seminar-carousel-copy .button{margin-top:16px}@media(max-width:720px){.seminar-carousel-copy{padding:0 8px 12px;text-align:center}.seminar-carousel-copy h3{font-size:1.6rem}.carousel-ready .seminar-banner img{max-height:350px}.seminar-carousel-copy p{font-size:16px;margin:10px 0}.seminar-carousel-copy .eyebrow{display:none}}

/* Ajuste editorial y retícula adaptable: octubre 2026 */
main,section,article,.section-heading>div,.family>div,.faq>div,.annual>div,.pastors-section>div,.visit>div{min-width:0}
h1,h2,h3{word-break:normal;overflow-wrap:normal;hyphens:none;text-wrap:balance}
p{ text-wrap:pretty }
.section,.page-intro,.visit{padding-inline:clamp(20px,7vw,126px)}
.group-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));align-items:stretch;gap:24px}
.group-card{display:flex;flex-direction:column;min-width:0;padding:clamp(22px,2.4vw,32px);border:1px solid #dce6ee;border-radius:10px}
.group-card h3{font-size:clamp(24px,2.3vw,29px);line-height:1.25;letter-spacing:-.6px;margin:24px 0 18px;text-wrap:balance}
.group-card p{margin-bottom:24px}.group-card p:last-child{margin-bottom:0}
.group-card .text-link,.group-card .card-word{margin-top:auto}
.meeting-title{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.meeting-title>span{white-space:nowrap}.meeting-time{font-family:'DM Sans',Arial,sans-serif;font-size:20px;font-weight:600;letter-spacing:0;color:#126383}
.button{max-width:100%;gap:16px;white-space:normal;line-height:1.45;text-align:left}
.group-invite .button{white-space:normal;flex-shrink:0}.button>span{flex-shrink:0}
.section-heading{align-items:center}.section-heading>p{flex:0 1 385px}
.hero h1{font-size:clamp(48px,6.5vw,104px);letter-spacing:-.05em}
.page-intro h1{font-size:clamp(38px,6vw,84px);letter-spacing:-.04em}
h2{font-size:clamp(32px,4.1vw,64px);letter-spacing:-.04em}
.eyebrow,.card-number{line-height:1.6}
.school-banner h2{font-size:clamp(28px,5vw,68px)}
.school-banner-top{flex-wrap:wrap}.school-date{gap:18px}.school-date>div{min-width:0}
.school-date b{font-size:clamp(16px,2.2vw,22px)}.school-date>div>span{font-size:16px}
.activity-controls button,.activity-dots button{font-family:inherit;font-size:14px;font-weight:700}
.jtl-wa-dialog h2{letter-spacing:-.02em;line-height:1.25}.jtl-wa-dialog{width:calc(100% - 32px)}
footer{align-items:flex-start}.footer-links{gap:16px 28px}.social-links{gap:12px 20px}
@media(max-width:1100px){
 header{position:relative;z-index:20;min-height:88px;height:auto;justify-content:space-between;flex-wrap:nowrap;padding:12px 5%;gap:20px}
 header .menu{display:flex;align-items:center;gap:10px;background:white;border:1px solid #b9c9d8;border-radius:6px;padding:10px 12px;font-size:14px;flex-shrink:0;min-height:44px}
 header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:16px 5% 24px;box-shadow:0 16px 24px #10244b18;align-items:stretch;gap:0}
 header nav.open{display:flex;flex-direction:column}header nav a{padding:13px 0}header nav .nav-cta{padding:12px 16px;margin-top:8px}
 .family,.faq,.pastors-section,.annual{gap:32px}.visit{gap:32px}.visit-address{min-width:0;flex:0 1 340px;padding-left:28px}
}
@media(min-width:721px) and (max-width:1000px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero h1{font-size:clamp(46px,6.5vw,65px)}.hero-copy{padding-inline:8%}.hero .intro{font-size:16px}}
@media(max-width:720px){
 .group-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(48px,12vw,76px)}
 .family,.faq,.pastors-section,.annual{grid-template-columns:1fr;gap:28px}
 .section-heading{display:block}.section-heading>p{max-width:100%}
 .visit-address{padding:24px 0 0;margin-top:28px;border-left:0;border-top:1px solid #ffffff55}
 .school-agenda .school-banner h2{font-size:clamp(28px,8vw,48px)}
 .school-banner,.carousel-ready .school-banner{padding:26px 20px}
 .school-date>strong{font-size:56px}.school-date{gap:14px}
 .group-invite .button{width:100%;justify-content:center}
 .journey-step{grid-template-columns:32px minmax(0,1fr);gap:14px}.journey-step h2{font-size:clamp(24px,6vw,29px)}
 .jtl-wa-launch{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-width:calc(100% - 24px);font-size:14px;min-height:48px;padding:12px 18px}
 .giving-bank{padding:20px}.giving-account{font-size:22px!important}.giving-bank h2{font-size:28px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* Formación: detalle del módulo dentro de Camino JTL */
.school-module{margin:26px 0;padding:clamp(20px,3vw,30px);background:#edf7fb;border-left:4px solid #3fc5e9;border-radius:0 10px 10px 0}
.school-module h3{font-size:clamp(22px,2.5vw,28px);line-height:1.3;letter-spacing:-.5px;margin:0 0 18px}
.school-module ol{padding-left:24px;margin:18px 0}.school-module li{padding-left:4px;margin:10px 0}.school-module p:last-child{margin-bottom:0}
