/* Visual-first business page; shared styles and other pages stay unchanged. */
body.biz-refresh,
body.biz-refresh *,
body.biz-refresh *::before,
body.biz-refresh *::after {
  letter-spacing: 0 !important;
}

body.biz-refresh main [id] { scroll-margin-top: 112px !important; }

/* Keep the shared Live2D/business hero geometry; only remove text backplates. */
body.biz-refresh .biz-hero-copy,
body.biz-refresh .biz-hero-copy :is(h1, h1 *, p, ul, li) {
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
  backdrop-filter: none !important;
}

body.biz-refresh .biz-hero-status {
  --biz-surface-text: #fff;
}

.biz-motion-toggle {
  position: absolute;
  z-index: 8;
  top: 96px;
  right: 24px;
  display: grid;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: #07152d;
  cursor: pointer;
}

.biz-motion-toggle[hidden] { display: none; }
.biz-motion-toggle svg { width: 18px; height: 18px; }

body.biz-refresh .biz-section-links {
  --biz-surface-text: #fff;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: #153c35;
}

.biz-section-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 76px;
  gap: 12px;
  padding: 16px;
  border-inline-end: 1px solid #657c72;
  font-size: 1rem;
  line-height: 1.6;
  text-decoration: none;
}

.biz-section-links a:last-child { border: 0; }
.biz-section-links a:hover { text-decoration: underline; text-underline-offset: 5px; }
.biz-section-links svg { flex-shrink: 0; width: 22px; height: 22px; }

body.biz-refresh :is(.biz-creation, .biz-usecases, .biz-plans, .biz-faq) {
  --biz-surface-text: #16181d;
  padding: 80px 0;
  background: #fff !important;
}

body.biz-refresh .biz-ai-intro {
  --biz-surface-text: #fff;
  padding: 80px 0;
  background: #153c35;
}

body.biz-refresh .biz-simple-process {
  --biz-surface-text: #fff;
  padding: 64px 0;
  background: #07152d;
}

body.biz-refresh .sw-section-head {
  margin-bottom: 36px;
}

body.biz-refresh :is(.sw-section-head h2, .sw-contact-copy h2) {
  font-size: 2.5rem !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere;
}

body.biz-refresh .sw-section-head > p {
  font-size: 1rem !important;
  line-height: 1.9 !important;
}

body.biz-refresh .sw-kicker {
  font-size: .875rem !important;
}

body.biz-refresh .biz-model-video-copy > span { font-size: .75rem; }
body.biz-refresh .biz-model-video-copy h3 { font-size: 1.25rem; line-height: 1.6; }
body.biz-refresh .biz-model-video-copy a { min-height: 44px; font-size: .875rem; }

.biz-illustrated-row {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  align-items: center;
  gap: 48px;
}

body.biz-refresh .biz-clean-art {
  min-width: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.biz-refresh .biz-clean-art img,
body.biz-refresh .biz-visual-uses img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  border-radius: 0;
}

.biz-clean-art figcaption {
  color: var(--biz-surface-text) !important;
  margin-top: 12px;
  font-size: .75rem;
  line-height: 1.7;
}

.biz-feature-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.biz-feature-list li {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 16px;
  padding: 24px 0;
  border-top: 1px solid #b2b8b5;
}

.biz-feature-list li > span { font-size: .875rem; line-height: 2.2; }
.biz-feature-list h3 { margin: 0 0 12px; font-size: 1.25rem; line-height: 1.6; }
.biz-feature-list p { margin: 0; font-size: 1rem; line-height: 1.9; }

.biz-ai-scene { position: relative; }

body.biz-refresh .biz-ai-scene-copy {
  --biz-surface-text: #14213a;
  position: absolute;
  top: 48%;
  left: 7%;
  width: 23%;
  transform: translateY(-50%);
}

.biz-ai-scene-copy h3 {
  margin: 0 0 20px;
  font-family: var(--wish-serif);
  font-size: 1.75rem;
  line-height: 1.6;
}

.biz-ai-scene-copy p { margin: 0; font-size: 1.125rem; line-height: 1.9; }

body.biz-refresh .biz-ai-demo { margin-top: 36px; }

.biz-ai-demo video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: #07152d;
}

.biz-response-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  margin: 40px 0 32px;
  padding: 0;
  list-style: none;
}

.biz-response-steps li {
  display: grid;
  min-width: 0;
  gap: 12px;
  padding-top: 24px;
  border-top: 1px solid #718a80;
}

