:root{--navy:#0E1F34;--gold:#D3A84A;--paper:#FAF6EF;--ink:#1d2533;--muted:#5b6474;--line:#e6dfd2}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.6 'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper)}
h1,h2,h3{font-family:Fraunces,Georgia,serif;color:var(--navy);line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2rem,5vw,3.4rem)}h2{font-size:clamp(1.5rem,3vw,2.1rem)}h3{font-size:1.15rem}
a{color:var(--navy)}.wrap{max-width:1080px;margin:0 auto;padding:0 22px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.top{background:var(--navy);position:sticky;top:0;z-index:5}.top .row{height:62px}
.logo{font-family:Fraunces,serif;font-weight:700;font-size:1.3rem;color:#fff;text-decoration:none}.logo span{color:var(--gold)}
nav a{color:#fff;text-decoration:none;margin-left:18px;font-weight:500}
.btn{display:inline-block;background:var(--gold);color:var(--navy);border:0;border-radius:10px;padding:13px 22px;font:700 1rem 'DM Sans',sans-serif;text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(1.05)}.btn:disabled{opacity:.5;cursor:default}.btn.sm{padding:8px 14px;font-size:.9rem}
.hero{background:var(--navy);color:#dfe5ee;padding:70px 0 80px}.hero h1{color:#fff;max-width:760px}
.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:.8rem}
.lede{font-size:1.15rem;max-width:680px}.cta{display:flex;gap:20px;align-items:center;margin:28px 0 18px;flex-wrap:wrap}
.cta .link{color:#fff}.note{font-size:.9rem;opacity:.85}.note a{color:var(--gold)}
section{padding:64px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:20px}
.grid article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}
.grid p{margin:0;color:var(--muted)}.small{font-size:.9rem;color:var(--muted)}
.band{background:#fff;border-block:1px solid var(--line)}
.steps{padding-left:1.2em;max-width:760px}.steps li{margin:12px 0}
.apply{display:flex;justify-content:center}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;width:100%;max-width:760px;box-shadow:0 10px 30px rgba(14,31,52,.06)}
.hidden{display:none}.stepno{color:var(--gold);font-weight:700;margin:0 0 6px;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
label{display:block;font-weight:500;margin:14px 0 4px}
input,textarea{width:100%;font:inherit;padding:11px 12px;border:1px solid #cfc6b6;border-radius:9px;background:#fffdf9;margin-top:5px}
input:focus,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
fieldset{border:0;padding:0;margin:16px 0}legend{font-weight:500}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chips label{margin:0;display:flex;gap:7px;align-items:center;border:1px solid #cfc6b6;border-radius:999px;padding:7px 13px;font-weight:400;cursor:pointer}
.chips input{width:auto;margin:0}.chips label:has(input:checked){background:var(--navy);color:#fff;border-color:var(--navy)}
.err{color:#b3261e;min-height:1.2em}
.timer{font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.chat{height:420px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--paper);margin:12px 0}
.msg{max-width:85%;padding:10px 14px;border-radius:14px;margin:8px 0;white-space:pre-wrap}
.msg.bot{background:#fff;border:1px solid var(--line)}.msg.me{background:var(--navy);color:#fff;margin-left:auto}
.msg.typing{color:var(--muted);font-style:italic}
.say{display:flex;gap:10px;align-items:flex-end}.say textarea{margin:0}
#evalframe{width:100%;height:640px;border:1px solid var(--line);border-radius:12px;margin:12px 0;background:#fff}
.score{max-width:320px}
footer{background:var(--navy);color:#cfd6e1;padding:22px 0;font-size:.9rem}footer a{color:#fff}
@media(max-width:600px){.say{flex-direction:column;align-items:stretch}.card{padding:20px}.chat{height:380px}}
