.site-header nav a[aria-current="page"] { color:#f1dcad; }
.site-header nav a[aria-current="page"]::after { left:0; right:0; }
.ranks-hero { min-height:390px; padding:clamp(64px,8vw,112px) max(28px,calc((100vw - 1400px)/2)); display:grid; grid-template-columns:minmax(0,1fr) 170px; align-items:center; gap:56px; position:relative; overflow:hidden; border-bottom:1px solid var(--pro-line-strong); background:linear-gradient(90deg,rgba(7,7,6,.98),rgba(11,8,7,.82) 58%,rgba(75,15,11,.48)),url("assets/welcome_moon_dashboard.png") right center/auto 150% no-repeat; }
.ranks-hero::after { content:""; position:absolute; left:max(28px,calc((100vw - 1400px)/2)); right:max(28px,calc((100vw - 1400px)/2)); bottom:28px; height:1px; background:linear-gradient(90deg,#b23426,#d6ad55 28%,transparent 80%); }
.ranks-hero-copy { max-width:820px; }
.ranks-hero h1 { margin:0; color:#f1dcad; font:500 clamp(3rem,5.4vw,5.8rem)/.98 Cinzel,Georgia,serif; letter-spacing:-.045em; }
.ranks-hero h1 em { color:#d8aa53; font-style:normal; }
.ranks-hero-copy > p:last-child { max-width:700px; margin:24px 0 0; color:#d0bf9c; font-size:1.25rem; line-height:1.5; }
.ranks-hero-seal { width:132px; height:132px; display:grid; align-content:center; justify-items:center; gap:5px; color:var(--pro-gold-light); border:1px solid var(--pro-line-strong); outline:1px solid rgba(214,173,85,.2); outline-offset:7px; transform:rotate(45deg); background:rgba(22,10,8,.75); font:500 .67rem Cinzel,Georgia,serif; letter-spacing:.2em; }
.ranks-hero-seal span,.ranks-hero-seal b { transform:rotate(-45deg); }
.ranks-hero-seal b { color:#f1dcad; font-size:1.1rem; letter-spacing:.13em; }
.rank-intro,.rank-section,.council-section { width:min(1400px,calc(100% - 56px)); margin:0 auto; }
.rank-intro { padding:74px 0 38px; text-align:center; }
.rank-intro > .eyebrow { margin:0 0 12px; }
.rank-intro h2,.rank-section-heading h2 { margin:0; color:#f1dcad; font:500 clamp(2rem,3.4vw,3.35rem)/1.08 Cinzel,Georgia,serif; }
.rank-intro > p:not(.eyebrow) { max-width:850px; margin:18px auto 0; color:#bca97c; font-size:1.08rem; line-height:1.65; }
.rank-key { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 28px; margin-top:25px; color:#d5bf8d; font:500 .73rem Cinzel,Georgia,serif; letter-spacing:.09em; text-transform:uppercase; }
.rank-key span { display:inline-flex; align-items:center; gap:9px; }
.rank-key-mark { width:8px; height:8px; border:1px solid #d6ad55; transform:rotate(45deg); }
.rank-key-mark.achievements { border-color:#b84b3f; }
.rank-key-mark.loyalty { border-color:#cdbd94; }
.rank-section { padding:40px 0 96px; }
.rank-section-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.62fr); align-items:end; gap:48px; padding-bottom:27px; border-bottom:1px solid var(--pro-line-strong); }
.rank-section-heading .eyebrow { margin:0 0 11px; }
.rank-section-heading > p { margin:0; color:var(--pro-muted); font-size:1.02rem; line-height:1.55; }
.rank-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding-top:25px; }
.rank-card { min-width:0; padding:23px 23px 21px; border:1px solid var(--pro-line); border-top-color:var(--pro-line-strong); background:linear-gradient(155deg,rgba(19,17,14,.87),rgba(8,8,7,.82)); box-shadow:0 12px 32px rgba(0,0,0,.14); }
.rank-card.foundation { background:linear-gradient(155deg,rgba(55,21,16,.44),rgba(8,8,7,.84)); }
.rank-card.council-rank { border-color:rgba(180,75,63,.45); border-top-color:#b84b3f; background:linear-gradient(155deg,rgba(48,18,15,.48),rgba(9,8,7,.9)); }
.rank-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.rank-index { color:rgba(214,173,85,.58); font:500 .8rem Cinzel,Georgia,serif; letter-spacing:.12em; }
.rank-kind { margin:0; color:#a9823d; font:600 .63rem Cinzel,Georgia,serif; letter-spacing:.14em; text-transform:uppercase; }
.rank-card h3,.council-grid h3 { margin:13px 0 8px; color:#f1dcad; font:500 clamp(1.25rem,1.7vw,1.7rem)/1.12 Cinzel,Georgia,serif; }
.rank-description { min-height:58px; margin:0; color:#bca97c; font-size:1.02rem; line-height:1.5; }
.rank-milestones { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:20px; padding-top:15px; border-top:1px solid rgba(214,173,85,.18); }
.rank-milestones span { display:grid; align-content:start; gap:5px; color:#e1d1ad; font-size:.86rem; line-height:1.3; }
.rank-milestones b { color:#a9823d; font:600 .59rem Cinzel,Georgia,serif; letter-spacing:.1em; text-transform:uppercase; }
.rank-milestones small { color:#93846a; font-size:.74rem; }
.council-section { padding:0 0 95px; }
.council-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; padding-top:24px; }
.council-grid article { display:grid; grid-template-columns:55px minmax(0,1fr) auto; align-items:center; gap:18px; min-height:142px; padding:20px 22px; border:1px solid rgba(180,75,63,.36); background:linear-gradient(115deg,rgba(44,17,14,.6),rgba(9,8,7,.88) 70%); }
.council-mark { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--pro-line-strong); color:var(--pro-gold-light); transform:rotate(45deg); font:500 .78rem Cinzel,Georgia,serif; }
.council-grid article > .council-mark { position:relative; }
.council-grid article > .council-mark::first-line { transform:rotate(-45deg); }
.council-grid h3 { margin:6px 0; }
.council-grid article p:not(.rank-kind) { margin:0; color:#bca97c; font-size:.98rem; line-height:1.45; }
.council-grid article > b { max-width:120px; color:#cdbd94; font:500 .62rem/1.5 Cinzel,Georgia,serif; letter-spacing:.08em; text-align:right; text-transform:uppercase; }
.ranks-note { display:flex; align-items:center; gap:26px; padding:48px max(28px,calc((100vw - 1400px)/2)); border-block:1px solid var(--pro-line-strong); background:linear-gradient(100deg,rgba(67,17,12,.5),rgba(12,9,8,.82)); }
.ranks-note > span { color:#d6ad55; font-size:2rem; }
.ranks-note > div { flex:1; }
.ranks-note .eyebrow { margin:0 0 7px; }
.ranks-note h2 { margin:0; color:#f1dcad; font:500 clamp(1.6rem,2.5vw,2.5rem) Cinzel,Georgia,serif; }
.ranks-note p:last-child { margin:8px 0 0; color:#bca97c; }
@media(max-width:1050px) { .rank-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.rank-milestones { gap:6px; }.rank-card { padding-inline:19px; } }
@media(max-width:760px) { .ranks-hero { grid-template-columns:1fr; }.ranks-hero-seal { display:none; }.rank-section-heading { grid-template-columns:1fr; gap:15px; }.council-grid { grid-template-columns:1fr; }.ranks-note { align-items:flex-start; flex-wrap:wrap; }.ranks-note > div { flex-basis:calc(100% - 70px); }.ranks-note .button { margin-left:52px; } }
@media(max-width:560px) { .ranks-hero { min-height:330px; padding-inline:22px; }.ranks-hero h1 { font-size:2.65rem; }.rank-intro,.rank-section,.council-section { width:calc(100% - 36px); }.rank-intro { padding-top:57px; }.rank-grid { grid-template-columns:1fr; }.rank-card { padding:21px; }.rank-description { min-height:0; }.rank-milestones { gap:8px; }.rank-milestones span { font-size:.82rem; }.council-grid article { grid-template-columns:42px minmax(0,1fr); gap:14px; padding:17px; }.council-mark { width:34px; height:34px; }.council-grid article > b { grid-column:2; max-width:none; text-align:left; }.ranks-note { padding-inline:22px; }.ranks-note > span { font-size:1.5rem; }.ranks-note > div { flex-basis:calc(100% - 52px); }.ranks-note .button { margin-left:39px; } }
