*,:after,:before{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Apple Color Emoji,Segoe UI Emoji;color:#0b1220;background:#fff;line-height:1.6}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 20px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);background:hsla(0,0%,100%,.7);border-bottom:1px solid rgba(15,23,42,.06)}.nav{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{font-weight:800;letter-spacing:-.02em;color:#0b1220;text-decoration:none;font-size:1.15rem}.nav-links{display:flex;align-items:center;gap:14px}.nav-links a{color:#0b1220;text-decoration:none;font-weight:500;padding:6px 8px;border-radius:8px}.nav-links a:hover{background:rgba(15,23,42,.06)}.menu-toggle{display:none;background:none;border:0;font-size:20px}.user-menu{display:flex;align-items:center;gap:10px}.user-menu.hidden{display:none}.user-email{font-size:.9rem;color:#334155}.btn{--bg:#0b1220;--fg:#fff;background:var(--bg);color:var(--fg);border:0;border-radius:10px;padding:10px 14px;font-weight:600;cursor:pointer}.btn.small{padding:6px 10px;font-size:.9rem}.btn.primary{--bg:#2b6ef2}.btn.secondary{--bg:#0b1220}.btn.ghost{background:transparent;color:#0b1220;border:1px solid rgba(15,23,42,.12)}.btn.block{display:block;width:100%}.btn:disabled{opacity:.6;cursor:not-allowed}.hero{position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 20% -10%,rgba(43,110,242,.18),transparent 60%),radial-gradient(1200px 600px at 100% 10%,rgba(10,207,131,.15),transparent 60%),linear-gradient(180deg,#fff,#f7fafc 60%,#fff);padding:80px 0 60px}.hero-content{max-width:760px;position:relative;z-index:1}.hero-title{margin:0 0 8px;font-size:clamp(2rem,4vw,3rem);line-height:1.1;letter-spacing:-.02em}.hero-subtitle{margin:0 0 8px;font-weight:600;color:#1f2937}.hero-context{color:#334155}.hero-cta{margin-top:18px;display:flex;gap:10px}.hero-visual .orb{position:absolute;filter:blur(40px);opacity:.5;border-radius:999px}.orb-1{width:220px;height:220px;right:-40px;top:-40px;background:#2b6ef2}.orb-2{width:260px;height:260px;right:120px;top:-60px;background:#0acf83}.orb-3{width:180px;height:180px;right:40px;top:140px;background:#f59e0b}.section{padding:64px 0}.section.alt{background:#fafafa}.section h2{margin:0 0 18px;font-size:1.75rem;letter-spacing:-.01em}.grid{display:grid;grid-gap:20px;gap:20px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:18px;border-radius:14px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 1px 2px rgba(15,23,42,.06)}.card h3{margin:0 0 8px}.person{padding:18px;border-radius:14px;background:#fff;border:1px solid rgba(15,23,42,.08)}.avatar{width:40px;height:40px;border-radius:10px;background:#f1f5f9;display:inline-flex;align-items:center;justify-content:center;margin-bottom:8px;font-size:20px}.news-list,.pub-list{margin:0;padding-left:18px}.site-footer{border-top:1px solid rgba(15,23,42,.08);background:#fff}.footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px;padding:32px 0}.site-footer h4{margin:0 0 6px}.legal{padding:12px 0 28px;color:#64748b}.modal{border:0;border-radius:16px;padding:0;width:100%;max-width:420px}.modal::-webkit-backdrop{background:rgba(2,6,23,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal::backdrop{background:rgba(2,6,23,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-card{margin:0}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid rgba(15,23,42,.06)}.modal-body{padding:16px}.icon-btn{background:transparent;border:0;font-size:18px;cursor:pointer}.field{display:grid;grid-gap:6px;gap:6px;margin-bottom:10px}.field span{font-size:.9rem;color:#334155}.field input{border-radius:10px;border:1px solid rgba(15,23,42,.12);padding:10px 12px;font-size:1rem}.or{display:flex;align-items:center;gap:10px;margin:12px 0;color:#64748b}.or:after,.or:before{content:"";height:1px;background:rgba(15,23,42,.12);flex:1 1}.muted{color:#64748b;font-size:.95rem}@media (max-width:900px){.grid.three,.grid.two{grid-template-columns:1fr}.nav-links{display:none}.menu-toggle{display:inline-block}}