/* Línea gráfica compartida: rojo, blanco, amarillo y capas suaves. */
:root{--graphic-red:#c82032;--graphic-ink:#26333b;--graphic-copy:#5c6b73;--graphic-line:#f0dce1;--graphic-pink:#fcecef;--graphic-shadow:0 6px 0 #f6e5e9,0 15px 28px #81091d0c}
.pillar-grid{gap:24px}
.pillar-grid>.pillar,.values-grid>.value-card,.aims-grid>.aim-card,.admission-steps>li,.journey-grid>.journey-card{position:relative;min-width:0;border:1px solid var(--graphic-line);border-radius:20px;background:linear-gradient(135deg,#fff 68%,#fff9fa);color:var(--graphic-ink);box-shadow:var(--graphic-shadow);transition:translate .3s cubic-bezier(.2,.7,.25,1),box-shadow .3s}
.pillar-grid>.pillar{padding:100px 24px 28px}
.pillar-grid>.pillar .index{position:absolute;left:-1px;top:13px;display:grid;place-items:center;width:72px;height:53px;border-radius:0 18px 18px 0;background:var(--graphic-red);color:#fff;font-size:25px;font-weight:800;letter-spacing:-.04em}
.pillar-grid>.pillar .icon-box{position:absolute;right:22px;top:17px;width:55px;height:55px;border:1px solid #f7dce2;border-radius:50%;background:var(--graphic-pink);color:var(--graphic-red);margin:0}
.pillar-grid>.pillar .icon-box .icon{width:27px;height:27px}
.pillar-grid>.pillar h3{font-size:20px;line-height:1.3;margin-bottom:16px}
.pillar-grid>.pillar h3:after,.values-grid>.value-card h3:after,.aims-grid>.aim-card h3:after,.admission-steps h3:after{content:'';display:block;width:39px;height:3px;border-radius:3px;background:var(--yellow);margin-top:14px}
.pillar-grid>.pillar p,.values-grid>.value-card p,.aims-grid>.aim-card p,.admission-steps p{color:var(--graphic-copy);font-size:13px;line-height:1.8}
.values-grid{gap:24px}
.values-grid>.value-card{padding:78px 23px 26px}
.values-grid>.value-card>span,.aims-grid>.aim-card>span{position:absolute;left:-1px;top:12px;display:grid;place-items:center;width:63px;height:45px;border-radius:0 16px 16px 0;background:var(--graphic-red);color:#fff;font-size:20px;line-height:1;font-weight:800;letter-spacing:-.03em;margin:0}
.values-grid>.value-card h3{font-size:20px;margin:0 0 15px;overflow-wrap:normal}
.values-grid>.value-card p{margin:0}
.aims-grid{gap:26px}
.aims-grid>.aim-card{padding:87px 28px 29px}
.aims-grid>.aim-card h3{font-size:24px;line-height:1.25;margin:0 0 18px}
.aims-grid>.aim-card p{margin:0}
.aims-grid>.aim-card:before,.values-grid>.value-card:before{content:'';position:absolute;right:23px;top:21px;width:23px;height:23px;border:5px solid #f8e2e7;border-radius:50%}
.journey-grid{gap:26px}
.journey-grid>.journey-card{padding:88px 28px 28px}
.journey-grid>.journey-card>.journey-number{position:absolute;left:-1px;top:13px;display:grid;place-items:center;width:70px;height:48px;border-radius:0 17px 17px 0;background:var(--graphic-red);color:#fff;font-size:23px;line-height:1;margin:0;letter-spacing:-.04em}
.journey-grid>.journey-card h3{font-size:28px;margin-bottom:18px}
.journey-grid>.journey-card p{color:var(--graphic-copy);font-size:13px;line-height:1.85}
.journey-grid>.journey-card .text-link{justify-content:space-between;gap:14px;width:100%;padding:12px 16px;margin-top:auto;border-radius:25px;background:var(--graphic-pink);color:var(--graphic-red);font-size:12px}
.journey-grid>.journey-card .text-link .icon{width:20px;height:20px}
.level-grid>.level-card{border:2px solid #fff;border-radius:21px;box-shadow:0 7px 0 #f5c4ce77,0 17px 28px #78091b1c;transition:translate .3s cubic-bezier(.2,.7,.25,1),box-shadow .3s}
.level-grid>.level-card .level-art{border-bottom:1px solid #efdce0}
.level-grid>.level-card h3{color:var(--graphic-ink)}
.level-grid>.level-card .text-link{border:0;border-radius:26px;background:var(--graphic-pink);color:var(--graphic-red);padding:13px 18px}
.level-grid>.level-card:hover{transform:none}
.level-grid>.level-card:focus-visible{outline:3px solid #ffd85b;outline-offset:7px}
.admission-steps{gap:24px}
.admission-steps>li{display:block;padding:91px 25px 28px}
.admission-steps>li>span{position:absolute;left:-1px;top:13px;width:72px;height:51px;border:0;border-radius:0 17px 17px 0;background:var(--graphic-red);color:#fff;font-size:24px;margin:0}
.admission-steps>li:not(:last-child):after{display:none}
.admission-steps h3{font-size:19px;line-height:1.35;margin-bottom:16px}
.admission-steps p{margin:0}
.school-schedule,.soft-section .school-schedule{background:#fff;color:var(--graphic-ink);border:1px solid var(--graphic-line);border-radius:18px;box-shadow:0 5px 0 #f6e5e8;padding:24px;gap:16px}
.school-schedule>.icon{width:45px;height:45px;flex-shrink:0;padding:10px;background:var(--graphic-pink);border-radius:50%;color:var(--graphic-red);margin-top:0;stroke-width:1.8}
.school-schedule h3{color:var(--graphic-ink);line-height:1.4}
.school-schedule p{color:var(--graphic-copy)}
.school-schedule strong{color:var(--graphic-ink)}
.school-schedule .text-link{color:var(--graphic-red)}
.prompt-stack>div{border:1px solid var(--graphic-line);border-radius:17px;box-shadow:0 5px 0 #f6e5e8;color:var(--graphic-ink)}
.prompt-stack>div>span{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:11px;background:var(--graphic-red);color:#fff;font-size:12px}
.prompt-stack>div:nth-child(3){background:#fff;border-color:var(--graphic-line)}
.prompt-stack>div:nth-child(3)>span{background:var(--graphic-red);color:#fff}
.faq-list details,.faq-list details:first-child{border:1px solid var(--graphic-line);border-radius:18px;box-shadow:0 5px 0 #f6e5e8;margin-bottom:17px;background:#fff;color:var(--graphic-ink);transition:border-color .25s,box-shadow .25s}
.faq-list summary{padding:22px 24px;font-size:14px;line-height:1.6;gap:18px}
.faq-list summary>.icon{width:30px;height:30px;padding:7px;border-radius:50%;background:var(--graphic-pink);color:var(--graphic-red);flex-shrink:0}
.faq-list details[open]{border-color:#df9ba9;box-shadow:0 5px 0 #edc8d1}
.faq-list details[open] summary{color:var(--graphic-red)}
.faq-list details[open] summary:after{content:none}
.faq-list details p{padding:0 24px 22px;margin:0;color:var(--graphic-copy);font-size:13px;line-height:1.85}
.faq-list summary:focus-visible{outline:3px solid var(--graphic-red);outline-offset:3px;border-radius:16px}
.contact-information>.contact-detail{padding:23px;border:1px solid var(--graphic-line);border-radius:18px;background:#fff;box-shadow:var(--graphic-shadow);margin-bottom:22px;gap:18px}
.contact-information>.contact-detail>.icon{width:44px;height:44px;padding:10px;flex-shrink:0;border-radius:50%;background:var(--graphic-pink);color:var(--graphic-red);stroke-width:1.8}
.contact-information>.contact-detail>div{min-width:0}
.contact-information>.contact-detail h3{font-size:17px;color:var(--graphic-ink)}
.contact-information>.contact-detail p{color:var(--graphic-copy)}
.contact-information>.contact-detail .text-link{color:var(--graphic-red);font-size:12px}
.inquiry-card{position:relative;border:1px solid var(--graphic-line);border-top:5px solid var(--graphic-red);border-radius:21px;background:linear-gradient(135deg,#fff 80%,#fff9fa);box-shadow:var(--graphic-shadow)}
.inquiry-card>h2:after{content:'';display:block;width:47px;height:3px;border-radius:3px;background:var(--yellow);margin-top:17px}
.inquiry-card input,.inquiry-card select,.inquiry-card textarea{border-color:#e7d9dd;border-radius:10px;transition:border-color .2s,box-shadow .2s}
.inquiry-card input:focus,.inquiry-card select:focus,.inquiry-card textarea:focus{border-color:var(--graphic-red);box-shadow:0 0 0 3px #c8203210}
.space-grid>.space-photo{border:2px solid #fff;border-radius:21px;box-shadow:0 7px 0 #f5c4ce77,0 17px 28px #78091b16;transition:translate .3s,box-shadow .3s}
.space-photo__image{position:relative;min-width:0;overflow:hidden;border-radius:12px}
.space-photo__image img{transition:scale .5s cubic-bezier(.2,.7,.25,1)}
.space-photo__open{position:absolute;inset:0;border:0;border-radius:12px;background:transparent;cursor:zoom-in;width:100%;height:100%;padding:0}
.space-photo__open>span{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--graphic-red);box-shadow:0 4px 15px #680b1e35}
.space-photo__open svg{width:22px;height:22px;stroke-width:2}
.space-photo__open:focus-visible{outline:3px solid #ffda61;outline-offset:-5px}
.space-photo figcaption h3{color:var(--graphic-ink)}
.space-photo figcaption h3:after{content:'';display:block;width:35px;height:3px;border-radius:3px;background:var(--yellow);margin-top:12px}
.space-photo-dialog{width:min(900px,calc(100% - 36px));max-height:calc(100dvh - 48px);padding:30px;border:2px solid #fff;border-radius:24px;background:linear-gradient(135deg,#fff,#fff8f9);color:var(--graphic-ink);box-shadow:0 30px 100px #42061655;overflow:auto;overscroll-behavior:contain}
.space-photo-dialog::backdrop{background:#420617b8;backdrop-filter:blur(7px)}
.space-photo-dialog[open]{animation:graphic-dialog-enter .35s cubic-bezier(.18,.8,.25,1) both}
.space-photo-dialog__close{position:absolute;right:15px;top:15px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--graphic-pink);color:var(--graphic-red)}
.space-photo-dialog h2{font-size:30px;line-height:1.25;margin:10px 55px 25px 0}
.space-photo-dialog h2:after{content:'';display:block;width:45px;height:3px;background:var(--yellow);border-radius:3px;margin-top:14px}
.space-photo-dialog__frame{display:grid;place-items:center;background:#f8edef;padding:16px;border:1px solid var(--graphic-line);border-radius:15px}
.space-photo-dialog__frame img{width:auto;height:auto;max-width:100%;max-height:55dvh;object-fit:contain;border-radius:8px}
.space-photo-dialog__caption{font-size:15px;line-height:1.85;color:var(--graphic-copy);margin:22px 0 0}
.word-sequence-playing .word-assemble{display:inline-block;animation:graphic-word-enter .35s cubic-bezier(.18,.75,.2,1) var(--word-delay,0ms) both}
@keyframes graphic-word-enter{from{opacity:0;translate:0 8px;filter:blur(2px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes graphic-dialog-enter{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(hover:hover) and (pointer:fine){
 .pillar-grid>.pillar:hover,.values-grid>.value-card:hover,.aims-grid>.aim-card:hover,.admission-steps>li:hover,.journey-grid>.journey-card:hover{translate:0 -7px;box-shadow:0 7px 0 #f2d9e0,0 22px 32px #81091d16}
 .level-grid>.level-card:hover,.space-grid>.space-photo:hover{translate:0 -7px;box-shadow:0 8px 0 #f0a9b9aa,0 24px 34px #78091b28}
 .space-photo__image:hover img{scale:1.035}
 .faq-list summary:hover{color:var(--graphic-red)}
}
.journey-grid>.journey-card:focus-within{translate:0 -5px;box-shadow:0 7px 0 #f2d9e0,0 22px 32px #81091d16}
@media(max-width:1100px){.pillar-grid,.admission-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.pillar-grid>.pillar p{font-size:14px}.values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .pillar-grid,.values-grid,.aims-grid,.journey-grid,.admission-steps{gap:24px}
 .school-schedule,.soft-section .school-schedule{padding:21px;gap:14px}
 .contact-information>.contact-detail{padding:20px;gap:14px}
 .contact-information>.contact-detail h3{font-size:17px}
 .contact-information>.contact-detail .text-link{font-size:12px}
 .faq-list summary{font-size:13px;padding:19px 20px;gap:12px}
 .faq-list details p{padding:0 20px 21px;font-size:13px}
 .space-photo-dialog{padding:24px 20px;max-height:calc(100dvh - 28px);width:calc(100% - 28px);border-radius:20px}
 .space-photo-dialog h2{font-size:25px;margin-right:40px}
 .space-photo-dialog__frame{padding:10px}
 .space-photo-dialog__caption{font-size:14px}
 .space-photo-dialog__close{top:10px;right:10px}
}
@media(max-width:600px){
 .pillar-grid,.values-grid,.admission-steps{grid-template-columns:1fr}
 .pillar-grid>.pillar{padding:94px 25px 27px}.pillar-grid>.pillar h3{font-size:23px}.pillar-grid>.pillar p{font-size:14px}
 .values-grid>.value-card{padding:76px 25px 25px}.values-grid>.value-card h3{font-size:22px}.values-grid>.value-card p{font-size:14px}
 .aims-grid>.aim-card{padding:83px 25px 26px}.aims-grid>.aim-card h3{font-size:24px}.aims-grid>.aim-card p{font-size:14px}
 .journey-grid>.journey-card{padding:86px 25px 27px}.journey-grid>.journey-card p{font-size:14px}
 .admission-steps>li{padding:87px 25px 26px}.admission-steps h3{font-size:22px}.admission-steps p{font-size:14px}
 .space-grid>.space-photo{display:block;padding:15px}.space-photo__image img{height:210px;aspect-ratio:auto}.space-photo figcaption{padding:20px 5px 7px}.space-photo figcaption h3{font-size:24px}.space-photo figcaption p{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
 .pillar-grid>.pillar,.values-grid>.value-card,.aims-grid>.aim-card,.admission-steps>li,.journey-grid>.journey-card,.level-grid>.level-card,.space-grid>.space-photo,.space-photo__image img,.faq-list details,.faq-list summary>.icon{transition:none;translate:none;scale:none}
 .pillar-grid>.pillar:hover,.values-grid>.value-card:hover,.aims-grid>.aim-card:hover,.admission-steps>li:hover,.journey-grid>.journey-card:hover,.journey-grid>.journey-card:focus-within,.level-grid>.level-card:hover,.space-grid>.space-photo:hover{translate:none}
 .space-photo__image:hover img{scale:none}.word-sequence-playing .word-assemble,.space-photo-dialog[open]{animation:none;opacity:1;translate:none;filter:none;transform:none}
}
