/* Activities use the existing glass-card / glass-control material, not a new surface. */
.activities-section { padding-top: clamp(230px, 21vw, 320px); scroll-margin-top: 0; }
.activities-backdrop { font-size: clamp(44px, 12.5vw, 205px); white-space: nowrap; letter-spacing: -.065em; }
.activity-filters { grid-template-columns: repeat(5,minmax(0,1fr)); margin-bottom: 33px; }
.activity-index-caption { display: flex; justify-content: space-between; gap: 20px; margin: 0 2px 56px; color: #788794; font: 400 10px/1.7 'Space Grotesk',sans-serif; letter-spacing: .12em; }
.activity-index-caption p { margin: 0; }
.activity-index-caption > span { white-space: nowrap; }
.activity-group + .activity-group { margin-top: clamp(64px,7vw,104px); }
.activity-group-ja { font: 400 11px/1.6 'Noto Sans JP',sans-serif; letter-spacing: .08em; color: #72818d; }
.activity-list { list-style: none; display: grid; gap: 19px; padding: 0; margin: 0; }
.activity-row.glass-card { width: 100%; min-height: 132px; display: grid; grid-template-columns: minmax(155px,.65fr) minmax(0,2fr) minmax(140px,.75fr) 32px; gap: clamp(18px,2.2vw,36px); align-items: center; padding: 28px 30px; border-radius: 21px; text-align: left; color: var(--ink); font-family: inherit; isolation: isolate; cursor: pointer; transition: transform 340ms var(--ease-out), border-color 300ms, box-shadow 300ms; }
.activity-row.glass-card::after { content: none; }
.activity-row > span { min-width: 0; }
.activity-date { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; color: #677b8c; font: 400 12px/1.6 'Space Grotesk','Noto Sans JP',sans-serif; letter-spacing: .025em; font-variant-numeric: tabular-nums; }
.activity-date .activity-status { font-family: 'Noto Sans JP',sans-serif; font-size: 10px; letter-spacing: .07em; padding: 5px 9px; }
.activity-row-copy { display: flex; flex-direction: column; gap: 10px; }
.activity-name { font-size: clamp(16px,1.45vw,22px); font-weight: 500; line-height: 1.6; letter-spacing: .035em; overflow-wrap: anywhere; color: #344b60; }
.activity-role { font-size: 12px; line-height: 1.85; letter-spacing: .025em; color: #6a7b89; }
.activity-row-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.activity-location { font-size: 10px; letter-spacing: .06em; color: #7a8995; }
.activity-location:empty { display: none; }
.activity-tags { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 6px; font: 500 8px/1.4 'Space Grotesk',sans-serif; letter-spacing: .06em; }
.activity-open { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--glass-control-border); background: var(--glass-control-fill); box-shadow: var(--glass-control-shadow); color: #637c90; font: 300 21px/1 'Space Grotesk',sans-serif; padding: 0 0 2px 1px; transition: transform 300ms var(--ease-out), border-color 300ms, color 300ms; }
.activity-row:focus-visible { outline: 2px solid #496881; outline-offset: 5px; }
@media (hover: hover) {
  .activity-row.glass-card:hover { transform: translateY(-3px); border-color: rgba(74,99,122,.34); box-shadow: var(--glass-card-shadow),0 15px 24px -20px rgba(48,65,82,.18); }
  .activity-row:hover .activity-open { transform: translateX(2px); color: #344b60; border-color: var(--glass-control-border-hover); }
}
.activity-dialog { width: min(1040px,calc(100vw - 72px)); }
.activity-dialog .work-dialog-body { padding: 10px 42px 30px; }
.activity-detail-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(130px,260px); align-items: center; gap: clamp(30px,6vw,86px); min-height: 178px; padding: 16px 0 31px; border-bottom: 1px solid rgba(70,98,122,.15); }
.activity-detail-heading-copy { min-width: 0; }
.activity-detail-date { margin: 0 0 16px; font-size: 11px; font-variant-numeric: tabular-nums; letter-spacing: .09em; color: #758796; }
.activity-detail-heading h2 { margin: 0; font-size: clamp(24px,3vw,38px); font-weight: 500; line-height: 1.5; letter-spacing: .025em; overflow-wrap: anywhere; }
#activity-dialog-role { margin: 16px 0 0; color: #61788a; font-size: 14px; line-height: 1.9; }
.activity-company-mark { display: grid; place-items: center end; width: 100%; min-width: 0; margin: 0; }
.activity-company-mark[hidden] { display: none; }
.activity-company-mark img { display: block; width: min(220px,100%); max-height: 76px; object-fit: contain; object-position: right center; }
.activity-detail-grid { display: grid; grid-template-columns: minmax(150px,.65fr) minmax(0,1.8fr); gap: 46px; padding-top: 31px; }
.activity-detail-meta .work-facts { margin: 0; border: 0; }
.activity-detail-meta .work-facts > div { display: block; padding: 0 0 24px; border: 0; }
.activity-detail-meta dt { font-size: 10px; color: #7a8b98; margin-bottom: 9px; }
.activity-detail-meta dd { font-size: 12px; line-height: 1.9; color: #50687b; overflow-wrap: anywhere; }
.activity-detail-kicker { margin: 0 0 18px; font-size: 9px; letter-spacing: .14em; color: #7a8b98; }
#activity-story p { margin: 0 0 18px; font-size: 14px; line-height: 2.15; letter-spacing: .035em; color: #4e6577; }
#activity-story .activity-editorial-note { margin-top: 28px; padding-left: 13px; border-left: 1px solid rgba(74,99,122,.2); font-size: 11px; line-height: 1.95; color: #738594; }
#activity-related:empty { display: none; }
#activity-related .glass-button { margin-top: 10px; }
.activity-position { align-self: center; font-size: 9px; color: #738594; letter-spacing: .05em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.activity-dialog button:disabled { opacity: .4; cursor: default; transform: none; }
.activity-media { display: grid; gap: 25px; margin-top: 34px; }
.activity-media[hidden] { display: none; }
.activity-media figure { margin: 0; }
.activity-media img { display: block; width: 100%; height: auto; border-radius: 14px; }
.activity-media--gallery { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.activity-media--gallery[data-count="4"] { grid-template-columns: repeat(2,minmax(0,1fr)); }
.activity-media--gallery .activity-photo { padding: 7px; border: 1px solid rgba(255,255,255,.72); border-radius: 18px; background: linear-gradient(145deg,rgba(255,255,255,.4),rgba(223,235,241,.18)); box-shadow: inset 0 1px 0 rgba(255,255,255,.68),0 14px 28px -24px rgba(45,69,88,.28); backdrop-filter: blur(14px) saturate(1.08); }
.activity-media--gallery .activity-photo img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; }
.activity-media--gallery .activity-photo--wide img { aspect-ratio: 16 / 10; }
.activity-media--gallery figcaption { padding: 0 5px 3px; }
.activity-media .activity-logo img { width: min(220px,100%); max-height: 120px; object-fit: contain; object-position: left center; border-radius: 0; }
.activity-media figcaption { color: #738594; font-size: 11px; line-height: 1.8; margin-top: 12px; }
@media (max-width: 860px) {
  .activity-media--gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1000px) {
  .activity-row.glass-card { grid-template-columns: 140px minmax(0,1fr) 30px; gap: 12px 22px; padding: 25px; }
  .activity-row-meta { grid-column: 2; grid-row: 2; flex-direction: row; align-items: center; justify-content: space-between; }
  .activity-date { grid-row: 1 / 3; }
  .activity-open { grid-column: 3; grid-row: 1 / 3; }
}
@media (max-width: 700px) {
  .activities-section { padding-top: 215px; }
  .activities-backdrop { top: 116px; font-size: 14.4vw; left: 20px; }
  .activity-filters { grid-template-columns: repeat(6,minmax(0,1fr)); padding: 6px; gap: 3px; border-radius: 14px; margin-bottom: 25px; }
  .activity-filters button { grid-column: span 2; font-size: 9px; letter-spacing: .025em; padding: 15px 0; }
  .activity-filters button:nth-last-child(-n+2) { grid-column: span 3; }
  .activity-index-caption { font-size: 8px; letter-spacing: .025em; gap: 12px; margin-bottom: 34px; }
  .activity-group-ja { display: none; }
  .activity-list { gap: 16px; }
  .activity-row.glass-card { grid-template-columns: minmax(0,1fr) 28px; padding: 22px 20px; gap: 14px 10px; border-radius: 18px; }
  .activity-date { grid-column: 1; grid-row: 1; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 10px; }
  .activity-row-copy { grid-column: 1; grid-row: 2; gap: 7px; }
  .activity-name { font-size: 16px; }
  .activity-role { font-size: 11px; }
  .activity-row-meta { grid-column: 1; grid-row: 3; flex-direction: row; align-items: center; justify-content: flex-start; gap: 12px; flex-wrap: wrap; }
  .activity-tags { justify-content: flex-start; font-size: 8px; }
  .activity-open { grid-column: 2; grid-row: 2; width: 27px; height: 27px; }
  .activity-dialog { width: calc(100vw - 20px); }
  .activity-dialog .work-dialog-body { padding: 4px 22px 24px; }
  .activity-detail-heading { padding: 14px 0 24px; }
  .activity-detail-heading { grid-template-columns: minmax(0,1fr) minmax(78px,118px); gap: 18px; min-height: 0; }
  .activity-detail-heading h2 { font-size: 23px; }
  #activity-dialog-role { font-size: 12px; }
  .activity-company-mark img { max-height: 50px; }
  .activity-detail-grid { grid-template-columns: minmax(0,1fr); gap: 8px; padding-top: 24px; }
  .activity-detail-meta .work-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; }
  #activity-story p { font-size: 13px; }
  .activity-media--gallery,
  .activity-media--gallery[data-count="4"] { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .activity-dialog .work-dialog-footer { align-items: stretch; }
  .activity-dialog .work-dialog-footer > div { width: 100%; justify-content: space-between; gap: 8px; }
  .activity-dialog .work-dialog-footer button { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .activity-row.glass-card,.activity-open { transition: none; }
  .activity-row.glass-card:hover { transform: none; }
  .activity-dialog[open] { animation: none; }
}
