:root{--ink:#152019;--muted:#69746c;--line:#d6ddd5;--paper:#f2f5ef;--green:#1d7049;--warm:#b76b3d}
*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 82% 12%,rgba(192,214,190,.7),transparent 30%),linear-gradient(135deg,#f6f3e9,#edf3ec 58%,#f8f7f1);font-family:Georgia,"Noto Serif SC",serif}.portal-shell{width:min(1080px,calc(100% - 36px));margin:auto;padding:8vh 0 40px}header{max-width:760px;margin-bottom:8vh}.eyebrow{font:700 11px/1.4 Arial,sans-serif;letter-spacing:2px;color:var(--green)}h1{margin:18px 0 20px;font-size:clamp(42px,7vw,82px);line-height:1.06;letter-spacing:-2px}header p{max-width:560px;color:var(--muted);font-size:16px;line-height:1.8}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portal-card{min-height:250px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);background:rgba(255,255,255,.7);color:inherit;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.portal-card.featured{background:var(--ink);color:white;border-color:var(--ink);box-shadow:0 22px 60px rgba(23,39,29,.15)}.portal-card.featured:hover{transform:translateY(-6px);box-shadow:0 28px 70px rgba(23,39,29,.23)}.number{font:12px Arial,sans-serif;opacity:.55}.status{display:inline-block;padding:4px 7px;margin-bottom:10px;border:1px solid currentColor;font:10px Arial,sans-serif;letter-spacing:1px;opacity:.65}.status.live{color:#9dd0ad;opacity:1}.portal-card h2{margin:0 0 10px;font-size:25px}.portal-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.featured p{color:#b9c5bd}.arrow{font:12px Arial,sans-serif;letter-spacing:.5px}footer{display:flex;justify-content:space-between;margin-top:70px;padding-top:16px;border-top:1px solid var(--line);color:#89938b;font:10px Arial,sans-serif;letter-spacing:1px}@media(max-width:760px){.portal-shell{padding-top:6vh}.portal-grid{grid-template-columns:1fr}.portal-card{min-height:210px}header{margin-bottom:50px}h1{letter-spacing:-1px}}
