/* Students page (/handbook.html). Public; uses the site's tokens from /style.css. */
[hidden]{display:none!important}
.sp{max-width:72rem;margin:0 auto;padding:4rem 5rem 6rem;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:4rem;align-items:start}
.sp h2{font:500 1.6rem/1.2 'Playfair Display',serif;color:var(--ivory);margin-bottom:1rem}
.sp-label{font-size:.68rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.9rem}
.sp-list{list-style:none;padding:0;margin:0;border-top:.5px solid var(--border-soft)}
.sp-list li{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:1rem;padding:1rem 0;border-bottom:.5px solid var(--border-soft);align-items:baseline}
.sp-list b{font:500 1.1rem 'Playfair Display',serif;color:var(--ivory)}
.sp-list span{color:var(--ivory-dim);font-size:.95rem;line-height:1.6}
.sp-note{margin-top:1.5rem;color:var(--ivory-dim);font-size:.95rem;line-height:1.7}
.sp-card{background:var(--surface);border:.5px solid var(--border);border-top:2px solid var(--gold);padding:1.75rem;position:sticky;top:6.5rem}
.sp-card form,.sp-card .pane{display:flex;flex-direction:column;gap:1rem}
.sp-card h3{font:500 1.5rem 'Playfair Display',serif;color:var(--ivory)}
.sp-card p{color:var(--ivory-dim);font-size:.95rem;line-height:1.65}
.sp-card label{display:flex;flex-direction:column;gap:.45rem;font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ivory-dim)}
.sp-card input{font:inherit;font-size:1rem;letter-spacing:normal;text-transform:none;background:var(--black);color:var(--ivory);border:.5px solid var(--outline);border-radius:0;padding:.75rem .8rem;width:100%}
.sp-card input:focus-visible,.sp-card button:focus-visible{outline:1px solid var(--gold);outline-offset:2px}
.sp-btn{font:500 .75rem 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.14em;padding:.95rem 1rem;border:.5px solid var(--gold);background:var(--gold);color:var(--black);cursor:pointer;width:100%}
.sp-btn.ghost{background:transparent;color:var(--ivory);border-color:var(--outline)}
.sp-link{background:none;border:0;padding:0;color:var(--ivory-dim);font:inherit;font-size:.85rem;text-decoration:underline;cursor:pointer;align-self:flex-start}
.sp-err{color:#9a4a1c;font-size:.88rem;line-height:1.5;margin-bottom:1rem}
[data-theme="dark"] .sp-err{color:#e0956a}
.sp-who{font-size:.9rem;color:var(--ivory-dim)} .sp-who b{color:var(--ivory);font-weight:600;overflow-wrap:anywhere}
@media (max-width:900px){.sp{grid-template-columns:1fr;padding:2.5rem 1.5rem 4rem;gap:2.5rem}.sp-card{position:static;order:-1}}
@media (max-width:768px){.page-header{padding:7.5rem 1.5rem 2.5rem}.page-header h1{font-size:2.3rem}}
@media (max-width:560px){.sp-list li{grid-template-columns:1fr;gap:.25rem}}
.sp-card label.sp-check{flex-direction:row;align-items:center;gap:.6rem;font-size:.9rem;letter-spacing:normal;text-transform:none;color:var(--ivory)}
.sp-card label.sp-check input{width:1.15rem;height:1.15rem;padding:0;accent-color:var(--gold)}
.sp-list span a{color:var(--gold)}
.sp-help{margin-top:1.4rem;padding-top:1rem;border-top:.5px solid var(--border-soft);font-size:.85rem!important;color:var(--ivory-dim)}
.sp-mail{color:var(--ivory);font-weight:500;overflow-wrap:anywhere;user-select:all}