.biz-response-steps svg { width: 28px; height: 28px; }
.biz-response-steps strong { font-size: 1.25rem; line-height: 1.6; }
.biz-response-steps span { font-size: 1rem; line-height: 1.8; }
.biz-response-steps .biz-step-number { font-size: .875rem; }

.biz-partner-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 40px;
  padding-top: 24px;
  border-top: 1px solid #718a80;
}

.biz-partner-line p { flex: 1 1 500px; margin: 0; font-size: 1rem; line-height: 1.9; }

body.biz-refresh .biz-plain-note {
  margin: 24px 0 0;
  font-size: .875rem;
  line-height: 1.9;
}

.biz-plain-note a { text-decoration: underline; text-underline-offset: 4px; }
.biz-plain-note svg { display: inline; width: 16px; height: 16px; vertical-align: middle; }

.biz-visual-uses {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 40px;
}

.biz-visual-uses article { min-width: 0; }
.biz-visual-uses h3 { display: flex; align-items: center; gap: 10px; margin: 20px 0 10px; font-size: 1.125rem; line-height: 1.6; }
.biz-visual-uses svg { flex-shrink: 0; width: 22px; height: 22px; }
.biz-visual-uses p { margin: 0; font-size: 1rem; line-height: 1.9; }
.biz-audience-line { margin: 32px 0 0; padding-top: 24px; border-top: 1px solid #b2b8b5; font-size: 1rem; line-height: 1.9; }

body.biz-refresh .biz-plans { border-top: 1px solid #c6cbc8; }
body.biz-refresh .biz-plan h3 { font-size: 1.375rem !important; line-height: 1.6; }
body.biz-refresh .biz-plan-price { font-size: 1.875rem !important; overflow-wrap: anywhere; }
body.biz-refresh .biz-plan-price small { font-size: .875rem !important; }
body.biz-refresh .biz-plan li { font-size: 1rem !important; line-height: 1.9; }
body.biz-refresh .biz-plan-label { font-size: .875rem !important; }
body.biz-refresh .sw-button { height: auto !important; min-height: 48px; white-space: normal !important; font-size: 1rem !important; line-height: 1.6; }
body.biz-refresh .sw-button svg { flex-shrink: 0; }
.biz-team-note { margin: 0; max-width: 880px; font-size: 1rem; line-height: 1.9; }
body.biz-refresh .biz-faq summary { font-size: 1rem; line-height: 1.8; }
body.biz-refresh .biz-faq details p { font-size: 1rem; line-height: 1.9; }
body.biz-refresh :is(.sw-contact-copy p, .sw-contact-points li, .sw-form label, .sw-form input, .sw-form select, .sw-form textarea) { font-size: 1rem !important; }

@media (max-width: 900px) {
  .biz-section-links { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .biz-section-links a { justify-content: flex-start; min-height: 68px; }
  .biz-section-links a:nth-child(2) { border-right: 0; }
  .biz-section-links a:nth-child(-n+2) { border-bottom: 1px solid #657c72; }
  .biz-illustrated-row { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .biz-feature-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .biz-feature-list li { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .biz-visual-uses { gap: 18px; }
  .biz-visual-uses h3 { align-items: flex-start; }
}

@media (max-width: 900px) {
  .biz-ai-scene { display: flex; flex-direction: column; }
  body.biz-refresh .biz-ai-scene-copy { --biz-surface-text: #fff; position: static; order: -1; width: 100%; margin-bottom: 24px; transform: none; }
  .biz-ai-scene-copy h3 { font-size: 1.5rem; margin-bottom: 8px; }
  .biz-ai-scene-copy br { display: none; }
  .biz-ai-scene-copy p { font-size: 1rem; }
}

@media (max-width: 640px) {
  .biz-motion-toggle { right: 16px; }
  .biz-section-links a { gap: 8px; padding: 12px; font-size: .875rem; }
  body.biz-refresh :is(.biz-creation, .biz-ai-intro, .biz-usecases, .biz-plans, .biz-faq, .biz-simple-process) { padding: 52px 0; }
  body.biz-refresh :is(.sw-section-head h2, .sw-contact-copy h2) { font-size: 1.875rem !important; }
  .biz-feature-list, .biz-response-steps, .biz-visual-uses { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .biz-feature-list li { grid-template-columns: 32px minmax(0, 1fr); gap: 12px; }
  .biz-response-steps li { grid-template-columns: 32px minmax(0, 1fr); gap: 8px 16px; }
  .biz-response-steps li > :last-child { grid-column: 2; }
  .biz-visual-uses { gap: 36px; }
}
