.dir-context{display:flex;flex-direction:column;gap:3px;width:100%;padding:12px 0 2px;color:#30305f}
.dir-context b{font-size:15px;font-weight:600;line-height:1.3}
.dir-context small{font:11px 'IBM Plex Mono',monospace;letter-spacing:.04em;text-transform:uppercase;color:#77778b}
.dir-card--teams{display:grid;grid-template-columns:39% 1fr;min-height:260px}
.dir-card--teams .dir-card-photo{height:100%;min-height:260px;aspect-ratio:auto}
.dir-card--teams .dir-card-copy{padding:24px}
.dir-card--teams .dir-context{flex-direction:row;align-items:baseline;gap:7px;border-top:1px solid var(--line);margin-top:17px;padding-top:14px}
.dir-card--teams .dir-context b{font-size:25px;color:var(--purple);font-weight:300}
.dir-card--teams .dir-context small{margin-left:auto}
.dir-card--people .dir-card-photo{aspect-ratio:1/1;background:#e8f5ee}
.dir-card--people .dir-card-photo img{filter:saturate(.78)}
.dir-card--people .dir-card-copy{padding:17px}
.dir-card--people .dir-context{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
.dir-card--newsroom{border:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:46% 1fr;background:transparent}
.dir-card--newsroom .dir-card-photo{aspect-ratio:auto;min-height:250px}
.dir-card--newsroom .dir-card-copy{padding:24px}
.dir-card--newsroom h3{font-size:25px;letter-spacing:-.02em}
.dir-card--newsroom .dir-context{margin-top:15px}
.dir-card--events{border-top:3px solid var(--blue)}
.dir-card--events .dir-card-photo{aspect-ratio:16/10}
.dir-card--events .dir-card-copy{padding:19px}
.dir-card--events .dir-context{border-left:3px solid var(--purple);padding:8px 0 8px 12px;margin-top:14px}
.dir-card--videos{background:#000052;color:white;border-color:#30305f}
.dir-card--videos .dir-card-photo{aspect-ratio:16/9;background:#17174d;position:relative}
.dir-card--videos .dir-card-photo img{opacity:.72}
.dir-card--videos .dir-card-copy{padding:20px}
.dir-card--videos .dir-card-tag,.dir-card--videos .dir-context b{color:#72d5a8}
.dir-card--videos .dir-card-copy p,.dir-card--videos .dir-context small,.dir-card--videos .dir-card-foot{color:#c9c9c3}
.dir-card--videos .dir-context{border-top:1px solid #55556e;margin-top:14px;padding-top:12px}
.dir-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border:1px solid white;border-radius:50%;display:grid;place-items:center;background:#000052aa;color:white;font-size:20px}
.dir-card--education{background:#e5f2eb;border-color:#9acbb4}.dir-card--education .dir-card-photo{aspect-ratio:16/8;background:#e8f5ee}.dir-card--education .dir-card-tag{color:#008b59}.dir-card--education .dir-card-copy{padding:22px}
.dir-card--partners{border-radius:18px;overflow:hidden}.dir-card--partners .dir-card-photo{aspect-ratio:16/10}.dir-card--partners .dir-card-copy{padding:20px}
.dir-card--awards{background:#f5f4f0;border-color:#e1e0da}.dir-card--awards .dir-card-photo{aspect-ratio:4/3;filter:saturate(.72)}.dir-card--awards .dir-card-tag{color:#000052}.dir-card--awards h3{font-family:'IBM Plex Sans',sans-serif;font-weight:500}
.dir-card--patents{background:#eef4f0;border-color:#d6e4da}.dir-card--patents .dir-card-photo{aspect-ratio:16/9;filter:grayscale(.35)}.dir-card--patents .dir-card-tag{font:11px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.07em;color:#000052}
.dir-card--resources{border-left:4px solid #00a86b;background:#f4faf7}.dir-card--resources .dir-card-photo{aspect-ratio:16/8}.dir-card--resources .dir-card-copy{padding:22px}
body[data-page="teams"] .dir-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-page="people"] .dir-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
body[data-page="software"] .dir-grid,body[data-page="newsroom"] .dir-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
body[data-page="events"] .dir-grid,body[data-page="videos"] .dir-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
body[data-page="partners"] .dir-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
body[data-page="awards"] .dir-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
body[data-page="patents"] .dir-grid,body[data-page="resources"] .dir-grid,body[data-page="education"] .dir-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media(max-width:900px){body[data-page="people"] .dir-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body[data-page="events"] .dir-grid,body[data-page="videos"] .dir-grid,body[data-page="partners"] .dir-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){body[data-page="teams"] .dir-grid,body[data-page="people"] .dir-grid,body[data-page="software"] .dir-grid,body[data-page="newsroom"] .dir-grid,body[data-page="events"] .dir-grid,body[data-page="videos"] .dir-grid,body[data-page="partners"] .dir-grid,body[data-page="awards"] .dir-grid,body[data-page="patents"] .dir-grid,body[data-page="resources"] .dir-grid,body[data-page="education"] .dir-grid{grid-template-columns:1fr}.dir-card--teams,.dir-card--newsroom{grid-template-columns:38% 1fr}.dir-card--teams .dir-card-photo{min-height:180px}.dir-card--newsroom .dir-card-photo{min-height:180px}}

/* Software directory: searchable product catalog with facet filters. */
.software-hero .dir-hero-copy{background:#fff}
.software-directory{padding-top:8px;padding-bottom:56px}
.software-directory .dir-summary{padding-top:30px}
.software-catalog{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:start;margin-top:12px}
.software-filters{padding:18px 18px 8px;border:1px solid #e1e0da;background:#fff}
.software-filters>h2{margin:0 0 12px;font-size:16px;font-weight:500}
.software-filters details{border-top:1px solid #e1e0da;padding:12px 0}
.software-filters summary{cursor:pointer;list-style:none;font-size:13px;font-weight:500}
.software-filters summary::-webkit-details-marker{display:none}
.software-filters summary::after{content:'+';float:right;color:#00a86b;font-size:16px}
.software-filters details[open] summary::after{content:'−'}
.software-filter-option{display:flex;align-items:center;gap:8px;margin-top:10px;color:#55556e;font-size:12px}
.software-filter-option input{accent-color:#00a86b}
.software-results{min-width:0}
.software-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:9px 0;border-bottom:1px solid #c9c9c3;color:#55556e;font-size:12px}
.software-results-toolbar label{display:flex;align-items:center;gap:8px;white-space:nowrap}
.software-results-toolbar select{min-height:34px;padding:0 28px 0 9px;border:1px solid #e1e0da;background:#fff;color:#000052;font:inherit}
body[data-page="software"] .software-results .dir-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body[data-page="software"] .software-results .pager{margin-top:20px}
@media(max-width:1000px){.software-catalog{grid-template-columns:190px minmax(0,1fr);gap:14px}body[data-page="software"] .software-results .dir-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.software-catalog{grid-template-columns:1fr}.software-filters{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.software-filters>h2{grid-column:1/-1}.software-results-toolbar{align-items:flex-start}body[data-page="software"] .software-results .dir-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.software-filters{grid-template-columns:1fr}.software-results-toolbar{flex-direction:column;gap:6px}body[data-page="software"] .software-results .dir-grid{grid-template-columns:1fr}.software-card{min-height:190px}}

/* Event discovery follows the image-led card and facet layout from the design reference. */
.event-directory{padding-top:0;padding-bottom:64px}
.event-directory>.dir-crumb{margin:18px auto 22px;padding:0}
.event-page-heading{margin:0 0 40px}
.event-page-heading .dir-eyebrow{color:#008b59}
.event-page-heading h1{margin:8px 0 10px;font-size:clamp(38px,5vw,54px);font-weight:300;line-height:1.08;letter-spacing:-.035em}
.event-page-heading p{max-width:680px;margin:0;color:#55556e;font-size:16px;line-height:1.6}
.event-featured{margin:0 0 64px}
.event-featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.event-card--featured{min-height:500px}
.event-card--featured .event-card-photo{aspect-ratio:16/12}
.event-catalog-heading{margin:0 0 22px}
.event-catalog-heading h2{margin:0 0 4px;font-size:28px;font-weight:400;line-height:1.2}
.event-catalog-heading p{margin:0;color:#55556e;font-size:14px}
.event-catalog{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}
.event-filters{padding:0 16px 8px 0;border-right:1px solid #d8d8d4}
.event-filters>h2{margin:0 0 12px;font-size:16px;font-weight:500}
.event-filters details{border-top:1px solid #d8d8d4;padding:13px 0}
.event-filters summary{cursor:pointer;list-style:none;font-size:13px;font-weight:500}
.event-filters summary::-webkit-details-marker{display:none}
.event-filters summary::after{content:'⌄';float:right;color:#000052}
.event-filters details[open] summary::after{content:'⌃'}
.event-filter-option{display:flex;align-items:center;gap:9px;margin-top:11px;color:#55556e;font-size:12px;line-height:1.35}
.event-filter-option input{accent-color:#00a86b}
.event-results{min-width:0}
.event-search{margin:0 0 10px;background:#f4f3ef}
.event-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px;padding:8px 0;border-bottom:1px solid #c9c9c3;color:#55556e;font-size:12px}
.event-results-toolbar label{display:flex;align-items:center;gap:8px;white-space:nowrap}
.event-results-toolbar select{min-height:34px;padding:0 30px 0 10px;border:0;border-bottom:1px solid #777;background:transparent;color:#000052;font:inherit}
body[data-page="events"] .event-results .dir-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.event-card{position:relative;display:flex;min-width:0;min-height:450px;flex-direction:column;overflow:hidden;border:1px solid #d2d2d2;border-radius:3px;background:#fff;color:#000052;transition:border-color .18s,box-shadow .18s,transform .18s}
.event-card:hover{border-color:#00a86b}
.event-card-photo{position:relative;display:grid;aspect-ratio:16/11;place-items:center;overflow:hidden;background:#e9e9e7}
.event-card-photo img{display:block;width:100%;height:100%;object-fit:cover}
.event-image-placeholder{display:grid;width:100%;height:100%;place-items:center;background:linear-gradient(115deg,#f0f0ed 0 46%,#e1e4e4 46% 68%,#d7e2dd 68%);color:#000052;font:500 42px 'IBM Plex Mono',monospace;letter-spacing:-.1em}
.event-card-copy{position:relative;display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:15px 15px 42px}
.event-card-date{margin-bottom:8px;color:#008b59;font:500 10px 'IBM Plex Mono',monospace;letter-spacing:.04em;text-transform:uppercase}
.event-card h2{margin:0 0 10px;font-size:19px;font-weight:400;line-height:1.32;letter-spacing:-.02em}
.event-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;margin:0;color:#373747;font-size:13px;line-height:1.5}
.event-card-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:17px}
.event-card-meta span{padding:5px 8px;border-radius:2px;background:#f1f1ed;color:#55556e;font-size:10px;line-height:1.25}
.event-card-arrow{position:absolute;right:15px;bottom:12px;color:#008b59;font-size:20px}
body[data-page="events"] .event-results .pager{margin-top:24px}
body[data-page="events"] .dir-empty{grid-column:1/-1}
@media(max-width:1050px){.event-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-card--featured{min-height:430px}.event-catalog{grid-template-columns:190px minmax(0,1fr);gap:18px}body[data-page="events"] .event-results .dir-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-card{min-height:420px}}
@media(max-width:700px){.event-directory>.dir-crumb{margin:14px auto 18px}.event-page-heading{margin-bottom:26px}.event-catalog{grid-template-columns:1fr}.event-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding:0;border-right:0}.event-filters>h2{grid-column:1/-1}.event-results-toolbar{align-items:flex-start}}
@media(max-width:520px){.event-featured{margin-bottom:42px}.event-featured-grid{grid-template-columns:1fr}.event-card--featured{min-height:0}.event-catalog-heading h2{font-size:24px}body[data-page="events"] .event-results .dir-grid{grid-template-columns:1fr}.event-card{min-height:0}.event-card-photo{aspect-ratio:16/9}.event-results-toolbar{flex-direction:column;gap:6px}.event-filters{grid-template-columns:1fr}}
