/* ============================================================
   AGR Robotics — pages/osaka-2026.css
   Design System Alignment (2026-07-24)
   LP layout only — colors/type/buttons inherit base + corporate tokens.
   No second campaign palette (no near-black / gold primary CTA).
   ============================================================ */

/* —— Hero (metallic dark blue — official --bg-dark / --graphite, not near-black) ——
   Vertical rebalance: content-driven height — no tall min-height creating dead bottom space. */
.osaka-v22-hero {
  padding: 0;
  position: relative;
  overflow: hidden;
  background: var(--bg-dark, var(--graphite, #22313F));
  color: var(--ink-dark, #F3F5F7);
  border-bottom: 0;
  min-height: 0;
  display: flex;
  align-items: flex-start;
}
.osaka-v22-hero__bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      160deg,
      var(--bg-dark, #22313F) 0%,
      var(--bg-dark, #22313F) 58%,
      var(--bg-dark-2, var(--steel-dark, #2B3D4F)) 100%
    );
  pointer-events: none;
  z-index: 0;
}
/* Corporate .container rail — same max-width as Event Band / page body.
   Do NOT use flex:1 here — it stretches past --max-width inside the full-bleed hero. */
.osaka-v22-hero__inner.container {
  position: relative;
  z-index: 1;
  flex: 0 1 auto;
  align-self: center;
  display: flex;
  align-items: flex-start;
  box-sizing: border-box;
  width: min(var(--max-width, 1200px), calc(100% - 40px));
  max-width: var(--max-width, 1200px);
  margin-inline: auto;
}
.osaka-v22-hero__grid {
  width: 100%;
  display: grid;
  /* Mature B2B balance: copy keeps a slight lead, media column now fills its full track
     (no internal 6% slack) so the 16:9 video reads clearly larger. */
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr);
  gap: clamp(36px, 3vw, 48px);
  align-items: start;
  /* Asymmetric: keep first-screen presence, pull Event Band up (≈32–48px visual gap) */
  padding: clamp(40px, 5vh, 56px) 0 clamp(28px, 3.2vh, 40px);
}
.osaka-v22-hero__copy {
  position: relative;
  z-index: 2;
  max-width: 640px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.osaka-v22-hero__copy .section-label {
  color: var(--brand-on-dark, var(--red-on-dark, #E9A79E));
}
.osaka-v22-hero__copy .section-label::before {
  background: var(--brand-on-dark, var(--red-on-dark, #E9A79E));
}
.osaka-v22-hero__copy h1 {
  font-size: clamp(1.75rem, 3.2vw, 2.55rem);
  line-height: 1.25;
  margin: 0 0 18px;
  max-width: 20em;
  color: var(--ink-dark, #F3F5F7);
  text-shadow: none;
  letter-spacing: -0.02em;
  text-wrap: balance;
}
.osaka-nobr { white-space: nowrap; }
.osaka-v22-hero__body {
  max-width: 620px;
  color: var(--dark-text-secondary, #C2CBD3);
  line-height: 1.75;
  margin: 0 0 24px;
  font-size: 0.98rem;
}
.osaka-v22-hero__note {
  font-size: 0.875rem;
  color: var(--dark-text-secondary, #C2CBD3);
  margin: 0 0 28px;
  line-height: 1.6;
}
.osaka-v22-hero__logistics {
  display: none;
}
.osaka-v22-hero .hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 0;
}
/* Osaka campaign conversion CTA — scoped metallic blue (not corporate red) */
.agr-osaka-lp {
  --osaka-campaign-cta: #315E7A;
  --osaka-campaign-cta-hover: #274C63;
}
.agr-osaka-lp .osaka-campaign-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 22px;
  border-radius: var(--radius-md, 8px);
  border: 1px solid var(--osaka-campaign-cta);
  background: var(--osaka-campaign-cta);
  color: #fff;
  font-family: "Noto Sans JP", "Barlow", sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.02em;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.agr-osaka-lp .osaka-campaign-cta:hover,
.agr-osaka-lp .osaka-campaign-cta:focus-visible {
  background: var(--osaka-campaign-cta-hover);
  border-color: var(--osaka-campaign-cta-hover);
  color: #fff;
  outline: none;
}
.agr-osaka-lp .osaka-campaign-cta:focus-visible {
  box-shadow: 0 0 0 3px rgba(49, 94, 122, 0.35);
}
.agr-osaka-lp .osaka-campaign-cta--submit {
  width: 100%;
  margin-top: 8px;
}
/* Header corporate CTA must remain AGR red on Osaka LP */
.agr-osaka-lp .site-header .corp-btn--primary,
.agr-osaka-lp header .corp-btn--primary,
.agr-osaka-lp .header-cta .corp-btn--primary {
  background: var(--cta-primary, var(--red, #A3211B)) !important;
  border-color: var(--cta-primary, var(--red, #A3211B)) !important;
  color: #fff !important;
}
.agr-osaka-lp .site-header .corp-btn--primary:hover,
.agr-osaka-lp header .corp-btn--primary:hover,
.agr-osaka-lp .header-cta .corp-btn--primary:hover {
  background: var(--cta-primary-hover, var(--red-deep, #7E1914)) !important;
  border-color: var(--cta-primary-hover, var(--red-deep, #7E1914)) !important;
}
.osaka-v22-hero .btn-outline-dark {
  box-shadow: none;
}

/* Right = independent Osaka Hero media — restrained 16:9 window (not homepage video) */
.osaka-v22-hero__video {
  position: relative;
  z-index: 2;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 8px;
}
.osaka-v22-hero__video .osaka-mv,
.osaka-v22-hero__video .osaka-hero-placeholder {
  width: 100%;
  max-width: 680px;
  margin: 0;
  margin-left: auto;
}
.osaka-v22-hero__video .osaka-mv__frame,
.osaka-v22-hero__video .agr-hosted-video__frame,
.osaka-v22-hero__video .osaka-hero-placeholder__frame {
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 0;
  border: 1px solid rgba(194, 203, 211, 0.28);
  border-radius: var(--radius-md, 8px);
  background: rgba(18, 28, 38, 0.45);
  box-shadow: 0 10px 28px rgba(12, 18, 26, 0.28);
  overflow: hidden;
}
.osaka-v22-hero__video .osaka-mv--bound .osaka-mv__frame {
  background: #121c26;
}
.osaka-v22-hero__video .agr-hosted-video__player,
.osaka-v22-hero__video .agr-hosted-video__activate,
.osaka-v22-hero__video .agr-hosted-video__el {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.osaka-v22-hero__video .agr-hosted-video__activate img,
.osaka-v22-hero__video .osaka-mv__frame > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
/* Compact caption bar under the Hero video — title + exhibition note on one line.
   Same width rail as the media frame so it reads as an intentional footer, not loose text. */
.osaka-v22-hero__media-caption {
  width: 100%;
  margin: 0;
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  column-gap: 14px;
  row-gap: 2px;
  padding-top: 8px;
  border-top: 1px solid rgba(194, 203, 211, 0.22);
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--ink-dark, #F3F5F7);
  text-align: left;
}
.osaka-v22-hero__media-caption-label {
  font-weight: 600;
}
.osaka-v22-hero__media-caption-note {
  margin-left: auto;
  font-size: 0.72rem;
  color: var(--dark-text-secondary, #C2CBD3);
}

/* Governed unbound placeholder — visual only, not clickable */
.osaka-hero-placeholder {
  display: block;
}
.osaka-hero-placeholder__frame {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background:
    linear-gradient(145deg, rgba(43, 61, 79, 0.95) 0%, rgba(34, 49, 63, 0.98) 100%);
}
.osaka-hero-placeholder__play {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 2px solid rgba(243, 245, 247, 0.72);
  background: rgba(18, 28, 38, 0.35);
  position: relative;
  flex-shrink: 0;
}
.osaka-hero-placeholder__play::after {
  content: "";
  position: absolute;
  left: 22px;
  top: 17px;
  border-style: solid;
  border-width: 10px 0 10px 16px;
  border-color: transparent transparent transparent rgba(243, 245, 247, 0.9);
}
.osaka-hero-placeholder__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-align: center;
}
.osaka-hero-placeholder__title {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ink-dark, #F3F5F7);
}
.osaka-hero-placeholder__status {
  font-size: 0.82rem;
  color: var(--dark-text-secondary, #C2CBD3);
}
.osaka-hero-placeholder__ratio {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  color: rgba(194, 203, 211, 0.72);
  margin-top: 2px;
}

/* Legacy aside/event-meta kept for residual markup */
.osaka-v22-hero__aside { display: none; }
.osaka-v22-event-meta {
  background: var(--bg-dark-card, var(--steel, #31495C));
  border: 1px solid var(--dark-line, #5A7083);
  border-radius: var(--radius-md, 8px);
  padding: 20px 22px;
}

/* —— Event Information Band — shared corporate rail with Hero ——
   Compact info strip: close under Hero (subtle border, no large dead gap). */
.osaka-event-band {
  background:
    linear-gradient(
      180deg,
      var(--steel-dark, #2B3D4F) 0%,
      var(--steel, #31495C) 100%
    );
  color: var(--ink-dark, #F3F5F7);
  border-top: 1px solid rgba(194, 203, 211, 0.16);
  border-bottom: 1px solid rgba(90, 112, 131, 0.45);
  padding: clamp(28px, 3.2vh, 40px) 0;
}
.osaka-event-band__inner.container {
  width: min(var(--max-width, 1200px), calc(100% - 40px));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 0.34fr) minmax(0, 0.66fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  box-sizing: border-box;
}
.osaka-event-band__reg-note {
  grid-column: 1 / -1;
  margin: 4px 0 0;
  text-align: right;
}
.osaka-event-band__reg-link {
  font-size: 0.82rem;
  color: var(--ink-soft-dark, #C2CBD3);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.osaka-event-band__reg-link:hover {
  color: var(--ink-dark, #F3F5F7);
}
.osaka-event-band__identity {
  min-width: 0;
}
.osaka-event-band__identity .osaka-mv--logo {
  margin: 0 0 10px;
  width: fit-content;
  max-width: 100%;
}
.osaka-event-band__identity .osaka-mv--logo .osaka-mv__frame {
  background: transparent;
  border: 0;
  padding: 0;
  min-height: 0;
  max-width: none;
  width: fit-content;
  box-shadow: none;
}
.osaka-event-band__identity .osaka-mv--logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(220px, 100%);
  max-height: 56px;
  object-fit: contain;
  filter: none;
}
.osaka-event-band__title {
  margin: 0 0 8px;
  font-size: clamp(1.28rem, 2vw, 1.6rem);
  line-height: 1.3;
  font-weight: 700;
  color: var(--ink-dark, #F3F5F7);
  letter-spacing: -0.01em;
}
.osaka-event-band__lede {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--dark-text-secondary, #C2CBD3);
  max-width: 18em;
}
.osaka-event-band__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid rgba(194, 203, 211, 0.28);
  border-radius: var(--radius-md, 8px);
  overflow: hidden;
  background: rgba(18, 28, 38, 0.22);
}
.osaka-event-band__cell {
  padding: 14px 18px 16px;
  border-right: 1px solid rgba(194, 203, 211, 0.22);
  border-bottom: 1px solid rgba(194, 203, 211, 0.22);
  min-width: 0;
}
.osaka-event-band__cell:nth-child(2n) { border-right: 0; }
.osaka-event-band__cell:nth-child(n + 3) { border-bottom: 0; }
.osaka-event-band__label {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: var(--brand-on-dark, #E9A79E);
  margin-bottom: 8px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
}
.osaka-event-band__value {
  font-size: 0.98rem;
  line-height: 1.55;
  color: var(--ink-dark, #F3F5F7);
  font-weight: 500;
}

/* Light intro after Event Band — enter viewport sooner after compact Event Band */
.osaka-v22-venue-intro {
  background: var(--bg-secondary, #ECEFF2);
  padding-top: 36px;
  padding-bottom: 8px;
  border-bottom: 0;
}
.osaka-v22-venue-intro .section-title {
  margin-bottom: 10px;
}
.osaka-v22-venue-intro .section-intro {
  margin-bottom: 0;
}

/* Removed standalone hero-media bridge — video lives in Hero */
.osaka-v22-hero-media { display: none; }
.osaka-v22-hero__media {
  margin: 0;
  padding: 12px;
  border-radius: var(--radius-md, 8px);
  background: var(--bg-card, #fff);
  border: 1px solid var(--line, #D5DBE0);
  box-shadow: var(--agr-shadow-rest, 0 1px 2px rgba(34, 49, 63, 0.05));
  max-width: 920px;
}

/* —— Shared LP cards / panes —— */
.osaka-v22-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 32px;
  align-items: stretch;
}
.osaka-v22-compare--equal { align-items: stretch; }
.osaka-v22-compare__pane {
  background: var(--bg-card, #fff);
  border: 1px solid var(--line, #D5DBE0);
  border-radius: var(--radius-md, 8px);
  padding: 24px;
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
  box-shadow: var(--agr-shadow-rest, 0 1px 2px rgba(34, 49, 63, 0.05));
}
.osaka-v22-compare__pane--accent {
  border-color: rgba(26, 95, 168, 0.28);
  box-shadow: inset 3px 0 0 var(--accent-blue, #1A5FA8);
}
.osaka-v22-compare__label {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  color: var(--graphite, #22313F);
  margin-bottom: 8px;
  font-weight: 700;
  font-family: "JetBrains Mono", ui-monospace, monospace;
}
.osaka-v22-compare__pane h3 {
  margin: 0 0 14px;
  font-size: 1.1rem;
  color: var(--text-primary);
}
.osaka-v22-compare__pane p,
.osaka-v22-compare__pane ul {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.75;
  font-size: 0.95rem;
}
.osaka-v22-compare__pane ul { padding-left: 1.1rem; flex: 1; }

.osaka-v22-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 36px;
  align-items: stretch;
}
.osaka-v22-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#osaka-values .osaka-v22-cards--3 {
  counter-reset: osaka-val;
}
#osaka-values .osaka-v22-card {
  counter-increment: osaka-val;
  padding-top: 28px;
}
#osaka-values .osaka-v22-card::before {
  content: counter(osaka-val, decimal-leading-zero);
  display: block;
  font-family: "Barlow Condensed", "Noto Sans JP", sans-serif;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: var(--graphite, #22313F);
  margin-bottom: 8px;
}
.osaka-v22-card {
  background: var(--bg-card, #fff);
  border: 1px solid var(--line, #D5DBE0);
  border-radius: var(--radius-md, 8px);
  padding: 22px 22px 20px;
  height: 100%;
  box-sizing: border-box;
  box-shadow: var(--agr-shadow-rest, 0 1px 2px rgba(34, 49, 63, 0.05));
}
.osaka-v22-card h3 {
  font-size: 1.05rem;
  margin: 0 0 10px;
  line-height: 1.4;
  color: var(--text-primary);
}
.osaka-v22-card p {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.7;
  font-size: 0.95rem;
}
.osaka-v22-card--primary {
  border-color: rgba(34, 49, 63, 0.22);
  background: var(--bg-card, #fff);
  box-shadow: inset 3px 0 0 var(--graphite, #22313F);
}
.osaka-v22-card__label {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  color: var(--graphite, #22313F);
  margin-bottom: 8px;
  font-weight: 700;
  font-family: "Barlow Condensed", "Noto Sans JP", sans-serif;
}

.osaka-v22-vision {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 32px;
}
.osaka-v22-vision__media {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}
.osaka-v22-process {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
}
.osaka-v22-process__step {
  background: var(--bg-card, #fff);
  border: 1px solid var(--line, #D5DBE0);
  border-radius: var(--radius-md, 8px);
  padding: 16px;
  font-size: 0.92rem;
  line-height: 1.55;
}
.osaka-v22-process__num {
  display: block;
  color: var(--graphite, #22313F);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  margin-bottom: 6px;
  font-weight: 700;
}

.osaka-v22-specs {
  margin-top: 24px;
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.osaka-v22-specs th,
.osaka-v22-specs td {
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line, #D5DBE0);
}
.osaka-v22-specs th {
  color: var(--text-muted);
  font-weight: 500;
  width: 42%;
}

.osaka-v22-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
  align-items: stretch;
}
.osaka-v22-steps--flow,
.osaka-v22-steps--2x2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.osaka-v22-step {
  background: var(--bg-card, #fff);
  border: 1px solid var(--line, #D5DBE0);
  border-radius: var(--radius-md, 8px);
  padding: 16px;
  height: 100%;
  box-sizing: border-box;
}
.osaka-v22-step__num {
  color: var(--graphite, #22313F);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  margin-bottom: 6px;
  font-weight: 700;
}
.osaka-v22-step h3 { margin: 0 0 8px; font-size: 1rem; }
.osaka-v22-step p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.9rem;
  line-height: 1.6;
}
.osaka-v22-role {
  display: inline-block;
  margin-top: 10px;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  padding: 3px 8px;
  border-radius: var(--radius-badge, 4px);
  border: 1px solid var(--line, #D5DBE0);
  color: var(--text-muted);
}
.osaka-v22-role--auto {
  border-color: rgba(26, 95, 168, 0.35);
  color: var(--accent-blue, #1A5FA8);
}

.osaka-v22-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 28px;
}
.osaka-v22-split__pane {
  background: var(--bg-card, #fff);
  border: 1px solid var(--line, #D5DBE0);
  border-radius: var(--radius-md, 8px);
  padding: 22px;
}
.osaka-v22-split__pane h3 { margin: 0 0 12px; font-size: 1.05rem; }
.osaka-v22-split__pane ul {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--text-secondary);
  line-height: 1.75;
}

.osaka-v22-secondary {
  border-top: 1px solid var(--line, #D5DBE0);
  background: var(--bg-tertiary, #F1F3F5);
  padding-top: 56px;
  padding-bottom: 56px;
}
.osaka-v22-secondary .section-title {
  max-width: 28em;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
}
.osaka-v22-secondary .section-intro { font-size: 0.95rem; }
.osaka-v22-secondary .osaka-demo-flow__step {
  padding: 12px 10px 14px;
}
.osaka-v22-secondary .osaka-demo-flow__step h3 { font-size: 0.85rem; }
.osaka-v22-secondary .osaka-mv__frame { max-height: 320px; }
.osaka-v22-secondary__note {
  margin-top: 20px;
  font-size: 0.9rem;
  color: var(--text-muted);
  line-height: 1.65;
}

/* FAQ — site details language, brand red not gold on open */
.osaka-v22-faq details {
  background: var(--bg-card, #fff);
  border: 1px solid var(--line, #D5DBE0);
  border-radius: var(--radius-md, 8px);
  padding: 14px 18px;
  margin-bottom: 10px;
}
.osaka-v22-faq details[open] {
  border-color: rgba(163, 33, 27, 0.28);
}
.osaka-v22-faq summary {
  cursor: pointer;
  font-weight: 600;
  list-style: none;
  color: var(--text-primary);
  min-height: 44px;
  display: flex;
  align-items: center;
}
.osaka-v22-faq summary::-webkit-details-marker { display: none; }
.osaka-v22-faq details p {
  margin: 12px 0 4px;
  color: var(--text-secondary);
  line-height: 1.7;
}

.osaka-v22-prep {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 28px;
}
.osaka-v22-notice {
  margin-top: 24px;
  padding: 18px 20px;
  border-left: 3px solid var(--graphite, #22313F);
  background: var(--bg-secondary, #ECEFF2);
  border-radius: 0 var(--radius-sm, 6px) var(--radius-sm, 6px) 0;
}
.osaka-v22-notice strong { display: block; margin-bottom: 6px; }

.osaka-v22-trust {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin: 0;
}
.osaka-v22-media-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}
.osaka-v22-media-row--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.osaka-v22-system-media {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  max-width: 920px;
}
.osaka-v22-media-stack,
.osaka-v22-cutting-media { display: grid; gap: 12px; }

/* —— Media placeholders (restrained light system) —— */
.osaka-mv { margin: 0; position: relative; }
.osaka-mv__frame {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md, 8px);
  background: var(--bg-tertiary, #F1F3F5);
  border: 1px solid var(--line, #D5DBE0);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.osaka-mv--16x9 .osaka-mv__frame { aspect-ratio: 16 / 9; }
.osaka-mv--4x3 .osaka-mv__frame { aspect-ratio: 4 / 3; }
.osaka-mv--square .osaka-mv__frame { aspect-ratio: 1 / 1; }
.osaka-mv--cert .osaka-mv__frame {
  aspect-ratio: 4 / 3;
  max-height: 160px;
}
.osaka-mv--thumb .osaka-mv__frame {
  aspect-ratio: 4 / 3;
  max-height: none;
  min-height: 120px;
}
.osaka-mv--unbound .osaka-mv__frame {
  border-style: dashed;
  background: var(--bg-secondary, #ECEFF2);
}
.osaka-mv--owner .osaka-mv__frame {
  background: rgba(26, 95, 168, 0.06);
  border-color: rgba(26, 95, 168, 0.28);
  border-style: dashed;
}
.osaka-mv--bound .osaka-mv__frame {
  border-style: solid;
  background: var(--bg-tertiary, #F1F3F5);
}
.osaka-mv--bound .osaka-mv__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.osaka-mv--logo { margin: 0 0 14px; }
.osaka-mv--logo .osaka-mv__frame {
  border: 0;
  background: transparent;
  aspect-ratio: auto;
  max-width: 214px;
  min-height: 48px;
  justify-content: flex-start;
}
.osaka-mv--logo.osaka-mv--unbound .osaka-mv__frame {
  border: 1px dashed var(--line, #D5DBE0);
  padding: 8px 12px;
  max-width: 220px;
}
.osaka-mv--logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
}
.osaka-mv--video .osaka-mv__frame,
.osaka-mv--video .agr-hosted-video__frame {
  aspect-ratio: 16 / 9;
  display: block;
}
.osaka-mv--video .agr-hosted-video__player,
.osaka-mv--video .agr-hosted-video__activate {
  width: 100%;
  height: 100%;
}
.osaka-mv__status {
  color: var(--text-muted, #5F6F7C);
  font-size: 0.92rem;
  letter-spacing: 0.04em;
  text-align: center;
  padding: 12px;
}
.osaka-mv__badge--id {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 6;
  padding: 4px 8px;
  border-radius: var(--radius-badge, 4px);
  background: var(--graphite, #22313F);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.04em;
  pointer-events: none;
}
.osaka-mv__brief,
.osaka-mv__owner {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: flex;
  flex-direction: column;
  padding: 36px 14px 12px;
  pointer-events: none;
  box-sizing: border-box;
}
.osaka-mv__brief-body,
.osaka-mv__owner-body {
  margin-top: auto;
  color: var(--text-primary, #22313F);
  text-shadow: none;
}
.osaka-mv__brief-title,
.osaka-mv__owner-title {
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 6px;
}
.osaka-mv__brief-lines,
.osaka-mv__owner-lines {
  margin: 0 0 8px;
  padding-left: 1.1rem;
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--text-secondary, #5F6F7C);
}
.osaka-mv__brief-ratio,
.osaka-mv__owner-ratio,
.osaka-mv__brief-status {
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  color: var(--text-muted, #5F6F7C);
}
.osaka-mv__brief-status { margin-top: 6px; }
.osaka-mv--unbound.osaka-mv--brief .osaka-mv__frame {
  background: var(--bg-secondary, #ECEFF2);
  border-color: var(--line, #D5DBE0);
  align-items: stretch;
  justify-content: stretch;
}
.osaka-mv--thumb.osaka-mv--unbound .osaka-mv__brief { padding: 28px 8px 8px; }
.osaka-mv--thumb.osaka-mv--unbound .osaka-mv__brief-title { font-size: 0.78rem; }
.osaka-mv--thumb.osaka-mv--unbound .osaka-mv__brief-lines { font-size: 0.68rem; }
.osaka-mv--cert.osaka-mv--unbound .osaka-mv__brief { padding: 30px 10px 10px; }
.osaka-mv--cert.osaka-mv--unbound .osaka-mv__frame {
  max-height: none;
  min-height: 140px;
}
.osaka-mv__poster-empty {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--bg-tertiary, #F1F3F5);
}
.osaka-mv-group,
.osaka-mv-gallery { display: grid; gap: 12px; }
.osaka-mv-group { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.osaka-mv-gallery {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 4px;
}
.osaka-mv-weld {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(100px, 28%);
  gap: 10px;
  align-items: end;
}
.osaka-mv-weld__sub .osaka-mv__frame { max-height: 140px; }

.osaka-v22 .section-intro {
  max-width: 44rem;
  color: var(--text-secondary);
  line-height: 1.75;
  margin: 0 0 8px;
}
.osaka-v22 .section-note {
  font-size: 0.9rem;
  color: var(--text-muted);
  margin-top: 16px;
  line-height: 1.65;
}

/* Answer section mild treatment */
#osaka-answer.section-alt {
  background: var(--bg-secondary, #ECEFF2);
}
#osaka-answer .section-title {
  border-left: 3px solid var(--graphite, #22313F);
  padding-left: 14px;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  max-width: 22em;
  line-height: 1.35;
}

/* —— Demo industrial timeline —— */
.osaka-v5-pain { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.osaka-v5-pain__summary {
  grid-column: 1 / -1;
  width: 100%;
  background: var(--bg-secondary, #ECEFF2);
  border-color: rgba(26, 95, 168, 0.22);
  box-shadow:
    inset 3px 0 0 var(--accent-blue, #1A5FA8),
    var(--agr-shadow-rest, 0 1px 2px rgba(34, 49, 63, 0.05));
}
.osaka-v5-closing {
  margin: 28px 0 0;
  max-width: 44rem;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.7;
  color: var(--text-primary, #22313F);
}
.osaka-demo-flow {
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 10px;
}
.osaka-demo-flow--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.osaka-demo-flow__step {
  margin: 0;
  padding: 14px 12px 16px;
  border: 1px solid var(--line, #D5DBE0);
  border-radius: var(--radius-md, 8px);
  background: var(--bg-card, #fff);
  min-width: 0;
  box-shadow: var(--agr-shadow-rest, 0 1px 2px rgba(34, 49, 63, 0.05));
}
/* SYSTEM = metallic blue-gray family */
.osaka-demo-flow__step[data-role="SYSTEM"] {
  background: var(--bg-tertiary, #F1F3F5);
  border-color: rgba(34, 49, 63, 0.14);
}
/* OPERATOR = neutral alternate */
.osaka-demo-flow__step--operator {
  background: var(--bg-secondary, #ECEFF2);
  border-color: rgba(26, 95, 168, 0.22);
}
.osaka-demo-flow__step--select {
  box-shadow:
    inset 3px 0 0 var(--accent-blue, #1A5FA8),
    var(--agr-shadow-rest, 0 1px 2px rgba(34, 49, 63, 0.05));
  border-color: rgba(26, 95, 168, 0.35);
  background: #fff;
}
.osaka-demo-flow__role {
  display: block;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  color: var(--text-muted, #5F6F7C);
  margin-bottom: 8px;
}
.osaka-demo-flow__step--operator .osaka-demo-flow__role {
  color: var(--accent-blue, #1A5FA8);
  font-weight: 600;
}
.osaka-demo-flow__step[data-role="SYSTEM"] .osaka-demo-flow__role {
  color: var(--graphite, #22313F);
  font-weight: 600;
}
.osaka-demo-flow__num {
  display: block;
  font-family: "Barlow Condensed", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--graphite, #22313F);
  margin-bottom: 6px;
}
.osaka-demo-flow__step h3 {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.45;
  font-weight: 700;
}

/* Demo disclaimer — engineering note, not warning */
.osaka-demo-disclaimer {
  margin-top: 20px;
  padding: 14px 16px;
  font-size: 0.95rem;
  line-height: 1.7;
  background: var(--bg-secondary, #ECEFF2);
  border: 1px solid var(--line, #D5DBE0);
  border-left: 3px solid var(--accent-blue, #1A5FA8);
  border-radius: 0 var(--radius-sm, 6px) var(--radius-sm, 6px) 0;
  color: var(--text-secondary, #5F6F7C);
}

.osaka-fit-list {
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.osaka-fit-list li {
  position: relative;
  padding: 14px 16px 14px 42px;
  border: 1px solid var(--line, #D5DBE0);
  border-radius: var(--radius-md, 8px);
  background: var(--bg-card, #fff);
  line-height: 1.55;
}
.osaka-fit-list li::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  width: 14px;
  height: 14px;
  margin-top: -7px;
  border: 2px solid var(--graphite, #22313F);
  border-radius: 3px;
}

/* Final conversion — light consultation section (AGR form + organizer secondary) */
#osaka-consultation {
  scroll-margin-top: calc(var(--header-h, 92px) + 16px);
}
.osaka-consultation-section {
  background: var(--bg-secondary, #ECEFF2);
  padding: clamp(56px, 8vh, 96px) 0;
  color: var(--ink, #1A242E);
}
.osaka-consultation-inner {
  width: min(var(--max-width, 1200px), calc(100% - 40px));
  margin-inline: auto;
}
.osaka-consultation-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(28px, 4vw, 48px);
  align-items: start;
}
.osaka-consultation-copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.55rem, 2.4vw, 2.1rem);
  line-height: 1.35;
  letter-spacing: -0.01em;
}
.osaka-consultation-copy h2 em {
  font-style: normal;
  color: var(--graphite, #22313F);
}
.osaka-consultation-copy > p {
  margin: 0 0 12px;
  line-height: 1.75;
  color: var(--text-muted, #5F6F7C);
}
.osaka-consultation-note {
  font-size: 0.92rem;
}
.osaka-consultation-copy .osaka-cta-prep {
  margin: 18px 0 22px;
  padding: 14px 16px;
  border: 1px solid var(--line, #D5DBE0);
  border-radius: var(--radius-md, 8px);
  background: #fff;
}
.osaka-consultation-copy .osaka-cta-prep p { margin: 0 0 8px; font-size: 0.9rem; }
.osaka-consultation-copy .osaka-cta-prep ul {
  margin: 0;
  padding-left: 1.15rem;
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--text-muted, #5F6F7C);
}
.osaka-consultation-trust {
  display: grid;
  gap: 10px;
}
.osaka-consultation-trust .osaka-v22-card {
  background: #fff;
  border: 1px solid var(--line, #D5DBE0);
  border-radius: var(--radius-md, 8px);
  padding: 14px 16px;
  box-shadow: none;
}
.osaka-consultation-trust .osaka-v22-card h3 {
  margin: 0 0 6px;
  font-size: 0.95rem;
  color: var(--ink, #1A242E);
}
.osaka-consultation-trust .osaka-v22-card p {
  margin: 0;
  font-size: 0.88rem;
  color: var(--text-muted, #5F6F7C);
  line-height: 1.55;
}
.osaka-consultation-form-wrap {
  background: #fff;
  border: 1px solid var(--line, #D5DBE0);
  border-radius: var(--radius-md, 8px);
  padding: clamp(20px, 3vw, 28px);
}
.osaka-consultation-form .form-field {
  margin-bottom: 14px;
}
.osaka-consultation-form label,
.osaka-consultation-form legend {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--ink, #1A242E);
}
.osaka-consultation-form .req { color: var(--brand, #A3211B); }
.osaka-consultation-form input[type="text"],
.osaka-consultation-form input[type="email"],
.osaka-consultation-form input[type="tel"],
.osaka-consultation-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 11px 12px;
  border: 1px solid var(--line, #D5DBE0);
  border-radius: 6px;
  font: inherit;
  background: #fff;
  color: var(--ink, #1A242E);
}
.osaka-consultation-form input:focus-visible,
.osaka-consultation-form textarea:focus-visible {
  outline: 2px solid var(--osaka-campaign-cta, #315E7A);
  outline-offset: 1px;
}
.osaka-consultation-form .form-error {
  border-color: #B91C1C;
}
.osaka-consultation-form .error-text {
  margin: 6px 0 0;
  color: #991B1B;
  font-size: 0.82rem;
}
.osaka-radio,
.osaka-check {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 8px 0;
  font-weight: 500;
  cursor: pointer;
}
.osaka-radio input,
.osaka-check input {
  margin-top: 3px;
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}
.osaka-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.osaka-form-success {
  margin-bottom: 18px;
  padding: 18px 18px 16px;
  border: 1px solid #86EFAC;
  background: #F0FDF4;
  color: #166534;
  border-radius: 6px;
}
.osaka-form-success__mark {
  margin: 0 0 8px;
  font-size: 1.35rem;
  font-weight: 700;
  color: #15803D;
}
.osaka-form-success__title {
  margin: 0 0 10px;
  font-size: 1.15rem;
  line-height: 1.45;
  color: #14532D;
}
.osaka-form-success p { margin: 0 0 10px; line-height: 1.65; }
.osaka-form-success p:last-child { margin-bottom: 0; }
.osaka-form-success__reg {
  margin: 16px 0;
  padding: 14px 14px 16px;
  border: 1px solid rgba(22, 101, 52, 0.22);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.65);
}
.osaka-form-success__reg h4 {
  margin: 0 0 8px;
  font-size: 1rem;
  color: #14532D;
}
.osaka-form-success__reg p {
  margin: 0 0 14px;
  font-size: 0.9rem;
  color: #166534;
}
.osaka-form-success__countdown {
  margin: 14px 0 8px;
  font-size: 0.92rem;
  font-weight: 600;
  color: #14532D;
}
.osaka-form-success__home {
  margin: 0;
  font-size: 0.88rem;
}
.osaka-form-success__home a {
  color: #166534;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 500;
}
.osaka-form-error {
  margin-bottom: 14px;
  padding: 12px 14px;
  border: 1px solid #FECACA;
  background: #FEF2F2;
  color: #991B1B;
  border-radius: 6px;
}
.osaka-organizer-reg {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line, #D5DBE0);
}
.osaka-organizer-reg h3 {
  margin: 0 0 8px;
  font-size: 1rem;
  color: var(--ink, #1A242E);
}
.osaka-organizer-reg p {
  margin: 0 0 14px;
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--text-muted, #5F6F7C);
}
.osaka-organizer-reg__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 6px;
  row-gap: 2px;
  text-align: center;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid var(--graphite, #22313F);
  border-radius: var(--radius-md, 8px);
  background: transparent;
  color: var(--graphite, #22313F);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
}
.osaka-organizer-reg__btn:hover {
  background: rgba(34, 49, 63, 0.06);
}
.osaka-organizer-reg__btn:focus-visible {
  outline: 2px solid var(--graphite, #22313F);
  outline-offset: 2px;
}

@media (max-width: 900px) {
  .osaka-consultation-layout {
    grid-template-columns: 1fr;
  }
  .osaka-event-band__reg-note {
    text-align: left;
  }
}
@media (max-width: 480px) {
  .agr-osaka-lp .osaka-campaign-cta {
    width: 100%;
  }
  .osaka-consultation-form-wrap {
    padding: 16px;
  }
}

/* Legacy dark CTA band (kept for any residual class use; form section supersedes) */
.cta-section-dark .osaka-cta-secondary {
  margin: 18px 0 0;
  font-size: 0.92rem;
  line-height: 1.7;
  color: var(--dark-text-secondary, #C2CBD3);
}
.cta-section-dark .osaka-cta-secondary a {
  color: var(--ink-dark, #F3F5F7);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.cta-section-dark .osaka-cta-prep {
  margin-top: 22px;
  padding: 16px 18px;
  border: 1px solid var(--dark-line, #5A7083);
  border-radius: var(--radius-md, 8px);
  background: rgba(255, 255, 255, 0.04);
  color: var(--dark-text-secondary, #C2CBD3);
}
.cta-section-dark .osaka-cta-prep p { margin: 0 0 10px; font-size: 0.9rem; }
.cta-section-dark .osaka-cta-prep ul {
  margin: 0;
  padding-left: 1.15rem;
  font-size: 0.9rem;
  line-height: 1.65;
}
.cta-section-dark .section-label {
  color: var(--red-on-dark, #E9A79E);
}
.cta-section-dark .section-label::before {
  background: var(--red-on-dark, #E9A79E);
}
.cta-section-dark .osaka-v22-card {
  background: var(--bg-dark-card, #31495C);
  border-color: var(--dark-line, #5A7083);
  color: var(--ink-dark, #F3F5F7);
  box-shadow: none;
}
.cta-section-dark .osaka-v22-card h3 { color: var(--ink-dark, #F3F5F7); }
.cta-section-dark .osaka-v22-card p { color: var(--ink-soft-dark, #C2CBD3); }


/* Evidence badges (same Japanese labels; distinct visual weight) */
.osaka-evidence-live,
.osaka-evidence-ref {
  display: inline-block;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: var(--radius-badge, 4px);
  margin-bottom: 10px;
  font-family: "Barlow Condensed", "Noto Sans JP", sans-serif;
}
.osaka-evidence-live {
  background: rgba(34, 49, 63, 0.08);
  color: var(--graphite, #22313F);
  border: 1px solid rgba(34, 49, 63, 0.18);
}
.osaka-evidence-ref {
  background: var(--bg-secondary, #ECEFF2);
  color: var(--text-muted, #5F6F7C);
  border: 1px solid var(--line, #D5DBE0);
  font-weight: 600;
}

@media (max-width: 768px) {
  .osaka-mv--16x9 .osaka-mv__frame { aspect-ratio: 16 / 9; }
  .osaka-mv-weld { grid-template-columns: 1fr; }
  .osaka-mv__brief,
  .osaka-mv__owner { padding: 32px 10px 10px; }
  .osaka-mv__brief-title,
  .osaka-mv__owner-title { font-size: 0.85rem; }
  .osaka-mv__brief-lines,
  .osaka-mv__owner-lines { font-size: 0.72rem; }
}

@media (max-width: 1024px) {
  .osaka-v22-hero {
    min-height: 0;
  }
  .osaka-v22-hero__grid,
  .osaka-v22-vision,
  .osaka-v22-split,
  .osaka-v22-system-media,
  .osaka-event-band__inner.container {
    grid-template-columns: 1fr;
  }
  .osaka-v22-hero__grid {
    gap: 24px;
    padding: 32px 0 24px;
    align-items: start;
  }
  .osaka-v22-hero__copy {
    max-width: none;
  }
  .osaka-v22-hero__video {
    align-items: stretch;
  }
  .osaka-v22-hero__video .osaka-mv,
  .osaka-v22-hero__video .osaka-hero-placeholder,
  .osaka-v22-hero__media-caption {
    width: 100%;
    max-width: none;
    margin-left: 0;
  }
  .osaka-event-band__inner.container {
    gap: 28px;
  }
  .osaka-v22-cards--3,
  .osaka-v22-process,
  .osaka-v22-steps,
  .osaka-v22-steps--2x2,
  .osaka-v22-prep,
  .osaka-v22-trust,
  .osaka-v22-media-row--3,
  .osaka-v5-pain {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .osaka-demo-flow,
  .osaka-demo-flow--6 {
    grid-template-columns: 1fr;
  }
  .osaka-demo-flow__step {
    display: grid;
    grid-template-columns: auto auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 12px;
    align-items: start;
    padding: 14px 16px;
  }
  .osaka-demo-flow__role {
    grid-column: 1 / -1;
    margin-bottom: 6px;
  }
  .osaka-demo-flow__num { margin: 0; }
  .osaka-demo-flow__step h3 {
    margin: 0;
    align-self: center;
  }
}

@media (max-width: 768px) {
  .osaka-v22-hero {
    min-height: 0;
  }
  .osaka-v22-hero__grid {
    padding: 28px 0 20px;
  }
  .osaka-v22-hero__copy h1 {
    max-width: none;
    font-size: clamp(1.55rem, 7vw, 1.95rem);
  }
  .osaka-v22-hero__body {
    max-width: none;
    font-size: 0.94rem;
  }
  .osaka-event-band {
    padding: 24px 0;
  }
  .osaka-event-band__title {
    font-size: 1.35rem;
  }
  .osaka-event-band__identity .osaka-mv--logo img {
    max-width: min(180px, 100%);
    max-height: 48px;
  }
  .osaka-event-band__grid {
    grid-template-columns: 1fr 1fr;
  }
  .osaka-event-band__cell {
    padding: 14px 14px 16px;
  }
  .osaka-event-band__value {
    font-size: 0.9rem;
  }
  .osaka-v22-venue-intro {
    padding-top: 28px;
  }
  .osaka-v22-compare,
  .osaka-v22-cards,
  .osaka-v22-cards--3,
  .osaka-v22-process,
  .osaka-v22-steps,
  .osaka-v22-steps--2x2,
  .osaka-v22-prep,
  .osaka-v22-trust,
  .osaka-v22-media-row,
  .osaka-v22-media-row--3,
  .osaka-mv-group,
  .osaka-mv-gallery,
  .osaka-v5-pain {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {
  .osaka-event-band__grid {
    grid-template-columns: 1fr;
  }
  .osaka-event-band__cell {
    border-right: 0;
    border-bottom: 1px solid rgba(194, 203, 211, 0.22);
  }
  .osaka-event-band__cell:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 390px) {
  .osaka-v22-hero__grid { padding: 24px 0 18px; }
  .osaka-event-band { padding: 22px 0; }
  .osaka-mv--cert .osaka-mv__frame { max-height: 140px; }
}

/* Osaka bevel shared video: enforce native 16:9 without stretching. */
.osaka-bevel-media-grid .osaka-mv--video .osaka-mv__frame {
  width: 100%;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 16 / 9 !important;
}
.osaka-bevel-media-grid .agr-hosted-video__player,
.osaka-bevel-media-grid .agr-hosted-video__activate,
.osaka-bevel-media-grid .agr-hosted-video__el {
  width: 100%;
  height: 100%;
}
.osaka-bevel-media-grid .agr-hosted-video__el {
  object-fit: contain;
  background: #000;
}

/* Desktop-only Hero presentation refinement:
   raise the video so its top lands near the headline block instead of floating
   vertically centered against the taller copy column. ≤1024 stacking is untouched. */
@media (min-width: 1025px) {
  .osaka-v22-hero__video {
    margin-top: clamp(24px, 3.4vh, 38px);
  }
}
