/* Shared editorial system. Fluid composition, readable minimum type sizes. */
:root { --ed-gutter: clamp(22px, 4.17vw, 100px); --ed-gap: clamp(28px, 5vw, 100px); --ed-rule: #b6b5af; }
:focus-visible { outline: 2px solid var(--c-blue); outline-offset: 5px; }
::selection { background: var(--c-red); color: #fff; }
.ds5-inner .stage { width: 100%; }
.ds5-inner { line-height: 1.8; }
.inner-header { position: sticky; top: 0; height: 84px; padding: 0 var(--ed-gutter); display:flex; align-items:center; gap:40px; z-index:80; background: var(--c-bg); border-bottom:1px solid transparent; }
.inner-header__logo { width: clamp(174px, 17vw, 241px); }
.inner-header__logo img { width:100%; height:auto; }
.inner-header__top { margin-left:auto; margin-right:110px; font:20px/1 var(--f-en); }
.inner-header.is-scrolled { border-color:var(--ed-rule); }
.admin-bar .inner-header { top:32px; }
.site-menu { position:fixed; right:var(--ed-gutter); top:22px; z-index:100; font-family:var(--f-en); }
.site-menu summary { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:40px; padding:8px 12px; cursor:pointer; list-style:none; background:var(--c-bg); color:var(--c-ink); font-size:18px; line-height:1; }
.site-menu summary::-webkit-details-marker { display:none; }
.site-menu__icon { width:18px; height:12px; border-block:1px solid currentColor; position:relative; }
.site-menu__icon::after { content:''; position:absolute; top:5px; left:0; width:18px; border-top:1px solid currentColor; }
.site-menu__close { display:none; }
.site-menu[open] .site-menu__label { display:none; }
.site-menu[open] .site-menu__close { display:block; }
.site-menu[open] .site-menu__icon { border:0; transform:rotate(45deg); }
.site-menu[open] .site-menu__icon::before { content:''; position:absolute; left:8px; top:-3px; height:18px; border-left:1px solid currentColor; }
.site-menu[open] summary { color:var(--c-bg); background:var(--c-ink); }
.site-menu__panel { position:fixed; inset:0; overflow:auto; overscroll-behavior:contain; background:var(--c-ink); color:var(--c-bg); padding:clamp(92px,12vh,140px) var(--ed-gutter) 30px; display:grid; align-content:start; }
.site-menu__eyebrow { margin:0 0 20px; font:13px/1.5 var(--f-en); text-transform:uppercase; letter-spacing:.06em; }
.site-menu__panel > a { display:flex; align-items:center; justify-content:space-between; border-top:1px solid #696968; font-size:clamp(36px,min(7vw,9svh),100px); line-height:1.1; padding:.08em 0 .16em; }
.site-menu__panel > a > span { transition:transform .2s; }
.site-menu__panel > a > span:last-child { font-size:.64em; }
.site-menu__panel > a:is(:hover,:focus-visible) { color:#ea5274; }
.site-menu__panel > a:is(:hover,:focus-visible) > span:first-child { transform:translateX(.13em); }
.site-menu__bottom { display:flex; justify-content:space-between; gap:24px; margin-top:24px; font-size:14px; line-height:1.4; }
body.menu-is-open { overflow:hidden; }
.admin-bar .site-menu { top:54px; }
.ds5-front .site-menu { top:auto; bottom:22px; }
.ds5-about .about-header { padding-right:calc(var(--ed-gutter) + 125px); }
.ds5-loading .site-menu { visibility:hidden; }
.editorial-main { padding:clamp(58px,7vw,118px) var(--ed-gutter) clamp(100px,12vw,200px); min-height:75svh; }
.editorial-main :is(h1,h2,h3,h4,p,figure,dl,dd) { margin:0; }
.editorial-heading { position:relative; padding-bottom:clamp(40px,5vw,80px); margin-bottom:clamp(36px,5vw,80px); border-bottom:1px solid var(--ed-rule); }
.editorial-heading__meta { display:flex; justify-content:space-between; gap:20px; margin-bottom:clamp(24px,4vw,60px); font-size:13px; line-height:1.4; }
.editorial-heading__meta > span:first-child { font-family:var(--f-en); text-transform:uppercase; letter-spacing:.04em; }
.editorial-main .editorial-heading__title { font:400 clamp(64px,12vw,208px)/.97 var(--f-en); letter-spacing:-.055em; width:fit-content; max-width:100%; overflow-wrap:normal; }
.editorial-heading__shape { position:absolute; right:1vw; bottom:clamp(45px,6vw,100px); width:clamp(46px,6vw,100px); aspect-ratio:1.3; background:var(--c-red); clip-path:polygon(0 20%, 64% 0, 100% 60%, 39% 100%, 10% 76%); }
.archive-index .editorial-heading__shape { background:var(--c-blue); }
.editorial-rail { position:sticky; top:116px; align-self:start; }
.editorial-kicker { display:block; font:13px/1.5 var(--f-en); letter-spacing:.04em; text-transform:uppercase; }
.editorial-back { display:inline-flex; gap:18px; align-items:center; padding:16px 0; border-bottom:1px solid currentColor; font:20px/1.3 var(--f-en); }
.editorial-back > span { transition:transform .2s; }
.editorial-back:hover > span { transform:translate(-3px,-3px); }
.news-index__layout { display:grid; grid-template-columns:1fr 2.4fr; gap:var(--ed-gap); }
.news-filters { display:flex; flex-direction:column; gap:10px; margin-top:28px; font-size:clamp(20px,2vw,32px); line-height:1.5; }
.news-filters a { display:flex; align-items:baseline; gap:16px; width:fit-content; }
.news-filters small { font:12px/1 var(--f-en); }
.news-filters a[aria-current]::before { content:''; width:9px; height:9px; background:var(--c-red); }
.news-filters a:hover { color:var(--c-red); }
.journal-row { border-top:1px solid var(--ed-rule); position:relative; }
.journal-row:last-of-type { border-bottom:1px solid var(--ed-rule); }
.journal-row > a { display:grid; grid-template-columns:1fr 42px; gap:20px; padding:clamp(24px,3.5vw,54px) 0; position:relative; }
.journal-row__meta { grid-column:1; display:flex; align-items:center; gap:24px; font-size:12px; }
.journal-row time { font:14px/1.4 var(--f-en); }
.journal-row h2 { font-size:clamp(20px,2.4vw,36px); line-height:1.65; font-weight:400; overflow-wrap:anywhere; }
.journal-row__arrow { grid-column:2; grid-row:1/3; align-self:center; font:40px/1 var(--f-en); transition:transform .2s, color .2s; }
.journal-row a::after { content:''; position:absolute; bottom:-1px; left:0; right:0; height:2px; background:var(--c-red); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.journal-row a:is(:hover,:focus-visible)::after { transform:scaleX(1); }
.journal-row a:is(:hover,:focus-visible) .journal-row__arrow { transform:translate(4px,-4px); color:var(--c-red); }
.editorial-pagination { display:flex; gap:20px; margin-top:50px; font:20px/1.4 var(--f-en); flex-wrap:wrap; }
.editorial-pagination .page-numbers { min-width:36px; padding:6px; text-align:center; }
.editorial-pagination .current { background:var(--c-ink); color:var(--c-bg); }
.article-main > .editorial-back { margin-bottom:60px; }
.journal-article { display:grid; grid-template-columns:1fr 2.4fr; gap:var(--ed-gap); }
.article-meta time { display:block; margin:28px 0 14px; font:20px/1.3 var(--f-en); }
.article-meta__categories { display:grid; gap:8px; font-size:13px; }
.article-share { display:flex; gap:16px; flex-wrap:wrap; margin-top:60px; font:14px/1.5 var(--f-en); }
.article-share > span { flex-basis:100%; }
.editorial-main .journal-article__title { font-size:clamp(28px,3.6vw,58px); line-height:1.55; font-weight:400; margin-bottom:60px; overflow-wrap:anywhere; }
.editorial-main .journal-article__image { margin-bottom:48px; }
.journal-article__image img { width:100%; height:auto; }
.editorial-prose { font-size:clamp(15px,1.18vw,18px); line-height:2.15; overflow-wrap:anywhere; }
.editorial-prose > * + * { margin-top:1.6em; }
.editorial-prose :is(h2,h3,h4) { line-height:1.65; margin-top:2.6em; margin-bottom:1em; font-weight:500; }
.editorial-prose h2 { font-size:clamp(24px,2.5vw,38px); }
.editorial-prose h3 { font-size:clamp(20px,1.8vw,28px); }
.editorial-prose a { text-decoration:underline; text-underline-offset:4px; }
.editorial-prose a:hover { color:var(--c-blue); }
.editorial-prose img { max-width:100%; height:auto; }
.editorial-prose :is(ul,ol) { padding-left:1.5em; margin-block:1em; }
.editorial-prose ul { list-style:disc; }
.editorial-prose li { margin:.4em 0; }
.editorial-prose figure { margin-block:2em; }
.editorial-prose figcaption { font-size:13px; line-height:1.6; margin-top:12px; color:#626263; }
.editorial-prose blockquote { margin:2em 0; padding:0 0 0 24px; border-left:2px solid var(--c-blue); }
.editorial-prose iframe { max-width:100%; }
.editorial-prose .wp-block-embed__wrapper iframe { width:100%; aspect-ratio:16/9; height:auto; }
.editorial-prose table { width:100%; border-collapse:collapse; }
.editorial-prose :is(th,td) { border:1px solid var(--ed-rule); padding:12px; }
.editorial-prose .wp-block-table { overflow:auto; }
.article-adjacent { border-block:1px solid var(--ed-rule); margin:80px 0 36px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
.article-adjacent a { display:flex; flex-direction:column; gap:22px; padding:28px 0; font-size:16px; }
.article-adjacent a:hover { color:var(--c-blue); }
.reading-progress { position:fixed; top:83px; left:0; height:2px; width:100%; background:var(--c-red); transform:scaleX(0); transform-origin:left; z-index:81; pointer-events:none; }
.archive-index__intro { display:flex; justify-content:space-between; gap:30px; margin-bottom:clamp(40px,7vw,110px); font-size:18px; }
.archive-index__intro > span { font-family:var(--f-en); }
.archive-posters { display:grid; gap:clamp(60px,8vw,120px); }
.archive-poster { padding:clamp(22px,4vw,65px); border-top:1px solid currentColor; background:var(--c-ink); color:var(--c-bg); }
.archive-poster--blue { background:#124bfd; color:#fff; }
.archive-poster__meta { display:flex; justify-content:space-between; gap:24px; font-size:14px; margin-bottom:clamp(30px,5vw,70px); }
.archive-poster__main { display:block; }
.archive-poster figure { width:76%; margin-inline:auto; }
.archive-poster__image { width:100%; height:auto; max-height:72vh; object-fit:contain; }
.archive-poster__caption { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:clamp(30px,5vw,80px); }
.archive-poster h2 { font:400 clamp(28px,5vw,76px)/1.15 var(--f-en); letter-spacing:-.025em; }
.archive-poster__arrow { font:clamp(40px,7vw,100px)/1 var(--f-en); transition:transform .3s; }
.archive-poster__main:hover .archive-poster__arrow { transform:translate(6px,-6px); }
.archive-poster__main > p { margin-top:24px; font-size:14px; }
.archive-poster__report { display:inline-block; border-bottom:1px solid currentColor; padding-block:8px; margin-top:20px; font-size:14px; }
.archive-detail > .editorial-back { margin-bottom:60px; }
.p-archives-single-fv__wrap { display:grid; grid-template-columns:1.5fr 1fr; gap:40px; margin-bottom:60px; }
.p-archives-single-fv__wrap > .editorial-kicker { grid-column:1/-1; }
.p-archives-single-fv__title { font:400 clamp(36px,5vw,80px)/1.15 var(--f-en); letter-spacing:-.03em; }
.p-archives-single-fv__date-place { display:grid; align-content:end; font-size:16px; gap:16px; }
.p-archives-single-fv__date-place > div { display:grid; grid-template-columns:65px 1fr; gap:24px; border-bottom:1px solid var(--ed-rule); padding-bottom:16px; }
.p-archives-single-fv__label { font-family:var(--f-en); }
.p-archives-single-fv__thumbnail { background:var(--c-ink); padding:clamp(24px,5vw,70px); }
.p-archives-single-fv__thumbnail img { width:100%; max-height:76svh; object-fit:contain; height:auto; }
.p-archives-single > section + section { padding-top:clamp(70px,9vw,140px); }
.p-archives-review .l-inner { display:grid; grid-template-columns:1fr 2.4fr; gap:var(--ed-gap); }
.p-archives-review__heading { position:sticky; top:120px; align-self:start; }
.ds5-inner .c-section__content-title { font:400 clamp(36px,4vw,64px)/1.2 var(--f-en); letter-spacing:-.025em; }
.ds5-inner .c-section__content-title--jp { display:block; margin-top:14px; font:14px/1.5 var(--f-ja); letter-spacing:0; }
.p-archives-award__list { margin-top:60px; }
.p-archives-award__item { display:grid; grid-template-columns:1fr 1.15fr; gap:16px 6vw; border-top:1px solid var(--ed-rule); padding:40px 0 60px; }
.p-archives-award__item > :not(figure) { grid-column:1; }
.p-archives-award__item > figure { grid-column:2; grid-row:1/8; align-self:start; }
.p-archives-award__title { font-size:clamp(24px,2.5vw,40px); line-height:1.5; font-weight:400; }
.p-archives-award__item :is(span,p) { font-size:14px; }
.p-archives-award__prize { color:var(--c-blue); }
.p-archives-award__img img { width:100%; height:auto; }
.p-archives-games__list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:50px 28px; margin-top:60px; }
.p-archives-games__item { display:flex; flex-direction:column; font-size:12px; line-height:1.7; }
.p-archives-games__title { font-size:20px; line-height:1.5; margin-bottom:10px!important; font-weight:400; }
.p-archives-games__img { order:-1; margin-bottom:20px!important; }
.p-archives-games__img img { width:100%; aspect-ratio:16/9; object-fit:contain; height:auto; }
.contact-layout { display:grid; grid-template-columns:1fr 1.8fr; gap:clamp(40px,9vw,160px); }
.contact-intro h2 { font-weight:400; font-size:clamp(28px,3vw,44px); line-height:1.65; margin-bottom:40px; }
.contact-intro p { font-size:14px; line-height:2; margin-top:20px; }
.contact-fields { min-width:0; }
.contact-fields--confirm { max-width:850px; margin-left:auto; }
.contact-fields .c-form__row { border-top:0; padding:25px 0 30px; }
.contact-fields .c-form__head { margin-bottom:16px; font-size:14px; }
.contact-fields .c-form__body { font-size:16px; }
.contact-fields .c-form__label--required, .contact-fields .c-form__required { color:var(--c-red); }
.contact-fields input:not([type=checkbox],[type=radio],[type=submit],[type=hidden]), .contact-fields textarea, .contact-fields select { width:100%; max-width:100%; border:0; border-radius:0; border-bottom:1px solid #777; background:transparent; color:var(--c-ink); font:inherit; padding:12px 0; transition:border-color .2s; }
.contact-fields textarea { min-height:190px; resize:vertical; }
.contact-fields input::placeholder, .contact-fields textarea::placeholder { color:#777; opacity:1; }
.contact-fields input:focus, .contact-fields textarea:focus { border-color:var(--c-blue); }
.contact-fields input:is([type=checkbox],[type=radio]) { width:20px; height:20px; accent-color:var(--c-blue); flex-shrink:0; margin:0 12px 0 0; vertical-align:middle; }
.contact-fields .wpcf7-list-item { display:block; margin:0 0 14px; }
.contact-fields .wpcf7-list-item label { display:inline-flex; align-items:center; min-height:30px; cursor:pointer; }
.contact-fields .c-form__attention-warp { font-size:12px; margin-top:24px; line-height:1.9; }
.contact-fields a { text-decoration:underline; text-underline-offset:4px; }
.contact-fields input[type=submit], .contact-fields button { border:1px solid var(--c-ink); border-radius:0; background:var(--c-ink); color:var(--c-bg); padding:20px 30px; font:32px/1 var(--f-en); cursor:pointer; width:100%; transition:background .2s,color .2s; }
.contact-fields input[type=submit]:hover { background:var(--c-blue); border-color:var(--c-blue); }
.contact-fields input[type=submit]:disabled { cursor:not-allowed; opacity:.45; }
.contact-fields .c-form__submit img { display:none; }
.contact-fields .c-form__row--agreement { font-size:14px; }
.contact-fields .wpcf7-not-valid-tip { font-size:13px; color:#b32c44; margin-top:10px; }
.contact-fields .wpcf7-response-output { margin:24px 0!important; padding:16px!important; font-size:14px; }
.contact-fields [aria-invalid=true] { border-color:#b32c44!important; }
.thanks-message { display:grid; grid-template-columns:1fr 2fr; gap:40px; margin-top:70px; }
.thanks-mark { font:clamp(100px,17vw,240px)/1 var(--f-en); color:var(--c-blue); }
.thanks-message h2 { font-size:clamp(24px,3vw,42px); font-weight:400; margin-bottom:20px; }
.thanks-message .editorial-back { margin-top:40px; }
.generic-prose { max-width:850px; margin-left:auto; }
.not-found__message { margin-left:35%; }
.not-found__message h2 { font-size:clamp(28px,4vw,60px); font-weight:400; line-height:1.5; margin-bottom:30px; }
.not-found__message .editorial-back { margin:32px 32px 0 0; }
.not-found .editorial-heading__title { font-size:clamp(150px,27vw,460px); }
.search-form { display:flex; gap:20px; flex-wrap:wrap; margin-bottom:50px; }
.search-form input { padding:12px; border:1px solid var(--ed-rule); font:inherit; background:transparent; max-width:100%; }
.search-form input[type=submit] { background:var(--c-ink); color:var(--c-bg); }
/* Existing information is retained; legacy positioning and decorative widgets are retired. */
.legacy-document .p-privacy__container { max-width:860px; margin-left:auto; font-size:15px; line-height:2.1; }
.legacy-document .p-privacy__items { list-style:none; padding:0; margin-top:60px; }
.legacy-document .p-privacy__item { border-top:1px solid var(--ed-rule); padding:32px 0; }
.legacy-document .p-privacy__head { font-size:22px; font-weight:400; margin-bottom:24px; }
.legacy-document ol ol { padding-left:1.5em; }
.legacy-document li li { margin:.6em 0; }
.legacy-document a { text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.legacy-document .p-privacy__body-items--lower-alpha { list-style:lower-alpha; }
.legacy-document .p-privacy__body-items--lower-roman { list-style:lower-roman; }
.legacy-document .p-guide__wrapper { margin-top:70px; }
.legacy-document .p-guide__wrapper > h2 { margin-bottom:40px; }
.p-requirements__row { display:grid; grid-template-columns:1fr 2.4fr; gap:var(--ed-gap); padding:32px 0; border-top:1px solid var(--ed-rule); }
.p-requirements__dt { font-size:20px; }
.p-requirements__dd { font-size:15px; line-height:2.05; }
.p-requirements__dd :is(ul,ol) { padding-left:1.3em; }
.p-requirements__dd ul { list-style:disc; }
.p-requirements__dd li { margin-bottom:.65em; }
.ds5-inner :is(.u-hidden-pc) { display:none; }
.legacy-event > section { margin-top:clamp(60px,8vw,130px); }
.legacy-event .p-event-fv { margin-top:0; padding:clamp(24px,5vw,75px); background:var(--c-blue); color:#fff; }
.legacy-event .p-event-fv__title { display:flex; align-items:center; gap:20px; max-width:760px; margin-bottom:32px; }
.legacy-event .p-event-fv__title svg { height:auto; max-height:120px; fill:currentColor; }
.legacy-event .p-event-fv__title svg * { fill:currentColor; }
.legacy-event .p-event-fv__place { font-size:clamp(20px,3vw,44px); line-height:1.3; font-family:var(--f-en); }
.legacy-event .p-event-fv__info { display:flex; gap:60px; flex-wrap:wrap; margin-top:48px; font-family:var(--f-en); }
.legacy-event .p-event-fv__value { font-size:clamp(24px,3.5vw,50px); }
.legacy-event .p-event-fv__body-line::after, .p-event-about__body-line::after { content:' — '; }
.legacy-event .p-event-cta__btns, .legacy-event .p-event-cta__buttons { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.ds5-inner .c-btn { display:inline-flex; padding:16px 24px; border:1px solid currentColor; gap:16px; align-items:center; justify-content:space-between; }
.ds5-inner .c-btn:hover { background:var(--c-ink); color:var(--c-bg); }
.legacy-event .p-event-cta__text { font-size:14px; margin-top:24px; }
.legacy-event .p-event-cta__link { text-decoration:underline; }
.legacy-event :is(.p-event-theme__container,.p-event-about__container,.p-event-faq__container) { display:grid; grid-template-columns:1fr 2.4fr; gap:var(--ed-gap); }
.legacy-event .p-event-theme__title { font:400 clamp(54px,7vw,120px)/1.1 var(--f-en); }
.legacy-event .p-event-theme__body { align-self:center; }
.legacy-event :is(.p-event-about__row) { display:grid; grid-template-columns:1fr 2fr; gap:30px; border-top:1px solid var(--ed-rule); padding:24px 0; font-size:15px; }
.legacy-event .u-fz-large { display:inline-block; font-size:24px; margin-right:12px; }
.legacy-event .u-underline { text-decoration:underline; }
.legacy-event .p-event-contents { background:var(--c-ink); color:var(--c-bg); margin-inline:calc(-1 * var(--ed-gutter)); padding:clamp(50px,7vw,100px) var(--ed-gutter); }
.legacy-event .p-event-contents__exhibition { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:60px; }
.legacy-event .p-event-contents__exhibition-title { font:400 clamp(40px,5vw,75px)/1.1 var(--f-en); }
.legacy-event .p-event-contents__exhibition-head { font-size:24px; margin-bottom:24px; }
.legacy-event .p-event-contents__exhibition-text { font-size:14px; }
.legacy-event .p-event-contents__definition { margin-top:60px; }
.legacy-event .p-event-contents__definition-heading { font-size:20px; font-weight:400; margin-bottom:24px; }
.legacy-event .p-event-contents__definition-body { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.legacy-event .p-event-contents__definition-item { border-top:3px solid #ddd; padding-top:20px; font-size:14px; }
.legacy-event .p-event-contents__definition-item--green { border-color:#88bb7c; }
.legacy-event .p-event-contents__definition-item--yellow { border-color:#e5d578; }
.legacy-event .p-event-contents__definition-item--red { border-color:#ea5274; }
.legacy-event .p-event-contents__item { margin-top:70px; }
.legacy-event .p-event-contents__head { font:400 clamp(40px,5vw,70px)/1.2 var(--f-en); margin-bottom:40px; }
.legacy-event .p-event-contents__games { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 24px; }
.legacy-event .p-event-contents__game { display:flex; flex-direction:column; }
.legacy-event .p-event-contents__game-img { order:-1; margin-bottom:20px; }
.legacy-event .p-event-contents__game-img img { aspect-ratio:16/9; object-fit:contain; width:100%; height:auto; }
.legacy-event .p-event-contents__game-title { font-size:20px; font-weight:400; line-height:1.6; }
.legacy-event .p-event-contents__game-creator { font-size:13px; margin-top:10px; }
.ds5-inner .p-faq__accordion { border-top:1px solid var(--ed-rule); }
.ds5-inner .p-faq__question { padding:26px 0; cursor:pointer; }
.ds5-inner .p-faq__head { display:inline; font-size:18px; font-weight:400; }
.ds5-inner .p-faq__answer { padding:0 0 30px; font-size:15px; }
.ds5-inner .p-faq__answer a { text-decoration:underline; }
.legacy-event .p-event-sponsors__items { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:50px; }
.legacy-event .p-event-sponsors__content ~ .p-event-sponsors__content, .legacy-event .p-event-sponsors__item.swiper-slide-duplicate { display:none; }
.legacy-event .p-event-sponsors__item a { display:flex; align-items:center; justify-content:center; min-height:100px; }
.legacy-event .p-event-sponsors__item img { max-height:100px; width:auto; object-fit:contain; }
.legacy-optional .p-sponsors__content, .legacy-optional [class$="__list"] { margin-top:40px; }
.legacy-optional [class*="benefit"], .legacy-optional [class*="plan"] { max-width:100%; }
.legacy-optional .swiper-wrapper { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.legacy-optional .swiper { margin-block:40px; }
.legacy-optional img { max-width:100%; height:auto; object-fit:contain; }
.legacy-optional .c-section__content-title { margin-top:70px; }
/* Reveal remains opt-in in JS; failed scripts do not hide content. */
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation:auto; }
  ::view-transition-old(root) { animation:ed-page-out .16s steps(3,end) both; }
  ::view-transition-new(root) { animation:ed-page-in .26s steps(4,end) both; }
  @keyframes ed-page-out { to { opacity:0; } }
  @keyframes ed-page-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
  .site-menu[open] .site-menu__panel { animation:ed-menu-in .24s steps(3,end); }
  @keyframes ed-menu-in { from { clip-path:inset(0 0 100%); } to { clip-path:inset(0); } }
  .editorial-heading__shape.is-in-view { animation:ed-shape-frames 2.4s steps(1,end) infinite; }
  @keyframes ed-shape-frames {
    0%,100% { clip-path:polygon(0 20%,64% 0,100% 60%,39% 100%,10% 76%); }
    25% { clip-path:polygon(15% 0,85% 18%,100% 90%,32% 100%,0 50%); }
    50% { clip-path:polygon(0 0,90% 0,70% 60%,100% 100%,20% 83%); }
    75% { clip-path:polygon(30% 0,100% 30%,90% 100%,0 90%,15% 40%); }
  }
}
@media (min-width:1800px) { .editorial-main { max-width:1900px; margin-inline:auto; } }
@media (max-width:900px) {
  .editorial-heading__title { padding-right:50px; }
  .news-index__layout, .journal-article { grid-template-columns:1fr 2.5fr; gap:32px; }
  .contact-layout { grid-template-columns:1fr 1.6fr; gap:40px; }
  .p-archives-games__list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .p-archives-single-fv__wrap { grid-template-columns:1fr; }
  .p-archives-single-fv__date-place { max-width:600px; }
}
@media (max-width:600px) {
  .inner-header { height:72px; }
  .inner-header__top { display:none; }
  .site-menu { top:16px; right:16px; }
  .ds5-front .site-menu { bottom:20px; right:16px; }
  .site-menu__panel { padding-top:90px; }
  .site-menu__panel > a { font-size:clamp(40px,11vw,66px); padding:.2em 0; }
  .site-menu__bottom { font-size:12px; }
  .ds5-about .about-header > a:not(:first-child) { display:none; }
  .ds5-about .about-header { padding-right:125px; }
  .editorial-main { padding-top:50px; }
  .editorial-heading { margin-bottom:36px; padding-bottom:40px; }
  .editorial-heading__meta { font-size:11px; margin-bottom:38px; }
  .editorial-heading__meta > span:last-child { text-align:right; }
  .editorial-main .editorial-heading__title { font-size:clamp(52px,14vw,84px); letter-spacing:-.05em; padding-right:0; }
  .editorial-heading__shape { width:38px; bottom:7px; right:0; }
  .editorial-rail { position:static; }
  .news-index__layout, .journal-article, .contact-layout, .p-archives-review .l-inner { grid-template-columns:1fr; gap:36px; }
  .news-filters { flex-direction:row; flex-wrap:wrap; gap:12px 20px; font-size:16px; margin-top:20px; }
  .news-filters a { gap:8px; }
  .news-filters a[aria-current]::before { width:6px; height:6px; }
  .journal-row > a { gap:14px; grid-template-columns:1fr 28px; padding-block:28px; }
  .journal-row h2 { font-size:20px; }
  .journal-row__arrow { font-size:30px; }
  .journal-row__meta { gap:14px; font-size:11px; }
  .article-main > .editorial-back { margin-bottom:36px; }
  .article-meta { display:flex; flex-wrap:wrap; gap:16px; align-items:center; }
  .article-meta > .editorial-kicker { display:none; }
  .article-meta time { margin:0; font-size:16px; }
  .article-meta__categories { display:flex; flex-wrap:wrap; }
  .article-share { margin-top:0; gap:16px; width:100%; font-size:12px; }
  .article-share > span { flex-basis:auto; }
  .editorial-main .journal-article__title { font-size:28px; margin-bottom:36px; }
  .article-adjacent { margin-top:60px; gap:22px; }
  .article-adjacent a { font-size:14px; }
  .reading-progress { top:71px; }
  .archive-index__intro { font-size:14px; }
  .archive-poster__meta { flex-direction:column; gap:8px; font-size:12px; }
  .archive-poster figure { width:100%; }
  .archive-poster h2 { font-size:30px; }
  .archive-poster__caption { align-items:flex-start; gap:12px; }
  .archive-poster__arrow { font-size:34px; }
  .archive-poster__main > p { font-size:12px; }
  .archive-detail > .editorial-back { margin-bottom:40px; }
  .p-archives-single-fv__wrap { gap:30px; margin-bottom:32px; }
  .p-archives-single-fv__title { font-size:40px; }
  .p-archives-single-fv__date-place { font-size:14px; }
  .p-archives-single-fv__thumbnail { margin-inline:calc(-1 * var(--ed-gutter)); padding:24px var(--ed-gutter); }
  .p-archives-review__heading { position:static; }
  .p-archives-award__item { display:flex; flex-direction:column; padding-top:26px; }
  .p-archives-award__item > figure { order:-1; margin-bottom:12px; }
  .p-archives-games__list { grid-template-columns:1fr; margin-top:36px; }
  .p-archives-games__title { font-size:22px; }
  .contact-intro h2 { font-size:28px; margin-bottom:24px; }
  .contact-intro p { font-size:13px; }
  .contact-fields .c-form__row { padding-block:24px; }
  .contact-fields .wpcf7-list-item { font-size:14px; }
  .thanks-message { grid-template-columns:1fr; gap:24px; margin-top:30px; }
  .thanks-mark { font-size:90px; }
  .not-found .editorial-heading__title { font-size:40vw; }
  .not-found__message { margin-left:0; }
  .p-requirements__row { grid-template-columns:1fr; gap:20px; padding-block:26px; }
  .p-requirements__dt { font-size:20px; }
  .p-requirements__dd { font-size:14px; }
  .legacy-document .p-privacy__head { font-size:19px; }
  .legacy-document .p-privacy__container { font-size:14px; }
  .legacy-event :is(.p-event-theme__container,.p-event-about__container,.p-event-faq__container,.p-event-contents__exhibition,.p-event-contents__definition-body) { grid-template-columns:1fr; gap:30px; }
  .legacy-event .p-event-fv__info { gap:24px; }
  .legacy-event .p-event-about__row { grid-template-columns:1fr; gap:16px; }
  .legacy-event .p-event-contents__games { grid-template-columns:1fr; }
  .legacy-event .p-event-sponsors__items { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ds5-inner .u-hidden-mobile { display:none; }
  .ds5-inner .u-hidden-pc { display:initial; }
  .admin-bar .inner-header { top:46px; }
  .admin-bar .site-menu { top:62px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  .ds5-inner *, .site-menu * { animation:none!important; transition:none!important; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation:none!important; }
}
@media print {
  .inner-header, .site-menu, .ending-footer, .reading-progress, .article-share, .article-adjacent { display:none!important; }
  .editorial-main { padding:0; }
  .journal-article { display:block; }
  .editorial-rail { position:static; }
  .editorial-prose { font-size:11pt; }
  [data-reveal] { opacity:1!important; transform:none!important; }
}
/* Fixed identity stays legible as content passes behind it. */
.ds5-about .about-header { inset:22px var(--ed-gutter) auto; color:var(--c-ink); mix-blend-mode:normal; pointer-events:none; }
.ds5-about .about-header > a { background:var(--c-bg); padding:10px 12px; pointer-events:auto; }
.ds5-about .about-header > a:first-child { margin-left:-12px; }
.ds5-about .about-header img { filter:brightness(0); }
.ds5-front.has-scrolled-hero .site-logo::before { content:''; position:absolute; inset:-30px -36px; background:var(--c-bg); z-index:-1; }
.ds5-front.has-scrolled-hero.has-dark-ending .site-logo::before { background:var(--c-ink); }
.archive-jumps { position:sticky; top:84px; display:flex; gap:32px; padding:20px 0; margin-top:30px; background:var(--c-bg); border-bottom:1px solid var(--ed-rule); z-index:20; font:20px/1.2 var(--f-en); }
.archive-jumps:not(:has(a)) { display:none; }
.archive-jumps small { margin-left:8px; font-size:12px; }
.archive-jumps a:hover { color:var(--c-blue); }
.archive-detail :is(#review,#award,#games) { scroll-margin-top:110px; padding-top:80px; }
.archive-detail > .editorial-back:last-child { margin-top:80px; }
.legacy-event .p-event-cta__wrap { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.legacy-event .p-event-cta__btn { border-block:1px solid var(--ed-rule); padding:26px 0; display:flex; flex-direction:column; align-items:flex-start; gap:12px; font-size:13px; }
.legacy-event .p-event-cta__label { font:clamp(36px,4vw,64px)/1 var(--f-en); }
.legacy-event .p-event-cta__btn:hover { color:var(--c-blue); border-color:var(--c-blue); }
.legacy-event .p-event-contents__definition-caution { grid-column:1/-1; border-top:1px solid #747477; padding-top:24px; font-size:14px; }
.legacy-event .p-event-contents__definition-caution-title { font:24px/1.5 var(--f-en); margin-bottom:16px; }
.legacy-event .p-event-contents__definition-title { font:28px/1.5 var(--f-en); margin-bottom:16px; }
.p-sponsors-fv__vis { display:grid; grid-template-columns:1fr 1fr; gap:var(--ed-gap); }
.p-sponsors-fv__head { font-size:clamp(28px,3vw,44px); font-weight:400; line-height:1.6; }
.p-sponsors-fv__btn { margin-top:30px; }
.p-sponsors-fv__content ~ .p-sponsors-fv__content { display:none; }
.p-sponsors-fv__item { display:flex; align-items:center; justify-content:center; min-height:130px; }
.p-sponsors-fv__item img { max-height:100px; width:auto; }
.p-sponsors-benefits__items { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:50px; }
.p-sponsors-benefits__img { margin-bottom:28px!important; }
.p-sponsors-benefits__img img { max-height:240px; }
.p-sponsors-benefits__title { margin-bottom:16px!important; font-size:24px; font-weight:400; }
.p-sponsors-benefits__text { font-size:14px; }
.p-sponsors-plans__items { list-style:none; padding:0; }
.p-sponsors-plans__item { border-top:1px solid var(--ed-rule); padding-top:30px; }
.p-sponsors-plans__title { display:flex; gap:16px; align-items:center; font:32px/1.4 var(--f-en); }
.p-sponsors-plans__title svg { width:28px; height:auto; }
.p-sponsors-plans__lead { font-size:14px; margin-top:24px!important; }
.p-sponsors-plans__price { display:block; margin-block:36px; font:clamp(26px,2.5vw,40px)/1 var(--f-en); }
.p-sponsors-plans__row { border-top:1px solid var(--ed-rule); padding:20px 0; font-size:14px; }
.p-sponsors-plans__btn { display:none; }
.admin-bar .reading-progress { top:115px; }
.admin-bar .archive-jumps { top:116px; }
@media(max-width:600px) {
  .ds5-about .about-header { top:16px; }
  .archive-jumps { top:72px; gap:24px; font-size:18px; padding-block:18px; }
  .archive-detail :is(#review,#award,#games) { scroll-margin-top:100px; padding-top:70px; }
  .p-sponsors-fv__vis,.p-sponsors-benefits__items,.legacy-optional .p-sponsors-plans__items { grid-template-columns:1fr; }
  .legacy-optional .p-sponsors-fv__items { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-bar .reading-progress { top:117px; }
  .admin-bar .archive-jumps { top:118px; }
}
.editorial-sponsors { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(25px,6vw,90px); margin-top:60px; }
.editorial-sponsors figure,.editorial-sponsors a { min-height:120px; display:flex; align-items:center; justify-content:center; }
.editorial-sponsors img { width:auto; height:auto; max-height:120px; object-fit:contain; }
@media(max-width:600px) { .editorial-sponsors { grid-template-columns:repeat(2,minmax(0,1fr)); } .editorial-sponsors img { max-height:80px; } }
.archive-posters > * { min-width:0; }
.archive-poster h2 { min-width:0; overflow-wrap:anywhere; }
@media(max-width:360px) { .archive-poster__caption { display:block; } .archive-poster__arrow { display:block; text-align:right; margin-top:16px; } }
.p-archives-single--blue .p-archives-single-fv__thumbnail { background:#124bfd; }
/* The designed hero already has navigation. Its compact menu takes over on scroll. */
.ds5-front .site-menu { top:22px; bottom:auto; }
.ds5-front:not(.has-scrolled-hero) .site-menu { visibility:hidden; }
.hero__stamp, .ds5-front .hero__stamp { mix-blend-mode:difference; color:#fff; background:transparent; padding:0; margin-left:0; }
.ds5-front.has-dark-ending .hero__stamp { background:transparent; }
@media(max-width:600px) { .ds5-front .site-menu { top:16px; bottom:auto; } }
@media(prefers-reduced-motion:reduce) { .ds5-front .site-menu { visibility:visible; } }

.archive-jumps a { position:relative; }
.archive-jumps a::after { content:""; position:absolute; bottom:-20px; height:2px; background:currentColor; left:0; right:0; transform:scaleX(0); transform-origin:left; transition:transform .2s; }
.archive-jumps a[aria-current] { color:var(--c-blue); }
.archive-jumps a[aria-current]::after { transform:scaleX(1); }
@media(max-width:600px) { .archive-jumps a::after { bottom:-18px; } }
@media(prefers-reduced-motion:reduce) { .archive-jumps a::after { transition:none; } }

/* Identical chrome and footer metrics on every template. */
.hero__stamp { font-family:var(--f-en); line-height:1.4; }
.hero__totop { max-height:60vh; }
.site-footer.ending-footer { font-family:var(--f-en); line-height:1.6; }
.site-footer.ending-footer p { margin:0; }
@media print { .hero__stamp, .hero__totop { display:none!important; } }
