.hero-event-link { display: inline-flex; align-items: center; gap: .75rem; font-size: .875rem; line-height: 1.8; color: #b7d9ef; text-decoration: none; margin-top: .45rem; }
.hero-event-link:hover { color: #fff; text-decoration: underline; }
.event-section { background: radial-gradient(ellipse at 20% 50%, #477d9d13, transparent 58%), #091121; border-block: 1px solid #b8cbff19; }
.event-wrap { padding-block: clamp(3.5rem, 6vw, 6rem); }
.event-card { display: grid; grid-template-columns: .65fr 1.35fr; overflow: hidden; border: 1px solid #bbcbff3d; border-radius: 18px; background: linear-gradient(125deg, #3b789d16, #6b569214 68%, #c3909b0a); }
.event-date { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 3rem 1.8rem; border-right: 1px solid #bbcfff24; background: radial-gradient(circle at 50% 43%, #64b7ee16, transparent 60%); }
.event-date-label { color: #9cbbd7; font-size: .75rem; letter-spacing: .2em; }
.event-date time { display: flex; flex-wrap: wrap; align-items: baseline; max-width: 100%; margin: 1.1rem 0; color: #c9eaff; font-size: clamp(3rem, 5.5vw, 5rem); font-weight: 400; line-height: 1.2; letter-spacing: -.065em; }
.event-date time > span { display: block; }
.event-date time > .event-date-divider { color: #baadf2; font-weight: 300; padding-inline: .1em; }
.event-format { color: #e7eafa; font-size: 1.05rem; letter-spacing: .18em; }
.event-brand-note { color: #889cb9; font-size: .75rem; letter-spacing: .18em; margin-top: 2.6rem; }
.event-copy { min-width: 0; padding: clamp(2rem, 4vw, 3.5rem); }
.event-copy .section-kicker { margin-bottom: 1.3rem; }
.event-copy h2 { font-size: clamp(1.9rem, 3vw, 2.8rem); }
.event-description { color: #b6c7df; font-size: 1rem; line-height: 1.95; margin: 1.35rem 0; }
.event-speakers { display: flex; flex-wrap: wrap; gap: .55rem 1.25rem; margin: 1.5rem 0 1.8rem; color: #b4c8df; font-size: .875rem; line-height: 1.8; }
.event-speakers b { color: #a5cde9; font-size: .75rem; font-weight: 400; margin-right: .45rem; }
.event-registration { gap: 2.6rem; }
.event-registration-note { color: #9dacc6; font-size: .8125rem; line-height: 1.85; margin: 1rem 0 0; }
.line-chat-bubble { position: fixed; z-index: 30; right: max(1.25rem, env(safe-area-inset-right)); bottom: max(1.25rem, env(safe-area-inset-bottom)); display: flex; align-items: center; gap: .75rem; max-width: calc(100vw - 2rem); padding: .65rem 1.15rem .65rem .65rem; color: #fff; text-decoration: none; border: 1px solid #a9d3f75c; border-radius: 999px; background: linear-gradient(125deg, #15313beb, #1a2145f2); backdrop-filter: blur(16px); box-shadow: inset 0 1px 0 #effaff1f, 0 5px 24px #0005; transition: transform .2s, border-color .2s; }
.line-chat-bubble:hover { transform: translateY(-3px); border-color: #a5ecdfb0; }
.line-chat-bubble:active { transform: translateY(0); }
.line-chat-icon { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background: #06b95b; }
.line-chat-copy { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.line-chat-label { color: #9dd4be; font-size: .75rem; line-height: 1.2; letter-spacing: .1em; }
.line-chat-copy strong { font-size: .9375rem; font-weight: 500; line-height: 1.5; letter-spacing: .03em; }
.site-footer { padding-bottom: calc(6.5rem + env(safe-area-inset-bottom)); }
body.portfolio-open .line-chat-bubble { visibility: hidden; }

@media (max-width: 900px) {
  .event-card { grid-template-columns: .6fr 1.4fr; }
  .event-date { padding-inline: 1.2rem; }
  .event-copy { padding: 2rem; }
}
@media (max-width: 760px) {
  .hero-event-link { font-size: .8125rem; }
  .event-card { grid-template-columns: 1fr; border-radius: 14px; }
  .event-date { flex-direction: row; flex-wrap: wrap; justify-content: flex-start; gap: .5rem 1.3rem; padding: 1.6rem; border-right: 0; border-bottom: 1px solid #bbcfff24; }
  .event-date-label { width: 100%; }
  .event-date time { margin: .35rem 0; font-size: clamp(2.75rem, 12vw, 4rem); }
  .event-format { font-size: .9375rem; letter-spacing: .1em; }
  .event-brand-note { display: none; }
  .event-copy { padding: 1.6rem; }
  .event-copy h2 { font-size: clamp(1.75rem, 6.5vw, 2.1rem); }
  .event-copy .section-kicker { font-size: .75rem; letter-spacing: .1em; }
  .event-registration { gap: 1.8rem; }
  .line-chat-bubble { right: max(.8rem, env(safe-area-inset-right)); bottom: max(.8rem, env(safe-area-inset-bottom)); gap: .6rem; padding: .5rem .95rem .5rem .5rem; }
  .line-chat-icon { width: 40px; height: 40px; }
  .line-chat-copy strong { font-size: .875rem; }
}
