.learning-hub-page,
.member-access-page { min-height: 100svh; display: flex; flex-direction: column; background: radial-gradient(circle at 14% 82%,rgba(190,142,28,.17),transparent 27rem), radial-gradient(circle at 72% 12%,rgba(212,175,55,.07),transparent 32rem), #050505; }
.learning-hub-main,
.member-access-main { flex: 1; width: min(94rem,calc(100% - 3rem)); margin: 0 auto; }
.learning-hub-intro { max-width: 68rem; margin: 0 auto; padding: clamp(2rem,5vh,3.5rem) 1rem clamp(1.2rem,3vh,2rem); text-align: center; }
.learning-hub-intro > p,
.member-access-copy > p,
.auth-kicker { margin: 0 0 .65rem; color: var(--gold-light); font-size: .65rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; }
.learning-hub-intro h1,
.member-access-copy h1 { margin: 0; font: 600 clamp(1.8rem,3.4vw,3.4rem)/1.12 var(--serif); letter-spacing: .065em; }
.learning-hub-intro > span,
.member-access-copy > span { display: block; max-width: 54rem; margin: 1rem auto 0; color: #c8c4bb; font-size: clamp(.87rem,1.1vw,1rem); line-height: 1.7; }
.hub-pathways { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows:1fr; gap: 1rem; }
.hub-pathway { position: relative; min-height: 0; border: 1px solid rgba(212,175,55,.4); padding: 1rem 1.2rem; background: linear-gradient(145deg,rgba(23,20,13,.93),rgba(5,5,5,.97)); display: flex; flex-direction: column; overflow: hidden; }
.hub-pathway::after { content:""; position:absolute; right:-5rem; bottom:-6rem; width:12rem; height:12rem; border:1px solid rgba(212,175,55,.13); transform:rotate(45deg); pointer-events:none; }
.hub-pathway > span,.hub-status > div > p,.account-empty > span { color: var(--gold-light); font-size: .61rem; font-weight: 600; letter-spacing: .19em; }
.hub-pathway h2,.hub-status h2 { margin: .8rem 0 0; font: 600 clamp(1.25rem,1.8vw,1.7rem)/1.25 var(--serif); letter-spacing: .045em; }
.hub-pathway h2 { margin-top:.4rem; }
.hub-pathway p { flex:1; margin:.5rem 0 .65rem; color:#bdb9b0; font-size:.8rem; line-height:1.72; }
.hub-pathway a { position:static; margin-top:0; border-top:1px solid var(--gold-dark); padding:.6rem .1rem .1rem; color:var(--gold-light); display:flex; justify-content:space-between; gap:1rem; font-size:.66rem; font-weight:600; letter-spacing:.09em; text-decoration:none; text-transform:uppercase; }
.hub-pathway a::after { content:""; position:absolute; inset:0; z-index:1; cursor:pointer; }
.hub-pathway:hover { box-shadow:inset 0 0 0 1px var(--gold-light); }
.hub-pathway:hover a { color:#fff3b2; }
.hub-pathway:has(a:focus-visible) { outline:2px solid var(--gold-light); outline-offset:3px; }
.hub-pathway a:focus-visible { outline:none; color:#fff3b2; }
.hub-pathway-access { border-color:rgba(155,99,255,.55); background:linear-gradient(145deg,rgba(25,15,38,.72),rgba(5,5,5,.97)); }
.hub-pathway-teacher { border-color:rgba(100,142,190,.5); background:linear-gradient(145deg,rgba(10,24,34,.8),rgba(5,5,5,.97)); }
.hub-pathway-school { grid-column:1 / -1; width:calc((100% - 1rem) / 2); justify-self:center; }
@media (max-width:900px) { .hub-pathway-school { grid-column:auto; width:100%; } }
.hub-status { margin:1rem 0 2rem; border:1px solid rgba(212,175,55,.25); padding:1.2rem 1.4rem; display:grid; grid-template-columns:minmax(15rem,.8fr) minmax(0,1.2fr); gap:1rem 2rem; align-items:center; background:rgba(0,0,0,.3); }
.hub-status p { margin:0; color:#aaa69d; font-size:.72rem; line-height:1.65; }
.hub-status h2 { margin-top:.35rem; font-size:1rem; }

.member-access-main { padding:clamp(2rem,5vh,4rem) 0; display:grid; grid-template-columns:minmax(18rem,.85fr) minmax(22rem,1.15fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.member-access-copy > a { display:inline-block; margin-bottom:2rem; color:var(--gold-light); font-size:.65rem; text-decoration:none; }
.member-access-copy > span { margin:1rem 0 0; }
.member-access-copy ul { margin:1.5rem 0 0; padding:0; list-style:none; display:grid; gap:.75rem; }
.member-access-copy li { position:relative; padding-left:1.25rem; color:#bdb9b0; font-size:.76rem; line-height:1.5; }
.member-access-copy li::before { content:""; position:absolute; top:.38rem; left:.08rem; width:.42rem; height:.42rem; border:1px solid var(--gold); transform:rotate(45deg); }
.member-auth-card { border:1px solid rgba(212,175,55,.42); padding:clamp(1.25rem,3vw,2.5rem); background:rgba(7,7,6,.94); box-shadow:0 1rem 4rem rgba(0,0,0,.45); }
.auth-tabs { margin:calc(clamp(1.25rem,3vw,2.5rem) * -1) calc(clamp(1.25rem,3vw,2.5rem) * -1) 1.6rem; display:grid; grid-template-columns:1fr 1fr; }
.auth-tabs button { border:0; border-bottom:1px solid rgba(212,175,55,.25); padding:1rem; color:#8f8b82; background:rgba(0,0,0,.3); cursor:pointer; font-size:.62rem; letter-spacing:.15em; text-transform:uppercase; }
.auth-tabs button[aria-selected="true"] { border-bottom:2px solid var(--gold-light); color:#fff; background:rgba(212,175,55,.07); }
.member-auth-card h2 { margin:0 0 1.1rem; font:600 clamp(1.3rem,2vw,1.8rem)/1.2 var(--serif); }
.member-auth-card form { display:grid; gap:.85rem; }
.member-auth-card label { color:#c9c5bc; display:grid; gap:.4rem; font-size:.65rem; font-weight:500; letter-spacing:.06em; }
.member-auth-card input:not([type="checkbox"]) { width:100%; border:1px solid rgba(212,175,55,.36); padding:.8rem .85rem; color:#f7f5ef; background:#090909; font:400 .78rem/1.4 var(--sans); }
.member-auth-card input:focus { border-color:var(--gold-light); outline:0; box-shadow:0 0 0 2px rgba(212,175,55,.12); }
.member-auth-card form > button,.account-actions button { border:1px solid var(--gold-light); padding:.78rem .9rem; color:var(--gold-light); background:transparent; display:flex; justify-content:space-between; gap:1rem; cursor:pointer; font-size:.66rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.member-auth-card form > button:hover,.account-actions button:hover { background:rgba(212,175,55,.07); }
.member-auth-card form > button:disabled,.account-actions button:disabled { opacity:.55; cursor:wait; }
.member-auth-card form small { margin-top:-.45rem; color:#817e77; font-size:.58rem; line-height:1.45; }
.auth-consent { grid-template-columns:auto 1fr !important; align-items:start; line-height:1.5; }
.auth-consent input { margin:.25rem 0 0; accent-color:var(--gold); }
.auth-text-action { margin-top:1rem; border:0; border-bottom:1px solid var(--gold-dark); padding:.25rem 0; color:#aaa69d; background:transparent; cursor:pointer; font-size:.62rem; }
.auth-text-action:hover { color:var(--gold-light); }
.auth-status { min-height:1.4rem; margin:1rem 0 0; color:var(--gold-light); font-size:.66rem; line-height:1.5; }
.auth-status.is-error { color:#ef9d9d; }
.auth-privacy { margin:1rem 0 0; border-top:1px solid rgba(212,175,55,.18); padding-top:.75rem; color:#77736d; font-size:.55rem; line-height:1.5; }
.account-email { color:#e7e2d9; font-size:.85rem; }
.account-actions { display:flex; flex-wrap:wrap; gap:.65rem; }
.account-actions button { display:inline-flex; }
.account-empty { margin-top:1.25rem; border-left:2px solid var(--gold-light); padding:.9rem 1rem; background:rgba(212,175,55,.035); }
.account-empty h3 { margin:.35rem 0 0; font:600 .95rem/1.35 var(--serif); }
.account-empty p { margin:.45rem 0 0; color:#aaa69d; font-size:.68rem; line-height:1.55; }
@media (max-width:1180px) { .site-nav { gap:clamp(.7rem,1.3vw,1.2rem); }.site-nav a { font-size:.62rem; letter-spacing:.1em; } }
@media (max-width:900px) { .hub-pathways { grid-template-columns:1fr; }.member-access-main { grid-template-columns:1fr; }.member-access-copy { max-width:46rem; }.hub-status { grid-template-columns:1fr; } }
@media (max-width:650px) { .learning-hub-main,.member-access-main { width:calc(100% - 1.2rem); }.learning-hub-intro { padding-top:2.2rem; }.member-access-main { padding-top:1.3rem; }.member-access-copy > a { margin-bottom:1.4rem; } }
