.quali {display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:2rem;align-items:start;margin-block:2.5rem}
.quali__form,.quali__result {border-radius:var(--school-radius);padding:clamp(1.3rem,3vw,2rem)}
.quali__form {background:#fff;border:1px solid #dce6e8;min-width:0}
.quali__eyebrow {font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:750;color:var(--school-blue)}
.school-content .quali h2 {font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.2;overflow-wrap:normal;margin:.65rem 0 1rem}
.quali__intro p,.quali__hint {font-size:.9rem;color:var(--school-muted);line-height:1.6}
.quali__head,.quali__row {display:grid;grid-template-columns:minmax(0,1fr) repeat(3,66px);gap:.7rem;align-items:center}
.quali__row {align-items:end}
.quali__grade {display:block;margin:0}
.quali__subject:has(>strong) {align-self:center}
.quali input,.quali select {display:block;margin:0}
.quali__single {grid-column:3 / 5;width:66px;justify-self:center}
.quali__written.quali__single {grid-column:3;width:100%}
.quali__oral label {display:block}
.quali__oral[hidden],.quali__part-result[hidden] {display:none}
.quali__part-result {grid-column:1/-1;margin:.1rem 0 0;font-size:.78rem;line-height:1.6;color:var(--school-blue)}
.quali__head {font-size:.75rem;color:var(--school-muted);padding-block:1rem .5rem}
.quali__head span:not(:first-child) {text-align:center}
.quali__row {padding:1rem 0;border-top:1px solid #e5ecee}
.quali__subject strong {font-size:.95rem}
.quali__subject>label {display:block;font-size:.72rem;color:var(--school-muted);margin-bottom:.4rem}
.quali select {box-sizing:border-box;width:100%;max-width:100%;height:50px;border:1px solid #b9cdd2;border-radius:.55rem;background:var(--school-paper);font:inherit;font-size:.86rem;color:var(--school-ink);padding:0 .25rem}
.quali input,.quali__grade select {box-sizing:border-box;width:100%;height:50px;min-height:50px;padding:0 .25rem;border:1px solid #b9cdd2;border-radius:.65rem;text-align:center;font:inherit;font-size:1.2rem;color:var(--school-ink);background:#f7faf9}
.quali input:focus-visible,.quali select:focus-visible,.quali button:focus-visible {outline:3px solid var(--school-blue);outline-offset:3px}
.quali input[aria-invalid="true"] {border:2px solid #aa3226;background:#fff1ed}
.quali__empty {text-align:center;color:#8a9ba0}
.quali__result {background:var(--school-midnight);color:white;position:sticky;top:130px}
.quali__result h2 {color:white}.quali__result .quali__eyebrow {color:#7fe0d8}
.quali__number {font-size:5rem;font-weight:800;letter-spacing:-.05em;line-height:1.1;margin-top:1.5rem;color:var(--school-yellow)}
.quali__status {font-weight:700;font-size:1.1rem}
.quali__result [data-quali-detail] {font-size:.85rem;line-height:1.7;color:#d3e0e5}
.quali__result[data-state="pass"] .quali__number {color:#7fe0d8}
.quali__notice {margin-top:1.7rem;padding-top:1.3rem;border-top:1px solid #49616c;font-size:.83rem;line-height:1.65}
.quali__notice p {margin:.4rem 0}.quali__privacy {color:#c4d7df;font-size:.75rem;margin-top:1.2rem}
.quali__actions {display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--school-muted);font-size:.8rem;margin-top:1.5rem}
.quali button {cursor:pointer;background:transparent;color:var(--school-blue);border:1px solid #b9cdd2;border-radius:2rem;padding:.7rem 1rem;font:inherit;font-weight:650}
.quali__mobile {display:none}.quali__sr {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.school-content:has(.quali) .wp-block-post-content {max-width:1100px}
.quali-hero {position:relative;border-radius:var(--school-radius);overflow:hidden;background:var(--school-midnight);min-height:230px;display:flex;align-items:end;margin-block:1.5rem 2rem}
.quali-hero img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.quali-hero p {position:relative;color:white;padding:2rem;font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.25;font-weight:750;max-width:24ch;margin:0}
.quali-explanation {background:var(--school-mist);border-radius:var(--school-radius);padding:1.5rem 2rem;line-height:1.7;font-size:.95rem}
.quali-explanation summary {cursor:pointer;font-size:1.1rem;font-weight:700;color:var(--school-midnight)}
@media(max-width:900px){.quali{grid-template-columns:1fr}.quali__result{position:static}.quali__number{font-size:4rem}}
@media(max-width:500px){.quali__head{display:none}.quali__row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.quali__subject{grid-column:1/-1}.quali__mobile{display:block;font-size:.7rem;color:var(--school-muted);margin-bottom:.3rem;min-height:1.2rem}.quali__single{grid-column:2 / 4;width:100%}.quali__written.quali__single{grid-column:2}.quali__empty{align-self:end;min-height:50px;display:grid;place-items:center}.quali-hero{min-height:190px}.quali-hero p{padding:1.4rem}}
