/* Composiciones construidas con HTML; los videos son referencias de maquetación. */
.disciples-section { position:relative; display:grid; grid-template-columns:52.5% 47.5%; min-height:56.25vw; background:radial-gradient(ellipse at 10% 45%,#dba767 0,transparent 35%),radial-gradient(ellipse at 44% 100%,#e5bb91 0,transparent 43%),#f5f3ef; color:#351900; isolation:isolate; }
.disciples-section::before { content:''; position:absolute; inset:0; z-index:-1; opacity:.15; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%238b7861' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E"); }
.disciples-copy { padding:10.8vw 6.9vw 8vw 5.8vw; align-self:center; }
.disciples-copy h2 { margin:0 0 2vw; font:400 5.5vw/1.12 Arial,Helvetica,sans-serif; letter-spacing:-.025em; }
.disciples-copy h2 strong,.disciples-copy h2 span { display:block; }
.disciples-copy h2 strong { font-weight:800; }
.disciples-copy p { margin:0 0 1.5vw 3.2vw; font:400 1.7vw/1.05 'Century Gothic',Arial,sans-serif; letter-spacing:-.04em; }
.disciples-copy p:last-child { margin-bottom:0; }
.disciples-copy em { font-weight:800; }
.disciples-photo { position:relative; min-width:0; overflow:hidden; }
.disciples-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.purpose-section { position:relative; isolation:isolate; padding:5.7vw 5.2vw 5vw; background:#ab691b; color:#341a04; }
.purpose-heading { position:relative; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding-bottom:1.2vw; }
.purpose-heading h2 { position:relative; margin:0; font:800 6.7vw/1 Arial,Helvetica,sans-serif; letter-spacing:-.055em; }
.purpose-brush { position:absolute; z-index:-1; width:29vw; height:19vw; left:-5.2vw; top:-5.7vw; overflow:visible; pointer-events:none; }
.purpose-more { display:inline-flex; align-items:center; gap:12px; padding:8px 0; background:none; border:0; color:inherit; font:700 14px/1.2 Arial,sans-serif; letter-spacing:.04em; cursor:pointer; transition:color .3s ease,transform .3s ease; }
.purpose-more svg { width:26px; fill:none; stroke:currentColor; stroke-width:1.5; transition:transform .3s ease; }
.purpose-more:hover { color:#fff5e4; }
.purpose-more:hover svg { transform:translateX(5px); }
.purpose-grid { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3.3vw; }
.purpose-grid::before { content:''; position:absolute; top:0; left:-5.2vw; right:-5.2vw; height:1px; background:#eac69c; }
.purpose-card { position:relative; min-width:0; border-inline:1px solid #eac69c; color:#ead0ab; }
.purpose-card-inner { height:100%; display:flex; flex-direction:column; transition:transform .35s ease,box-shadow .35s ease; }
.purpose-card-inner:hover { transform:translateY(-4px); box-shadow:0 10px 24px #5a220026; }
.purpose-image { position:relative; overflow:hidden; aspect-ratio:var(--photo-ratio); background:#292929; }
.purpose-image img { position:absolute; top:var(--photo-top); left:0; width:100%; max-width:none; height:auto; display:block; }
.purpose-image h3 { position:absolute; bottom:0; left:0; right:0; margin:0; padding:3px; color:#fff; background:linear-gradient(transparent,#70532b66); text-align:center; font:800 2.55vw/1 Arial,sans-serif; letter-spacing:-.02em; }
.purpose-text { padding:1.5vw .75vw 0; text-align:center; font:400 1.35vw/.99 'Century Gothic',Arial,sans-serif; letter-spacing:-.025em; }
.purpose-text p { margin:0 0 1.4vw; }
.purpose-text em { font-weight:700; }
.purpose-card .purpose-more { align-self:center; margin:auto 12px 12px; font-size:12px; }
.school-curriculum { position:relative; padding:6vw 7.45% 4vw; background:radial-gradient(ellipse at 88% 0%,#eab082ad,transparent 41%),radial-gradient(ellipse at 36% 83%,#d9b477ba,transparent 48%),#f4f2ed; }
.school-curriculum .curriculum { position:relative; top:auto; left:auto; width:100%; height:16vw; min-height:190px; }
.school-curriculum .curriculum::before { top:0; height:100%; left:-3vw; }
.school-curriculum .school-action { position:relative; right:auto; bottom:auto; width:max-content; max-width:100%; margin:4vw 0 0 auto; }
.school-curriculum .school-contact { padding:14px 28px; font-size:15px; }
.purpose-dialog { width:min(92vw,740px); max-height:88svh; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#ae8651 #271b20; }
.purpose-dialog .modal-close { position:sticky; top:0; float:right; margin:-22px -22px 8px 12px; background:#271b20; border-radius:6px; }
.purpose-dialog p { margin:0 0 18px; }
@keyframes deslizarSuave { from { opacity:0; transform:translateY(60px) scale(.96); } to { opacity:1; transform:translateY(0) scale(1); } }
.school-main .animar-hero { animation:deslizarSuave .9s cubic-bezier(.16,1,.3,1) both; animation-delay:calc(.15s + var(--retardo,0s)); }
.school-motion-ready .school-main .animar-scroll:not(.ejecutar) { opacity:0; transform:translateY(60px) scale(.96); }
.school-main .animar-scroll.ejecutar { animation:deslizarSuave .9s cubic-bezier(.16,1,.3,1) both; animation-delay:var(--retardo,0s); }
.school-main .animar-scroll:not(.entrada-completa) { will-change:transform,opacity; }
@media(min-width:1600px) { .purpose-more { font-size:17px; } .purpose-card .purpose-more { font-size:15px; } }
@media(max-width:900px) {
  .purpose-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
  .purpose-image h3 { font-size:clamp(25px,4vw,38px); }
  .purpose-text { font-size:17px; line-height:1.25; padding:20px 16px 0; }
  .purpose-text p { margin-bottom:20px; }
  .purpose-card .purpose-more { font-size:13px; margin-bottom:20px; }
  .disciples-copy p { line-height:1.2; }
}
@media(max-width:700px) {
  .disciples-section { display:flex; flex-direction:column; }
  .disciples-copy { padding:56px 8%; }
  .disciples-copy h2 { font-size:clamp(32px,9vw,60px); margin-bottom:28px; }
  .disciples-copy p { font-size:18px; line-height:1.4; margin:0 0 20px; letter-spacing:-.02em; }
  .disciples-photo { width:100%; aspect-ratio:1/1; }
  .purpose-section { padding:54px 7% 40px; }
  .purpose-heading { align-items:center; flex-wrap:wrap; gap:10px; padding-bottom:22px; }
  .purpose-heading h2 { font-size:clamp(36px,11vw,70px); }
  .purpose-brush { width:65vw; height:40vw; left:-7vw; top:-54px; }
  .purpose-grid::before { left:-7vw; right:-7vw; }
  .purpose-grid { gap:24px; }
  .purpose-text { padding:18px 12px 0; }
  .school-curriculum { padding:54px 8% 40px; }
  .school-curriculum .curriculum { margin:0; height:auto; }
  .school-curriculum .school-action { width:100%; margin-top:35px; }
  .purpose-modal-grid { grid-template-columns:1fr; }
}
@media(max-width:480px) { .purpose-grid { grid-template-columns:1fr; gap:30px; } .purpose-image h3 { font-size:34px; } }
@media(prefers-reduced-motion:reduce) {
  .purpose-card-inner,.purpose-more,.purpose-more svg { transition:none; }
}
