/* Shared public-page contracts. Landing-only composition stays in site.css. */
.nav-shell{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:90;width:min(720px,calc(100% - 24px));height:50px;border-radius:999px;background:rgba(248,248,248,.96);border:1px solid #ececec;display:flex;align-items:center;gap:10px;padding:0 12px;backdrop-filter:blur(10px)}
.brand{font-size:12px;font-weight:700;letter-spacing:-.5px}.nav-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.pill-btn{border:0;cursor:pointer;min-height:34px;border-radius:999px;background:#3474f4;color:#fff;padding:0 16px;font-size:11px;font-weight:600}.pill-btn.alt{background:#090909}.eyebrow{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#444}
.article-shell{padding:120px 4vw 80px}.article-shell h1{font-size:clamp(42px,7vw,86px);line-height:.95;letter-spacing:-4px;font-weight:500;max-width:1000px}.article-cover{width:100%;max-height:620px;object-fit:cover;border-radius:22px}.article-content{max-width:760px;margin:44px auto;font-size:18px;line-height:1.7;color:#282828}.article-content p{margin:0 0 1.4em}.event-box{max-width:760px;margin:30px auto;border-top:1px solid #ececec;padding-top:18px}
.form-panel{border:1px solid #ececec;border-radius:18px;padding:24px;background:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:10px;font-weight:600}.field input,.field select,.field textarea{width:100%;min-height:42px;border:1px solid #ddd;border-radius:8px;padding:0 12px;background:#fff;outline:none}.field textarea{padding:12px;min-height:120px;resize:vertical}.form-status{font-size:11px;margin-top:10px;min-height:16px}.form-status.ok{color:#167e5d}.form-status.err{color:#b8324d}
.login-page{min-height:100vh;display:grid;place-items:center;background:#f7f7f5;padding:20px}.login-card{width:min(390px,100%);background:#fff;border:1px solid #ececec;border-radius:18px;padding:30px}.login-card h1{font-size:28px;letter-spacing:-1.4px;margin:16px 0 8px}.messages{display:grid;gap:8px;margin:12px 0}.message{font-size:11px;padding:10px;border-radius:8px;background:#fff0f2;color:#a52842}
@media(max-width:820px){.nav-shell{height:46px}.article-shell{padding:100px 18px 60px}.article-shell h1{font-size:44px;letter-spacing:-2.5px}.form-grid{grid-template-columns:1fr}}
