*{box-sizing:border-box}body{margin:0;background:#f6f8fb;color:#172338;font:16px/1.55 system-ui,sans-serif}header{display:flex;justify-content:space-between;align-items:center;padding:22px max(20px,calc((100vw - 1160px)/2));background:white;border-bottom:1px solid #dfe5ee}a{color:#175bca;text-decoration:none}nav{display:flex;gap:24px}.brand{font-size:24px;font-weight:800;color:#172338}main{max-width:1200px;margin:auto;padding:48px 20px 70px}h1{font-size:clamp(30px,5vw,48px);line-height:1.15;max-width:800px;margin:12px 0 20px}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:700;color:#175bca}main>p{max-width:850px}form{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:16px;margin-top:32px}label{font-size:13px;font-weight:600}input,select{display:block;width:100%;min-width:0;padding:12px;margin-top:6px;border:1px solid #c8d3e3;border-radius:8px;background:white;color:#172338;font:inherit}#grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{border:1px solid #dfe5ee;border-radius:14px;background:white;overflow:hidden;display:flex;flex-direction:column}.card img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#dce4ef}.copy{padding:18px;display:flex;flex:1;flex-direction:column}.copy h2{font-size:18px;line-height:1.4;margin:6px 0 14px;overflow-wrap:anywhere}.meta{font-size:12px;color:#57677d}button{cursor:pointer;background:#175bca;border:0;color:white;border-radius:8px;padding:11px 16px;font:600 14px system-ui}.copy button{align-self:flex-start;margin-top:auto}dialog{width:min(1000px,94vw);max-height:94vh;overflow:auto;border:0;border-radius:16px;padding:22px;color:#172338}dialog::backdrop{background:#08172bd9}.dialog-head{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}.dialog-head h2{font-size:20px;margin:0 0 20px;overflow-wrap:anywhere}#embed iframe{display:block;width:100%;aspect-ratio:16/9;border:0}#chapters{display:flex;flex-wrap:wrap;gap:9px;padding-top:12px}#chapters button{background:#e9f0fb;color:#175bca;text-align:left}details{margin-top:18px}summary{cursor:pointer;font-weight:700}@media(max-width:800px){#grid{grid-template-columns:repeat(2,minmax(0,1fr))}form{grid-template-columns:1fr 1fr}form label:first-child{grid-column:1/-1}}@media(max-width:500px){#grid,form{grid-template-columns:1fr}header{padding:18px 20px}nav{gap:18px}main{padding-top:30px}dialog{padding:16px}.dialog-head h2{font-size:17px}}