@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=DM+Sans:wght@400;500;600;700&display=swap";.site-shell{min-height:100vh;overflow:hidden}.topbar{z-index:10;background:#0d0d0df2;border-bottom:1px solid #ffffff16;justify-content:space-between;align-items:center;height:88px;padding:0 clamp(24px,5vw,80px);display:flex;position:relative}.brand{text-transform:uppercase;letter-spacing:.09em;align-items:center;gap:12px;text-decoration:none;display:flex}.brand>span:last-child{line-height:1.05;display:grid}.brand strong{font-size:.86rem}.brand small{color:var(--gold);margin-top:5px;font-size:.68rem}.mini-seal{border:1px solid var(--gold);width:43px;height:43px;color:var(--gold);border-radius:50%;place-items:center;font-family:Cormorant Garamond;font-size:1.1rem;display:grid}.topbar nav{align-items:center;gap:clamp(18px,2.5vw,38px);display:flex}.topbar nav a,.nav-action{color:#c9c4bc;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;background:0 0;border:0;font-size:.69rem;text-decoration:none}.topbar nav a:hover{color:#fff}.topbar .nav-action{color:#fff;border:1px solid #ffffff38;padding:12px 17px}.hero{background:radial-gradient(circle at 80% 20%,#75162142,#0000 32%),linear-gradient(135deg,#111 0 58%,#171310 58%);grid-template-columns:1.1fr .9fr;min-height:calc(100vh - 88px);padding:clamp(65px,8vw,130px) clamp(24px,7vw,120px);display:grid;position:relative}.hero:before{content:"";opacity:.18;background-image:repeating-linear-gradient(45deg,#0000 0 30px,#fff 31px,#0000 32px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 20%,#000);mask-image:linear-gradient(90deg,#0000 20%,#000)}.hero-copy{z-index:1;max-width:750px;position:relative}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.24em;font-size:.7rem;font-weight:700;display:inline-block}.hero h1,.portal-intro h1,.dashboard-header h1{letter-spacing:-.045em;margin:28px 0 35px;font-family:Cormorant Garamond,serif;font-size:clamp(4.2rem,7.5vw,8rem);font-weight:500;line-height:.82}.hero h1 em,.portal-intro h1 em{color:var(--gold);font-weight:500}.hero-copy>p{color:#bcb6ae;max-width:620px;font-size:1.06rem;line-height:1.8}.hero-actions{gap:14px;margin:40px 0 70px;display:flex}.button{text-transform:uppercase;letter-spacing:.14em;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;min-height:50px;padding:0 24px;font-size:.7rem;font-weight:700;text-decoration:none;display:inline-flex}.button-primary{background:var(--crimson);color:#fff}.button-primary:hover{background:#be2634}.button-primary:disabled{opacity:.55;cursor:wait}.button-quiet{color:#fff;background:0 0;border-color:#ffffff35}.hero-points{gap:clamp(25px,4vw,60px);display:flex}.hero-points span{color:#746f69;gap:7px;font-size:.76rem;display:grid}.hero-points strong{color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.hero-art{z-index:1;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.seal-rings{aspect-ratio:1;border:2px solid var(--gold);border-radius:50%;place-items:center;width:min(32vw,430px);display:grid;position:relative;box-shadow:0 0 0 15px #c69a4a0c,0 0 0 16px #c69a4a45,0 30px 80px #0009}.seal-rings:before{content:"";border:1px solid #c69a4a88;border-radius:50%;width:72%;height:72%;position:absolute}.seal-rings strong{color:var(--crimson);text-shadow:1px 1px var(--gold);font-family:Cormorant Garamond;font-size:clamp(5rem,10vw,9rem)}.seal-top,.seal-bottom{text-transform:uppercase;letter-spacing:.35em;color:var(--gold);font-size:.68rem;position:absolute}.seal-top{top:11%}.seal-bottom{bottom:11%}.hero-art p{color:#6f6962;margin-top:36px;font-size:.7rem}.hero-art code{color:#9c948a}.manifesto{background:var(--paper);color:var(--ink);padding:clamp(80px,12vw,180px) clamp(24px,11vw,180px)}.manifesto p{letter-spacing:-.035em;max-width:1300px;margin:28px 0 0;font-family:Cormorant Garamond;font-size:clamp(2.6rem,5vw,5.3rem);line-height:1.05}.section{padding:clamp(90px,11vw,170px) clamp(24px,7vw,120px)}.programs-section{background:#121212}.section-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:65px;display:flex}.section-heading h2,.panel h2,.footer h2,.auth-card h2{letter-spacing:-.035em;margin:12px 0 0;font-family:Cormorant Garamond;font-size:clamp(2.8rem,5vw,5rem);font-weight:500;line-height:.95}.section-heading>p{max-width:430px;color:var(--muted);line-height:1.7}.program-grid{border-top:1px solid #ffffff19;grid-template-columns:repeat(2,1fr);display:grid}.program-card{border-bottom:1px solid #ffffff19;grid-template-columns:60px 1fr;gap:25px;min-height:260px;padding:45px 35px;display:grid}.program-card:nth-child(odd){border-right:1px solid #ffffff19}.program-number{color:var(--gold);font-family:Cormorant Garamond;font-size:1.3rem}.program-card small{color:#78736d;text-transform:uppercase;letter-spacing:.18em}.program-card h3{margin:13px 0 20px;font-family:Cormorant Garamond;font-size:2.5rem;font-weight:500}.program-card p{color:#918c85;max-width:500px;line-height:1.7}.values-band{background:var(--crimson-dark);grid-template-columns:repeat(4,1fr);padding:60px clamp(24px,7vw,120px);display:grid}.values-band div{border-right:1px solid #ffffff21;place-items:center;gap:14px;display:grid}.values-band div:last-child{border:0}.values-band span{color:var(--gold);font-family:serif;font-size:2.4rem}.values-band strong{text-transform:uppercase;letter-spacing:.16em;font-size:.7rem}.schedule-section{background:var(--paper);color:var(--ink)}.schedule-section .section-heading>p{color:#625f5a}.schedule-list{border-top:1px solid #141414}.schedule-row{border-bottom:1px solid #cec8bd;grid-template-columns:60px 1.2fr .8fr 1.4fr;align-items:center;min-height:92px;display:grid}.schedule-row>span{color:var(--crimson);font-family:Cormorant Garamond}.schedule-row strong{font-family:Cormorant Garamond;font-size:1.6rem}.schedule-row time{font-weight:700}.schedule-row p{color:#5d5953}.footer{background:#0a0a0a;justify-content:space-between;align-items:end;gap:70px;padding:clamp(80px,9vw,140px) clamp(24px,7vw,120px);display:flex}.footer h2{font-size:clamp(3.5rem,6vw,6rem)}.footer p{color:#8d8881;max-width:550px;line-height:1.7}.footer-details{text-align:right;color:#8d8881;gap:13px;display:grid}.footer-details strong{color:#fff;font-size:.85rem}.footer-details small{margin-top:25px}.portal-page{background:radial-gradient(circle at 15% 30%,#6b141e45,#0000 28%),#111;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(50px,10vw,180px);min-height:calc(100vh - 88px);padding:clamp(70px,9vw,140px) clamp(24px,9vw,150px);display:grid}.portal-page.compact{align-items:start}.portal-intro h1{font-size:clamp(4rem,6vw,7rem)}.portal-intro>p{color:#9f9991;max-width:600px;line-height:1.8}.auth-card{background:var(--paper);color:var(--ink);gap:24px;padding:clamp(32px,5vw,70px);display:grid;box-shadow:0 35px 100px #0008}.auth-card h2{margin:0 0 10px;font-size:3rem}.form-kicker{color:var(--crimson);text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:700}.auth-card label{text-transform:uppercase;letter-spacing:.1em;gap:9px;font-size:.66rem;font-weight:700;display:grid}.auth-card input{background:0 0;border:0;border-bottom:1px solid #9e978b;outline:none;width:100%;padding:12px 0}.auth-card input:focus{border-color:var(--crimson)}.auth-card small{color:#6e6860}.auth-card small a{color:var(--crimson)}.form-error,.form-success{margin:0;padding:12px;font-size:.8rem}.form-error{color:#8b1721;background:#a31d2917}.form-success{color:#165d34;background:#1a6c3b15}.dashboard-page{background:#111;min-height:calc(100vh - 88px);padding:clamp(55px,7vw,110px) clamp(24px,7vw,120px)}.dashboard-header{justify-content:space-between;align-items:end;gap:35px;margin-bottom:55px;display:flex}.dashboard-header h1{margin:13px 0 0;font-size:clamp(3.4rem,6vw,6rem)}.status-pill{color:#88827b;border:1px solid #ffffff24;border-radius:100px;padding:11px 16px;font-size:.7rem}.status-pill.online{color:#67b67e;border-color:#34764c}.metric-grid{border:1px solid #ffffff17;grid-template-columns:repeat(4,1fr);margin-bottom:28px;display:grid}.metric-grid article{border-right:1px solid #ffffff17;min-height:180px;padding:32px;display:grid}.metric-grid article:last-child{border:0}.metric-grid article>span{color:#8d8881;text-transform:uppercase;letter-spacing:.12em;font-size:.73rem}.metric-grid article strong{align-self:end;font-family:Cormorant Garamond;font-size:3.2rem;font-weight:500}.metric-grid article small{color:#65615c}.metric-grid article.accent{background:var(--crimson-dark)}.metric-grid article.accent span,.metric-grid article.accent small{color:#dfb9bd}.dashboard-grid{grid-template-columns:1.6fr .8fr;gap:28px;display:grid}.panel{border:1px solid #ffffff17;min-height:390px;padding:clamp(28px,4vw,55px)}.panel h2{font-size:3rem}.panel-heading{justify-content:space-between;align-items:start;display:flex}.panel-heading>strong{color:var(--gold);font-family:Cormorant Garamond;font-size:5rem}.empty-state{color:#77716b;text-align:center;align-content:center;place-items:center;min-height:200px;display:grid}.empty-state span{color:#3a3734;font-family:serif;font-size:5rem}.empty-state p{max-width:400px;line-height:1.6}.quick-actions{flex-direction:column;display:flex}.quick-actions button{color:#fff;cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #ffffff17;justify-content:space-between;padding:18px 0;display:flex}.quick-actions button span{color:var(--gold)}.balance-card{background:var(--paper);color:var(--ink);grid-template-columns:1.2fr .8fr;margin-bottom:28px;padding:clamp(30px,5vw,65px);display:grid}.balance-card>div:first-child{gap:8px;display:grid}.balance-card span{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:700}.balance-card strong{color:var(--crimson);font-family:Cormorant Garamond;font-size:clamp(4rem,7vw,7rem);font-weight:500}.balance-card small{color:#77716b}.balance-note{border-left:1px solid #c9c1b5;align-self:center;padding-left:40px}.balance-note p{color:#645f58;line-height:1.6}.transaction-list{margin-top:30px}.transaction-list>div{border-bottom:1px solid #ffffff17;justify-content:space-between;padding:17px 0;display:flex}.transaction-list span{gap:5px;display:grid}.transaction-list small{color:#77716b}.transaction-list b{color:var(--gold)}.student-placeholder{align-items:center;gap:20px;margin:35px 0;display:flex}.student-placeholder>div{border:1px solid var(--gold);width:62px;height:62px;color:var(--gold);border-radius:50%;place-items:center;display:grid}.student-placeholder>span{gap:7px;display:grid}.student-placeholder small,.student-card>p{color:#77716b}@media (width<=980px){.topbar nav>a:not(.nav-action){display:none}.hero,.portal-page{grid-template-columns:1fr}.hero-art{margin-top:70px}.seal-rings{width:min(75vw,430px)}.program-grid,.dashboard-grid{grid-template-columns:1fr}.program-card:nth-child(odd){border-right:0}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric-grid article:nth-child(2){border-right:0}.metric-grid article:nth-child(-n+2){border-bottom:1px solid #ffffff17}}@media (width<=650px){.topbar{height:76px}.brand>span:last-child{display:none}.topbar nav{gap:10px}.hero{min-height:auto}.hero h1{font-size:4.1rem}.hero-points{grid-template-columns:1fr 1fr;display:grid}.hero-actions{flex-direction:column}.section-heading,.footer,.dashboard-header{display:grid}.section-heading h2{font-size:3.3rem}.program-card{grid-template-columns:35px 1fr;padding:35px 10px}.values-band{grid-template-columns:repeat(2,1fr);gap:35px}.values-band div:nth-child(2){border:0}.schedule-row{grid-template-columns:35px 1fr 1fr}.schedule-row p{grid-column:2/-1;margin-top:0}.footer-details{text-align:left}.metric-grid{grid-template-columns:1fr}.metric-grid article{border-bottom:1px solid #ffffff17;border-right:0}.balance-card{grid-template-columns:1fr;gap:35px}.balance-note{border-top:1px solid #c9c1b5;border-left:0;padding:25px 0 0}}:root{color:#f5f1e9;font-synthesis:none;text-rendering:optimizelegibility;--ink:#0d0d0d;--paper:#f2eee5;--crimson:#a31d29;--crimson-dark:#69121b;--gold:#c69a4a;--muted:#a6a099;background:#0d0d0d;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}a{color:inherit}::selection{background:var(--crimson);color:#fff}
