/* Sasaki Foundation patterns — core blocks used inside patterns (front end + editor). */
.hsf-list{font-family:'Barlow',sans-serif;font-weight:300;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.4;color:#3b3b3b;margin:0;padding-left:1.4em}
.hsf-list li+li{margin-top:.2em}
.hsf-list strong{font-weight:600}
.hsf-list--plain{list-style:none;padding-left:0;line-height:1.7;font-size:clamp(.95rem,1.2vw,1.1rem);color:#4c5255}
.hsf-list--plain li+li{margin-top:0}

/* FAQ (core Details block) */
.hsf-faq{border-bottom:1px solid #e2e2e2;padding:.85rem 0;margin:0;font-family:'Barlow',sans-serif}
.hsf-faq>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;font-weight:500;font-size:clamp(1rem,1.2vw,1.1rem);color:#3b3b3b}
.hsf-faq>summary::-webkit-details-marker{display:none}
.hsf-faq>summary::after{content:"+";font-weight:300;font-size:1.4em;line-height:.8;color:#4c5255}
.hsf-faq[open]>summary::after{content:"\2212"}
.hsf-faq>*:not(summary){margin:.75rem 0 0;font-weight:300;font-size:clamp(1rem,1.2vw,1.1rem);line-height:1.5;color:#3b3b3b}

/* Opportunity accordion (core Details block) — matches Jobs & Internships; .hsf-opp so it never collides with the Jobs page .hsf-acc */
.hsf-opp{margin:0 0 clamp(2rem,4vw,3.25rem);font-family:'Barlow',sans-serif}
.hsf-opp>summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid #4c5255;padding:0 0 .5rem;font-weight:600;text-transform:uppercase;color:#4c5255;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.05}
.hsf-opp>summary::-webkit-details-marker{display:none}
.hsf-opp>summary::after{content:"+";font-weight:300;font-size:1.6em;line-height:.6}
.hsf-opp[open]>summary::after{content:"\2212"}
.hsf-opp>*:not(summary){margin-top:clamp(1.25rem,2.5vw,2rem)}

/* Timeline */
.hsf-tl-item{position:relative;padding-left:2rem;border-left:2px solid #d8d8d8}
.hsf-tl-item::before{content:"";position:absolute;left:-7px;top:.85rem;width:12px;height:12px;border-radius:50%;background:#8a8a8a}

/* Horizontal photo scroller */
.hsf-scroller{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.hsf-scroller>*{scroll-snap-align:start;flex:0 0 85%}
