/* ==========================================================================
   JSIC — Conference microsite (loaded only inside event/). Prefix: ev-
   Builds on the tokens and components in app.css.
   ========================================================================== */

:root { --ev-brand-h: 78px; --ev-nav-h: 62px; }
.ev { background: var(--paper); }
.ev-container { width: 100%; max-width: 1480px; margin-inline: auto; padding-inline: var(--gutter); }
.ev-center { text-align: center; align-items: center; }
.ev-muted { color: var(--muted); font-size: .82rem; }

/* ---------- Chips (date / place) ---------- */
.ev-chips { display: flex; flex-wrap: wrap; gap: .6rem; }
.ev-chips li { display: inline-flex; align-items: center; gap: .55rem; padding: .5rem .95rem .5rem .75rem; border-radius: 999px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .16); color: #fff; font: 600 .9rem/1.25 var(--f-head); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.ev-chips .icon { width: 17px; height: 17px; color: var(--shu-2); flex: none; }
.ev-chips .bi { flex-direction: row; align-items: baseline; gap: .55rem; }
.ev-chips .bi > .ja { font-size: .74rem; color: #AEB9D2; font-weight: 500; }
.ev-chips--sm li { padding: .32rem .7rem .32rem .55rem; font-size: .78rem; }
.ev-chips--sm .icon { width: 14px; height: 14px; }
.ev-chips--sm .bi > .ja { font-size: .68rem; }
.ev-chips--light li, .ev-drawer .ev-chips li { background: #fff; border-color: var(--line-cool); color: var(--ink); backdrop-filter: none; }
.ev-chips--light .bi > .ja, .ev-drawer .ev-chips .bi > .ja { color: var(--muted); }
.ev-chips--light .icon, .ev-drawer .ev-chips .icon { color: var(--shu); }
html[data-lang="ja"] .ev-chips .bi > .ja { font-size: inherit; color: inherit; }

/* ---------- Top bar (Hero Header – Top Section) ---------- */
.ev-topbar { background: #060D20; color: #AEB9D2; font-size: .76rem; position: relative; z-index: 60; border-bottom: 1px solid rgba(255, 255, 255, .06); }
.ev-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 40px; }
.ev-topbar a { display: inline-flex; align-items: center; gap: .45rem; color: #C9D2E6; white-space: nowrap; }
.ev-topbar a:hover { color: var(--kin-2); }
.ev-topbar .icon { width: 14px; height: 14px; color: var(--kin); flex: none; }
.ev-topbar [lang="ja"] { opacity: .7; }
.ev-topbar__links ul { display: flex; align-items: center; }
.ev-topbar__links li { display: flex; align-items: center; }
.ev-topbar__links li + li::before { content: ""; width: 1px; height: 12px; background: rgba(255, 255, 255, .16); margin: 0 .9rem; }
.ev-topbar__contact { display: flex; gap: 1.3rem; }
.ev-topbar__contact .icon { color: var(--shu-2); }
.ev-topbar__lbl { color: #8592AF; }

/* ---------- Header (dark glass, two tiers) ---------- */
.ev-header { position: sticky; top: calc(-1 * var(--ev-brand-h)); z-index: 50; background: rgba(10, 22, 48, .94); backdrop-filter: saturate(160%) blur(16px); -webkit-backdrop-filter: saturate(160%) blur(16px); color: #fff; box-shadow: inset 0 -1px 0 rgba(241, 215, 154, .18); transition: box-shadow .3s; }
.ev-header.is-scrolled { box-shadow: inset 0 -1px 0 rgba(241, 215, 154, .22), 0 18px 40px -22px rgba(0, 0, 0, .6); }
.ev-header__inner { display: flex; align-items: center; gap: 1.25rem; min-height: var(--ev-brand-h); }
.ev-header .scroll-progress { bottom: 0; }

.ev-brand { display: flex; align-items: center; gap: .85rem; min-width: 0; }
.ev-brand__jsic { flex: none; display: grid; place-items: center; width: 50px; height: 50px; border-radius: 14px; background: #fff; box-shadow: 0 8px 20px -10px rgba(0, 0, 0, .6); transition: transform .5s var(--ease); }
.ev-brand__jsic:hover { transform: rotate(-8deg); }
.ev-brand__jsic img { width: 38px; height: 38px; }
.ev-brand__conf { display: flex; flex-direction: column; gap: .2rem; min-width: 0; color: #fff; padding-left: .85rem; border-left: 1px solid rgba(255, 255, 255, .14); }
.ev-brand__conf:hover { color: #fff; }
.ev-brand__code { display: inline-flex; align-items: center; gap: .5rem; font: 800 1.4rem/1 var(--f-head); letter-spacing: .01em; color: #fff; }
.ev-brand__code small { font: 700 .6rem/1 var(--f-head); letter-spacing: .14em; padding: .28rem .45rem; border-radius: 6px; background: var(--g-kin); color: var(--ink); }
.ev-brand__name { font: 500 .72rem/1.35 var(--f-body); color: #AEB9D2; max-width: 330px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ev-brand--sm { display: flex; align-items: center; gap: .6rem; }
.ev-brand--sm .ev-brand__code { color: var(--ink); font-size: 1.2rem; }

.ev-chips--header { margin-left: auto; flex-wrap: nowrap; }
.ev-chips--header li { padding: .4rem .8rem .4rem .6rem; font-size: .8rem; white-space: nowrap; }
.ev-chips--header .bi > .ja { font-size: .68rem; }

.ev-header__actions { display: flex; align-items: center; gap: .6rem; flex: none; margin-left: 1rem; }
.ev-feat-btn { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .16); color: #fff; font: 600 .8rem var(--f-head); }
.ev-feat-btn:hover { border-color: var(--kin-2); background: rgba(255, 255, 255, .1); }
.ev-feat-btn .icon { color: var(--kin-2); }
.ev-feat-btn__label span { opacity: .7; font-weight: 500; }
.ev-register { white-space: nowrap; padding-block: .5rem; }
.ev-register .btn__label .ja { font-size: .7em; }
.ev-menu-btn { display: none; background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .16); color: #fff; }
.ev-menu-btn:hover { border-color: var(--kin-2); }

/* Navigation bar */
.ev-navbar { border-top: 1px solid rgba(255, 255, 255, .07); background: linear-gradient(180deg, rgba(255, 255, 255, .02), rgba(255, 255, 255, 0)); }
.ev-navbar__inner { display: flex; align-items: center; gap: .5rem; min-height: var(--ev-nav-h); }
.ev-navbar__code { flex: none; width: 0; opacity: 0; overflow: hidden; white-space: nowrap; font: 800 .82rem/1 var(--f-head); color: var(--ink); background: var(--g-kin); border-radius: 8px; padding: .45rem 0; text-align: center; transition: width .35s var(--ease), opacity .3s, padding .35s; }
.ev-header.is-stuck .ev-navbar__code { width: auto; opacity: 1; padding: .45rem .65rem; margin-right: .5rem; }
.ev-nav { flex: 1; min-width: 0; }
.ev-nav__list { display: flex; align-items: center; justify-content: space-between; gap: .1rem; }
.ev-nav__list > li { position: relative; }
.ev-nav__link { position: relative; display: flex; align-items: center; gap: .25rem; padding: .5rem .55rem; border-radius: 10px; color: #E6EBF5; font: 600 .8rem/1.2 var(--f-head); white-space: nowrap; text-align: left; transition: background .25s, color .25s; }
.ev-nav__link .bi { gap: .18rem; }
.ev-nav__link .bi > .ja { font: 500 .66rem/1.3 var(--f-ja); color: #8F9BB8; letter-spacing: .02em; }
.ev-nav__link:hover, .ev-nav .has-drop:hover > .ev-nav__link, .ev-nav .has-drop.is-open > .ev-nav__link { background: rgba(255, 255, 255, .07); color: #fff; }
.ev-nav__list > li.is-active > .ev-nav__link { color: var(--kin-2); }
.ev-nav__list > li.is-active > .ev-nav__link .bi > .ja { color: #C9B37E; }
.ev-nav__list > li.is-active > .ev-nav__link::after { content: ""; position: absolute; left: .55rem; right: .55rem; bottom: -.5rem; height: 3px; border-radius: 3px 3px 0 0; background: var(--g-shu); }
.ev-nav .caret { width: 13px; height: 13px; opacity: .55; transition: transform .3s; flex: none; }
.ev-nav .has-drop:hover .caret, .ev-nav .has-drop.is-open .caret { transform: rotate(180deg); }
.ev-nav .drop { top: calc(100% + 12px); min-width: 310px; }
.ev-nav .drop .bi > .ja { font-size: .74rem; color: var(--muted); }
.ev-nav .has-drop.drop-right .drop { left: auto; right: 0; transform: translate(0, 8px); }
.ev-nav .has-drop.drop-right:hover .drop, .ev-nav .has-drop.drop-right.is-open .drop, .ev-nav .has-drop.drop-right:focus-within .drop { transform: none; }
html[data-lang="ja"] .ev-nav__link { font-size: .84rem; }

/* Drawers */
.ev-drawer__conf { padding: 1.25rem 1.5rem 0; display: grid; gap: .35rem; }
.ev-drawer__conf strong { font: 800 1.5rem/1.1 var(--f-head); color: var(--ink); }
.ev-drawer__conf > span { font-size: .85rem; color: var(--muted); line-height: 1.4; }
.ev-drawer__conf .ev-chips { margin-top: .4rem; }
.ev-drawer__cta { padding: 0 1.5rem 1.25rem; }
.ev-drawer__cta--top { padding: 1rem 1.5rem 0; }
.ev-drawer__cta .btn { width: 100%; justify-content: space-between; }
.ev-drawer .quick-grid a[aria-current] { border-color: var(--shu); box-shadow: inset 0 0 0 1px var(--shu); }
.ev-drawer .drawer__foot img { width: 18px; height: 18px; }

/* ---------- Home hero ---------- */
.ev-hero { position: relative; color: #fff; background: var(--ink); overflow: hidden; isolation: isolate; }
.ev-hero__media { position: absolute; inset: 0; z-index: -3; background: var(--photo) center / cover no-repeat; opacity: .5; transform-origin: 70% 40%; animation: ev-kenburns 28s ease-in-out infinite alternate; }
.ev-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 22, 48, .97) 0%, rgba(10, 22, 48, .86) 38%, rgba(10, 22, 48, .45) 72%, rgba(10, 22, 48, .6) 100%), linear-gradient(0deg, rgba(10, 22, 48, .95) 0%, transparent 38%); }
@keyframes ev-kenburns { from { transform: scale(1); } to { transform: scale(1.08); } }
.ev-hero .aurora { opacity: .75; }
.ev-hero .seigaiha { position: absolute; inset: 0; z-index: -1; background-image: var(--seigaiha); background-size: 56px 28px; opacity: .06; -webkit-mask-image: linear-gradient(100deg, transparent 35%, #000 80%); mask-image: linear-gradient(100deg, transparent 35%, #000 80%); }
.ev-hero__orb { position: absolute; z-index: -1; right: clamp(-160px, -8vw, -60px); top: 12%; width: clamp(320px, 38vw, 560px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #FF9A76, #E2412A 55%, #A8230F 100%); opacity: .55; box-shadow: 0 0 140px 30px rgba(226, 65, 42, .3); animation: float 12s ease-in-out infinite; }
.ev-hero__orb::after { content: ""; position: absolute; inset: -9%; border-radius: 50%; border: 1px solid rgba(241, 215, 154, .35); }
.ev-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr) 430px; gap: clamp(2rem, 5vw, 5rem); align-items: center; padding-block: clamp(3.5rem, 7vw, 6.5rem) clamp(3rem, 6vw, 5rem); }
.ev-hero__org { display: inline-flex; align-items: center; gap: .7rem; padding: .4rem 1rem .4rem .4rem; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .15); font: 600 .8rem/1.3 var(--f-head); color: #DCE3F2; margin-bottom: 1.8rem; backdrop-filter: blur(8px); }
.ev-hero__org img { width: 30px; height: 30px; padding: 3px; border-radius: 50%; background: #fff; }
.ev-hero__title { display: flex; flex-direction: column; margin: 0; }
.ev-hero__title > .en { display: flex; flex-direction: column; }
.ev-hero__welcome { display: flex; align-items: center; gap: .9rem; font: 700 clamp(.95rem, 1.5vw, 1.2rem)/1 var(--f-head); letter-spacing: .42em; color: var(--kin-2); margin-bottom: .9rem; }
.ev-hero__welcome::before { content: ""; width: 44px; height: 2px; background: var(--g-kin); border-radius: 2px; }
.ev-hero__code { display: block; font: 800 clamp(3.4rem, 9.2vw, 8rem)/.92 var(--f-head); letter-spacing: -.045em; background: linear-gradient(100deg, #FFFFFF 0%, #FFFFFF 42%, #F1D79A 72%, #FF8A66 100%); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .06em; }
.ev-hero__title > .ja { display: flex; align-items: baseline; gap: .6rem; margin-top: 1rem; font: 700 clamp(1.05rem, 1.9vw, 1.45rem)/1.4 var(--f-mincho); color: var(--kin-2); letter-spacing: .08em; }
.ev-hero__title > .ja .ev-hero__code { display: inline; font: inherit; letter-spacing: inherit; background: none; color: inherit; padding: 0; }
html[data-lang="ja"] .ev-hero__title > .ja { flex-direction: column; align-items: flex-start; gap: .4rem; margin-top: 0; }
html[data-lang="ja"] .ev-hero__title > .ja .ev-hero__code { display: block; font: 800 clamp(3.2rem, 8.6vw, 7.4rem)/.95 var(--f-head); letter-spacing: -.04em; background: linear-gradient(100deg, #FFFFFF 0%, #FFFFFF 42%, #F1D79A 72%, #FF8A66 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
html[data-lang="ja"] .ev-hero__welcome-ja { font-size: clamp(1.4rem, 2.6vw, 2.1rem); }
.ev-hero__name { margin: 1.8rem 0 1.6rem; max-width: 680px; padding-left: 1.1rem; border-left: 3px solid var(--shu); font: 600 clamp(1.08rem, 1.7vw, 1.4rem)/1.45 var(--f-head); color: #E6EBF5; letter-spacing: -.005em; }
.ev-chips--hero li { font-size: .95rem; padding: .6rem 1.1rem .6rem .85rem; }
.ev-hero .btn-row { margin-top: 2.2rem; }

/* Ticket / countdown card */
.ev-ticket { position: relative; padding: 1.6rem 1.6rem 1.3rem; border-radius: 28px; background: linear-gradient(160deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .05)); border: 1px solid rgba(255, 255, 255, .2); box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .7), inset 0 1px 0 rgba(255, 255, 255, .25); backdrop-filter: blur(20px) saturate(140%); -webkit-backdrop-filter: blur(20px) saturate(140%); }
.ev-ticket::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; background: linear-gradient(140deg, rgba(241, 215, 154, .7), transparent 40%, transparent 60%, rgba(255, 122, 89, .6)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.ev-ticket__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.1rem; }
.ev-ticket__code { font: 800 .8rem/1 var(--f-head); letter-spacing: .08em; padding: .45rem .7rem; border-radius: 8px; background: var(--g-kin); color: var(--ink); }
.ev-ticket__lbl { text-align: right; font: 700 .72rem/1.3 var(--f-head); letter-spacing: .16em; text-transform: uppercase; color: #DCE3F2; }
.ev-ticket__lbl .ja { letter-spacing: .06em; text-transform: none; color: var(--kin-2); font-size: .72rem; }
.ev-ticket__date { display: flex; align-items: flex-end; gap: 1rem; margin-bottom: 1.3rem; }
.ev-ticket__date b { font: 800 4.4rem/.85 var(--f-head); letter-spacing: -.05em; color: #fff; display: flex; align-items: flex-end; }
.ev-ticket__date b small { font-size: .5em; color: var(--shu-2); letter-spacing: -.02em; margin-left: .1em; }
.ev-ticket__date > span { display: flex; flex-direction: column; font: 700 1.05rem/1.2 var(--f-head); color: #fff; padding-bottom: .2rem; }
.ev-ticket__date > span small { font: 500 .78rem/1.5 var(--f-ja); color: #AEB9D2; margin-top: .2rem; }
.ev-countdown { display: grid; grid-template-columns: repeat(4, 1fr); gap: .55rem; }
.ev-countdown__unit { display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: .85rem .3rem .7rem; border-radius: 16px; background: rgba(6, 13, 32, .55); border: 1px solid rgba(255, 255, 255, .1); }
.ev-countdown__num { font: 800 1.9rem/1 var(--f-head); letter-spacing: -.03em; color: #fff; font-feature-settings: "tnum"; }
.ev-countdown__unit:first-child .ev-countdown__num { color: var(--kin-2); }
.ev-countdown__lbl { font: 600 .64rem/1.2 var(--f-head); letter-spacing: .12em; text-transform: uppercase; color: #97A3BF; text-align: center; }
.ev-countdown__lbl .ja { display: block; letter-spacing: .04em; font-size: .62rem; }
html[data-lang="both"] .ev-countdown__lbl .ja { display: none; }
.ev-countdown.is-done { opacity: .5; }
.ev-ticket__perf { position: relative; height: 1px; margin: 1.3rem -1.6rem; border-top: 2px dashed rgba(255, 255, 255, .2); }
.ev-ticket__meta { display: grid; gap: .7rem; }
.ev-ticket__meta li { display: flex; gap: .7rem; align-items: flex-start; font-size: .9rem; color: #DCE3F2; line-height: 1.45; }
.ev-ticket__meta .icon { width: 18px; height: 18px; color: var(--shu-2); flex: none; margin-top: .15rem; }
.ev-ticket__meta .ja { color: #AEB9D2; font-size: .82rem; }
.ev-ticket__link { margin-top: 1.2rem; display: flex; align-items: center; justify-content: space-between; padding: .8rem 1rem; border-radius: 14px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .12); color: #fff; font: 600 .9rem var(--f-head); transition: background .3s; }
.ev-ticket__link:hover { background: rgba(255, 255, 255, .15); color: #fff; }
.ev-ticket__link .icon { width: 18px; color: var(--kin-2); transition: transform .3s var(--ease); }
.ev-ticket__link:hover .icon { transform: translateX(4px); }
.ev-ticket__link .ja { color: #AEB9D2; font-size: .74rem; }

/* Hero ribbon */
.ev-hero__ribbon { position: relative; border-top: 1px solid rgba(255, 255, 255, .1); background: rgba(6, 13, 32, .55); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.ev-hero__ribbon ul { display: grid; grid-template-columns: repeat(4, 1fr); }
.ev-hero__ribbon li + li { border-left: 1px solid rgba(255, 255, 255, .08); }
.ev-hero__ribbon a { display: flex; align-items: center; gap: .9rem; padding: 1.2rem 1.2rem; color: #fff; font: 600 .95rem/1.3 var(--f-head); transition: background .3s; height: 100%; }
.ev-hero__ribbon li:first-child a { padding-left: 0; }
.ev-hero__ribbon a:hover { background: rgba(255, 255, 255, .05); color: #fff; }
.ev-hero__ribbon .bi > .ja { color: #97A3BF; font-size: .74rem; }
.ev-hero__ribbon-ico { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: rgba(241, 215, 154, .1); border: 1px solid rgba(241, 215, 154, .25); color: var(--kin-2); flex: none; transition: background .3s, color .3s; }
.ev-hero__ribbon a:hover .ev-hero__ribbon-ico { background: var(--g-shu); color: #fff; border-color: transparent; }
.ev-hero__ribbon-ico .icon { width: 20px; height: 20px; }
.ev-hero__ribbon-go { width: 16px; height: 16px; margin-left: auto; opacity: .5; transition: opacity .3s, transform .3s var(--ease); }
.ev-hero__ribbon a:hover .ev-hero__ribbon-go { opacity: 1; transform: translate(2px, -2px); }

/* ---------- Welcome mosaic ---------- */
.ev-mosaic { position: relative; display: grid; grid-template-columns: 1.35fr 1fr; grid-template-rows: 1fr 1fr; gap: 1rem; aspect-ratio: 1.1; }
.ev-mosaic::before { content: ""; position: absolute; right: -5%; top: -7%; width: 42%; aspect-ratio: 1; border-radius: 50%; background: var(--g-shu); z-index: -1; opacity: .9; }
.ev-mosaic::after { content: ""; position: absolute; left: -4%; bottom: -5%; width: 30%; aspect-ratio: 1; background-image: radial-gradient(var(--kin) 1.5px, transparent 1.6px); background-size: 14px 14px; z-index: -1; opacity: .7; }
.ev-mosaic figure { margin: 0; border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--sh-3); background: var(--paper-2); }
.ev-mosaic img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.ev-mosaic figure:hover img { transform: scale(1.05); }
.ev-mosaic__a { grid-row: span 2; }
.ev-mosaic__badge { position: absolute; left: -1.25rem; bottom: 1.75rem; z-index: 2; display: grid; justify-items: start; padding: 1rem 1.3rem; border-radius: 18px; background: #fff; box-shadow: var(--sh-3); min-width: 130px; }
.ev-mosaic__badge b { font: 800 2.6rem/1 var(--f-head); color: var(--shu); letter-spacing: -.04em; }
.ev-mosaic__badge span { font: 700 .82rem var(--f-head); letter-spacing: .08em; text-transform: uppercase; color: var(--ink); }
.ev-mosaic__badge small { font-size: .78rem; color: var(--muted); }

/* ---------- Latest Announcements (bento) ---------- */
.ev-news { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.ev-news__item { position: relative; display: flex; flex-direction: column; gap: .8rem; padding: 1.5rem; border-radius: 22px; background: #fff; border: 1px solid var(--line); box-shadow: var(--sh-1); overflow: hidden; isolation: isolate; transition: transform .45s var(--ease), box-shadow .45s var(--ease), border-color .3s; }
.ev-news__item:hover { transform: translateY(-5px); box-shadow: var(--sh-2); border-color: transparent; }
.ev-news__item::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--g-shu); transform: scaleY(0); transform-origin: 50% 0; transition: transform .5s var(--ease); }
.ev-news__item:hover::before { transform: scaleY(1); }
.ev-news__icon { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(135deg, #FFF1EC, #FBE2DA); color: var(--shu); flex: none; }
.ev-news__icon .icon { width: 22px; height: 22px; }
.ev-news__title { font-size: 1.08rem; line-height: 1.3; }
.ev-news__item .bi-p { font-size: .9rem; line-height: 1.65; }
.ev-news__cta { margin-top: auto; padding-top: .4rem; }
.ev-news__cta .bi > .ja { font-size: .74rem; color: var(--muted); }
.ev-news__item--lead { grid-column: span 2; grid-row: span 2; justify-content: flex-end; padding: clamp(1.8rem, 3vw, 2.6rem); background: var(--g-ink); border-color: transparent; color: #fff; min-height: 380px; }
.ev-news__photo { position: absolute; inset: 0; z-index: -1; background: var(--photo) center / cover no-repeat; opacity: .35; transition: transform 1.2s var(--ease); }
.ev-news__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10, 22, 48, .95) 25%, rgba(10, 22, 48, .2) 100%); }
.ev-news__item--lead:hover .ev-news__photo { transform: scale(1.05); }
.ev-news__item--lead .ev-news__icon { background: var(--g-shu); color: #fff; width: 56px; height: 56px; }
.ev-news__item--lead .ev-news__title { color: #fff; font-size: clamp(1.5rem, 2.4vw, 2rem); }
.ev-news__item--lead .bi-p { font-size: 1rem; }
.ev-news__item--lead .bi-p > .en { color: #D2DAEB; }
.ev-news__item--lead .bi-p > .ja { color: #AEB9D2; border-color: rgba(241, 215, 154, .25); }
.ev-news__item--wide { grid-column: span 2; background: linear-gradient(135deg, #F3FAF4, #fff 60%); }
.ev-news__item--wide .ev-news__icon { background: linear-gradient(135deg, #E3F4E6, #D2EDD7); color: #2E7D32; }

/* ---------- Featured Links grid ---------- */
.ev-links { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 1rem; }
.ev-links a { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .95rem; height: 100%; padding: 1.15rem 1.2rem; border-radius: 18px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .1); color: #fff; font: 600 .95rem/1.3 var(--f-head); transition: background .35s, border-color .35s, transform .4s var(--ease); }
.ev-links a:hover { background: rgba(255, 255, 255, .1); border-color: rgba(241, 215, 154, .4); transform: translateY(-3px); color: #fff; }
.ev-links .bi > .ja { color: #97A3BF; font-size: .74rem; }
.ev-links__num { position: absolute; top: .55rem; right: .9rem; font: 800 .66rem/1 var(--f-head); letter-spacing: .1em; color: var(--kin); opacity: .7; }
.ev-links__icon { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; background: rgba(241, 215, 154, .1); border: 1px solid rgba(241, 215, 154, .22); color: var(--kin-2); transition: background .35s, color .35s; }
.ev-links a:hover .ev-links__icon { background: var(--g-shu); color: #fff; border-color: transparent; }
.ev-links__icon .icon { width: 20px; height: 20px; }
.ev-links__go { width: 16px; height: 16px; align-self: end; opacity: .45; transition: opacity .3s, transform .3s var(--ease); }
.ev-links a:hover .ev-links__go { opacity: 1; transform: translate(2px, -2px); }
.ev-links--list { grid-template-columns: 1fr; gap: .55rem; }
.ev-links--list a { background: #fff; border-color: var(--line); color: var(--ink); padding: .75rem .9rem; font-size: .9rem; border-radius: 14px; }
.ev-links--list a:hover { background: #fff; border-color: var(--shu); color: var(--ink); box-shadow: var(--sh-1); }
.ev-links--list .bi > .ja { color: var(--muted); }
.ev-links--list .ev-links__num { display: none; }
.ev-links--list .ev-links__icon { width: 36px; height: 36px; border-radius: 10px; background: var(--g-ink); color: var(--kin-2); border: 0; }
.ev-links--list .ev-links__icon .icon { width: 17px; height: 17px; }
.ev-links--list .ev-links__go { align-self: center; color: var(--shu); }

/* ---------- Why participate: highlights ---------- */
.ev-hl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ev-hl__item { position: relative; display: flex; flex-direction: column; gap: 1rem; padding: 1.35rem 1.35rem 1.4rem; border-radius: 20px; background: #fff; border: 1px solid var(--line-cool); box-shadow: var(--sh-1); transition: transform .4s var(--ease), box-shadow .4s; overflow: hidden; }
.ev-hl__item:hover { transform: translateY(-4px); box-shadow: var(--sh-2); }
.ev-hl__icon { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: var(--g-ink); color: var(--kin-2); box-shadow: 0 10px 20px -10px rgba(19, 39, 92, .7); }
.ev-hl__icon .icon { width: 22px; height: 22px; }
.ev-hl__num { position: absolute; top: .8rem; right: 1.1rem; font: 800 2.2rem/1 var(--f-head); letter-spacing: -.04em; color: rgba(19, 39, 92, .07); }
.ev-hl__item .bi-p { font-size: .93rem; }
.ev-hl__item .bi-p > .en { color: var(--text); font-weight: 500; }

/* ---------- Objectives ---------- */
.ev-obj { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.ev-obj__item { position: relative; padding: 1.5rem; border-radius: 22px; background: linear-gradient(180deg, #fff, #FBF9F4); border: 1px solid var(--line); overflow: hidden; transition: transform .45s var(--ease), box-shadow .45s; }
.ev-obj__item::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--g-kin); transform: scaleX(0); transform-origin: 0 50%; transition: transform .5s var(--ease); }
.ev-obj__item:hover { transform: translateY(-6px); box-shadow: var(--sh-2); }
.ev-obj__item:hover::after { transform: scaleX(1); }
.ev-obj__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.1rem; }
.ev-obj__icon { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(135deg, #FFF1EC, #FBE2DA); color: var(--shu); }
.ev-obj__icon .icon { width: 22px; height: 22px; }
.ev-obj__num { font: 800 2rem/1 var(--f-head); letter-spacing: -.04em; background: var(--g-shu); -webkit-background-clip: text; background-clip: text; color: transparent; opacity: .85; }
.ev-obj__item .bi-p { font-size: .92rem; }
.ev-obj__item .bi-p > .en { color: var(--text); }

/* ---------- Purpose ---------- */
.ev-purpose__art { position: relative; }
.ev-purpose__art .frame img { aspect-ratio: 5 / 4; }
.ev-purpose__kanji { position: absolute; right: -1.5rem; bottom: -3.5rem; font: 700 12rem/1 var(--f-mincho); color: rgba(241, 215, 154, .14); pointer-events: none; }

/* ---------- Our Contribution ---------- */
.ev-contrib { padding-top: clamp(2.5rem, 5vw, 4rem); }
.ev-contrib__kicker { margin: 0; }
.ev-contrib > .section--tight { padding-top: 1rem; }

/* ---------- Published Works ---------- */
.ev-works { position: relative; padding: clamp(1.8rem, 3.5vw, 2.6rem); border-radius: var(--r-xl); background: #fff; border: 1px solid var(--line); box-shadow: var(--sh-2); overflow: hidden; isolation: isolate; }
.ev-works::after { content: ""; position: absolute; right: -70px; top: -70px; width: 200px; height: 200px; border-radius: 50%; background: radial-gradient(circle, rgba(201, 164, 92, .22), transparent 70%); z-index: -1; }
.ev-works__icon { width: 58px; height: 58px; border-radius: 16px; display: grid; place-items: center; background: var(--g-shu); color: #fff; margin-bottom: 1.2rem; box-shadow: var(--sh-shu); }
.ev-works__icon .icon { width: 26px; height: 26px; }
.ev-works__title { display: flex; flex-direction: column; gap: .3rem; font-size: 1.4rem; margin-bottom: 1.3rem; }
.ev-works__title .ja { font-family: var(--f-mincho); font-size: .66em; color: var(--kin-dark); }

/* ---------- Important Dates ---------- */
.ev-dates__list .date-card { transition: transform .4s var(--ease), background .3s; }
.ev-dates__list .date-card:hover { transform: translateY(-4px); }
.ev-dates__list .date-card__val small { font-size: .82rem; }

/* ---------- Social ---------- */
.ev-social { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; padding: 1.6rem 2rem; border-radius: var(--r-xl); background: #fff; border: 1px solid var(--line); box-shadow: var(--sh-1); }
.ev-social__title { font-size: 1.5rem; }
.ev-social__note { display: flex; align-items: center; gap: .45rem; margin: .35rem 0 0; font-size: .88rem; color: var(--muted); }
.ev-social__note .icon { width: 15px; height: 15px; color: var(--shu); }

/* ---------- Inner page hero identity ---------- */
.ev-crumb-code { margin-left: .45rem; font-weight: 600; }
.ev-phero__id { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin-top: 1.8rem; padding-top: 1.4rem; border-top: 1px solid rgba(255, 255, 255, .1); max-width: 980px; }
.ev-phero__code { font: 800 .8rem/1 var(--f-head); letter-spacing: .06em; padding: .45rem .7rem; border-radius: 8px; background: var(--g-kin); color: var(--ink); }
.ev-phero__name { font: 600 .92rem/1.4 var(--f-head); color: #D2DAEB; }
.ev-subnav-wrap .subnav ul { max-width: 100%; }

/* ---------- Side card (CFP, abstract) ---------- */
.ev-cfp-card { border-radius: var(--r-xl); background: #fff; border: 1px solid var(--line); box-shadow: var(--sh-2); overflow: hidden; }
.ev-cfp-card__head { position: relative; padding: 1.5rem; background: var(--g-ink); color: #fff; display: grid; gap: .6rem; overflow: hidden; isolation: isolate; }
.ev-cfp-card__head::after { content: ""; position: absolute; right: -50px; top: -60px; width: 160px; height: 160px; border-radius: 50%; background: var(--g-shu); opacity: .75; z-index: -1; }
.ev-cfp-card__code { font: 800 1.7rem/1 var(--f-head); letter-spacing: -.01em; }
.ev-cfp-card__name { font-size: .88rem; color: #C9D2E6; line-height: 1.45; }
.ev-cfp-card .info-list { padding: 1.25rem 1.25rem 0; }
.ev-cfp-card .btn-row { padding: 0 1.25rem 1.5rem; margin-top: 1.25rem; }
.ev-cfp-card .btn-row .btn { flex: 1 1 100%; justify-content: space-between; }
.ev-mini-dl { display: grid; gap: .75rem; padding: 1rem 1.25rem 0; }
.ev-mini-dl .dl-card { flex-direction: row; align-items: center; padding: .9rem 1rem; }
.ev-mini-dl .dl-card .icon { width: 40px; height: 40px; padding: 10px; }
.ev-mini-dl .dl-card__cta { margin: 0 0 0 auto; }
.ev-mini-dl .dl-card__cta .bi { display: none; }

/* ---------- Presentation modes ---------- */
.ev-modes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.ev-mode { border-radius: var(--r-xl); background: #fff; border: 1px solid var(--line); box-shadow: var(--sh-1); overflow: hidden; transition: transform .45s var(--ease), box-shadow .45s; }
.ev-mode:hover { transform: translateY(-5px); box-shadow: var(--sh-2); }
.ev-mode__head { position: relative; display: flex; align-items: center; gap: 1rem; padding: 1.4rem 1.6rem; background: var(--g-ink); overflow: hidden; isolation: isolate; }
.ev-mode__head::before { content: ""; position: absolute; inset: 0; background-image: var(--seigaiha); background-size: 56px 28px; opacity: .06; z-index: -1; }
.ev-mode__icon { width: 52px; height: 52px; border-radius: 15px; display: grid; place-items: center; background: var(--g-shu); color: #fff; flex: none; }
.ev-mode__icon .icon { width: 24px; height: 24px; }
.ev-mode__num { position: absolute; right: 1.2rem; top: 50%; transform: translateY(-50%); font: 800 3.6rem/1 var(--f-head); color: rgba(255, 255, 255, .07); z-index: -1; }
.ev-mode h2 { display: flex; flex-direction: column; gap: .25rem; color: #fff; font-size: 1.2rem; }
.ev-mode h2 .ja { font-family: var(--f-mincho); color: var(--kin-2); font-size: .72em; }
.ev-mode .check-list { padding: 1.5rem 1.6rem 1.6rem; }

/* ---------- Registration ---------- */
.ev-paybox { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(1.5rem, 3vw, 2.5rem); padding: clamp(1.5rem, 3vw, 2.2rem); border-radius: var(--r-xl); background: #fff; border: 1px solid var(--line); box-shadow: var(--sh-1); }
.ev-paybox__help { padding-left: clamp(1.5rem, 3vw, 2.5rem); border-left: 1px dashed var(--line); display: flex; flex-direction: column; justify-content: center; gap: 1.2rem; }
.ev-paybox .sub-title { margin-top: 0; }
.ev-pay { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ev-pay .pay { flex-direction: column; align-items: flex-start; background: var(--paper); }
.ev-contact-line { display: flex; flex-wrap: wrap; gap: .7rem; }
.ev-contact-line a { display: inline-flex; align-items: center; gap: .75rem; padding: .6rem 1rem .6rem .6rem; border-radius: 14px; background: #fff; border: 1px solid var(--line); color: var(--ink); font: 600 .92rem/1.3 var(--f-head); transition: border-color .3s, transform .3s var(--ease), box-shadow .3s; }
.ev-contact-line a:hover { border-color: var(--shu); color: var(--ink); transform: translateY(-2px); box-shadow: var(--sh-1); }
.ev-contact-line .icon { width: 36px; height: 36px; padding: 9px; border-radius: 10px; background: var(--g-shu); color: #fff; flex: none; }
.ev-contact-line span { display: flex; flex-direction: column; }
.ev-contact-line small { font: 500 .72rem var(--f-body); color: var(--muted); }
.ev-cat-intro { max-width: 860px; margin: -1.5rem 0 1.75rem; }
.ev-deadlines { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.75rem; }
.ev-deadline { position: relative; display: flex; align-items: center; gap: 1.1rem; padding: 1.3rem 1.5rem; border-radius: 20px; background: var(--g-ink); color: #fff; overflow: hidden; isolation: isolate; }
.ev-deadline::after { content: ""; position: absolute; right: -40px; top: -40px; width: 130px; height: 130px; border-radius: 50%; background: rgba(255, 255, 255, .08); z-index: -1; }
.ev-deadline--early { background: var(--g-shu); }
.ev-deadline__icon { width: 52px; height: 52px; border-radius: 15px; display: grid; place-items: center; background: rgba(255, 255, 255, .12); color: var(--kin-2); flex: none; }
.ev-deadline--early .ev-deadline__icon { color: #fff; }
.ev-deadline__icon .icon { width: 24px; height: 24px; }
.ev-deadline h3 { display: flex; flex-direction: column; gap: .15rem; color: #fff; font-size: .95rem; }
.ev-deadline h3 .ja { font-size: .76rem; color: var(--kin-2); font-weight: 500; }
.ev-deadline--early h3 .ja { color: #FFE3D6; }
.ev-deadline__date { margin: .45rem 0 0; font: 800 1.4rem/1.2 var(--f-head); letter-spacing: -.01em; }
.ev-deadline__date span { font: 500 .8rem var(--f-ja); opacity: .8; }
.ev-fees .table { min-width: 620px; }
.ev-fees tbody th, .ev-sched tbody th { text-align: left; font: 600 .95rem/1.4 var(--f-head); color: var(--ink); padding: 1rem 1.25rem; border-bottom: 1px solid var(--line); }
.ev-fees tbody th .ja { display: block; font: 500 .8rem var(--f-ja); color: var(--muted); margin-top: .15rem; }
.ev-fees tbody tr:last-child th { border-bottom: 0; }
.ev-fees thead th:not(:first-child), .ev-fees td { text-align: right; }
.ev-fees .price { font-size: 1.05rem; }
.ev-benefit-title { color: #fff; display: flex; flex-direction: column; gap: .2rem; font-size: 1.12rem; position: relative; z-index: 1; }
.ev-benefit-title .ja { font-family: var(--f-mincho); color: var(--kin-2); font-size: .78em; }

/* ---------- Awards ---------- */
.ev-awards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.ev-award { position: relative; display: flex; flex-direction: column; gap: 1rem; padding: 1.8rem; border-radius: var(--r-xl); background: #fff; border: 1px solid var(--line); box-shadow: var(--sh-1); overflow: hidden; isolation: isolate; transition: transform .45s var(--ease), box-shadow .45s; }
.ev-award::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--kin), var(--kin-2), var(--kin)); }
.ev-award:hover { transform: translateY(-6px); box-shadow: var(--sh-2); }
.ev-award__medal { width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; background: var(--g-kin); color: var(--ink); box-shadow: 0 10px 22px -8px rgba(166, 127, 58, .8); }
.ev-award__medal .icon { width: 26px; height: 26px; }
.ev-award__num { position: absolute; top: 1.1rem; right: 1.4rem; font: 800 3rem/1 var(--f-head); color: rgba(19, 39, 92, .06); letter-spacing: -.04em; }
.ev-award__title { display: flex; flex-direction: column; gap: .3rem; font-size: 1.18rem; line-height: 1.3; }
.ev-award__title .ja { font-family: var(--f-mincho); font-size: .74em; color: var(--kin-dark); }
.ev-award .bi-p { font-size: .93rem; }
.ev-award--lead { grid-column: span 2; background: var(--g-ink); border-color: transparent; color: #fff; justify-content: flex-end; min-height: 300px; }
.ev-award--lead::after { content: ""; position: absolute; right: -80px; bottom: -120px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #FF9A76, #E2412A 60%, #A8230F); opacity: .45; z-index: -1; }
.ev-award--lead .ev-award__num { color: rgba(255, 255, 255, .08); font-size: 5rem; }
.ev-award--lead .ev-award__title { color: #fff; font-size: clamp(1.4rem, 2.4vw, 1.9rem); }
.ev-award--lead .ev-award__title .ja { color: var(--kin-2); }
.ev-award--lead .bi-p > .en { color: #D2DAEB; font-size: 1.02rem; }
.ev-award--lead .bi-p > .ja { color: #AEB9D2; border-color: rgba(241, 215, 154, .25); }

/* ---------- Venue ---------- */
.ev-venue { display: flex; gap: 1.1rem; align-items: flex-start; margin-top: 1.75rem; padding: 1.4rem 1.5rem; border-radius: 20px; background: #fff; border: 1.5px dashed rgba(201, 164, 92, .6); }
.ev-venue__icon { width: 50px; height: 50px; border-radius: 14px; display: grid; place-items: center; background: var(--g-shu); color: #fff; flex: none; }
.ev-venue__icon .icon { width: 24px; height: 24px; }
.ev-venue__text { margin: 0; font: 600 1.02rem/1.6 var(--f-head); color: var(--ink); }
.ev-venue__text.bi-p > .en { color: var(--ink); font-weight: 600; }
.ev-venue-card { border-radius: var(--r-xl); background: #fff; border: 1px solid var(--line); box-shadow: var(--sh-2); overflow: hidden; }
.ev-venue-card__photo { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.ev-venue-card__photo img { width: 100%; height: 100%; object-fit: cover; }
.ev-venue-card__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10, 22, 48, .85), transparent 60%); }
.ev-venue-card__city { position: absolute; left: 1.4rem; bottom: 1.1rem; z-index: 1; font: 800 clamp(1.8rem, 3.4vw, 2.6rem)/1 var(--f-head); color: #fff; letter-spacing: -.02em; }
.ev-venue-card .info-list { padding: 1.25rem 1.25rem 0; }
.ev-venue-card .btn-row { padding: 0 1.25rem 1.5rem; margin-top: 1.25rem; }

/* ---------- Contact ---------- */
.ev-contact-card { padding: clamp(1.4rem, 3vw, 2rem); border-radius: var(--r-xl); background: #fff; border: 1px solid var(--line); box-shadow: var(--sh-1); margin-bottom: 1.5rem; }
.ev-contact-card .ev-contact-line { flex-direction: column; }
.ev-contact-card .sub-title + .ev-contact-line, .ev-contact-card .sub-title + .social { margin-bottom: 1.6rem; }
.ev-contact-card .social:last-child { margin-bottom: 0; }

/* ---------- Schedule ---------- */
.ev-sched .table { min-width: 560px; }
.ev-sched td.time { width: 230px; }
.ev-sched__act { display: flex; align-items: center; gap: .85rem; }
.ev-sched__ico { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: var(--mist); color: var(--indigo); flex: none; transition: background .3s, color .3s; }
.ev-sched tr:hover .ev-sched__ico { background: var(--g-shu); color: #fff; }
.ev-sched__ico .icon { width: 18px; height: 18px; }
.ev-sched .bi .en { font-weight: 600; color: var(--ink); }
.ev-sched .bi .ja { font-size: .8rem; color: var(--muted); }

/* ---------- Discover ---------- */
.ev-quote { position: relative; display: grid; grid-template-columns: auto 1fr; gap: clamp(1.25rem, 3vw, 2.4rem); padding: clamp(1.8rem, 4vw, 3.2rem); border-radius: 28px; background: linear-gradient(135deg, #fff 0%, #FBF6EC 100%); border: 1px solid var(--line); box-shadow: var(--sh-2); overflow: hidden; isolation: isolate; }
.ev-quote::after { content: ""; position: absolute; right: -90px; bottom: -110px; width: 280px; height: 280px; border-radius: 50%; background: var(--g-shu); opacity: .12; z-index: -1; }
.ev-quote__icon { width: 66px; height: 66px; border-radius: 20px; display: grid; place-items: center; background: var(--g-ink); color: var(--kin-2); }
.ev-quote__icon .icon { width: 30px; height: 30px; }
.ev-quote__title { display: flex; flex-direction: column; gap: .4rem; font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 800; letter-spacing: -.02em; margin-bottom: 1.2rem; }
.ev-quote__title .ja { font-family: var(--f-mincho); font-size: .52em; color: var(--kin-dark); letter-spacing: .06em; }
.ev-quote__text { font-size: 1.08rem; }
.ev-keys { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
.ev-keys__item { position: relative; display: flex; flex-direction: column; gap: 1.1rem; padding: 1.6rem 1.3rem; border-radius: 20px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); backdrop-filter: blur(10px); transition: background .35s, transform .45s var(--ease); }
.ev-keys__item:hover { background: rgba(255, 255, 255, .1); transform: translateY(-5px); }
.ev-keys__num { position: absolute; top: 1rem; right: 1.1rem; font: 800 .8rem var(--f-head); color: var(--kin-2); opacity: .6; letter-spacing: .1em; }
.ev-keys__icon { width: 52px; height: 52px; border-radius: 15px; display: grid; place-items: center; background: var(--g-shu); color: #fff; }
.ev-keys__icon .icon { width: 24px; height: 24px; }
.ev-keys__item h3 { font-size: 1.02rem; line-height: 1.35; }
.ev-keys__item h3 .en { color: #fff; }
.ev-keys__item h3 .ja { color: var(--kin-2); font-family: var(--f-mincho); }

/* ---------- About: stats ---------- */
.ev-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.ev-stat { padding: 1.8rem 1.5rem; border-radius: 22px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); text-align: center; display: flex; flex-direction: column; align-items: center; }
.ev-stat__icon { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; background: var(--g-shu); color: #fff; margin-bottom: 1.2rem; }
.ev-stat__icon .icon { width: 24px; height: 24px; }

/* ---------- Footer additions ---------- */
.ev-footer__cta { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem 2rem; flex-wrap: wrap; padding-bottom: 2.5rem; margin-bottom: 3rem; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.ev-footer__id { display: grid; gap: .5rem; max-width: 760px; }
.ev-footer__code { font: 800 clamp(2rem, 4vw, 3rem)/1 var(--f-head); letter-spacing: -.03em; background: linear-gradient(100deg, #fff 0%, #F1D79A 60%, #FF8A66 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ev-footer__name { font: 600 1rem/1.45 var(--f-head); color: #D2DAEB; }
.ev-footer__btns { display: flex; flex-wrap: wrap; gap: .8rem; }
.ev-social-col { flex-direction: column; align-items: flex-start; }

/* ---------- Responsive ---------- */
@media (max-width: 1359px) {
  .ev-navbar { display: none; }
  .ev-header { top: 0; }
  .ev-menu-btn { display: inline-flex; }
}
@media (max-width: 1240px) {
  .ev-chips--header { display: none; }
  .ev-header__actions { margin-left: auto; }
  .ev-hero__inner { grid-template-columns: minmax(0, 1fr) 380px; }
  .ev-keys { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  .ev-topbar__links { display: none; }
  .ev-topbar__inner { justify-content: center; }
  .ev-news { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ev-news__item--lead { grid-row: auto; min-height: 320px; }
  .ev-obj { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ev-awards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ev-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ev-hero__ribbon ul { grid-template-columns: repeat(2, 1fr); }
  .ev-hero__ribbon li:nth-child(3) { border-left: 0; }
  .ev-hero__ribbon li:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .08); }
  .ev-hero__ribbon li:nth-child(3) a { padding-left: 0; }
}
@media (max-width: 960px) {
  .ev-hero__inner { grid-template-columns: 1fr; }
  .ev-ticket { max-width: 520px; }
  .ev-hero__orb { top: auto; bottom: 10%; opacity: .35; }
  .ev-mosaic { max-width: 560px; margin-top: 1rem; }
  .ev-paybox { grid-template-columns: 1fr; }
  .ev-paybox__help { padding-left: 0; border-left: 0; border-top: 1px dashed var(--line); padding-top: 1.5rem; }
  .ev-modes { grid-template-columns: 1fr; }
  .ev-purpose__kanji { display: none; }
  .ev-feat-btn__label { display: none; }
  .ev-feat-btn { width: 44px; padding: 0; }
  .ev-quote { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .ev-brand__name { display: none; }
  .ev-header .lang-switch { display: none; }
}
@media (max-width: 680px) {
  :root { --ev-brand-h: 66px; }
  .ev-topbar__contact { gap: 1rem; font-size: .72rem; }
  .ev-topbar__lbl { display: none; }
  .ev-brand__jsic { width: 40px; height: 40px; border-radius: 11px; }
  .ev-brand__jsic img { width: 30px; height: 30px; }
  .ev-brand__conf { padding-left: .65rem; }
  .ev-brand__code { font-size: 1.1rem; }
  .ev-brand__code small { display: none; }
  .ev-header__inner { gap: .6rem; }
  .ev-header__actions { gap: .4rem; margin-left: auto; }
  .ev-register { padding: .45rem .7rem; }
  .ev-register .btn__label .ja, .ev-register .btn__icon { display: none; }
  .ev-feat-btn { display: none; }
  .ev-hero__inner { padding-block: 2.5rem 2.5rem; }
  .ev-hero__welcome { letter-spacing: .3em; }
  .ev-hero__code { font-size: clamp(2.8rem, 15vw, 4rem); }
  .ev-chips--hero li { font-size: .85rem; }
  .ev-ticket { padding: 1.3rem 1.2rem 1.1rem; border-radius: 22px; }
  .ev-ticket__perf { margin-inline: -1.2rem; }
  .ev-ticket__date b { font-size: 3.4rem; }
  .ev-countdown__num { font-size: 1.5rem; }
  .ev-hero__ribbon a { padding: 1rem .75rem; font-size: .86rem; gap: .6rem; }
  .ev-hero__ribbon li:nth-child(odd) a { padding-left: 0; }
  .ev-hero__ribbon-ico { width: 36px; height: 36px; }
  .ev-hero__ribbon-go { display: none; }
  .ev-news, .ev-obj, .ev-hl, .ev-awards, .ev-stats, .ev-keys, .ev-deadlines, .ev-pay { grid-template-columns: 1fr; }
  .ev-news__item--lead, .ev-news__item--wide, .ev-award--lead { grid-column: auto; }
  .ev-mosaic { aspect-ratio: 1; }
  .ev-mosaic__badge { left: .5rem; bottom: .75rem; padding: .7rem 1rem; min-width: 0; }
  .ev-mosaic__badge b { font-size: 2rem; }
  .ev-links { grid-template-columns: 1fr; }
  .ev-social { padding: 1.4rem; }
  .ev-sched td.time { width: auto; }
  .ev-footer__btns .btn { width: 100%; justify-content: space-between; }
  .ev-phero__id { margin-top: 1.3rem; padding-top: 1.1rem; }
}
@media (max-width: 380px) {
  .ev-register { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ev-hero__media, .ev-hero__orb { animation: none; }
}
@media print {
  .ev-topbar, .ev-header, .ev-hero__ribbon, .ev-countdown { display: none !important; }
}

/* ---------- Refinements ---------- */
.ev-contrib .sec-head .kicker { display: none; }
.ev-contrib__kicker { margin-bottom: -.25rem; }
.ev .site-footer { margin-top: clamp(1.5rem, 3vw, 2.5rem); }
.ev-footer .ft-title.bi { display: flex; }

/* ---------- Event Page review (Oct 2026) ---------- */
/* Tighter vertical rhythm: no large empty bands between sections. */
.ev .section { padding-block: clamp(2.75rem, 5vw, 4.5rem); }
.ev .section--tight { padding-block: clamp(2rem, 4vw, 3rem); }
.ev .site-footer { margin-top: 0; }

/* Top bar: social links (icons only). */
.ev-topbar__social { gap: .35rem; flex-wrap: nowrap; }
.ev-topbar__social a, .ev-topbar__social .is-soon { padding: 0; border: 0; background: none; color: #C9D2E6; }
.ev-topbar__social a > span, .ev-topbar__social .is-soon > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ev-topbar__social .icon { width: 26px; height: 26px; padding: 6px; border-radius: 7px; background: rgba(255, 255, 255, .08); color: #fff; }
.ev-topbar__social a:hover { transform: none; background: none; }
.ev-topbar__social a:hover .icon { background: var(--shu); }

/* Home hero: smaller banner, hybrid label, subscribe card. */
.ev-hero__inner { grid-template-columns: minmax(0, 1fr) 380px; padding-block: clamp(2.25rem, 4.5vw, 3.75rem) clamp(2.25rem, 4.5vw, 3.5rem); }
.ev-hero__code { font-size: clamp(3rem, 7vw, 6rem); }
.ev-hero__org { margin-bottom: 1.2rem; }
.ev-hero__name { margin: 1.2rem 0 .9rem; }
.ev-hero__mode { display: inline-flex; align-items: center; gap: .55rem; margin: 0 0 1rem; padding: .45rem .9rem; border-radius: 999px; background: rgba(241, 215, 154, .12); border: 1px solid rgba(241, 215, 154, .35); color: #F6E6C0; font: 600 .86rem/1.3 var(--f-head); }
.ev-hero__mode .icon { width: 16px; height: 16px; color: var(--kin-2); flex: none; }
.ev-hero__mode .ja { font-size: .76rem; opacity: .8; }
.ev-hero .btn-row { margin-top: 1.5rem; }
.ev-subscribe { padding: 1.6rem; border-radius: 24px; background: linear-gradient(160deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .05)); border: 1px solid rgba(255, 255, 255, .2); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.ev-subscribe__title { display: flex; align-items: center; gap: .7rem; margin-bottom: .6rem; color: #fff; font-size: 1.25rem; }
.ev-subscribe__title .icon { width: 38px; height: 38px; padding: 9px; border-radius: 11px; background: var(--g-shu); color: #fff; flex: none; }
.ev-subscribe__title .ja { display: block; font-size: .78rem; color: var(--kin-2); font-weight: 600; }
.ev-subscribe .bi-p > .en { color: #D2DAEB; font-size: .9rem; }
.ev-subscribe .bi-p > .ja { color: #A9B5CE; font-size: .8rem; }
.ev-subscribe__form { display: grid; gap: .6rem; margin-top: 1rem; }
.ev-subscribe__form input[type="email"] { width: 100%; min-height: 48px; padding: .7rem .95rem; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .25); background: rgba(255, 255, 255, .95); color: var(--ink); font-size: .95rem; }
.ev-subscribe__form input[aria-invalid="true"] { border-color: var(--danger); }
.ev-subscribe__form .btn { width: 100%; justify-content: center; }
.ev-subscribe__form .field-error { color: #FFC2B5; }
.ev-subscribe .alert { margin: .75rem 0 0; font-size: .85rem; }

/* Home welcome: title on two lines, edition label, Quick Links beside it (MedAlliance home). */
.ev-welcome__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }
.ev-welcome .sec-title .en { font-size: clamp(1.55rem, 2.4vw, 2.1rem); }
.ev-welcome__edition { display: inline-block; margin: -.4rem 0 1.2rem; padding: .35rem .8rem; border-radius: 8px; background: var(--g-kin); color: var(--ink); font: 800 .9rem/1.2 var(--f-head); letter-spacing: .04em; }
.ev-welcome__photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-top: 1.75rem; }
.ev-welcome__photos img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; }

/* Quick Links panel (every microsite page). */
.ev-qlinks { border-radius: 22px; background: var(--g-ink); color: #fff; overflow: hidden; box-shadow: var(--sh-2); }
.ev-qlinks__title { display: flex; align-items: center; gap: .65rem; margin: 0; padding: 1.1rem 1.25rem; font-size: 1.15rem; color: #fff; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.ev-qlinks__title > .icon { width: 20px; height: 20px; color: var(--kin-2); flex: none; }
.ev-qlinks__title .ja { display: block; font-size: .72rem; color: var(--kin-2); font-weight: 600; }
.ev-qlinks ul { display: grid; gap: .2rem; padding: .6rem; }
.ev-qlinks a { display: flex; align-items: center; gap: .7rem; padding: .55rem .65rem; border-radius: 12px; color: #E6EBF5; font: 600 .88rem/1.3 var(--f-head); transition: background .25s; }
.ev-qlinks a .ja { display: block; font: 500 .7rem var(--f-ja); color: #97A3BF; }
.ev-qlinks a:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.ev-qlinks a[aria-current="page"] { background: var(--g-shu); color: #fff; }
.ev-qlinks a[aria-current="page"] .ja { color: rgba(255, 255, 255, .85); }
.ev-qlinks__icon { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: rgba(255, 255, 255, .08); flex: none; }
.ev-qlinks__icon .icon { width: 16px; height: 16px; color: var(--kin-2); }
.ev-qlinks a[aria-current="page"] .ev-qlinks__icon .icon { color: #fff; }

/* Inner pages: Quick Links column beside the page content. */
.ev-qlayout { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: clamp(1.5rem, 3vw, 2.5rem); align-items: start; padding-top: clamp(1.5rem, 3vw, 2.25rem); }
.ev-qlayout__side { position: sticky; top: calc(var(--ev-nav-h) + 16px); max-height: calc(100vh - var(--ev-nav-h) - 32px); overflow-y: auto; scrollbar-width: thin; }
.ev-qlayout__main { min-width: 0; }
.ev-qlayout__main .container { max-width: none; padding-inline: 0; }
.ev-qlayout__main > .section:first-child { padding-top: 0; }
.ev-qlayout__main > .section--white, .ev-qlayout__main > .section--mist, .ev-qlayout__main > .section--dark, .ev-qlayout__main > .section--paper2 { padding-inline: clamp(1.25rem, 3vw, 2.5rem); border-radius: 24px; margin-bottom: clamp(1.25rem, 2.5vw, 2rem); }
.ev-qlayout__main .split, .ev-qlayout__main .feature-row { gap: clamp(1.5rem, 3vw, 2.5rem); }
@media (max-width: 1240px) {
  .ev-qlayout { grid-template-columns: 250px minmax(0, 1fr); }
  .ev-qlayout__main .split, .ev-qlayout__main .feature-row { grid-template-columns: 1fr; }
}
@media (max-width: 1100px) {
  .ev-qlayout { grid-template-columns: 1fr; }
  .ev-qlayout__side { display: none; }
  .ev-welcome__grid { grid-template-columns: 1fr; }
  .ev-welcome__grid > .ev-qlinks { display: none; }
}

/* Smaller speaker photos on the conference home. */
.ev--home .people-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 230px)); justify-content: start; }
.ev--home .person__photo { aspect-ratio: 1 / 1; }

/* Essential Downloads: download symbol on every card. */
.dl-card__top { display: flex; align-items: flex-start; justify-content: space-between; }
.dl-card__dl { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: rgba(232, 74, 39, .1); }
.dl-card .dl-card__dl .icon { width: 16px; height: 16px; padding: 0; border-radius: 0; background: none; color: var(--shu); }

/* Registration fees: selectable amounts + Make Payment (MedAlliance registration). */
.ev-fees td { white-space: nowrap; }
.ev-fee-pick { display: inline-flex; align-items: center; justify-content: flex-end; gap: .6rem; cursor: pointer; }
.ev-fee-pick input { width: 18px; height: 18px; accent-color: var(--shu); cursor: pointer; }
.ev-fees td.is-current { background: rgba(241, 215, 154, .14); }
.ev-fees tr:has(input:checked) { background: rgba(232, 74, 39, .06); }
.ev-fees tr:target { outline: 2px solid var(--kin); outline-offset: -2px; }
.ev-fee-hint { display: flex; gap: .5rem; align-items: flex-start; margin: 1rem 0 0; font-size: .88rem; color: var(--muted); }
.ev-fee-hint .icon { width: 16px; height: 16px; color: var(--shu); flex: none; margin-top: .15rem; }
.ev-fee-hint [lang="ja"] { display: block; font-size: .8rem; }
.ev-paycta { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; margin-top: 1.25rem; padding: 1.5rem 1.75rem; border-radius: 22px; background: var(--g-ink); color: #fff; }
.ev-paycta h3 { color: #fff; font-size: 1.3rem; margin-bottom: .35rem; }
.ev-paycta h3 .ja { display: block; font-size: .8rem; color: var(--kin-2); }
.ev-paycta .bi-p > .en { color: #D2DAEB; }
.ev-paycta .bi-p > .ja { color: #A9B5CE; }

/* Call for Papers: deadline rows link to their pages. */
.ev-deadline-link { display: flex; align-items: center; gap: inherit; width: 100%; color: inherit; }
.ev-deadline-link:hover { color: inherit; }
.ev-deadline-link .ev-deadline-link__go { width: 16px; height: 16px; margin-left: auto; padding: 0; background: none; color: var(--shu); }

/* Award Categories: heading above the paragraph, photo beside it. */
.ev-awards-intro { align-items: center; margin-bottom: clamp(2rem, 4vw, 3rem); }
.ev-awards-intro .frame img { aspect-ratio: 4 / 3; object-fit: cover; }

/* ---------- Event home banner: reduced height ---------- */
.ev-hero__inner { padding-block: clamp(1.5rem, 2.8vw, 2.25rem); gap: clamp(1.5rem, 3.5vw, 3.5rem); }
.ev-hero__org { margin-bottom: .8rem; padding-block: .3rem; font-size: .76rem; }
.ev-hero__org img { width: 24px; height: 24px; }
.ev-hero__welcome { margin-bottom: .5rem; font-size: clamp(.85rem, 1.2vw, 1rem); }
.ev-hero__code { font-size: clamp(2.6rem, 5.2vw, 4.4rem); }
.ev-hero__title > .ja { margin-top: .45rem; font-size: clamp(.95rem, 1.5vw, 1.2rem); }
.ev-hero__name { margin: .8rem 0 .75rem; font-size: clamp(1rem, 1.4vw, 1.18rem); }
.ev-hero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .6rem; }
.ev-hero__meta .ev-hero__mode { margin: 0; }
.ev-hero__meta .ev-chips { margin: 0; }
.ev-hero .btn-row { margin-top: 1.1rem; }
.ev-subscribe { padding: 1.2rem 1.3rem; }
.ev-subscribe__title { margin-bottom: .35rem; font-size: 1.1rem; }
.ev-subscribe__title .icon { width: 32px; height: 32px; padding: 7px; }
.ev-subscribe .bi-p > .ja { display: none; }
html[data-lang="ja"] .ev-subscribe .bi-p > .ja { display: block; }
.ev-subscribe__form { margin-top: .7rem; }
.ev-subscribe__form input[type="email"] { min-height: 44px; }
.ev-hero__meta .ev-chips--hero li { font-size: .86rem; padding: .42rem .9rem .42rem .7rem; }
@media (max-width: 1240px) { .ev-hero__inner { grid-template-columns: minmax(0, 1fr) 340px; } }
@media (max-width: 960px) {
  .ev-hero__inner { grid-template-columns: 1fr; }
  .ev-subscribe { max-width: 520px; }
}
@media (max-width: 680px) {
  .ev-hero__inner { padding-block: 1.5rem; }
  .ev-hero__code { font-size: clamp(2.4rem, 13vw, 3.4rem); }
  .ev-hero__meta .ev-chips--hero li { font-size: .8rem; }
  .ev-hero .btn-row .btn { flex: 1 1 100%; justify-content: space-between; }
}
