:root{font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif;color:#182337;background:#edf2f8;font-synthesis:none;--navy: #173b6c;--blue: #2865a8;--line: #d8e1ed;--muted: #66758a;--paper: #ffffff;--danger: #c8343e}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}.page-shell{width:min(920px,100%);margin:0 auto;padding:48px 24px 80px}.masthead{display:flex;align-items:center;gap:18px;padding:0 6px 28px}.school-mark{display:grid;place-items:center;flex:0 0 64px;height:64px;border-radius:20px;color:#fff;background:var(--navy);font-weight:800;letter-spacing:-.04em;box-shadow:0 10px 24px #173b6c2e}.eyebrow{margin:0 0 4px;color:var(--blue);font-size:.9rem;font-weight:750;letter-spacing:.06em}h1{margin:0;color:var(--navy);font-size:clamp(1.75rem,4vw,2.45rem);letter-spacing:-.035em}.intro{margin:7px 0 0;color:var(--muted);font-size:.98rem}form{display:grid;gap:18px}.form-section{background:var(--paper);border:1px solid rgba(205,217,232,.92);border-radius:22px;padding:26px;box-shadow:0 9px 28px #19355b0f}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:22px}.section-title>span{color:var(--blue);font-size:.8rem;font-weight:800;letter-spacing:.08em}.section-title h2{margin:0;font-size:1.2rem;color:var(--navy)}.field-grid{display:grid;gap:16px}.three-col{grid-template-columns:1.4fr 1fr 1fr}.two-col{grid-template-columns:1fr 1fr}.location-row{margin-top:16px}.topic-stack{display:grid;gap:16px}.field{display:grid;gap:8px;color:#27364a;font-size:.94rem;font-weight:700}.field>span{display:flex;align-items:baseline;gap:7px}.field em{color:var(--danger);font-size:.72rem;font-style:normal;font-weight:700}.field span small,.field>small{color:#7a8799;font-size:.78rem;font-weight:500}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#fbfcfe;color:#172337;padding:13px 14px;min-height:50px;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}textarea{resize:vertical;line-height:1.65;min-height:84px}input:focus,select:focus,textarea:focus{background:#fff;border-color:#5084bd;box-shadow:0 0 0 4px #2865a81f}.invalid{border-color:var(--danger)!important;box-shadow:0 0 0 4px #c8343e17!important}.submit-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 6px 0}.submit-wrap p{color:var(--muted);margin:0;font-size:.9rem}button{border:0;border-radius:13px;background:var(--navy);color:#fff;min-height:52px;padding:0 24px;font-weight:750;cursor:pointer;box-shadow:0 9px 22px #173b6c33}button:disabled{cursor:wait;opacity:.65}.modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:22px;background:#0a182d94;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal[hidden]{display:none}.modal-card{width:min(410px,100%);padding:34px 28px 26px;border-radius:24px;background:#fff;text-align:center;box-shadow:0 26px 70px #07183240}.modal-card h2{margin:18px 0 8px;color:var(--navy);font-size:1.3rem}.modal-card p{margin:0 0 24px;color:var(--muted);line-height:1.6}.modal-card button{width:100%}.modal-card .text-button{margin-top:8px;background:transparent;color:var(--muted);box-shadow:none}.spinner{width:48px;height:48px;margin:auto;border:5px solid #dce6f2;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}.success-icon{display:grid;place-items:center;width:52px;height:52px;margin:auto;border-radius:50%;background:#e0f4ea;color:#16804a;font-size:1.8rem;font-weight:800}.success-icon[hidden]{display:none}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:680px){.page-shell{padding:24px 14px 48px}.masthead{align-items:flex-start;gap:13px;padding:4px 4px 22px}.school-mark{flex-basis:52px;height:52px;border-radius:16px;font-size:.9rem}.intro{font-size:.9rem}.form-section{border-radius:17px;padding:20px 16px}.three-col{grid-template-columns:1fr 1fr}.three-col .field:first-child{grid-column:1 / -1}.two-col{grid-template-columns:1fr}.location-row{grid-template-columns:1fr 1fr}.submit-wrap{align-items:stretch;flex-direction:column}.submit-wrap p{text-align:center}.submit-wrap button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
