:root{--green:#338058;--blue:#315c76;--red:#8e2029;--gray:#737373;--ink:#171717;--rule:#727272}
*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,"Malgun Gothic",sans-serif;line-height:1.7}a{color:var(--red);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:4px}button,input,select{font:inherit}button{cursor:pointer}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:16px;background:#fff;border:1px solid #333;padding:8px 14px;z-index:10}.skip:focus{top:12px}.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}
.home{max-width:1080px;margin:0 auto;padding:64px 36px 24px}.home-header{text-align:center;margin-bottom:64px}.home-header h1{font-size:1.9rem;color:var(--green);line-height:1.35;margin:0 0 14px;font-weight:700}.home-header p{margin:0;line-height:1.5}.position{font-size:1.35rem;font-weight:700}.position a{color:var(--ink)}.interests{font-size:1.2rem;font-weight:700;color:var(--gray)}.home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:42px;row-gap:58px;align-items:start}.link-section h2,.contact h2{font-size:1.05rem;color:var(--blue);font-weight:700;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:6px 10px;margin:0 0 12px;line-height:1.5}.link-section ul{padding-left:19px;margin:0 0 0 2px;border-bottom:1px solid var(--rule);padding-bottom:12px;font-size:1rem}.link-section li{padding-left:0;margin:5px 0;line-height:1.65}.link-section li::marker{color:var(--red);font-size:.8em}.portrait{margin:0;align-self:center;justify-self:center;text-align:center}.portrait img{display:block;width:156px;height:182px;object-fit:cover;object-position:center 37%;border:1px solid #ddd}.portrait figcaption{font-size:.8rem;color:var(--gray);margin-top:7px}.contact{align-self:center;min-width:0}.contact p{font-size:.95rem;line-height:1.6;margin:14px 10px;overflow-wrap:anywhere}.home-footer{margin-top:54px;padding-top:14px;color:var(--gray);font-size:.85rem;display:flex;justify-content:space-between;border-top:1px solid #ddd}
.archive-page{max-width:960px;padding:30px 28px;margin:0 auto}.archive-header{display:flex;justify-content:space-between;gap:20px;align-items:baseline;border-bottom:1px solid var(--rule);padding-bottom:15px;margin-bottom:28px}.home-link{font-weight:700;font-size:1.2rem;color:var(--green)}.archive-header nav{display:flex;gap:22px;font-size:.9rem}.archive-page h1{font-size:1.7rem;color:var(--green);line-height:1.4;margin:0 0 28px}.archive-controls{display:flex;gap:20px;margin-bottom:20px}.archive-controls label{font-size:.9rem;display:flex;flex-direction:column;gap:6px}.archive-controls label:first-child{flex:1;min-width:0}.archive-controls input,.archive-controls select{height:42px;padding:7px 10px;border:1px solid #aaa;border-radius:0;background:#fff;color:var(--ink);min-width:0;font-size:1rem}.categories{display:flex;flex-wrap:wrap;gap:8px 15px}.category{background:none;border:0;padding:2px 0;color:var(--red);font-size:.9rem;text-align:left}.category[aria-pressed=true]{font-weight:700;text-decoration:underline;text-underline-offset:5px;color:var(--blue)}.category small{font-size:.8rem;color:var(--gray);margin-left:3px;font-weight:400}.results-bar{margin:26px 0 0;display:flex;justify-content:space-between;gap:15px;align-items:baseline;border-bottom:1px solid var(--rule);padding-bottom:10px}.results-bar p{font-size:.9rem;margin:0;color:#555}.results-bar button{border:0;background:none;color:var(--red);padding:0;font-size:.9rem}.activity{padding:24px 0;border-bottom:1px solid #ddd}.activity h2{font-size:1.05rem;line-height:1.65;margin:0 0 6px;font-weight:700;overflow-wrap:anywhere}.activity-meta{font-size:.9rem;color:#555;margin:0 0 9px;line-height:1.7}.activity-status{color:var(--blue);font-weight:600}.activity-status.scheduled{color:#805622}.activity-summary{font-size:1rem;margin:0;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}.activity-role{font-size:.85rem;color:#666;margin:9px 0 0}.activity-links{font-size:.9rem;display:flex;flex-wrap:wrap;gap:7px 22px;margin-top:9px}.load-more{display:block;margin:24px auto 0;padding:8px 20px;background:#fff;color:var(--red);border:1px solid #aaa}.archive-footer{display:flex;justify-content:space-between;gap:15px;padding-top:16px;margin-top:38px;border-top:1px solid var(--rule);font-size:.85rem;color:var(--gray)}#empty{padding:30px 0;color:#555}
@media(max-width:820px){.home{padding:46px 24px 24px}.home-grid{column-gap:24px}.home-header h1{font-size:1.8rem}.position{font-size:1.15rem}.interests{font-size:1.1rem}.link-section h2,.contact h2{font-size:1rem}.link-section ul{font-size:.95rem}.contact p{font-size:.9rem}.portrait img{width:138px;height:164px}}
@media(max-width:650px){.home{padding:34px 24px 22px;max-width:450px}.home-header{margin-bottom:38px}.home-header h1{font-size:1.7rem}.position{font-size:1rem;line-height:1.65!important}.interests{font-size:1rem;line-height:1.65!important}.home-grid{grid-template-columns:1fr;row-gap:32px}.link-section ul{font-size:1rem}.link-section h2,.contact h2{font-size:1.05rem}.portrait{margin:4px 0;align-self:start}.portrait img{width:156px;height:182px}.contact{align-self:start}.contact p{font-size:1rem}.home-footer{margin-top:35px}.archive-page{padding:24px 20px}.archive-header{align-items:start;flex-direction:column;gap:8px}.archive-header nav{gap:22px}.archive-page h1{font-size:1.5rem}.archive-controls{flex-direction:column;gap:13px}.archive-controls input,.archive-controls select{width:100%}.categories{gap:9px 16px}.results-bar{flex-direction:column;gap:9px}.activity{padding:20px 0}.activity-meta{font-size:.9rem}.activity-summary{font-size:1rem}.activity h2{font-size:1.05rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.recent{margin:-24px 0 48px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:15px 0 18px}.recent h2{margin:0 0 12px;color:var(--blue);font-size:1.05rem}.recent ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 30px;list-style:none;margin:0;padding:0}.recent li{font-size:.95rem;line-height:1.7;overflow-wrap:anywhere}.recent li a{font-weight:600}.recent li span{display:block;color:#666;font-size:.83rem;margin-top:2px}@media(max-width:650px){.recent{margin:-8px 0 32px}.recent ul{grid-template-columns:1fr;gap:14px}}
