.training-section,.school-subjects-section {
  position:relative; isolation:isolate; color:#17130f;
  background:#f0e9dd url('../escuela/history-texture.png') no-repeat center top / cover;
}
.training-section { min-height:56.25vw; padding:11.3vw 7.6% 4vw; background-image:linear-gradient(180deg,transparent 65%,#fff 100%),url('../escuela/history-texture.png'); }
.training-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5vw; }
.training-section::before { content:''; position:absolute; top:7.7vw; left:0; right:0; height:1px; background:#fffdf3; }
.training-column { position:relative; text-align:center; }
.training-column::before { content:''; position:absolute; left:calc(50% - 15px); top:-3.6vw; width:30px; height:30px; background:white; filter:drop-shadow(0 0 3px #fff); clip-path:polygon(50% 0,55% 29%,63% 16%,63% 35%,80% 29%,70% 44%,100% 50%,71% 56%,83% 70%,64% 65%,63% 85%,55% 71%,50% 100%,45% 72%,36% 85%,36% 64%,18% 70%,29% 56%,0 50%,29% 44%,18% 29%,36% 35%,36% 15%,45% 29%); }
.training-column h2 { margin:0 0 .6vw; font:800 1.45vw/1.08 Arial,sans-serif; color:#a06200; }
.training-column p { max-width:23.5vw; margin:0 auto 1.35vw; font:400 1.33vw/1.08 'Century Gothic',Arial,sans-serif; letter-spacing:-.02em; }
.training-column .training-emphasis { font-weight:800; font-style:italic; }
.school-subjects-section { min-height:56.25vw; padding:8.8vw 10.9% 8.8vw 24.6%; }
.school-subjects-section::before { content:''; position:absolute; left:16.4%; top:0; bottom:0; width:1px; background:#a56818; }
.school-subjects-section::after { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:url('../escuela/subjects-paint.svg') no-repeat center / 100% 100%; opacity:.9; }
.school-subjects-title { position:absolute; top:4.1vw; left:2.8%; width:11vw; height:45vw; margin:0; color:#ad720f; }
.school-subjects-title span { position:absolute; top:50%; left:50%; width:45vw; text-align:center; white-space:nowrap; transform:translate(-50%,-50%) rotate(90deg); font:800 3.6vw/.98 Arial,sans-serif; letter-spacing:-.045em; }
.school-subjects-panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(0,1fr)); min-height:38.5vw; padding:2.4vw 7vw; gap:1.8vw 3.2vw; border:1px solid #bd964b; background:#fff; }
.school-subject-node { display:flex; align-items:center; justify-content:center; min-width:0; }
.school-subject-trigger { display:flex; align-items:center; justify-content:flex-start; gap:.4vw; width:100%; min-height:8vw; border:0; padding:1vw 0; background:transparent; color:#1b160e; cursor:pointer; border-radius:8px; transition:transform .5s cubic-bezier(.16,1,.3,1),background .5s,box-shadow .5s; }
.school-subject-trigger:hover { transform:translateY(-4px); background:#b8860b08; box-shadow:0 10px 20px #b8860b14; }
.school-subject-trigger:focus-visible { outline:2px solid #a66b12; outline-offset:5px; }
.school-subject-icon { flex:none; width:3.1vw; height:3.6vw; color:#ac751e; }
.school-subject-icon svg { display:block; width:100%; height:100%; }
.school-subject-label { position:relative; max-width:15vw; text-align:left; padding-bottom:.4vw; font:700 1.18vw/1.06 Arial,sans-serif; text-transform:uppercase; }
.school-subject-label::after { content:''; position:absolute; bottom:0; left:0; width:55%; height:4px; background:#a36a15; clip-path:polygon(0 35%,100% 0,93% 62%,25% 100%,0 85%); }
.school-subject-node:nth-child(2) .school-subject-label,.school-subject-node:nth-child(3) .school-subject-label,.school-subject-node:nth-child(6) .school-subject-label { color:#a36a15; }
.school-subject-node:nth-child(2) .school-subject-icon,.school-subject-node:nth-child(3) .school-subject-icon,.school-subject-node:nth-child(6) .school-subject-icon { color:#121212; }
.school-subject-node:nth-child(2) .school-subject-label::after,.school-subject-node:nth-child(3) .school-subject-label::after,.school-subject-node:nth-child(6) .school-subject-label::after { background:#121212; }
.school-subject-dialog { width:min(900px,88vw); max-width:88vw; max-height:82svh; overflow:auto; padding:58px 36px 36px 26px; border:1px solid #d9ac535c; border-radius:12px; background:radial-gradient(ellipse at 50% 0,#34383c55,transparent 58%),linear-gradient(150deg,#161a1e 0%,#030405 52%,#101317 100%); color:#f8f8f5; box-shadow:inset 0 1px 0 #ffffff0c,0 24px 70px #000a; scrollbar-color:#a68137 #0a0d10; }
.school-subject-dialog::backdrop { background:#020407b3; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.school-subject-dialog .modal-close { position:sticky; top:-44px; float:right; right:auto; margin:-44px -20px 0 0; display:grid; place-items:center; width:38px; height:38px; border:1px solid #dfb44f80; border-radius:8px; background:#101419; color:#ffdc78; line-height:1; z-index:2; cursor:pointer; transition:background .25s,color .25s,box-shadow .25s; }
.school-subject-dialog .modal-close:hover { background:#352814; color:#fff3ce; box-shadow:0 0 14px #d9ac5338; }
.school-subject-dialog .modal-close:focus-visible { outline:2px solid #ffdc78; outline-offset:3px; }
.school-subject-modal-body { display:grid; grid-template-columns:145px minmax(0,1fr); align-items:center; gap:28px; }
.school-subject-modal-icon { color:#efbc4f; filter:drop-shadow(0 0 12px #d5a53d26); }
.school-subject-modal-icon svg { display:block; width:100%; max-height:210px; }
.school-subject-modal-copy { text-align:center; }
.school-subject-dialog h2 { margin:0 0 24px; color:#ffda78; font:700 23px/1.25 Arial,sans-serif; }
.school-subject-dialog p { margin:0 0 20px; color:#f8f8f5; font:400 15px/1.55 Arial,sans-serif; }
.school-subject-dialog p:last-child { margin-bottom:0; }
@media(min-width:1700px) { .school-subject-dialog { width:980px; } .school-subject-dialog p { font-size:16px; } }
@media(max-width:1000px) {
  .training-column h2 { font-size:18px; }
  .training-column p { font-size:16px; line-height:1.3; max-width:none; margin-bottom:20px; }
  .school-subjects-panel { padding:24px 4vw; }
  .school-subject-label { font-size:15px; padding-bottom:12px; max-width:none; }
  .school-subject-icon { width:42px; height:42px; }
  .school-subject-trigger { gap:12px; min-height:120px; }
}
@media(max-width:700px) {
  .training-section { padding:55px 8% 30px; }
  .training-section::before { display:none; }
  .training-grid { grid-template-columns:1fr; gap:40px; }
  .training-column { padding-top:36px; border-top:1px solid #fff; }
  .training-column::before { top:-15px; }
  .training-column h2 { font-size:20px; margin-bottom:18px; }
  .training-column p { font-size:17px; line-height:1.4; }
  .school-subjects-section { padding:35px 6% 45px; }
  .school-subjects-section::before { display:none; }
  .school-subjects-title { position:relative; inset:auto; width:100%; height:auto; margin:0 0 30px; text-align:center; }
  .school-subjects-title span { position:static; display:block; width:auto; transform:none; white-space:normal; font-size:clamp(22px,5.5vw,34px); line-height:1.1; }
  .school-subjects-panel { min-height:0; padding:18px; gap:18px; }
  .school-subject-trigger { padding:12px 4px; }
  .school-subject-dialog { width:90vw; max-width:90vw; padding:60px 18px 28px; }
  .school-subject-modal-body { grid-template-columns:65px minmax(0,1fr); gap:14px; align-items:start; }
  .school-subject-modal-icon { position:sticky; top:32px; }
  .school-subject-dialog h2 { font-size:18px; }
  .school-subject-dialog p { font-size:14px; line-height:1.55; }
  .school-subject-dialog .modal-close { top:-46px; margin:-46px -4px 0 0; }
}
@media(max-width:430px) { .school-subjects-panel { grid-template-columns:1fr; } .school-subject-trigger { min-height:125px; } .school-subject-label { font-size:16px; } }
