:root{--cream:#ffffff;--green:#004e98;--orange:#ff6700;--line:#c0c0c0;--muted:#41566d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--green);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.wrap{max-width:1280px;margin:auto;padding-left:56px;padding-right:56px}header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:22px 4.4%;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-weight:700;font-size:19px;line-height:1.2;letter-spacing:2px}.brand small{display:block;font-size:9px;letter-spacing:1.4px;margin-top:5px}.brand-logo{display:block;width:110px;height:70px;object-fit:cover;flex-shrink:0}nav{display:flex;align-items:center;gap:27px;font-size:13px}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.nav-join{border:1px solid var(--green);padding:11px 18px;border-radius:3px}.nav-join span{margin-left:15px}.menu{background:none;border:1px solid;padding:9px;color:inherit}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:45px;align-items:center;min-height:675px;padding-top:66px;padding-bottom:65px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;margin:0 0 25px}.dot{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:8px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.05;letter-spacing:-2.8px;margin:0}h1{font-size:clamp(48px,5.1vw,72px)}em{font-weight:400;color:#3a6ea5}.intro{max-width:420px;color:var(--muted);font-size:16px;margin:27px 0}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.button{background:var(--green);color:var(--cream);padding:15px 23px;font-size:13px;border-radius:3px;display:inline-flex;gap:25px}.button:hover{background:#3a6ea5}.text-link{font-size:12px}.hero-note{font-size:10px;margin-top:35px;color:var(--muted)}.hero-art{position:relative;background:var(--green);border-radius:48% 48% 4px 4px;aspect-ratio:.92;overflow:hidden;color:#ffffff;padding:30px}.hero-art svg{width:100%;height:100%}.art-label{position:absolute;top:14%;left:0;right:0;text-align:center;font-size:9px;letter-spacing:3px}.art-caption{position:absolute;bottom:23px;left:28px;right:28px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.8px;border-top:1px solid #7d97b3;padding-top:15px}.ribbon{display:flex;justify-content:center;align-items:center;gap:65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px;font:20px Georgia,serif}.ribbon i{font-style:normal;color:var(--orange);font-size:25px}.section{padding-top:100px;padding-bottom:100px;scroll-margin-top:10px}h2{font-size:48px;line-height:1.13;letter-spacing:-1.8px}h3{font-size:20px;line-height:1.3;font-weight:500;margin:12px 0}p{margin:14px 0}.section-heading{max-width:420px}#about{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px}.large{font-size:23px;line-height:1.5;margin-top:0}.placeholder{font-size:11px;color:#41566d;line-height:1.6}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px;border-top:1px solid var(--line);padding-top:25px}.pillars span{font-size:10px;color:var(--green)}.pillars p{font-size:12px;color:var(--muted)}.events-band{background:#ebebeb}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:45px}.section-aside{max-width:280px;font-size:13px}.event{display:grid;grid-template-columns:115px 1fr 210px;gap:35px;align-items:center;border-top:1px solid #c0c0c0;padding:28px 0}.event:last-child{border-bottom:1px solid #c0c0c0}.date{border-right:1px solid #c0c0c0}.date strong{display:block;font:32px Georgia,serif}.date span{font-size:8px;letter-spacing:1px}.tag{font-size:9px;letter-spacing:1.2px;color:#004e98}.event p{font-size:12px;color:var(--muted)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.event summary{font-size:12px;display:flex;justify-content:space-between;gap:10px}.resources{display:grid;grid-template-columns:1fr 1fr;gap:100px}.resources>div>p{max-width:360px}.resource-list details{border-bottom:1px solid var(--line)}.resource-list details:first-child{border-top:1px solid var(--line)}.resource-list summary{display:flex;justify-content:space-between;padding:25px 0;font-size:17px}.resource-list small{font-size:10px;color:var(--green);margin-right:22px}.resource-body{padding:0 0 18px 35px;font-size:13px;color:var(--muted)}details[open] .plus{transform:rotate(45deg)}.team-band{background:#fff3eb}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.portrait{aspect-ratio:1/1.1;background:#f5a976;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:100px 100px 2px 2px}.portrait>span{font:72px Georgia,serif;color:#3a6ea5}.portrait small{font-size:9px;letter-spacing:1px}.team-grid h3{font-size:17px}.team-grid p{font-size:11px;margin:6px 0}.community-photo{margin:55px 0 0}.community-photo div{min-height:160px;border:1px dashed #7d97b3;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;font-size:12px;color:var(--muted)}figcaption{font-size:10px;color:var(--muted);margin-top:8px}.join{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.join>div>p{max-width:380px}.join-panel{background:var(--green);color:var(--cream);padding:35px;border-radius:3px}.join-panel h3{font:26px Georgia,serif;margin-top:0}.join-panel .placeholder{color:#ebebeb}.pending-link{border-top:1px solid #7d97b3;padding:18px 0;display:flex;gap:15px;justify-content:space-between;align-items:center;font-size:12px}.pending-link span{font-size:8px;letter-spacing:.7px;color:#ffffff}.fine{font-size:10px;color:#ebebeb}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding-top:35px!important;padding-bottom:35px!important;gap:25px}footer p,footer>a:last-child{font-size:10px}.skip{position:fixed;top:-70px;left:20px;background:var(--green);color:white;padding:12px;z-index:20}.skip:focus{top:10px}@media(max-width:1000px){nav{gap:15px;font-size:11px}.wrap{padding-left:30px;padding-right:30px}.hero{gap:25px;min-height:600px}.resources{gap:45px}#about{gap:35px}.event{grid-template-columns:90px 1fr 160px;gap:22px}.join{gap:35px}}@media(max-width:760px){header{flex-wrap:wrap;padding:17px 22px}.brand{font-size:16px}.brand-logo{width:82px;height:54px}.brand{gap:8px;font-size:14px;letter-spacing:1px}.brand small{font-size:8px;letter-spacing:.8px}.menu:not([hidden]){display:block}nav{width:100%;flex-direction:column;align-items:stretch;gap:0;padding-top:15px}nav a{padding:12px}html.js nav:not(.open){display:none}.hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:45px;gap:40px}.hero-copy{max-width:540px}h1{font-size:54px}.hero-art{max-width:420px;width:100%;margin:auto;aspect-ratio:1.05}.ribbon{gap:18px;font-size:13px;padding:18px 12px;flex-wrap:wrap}.ribbon i{font-size:17px}.ribbon i:last-child{display:none}.section{padding-top:65px;padding-bottom:65px}h2{font-size:39px}#about,.resources,.join{grid-template-columns:1fr;gap:30px}.large{font-size:21px}.pillars{gap:18px}.section-top{display:block;margin-bottom:30px}.section-aside{margin-top:22px;max-width:none}.event{grid-template-columns:70px 1fr;gap:20px}.event details{grid-column:2}.event h3{font-size:18px}.team-grid{grid-template-columns:repeat(2,1fr);gap:30px 20px}footer{flex-wrap:wrap}.join-panel{padding:25px}.eyebrow{font-size:9px}.wrap{padding-left:23px;padding-right:23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Event showcase: native scrolling remains available without JavaScript. */
.gallery-hint{font-size:12px;color:var(--muted);margin-bottom:16px}
.event-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-color:#7d97b3 #ebebeb;padding:4px 0 18px}
.event-track:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.event-card{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;flex:0 0 100%;min-width:0;background:#fff;scroll-snap-align:start;border:1px solid var(--line);border-radius:5px;overflow:hidden}
.event-photo{aspect-ratio:16/10;background:#dfe8f1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--green)}
.event-photo>span{font-size:10px;letter-spacing:1.5px}.event-photo p{font-family:Georgia,serif;font-size:23px;line-height:1.3}.event-photo small{font-size:9px;letter-spacing:1px}
.event-photo img{display:block;width:100%;height:100%;object-fit:cover}.event-photo:has(img){padding:0}
.event-copy{padding:26px 28px 30px}.event-copy h3{font-family:Georgia,serif;font-size:28px;margin:12px 0}.event-copy p{color:var(--muted);font-size:14px;margin-bottom:0}
.gallery-controls:not([hidden]){display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:14px}.gallery-controls button{width:46px;height:46px;border:1px solid var(--green);border-radius:50%;background:#fff;color:var(--green);font-size:22px;cursor:pointer}.gallery-controls button:hover{background:var(--green);color:white}.gallery-status{font-size:12px;font-variant-numeric:tabular-nums;min-width:38px;text-align:center}
.events-ahead{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px;border-top:1px solid var(--line);margin-top:48px;padding-top:32px}.events-ahead .eyebrow{margin-bottom:12px}.events-ahead h3{margin-top:0}.events-ahead h4{margin:0;font-size:17px;font-weight:500}.events-ahead p{font-size:13px;color:var(--muted)}
@media(max-width:760px){.event-track{gap:16px}.event-card{display:block;flex-basis:100%}.event-copy{padding:22px}.event-copy h3{font-size:25px}.events-ahead{grid-template-columns:1fr;gap:20px}.event-photo p{font-size:21px}}
@media(prefers-reduced-motion:reduce){.event-track{scroll-behavior:auto}}

.trip-info{grid-column:2 / -1}.trip-links{padding-left:19px;margin:18px 0 0;font-size:13px}.trip-links li{margin:10px 0}.trip-links a{text-decoration:underline;text-underline-offset:4px}.trip-links a:hover{color:#3a6ea5}@media(max-width:760px){.trip-info{grid-column:auto}}

.advisor-contact{margin:20px 0}.advisor-contact h3{font-size:16px}.advisor-contact h3{margin-top:0}.advisor-contact p{font-size:14px;color:var(--muted)}.advisor-contact a,.resource-body a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.advisor-contact a{font-size:14px}.resource-body ul{padding-left:18px}.resource-body li{margin:12px 0}.resources .resource-note{color:var(--muted);margin-top:20px;font-size:11px}.resource-reviewed{font-size:10px;color:var(--muted);margin-top:20px}

/* Wide reference tables scroll inside the resource panels on narrow screens. */
.resources>div,.resource-list,.resource-body{min-width:0}.resource-list{max-width:100%}
.resource-body h3{font-size:18px;margin-top:28px}.slide-source{font-size:11px;border-left:3px solid #7d97b3;padding-left:12px}
.resource-table-scroll{max-width:100%;overflow-x:auto;margin:24px 0;border:1px solid var(--line);border-radius:3px}.resource-table-scroll:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.resource-table-scroll table{width:100%;min-width:640px;border-collapse:collapse;font-size:12px;line-height:1.5}.resource-table-scroll caption{text-align:left;padding:14px;font-weight:700;color:var(--green);background:#ebebeb}.resource-table-scroll th,.resource-table-scroll td{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.resource-table-scroll thead{background:#004e98;color:white}.resource-table-scroll tbody th{font-weight:600;min-width:150px}.resource-table-scroll tbody tr:nth-child(even){background:#f4f7fa}.resource-table-scroll td{min-width:145px}
@media(min-width:761px){.resources{grid-template-columns:minmax(220px,.65fr) minmax(0,1.6fr);gap:55px}}

.upcoming-project a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}

.event-photo-filled{padding:0;position:relative;overflow:hidden}.event-photo-filled img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.event-copy .event-caption{font-size:11px;margin-top:18px;color:var(--muted)}

/* Text rosters keep officers readable without individual portraits. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.roster-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:16px}.roster-heading h3{margin:0;font:28px Georgia,serif}.roster-heading>span{font-size:9px;letter-spacing:1.3px;white-space:nowrap}
.officer-roster{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:50px}.officer-roster li{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:21px 0;border-bottom:1px solid var(--line)}.officer-roster h3{font-size:18px;font-weight:600;margin:0 0 5px}.officer-roster p{font-size:12px;color:var(--muted);margin:0}.grad-year{font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:3px}
.past-officers{margin-top:55px}.past-officers>h3{font:26px Georgia,serif;margin-bottom:8px}.past-officers>p{font-size:13px;color:var(--muted);margin-bottom:25px}.past-officers>details{border-bottom:1px solid var(--line)}.past-officers>details:first-of-type{border-top:1px solid var(--line)}.past-officers summary{display:flex;justify-content:space-between;align-items:center;padding:20px 0;font-size:17px}.past-officers .officer-roster{padding:0 0 22px}.past-officers .officer-roster h3{font-size:15px}.past-officers .officer-roster li{padding:15px 0}.past-officers .grad-year{font-size:12px}
@media(max-width:760px){.officer-roster{grid-template-columns:1fr}.roster-heading h3{font-size:24px}.past-officers{margin-top:40px}}

.join-link{border-top:1px solid #7d97b3;padding:18px 0;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;font-size:12px}.join-link span{font-size:12px}.join-link:hover{text-decoration:underline;text-underline-offset:4px}.join-panel>.pending-link{flex-wrap:wrap}

/* A native cursor asset keeps tracking immediate, with a standard fallback. */
@media (hover: hover) and (pointer: fine) {
  body { cursor: url("assets/heart-cursor.svg") 16 28, auto; }
  a, button, summary { cursor: url("assets/heart-cursor.svg") 16 28, pointer; }
  input, textarea, [contenteditable="true"] { cursor: text; }
}

.blog-posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;align-items:start}.blog-post{border-top:3px solid var(--green);padding-top:20px;min-width:0}.blog-post>h3{font:30px/1.2 Georgia,serif;margin:15px 0}.blog-post>p:not(.tag){font-size:14px;color:var(--muted)}.blog-post summary{display:flex;justify-content:space-between;gap:20px;padding:17px 0;font-size:13px;border-top:1px solid var(--line);margin-top:25px}.blog-body{font-size:14px;color:var(--muted)}.blog-body h4{font-size:18px;color:var(--green);margin:28px 0 12px}.blog-body li{margin:12px 0}.blog-body ul{padding-left:22px}.blog-body a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.blog-note{font-size:11px;border-left:3px solid #7d97b3;padding-left:12px}
@media(max-width:1100px) and (min-width:761px){header{padding-left:25px;padding-right:25px}nav{gap:12px;font-size:11px}.brand{font-size:16px;gap:6px}.brand-logo{width:82px;height:54px}.nav-join{padding:10px}.nav-join span{margin-left:6px}}
@media(max-width:760px){.blog-posts{grid-template-columns:1fr;gap:40px}.blog-post>h3{font-size:27px}}

.event-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;overflow:hidden}.event-photo-pair>div{position:relative;height:100%;min-width:0}.event-photo-pair img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}

.site-footer{align-items:flex-start}.footer-identity address{font-size:12px;font-style:normal;color:var(--muted);margin-top:16px}.footer-info{display:flex;flex-direction:column;align-items:flex-end;gap:14px}.footer-info>p{font-size:11px;margin:12px 0}.footer-links{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:22px;width:auto;padding:0;font-size:12px}.footer-links a{padding:0}.github-link{display:inline-flex;align-items:center;gap:7px}.github-link svg{flex-shrink:0}.footer-links a:hover{text-decoration:underline}html.js .footer-links:not(.open){display:flex}
@media(max-width:760px){.footer-info{align-items:flex-start}.footer-links{justify-content:flex-start;gap:18px}.site-footer{gap:20px}}
