@font-face{font-family:Member Sans;src:local("Helvetica Neue"),local("Arial");font-display:swap}
:root{color-scheme:dark;--ink:#f1eee6;--muted:#a4a19b;--accent:#dbf1ba}
*{box-sizing:border-box}
body{margin:0;background:#000;color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;min-height:100svh;display:flex;flex-direction:column}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--accent);outline-offset:8px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.masthead{display:flex;justify-content:space-between;align-items:start;padding:32px 40px 0;position:relative;z-index:2}
.wordmark{margin:0;font-weight:500;font-size:23px;letter-spacing:-1px;line-height:1.02}
.wordmark-period{color:var(--accent)}
.member-caption{margin:4px 0;font-size:12px;color:var(--muted)}
.home-main{flex:1;display:flex;align-items:center;min-height:600px}
.city{position:relative;width:100%;height:640px;isolation:isolate;overflow:hidden}
.skyline{position:absolute;width:94%;height:auto;left:3%;top:255px;user-select:none;pointer-events:none}
.connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:1}
.connections path{fill:none;stroke:#b1aea8;stroke-width:.8;vector-effect:non-scaling-stroke}
.connections circle{fill:var(--ink);stroke:#000;stroke-width:2;vector-effect:non-scaling-stroke}
.connections g{transition:opacity 160ms ease}
.connections g.active path{stroke:var(--accent);stroke-width:1.2}
.connections g.active circle{fill:var(--accent)}
.city:has(.department:hover) .connections g:not(.active){opacity:.45}
.department{position:absolute;z-index:2;display:block;width:max-content;max-width:300px;padding:8px 0;background:#000;transition:color 160ms ease}
.department:hover,.department:focus-visible{color:var(--accent)}
.department-number{display:flex;justify-content:space-between;align-items:center;gap:30px;max-width:38px;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums;margin-bottom:15px;letter-spacing:.02em}
.department-number span{font-size:13px;color:var(--ink);transition:transform 160ms ease}
.department:hover .department-number span{transform:translate(2px,-2px);color:var(--accent)}
.department-name{display:block;font-size:23px;letter-spacing:-.6px;line-height:1.18;font-weight:400}
.club-prefix{display:block;color:var(--muted);font-size:10px;letter-spacing:.03em;margin-bottom:8px}
.department-detail{display:block;font-size:11px;margin-top:8px;color:var(--muted)}
.department-photos{left:10%;top:78px}
.department-leadership{left:55%;top:24px}
.department-perks{right:13%;top:505px}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;position:relative;padding:24px 40px 28px;color:var(--muted);font-size:10px;line-height:1.5}
.site-footer a{text-decoration:underline;text-underline-offset:3px;color:#86837f}
.site-footer a:hover{color:var(--ink)}
.perks-main{flex:1;display:flex;align-items:center;padding:90px max(40px,10vw);position:relative;overflow:hidden;min-height:500px}
.perks-content{position:relative;z-index:2;max-width:600px}
.perks-main h1{font-weight:400;font-size:clamp(38px,6vw,76px);line-height:1.04;letter-spacing:-.045em;margin:24px 0}
.perks-main p{font-size:15px;line-height:1.7;color:var(--muted);max-width:380px}
.perks-kicker{font-size:10px!important;text-transform:uppercase;letter-spacing:.15em}
.back-link{display:inline-flex;gap:20px;min-height:44px;align-items:center;font-size:12px;margin-top:32px;border-bottom:1px solid #68665f}
.perks-skyline{position:absolute;left:42%;bottom:30px;width:95%;opacity:.26;pointer-events:none}
.credit-main{max-width:720px;padding:60px 30px;margin:auto;line-height:1.7}
.credit-main h1{font-weight:400;line-height:1.1;font-size:40px;letter-spacing:-.03em}
.credit-main a{text-decoration:underline;text-underline-offset:3px}
.credit-main img{width:100%;height:auto;margin:30px 0}
.member-login{display:grid;gap:14px;max-width:300px;margin-top:30px}.member-login label{font-size:13px;color:var(--muted)}.member-login input{font:inherit;color:var(--ink);background:#101010;border:1px solid #777;padding:12px;min-width:0;border-radius:0}.member-login button{font:inherit;text-align:left;background:var(--ink);color:#000;border:0;padding:14px 16px;cursor:pointer}.member-login input:focus-visible,.member-login button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.member-login p{font-size:13px;color:#f0bfab;margin:0}
@media(min-width:1600px){.city{height:720px}.skyline{top:270px}.department-perks{top:600px}.department-photos{top:92px}}
@media(max-width:1000px) and (min-width:701px){.department-name{font-size:20px}.department-perks{top:480px}.city{height:590px}.home-main{min-height:550px}}
@media(max-width:700px){
  .masthead{padding:25px 22px 0}.wordmark{font-size:21px}.member-caption{font-size:10px;max-width:75px;line-height:1.4;text-align:right}
  .home-main{min-height:610px;align-items:start}.city{height:620px;margin-top:15px}
  .skyline{width:190%;max-width:none;left:-46%;top:290px}
  .department{max-width:230px}.department-name{font-size:19px;letter-spacing:-.45px}.department-number{font-size:9px;margin-bottom:10px}.department-detail{font-size:10px;max-width:180px}.club-prefix{font-size:9px;max-width:150px;line-height:1.45;margin-bottom:6px}
  .department-photos{left:6%;top:133px}.department-leadership{left:45%;top:25px;max-width:52%}.department-leadership .department-name{max-width:160px}
  .department-perks{right:8%;top:480px}.site-footer{padding:12px 22px 23px;font-size:9px;flex-wrap:wrap;gap:10px}.site-footer a{max-width:145px;text-align:right}.footer-club{display:none}
  .perks-main{padding:85px 25px;min-height:580px}.perks-main h1{font-size:48px}.perks-skyline{left:-10%;bottom:25px;width:180%}.perks-main p{font-size:14px;max-width:270px}
}
@media(max-width:360px){.department-name{font-size:17px}.department-leadership{left:45%}.department-photos{top:130px}.department-perks{top:465px}.skyline{top:295px}.home-main{min-height:590px}.city{height:595px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
