.itoba-event-page #content,body:has(.itoba-event-directory) #content{padding:0!important}.itoba-event-page .l-content,body:has(.itoba-event-directory) .l-content{max-width:none!important;margin:0!important;padding:0!important}.itoba-event-page .l-mainContent,.itoba-event-page #main_content,body:has(.itoba-event-directory) .l-mainContent,body:has(.itoba-event-directory) #main_content{width:100%!important;max-width:none!important;padding:0!important;flex:1 1 100%!important}.itoba-event-page .l-sidebar,body:has(.itoba-event-directory) .l-sidebar{display:none!important}
.itoba-event-directory{--event-navy:#04384c;--event-teal:#0e7c86;--event-lime:#d9ef8d;--event-cream:#fbf8f0;--event-mist:#eef4f1;--event-ink:#16323c;--event-muted:#64777d;--event-line:#d9e4e0;color:var(--event-ink);background:#f7f9f6}.itoba-event-directory *{box-sizing:border-box}.itoba-event-container{width:min(1120px,calc(100% - 48px));margin:0 auto}
.itoba-event-hero{padding:64px 0 60px;background:var(--event-cream);border-bottom:1px solid var(--event-line)}.itoba-event-breadcrumb{display:flex;gap:9px;margin-bottom:34px;color:var(--event-muted);font-size:12px}.itoba-event-breadcrumb a{color:var(--event-teal)}.itoba-event-eyebrow{margin:0 0 13px!important;color:var(--event-teal);font-size:11px!important;font-weight:900;letter-spacing:.18em}.itoba-event-hero h1{margin:0;color:var(--event-navy);font-size:clamp(40px,6vw,68px);line-height:1.13;letter-spacing:-.045em}.itoba-event-hero>div>p:last-child{max-width:680px;margin:22px 0 0;color:var(--event-muted);font-size:16px;line-height:1.9}.itoba-event-content{padding:56px 0 96px}
.itoba-upcoming-events>header,.itoba-event-archive>header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.itoba-upcoming-events header small,.itoba-event-archive header small,.itoba-exchange-guide small{color:var(--event-teal);font-size:10px;font-weight:900;letter-spacing:.17em}.itoba-upcoming-events h2,.itoba-event-archive h2,.itoba-exchange-guide h2{margin:5px 0 0;color:var(--event-navy);font-size:30px}.itoba-upcoming-events header p{max-width:460px;margin:0;color:var(--event-muted);font-size:13px}.itoba-upcoming-grid{display:grid;gap:14px}
.itoba-upcoming-card,.itoba-event-card{display:grid;align-items:center;color:var(--event-ink);background:#fff;border:1px solid var(--event-line);border-radius:18px;box-shadow:0 8px 24px rgba(6,46,59,.045);transition:.2s ease}.itoba-upcoming-card:hover,.itoba-event-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(6,46,59,.09)}.itoba-upcoming-card{grid-template-columns:108px 132px 1fr;overflow:hidden}.itoba-upcoming-card>time,.itoba-event-card>time{display:grid;align-content:center;justify-items:center;color:var(--event-navy)}.itoba-upcoming-card>time small,.itoba-event-card>time small{font-size:10px;font-weight:800}.itoba-upcoming-card>time strong,.itoba-event-card>time strong{font-size:25px;line-height:1.1}.itoba-upcoming-card>time span{margin-top:3px;color:var(--event-teal);font-size:10px;font-weight:900}.itoba-event-thumb{display:block;overflow:hidden;height:112px;background:var(--event-mist)}.itoba-event-thumb img{width:100%;height:100%;object-fit:cover}.itoba-event-copy{display:grid;gap:5px;padding:18px 22px}.itoba-event-copy b{color:var(--event-teal);font-size:10px}.itoba-event-copy>strong{color:var(--event-navy);font-size:18px}.itoba-event-copy small{overflow:hidden;color:var(--event-muted);font-size:12px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.itoba-event-copy em{margin-top:5px;color:var(--event-teal);font-size:12px;font-style:normal;font-weight:900}
.itoba-exchange-guide{display:grid;grid-template-columns:1.1fr auto auto;align-items:center;gap:28px;margin:54px 0;padding:32px 34px;background:linear-gradient(135deg,#edf6f2,#fbf8f0);border:1px solid var(--event-line);border-radius:22px}.itoba-exchange-guide h2{font-size:27px;line-height:1.35}.itoba-exchange-guide p{margin:10px 0 0;color:var(--event-muted);font-size:13px}.itoba-exchange-date{display:flex;align-items:center;gap:9px;color:var(--event-navy)}.itoba-exchange-date>span{font-size:11px;font-weight:900;writing-mode:vertical-rl}.itoba-exchange-date time{font-size:25px;font-weight:900}.itoba-exchange-date time b{display:block;color:var(--event-teal);font-size:9px;text-align:center}.itoba-exchange-date i{font-style:normal}.itoba-exchange-date em{padding:5px 8px;color:var(--event-navy);background:var(--event-lime);border-radius:999px;font-size:10px;font-style:normal;font-weight:900}.itoba-exchange-guide>a{padding:12px 16px;color:#fff;background:var(--event-navy);border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}
.itoba-event-filters{display:flex;flex-wrap:wrap;gap:8px}.itoba-event-filters button{padding:9px 14px;color:var(--event-navy);background:#fff;border:1px solid var(--event-line);border-radius:999px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.itoba-event-filters button.is-active{color:#fff;background:var(--event-navy);border-color:var(--event-navy)}.itoba-event-years{display:grid;gap:32px}.itoba-event-year-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px}.itoba-event-year-heading h3{margin:0;color:var(--event-navy);font-size:22px}.itoba-event-year-heading span{color:var(--event-muted);font-size:11px}.itoba-event-list{display:grid;gap:10px}.itoba-event-card{grid-template-columns:84px 96px 1fr 28px;overflow:hidden}.itoba-event-card[hidden]{display:none}.itoba-event-card .itoba-event-thumb{height:90px}.itoba-event-card>em{color:var(--event-teal);font-style:normal;font-weight:900}.itoba-event-year[hidden]{display:none}.itoba-event-empty{padding:30px;text-align:center;color:var(--event-muted);background:var(--event-mist);border-radius:18px}
@media(max-width:780px){.itoba-exchange-guide{grid-template-columns:1fr}.itoba-exchange-date{justify-content:flex-start}.itoba-upcoming-card{grid-template-columns:86px 100px 1fr}}@media(max-width:620px){.itoba-event-container{width:min(100% - 32px,620px)}.itoba-event-hero{padding:48px 0 44px}.itoba-event-breadcrumb{margin-bottom:25px}.itoba-event-hero h1{font-size:39px}.itoba-event-content{padding:38px 0 72px}.itoba-upcoming-events>header,.itoba-event-archive>header{display:block}.itoba-upcoming-events header p{margin-top:8px}.itoba-upcoming-card{grid-template-columns:76px 86px 1fr}.itoba-upcoming-card .itoba-event-thumb{height:126px}.itoba-event-copy{padding:14px}.itoba-event-copy>strong{font-size:15px}.itoba-event-copy small{display:none}.itoba-exchange-guide{margin:40px 0;padding:25px 21px}.itoba-event-filters{margin-top:16px}.itoba-event-card{grid-template-columns:68px 72px 1fr 20px}.itoba-event-card .itoba-event-thumb{height:82px}.itoba-event-card .itoba-event-copy{padding:11px}.itoba-event-card .itoba-event-copy>strong{font-size:14px}}

/* DESIGN-SYSTEM.md: event directory, 2026-09-06 */
body:has(.itoba-event-directory) #breadcrumb { display: none; }

.itoba-event-directory {
  --event-navy: var(--itoba-navy-900);
  --event-teal: var(--itoba-teal);
  --event-lime: var(--itoba-lime);
  --event-cream: var(--itoba-cream);
  --event-mist: var(--itoba-mist);
  --event-ink: var(--itoba-ink);
  --event-muted: var(--itoba-muted);
  --event-line: var(--itoba-line);
  color: var(--itoba-ink);
  background: var(--itoba-mist);
  font-size: 15px;
  line-height: 1.75;
}

.itoba-event-container { width: min(var(--itoba-content), calc(100% - 40px)); }
.itoba-event-hero { padding: 50px 0 58px; }
.itoba-event-breadcrumb { font-size: 12px; }
.itoba-event-hero h1 {
  font-size: clamp(38px, 4.2vw, 48px);
  line-height: 1.3;
  letter-spacing: .02em;
}
.itoba-event-hero > div > p:last-child { font-size: 15px; line-height: 1.75; }
.itoba-event-eyebrow,
.itoba-upcoming-events header small,
.itoba-event-archive header small,
.itoba-exchange-guide small { font-size: 11px !important; }
.itoba-upcoming-events h2,
.itoba-event-archive h2,
.itoba-exchange-guide h2 {
  color: var(--itoba-navy-900);
  font-size: clamp(31px, 3vw, 34px);
  line-height: 1.4;
}
.itoba-upcoming-events header p,
.itoba-exchange-guide p { font-size: 15px; line-height: 1.75; }

.itoba-upcoming-card,
.itoba-event-card {
  border-color: var(--itoba-line);
  border-radius: var(--itoba-radius-md);
  box-shadow: none;
}
.itoba-upcoming-card:hover,
.itoba-event-card:hover { box-shadow: var(--itoba-shadow-soft); }
.itoba-event-copy b,
.itoba-upcoming-card > time small,
.itoba-event-card > time small,
.itoba-upcoming-card > time span { font-size: 11px; }
.itoba-event-copy > strong { color: var(--itoba-navy-900); line-height: 1.5; }
.itoba-event-copy small { font-size: 12px; line-height: 1.75; }

.itoba-exchange-guide {
  background: linear-gradient(135deg, var(--itoba-lime-soft), var(--itoba-white));
  border-color: var(--itoba-line);
  border-radius: var(--itoba-radius-lg);
}
.itoba-exchange-date time b,
.itoba-exchange-date em { font-size: 11px; }
.itoba-exchange-guide > a {
  display: inline-flex;
  min-height: 48px;
  padding: 10px 20px;
  align-items: center;
  justify-content: center;
  background: var(--itoba-navy-900);
  border-radius: var(--itoba-radius-pill);
  font-size: 12px;
}
.itoba-event-filters button {
  min-height: 44px;
  padding: 8px 16px;
  border-radius: var(--itoba-radius-pill);
  font-size: 12px;
}
.itoba-event-filters button.is-active { background: var(--itoba-navy-900); border-color: var(--itoba-navy-900); }
.itoba-event-empty { border-radius: var(--itoba-radius-md); }

.itoba-event-directory a:focus-visible,
.itoba-event-directory button:focus-visible {
  outline: 3px solid var(--itoba-navy-800);
  outline-offset: 3px;
}

@media (max-width: 620px) {
  .itoba-event-container { width: min(calc(100% - 28px), 620px); }
  .itoba-event-hero { padding: 32px 0 40px; }
  .itoba-event-hero h1 { font-size: 31px; }
  .itoba-event-content { padding: 38px 0 64px; }
  .itoba-upcoming-events h2,
  .itoba-event-archive h2,
  .itoba-exchange-guide h2 { font-size: 27px; }
  .itoba-exchange-guide > a { width: 100%; }
  .itoba-event-card .itoba-event-copy > strong { font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  .itoba-event-directory *,
  .itoba-event-directory *::before,
  .itoba-event-directory *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}
