/* Adapt the supplied design to native block wrappers. */
.wp-site-blocks > *, .wp-block-template-part > *, .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }
.wp-block-group { box-sizing: border-box; }
.wp-block-group > :where(p:not(:first-child)) { margin-block-start: 1em; }
.wp-block-image { margin: 0; }
.wp-block-image img { height: auto; }
.wp-block-image figcaption { margin: 0; }
.wp-block-group.container { margin-inline: auto; }
.wof-header { position: sticky; top: -35px; z-index: 70; }
.admin-bar .wof-header { top: -3px; }
.site-header { position: relative; }
.site-header:has(.is-menu-open) { backdrop-filter: none; -webkit-backdrop-filter: none; }
.header-inner .brand-logo { margin: 0; }
.header-inner .brand-logo a { display: flex; height: 100%; align-items: center; }
.header-inner .brand-logo a { width: 100%; flex: none; }
.header-inner .brand-logo img { height: calc(var(--header-h) - 16px); width: auto; }
.utility-inner p { margin: 0; color: inherit; }
.global-nav .wp-block-navigation__container { gap: 5px; }
.global-nav .nav-link { padding: 0; }
.global-nav .wp-block-navigation-item__content { display: block; padding: 12px 15px; font-size: var(--wp--preset--font-size--ui); font-weight: 700; }
.global-nav .current-menu-item { color: var(--cyan-ink); }
.global-nav .wp-block-navigation__responsive-container-open { padding: 12px; }
.global-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--paper); padding: 24px; }
.global-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 60px; }
.global-nav .is-menu-open .wp-block-navigation__container { width: 100%; align-items: stretch; }
.global-nav .is-menu-open .wp-block-navigation-item__content { padding: 15px; }
.hero-visual > .wp-block-image { width: 100%; height: 100%; }
.hero-visual > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.hero-kicker, .eyebrow, .hero-orbit, .hero-caption { margin-top: 0; }
.hero-date-item p { margin: 0; }
.hero-date-item p:first-child { font-size: var(--wp--preset--font-size--small); font-weight: 800; color: var(--muted); letter-spacing: .1em; }
.hero-date-item p strong { display: block; }
.section-heading p { margin: 0; }
.breadcrumb p { margin: 0; }
.breadcrumb span { margin-inline: 10px; }
.page-hero__side > p { margin: 0; }
.wp-block-buttons { gap: 12px; }
/* Match button-row spacing when native Buttons follows copy directly. */
:where(p, .wp-block-post-content, .wp-block-post-excerpt) + .wp-block-buttons { margin-block-start: 30px; }
.article-body > .wof-block--record-info + .wp-block-post-content { margin-block-start: 30px; }
.button-row > .wp-block-buttons { display: contents; }
.wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 50px; padding: 14px 22px; border: 1px solid var(--ink); border-radius: 7px; background: var(--ink); color: #fff; font-size: var(--wp--preset--font-size--ui); font-weight: 700; text-decoration: none; line-height: 1.5; transition: transform 200ms ease, background 200ms ease; }
.wp-block-button__link:hover { background: var(--cyan-ink); transform: translateY(-2px); }
.button--secondary .wp-block-button__link { background: transparent; color: inherit; }
.button--light .wp-block-button__link { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.button--on-dark .wp-block-button__link { border-color: rgba(255,255,255,.5); color: var(--paper); }
.media-frame.wp-block-image { margin-inline: 0; }
.media-frame.wp-block-image > img, .media-frame.wp-block-post-featured-image > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.section--dark .access-summary strong { color: var(--paper); }
.section--dark .access-summary, .section--dark .access-summary li { border-color: rgba(255,255,255,.2); }
.media-frame.wp-block-image figcaption { position: absolute; left: 16px; bottom: 16px; z-index: 2; max-width: calc(100% - 32px); padding: 7px 10px; background: rgba(47,47,40,.8); color: #fff; font-size: var(--wp--preset--font-size--small); text-align: left; }
.card-media .wp-block-image { width: 100%; }
.card-body p:has(> strong) { margin: 0; font-size: var(--wp--preset--font-size--large); }
.card-body p:has(> small) { margin: 4px 0 0; font-size: var(--wp--preset--font-size--small); color: var(--muted); }
.about-story__item > p:first-child { font-size: var(--wp--preset--font-size--small); letter-spacing: .12em; color: var(--cyan-ink); font-weight: 800; }
.definition-row .definition-dt { margin: 0; font-weight: 700; }
.definition-row .definition-dd { margin: 0; }
.info-card > p:has(> strong) { font-size: var(--wp--preset--font-size--large); line-height: 1.4; margin: 12px 0; }
.footer-brand .wp-block-image { width: 180px; }
.footer-brand .wp-block-site-logo { width: 220px; }
.site-footer .custom-logo { filter: brightness(0) invert(1); }
.footer-nav p { margin: 0; }
.footer-bottom__inner p { margin: 0; }
.query-card { padding-block: 24px; border-bottom: 1px solid var(--line); }
.article-navigation { display: flex; justify-content: space-between; gap: 24px; margin-top: 48px; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
.editor-styles-wrapper .reveal { opacity: 1; transform: none; }
.editor-styles-wrapper .wof-header { position: static; }
.editor-styles-wrapper .brand-logo img { width: 144px; max-height: 68px; object-fit: contain; }
.wof-kana { border: 0; padding: 0; margin: 24px 0 0; }
.wof-kana legend { margin-bottom: 8px; }
.wof-block .tab-list { margin-block: 20px; }
.wof-block .tab-button, .wof-block .kana-button { cursor: pointer; }
.wof-block .tab-button input, .wof-block .kana-button input { accent-color: var(--cyan-ink); }
.wof-block .filter-grid { margin-top: 22px; }
.wof-block .filter-grid > button { align-self: end; }
.wof-block--news .filter-grid { grid-template-columns: 240px minmax(0, 1fr) auto; }
@media (max-width: 700px) { .wof-block--news .filter-grid { grid-template-columns: 1fr; } }
.wof-block .results-header p { margin: 0; }
.wof-block .result-card { text-decoration: none; }
.wof-block .page-button, .wof-block .chip-button { display: inline-flex; align-items: center; justify-content: center; }
.wof-block .related-brands { display: flex; flex-wrap: wrap; gap: 24px; list-style: none; padding: 0; }
.award-hero__visual > .wp-block-image { height: 100%; }
.award-hero__visual > .wp-block-image img { height: 100%; width: 100%; object-fit: cover; }
.detail-facts .definition-row { grid-template-columns: 80px 1fr; padding-block: 12px; font-size: var(--wp--preset--font-size--ui); }
.detail-facts .definition-row dd { margin: 0; }
.detail-main > .wof-block { margin-top: 32px; }
.detail-booth .wof-block > span { display: block; margin-bottom: 8px; font-size: var(--wp--preset--font-size--small); letter-spacing: .1em; color: var(--muted); }
.detail-key-visual.wp-block-post-featured-image { min-height: 0; aspect-ratio: 1.55; }
.detail-key-visual.wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.wof-product-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.wof-product-gallery figure { margin: 0; }
.wof-product-gallery img { display: block; width: 100%; height: auto; border-radius: 7px; }
.wof-social-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wof-block--site-info .hero-date-item strong { color: var(--ink); }
.featured-news .wof-block { width: 100%; }
.featured-news { background: #183c3c; }
.featured-news__label::before { background: #6ec9b0; box-shadow: 0 0 0 0 rgba(110, 201, 176, .42); animation-name: wof-news-pulse; }
@keyframes wof-news-pulse { 70% { box-shadow: 0 0 0 8px rgba(110, 201, 176, 0); } 100% { box-shadow: 0 0 0 0 rgba(110, 201, 176, 0); } }
.featured-news .text-link { align-self: center; justify-self: end; display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; padding: 0; line-height: 1.5; white-space: nowrap; }
.featured-news .text-link::after { bottom: 8px; }
.wof-editor-preview { min-height: 24px; }
.news-item .wp-block-post-title, .news-item h3 { font-size: var(--wp--preset--font-size--medium); letter-spacing: .015em; line-height: 1.65; }
.news-item .wp-block-post-terms { font-size: var(--wp--preset--font-size--small); }
.news-item .news-item__arrow { margin: 0; }
.wof-link-block { margin: 0; }
.wof-contact { padding: 28px; }
.wof-contact .wof-consent { display: flex; align-items: center; gap: 10px; font-size: var(--wp--preset--font-size--ui); }
.wof-contact .wof-consent input { flex: none; margin: 0; }
.wof-contact .confirm-row dd { white-space: pre-wrap; overflow-wrap: anywhere; }
.wof-contact .wof-form-error { color: var(--lipstick); border-left: 3px solid currentColor; padding: 12px; background: var(--lipstick-soft); }
.wof-contact [data-panel="confirm"] h2 { font-size: var(--wp--preset--font-size--heading); }
.wof-contact [data-panel="complete"] h2 { font-size: var(--wp--preset--font-size--heading); }
.wof-contact [data-panel="complete"] .button-row { justify-content: center; }
.wof-contact .form-actions { justify-content: flex-end; }
.wof-contact [data-panel="confirm"] .form-actions { justify-content: space-between; }
.wof-contact button:disabled { opacity: .6; cursor: wait; }
.wof-contact [data-panel] { scroll-margin-top: calc(var(--header-h) + 20px); }
.contact-channel .wof-info-value { font-size: var(--wp--preset--font-size--medium); font-weight: 700; color: var(--ink); }
.contact-channel p { font-size: var(--wp--preset--font-size--small); margin-top: 4px; }
.contact-channel .wof-info-value,
.contact-channel > p:first-child { line-height: calc(var(--wp--preset--font-size--medium) * 1.65); }
.contact-channel > p:first-child { margin-block-start: 2px; }
@media (max-width: 700px) { .wof-contact { padding: 20px; } }
@media (max-width: 1000px) {
  .global-nav { position: static; inset: auto; z-index: auto; margin-left: auto; padding: 0; background: transparent; opacity: 1; visibility: visible; transform: none; overflow: visible; }
  .global-nav .nav-link { color: var(--ink); min-height: 44px; }
  .global-nav .nav-link:is(:hover, :focus-visible) { color: var(--cyan-ink); }
  .global-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
  .global-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex;
    width: 44px;
    min-height: 44px;
    justify-content: center;
    padding: 0;
  }
}
@media (max-width: 700px) {
  .wof-header, .admin-bar .wof-header { top: 0; }
  .button-row > .wp-block-buttons { display: flex; }
}
@media (max-width: 620px) {
  .cta-band > .wp-block-buttons { margin-block-start: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

/* Keep both language names legible in the shared block header. */
html:lang(en) .hero-date { grid-template-columns: 1fr; }
html:lang(en) .hero-date-item + .hero-date-item { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
html:lang(en) .lead { line-height: 1.7; }
html:lang(en) .wof-kana .kana-list { flex-wrap: wrap; }
html:lang(en) .results-header strong { margin-inline-end: .3em; }
html:lang(en) .form-label { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 1000px) {
  .header-inner { gap: 12px; }
  .header-inner > .global-nav { order: 3; flex: none; margin-left: 0; }
}
@media (max-width: 400px) {
  .header-inner .brand-logo { max-width: 120px; }
  .header-inner { gap: 8px; }
}
.wof-language-switcher { display: flex; align-items: center; gap: 0; flex-shrink: 0; font-size: var(--wp--preset--font-size--ui); line-height: 1.2; }
.wof-language-switcher a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px; text-decoration: none; white-space: nowrap; }
.wof-language-switcher a + a { border-left: 1px solid var(--line); }
.wof-language-switcher a[aria-current] { font-weight: 800; text-decoration: underline; text-underline-offset: 5px; }
.wof-language-switcher a:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
@media (max-width: 360px) {
  .header-inner .brand-logo { max-width: 112px; }
  .wof-language-switcher a { padding-inline: 4px; }
}
@media (max-width: 1000px) {
  .header-inner > .wof-language-switcher,
  .header-inner > .trp-block-container:has(.wof-language-switcher) { margin-left: auto; }
}
html:lang(en) .award-hero__copy h1 { line-height: 1.12; }
@media (min-width: 1001px) { html:lang(en) .award-hero__copy { padding-right: 48px; } }
.wof-contact [data-receipt] { margin-inline-start: .3em; }

/* Keep directory logos intact across image shapes and input states. */
.wof-block--exhibitors .filter-panel { scroll-margin-top: 130px; }
.wof-block--exhibitors .tab-button,
.wof-block--exhibitors .kana-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; text-decoration: none; }
.wof-block--exhibitors .kana-button { min-width: 44px; }
.wof-block--exhibitors .result-card { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
.wof-block--exhibitors .result-card__image { position: relative; background: #fff; }
.wof-block--exhibitors .result-card__image img { position: absolute; inset: 16px; width: calc(100% - 32px); height: calc(100% - 32px); object-fit: contain; }
.wof-block--exhibitors .result-card:is(:hover, :focus-visible) .result-card__image img { transform: none; filter: none; }
.wof-block--exhibitors .result-card__body { overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .wof-block--exhibitors .result-card__body { padding: 16px; }
  .wof-block--exhibitors .result-card__meta { flex-wrap: wrap; gap: 8px; }
}
/* Hide placeholder notes while keeping captions on registered photographs. */
.wof-placeholder-figure figcaption, .hero-caption { display: none; }

/* A continuous green light field keeps the white mark and copy in focus. */
.hero {
  min-height: 0;
  color: #fff;
  background-color: var(--turquoise-deep);
  background-image:
    radial-gradient(ellipse at 0% 120%, #258578 0%, #21796f 34%, transparent 66%),
    radial-gradient(ellipse at 100% -35%, #103d48 10%, transparent 65%),
    linear-gradient(120deg, #247b78, var(--turquoise-deep) 58%, #124d4e);
}
.hero::before, .hero-visual::after, .hero-orbit { display: none; }
.hero-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "copy visual"; gap: 0; align-content: center; align-items: center; min-height: 500px; margin: 0; padding: 64px max(40px, calc((100vw - 1280px) / 2)); background: transparent; }
.hero-copy { grid-area: copy; display: flex; flex-direction: column; gap: 24px; justify-self: center; width: fit-content; max-width: min(480px, calc(100% - 64px)); padding: 0; background: transparent; }
.hero-copy > .wof-block:has(.hero-identity),
.hero-copy > .wof-block:has(.hero-date) { display: none; }
.hero-copy h1 { grid-area: heading; max-width: none; margin: 0; color: #fff; font-size: var(--wp--preset--font-size--x-large); line-height: 1.22; letter-spacing: -.03em; }
.hero-copy .lead { grid-area: lead; margin: 0; max-width: none; color: #fff; font-size: var(--wp--preset--font-size--medium); line-height: 1.85; }
.hero-copy .button-row { grid-area: actions; margin: 0; }
.hero .wp-block-button__link { background: rgba(8, 48, 44, .12); border-color: #fff; color: #fff; }
.hero .button--secondary .wp-block-button__link { background: transparent; border-color: #fff; color: #fff; }
.hero .wp-block-button__link:is(:hover, :focus-visible) { background: rgba(8, 48, 44, .24); border-color: #fff; color: #fff; }
.hero :focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.hero ::selection { background: #fff; color: #124d4e; }
.hero-visual { grid-area: visual; position: relative; min-height: 0; aspect-ratio: 220 / 104; width: min(520px, calc(100% - 64px)); justify-self: start; align-self: center; background: transparent; overflow: visible; }
.hero-visual > .wp-block-image { width: 100%; height: 100%; }
.hero-visual > .wp-block-image img { object-fit: contain; object-position: center; transition: none; }
.hero:hover .hero-visual img { transform: none; }
@media (prefers-reduced-motion: no-preference) {
  .hero-visual { animation: wof-mark-enter 700ms cubic-bezier(.16, 1, .3, 1) both; }
}
@keyframes wof-mark-enter { from { opacity: .65; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1200px) and (min-width: 901px) {
  .hero-grid { padding: 48px 32px; }
}
@media (max-width: 900px) {
  .hero-grid { grid-template-columns: 1fr; grid-template-areas: "visual" "heading" "lead" "actions"; gap: 0; min-height: 0; padding: 0; }
  .hero-copy { display: contents; width: auto; max-width: none; }
  .hero-visual { width: 100%; aspect-ratio: auto; padding: 40px 24px 16px; }
  .hero-visual > .wp-block-image { max-width: 480px; aspect-ratio: 220 / 104; height: auto; margin-inline: auto; }
  .hero-copy h1 { margin: 0; padding: 28px 24px 18px; text-align: center; }
  .hero-copy .lead { width: min(100%, 620px); justify-self: center; padding: 0 24px; font-size: var(--wp--preset--font-size--medium); text-align: center; text-wrap: balance; }
  html:lang(ja) .hero-copy .lead br { display: none; }
  .hero-copy .button-row { margin: 28px 24px 40px; justify-content: center; }
  .hero-copy .button-row > .wp-block-buttons { justify-content: center; }
}

/* Client artwork stays complete; the poster's dates and credits must remain visible. */
.wof-award-artwork.wp-block-image { background: #fff; }
.wof-award-artwork.wp-block-image > img { object-fit: contain; object-position: center; }
.wof-award-artwork.wp-block-post-featured-image > img { object-fit: contain; background: #fff; }
.media-frame.wof-award-artwork:hover img { transform: none; filter: none; }
.award-hero__visual:has(.wof-award-artwork)::after { display: none; }
.wof-event-artwork { margin-bottom: 24px; background: #fff; }
.wof-event-artwork img { display: block; width: 100%; height: 240px; object-fit: contain; }
.single-wof_event .wp-block-post-featured-image { background: #fff; }
.single-wof_event .wp-block-post-featured-image > img { object-fit: contain; background: #fff; }
.single-wof_event .wp-block-post-featured-image:hover img { transform: none; filter: none; }
.wof-coming-soon { padding: 24px; border: 1px solid var(--line); border-radius: 8px; background: #fafafa; text-align: center; }
.wof-coming-soon img { display: block; width: 100%; max-width: 840px; height: auto; margin-inline: auto; }
.wof-coming-soon p { margin: 0 0 24px; color: var(--muted); }
.single-post .article-body > .wp-block-post-featured-image { max-width: 700px; margin: 0 auto 40px; }
.single-post .article-body > .wp-block-post-featured-image img { display: block; width: 100%; height: auto; object-fit: contain; }
.single-post .article-body .wp-block-post-content > p + p { margin-block-start: 20px; }
@media (max-width: 700px) {
  .wof-coming-soon { padding: 24px 12px; }
  .wof-coming-soon p { font-size: var(--wp--preset--font-size--ui); margin-bottom: 12px; }
}
