[data-sp-embed]{
  --ink: #000000;
  --muted: #3c4043;
  --paper: #f3f1ee;
  --white: #ffffff;
  --line: rgba(0, 0, 0, 0.08);
  --dark: #000000;
  --accent-red: #dc2626;
  --shadow: 0 22px 50px rgba(0, 0, 0, 0.08);
  --tracking-display: -0.03em;
  --tracking-body: 0;
  --leading-display: 1.3;
  --leading-heading: 1.42;
  --leading-body: 1.78;
  --leading-caption: 1.55;
  --bg-hero: #ffffff;
  --bg-section: linear-gradient(180deg, #ffffff 0%, #f7f6f4 60%, #f3f1ee 100%);
  --font-sans: "Inter", Roboto, "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --weight-display: 600;
  --weight-display-em: 700;
  --tracking-display-tight: -0.03em;
  --hero-lead-font: clamp(1.05rem, 0.45vw + 0.95rem, 1.2rem);
  --hero-actions-mt: clamp(1.1rem, 1.8vw, 1.55rem);
  --btn-font: clamp(0.925rem, 0.45vw + 0.78rem, 1.1rem);
  --btn-min-h: clamp(2.65rem, 0.8vw + 2.15rem, 3.15rem);
  --btn-pad-x: clamp(1.15rem, 1.2vw + 0.75rem, 1.9rem);
  --btn-pad-y: clamp(0.55rem, 0.35vw + 0.45rem, 0.85rem);
  --btn-font-hero: clamp(1.02rem, 0.88rem + 0.28vw, 1.15rem);
  --btn-min-h-hero: clamp(2.9rem, 0.55vw + 2.5rem, 3.2rem);
  --btn-pad-x-hero: clamp(1.4rem, 1.1vw + 1rem, 2rem);
  --btn-pad-y-hero: clamp(0.6rem, 0.32vw + 0.48rem, 0.85rem);
  --btn-font-hero-glow: clamp(1.08rem, 0.9rem + 0.42vw, 1.28rem);
  --btn-min-h-hero-glow: clamp(3.15rem, 0.7vw + 2.65rem, 3.75rem);
  --btn-pad-x-hero-glow: clamp(1.45rem, 1.25vw + 1.05rem, 2.25rem);
  --btn-pad-y-hero-glow: clamp(0.75rem, 0.42vw + 0.58rem, 1.05rem);
  --btn-font-cta: clamp(1.2rem, 1rem + 0.55vw, 1.42rem);
  --btn-min-h-cta: clamp(3.45rem, 0.8vw + 2.9rem, 4.05rem);
  --btn-pad-x-cta: clamp(1.95rem, 1.4vw + 1.25rem, 2.9rem);
  --btn-pad-y-cta: clamp(0.85rem, 0.48vw + 0.65rem, 1.12rem);
}
[data-sp-embed], [data-sp-embed] *{ box-sizing: border-box; }
[data-sp-embed]{
  scroll-behavior: auto;
  overflow-x: visible;
  overflow-y: scroll;
  max-width: 100%;
  position: relative;
  z-index: 0;
  isolation: isolate;
  background-color: #ffffff;
}
[data-sp-embed]{
  margin: 0;
  font-family: var(--font-sans);
  color: var(--ink);
  background-color: #ffffff;
  background-image: var(--bg-hero);
  letter-spacing: var(--tracking-body);
  line-height: var(--leading-body);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: visible;
  overflow-y: visible;
  max-width: 100%;
}
[data-sp-embed] main{
  overflow: visible;
  max-width: 100%;
  width: 100%;
}
[data-sp-embed] a{ color: inherit; text-decoration: none; }
[data-sp-embed] img{
  max-width: 100%;
  display: block;
  -webkit-user-drag: none;
  user-drag: none;
  -webkit-user-select: none;
  user-select: none;
}
[data-sp-embed] .site-nav{ position: fixed; top: 18px; right: 18px; z-index: 20; display: flex; align-items: center; gap: 10px; }
[data-sp-embed] .nav-links{ display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; letter-spacing: 0.02em; color: #6e6e73; }
[data-sp-embed] .nav-links a{ display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 16px; border: 1px solid rgba(0,0,0,.06); border-radius: 999px; background: rgba(255,255,255,.72); backdrop-filter: saturate(180%) blur(20px); box-shadow: 0 8px 24px rgba(0,0,0,.06); transition: color 220ms ease, background 220ms ease, transform 220ms ease; }
[data-sp-embed] .nav-links a:hover{ color: var(--ink); background: rgba(255,255,255,.92); transform: translateY(-1px); }
[data-sp-embed] .menu-button{ display: none; width: 42px; height: 42px; border: 1px solid rgba(0,0,0,.06); border-radius: 999px; background: rgba(255,255,255,.78); backdrop-filter: saturate(180%) blur(20px); box-shadow: 0 8px 24px rgba(0,0,0,.06); padding: 10px; }
[data-sp-embed] .menu-button span{ display: block; height: 2px; margin: 5px 0; background: var(--ink); }
[data-sp-embed] .mobile-nav{ display: none; }
[data-sp-embed] .section-band{ padding: clamp(88px, 11vw, 148px) clamp(20px, 5vw, 80px); }
[data-sp-embed] .hero{
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  /* center overflows equally into the fixed menu; start below header padding */
  justify-content: flex-start;
  gap: 0;
  padding-top: calc(var(--sp-public-header-offset, 4.5rem) + env(safe-area-inset-top, 0px) + 7rem);
  padding-bottom: clamp(48px, 8vw, 96px);
  background: var(--bg-hero);
  border-bottom: 1px solid var(--line);
  /* Safari treats overflow-x:clip as clipping Y too — that hides avatar bubbles */
  overflow: visible;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}
/* Soft drifting gradient mesh (NoimosAI-like, brand-tinted, slow) */
[data-sp-embed] .hero-aurora{
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  opacity: 0.78;
}
[data-sp-embed] .hero-aurora__field{
  position: absolute;
  inset: -18% -14%;
  filter: blur(64px) saturate(1.15);
}
[data-sp-embed] .hero-aurora__blob{
  position: absolute;
  display: block;
  border-radius: 50%;
  will-change: transform;
}
[data-sp-embed] .hero-aurora__blob--1{
  width: min(58vw, 36rem);
  height: min(58vw, 36rem);
  top: -12%;
  left: -10%;
  opacity: 0.72;
  background: radial-gradient(circle, rgba(251, 113, 133, 0.9) 0%, rgba(251, 113, 133, 0) 68%);
  animation: hero-aurora-drift-1 22s ease-in-out infinite;
}
[data-sp-embed] .hero-aurora__blob--2{
  width: min(62vw, 40rem);
  height: min(62vw, 40rem);
  top: -8%;
  right: -14%;
  opacity: 0.65;
  background: radial-gradient(circle, rgba(253, 186, 116, 0.88) 0%, rgba(253, 186, 116, 0) 70%);
  animation: hero-aurora-drift-2 26s ease-in-out infinite;
}
[data-sp-embed] .hero-aurora__blob--3{
  width: min(54vw, 34rem);
  height: min(54vw, 34rem);
  bottom: -8%;
  left: 4%;
  opacity: 0.62;
  background: radial-gradient(circle, rgba(254, 205, 211, 0.95) 0%, rgba(254, 205, 211, 0) 68%);
  animation: hero-aurora-drift-3 24s ease-in-out infinite;
}
[data-sp-embed] .hero-aurora__blob--4{
  width: min(48vw, 30rem);
  height: min(48vw, 30rem);
  bottom: -6%;
  right: -6%;
  opacity: 0.55;
  background: radial-gradient(circle, rgba(244, 63, 94, 0.45) 0%, rgba(244, 63, 94, 0) 66%);
  animation: hero-aurora-drift-4 28s ease-in-out infinite;
}
@keyframes hero-aurora-drift-1 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(6%, 8%) scale(1.08); }
  66% { transform: translate(-4%, 12%) scale(0.94); }
}
@keyframes hero-aurora-drift-2 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  40% { transform: translate(-8%, 6%) scale(1.1); }
  70% { transform: translate(5%, -5%) scale(0.92); }
}
@keyframes hero-aurora-drift-3 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  35% { transform: translate(10%, -8%) scale(1.12); }
  65% { transform: translate(-6%, -4%) scale(0.9); }
}
@keyframes hero-aurora-drift-4 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  45% { transform: translate(-7%, -10%) scale(1.06); }
  75% { transform: translate(8%, 4%) scale(0.95); }
}
@media (prefers-reduced-motion: reduce) {
  [data-sp-embed] .hero-aurora__blob{
    animation: none !important;
  }
}
[data-sp-embed] .hero-center{
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: min(80rem, 100%);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-inline: 1rem;
  overflow: visible;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  [data-sp-embed] .hero-center{
    padding-inline: 0.75rem;
  }
}
@media (min-width: 1280px) {
  [data-sp-embed] .hero.section-band{
    /* Modest side inset — keep stage from feeling edge-to-edge */
    padding-inline: clamp(20px, 3vw, 56px);
  }
  [data-sp-embed] .hero-center{
    max-width: min(88rem, 100%);
    padding-inline: 0.5rem;
  }
}
@media (min-width: 1536px) {
  [data-sp-embed] .hero-center{
    max-width: min(94rem, 100%);
  }
}
@media (min-width: 1920px) {
  [data-sp-embed] .hero-center{
    max-width: min(100rem, 100%);
  }
}
[data-sp-embed] .hero-avatars{
  /* Default / phone: compact circular frame (no overflow) */
  position: relative;
  width: 100%;
  max-width: 36rem; /* max-w-xl */
  aspect-ratio: 1 / 1;
  height: auto;
  min-height: 0;
  margin: 0.35rem auto 2rem;
  padding-inline: 0;
  padding-block: 1.35rem 0;
  overflow: visible;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  /* tablet+: wide PC-like orchestration (scatter / ellipse) */
  [data-sp-embed] .hero-avatars{
    max-width: min(80rem, 100%); /* max-w-7xl */
    aspect-ratio: auto;
    min-height: 28rem;
    /* Fixed height (not vw clamp) so resize doesn't continuously reflow the stage */
    height: 30rem;
    margin-top: 0.75rem;
    margin-bottom: 0;
    /* Inset so edge avatars/labels stay inside overflow-x: clip */
    padding-inline: 1.75rem;
    padding-top: 1.75rem;
  }
  [data-sp-embed] .hero-avatar-item--lg .hero-avatar, [data-sp-embed] .hero-avatar-item--md .hero-avatar{
    width: 5rem;
    height: 5rem;
  }
  [data-sp-embed] .hero-avatar-item--sm .hero-avatar{
    width: 4.35rem;
    height: 4.35rem;
  }
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar{
    width: 7.25rem;
    height: 7.25rem;
  }
  [data-sp-embed] .hero-avatar-badge{
    font-size: 0.72rem;
  }
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar-badge{
    font-size: 0.8rem;
    max-width: 8rem;
  }
}
@media (min-width: 768px) and (max-width: 1279px) {
  /* iPad: taller stage + smaller nodes so the wide ellipse doesn't collide */
  [data-sp-embed] .hero-avatars{
    min-height: 36rem;
    height: 38rem;
    padding-inline: 2.5rem;
  }
  [data-sp-embed] .hero-avatar-item--lg .hero-avatar, [data-sp-embed] .hero-avatar-item--md .hero-avatar, [data-sp-embed] .hero-avatar-item--sm .hero-avatar{
    width: 3.75rem;
    height: 3.75rem;
  }
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar{
    width: 6.25rem;
    height: 6.25rem;
  }
  [data-sp-embed] .hero-avatar-badge{
    font-size: 0.68rem;
    padding: 0.15rem 0.5rem;
  }
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar-badge{
    font-size: 0.78rem;
    max-width: 7.5rem;
  }
  /* Quieter drift so ellipse nodes don't bump */
  [data-sp-embed] .hero-avatars .hero-avatar-item, [data-sp-embed] .hero-avatars .hero-avatar-item:nth-child(3n), [data-sp-embed] .hero-avatars .hero-avatar-item:nth-child(3n + 1){
    animation-name: hero-avatar-enter, hero-avatar-drift-mobile-a;
  }
  [data-sp-embed] .hero-avatars .hero-avatar-item--commander, [data-sp-embed] .hero-avatars .hero-avatar-item--commander:nth-child(3n), [data-sp-embed] .hero-avatars .hero-avatar-item--commander:nth-child(3n + 1){
    animation-name: hero-avatar-enter-commander, hero-avatar-drift-mobile-commander;
  }
  [data-sp-embed] .hero-avatars .hero-avatar-item.hero-avatar-item--settled, [data-sp-embed] .hero-avatars .hero-avatar-item.hero-avatar-item--settled:nth-child(3n), [data-sp-embed] .hero-avatars .hero-avatar-item.hero-avatar-item--settled:nth-child(3n + 1){
    animation-name: hero-avatar-drift-mobile-a;
    animation-duration: var(--dur, 8s);
    animation-delay: 0s;
    animation-iteration-count: infinite;
  }
  [data-sp-embed] .hero-avatars .hero-avatar-item--commander.hero-avatar-item--settled, [data-sp-embed] .hero-avatars .hero-avatar-item--commander.hero-avatar-item--settled:nth-child(3n), [data-sp-embed] .hero-avatars .hero-avatar-item--commander.hero-avatar-item--settled:nth-child(3n + 1){
    animation-name: hero-avatar-drift-mobile-commander;
  }
}
@media (min-width: 1280px) {
  /* xl+: wider stage + larger avatars, without going edge-to-edge */
  [data-sp-embed] .hero-avatars{
    max-width: min(88rem, 100%);
    min-height: 40rem;
    height: 42rem;
    padding-inline: 2rem;
  }
}
@media (min-width: 1536px) {
  [data-sp-embed] .hero-avatars{
    max-width: min(94rem, 100%);
    min-height: 44rem;
    height: 46rem;
    padding-inline: 2.25rem;
  }
}
@media (min-width: 1920px) {
  [data-sp-embed] .hero-avatars{
    max-width: min(100rem, 100%);
    min-height: 48rem;
    height: 50rem;
    padding-inline: 2.5rem;
  }
}
[data-sp-embed] .hero-brand-logo{
  display: block;
  position: relative;
  z-index: 2;
  width: min(33rem, 68vw);
  max-width: min(36rem, 72vw);
  margin: 0 auto 2rem;
  will-change: opacity, transform;
  transform-origin: center center;
  translate: 0 -1em;
  isolation: isolate;
}
[data-sp-embed] .hero-brand-logo__img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center center;
  will-change: filter;
}
[data-sp-embed] .hero-brand-logo::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    108deg,
    transparent 28%,
    rgba(255, 255, 255, 0.08) 40%,
    rgba(255, 255, 255, 0.92) 49%,
    rgba(255, 180, 196, 0.55) 54%,
    transparent 70%
  );
  mix-blend-mode: soft-light;
  opacity: 0;
  transform: translateX(-135%);
  -webkit-mask-image: url("https://storage.googleapis.com/findout-corporate.firebasestorage.app/static/sakina-claw/ja/assets/sakina-claw-logo.png?v=1792031406723");
  mask-image: url("https://storage.googleapis.com/findout-corporate.firebasestorage.app/static/sakina-claw/ja/assets/sakina-claw-logo.png?v=1792031406723");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
@keyframes hero-logo-pop {
  0% {
    opacity: 0;
    transform: translate(-0.85rem, 1.35rem) scale(0.78) rotate(-5deg);
  }
  58% {
    opacity: 1;
    transform: translate(0.12rem, -0.28rem) scale(1.08) rotate(0.8deg);
  }
  78% {
    opacity: 1;
    transform: translate(-0.04rem, 0.08rem) scale(0.98) rotate(-0.25deg);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0) scale(1) rotate(0deg);
  }
}
@keyframes hero-logo-shine {
  0% {
    opacity: 0;
    transform: translateX(-135%);
  }
  14% {
    opacity: 1;
  }
  62% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateX(135%);
  }
}
@keyframes hero-logo-glow {
  0%,
  100% {
    filter: drop-shadow(0 0 0.35rem rgba(225, 29, 72, 0.12));
  }
  50% {
    filter: drop-shadow(0 0 1.05rem rgba(225, 29, 72, 0.42));
  }
}
[data-sp-embed].js .hero-center.reveal:not(.visible) .hero-brand-logo{
  opacity: 0;
  transform: translate(-0.85rem, 1.35rem) scale(0.78) rotate(-5deg);
}
[data-sp-embed].js .hero-center.reveal.visible .hero-brand-logo{
  animation: hero-logo-pop 0.72s cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: var(--d, 0ms);
}
[data-sp-embed].js .hero-center.reveal.visible .hero-brand-logo::after{
  animation: hero-logo-shine 0.95s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: calc(var(--d, 0ms) + 0.36s);
}
[data-sp-embed].js .hero-center.reveal.visible .hero-brand-logo__img{
  animation: hero-logo-glow 2.8s ease-in-out infinite;
  animation-delay: calc(var(--d, 0ms) + 0.85s);
}
[data-sp-embed] .hero-avatars--network{
  display: block;
}
/* Hold the ring invisible until every avatar image has decoded — then pop together */
[data-sp-embed] .hero-avatars--network:not(.hero-avatars--ready) .hero-avatar-item, [data-sp-embed] .hero-avatars--network:not(.hero-avatars--ready) .hero-avatar-links{
  animation: none !important;
  opacity: 0 !important;
  pointer-events: none;
}
[data-sp-embed] .hero-avatar-links{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  overflow: visible;
  opacity: 0;
  animation: hero-links-fade 0.6s ease 0.35s both;
}
[data-sp-embed] .hero-avatar-link{
  opacity: 0.85;
}
[data-sp-embed] .hero-avatar-pulse{
  opacity: 0.9;
}
[data-sp-embed] .hero-avatar-item{
  position: absolute;
  left: var(--left, 50%);
  top: var(--top, 50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: auto;
  padding: 0.25rem;
  transform: translate3d(-50%, -50%, 0);
  opacity: 0;
  animation-name: hero-avatar-enter, hero-avatar-drift-a;
  animation-duration: 0.5s, var(--dur, 8s);
  animation-delay: var(--enter-delay, 0s), calc(var(--enter-delay, 0s) + 0.5s);
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1), ease-in-out;
  animation-iteration-count: 1, infinite;
  animation-fill-mode: both, none;
  will-change: transform, opacity;
  cursor: default;
  z-index: 2;
  text-decoration: none;
  color: inherit;
  -webkit-tap-highlight-color: transparent;
  --glow-rgb: 148, 163, 184;
  overflow: visible;
}
/* After first entrance / on breakpoint snap: no fade-in replay */
[data-sp-embed] .hero-avatar-item.hero-avatar-item--settled{
  opacity: 1;
  animation-name: hero-avatar-drift-a;
  animation-duration: var(--dur, 8s);
  animation-delay: 0s;
  animation-iteration-count: infinite;
  animation-fill-mode: none;
  will-change: auto;
}
[data-sp-embed] .hero-avatar-item.hero-avatar-item--settled:nth-child(3n){
  animation-name: hero-avatar-drift-b;
}
[data-sp-embed] .hero-avatar-item.hero-avatar-item--settled:nth-child(3n + 1){
  animation-name: hero-avatar-drift-c;
}
[data-sp-embed] .hero-avatar-item--commander.hero-avatar-item--settled{
  animation-name: hero-avatar-drift-commander;
}
/* Window resize: freeze motion / filters / cqi so reflow stays snappy */
[data-sp-embed].is-resizing, [data-sp-embed].is-resizing body{
  scroll-behavior: auto !important;
}
[data-sp-embed].is-resizing *, [data-sp-embed].is-resizing *::before, [data-sp-embed].is-resizing *::after{
  animation-play-state: paused !important;
  transition: none !important;
  will-change: auto !important;
}
[data-sp-embed].is-resizing *{
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
/* Marquee: stop translating + lock card size (avoid 100cqi reflow every pixel) */
[data-sp-embed].is-resizing #departments .department-marquee{
  container-type: normal;
}
[data-sp-embed].is-resizing #departments .department-grid.all-managers.department-grid--marquee{
  animation: none !important;
}
[data-sp-embed].is-resizing #departments .department-grid.all-managers.department-grid--marquee .department-card{
  flex: 0 0 34rem !important;
  width: 34rem !important;
  min-width: 34rem !important;
}
/* Mobile: don't lock marquee cards to desktop 34rem during address-bar / viewport resize */
@media (max-width: 760px) {
  [data-sp-embed].is-resizing #departments .department-marquee{
    container-type: inline-size;
  }
  [data-sp-embed].is-resizing #departments .department-grid.all-managers.department-grid--marquee .department-card{
    flex: 0 0 84cqi !important;
    width: 84cqi !important;
    min-width: 0 !important;
  }
}
[data-sp-embed] a.hero-avatar-item{
  cursor: pointer;
}
[data-sp-embed] a.hero-avatar-item:not([href]) .hero-avatar, [data-sp-embed] a.hero-avatar-item:not([href]) .hero-avatar-badge, [data-sp-embed] a.hero-avatar-item.is-nav-pending .hero-avatar, [data-sp-embed] a.hero-avatar-item.is-nav-pending .hero-avatar-badge{
  cursor: default;
}
[data-sp-embed] .hero-avatar-item:nth-child(3n){
  animation-name: hero-avatar-enter, hero-avatar-drift-b;
}
[data-sp-embed] .hero-avatar-item:nth-child(3n + 1){
  animation-name: hero-avatar-enter, hero-avatar-drift-c;
}
[data-sp-embed] .hero-avatar-item--commander{
  z-index: 8;
  animation-name: hero-avatar-enter-commander, hero-avatar-drift-commander;
}
/* Hit only the circular avatar + badge — rectangular item boxes overlap and steal hover */
[data-sp-embed] .hero-avatar-item{
  pointer-events: none;
}
[data-sp-embed] .hero-avatar-item .hero-avatar, [data-sp-embed] .hero-avatar-item .hero-avatar-badge{
  pointer-events: auto;
}
[data-sp-embed] a.hero-avatar-item .hero-avatar, [data-sp-embed] a.hero-avatar-item .hero-avatar-badge{
  cursor: pointer;
}
[data-sp-embed] .hero-avatar-item:hover, [data-sp-embed] .hero-avatar-item.is-near, [data-sp-embed] .hero-avatar-item.is-hot, [data-sp-embed] .hero-avatar-item:focus-visible{
  z-index: 12;
  animation-play-state: paused;
}
/* Near: soft intensify when cursor approaches (JS .is-near / expanded hit) */
[data-sp-embed] .hero-avatar-item.is-near .hero-avatar{
  transform: scale(1.04);
  filter: none;
  box-shadow:
    0 0.55rem 1.15rem rgba(15, 23, 42, 0.12),
    0 0 0 3px rgba(var(--glow-rgb), 0.4),
    0 0 18px rgba(var(--glow-rgb), 0.48),
    0 0 30px rgba(var(--glow-rgb), 0.28);
  transition-duration: 0.14s, 0.14s, 0.14s;
}
[data-sp-embed] .hero-avatar-item:hover .hero-avatar, [data-sp-embed] .hero-avatar-item.is-hot .hero-avatar, [data-sp-embed] .hero-avatar-item:focus-visible .hero-avatar{
  transform: scale(1.06) translateY(-0.12rem);
  filter: none;
  box-shadow:
    0 0.55rem 1.15rem rgba(15, 23, 42, 0.12),
    0 0 0 3px rgba(var(--glow-rgb), 0.55),
    0 0 22px rgba(var(--glow-rgb), 0.7),
    0 0 42px rgba(var(--glow-rgb), 0.42);
  transition-duration: 0.12s, 0.08s, 0.08s;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1), ease-out, ease-out;
}
[data-sp-embed] a.hero-avatar-item:hover .hero-avatar-badge, [data-sp-embed] a.hero-avatar-item.is-near .hero-avatar-badge, [data-sp-embed] a.hero-avatar-item.is-hot .hero-avatar-badge, [data-sp-embed] a.hero-avatar-item:focus-visible .hero-avatar-badge{
  border-color: rgba(var(--glow-rgb), 0.55);
  box-shadow:
    0 0.2rem 0.55rem rgba(15, 23, 42, 0.06),
    0 0 12px rgba(var(--glow-rgb), 0.35),
    0 0 18px rgba(var(--glow-rgb), 0.22);
  transition-duration: 0.08s, 0.08s;
}
[data-sp-embed] .hero-avatar-item:focus-visible{
  outline: none;
}
[data-sp-embed] .hero-avatar-item:focus-visible .hero-avatar{
  outline: 2px solid rgba(var(--glow-rgb), 0.85);
  outline-offset: 3px;
}
[data-sp-embed] .hero-avatar{
  position: relative;
  display: block;
  border-radius: 999px;
  border: 2px solid #fff;
  background: #f8fafc;
  box-shadow:
    0 0.55rem 1.15rem rgba(15, 23, 42, 0.12),
    0 0 0 1px rgba(15, 23, 42, 0.04),
    0 0 0 3px rgba(var(--glow-rgb), 0.28),
    0 0 16px rgba(var(--glow-rgb), 0.32);
  overflow: hidden;
  flex-shrink: 0;
  transition:
    transform 0.18s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.12s ease-out,
    filter 0.12s ease-out;
}
[data-sp-embed] .hero-avatar-item--lg .hero-avatar, [data-sp-embed] .hero-avatar-item--md .hero-avatar, [data-sp-embed] .hero-avatar-item--sm .hero-avatar{
  width: 5rem;
  height: 5rem;
}
[data-sp-embed] .hero-avatar-item--md .hero-avatar{
  opacity: 1;
}
[data-sp-embed] .hero-avatar-item--sm .hero-avatar{
  width: 4.5rem;
  height: 4.5rem;
  opacity: 1;
}
[data-sp-embed] .hero-avatar-item--commander .hero-avatar{
  width: 7rem;
  height: 7rem;
  border-width: 3px;
  box-shadow:
    0 0 0 4px rgba(var(--glow-rgb), 0.45),
    0 0 2rem rgba(var(--glow-rgb), 0.4),
    0 1.1rem 2.4rem rgba(15, 23, 42, 0.2);
}
[data-sp-embed] .hero-avatar-item--commander.is-near .hero-avatar{
  box-shadow:
    0 0 0 4px rgba(var(--glow-rgb), 0.52),
    0 0 2.1rem rgba(var(--glow-rgb), 0.48),
    0 1.1rem 2.4rem rgba(15, 23, 42, 0.2);
}
[data-sp-embed] .hero-avatar-item--commander:hover .hero-avatar, [data-sp-embed] .hero-avatar-item--commander.is-hot .hero-avatar, [data-sp-embed] .hero-avatar-item--commander:focus-visible .hero-avatar{
  box-shadow:
    0 0 0 5px rgba(var(--glow-rgb), 0.6),
    0 0 2.4rem rgba(var(--glow-rgb), 0.55),
    0 0 48px rgba(var(--glow-rgb), 0.35),
    0 1.1rem 2.4rem rgba(15, 23, 42, 0.2);
}
@media (min-width: 1280px) {
  [data-sp-embed] .hero-avatar-item--lg .hero-avatar, [data-sp-embed] .hero-avatar-item--md .hero-avatar{
    width: 6.75rem;
    height: 6.75rem;
  }
  [data-sp-embed] .hero-avatar-item--sm .hero-avatar{
    width: 5.75rem;
    height: 5.75rem;
  }
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar{
    width: 10rem;
    height: 10rem;
  }
}
@media (min-width: 1536px) {
  [data-sp-embed] .hero-avatar-item--lg .hero-avatar, [data-sp-embed] .hero-avatar-item--md .hero-avatar{
    width: 7.75rem;
    height: 7.75rem;
  }
  [data-sp-embed] .hero-avatar-item--sm .hero-avatar{
    width: 6.75rem;
    height: 6.75rem;
  }
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar{
    width: 11.5rem;
    height: 11.5rem;
  }
}
@media (min-width: 1920px) {
  [data-sp-embed] .hero-avatar-item--lg .hero-avatar, [data-sp-embed] .hero-avatar-item--md .hero-avatar{
    width: 8.75rem;
    height: 8.75rem;
  }
  [data-sp-embed] .hero-avatar-item--sm .hero-avatar{
    width: 7.5rem;
    height: 7.5rem;
  }
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar{
    width: 13rem;
    height: 13rem;
  }
}
[data-sp-embed] .hero-avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  border-radius: 999px;
  display: block;
  /* Hide broken-image alt text when embed paths fail briefly */
  color: transparent;
  font-size: 0;
}
[data-sp-embed] .hero-avatar-badge{
  position: absolute;
  left: 50%;
  top: 100%;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: none;
  margin: 0;
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
  border: 1px solid rgba(226, 232, 240, 0.85);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(8px);
  box-shadow: 0 0.2rem 0.55rem rgba(15, 23, 42, 0.06);
  color: #334155;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.35;
  white-space: nowrap;
  text-align: center;
  transform: translate(-50%, 0.35rem); /* below avatar, clear of the circle */
  pointer-events: none;
  transition: border-color 0.12s ease-out, box-shadow 0.12s ease-out;
}
[data-sp-embed] .hero-avatar-item--commander .hero-avatar-badge{
  padding: 0.28rem 0.75rem;
  font-size: 0.75rem; /* text-xs */
  font-weight: 700;
  color: rgb(var(--glow-rgb));
  border-color: rgba(var(--glow-rgb), 0.45);
  background: linear-gradient(
    90deg,
    rgba(var(--glow-rgb), 0.12),
    rgba(255, 255, 255, 0.95)
  );
  box-shadow:
    0 0.35rem 0.9rem rgba(var(--glow-rgb), 0.18),
    0 0 0 1px rgba(var(--glow-rgb), 0.28);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.05rem;
  white-space: normal;
  width: max-content;
  max-width: 7.5rem;
  text-align: center;
  line-height: 1.25;
  transform: translate(-50%, 0.4rem);
  z-index: 6;
}
@media (min-width: 1280px) {
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar-badge{
    font-size: 0.9rem;
    max-width: 10rem;
  }
  [data-sp-embed] .hero-avatar-badge{
    font-size: 0.78rem;
  }
}
@media (min-width: 1536px) {
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar-badge{
    font-size: 0.95rem;
    max-width: 11rem;
    padding: 0.32rem 0.85rem;
  }
  [data-sp-embed] .hero-avatar-badge{
    font-size: 0.82rem;
    padding: 0.22rem 0.7rem;
  }
}
@media (min-width: 1920px) {
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar-badge{
    font-size: 1.05rem;
    max-width: 12.5rem;
  }
  [data-sp-embed] .hero-avatar-badge{
    font-size: 0.88rem;
  }
}
[data-sp-embed] .hero-avatar-badge-line{
  display: block;
  white-space: nowrap;
}

/* Hero conversation bubbles */
/* Elevate the whole node while its bubble is visible so it stacks above other badges */
[data-sp-embed] .hero-avatars .hero-avatar-item.is-bubbling, [data-sp-embed] .hero-avatars .hero-avatar-item.is-bubbling:hover, [data-sp-embed] .hero-avatars .hero-avatar-item.is-bubbling.is-near, [data-sp-embed] .hero-avatars .hero-avatar-item.is-bubbling.is-hot, [data-sp-embed] .hero-avatars .hero-avatar-item.is-bubbling:focus-visible{
  z-index: 12;
}
/* Name badges overlapping neighbors — float above, below active bubbles */
[data-sp-embed] .hero-avatars .hero-avatar-item.is-label-front, [data-sp-embed] .hero-avatars .hero-avatar-item.is-label-front:hover, [data-sp-embed] .hero-avatars .hero-avatar-item.is-label-front.is-near, [data-sp-embed] .hero-avatars .hero-avatar-item.is-label-front.is-hot, [data-sp-embed] .hero-avatars .hero-avatar-item.is-label-front:focus-visible{
  z-index: 10;
}
[data-sp-embed] .hero-avatars .hero-avatar-item.is-label-front .hero-avatar-badge{
  z-index: 7;
}
/* Mobile telop (below xl; phones use this size) — JA/EN shared */
[data-sp-embed] .hero-avatar-telop{
  display: none;
  margin: 0 auto 1rem;
  width: fit-content;
  max-width: 90%;
  padding: 0.375rem 1rem;
  border-radius: 9999px;
  border: 1px solid #f1f5f9;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  color: #334155;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0;
  transform: translateY(0.35rem);
  pointer-events: none;
  cursor: default;
  -webkit-tap-highlight-color: transparent;
  will-change: opacity, transform;
}
/* Tablet / shrunk-PC telop only (not phone) */
@media (min-width: 768px) and (max-width: 1279px) {
  [data-sp-embed] .hero-avatar-telop{
    font-size: 14px;
    font-weight: 600;
    padding: 0.5rem 1.25rem;
    max-width: min(92%, 36rem);
  }
}
[data-sp-embed] .hero-avatar-telop.is-show{
  animation: hero-telop-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
[data-sp-embed] .hero-avatar-telop.is-swap{
  animation: hero-telop-swap 0.55s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes hero-telop-in {
  0% {
    opacity: 0;
    transform: translateY(0.35rem) scale(0.97);
  }
  32% {
    opacity: 1;
    transform: translateY(0) scale(1.02);
  }
  42% { transform: translate3d(-3px, 0, 0) scale(1); }
  50% { transform: translate3d(3px, 0, 0); }
  58% { transform: translate3d(-2.5px, 0, 0); }
  66% { transform: translate3d(2.5px, 0, 0); }
  74% { transform: translate3d(-1.5px, 0, 0); }
  82% { transform: translate3d(1px, 0, 0); }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes hero-telop-swap {
  0% {
    opacity: 0;
    transform: translateY(0.2rem) scale(0.98);
  }
  30% {
    opacity: 1;
    transform: translateY(0) scale(1.015);
  }
  40% { transform: translate3d(-3px, 0, 0) scale(1); }
  48% { transform: translate3d(3px, 0, 0); }
  56% { transform: translate3d(-2px, 0, 0); }
  64% { transform: translate3d(2px, 0, 0); }
  74% { transform: translate3d(-1px, 0, 0); }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
/* PC avatar bubbles (xl+ only; hidden below) — JA/EN shared */
[data-sp-embed] .hero-avatar-bubble{
  position: absolute;
  top: -0.45rem;
  left: 50%;
  z-index: 20;
  min-width: 0;
  width: max-content;
  max-width: 14.5rem;
  margin: 0;
  padding: 0.45rem 0.9rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(var(--glow-rgb, 148, 163, 184), 0.55);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  box-shadow:
    0 4px 14px rgba(15, 23, 42, 0.08),
    0 0 0 1px rgba(var(--glow-rgb, 148, 163, 184), 0.12);
  color: #334155;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.35;
  white-space: normal;
  text-align: center;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, calc(-100% - 0.15rem));
  will-change: opacity, transform;
}
@media (min-width: 1536px) {
  [data-sp-embed] .hero-avatar-bubble{
    max-width: 16rem;
    font-size: 15px;
    padding: 0.5rem 1rem;
  }
}
[data-sp-embed] .hero-avatar-bubble--from-left{
  left: 0.15rem;
  transform: translate(0, calc(-100% - 0.15rem));
}
[data-sp-embed] .hero-avatar-bubble--from-right{
  left: auto;
  right: 0.15rem;
  transform: translate(0, calc(-100% - 0.15rem));
}
/* Below the avatar — reserved; prefer above to clear under-avatar labels */
[data-sp-embed] .hero-avatar-bubble--bottom{
  top: auto;
  bottom: -1.85rem;
  transform: translate(-50%, calc(100% - 0.15rem));
}
[data-sp-embed] .hero-avatar-bubble--bottom.hero-avatar-bubble--from-left{
  transform: translate(0, calc(100% - 0.15rem));
}
[data-sp-embed] .hero-avatar-bubble--bottom.hero-avatar-bubble--from-right{
  transform: translate(0, calc(100% - 0.15rem));
}
[data-sp-embed] .hero-avatar-bubble.is-show{
  visibility: visible;
  animation: hero-bubble-in 0.58s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
[data-sp-embed] .hero-avatar-bubble--from-left.is-show{
  animation-name: hero-bubble-in-left;
}
[data-sp-embed] .hero-avatar-bubble--from-right.is-show{
  animation-name: hero-bubble-in-right;
}
[data-sp-embed] .hero-avatar-bubble--bottom.is-show{
  animation-name: hero-bubble-in-bottom;
}
[data-sp-embed] .hero-avatar-bubble--bottom.hero-avatar-bubble--from-left.is-show{
  animation-name: hero-bubble-in-bottom-left;
}
[data-sp-embed] .hero-avatar-bubble--bottom.hero-avatar-bubble--from-right.is-show{
  animation-name: hero-bubble-in-bottom-right;
}
[data-sp-embed] .hero-avatar-bubble.is-hide{
  visibility: visible;
  animation: hero-bubble-out 0.28s ease forwards;
}
[data-sp-embed] .hero-avatar-bubble--from-left.is-hide{
  animation-name: hero-bubble-out-left;
}
[data-sp-embed] .hero-avatar-bubble--from-right.is-hide{
  animation-name: hero-bubble-out-right;
}
[data-sp-embed] .hero-avatar-bubble--bottom.is-hide{
  animation-name: hero-bubble-out-bottom;
}
[data-sp-embed] .hero-avatar-bubble--bottom.hero-avatar-bubble--from-left.is-hide{
  animation-name: hero-bubble-out-bottom-left;
}
[data-sp-embed] .hero-avatar-bubble--bottom.hero-avatar-bubble--from-right.is-hide{
  animation-name: hero-bubble-out-bottom-right;
}
/* Pop-in + notification-style vibrate buzz */
@keyframes hero-bubble-in {
  0% {
    opacity: 0;
    visibility: visible;
    transform: translate(-50%, calc(-100% + 0.55rem)) scale(0.94);
  }
  30% {
    opacity: 1;
    transform: translate(-50%, -100%) scale(1.03);
  }
  40% { transform: translate(calc(-50% - 3px), -100%) scale(1); }
  48% { transform: translate(calc(-50% + 3px), -100%); }
  56% { transform: translate(calc(-50% - 2.5px), -100%); }
  64% { transform: translate(calc(-50% + 2.5px), -100%); }
  74% { transform: translate(calc(-50% - 1.25px), -100%); }
  100% {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -100%);
  }
}
@keyframes hero-bubble-in-left {
  0% {
    opacity: 0;
    visibility: visible;
    transform: translate(0, calc(-100% + 0.55rem)) scale(0.94);
  }
  30% {
    opacity: 1;
    transform: translate(0, -100%) scale(1.03);
  }
  40% { transform: translate(-3px, -100%) scale(1); }
  48% { transform: translate(3px, -100%); }
  56% { transform: translate(-2.5px, -100%); }
  64% { transform: translate(2.5px, -100%); }
  74% { transform: translate(-1.25px, -100%); }
  100% {
    opacity: 1;
    visibility: visible;
    transform: translate(0, -100%);
  }
}
@keyframes hero-bubble-in-right {
  0% {
    opacity: 0;
    visibility: visible;
    transform: translate(0, calc(-100% + 0.55rem)) scale(0.94);
  }
  30% {
    opacity: 1;
    transform: translate(0, -100%) scale(1.03);
  }
  40% { transform: translate(3px, -100%) scale(1); }
  48% { transform: translate(-3px, -100%); }
  56% { transform: translate(2.5px, -100%); }
  64% { transform: translate(-2.5px, -100%); }
  74% { transform: translate(1.25px, -100%); }
  100% {
    opacity: 1;
    visibility: visible;
    transform: translate(0, -100%);
  }
}
@keyframes hero-bubble-in-bottom {
  0% {
    opacity: 0;
    visibility: visible;
    transform: translate(-50%, calc(100% - 0.55rem)) scale(0.94);
  }
  30% {
    opacity: 1;
    transform: translate(-50%, 100%) scale(1.03);
  }
  40% { transform: translate(calc(-50% - 3px), 100%) scale(1); }
  48% { transform: translate(calc(-50% + 3px), 100%); }
  56% { transform: translate(calc(-50% - 2.5px), 100%); }
  64% { transform: translate(calc(-50% + 2.5px), 100%); }
  74% { transform: translate(calc(-50% - 1.25px), 100%); }
  100% {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 100%);
  }
}
@keyframes hero-bubble-in-bottom-left {
  0% {
    opacity: 0;
    visibility: visible;
    transform: translate(0, calc(100% - 0.55rem)) scale(0.94);
  }
  30% {
    opacity: 1;
    transform: translate(0, 100%) scale(1.03);
  }
  40% { transform: translate(-3px, 100%) scale(1); }
  48% { transform: translate(3px, 100%); }
  56% { transform: translate(-2.5px, 100%); }
  64% { transform: translate(2.5px, 100%); }
  74% { transform: translate(-1.25px, 100%); }
  100% {
    opacity: 1;
    visibility: visible;
    transform: translate(0, 100%);
  }
}
@keyframes hero-bubble-in-bottom-right {
  0% {
    opacity: 0;
    visibility: visible;
    transform: translate(0, calc(100% - 0.55rem)) scale(0.94);
  }
  30% {
    opacity: 1;
    transform: translate(0, 100%) scale(1.03);
  }
  40% { transform: translate(3px, 100%) scale(1); }
  48% { transform: translate(-3px, 100%); }
  56% { transform: translate(2.5px, 100%); }
  64% { transform: translate(-2.5px, 100%); }
  74% { transform: translate(1.25px, 100%); }
  100% {
    opacity: 1;
    visibility: visible;
    transform: translate(0, 100%);
  }
}
@keyframes hero-bubble-out {
  from {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -100%);
  }
  to {
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, calc(-100% + 0.35rem));
  }
}
@keyframes hero-bubble-out-left {
  from {
    opacity: 1;
    visibility: visible;
    transform: translate(0, -100%);
  }
  to {
    opacity: 0;
    visibility: hidden;
    transform: translate(0, calc(-100% + 0.35rem));
  }
}
@keyframes hero-bubble-out-right {
  from {
    opacity: 1;
    visibility: visible;
    transform: translate(0, -100%);
  }
  to {
    opacity: 0;
    visibility: hidden;
    transform: translate(0, calc(-100% + 0.35rem));
  }
}
@keyframes hero-bubble-out-bottom {
  from {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 100%);
  }
  to {
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, calc(100% - 0.35rem));
  }
}
@keyframes hero-bubble-out-bottom-left {
  from {
    opacity: 1;
    visibility: visible;
    transform: translate(0, 100%);
  }
  to {
    opacity: 0;
    visibility: hidden;
    transform: translate(0, calc(100% - 0.35rem));
  }
}
@keyframes hero-bubble-out-bottom-right {
  from {
    opacity: 1;
    visibility: visible;
    transform: translate(0, 100%);
  }
  to {
    opacity: 0;
    visibility: hidden;
    transform: translate(0, calc(100% - 0.35rem));
  }
}
/* PC用（xl+）: 吹き出し出現時のアバター連携ポップキーフレーム */
@media (min-width: 1280px) {
  @keyframes avatar-pop-vibe {
    0% { transform: scale(1); }
    30% { transform: scale(1.18) rotate(-3deg); }
    50% { transform: scale(1.15) rotate(3deg); }
    70% { transform: scale(1.05) rotate(-1deg); }
    100% { transform: scale(1) rotate(0deg); }
  }

  [data-sp-embed] .hero-avatar.animate-avatar-pop{
    animation: avatar-pop-vibe 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
  }
}

/* Below xl: hide per-avatar bubbles, show tappable top telop (phones + tablets) */
@media (max-width: 1279px) {
  [data-sp-embed] .hero-avatar-telop{
    display: block;
    pointer-events: none;
    cursor: default;
    transition:
      background-color 0.15s ease,
      border-color 0.15s ease,
      box-shadow 0.15s ease;
  }
  [data-sp-embed] .hero-avatar-telop:hover{
    background: rgba(248, 250, 252, 0.98);
    border-color: #e2e8f0;
  }
  [data-sp-embed] .hero-avatar-telop:active{
    background: rgba(226, 232, 240, 0.95);
    border-color: #cbd5e1;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.06);
  }
  [data-sp-embed] .hero-avatar-bubble{
    display: none !important;
  }
  [data-sp-embed] .hero-avatar.animate-avatar-pop{
    animation: none !important;
  }
}
@keyframes hero-avatar-enter {
  0% {
    opacity: 0;
    transform: translate3d(-50%, calc(-50% - 1.6rem), 0) scale(0.82);
  }
  58% {
    opacity: 1;
    transform: translate3d(-50%, calc(-50% + 0.2rem), 8px) scale(1.05);
  }
  100% {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0) scale(1);
  }
}
@keyframes hero-avatar-enter-commander {
  0% {
    opacity: 0;
    transform: translate3d(-50%, calc(-50% - 2rem), 24px) scale(0.78);
  }
  55% {
    opacity: 1;
    transform: translate3d(-50%, calc(-50% + 0.15rem), 30px) scale(1.06);
  }
  100% {
    opacity: 1;
    transform: translate3d(-50%, -50%, 24px) scale(1);
  }
}
@keyframes hero-avatar-drift-a {
  0%, 100% { transform: translate3d(-50%, -50%, 0) rotate(-2deg); }
  33% { transform: translate3d(calc(-50% + 0.7rem), calc(-50% - 0.85rem), 0) rotate(2deg); }
  66% { transform: translate3d(calc(-50% - 0.55rem), calc(-50% + 0.45rem), 0) rotate(-1deg); }
}
@keyframes hero-avatar-drift-b {
  0%, 100% { transform: translate3d(-50%, -50%, 0) rotate(1.5deg); }
  40% { transform: translate3d(calc(-50% - 0.9rem), calc(-50% - 0.55rem), 0) rotate(-2.5deg); }
  75% { transform: translate3d(calc(-50% + 0.5rem), calc(-50% + 0.75rem), 0) rotate(2deg); }
}
@keyframes hero-avatar-drift-c {
  0%, 100% { transform: translate3d(-50%, -50%, 0) rotate(-1deg); }
  50% { transform: translate3d(calc(-50% + 0.45rem), calc(-50% - 1rem), 0) rotate(3deg); }
}
@keyframes hero-avatar-drift-commander {
  0%, 100% { transform: translate3d(-50%, -50%, 0) rotate(-1deg); }
  50% { transform: translate3d(calc(-50% + 0.25rem), calc(-50% - 0.7rem), 0) rotate(1.5deg); }
}
/* Mobile: gentle float — readable on the tight ring without collisions */
@keyframes hero-avatar-drift-mobile-a {
  0%, 100% { transform: translate3d(-50%, -50%, 0); }
  50% { transform: translate3d(-50%, calc(-50% - 0.55rem), 6px); }
}
@keyframes hero-avatar-drift-mobile-b {
  0%, 100% { transform: translate3d(-50%, -50%, 0); }
  50% { transform: translate3d(calc(-50% + 0.22rem), calc(-50% - 0.42rem), 4px); }
}
@keyframes hero-avatar-drift-mobile-c {
  0%, 100% { transform: translate3d(-50%, -50%, 0); }
  50% { transform: translate3d(calc(-50% - 0.18rem), calc(-50% - 0.58rem), 6px); }
}
@keyframes hero-avatar-drift-mobile-commander {
  0%, 100% { transform: translate3d(-50%, -50%, 12px); }
  50% { transform: translate3d(-50%, calc(-50% - 0.48rem), 18px) scale(1.02); }
}
@keyframes hero-links-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}
[data-sp-embed] .hero .eyebrow, [data-sp-embed] .eyebrow{
  margin: 0 0 1.25rem;
  color: #e11d48;
  font-size: clamp(0.7rem, 0.15vw + 0.66rem, 0.8125rem);
  font-weight: 600;
  letter-spacing: 0.14em;
  padding-inline-start: 0.14em;
  text-transform: uppercase;
  line-height: 1.4;
}
[data-sp-embed] .hero-center .hero-copy{
  width: 100%;
  max-width: 52rem;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0;
  margin-top: 2.75rem;
  box-sizing: border-box;
}
[data-sp-embed] .hero-center .hero-copy h1{
  margin: 0 auto;
  width: max-content;
  max-width: 100%;
  min-width: 0;
  font-size: clamp(2.25rem, 4.2vw + 0.75rem, 3.75rem);
  font-weight: var(--weight-display);
  line-height: var(--leading-display);
  letter-spacing: var(--tracking-display);
  color: var(--ink);
  box-sizing: border-box;
  text-align: center;
  word-break: normal;
  line-break: auto;
  overflow-wrap: normal;
}
[data-sp-embed] .hero-center .hero-copy h1 .hero-title-line{
  display: block;
  max-width: 100%;
}
[data-sp-embed][lang="en"] .hero-center .hero-copy{
  max-width: min(100%, 64rem);
  padding-inline: 0.5rem;
  box-sizing: border-box;
}
[data-sp-embed][lang="en"] .hero-center .hero-copy h1{
  font-size: clamp(2.25rem, 4.2vw + 0.75rem, 3.75rem);
  letter-spacing: var(--tracking-display);
  line-height: var(--leading-display);
}
[data-sp-embed] .hero-title-em{
  font-style: normal;
  font-weight: var(--weight-display-em);
  color: #e11d48;
  background: linear-gradient(105deg, rgba(254, 202, 202, 0.95), rgba(254, 215, 170, 0.85));
  background-repeat: no-repeat;
  background-size: 100% 0.4em;
  background-position: 0 88%;
  padding: 0 0.06em;
}
[data-sp-embed] .hero-center .lead{
  max-width: 36em;
  margin: 0 auto;
  font-size: var(--hero-lead-font);
  font-weight: 500;
  line-height: var(--leading-body);
  letter-spacing: var(--tracking-body);
  color: #475569;
}
[data-sp-embed] .hero-center .lead .lead-line{
  display: block;
}
[data-sp-embed] .hero-center .hero-actions{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: clamp(0.7rem, 1.2vw, 1rem);
  margin-top: var(--hero-actions-mt);
}
[data-sp-embed] .hero-center .hero-actions__pair{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: clamp(0.55rem, 1.1vw, 0.85rem);
  width: auto;
  max-width: 100%;
}
@media (min-width: 768px) {
  [data-sp-embed] .hero-center .hero-actions{
    gap: 1rem;
  }
  [data-sp-embed] .hero-center .hero-actions__pair{
    gap: 1rem;
  }
}
[data-sp-embed] .hero-center .hero-actions .button{
  min-height: var(--btn-min-h-hero);
  min-width: 12.5rem;
  padding: var(--btn-pad-y-hero) var(--btn-pad-x-hero);
  font-size: var(--btn-font-hero);
  font-weight: 600;
  letter-spacing: 0.02em;
  box-sizing: border-box;
}
[data-sp-embed] .hero-center .hero-actions .button.primary{
  box-shadow: 0 0.75rem 1.6rem rgba(15, 23, 42, 0.16);
}
[data-sp-embed] .hero-center .hero-actions .button.secondary{
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.14);
  box-shadow: 0 0.45rem 1.1rem rgba(15, 23, 42, 0.06);
}
[data-sp-embed] .hero-center .hero-actions .button.secondary.button--glow{
  min-height: calc(var(--btn-min-h-hero-glow) + 0.45rem);
  padding: calc(var(--btn-pad-y-hero-glow) + 0.18rem) calc(var(--btn-pad-x-hero-glow) + 0.85rem);
  font-size: calc(var(--btn-font-hero-glow) + 0.14rem);
  min-width: 13.5rem;
  border-color: rgba(225, 29, 72, 0.42);
  color: #e11d48;
  z-index: 1;
  box-shadow:
    0 0 0 0 rgba(225, 29, 72, 0.4),
    0 0 26px rgba(225, 29, 72, 0.34),
    0 0.5rem 1.2rem rgba(225, 29, 72, 0.14);
}
[data-sp-embed] .hero-center .hero-actions .button.button--demo{
  background: #fff;
  border: 1.5px solid #e11d48;
  color: #e11d48;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.12);
  animation: none;
  white-space: nowrap;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease, color 220ms ease;
}
[data-sp-embed] .hero-center .hero-actions .button.button--demo::after{
  content: none;
  animation: none;
}
[data-sp-embed] .hero-center .hero-actions .button.button--demo:hover{
  background: #fff;
  border-color: #be123c;
  color: #be123c;
  box-shadow: 0 18px 32px rgba(15, 23, 42, 0.18);
  transform: translateY(-6px);
  animation: none;
}
[data-sp-embed] .hero-center .hero-actions .button.button--demo:active{
  background: #fff;
  transform: translateY(-1px);
  box-shadow: 0 8px 16px rgba(15, 23, 42, 0.12);
  animation: none;
}
[data-sp-embed] .button.button--dark{
  background: #0f172a;
  color: #fff;
  border: 0;
  font-weight: 600;
  font-size: var(--btn-font);
  letter-spacing: 0.03em;
  padding: var(--btn-pad-y) var(--btn-pad-x);
  min-height: var(--btn-min-h);
  border-radius: 9999px;
  box-shadow:
    0 4px 6px -1px rgba(29, 78, 216, 0.28),
    0 2px 4px -2px rgba(15, 23, 42, 0.14);
  transition:
    background 220ms ease,
    box-shadow 220ms ease,
    transform 220ms ease;
  cursor: pointer;
  text-decoration: none;
}
[data-sp-embed] .button.button--dark:hover{
  background: #1e293b;
  box-shadow:
    0 10px 15px -3px rgba(15, 23, 42, 0.28),
    0 4px 6px -4px rgba(15, 23, 42, 0.16);
  transform: translateY(-2px);
}
[data-sp-embed] .button.button--dark:active{
  transform: translateY(0);
  background: #0f172a;
}
[data-sp-embed] .hero-center .hero-actions .button.button--dark{
  min-height: var(--btn-min-h-hero);
  min-width: 12.5rem;
  padding: var(--btn-pad-y-hero) var(--btn-pad-x-hero);
  font-size: var(--btn-font-hero);
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.12);
}
[data-sp-embed] .button.button--glow{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-color: rgba(225, 29, 72, 0.35);
  color: #e11d48;
  box-shadow:
    0 0 0 0 rgba(225, 29, 72, 0.35),
    0 0 22px rgba(225, 29, 72, 0.28),
    0 0.45rem 1.1rem rgba(225, 29, 72, 0.12);
  animation: button-glow-pulse 2.4s ease-in-out infinite;
}
[data-sp-embed] .button.button--glow::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    110deg,
    transparent 28%,
    rgba(255, 255, 255, 0.85) 48%,
    transparent 68%
  );
  transform: translateX(-130%);
  animation: button-glow-shine 3.2s ease-in-out infinite;
  pointer-events: none;
}
[data-sp-embed] .button.button--glow:hover{
  border-color: rgba(225, 29, 72, 0.5);
  box-shadow:
    0 0 0 2px rgba(225, 29, 72, 0.18),
    0 0 32px rgba(225, 29, 72, 0.4),
    0 0.55rem 1.25rem rgba(225, 29, 72, 0.18);
  animation: none;
}
[data-sp-embed] .button.secondary.button--glow{
  background: #fff;
  border: 1px solid rgba(225, 29, 72, 0.42);
  color: #e11d48;
  font-weight: 600;
  box-shadow:
    0 0 0 0 rgba(225, 29, 72, 0.4),
    0 0 26px rgba(225, 29, 72, 0.34),
    0 0.5rem 1.2rem rgba(225, 29, 72, 0.14);
  animation:
    button-glow-pulse 2.4s ease-in-out infinite,
    button-cta-bob 3s ease-in-out infinite;
}
[data-sp-embed] .button.secondary.button--glow > span{
  position: relative;
  z-index: 2;
}
[data-sp-embed] .button.secondary.button--glow:hover{
  background: #fff5f7;
  border-color: rgba(225, 29, 72, 0.6);
  color: #be123c;
  transform: scale(1.045) translateY(-2px);
  box-shadow:
    0 0 0 3px rgba(225, 29, 72, 0.18),
    0 0 40px rgba(225, 29, 72, 0.48),
    0 0.65rem 1.45rem rgba(225, 29, 72, 0.2);
  animation: none;
}
[data-sp-embed] .button.secondary.button--glow:active{
  transform: scale(0.98) translateY(0);
}
[data-sp-embed] .manager-hero .hero-actions .button.secondary.button--glow{
  z-index: 1;
}
[data-sp-embed] .button.primary.button--glow{
  color: #fff;
  border: 0;
  background: linear-gradient(135deg, #1d1d1f 0%, #2a2a2e 48%, #111113 100%);
  box-shadow:
    0 0 0 0 rgba(225, 29, 72, 0.35),
    0 0 28px rgba(225, 29, 72, 0.32),
    0 0.55rem 1.35rem rgba(29, 29, 31, 0.28);
  animation:
    button-glow-pulse 2.4s ease-in-out infinite,
    button-cta-bob 3s ease-in-out infinite;
}
[data-sp-embed] .button.primary.button--glow::after{
  z-index: 1;
  background: linear-gradient(
    110deg,
    transparent 22%,
    rgba(255, 255, 255, 0.38) 48%,
    transparent 72%
  );
  animation: button-glow-shine 3.2s ease-in-out infinite;
}
[data-sp-embed] .button.primary.button--glow > span{
  position: relative;
  z-index: 2;
}
[data-sp-embed] .button.primary.button--glow:hover{
  color: #fff;
  background: linear-gradient(135deg, #000 0%, #1d1d1f 55%, #0a0a0b 100%);
  transform: scale(1.045) translateY(-2px);
  box-shadow:
    0 0 0 3px rgba(225, 29, 72, 0.2),
    0 0 42px rgba(225, 29, 72, 0.5),
    0 0.7rem 1.6rem rgba(29, 29, 31, 0.35);
  animation: none;
}
[data-sp-embed] .button.primary.button--glow:active{
  transform: scale(0.98) translateY(0);
}
@keyframes button-glow-pulse {
  0%, 100% {
    box-shadow:
      0 0 0 0 rgba(225, 29, 72, 0.4),
      0 0 16px rgba(225, 29, 72, 0.22),
      0 0.45rem 1.1rem rgba(225, 29, 72, 0.1);
  }
  50% {
    box-shadow:
      0 0 0 10px rgba(225, 29, 72, 0),
      0 0 34px rgba(225, 29, 72, 0.45),
      0 0.55rem 1.3rem rgba(225, 29, 72, 0.16);
  }
}
@keyframes button-glow-shine {
  0%, 42% { transform: translateX(-130%); }
  62% { transform: translateX(130%); }
  100% { transform: translateX(130%); }
}
@keyframes button-cta-bob {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-3px) scale(1.02); }
}
[data-sp-embed] .hero-copy{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
[data-sp-embed] .hero-copy h1{
  line-height: var(--leading-display);
  letter-spacing: var(--tracking-display);
  font-weight: var(--weight-display);
}
[data-sp-embed] .lead{
  max-width: 32em;
  margin: 28px 0 0;
  font-size: clamp(17px, 0.45vw + 15px, 21px);
  line-height: var(--leading-body);
  font-weight: 400;
  color: var(--ink);
  letter-spacing: var(--tracking-body);
}

@keyframes soft-rise {
  0% {
    opacity: 0;
    transform: translateY(28px);
    filter: blur(8px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}
[data-sp-embed] .hero-copy .pop-line{
  display: inline-block;
  will-change: opacity, transform, filter;
}
/* Keep animated lead / CTA as block so they stack below the headline */
[data-sp-embed] .hero-copy .lead.pop-line, [data-sp-embed] .hero-copy .hero-actions.pop-line{
  display: block;
}
[data-sp-embed].js .hero-center.reveal:not(.visible) .pop-line{
  opacity: 0;
  transform: translateY(28px);
  filter: blur(8px);
}
[data-sp-embed].js .hero-center.reveal.visible .pop-line{
  animation: soft-rise 1.05s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: var(--d, 0ms);
}
[data-sp-embed] .hero-actions{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
[data-sp-embed] .button{ display: inline-flex; min-height: var(--btn-min-h); align-items: center; justify-content: center; border-radius: 980px; padding: var(--btn-pad-y) var(--btn-pad-x); font-size: var(--btn-font); font-weight: 600; letter-spacing: 0.04em; transition: transform 220ms ease, background 220ms ease, opacity 220ms ease; }
[data-sp-embed] .button:hover{ transform: scale(1.02); }
[data-sp-embed] .button.primary{ background: var(--ink); color: #fff; }
[data-sp-embed] .button.primary:hover{ background: #000; }
[data-sp-embed] .button.secondary{ background: rgba(0, 0, 0, 0.06); border: 0; color: var(--ink); }
[data-sp-embed] .manager-stack{ position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; padding-bottom: 52px; }
[data-sp-embed] .manager-stack img{ width: auto; height: min(500px, 54vh); object-fit: contain; object-position: bottom center; filter: drop-shadow(0 18px 24px rgba(29,27,22,.18)); }
[data-sp-embed] .manager-stack.side img{ opacity: .92; }
[data-sp-embed] .manager-stack span{ position: absolute; bottom: 14px; z-index: 2; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,253,250,.96); padding: 7px 10px; font-size: 12px; font-weight: 700; }
[data-sp-embed] .departments, [data-sp-embed] .workflow{
  background:
    radial-gradient(80% 60% at 12% 0%, rgba(255, 244, 238, 0.28), transparent 55%),
    linear-gradient(180deg, #ffffff 0%, #fcfcfb 55%, #faf9f7 100%);
}
[data-sp-embed] .departments-lead{
  max-width: 52rem;
  margin: 0.65rem auto 0;
  color: #64748b;
  font-size: clamp(1.05rem, 0.55vw + 0.9rem, 1.3rem);
  line-height: var(--leading-body);
  font-weight: 500;
  letter-spacing: 0.01em;
  text-align: center;
  word-break: keep-all;
  line-break: strict;
  overflow-wrap: normal;
}
@media (min-width: 640px) {
  [data-sp-embed] .departments-lead{
    font-size: clamp(1.15rem, 0.7vw + 0.95rem, 1.4rem);
  }
}
[data-sp-embed] .departments-lead-row{
  display: block;
}
[data-sp-embed] .departments-lead-line{
  display: block;
}
@media (min-width: 761px) {
  [data-sp-embed] .departments-lead{
    line-height: 1.5;
  }
  [data-sp-embed] .departments-lead-row{
    display: block;
    white-space: nowrap;
  }
  [data-sp-embed] .departments-lead-line{
    display: inline;
    white-space: nowrap;
  }
}
@media (max-width: 760px) {
  [data-sp-embed] .departments-lead-row{
    display: contents;
  }
}
[data-sp-embed] .section-heading{ max-width: 820px; margin-bottom: 48px; }
[data-sp-embed] .section-heading.compact{ margin-bottom: 32px; }
[data-sp-embed] .section-heading h2, [data-sp-embed] .contact h2, [data-sp-embed] .split-heading h2{
  font-family: var(--font-sans);
  font-size: clamp(32px, 4vw + 0.6rem, 52px);
  line-height: var(--leading-display);
  font-weight: 700;
  margin: 18px 0 0;
  letter-spacing: 0.06em;
  color: var(--ink);
  line-break: strict;
}
[data-sp-embed] .visual-copy h2{
  margin: 18px 0 0;
  font-family: var(--font-sans);
  font-size: clamp(32px, 4vw + 0.6rem, 50px);
  line-height: var(--leading-display);
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--ink);
  line-break: strict;
}
[data-sp-embed] .section-heading p:not(.eyebrow){
  margin: 22px 0 0;
  color: var(--muted);
  font-size: clamp(17px, 0.35vw + 15px, 20px);
  line-height: var(--leading-body);
  font-weight: 500;
  letter-spacing: 0.02em;
}
[data-sp-embed] .department-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
[data-sp-embed] .department-card{
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  min-height: 310px;
  overflow: hidden;
  border: 1px solid rgba(var(--glow-rgb, 52, 211, 153), 0.32);
  border-radius: 18px;
  background: var(--white);
  position: relative;
  z-index: 0;
  /* Always-on glow; intensifies + lifts on hover */
  --halo-soft:
    0 1px 3px rgba(29, 27, 22, 0.06),
    0 0 18px 3px rgba(var(--glow-rgb, 52, 211, 153), 0.38),
    0 0 36px 10px rgba(var(--glow-rgb, 52, 211, 153), 0.22);
  --halo-strong:
    0 0 28px 6px rgba(var(--glow-rgb, 52, 211, 153), 0.68),
    0 0 56px 18px rgba(var(--glow-rgb, 52, 211, 153), 0.48),
    0 14px 42px -2px rgba(var(--glow-rgb, 52, 211, 153), 0.55);
  box-shadow: var(--halo-soft);
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  transition: transform 0.3s ease, box-shadow 0.35s ease, border-color 0.3s ease, z-index 0s;
}
[data-sp-embed] .department-card:hover, [data-sp-embed] .department-card:focus-visible{
  transform: translateY(-7px);
  border-color: rgba(var(--glow-rgb, 29, 29, 31), 0.55);
  box-shadow: var(--halo-strong);
  z-index: 4;
}
[data-sp-embed] .department-card:active{
  transform: translateY(-3px) scale(0.99);
}
[data-sp-embed] .department-card:hover .card-copy li{
  background: rgba(var(--glow-rgb, 29, 29, 31), 0.16);
  color: color-mix(in srgb, rgb(var(--glow-rgb, 29, 29, 31)) 72%, #1d1d1f);
  box-shadow: 0 0 12px rgba(var(--glow-rgb, 29, 29, 31), 0.28);
}
/* Theme glow color; always lit, brighter on hover */
[data-sp-embed] .accent-sage{
  --glow-rgb: 126, 201, 160;
}
[data-sp-embed] .accent-green{
  --glow-rgb: 126, 217, 170;
}
[data-sp-embed] .accent-slate{
  --glow-rgb: 154, 167, 181;
}
[data-sp-embed] .accent-blue{
  --glow-rgb: 126, 180, 230;
}
[data-sp-embed] .accent-sky{
  --glow-rgb: 131, 199, 239;
}
[data-sp-embed] .accent-rose{
  --glow-rgb: 234, 143, 162;
}
[data-sp-embed] .accent-indigo{
  --glow-rgb: 164, 161, 239;
}
[data-sp-embed] .accent-coral{
  --glow-rgb: 238, 170, 141;
}
[data-sp-embed] .accent-amber{
  --glow-rgb: 231, 189, 99;
}
[data-sp-embed] .accent-violet{
  --glow-rgb: 190, 161, 232;
}
[data-sp-embed] .accent-teal{
  --glow-rgb: 120, 210, 196;
}
[data-sp-embed] .accent-mint{
  --glow-rgb: 104, 217, 167;
}
[data-sp-embed] .card-image{
  position: relative;
  display: flex;
  align-items: end;
  justify-content: center;
  padding: 2.35rem 0.55rem 0;
  background: #f0f0f2;
  overflow: hidden;
}
[data-sp-embed] .card-bubble{
  position: absolute;
  z-index: 3;
  top: 0.55rem;
  left: 0.55rem;
  width: max-content;
  max-width: calc(100% - 0.95rem);
  padding: 0.5rem 0.8rem;
  border-radius: 0.95rem 0.95rem 0.95rem 0.28rem;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(var(--glow-rgb, 148, 163, 184), 0.35);
  box-shadow:
    0 4px 14px rgba(15, 23, 42, 0.08),
    0 0 0 1px rgba(255, 255, 255, 0.6);
  color: #334155;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.4;
  text-align: left;
  pointer-events: none;
  opacity: 1;
  transform-origin: center bottom;
  animation: bubble-float 2.4s ease-in-out infinite;
  animation-delay: calc(var(--dept-i, 0) * 0.18s);
  animation-play-state: running;
}
[data-sp-embed] .card-bubble::after{
  content: "";
  position: absolute;
  left: 0.95rem;
  bottom: -0.38rem;
  width: 0.62rem;
  height: 0.62rem;
  background: rgba(255, 255, 255, 0.96);
  border-right: 1px solid rgba(var(--glow-rgb, 148, 163, 184), 0.35);
  border-bottom: 1px solid rgba(var(--glow-rgb, 148, 163, 184), 0.35);
  transform: rotate(45deg);
}
/* Keep floating even while the parent card is hovered / focused */
[data-sp-embed] .department-card:hover .card-bubble, [data-sp-embed] .department-card:focus-visible .card-bubble, [data-sp-embed] .department-card:active .card-bubble{
  animation-play-state: running;
  pointer-events: none;
}
@keyframes bubble-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-0.35rem); }
}
[data-sp-embed] .card-image img{ max-height: 270px; width: auto; transform-origin: center bottom; }
[data-sp-embed].js .department-card.reveal:not(.visible) .card-image img{
  opacity: 0;
  transform: translateY(1.25rem) scale(0.92);
}
[data-sp-embed].js .department-grid .department-card.reveal.visible .card-image img{
  animation:
    dept-avatar-pop 0.5s cubic-bezier(0.16, 1, 0.3, 1) both,
    dept-avatar-float 3.6s ease-in-out infinite;
  animation-delay:
    calc(var(--dept-i, 0) * 90ms),
    calc(var(--dept-i, 0) * 90ms + 0.5s);
}
@keyframes dept-avatar-pop {
  0% { opacity: 0; transform: translateY(1.4rem) scale(0.88); }
  60% { opacity: 1; transform: translateY(-0.15rem) scale(1.04); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes dept-avatar-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-0.45rem); }
}
[data-sp-embed] .card-copy{ min-width: 0; padding: 24px; }
[data-sp-embed] .card-copy p{ margin: 0; font-size: 15px; font-weight: 600; letter-spacing: 0.02em; color: #86868b; }
[data-sp-embed] .card-copy h3{ margin: 8px 0 14px; font-size: 30px; line-height: 1.15; font-weight: 700; letter-spacing: 0.02em; }
[data-sp-embed] .card-copy strong{ display: block; font-size: 17px; line-height: var(--leading-body); font-weight: 500; letter-spacing: 0.06em; color: #424245; }
[data-sp-embed] ul{ margin: 18px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
[data-sp-embed] .card-copy li{
  border-radius: 999px;
  border: 0;
  background: rgba(0,0,0,.05);
  padding: 7px 12px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #6e6e73;
  transition: background 220ms ease, color 220ms ease, box-shadow 220ms ease;
}
[data-sp-embed] .card-link{
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  flex: 0 0 auto;
  width: fit-content;
  max-width: 100%;
  gap: 0.25rem;
  margin-top: 1.1rem;
  padding: 0.45rem 0.85rem;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.3;
  color: #334155;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(226, 232, 240, 0.6);
  border-radius: 9999px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  transition:
    color 220ms ease,
    background 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease;
}
[data-sp-embed] .card-link-arrow{
  display: inline-block;
  transition: transform 220ms ease;
}
[data-sp-embed] .department-card:hover .card-link, [data-sp-embed] .department-card:focus-visible .card-link{
  color: #4f46e5;
  background: #fff;
  border-color: #c7d2fe;
  box-shadow: 0 2px 8px rgba(79, 70, 229, 0.12);
}
[data-sp-embed] .department-card:hover .card-link-arrow, [data-sp-embed] .department-card:focus-visible .card-link-arrow{
  transform: translateX(3px);
}
[data-sp-embed] .department-card:focus-visible{
  outline: 2px solid #4f46e5;
  outline-offset: 3px;
}
[data-sp-embed] .accent-sage .card-copy{ background: #e8f4ed; }
[data-sp-embed] .accent-green .card-copy{ background: #e5f8ee; }
[data-sp-embed] .accent-slate .card-copy{ background: #eceff3; }
[data-sp-embed] .accent-blue .card-copy{ background: #e4eefb; }
[data-sp-embed] .accent-sky .card-copy{ background: #e4f5fc; }
[data-sp-embed] .accent-rose .card-copy{ background: #fae9ed; }
[data-sp-embed] .accent-indigo .card-copy{ background: #ecebfd; }
[data-sp-embed] .accent-coral .card-copy{ background: #faece6; }
[data-sp-embed] .accent-amber .card-copy{ background: #fbf1d7; }
[data-sp-embed] .accent-violet .card-copy{ background: #f1eafa; }
[data-sp-embed] .accent-teal .card-copy{ background: #e5f6f3; }
[data-sp-embed] .accent-mint .card-copy{ background: #e0f7e8; }
[data-sp-embed] .white-band{
  background: var(--bg-section);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
[data-sp-embed] .workflow-list{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
[data-sp-embed] .workflow-step{ border: 1px solid var(--line); border-radius: 18px; background: var(--white); padding: 26px; min-height: 230px; }
[data-sp-embed] .workflow-step span{ display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 999px; background: var(--ink); color: #fff; font-weight: 600; letter-spacing: 0; }
[data-sp-embed] .workflow-step h3{ margin: 24px 0 12px; font-size: 22px; font-weight: 700; letter-spacing: 0.04em; line-height: var(--leading-heading); }
[data-sp-embed] .workflow-step p{ margin: 0; color: var(--muted); line-height: var(--leading-body); font-weight: 500; letter-spacing: 0.06em; font-size: 15px; }
[data-sp-embed] .contact{
  background: var(--bg-hero);
  text-align: center;
  /* Keep glow visible: overflow-x:clip alone forces y to clip too */
  overflow: visible;
}
[data-sp-embed] .contact-inner{
  max-width: 960px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
  padding-inline: 0.25rem;
  /* Room for CTA button pink glow (pulse + blur) */
  padding-block-end: 1.75rem;
}
[data-sp-embed] .contact .ai-compare-label{
  margin: 0 0 1.35rem;
}
[data-sp-embed] .contact h2{
  margin: 0;
  font-size: clamp(0.9rem, 2.8vw + 0.5rem, 2.65rem);
  line-height: var(--leading-display);
  font-weight: 600;
  letter-spacing: 0.02em;
  padding-inline-start: 0.02em;
  color: #0f172a;
  word-break: keep-all;
  overflow-wrap: normal;
  line-break: strict;
  max-width: 100%;
}
/* Spans are already block — hide <br> to avoid an empty gap line */
[data-sp-embed] .contact-title-break{ display: none; }
[data-sp-embed] .contact-title-line{
  display: block;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.25;
}
[data-sp-embed] .contact p:not(.ai-compare-label){
  max-width: 640px;
  margin: 0.9rem auto 2.25rem;
  color: #475569;
  font-size: 0.95rem;
  line-height: var(--leading-body);
  font-weight: 700;
  letter-spacing: 0.03em;
}
[data-sp-embed] .contact .button.primary{
  min-height: var(--btn-min-h-cta);
  padding: var(--btn-pad-y-cta) var(--btn-pad-x-cta);
  font-size: var(--btn-font-cta);
  min-width: clamp(13.5rem, 22vw + 5rem, 20rem);
  width: auto;
  max-width: 100%;
  margin-top: 2.25rem;
}
@media (min-width: 640px) {
  [data-sp-embed] .contact p:not(.ai-compare-label){ font-size: 1.1rem; }
}
@media (min-width: 768px) {
  [data-sp-embed] .contact .ai-compare-label{
    margin-bottom: 1.6rem;
    font-size: 0.8125rem;
  }
  [data-sp-embed] .contact h2{ font-size: clamp(1.75rem, 2vw + 1rem, 2.65rem); }
  [data-sp-embed] .contact p:not(.ai-compare-label){ font-size: 1.15rem; }
}
@media (max-width: 760px) {
  [data-sp-embed] .contact.section-band{
    /* Extra bottom pad so button glow isn't sliced on phone */
    padding: 3rem 1.25rem 4.25rem;
    overflow-x: visible;
  }
  [data-sp-embed] .contact-inner{
    max-width: 100%;
    min-width: 0;
    padding-inline: 0.25rem;
    padding-block-end: 2rem;
    box-sizing: border-box;
    overflow-x: visible;
  }
  [data-sp-embed] .contact .ai-compare-label{
    margin: 0 0 0.85rem;
    font-size: clamp(0.75rem, 2.4vw + 0.5rem, 0.875rem);
    letter-spacing: 0.12em;
  }
  /* 2行固定・中央揃え・画面幅に必ず収める */
  [data-sp-embed] .contact-title-break{ display: none; }
  [data-sp-embed] .contact-title-line{
    display: block;
    white-space: nowrap;
    text-align: center;
    width: 100%;
    line-height: 1.35;
    max-width: 100%;
  }
  [data-sp-embed] .section-heading h2, [data-sp-embed] .contact h2, [data-sp-embed] .split-heading h2{
    line-break: auto;
    word-break: normal;
    overflow-wrap: normal;
  }
  [data-sp-embed][lang="ja"] .contact h2{
    /* 1行目18文字 — 端末幅から逆算して必ず収める */
    --contact-title-chars: 18;
    --contact-title-pad: 3.75rem;
    font-size: min(1.35rem, calc((100vw - var(--contact-title-pad)) / var(--contact-title-chars) * 0.9));
    line-height: 1.35;
    margin: 0 auto;
    padding-inline: 0;
    letter-spacing: 0;
    text-align: center;
    overflow-wrap: normal;
    word-break: keep-all;
    line-break: strict;
    max-width: 100%;
    min-width: 0;
  }
  [data-sp-embed] .contact h2{
    line-height: 1.35;
    margin: 0 auto;
    padding-inline: 0;
    text-align: center;
    max-width: 100%;
    min-width: 0;
  }
  [data-sp-embed][lang="ja"] .contact p:not(.ai-compare-label){
    margin: 0.75rem auto 1.85rem;
    max-width: 100%;
    font-size: min(1rem, calc((100vw - 3.75rem) / 14 * 0.92));
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.01em;
    padding-inline: 0;
    text-align: center;
    white-space: normal;
    word-break: keep-all;
    line-break: strict;
  }
  [data-sp-embed] .contact p:not(.ai-compare-label){
    margin: 0.75rem auto 1.85rem;
    max-width: 100%;
    font-size: clamp(0.875rem, 2.5vw + 0.45rem, 1.05rem);
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.02em;
    padding-inline: 0;
    text-align: center;
    white-space: normal;
  }
  [data-sp-embed][lang="ja"] .contact-sublead--desktop{
    display: none !important;
  }

  [data-sp-embed][lang="ja"] .contact .button.primary{
    margin-top: 1.5rem;
  }

  [data-sp-embed] .contact .button.primary{
    min-width: clamp(12rem, 46vw, 17rem);
  }
  [data-sp-embed] .contact .button.primary.button--glow{
    /* Keep glow inside padded section on all phone widths */
    margin-bottom: 0.35rem;
  }
}
@media (max-width: 360px) {
  [data-sp-embed] .contact.section-band{
    padding-inline: 0.85rem;
  }
  [data-sp-embed][lang="ja"] .contact h2{
    --contact-title-pad: 2.85rem;
    font-size: min(1.35rem, calc((100vw - var(--contact-title-pad)) / var(--contact-title-chars) * 0.91));
  }
  [data-sp-embed][lang="ja"] .contact p:not(.ai-compare-label){
    font-size: min(1rem, calc((100vw - 2.85rem) / 14 * 0.93));
    letter-spacing: 0;
  }
}
[data-sp-embed] .manager-hero{ min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); align-items: center; gap: clamp(28px, 6vw, 72px); padding-top: calc(var(--sp-public-header-offset, 4.5rem) + env(safe-area-inset-top, 0px) + 2.75rem); border-bottom: 1px solid var(--line); background: linear-gradient(180deg, #fbfbfc, var(--page-soft, #e8f4ed)); }
[data-sp-embed] .back-nav{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 1.1rem;
  margin-bottom: 22px;
}
[data-sp-embed] .back-link{
  display: inline-flex;
  align-items: center;
  margin-bottom: 0;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  border-bottom: 0;
  color: #0071e3;
}
[data-sp-embed] .back-link:hover, [data-sp-embed] .back-link:focus-visible{
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
[data-sp-embed] .manager-hero h1{ font-size: clamp(40px, 5vw + 0.6rem, 72px); }
[data-sp-embed] .manager-lead-text{ max-width: 32em; margin: 24px 0 0; color: var(--muted); font-size: clamp(17px, 0.35vw + 15px, 20px); line-height: var(--leading-body); font-weight: 400; letter-spacing: var(--tracking-body); }
[data-sp-embed] .manager-portrait{ position: relative; min-height: 590px; display: flex; align-items: end; justify-content: center; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,253,250,.64); box-shadow: var(--shadow); overflow: hidden; }
[data-sp-embed] .manager-portrait::before{ content: ""; position: absolute; inset: auto 8% 0; height: 52%; border-radius: 8px 8px 0 0; background: var(--page-color, #9bd8bc); opacity: .28; }
[data-sp-embed] .manager-portrait img{ position: relative; max-height: 560px; width: auto; filter: drop-shadow(0 22px 28px rgba(29,27,22,.18)); }
[data-sp-embed] .detail-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
[data-sp-embed] .detail-grid-wide{ grid-template-columns: repeat(5, minmax(0, 1fr)); }
[data-sp-embed] .detail-card{ min-height: 260px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); padding: 26px; }
[data-sp-embed] .detail-card span{ color: var(--page-strong, #116947); font-size: 13px; font-weight: 600; letter-spacing: 0.02em; }
[data-sp-embed] .detail-card h3{ margin: 18px 0 12px; font-size: 23px; line-height: var(--leading-heading); font-weight: 700; letter-spacing: 0.04em; }
[data-sp-embed] .detail-card p{ margin: 0; color: var(--muted); line-height: var(--leading-body); font-weight: 500; letter-spacing: 0.06em; }
[data-sp-embed] .split-heading{ display: grid; grid-template-columns: .82fr 1.18fr; gap: 30px; align-items: end; margin-bottom: 32px; }
[data-sp-embed] .split-heading p:not(.eyebrow){ color: var(--muted); font-size: clamp(17px, 0.35vw + 15px, 20px); line-height: var(--leading-body); font-weight: 400; letter-spacing: var(--tracking-body); }
[data-sp-embed] .dark-band{ background: var(--dark); color: #fff; }
[data-sp-embed] .dark-band .split-heading h2, [data-sp-embed] .dark-band .output-pill{
  color: #fff;
}
[data-sp-embed] .dark-band .split-heading p:not(.eyebrow){ color: #a1a1a6; }
[data-sp-embed] .request-list{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
[data-sp-embed] .request-list-wide{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
[data-sp-embed] .request-item{ border: 1px solid var(--line); border-radius: 18px; background: var(--white); padding: 26px; }
[data-sp-embed] .request-item h3{ margin-bottom: 12px; font-size: 21px; line-height: var(--leading-heading); font-weight: 700; letter-spacing: 0.04em; }
[data-sp-embed] .request-item p{ margin: 0; color: var(--muted); line-height: var(--leading-body); font-weight: 500; letter-spacing: 0.06em; }
[data-sp-embed] .output-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
[data-sp-embed] .output-grid-wide{ grid-template-columns: repeat(5, minmax(0, 1fr)); }
[data-sp-embed] .output-pill{ min-height: 112px; display: flex; align-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(255,255,255,.07); padding: 18px; font-size: 18px; font-weight: 700; line-height: 1.45; }
[data-sp-embed] .mini-manager-grid{ display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; padding-block: 1.1rem; }
[data-sp-embed] .mini-manager{
  min-height: 210px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: end;
  border: 1px solid rgba(var(--glow-rgb, 52, 211, 153), 0.32);
  border-radius: 8px;
  background: var(--white);
  padding: 14px;
  overflow: hidden;
  position: relative;
  z-index: 0;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  --mini-float-dur: 3.6s;
  --halo-soft:
    0 1px 3px rgba(29, 27, 22, 0.06),
    0 0 16px 3px rgba(var(--glow-rgb, 52, 211, 153), 0.36),
    0 0 32px 8px rgba(var(--glow-rgb, 52, 211, 153), 0.2);
  --halo-strong:
    0 0 24px 5px rgba(var(--glow-rgb, 52, 211, 153), 0.65),
    0 0 48px 14px rgba(var(--glow-rgb, 52, 211, 153), 0.42),
    0 12px 36px -2px rgba(var(--glow-rgb, 52, 211, 153), 0.5);
  box-shadow: var(--halo-soft);
  transition: box-shadow 0.35s ease, border-color 0.3s ease, z-index 0s;
  animation: mini-manager-float var(--mini-float-dur) ease-in-out infinite;
  animation-delay: calc(var(--mini-i, 0) * -0.32s);
}
[data-sp-embed] .mini-manager-grid .mini-manager:nth-child(3n + 1){ --mini-float-dur: 3.3s; }
[data-sp-embed] .mini-manager-grid .mini-manager:nth-child(3n + 2){ --mini-float-dur: 3.8s; }
[data-sp-embed] .mini-manager-grid .mini-manager:nth-child(3n){ --mini-float-dur: 4.2s; }
/* スクロールイン時にカードを順番にぽっぽっと出す（1回きり） */
[data-sp-embed].js .mini-manager.reveal:not(.visible){
  opacity: 0;
  transform: translateY(1.15rem) scale(0.86);
  animation: none;
  transition: none;
}
[data-sp-embed].js .mini-manager.reveal.visible{
  opacity: 1;
  transition: box-shadow 0.35s ease, border-color 0.3s ease, z-index 0s;
  animation:
    mini-manager-pop 0.5s cubic-bezier(0.16, 1, 0.3, 1) both,
    mini-manager-float var(--mini-float-dur) ease-in-out infinite;
  animation-delay:
    calc(var(--mini-i, 0) * 75ms),
    calc(var(--mini-i, 0) * 75ms + 0.5s);
}
/* pop 完了後は float のみ — hover 解除で pop が再発火しない */
[data-sp-embed].js .mini-manager.reveal.visible.is-popped{
  animation: mini-manager-float var(--mini-float-dur) ease-in-out infinite;
  animation-delay: calc(var(--mini-i, 0) * -0.32s);
}
[data-sp-embed] .mini-manager:hover, [data-sp-embed] .mini-manager:focus-visible, [data-sp-embed].js .mini-manager.reveal.visible.is-popped:hover, [data-sp-embed].js .mini-manager.reveal.visible.is-popped:focus-visible{
  animation-name: mini-manager-float-lifted;
  animation-duration: var(--mini-float-dur);
  animation-delay: 0s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  animation-fill-mode: none;
  border-color: rgba(var(--glow-rgb, 29, 29, 31), 0.55);
  box-shadow: var(--halo-strong);
  z-index: 4;
}
/* pop 中の hover は影だけ強調（animation を触らない） */
[data-sp-embed].js .mini-manager.reveal.visible:not(.is-popped):hover, [data-sp-embed].js .mini-manager.reveal.visible:not(.is-popped):focus-visible{
  border-color: rgba(var(--glow-rgb, 29, 29, 31), 0.55);
  box-shadow: var(--halo-strong);
  z-index: 4;
}
[data-sp-embed] .mini-manager:active, [data-sp-embed].js .mini-manager.reveal.visible:active{
  animation: none;
  transform: translateY(-3px) scale(0.99);
}
@keyframes mini-manager-pop {
  0% { opacity: 0; transform: translateY(1.25rem) scale(0.84); }
  58% { opacity: 1; transform: translateY(-0.22rem) scale(1.06); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes mini-manager-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-0.55rem); }
}
@keyframes mini-manager-float-lifted {
  0%, 100% { transform: translateY(-6px); }
  50% { transform: translateY(calc(-6px - 0.55rem)); }
}
[data-sp-embed] .mini-manager:focus-visible{
  outline: 2px solid rgba(var(--glow-rgb, 79, 70, 229), 0.85);
  outline-offset: 3px;
}
[data-sp-embed] .mini-manager img{ max-height: 132px; width: auto; margin-bottom: 10px; }
[data-sp-embed] .mini-manager span{ font-size: 12px; font-weight: 700; color: var(--muted); }
[data-sp-embed] .mini-manager strong{ font-size: 20px; }
[data-sp-embed] .manager-page-footer{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.35rem;
  margin-top: clamp(2rem, 4vw, 3rem);
  padding-top: clamp(1.5rem, 3vw, 2.25rem);
  border-top: 1px solid var(--line);
  text-align: center;
}
[data-sp-embed] .manager-page-footer .button{
  min-height: 3.35rem;
  padding: 0.9rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}
[data-sp-embed] .manager-footer-links{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}
[data-sp-embed] .manager-home-link{
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #0071e3;
  text-decoration: none;
}
[data-sp-embed] .manager-home-link:hover, [data-sp-embed] .manager-home-link:focus-visible{
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
/* 部署ページのアクセント色。埋め込み時は body class を data-sp-page-root へ引き継ぐ */
[data-sp-embed] .manager-page{
  --page-color: #7ec9a0;
  --page-soft: #e8f4ed;
  --page-strong: #116947;
}
[data-sp-embed] .accent-page-sage{ --page-color: #7ec9a0; --page-soft: #e8f4ed; --page-strong: #116947; }
[data-sp-embed] .accent-page-green{ --page-color: #7ed9aa; --page-soft: #e5f8ee; --page-strong: #0f7a55; }
[data-sp-embed] .accent-page-slate{ --page-color: #9aa7b5; --page-soft: #eceff3; --page-strong: #3f4c5a; }
[data-sp-embed] .accent-page-blue{ --page-color: #7eb4e6; --page-soft: #e4eefb; --page-strong: #2463a6; }
[data-sp-embed] .accent-page-sky{ --page-color: #83c7ef; --page-soft: #e4f5fc; --page-strong: #176b98; }
[data-sp-embed] .accent-page-rose{ --page-color: #ea8fa2; --page-soft: #fae9ed; --page-strong: #ad3d55; }
[data-sp-embed] .accent-page-indigo{ --page-color: #a4a1ef; --page-soft: #ecebfd; --page-strong: #5047b8; }
[data-sp-embed] .accent-page-coral{ --page-color: #eeaa8d; --page-soft: #faece6; --page-strong: #a84f35; }
[data-sp-embed] .accent-page-amber{ --page-color: #e7bd63; --page-soft: #fbf1d7; --page-strong: #a16207; }
[data-sp-embed] .accent-page-violet{ --page-color: #bea1e8; --page-soft: #f1eafa; --page-strong: #6d4aa8; }
[data-sp-embed] .accent-page-teal{ --page-color: #78d2c4; --page-soft: #e5f6f3; --page-strong: #14766d; }
[data-sp-embed] .accent-page-mint{ --page-color: #68d9a7; --page-soft: #e0f7e8; --page-strong: #0f7a55; }

[data-sp-embed] .org-visual{
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(420px, 1.2fr);
  gap: clamp(16px, 2.5vw, 32px);
  align-items: center;
  background: var(--bg-section);
}
[data-sp-embed] .org-board{ border: 1px solid var(--line); border-radius: 8px; background: #fffdfa; box-shadow: var(--shadow); overflow: hidden; }
[data-sp-embed] .org-board-body{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 18px; background: linear-gradient(135deg, #fffdfa, #e9f7ef); }
[data-sp-embed] .org-lane, [data-sp-embed] .org-output{ border: 1px solid rgba(29,27,22,.12); border-radius: 8px; background: rgba(255,253,250,.82); padding: 18px; min-height: 144px; }
[data-sp-embed] .org-lane.active{ background: var(--ink); color: #fff; }
[data-sp-embed] .org-lane span{ display: block; margin-bottom: 16px; color: var(--page-strong, #116947); font-size: 12px; font-weight: 700; letter-spacing: .16em; }
[data-sp-embed] .org-lane.active span, [data-sp-embed] .org-lane.active p{ color: #d7d0c6; }
[data-sp-embed] .org-lane strong{ display: block; font-size: 21px; line-height: 1.4; font-weight: 700; letter-spacing: 0.04em; }
[data-sp-embed] .org-lane p{ margin: 14px 0 0; color: var(--muted); line-height: var(--leading-body); font-weight: 500; letter-spacing: 0.06em; }
[data-sp-embed] .org-output{ grid-column: 1 / -1; min-height: 120px; background: #11110f; color: #fff; }
[data-sp-embed] .org-output strong{
  display: block;
  margin-bottom: 14px;
  font-size: 22px;
  color: #fff;
}
[data-sp-embed] .org-output div{ display: flex; flex-wrap: wrap; gap: 8px; }
[data-sp-embed] .org-output span{
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 8px;
  background: rgba(255,255,255,.08);
  padding: 8px 10px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
}
@media (max-width: 1040px) { [data-sp-embed] .org-visual{ grid-template-columns: 1fr; } }
@media (max-width: 760px) { [data-sp-embed] .org-board-body{ grid-template-columns: 1fr; } [data-sp-embed] .org-lane, [data-sp-embed] .org-output{ min-height: 0; } }

[data-sp-embed] .manager-visual{ display: grid; grid-template-columns: minmax(0, .72fr) minmax(380px, 1.28fr); gap: clamp(28px, 5vw, 70px); align-items: center; background: var(--bg-section); border-bottom: 1px solid var(--line); }
[data-sp-embed] .visual-copy p:not(.eyebrow){
  margin: 22px 0 0;
  color: var(--muted);
  font-size: clamp(17px, 0.35vw + 15px, 20px);
  line-height: var(--leading-body);
  font-weight: 500;
  letter-spacing: 0.02em;
}
[data-sp-embed] .visual-shell{ border: 1px solid var(--line); border-radius: 8px; background: #fffdfa; box-shadow: var(--shadow); overflow: hidden; min-height: 500px; }
[data-sp-embed] .visual-toolbar{ height: 54px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.76); }
[data-sp-embed] .visual-toolbar span{ font-size: 12px; font-weight: 700; letter-spacing: .18em; color: var(--page-strong, #116947); }
[data-sp-embed] .visual-toolbar div{ display: flex; gap: 7px; }
[data-sp-embed] .visual-toolbar i{ width: 10px; height: 10px; border-radius: 999px; background: var(--page-color, #7ec9a0); opacity: .75; }
[data-sp-embed] .visual-main{ display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(210px, .75fr); gap: 14px; padding: 18px; min-height: 446px; background: linear-gradient(135deg, rgba(255,253,250,.96), var(--page-soft, #e8f4ed)); }
[data-sp-embed] .visual-board, [data-sp-embed] .visual-side{ border: 1px solid rgba(29,27,22,.12); border-radius: 8px; background: rgba(255,253,250,.78); }
[data-sp-embed] .visual-board{ position: relative; min-height: 410px; padding: 20px; overflow: hidden; }
[data-sp-embed] .visual-board > p{ position: relative; z-index: 2; max-width: 460px; margin: 0; font-size: clamp(24px, 3vw, 38px); line-height: 1.12; font-weight: 700; }
[data-sp-embed] .visual-chips{ position: absolute; z-index: 3; left: 18px; right: 18px; bottom: 18px; display: flex; flex-wrap: wrap; gap: 8px; }
[data-sp-embed] .visual-chips span{ border: 1px solid rgba(29,27,22,.14); border-radius: 8px; background: rgba(255,253,250,.86); padding: 8px 10px; font-size: 12px; font-weight: 700; color: #514b43; }
[data-sp-embed] .visual-side{ padding: 14px; }
[data-sp-embed] .visual-metric{ border-radius: 8px; background: var(--ink); color: #fff; padding: 18px; margin-bottom: 12px; }
[data-sp-embed] .visual-metric strong{ display: block; font-size: 34px; line-height: 1; }
[data-sp-embed] .visual-metric span{ display: block; margin-top: 8px; color: #d9d2c8; font-size: 12px; font-weight: 700; text-transform: uppercase; }
[data-sp-embed] .visual-side ul{ display: grid; gap: 10px; margin: 0; }
[data-sp-embed] .visual-side li{ display: grid; grid-template-columns: 36px 1fr; gap: 10px; align-items: start; border: 1px solid rgba(29,27,22,.1); background: rgba(255,255,255,.62); padding: 12px; line-height: 1.5; }
[data-sp-embed] .visual-side li span{ display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 8px; background: var(--page-color, #7ec9a0); color: #fff; font-size: 11px; font-weight: 700; }
[data-sp-embed] .event-map{ position: absolute; inset: 88px 20px 76px; border-radius: 8px; background: linear-gradient(90deg, rgba(255,255,255,.62), rgba(255,255,255,.26)), repeating-linear-gradient(0deg, transparent 0 46px, rgba(29,27,22,.06) 47px 48px), repeating-linear-gradient(90deg, transparent 0 46px, rgba(29,27,22,.06) 47px 48px); border: 1px solid rgba(29,27,22,.12); }
[data-sp-embed] .map-zone{ position: absolute; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(29,27,22,.16); border-radius: 8px; background: rgba(255,253,250,.72); font-weight: 700; color: #2f4d3f; }
[data-sp-embed] .map-zone.hall{ left: 8%; top: 12%; width: 42%; height: 48%; }
[data-sp-embed] .map-zone.street{ right: 8%; bottom: 12%; width: 42%; height: 38%; }
[data-sp-embed] .map-node{ position: absolute; z-index: 2; display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 999px; background: var(--page-color, #7ec9a0); color: #fff; font-size: 12px; font-weight: 700; box-shadow: 0 16px 30px rgba(15,122,85,.2); }
[data-sp-embed] .map-node.n1{ left: 14%; bottom: 18%; }
[data-sp-embed] .map-node.n2{ left: 43%; top: 32%; }
[data-sp-embed] .map-node.n3{ right: 12%; top: 18%; }
[data-sp-embed] .map-flow{ position: absolute; height: 4px; border-radius: 999px; background: var(--page-strong, #116947); opacity: .35; transform-origin: left center; }
[data-sp-embed] .map-flow.f1{ left: 25%; top: 61%; width: 34%; transform: rotate(-24deg); }
[data-sp-embed] .map-flow.f2{ left: 51%; top: 44%; width: 34%; transform: rotate(-7deg); }
[data-sp-embed] .heat{ position: absolute; border-radius: 999px; background: var(--page-color, #7ec9a0); opacity: .22; filter: blur(1px); }
[data-sp-embed] .heat.h1{ left: 20%; top: 22%; width: 130px; height: 90px; }
[data-sp-embed] .heat.h2{ right: 18%; bottom: 22%; width: 150px; height: 100px; }
[data-sp-embed] .heat.h3{ left: 48%; bottom: 12%; width: 110px; height: 78px; }
[data-sp-embed] .doc-preview{ position: absolute; left: 24px; right: 24px; top: 94px; bottom: 84px; display: grid; gap: 14px; align-content: start; }
[data-sp-embed] .doc-preview div{ height: 32px; border-radius: 8px; background: rgba(29,27,22,.11); }
[data-sp-embed] .doc-preview .warn{ background: color-mix(in srgb, var(--page-color, #7ec9a0) 48%, #fffdfa); border-left: 8px solid var(--page-strong, #116947); }
[data-sp-embed] .doc-preview .ok{ width: 72%; background: rgba(29,27,22,.08); }
[data-sp-embed] .chart-preview{ position: absolute; left: 28px; right: 28px; bottom: 86px; height: 210px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; align-items: end; }
[data-sp-embed] .chart-preview i{ display: block; border-radius: 8px 8px 0 0; background: linear-gradient(180deg, var(--page-color, #7ec9a0), color-mix(in srgb, var(--page-color, #7ec9a0) 35%, #fffdfa)); box-shadow: inset 0 -1px 0 rgba(29,27,22,.1); }
[data-sp-embed] .visual-kanban .chart-preview, [data-sp-embed] .visual-pipeline .chart-preview, [data-sp-embed] .visual-command .chart-preview{ height: 240px; }
[data-sp-embed] .visual-design .chart-preview i:nth-child(2), [data-sp-embed] .visual-campaign .chart-preview i:nth-child(4){ background: var(--ink); }
@media (max-width: 1040px) { [data-sp-embed] .manager-visual{ grid-template-columns: 1fr; } [data-sp-embed] .visual-shell{ min-height: 460px; } }
@media (max-width: 760px) { [data-sp-embed] .manager-visual{ padding-top: 70px; } [data-sp-embed] .visual-main{ grid-template-columns: 1fr; min-height: auto; } [data-sp-embed] .visual-board{ min-height: 360px; } [data-sp-embed] .visual-side{ display: grid; grid-template-columns: 1fr; } [data-sp-embed] .visual-side ul{ grid-template-columns: 1fr; } [data-sp-embed] .visual-metric strong{ font-size: 30px; } [data-sp-embed] .event-map{ inset: 92px 14px 78px; } [data-sp-embed] .map-node{ width: 58px; height: 58px; font-size: 10px; } [data-sp-embed] .chart-preview{ left: 18px; right: 18px; } }
@media (max-width: 480px) { [data-sp-embed] .visual-shell{ min-height: 0; } [data-sp-embed] .visual-board{ min-height: 330px; padding: 16px; } [data-sp-embed] .visual-board > p{ font-size: 25px; } [data-sp-embed] .visual-chips{ left: 14px; right: 14px; bottom: 14px; } [data-sp-embed] .map-zone{ font-size: 12px; } [data-sp-embed] .map-node{ width: 52px; height: 52px; } [data-sp-embed] .chart-preview{ height: 170px; bottom: 82px; gap: 8px; } }

/* 埋め込み時は IntersectionObserver が発火しないことがあるため
   JS側で [data-sp-embed] では即 .visible を付与する。
   スタンドアロンではスクロールインまで非表示→フェードインアップ。 */
[data-sp-embed] .reveal{
  opacity: 1;
  transform: none;
  transition: opacity 750ms cubic-bezier(0.22, 1, 0.36, 1), transform 750ms cubic-bezier(0.22, 1, 0.36, 1);
}
[data-sp-embed].js .reveal:not(.visible){
  opacity: 0;
  transform: translateY(18px);
}
[data-sp-embed].js .reveal.visible{
  opacity: 1;
  transform: translateY(0);
}
/* Keep pre-lit halo hover smooth after reveal entrance */
[data-sp-embed].js .department-card.reveal.visible{
  /* Only hover props — never transition:all (that makes window resize feel laggy) */
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease,
    filter 0.2s ease;
}
/* 行ごとの遅延アニメがあるブロックは親自体を隠さない */
[data-sp-embed].js .reveal.reveal--stagger:not(.visible), [data-sp-embed].js .reveal.reveal--stagger.visible{
  opacity: 1;
  transform: none;
  transition: none;
}

@keyframes text-rise-up {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
[data-sp-embed].js .reveal:not(.visible) .text-rise{
  opacity: 0;
  transform: translateY(18px);
}
[data-sp-embed].js .reveal.visible .text-rise:not(.text-rise--run){
  opacity: 0;
  transform: translateY(18px);
}
[data-sp-embed].js .reveal.visible .text-rise--run{
  animation: text-rise-up 0.85s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: var(--td, 0ms);
  will-change: opacity, transform;
}

@media (max-width: 1120px) { [data-sp-embed] .department-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } [data-sp-embed] .detail-grid, [data-sp-embed] .detail-grid-wide, [data-sp-embed] .output-grid, [data-sp-embed] .output-grid-wide, [data-sp-embed] .request-list-wide{ grid-template-columns: repeat(2, minmax(0, 1fr)); } [data-sp-embed] .mini-manager-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1040px) { [data-sp-embed] .manager-hero{ grid-template-columns: 1fr; }  [data-sp-embed] .manager-portrait{ min-height: 500px; } [data-sp-embed] .workflow-list{ grid-template-columns: repeat(2, minmax(0, 1fr)); } [data-sp-embed] .split-heading{ grid-template-columns: 1fr; } }
@media (max-width: 1040px) {
  [data-sp-embed] .manager-hero{
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  [data-sp-embed] .manager-hero-copy{
    display: contents;
  }
  [data-sp-embed] .manager-hero .back-nav{ order: 1; }
  [data-sp-embed] .manager-hero .eyebrow{ order: 2; }
  [data-sp-embed] .manager-hero h1{ order: 3; }
  [data-sp-embed] .manager-hero .manager-portrait{
    order: 4;
    width: 100%;
    margin-top: 0.5rem;
    margin-bottom: 0.25rem;
  }
  [data-sp-embed] .manager-hero .lead{ order: 5; }
  [data-sp-embed] .manager-hero .manager-lead-text{ order: 6; }
  [data-sp-embed] .manager-hero .hero-actions{ order: 7; }
}
@media (max-width: 760px) { [data-sp-embed] .site-nav{ top: 14px; right: 14px; } [data-sp-embed] .nav-links{ display: none; } [data-sp-embed] .menu-button{ display: block; } [data-sp-embed] .mobile-nav{ position: fixed; z-index: 19; top: 68px; right: 14px; left: auto; width: min(320px, calc(100vw - 28px)); max-height: calc(100vh - 86px); overflow-y: auto; display: none; flex-direction: column; gap: 0; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,253,250,.96); backdrop-filter: blur(16px); box-shadow: 0 16px 40px rgba(29,27,22,.12); } [data-sp-embed] .mobile-nav.open{ display: flex; } [data-sp-embed] .mobile-nav a{ padding: 15px 18px; border-top: 1px solid var(--line); font-weight: 700; } [data-sp-embed] .mobile-nav a:first-child{ border-top: 0; } [data-sp-embed] .section-band{ padding: 70px 18px; } [data-sp-embed] .hero, [data-sp-embed] .manager-hero{ padding-top: calc(var(--sp-public-header-offset, 4.5rem) + env(safe-area-inset-top, 0px) + 3rem); min-height: auto; } [data-sp-embed] .lead{ line-height: var(--leading-body); letter-spacing: var(--tracking-body); }  [data-sp-embed] .manager-stack{ padding-bottom: 44px; } [data-sp-embed] .manager-stack img{ height: 280px; } [data-sp-embed] .manager-stack span{ bottom: 10px; font-size: 10px; } [data-sp-embed] .department-grid, [data-sp-embed] .workflow-list, [data-sp-embed] .detail-grid, [data-sp-embed] .detail-grid-wide, [data-sp-embed] .request-list, [data-sp-embed] .request-list-wide, [data-sp-embed] .output-grid, [data-sp-embed] .output-grid-wide, [data-sp-embed] .mini-manager-grid{ grid-template-columns: 1fr; } [data-sp-embed] .department-card{ grid-template-columns: .82fr 1fr; min-height: 260px; } [data-sp-embed] .card-copy{ padding: 18px; } [data-sp-embed] .card-copy h3{ font-size: 26px; } [data-sp-embed] .manager-portrait{ min-height: 410px; } [data-sp-embed] .manager-portrait img{ max-height: 410px; } }
@media (max-width: 480px) { [data-sp-embed] .hero-actions{ flex-direction: column; } [data-sp-embed] .button{ width: 100%; } [data-sp-embed] .hero-center .hero-actions{ flex-direction: row; flex-wrap: wrap; gap: 0.6rem; justify-content: center; } [data-sp-embed] .hero-center .hero-actions .button{ width: auto; min-width: 8.75rem; flex: 0 1 auto; max-width: 100%; white-space: nowrap; line-height: 1.25; } [data-sp-embed] .contact .button{ width: auto; max-width: 100%; }  [data-sp-embed] .manager-stack{ padding-bottom: 40px; } [data-sp-embed] .manager-stack img{ height: 230px; } [data-sp-embed] .department-card{ grid-template-columns: minmax(6.75rem, 0.82fr) minmax(0, 1.18fr); min-height: 0; } [data-sp-embed] .card-image{ min-height: 0; } [data-sp-embed] .manager-portrait{ min-height: 360px; } [data-sp-embed] .manager-portrait img{ max-height: 360px; } }

/* distinct manager visuals */
[data-sp-embed] .route-map{ position: absolute; inset: 96px 24px 84px; }
[data-sp-embed] .route-inbox, [data-sp-embed] .route-hub, [data-sp-embed] .route-depts span, [data-sp-embed] .sales-pipeline div, [data-sp-embed] .deal-cards article, [data-sp-embed] .post, [data-sp-embed] .kanban section, [data-sp-embed] .finance-sheet table, [data-sp-embed] .person, [data-sp-embed] .scorecard, [data-sp-embed] .support-inbox article{ border: 1px solid rgba(29,27,22,.14); border-radius: 8px; background: rgba(255,253,250,.82); }
[data-sp-embed] .route-inbox{ position: absolute; left: 0; top: 38%; width: 128px; padding: 18px; font-weight: 700; text-align: center; }
[data-sp-embed] .route-hub{ position: absolute; left: 42%; top: 30%; width: 116px; height: 116px; display: flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--page-color, #7ec9a0); color: #fff; font-weight: 700; box-shadow: 0 18px 34px rgba(29,27,22,.14); }
[data-sp-embed] .route-depts{ position: absolute; right: 0; top: 10%; width: 190px; display: grid; gap: 8px; }
[data-sp-embed] .route-depts span{ padding: 10px 12px; font-weight: 700; }
[data-sp-embed] .route-map i{ position: absolute; height: 3px; background: var(--page-strong, #116947); opacity: .28; transform-origin: left center; }
[data-sp-embed] .route-map .r1{ left: 128px; top: 52%; width: 150px; transform: rotate(-8deg); }
[data-sp-embed] .route-map .r2{ left: 56%; top: 35%; width: 130px; transform: rotate(-18deg); }
[data-sp-embed] .route-map .r3{ left: 56%; top: 55%; width: 132px; transform: rotate(12deg); }
[data-sp-embed] .sales-pipeline{ position: absolute; left: 24px; right: 24px; top: 118px; display: grid; grid-template-columns: 1fr 40px 1fr 40px 1fr; align-items: center; gap: 8px; }
[data-sp-embed] .sales-pipeline div{ min-height: 112px; display: grid; place-items: center; text-align: center; }
[data-sp-embed] .sales-pipeline .hot{ background: var(--ink); color: #fff; }
[data-sp-embed] .sales-pipeline span{ font-size: 12px; font-weight: 700; color: var(--muted); }
[data-sp-embed] .sales-pipeline .hot span{ color: #d9d2c8; }
[data-sp-embed] .sales-pipeline strong{ font-size: 34px; }
[data-sp-embed] .sales-pipeline i{ height: 4px; background: var(--page-color, #7ec9a0); border-radius: 999px; }
[data-sp-embed] .deal-cards{ position: absolute; left: 24px; right: 24px; bottom: 84px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
[data-sp-embed] .deal-cards article{ padding: 14px; font-weight: 700; line-height: 1.5; }
[data-sp-embed] .deal-cards b{ color: var(--page-strong, #116947); }
[data-sp-embed] .campaign-grid{ position: absolute; left: 24px; right: 24px; top: 112px; display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 10px; }
[data-sp-embed] .post{ min-height: 86px; padding: 14px; font-weight: 700; line-height: 1.35; }
[data-sp-embed] .post.large{ grid-row: span 2; min-height: 182px; background: color-mix(in srgb, var(--page-color, #7ec9a0) 28%, #fffdfa); font-size: 24px; }
[data-sp-embed] .post.dark{ background: var(--ink); color: #fff; }
[data-sp-embed] .channel-meter{ position: absolute; left: 24px; right: 24px; bottom: 96px; display: grid; gap: 9px; }
[data-sp-embed] .channel-meter span, [data-sp-embed] .compare-bars em, [data-sp-embed] .scorecard b{ display: block; height: 12px; border-radius: 999px; background: var(--page-color, #7ec9a0); }
[data-sp-embed] .build-board{ position: absolute; left: 22px; right: 22px; top: 106px; bottom: 86px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 12px; }
[data-sp-embed] .kanban{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
[data-sp-embed] .kanban section{ padding: 12px; }
[data-sp-embed] .kanban b{ display: block; margin-bottom: 10px; color: var(--page-strong, #116947); }
[data-sp-embed] .kanban span{ display: block; margin-top: 8px; border-radius: 8px; background: rgba(29,27,22,.07); padding: 8px; font-size: 12px; font-weight: 700; }
[data-sp-embed] .build-board pre{ margin: 0; border-radius: 8px; background: #11110f; color: #d8f7e5; padding: 16px; white-space: pre-wrap; font: 700 13px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; }
[data-sp-embed] .design-canvas{ position: absolute; inset: 96px 24px 82px; display: grid; grid-template-columns: .9fr .45fr .9fr; gap: 12px; align-items: center; }
[data-sp-embed] .phone{ height: 238px; border: 1px solid rgba(29,27,22,.16); border-radius: 28px; background: #fffdfa; padding: 22px; box-shadow: inset 0 0 0 8px rgba(29,27,22,.04); }
[data-sp-embed] .phone span, [data-sp-embed] .phone strong, [data-sp-embed] .phone i, [data-sp-embed] .wireframe b{ display: block; border-radius: 8px; background: rgba(29,27,22,.1); }
[data-sp-embed] .phone span{ width: 42%; height: 16px; margin-bottom: 22px; }
[data-sp-embed] .phone strong{ height: 58px; margin-bottom: 14px; background: var(--page-color, #7ec9a0); opacity: .45; }
[data-sp-embed] .phone i{ height: 32px; margin-top: 10px; }
[data-sp-embed] .swatches{ display: grid; gap: 12px; }
[data-sp-embed] .swatches span{ height: 54px; border-radius: 999px; background: var(--page-color, #7ec9a0); border: 1px solid rgba(29,27,22,.1); }
[data-sp-embed] .swatches span:nth-child(2){ background: var(--ink); }
[data-sp-embed] .swatches span:nth-child(3){ background: #fffdfa; }
[data-sp-embed] .wireframe{ display: grid; gap: 10px; }
[data-sp-embed] .wireframe b{ height: 58px; }
[data-sp-embed] .finance-sheet{ position: absolute; left: 24px; right: 24px; top: 118px; }
[data-sp-embed] .finance-sheet table{ width: 100%; border-collapse: separate; border-spacing: 0; overflow: hidden; font-weight: 700; }
[data-sp-embed] .finance-sheet th, [data-sp-embed] .finance-sheet td{ padding: 15px 12px; border-bottom: 1px solid rgba(29,27,22,.1); text-align: left; }
[data-sp-embed] .finance-sheet th{ background: var(--ink); color: #fff; }
[data-sp-embed] .finance-sheet .alert{ color: var(--page-strong, #116947); background: color-mix(in srgb, var(--page-color, #7ec9a0) 18%, #fffdfa); }
[data-sp-embed] .people-flow{ position: absolute; inset: 106px 24px 82px; display: grid; grid-template-columns: 1fr 34px 1fr 34px 1fr; align-items: center; gap: 8px; }
[data-sp-embed] .people-flow .person{ min-height: 92px; display: grid; place-items: center; padding: 12px; font-weight: 700; text-align: center; }
[data-sp-embed] .people-flow .selected{ background: var(--page-color, #7ec9a0); color: #fff; }
[data-sp-embed] .people-flow > i{ height: 4px; border-radius: 999px; background: var(--page-color, #7ec9a0); }
[data-sp-embed] .scorecard{ grid-column: 1 / -1; display: grid; grid-template-columns: 110px 1fr; gap: 10px; padding: 14px; font-weight: 700; }
[data-sp-embed] .radar-board{ position: absolute; inset: 96px 24px 82px; display: grid; grid-template-columns: 1fr .7fr; gap: 14px; align-items: center; }
[data-sp-embed] .radar{ position: relative; aspect-ratio: 1; border-radius: 999px; border: 1px solid rgba(29,27,22,.14); background: radial-gradient(circle, transparent 0 28%, rgba(29,27,22,.06) 29% 30%, transparent 31% 55%, rgba(29,27,22,.06) 56% 57%, transparent 58%); }
[data-sp-embed] .radar span{ position: absolute; inset: 50% auto auto 50%; width: 46%; height: 2px; background: rgba(29,27,22,.12); transform-origin: left center; }
[data-sp-embed] .radar span:nth-child(1){ transform: rotate(0deg); }
[data-sp-embed] .radar span:nth-child(2){ transform: rotate(60deg); }
[data-sp-embed] .radar span:nth-child(3){ transform: rotate(120deg); }
[data-sp-embed] .radar b{ position: absolute; left: 50%; top: 50%; width: 45%; height: 3px; background: var(--page-color, #7ec9a0); transform-origin: left center; transform: rotate(28deg); }
[data-sp-embed] .radar i{ position: absolute; width: 16px; height: 16px; border-radius: 999px; background: var(--page-strong, #116947); }
[data-sp-embed] .radar .p1{ left: 60%; top: 28%; } [data-sp-embed] .radar .p2{ left: 34%; top: 62%; } [data-sp-embed] .radar .p3{ left: 72%; top: 66%; }
[data-sp-embed] .compare-bars{ display: grid; gap: 16px; }
[data-sp-embed] .support-inbox{ position: absolute; left: 24px; right: 24px; top: 112px; display: grid; gap: 10px; }
[data-sp-embed] .support-inbox article{ padding: 14px; }
[data-sp-embed] .support-inbox span{ display: inline-flex; margin-bottom: 8px; border-radius: 999px; background: var(--page-color, #7ec9a0); color: #fff; padding: 4px 8px; font-size: 11px; font-weight: 700; }
[data-sp-embed] .support-inbox strong{ display: block; font-size: 19px; }
[data-sp-embed] .support-inbox p{ margin: 6px 0 0; color: var(--muted); font-weight: 600; }
/* Phone: stack inbox + chips in normal flow (absolute layout overlaps tickets) */
@media (max-width: 760px) {
  [data-sp-embed] .visual-support .visual-board{
    min-height: 0;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    overflow: visible;
    padding-bottom: 1rem;
  }
  [data-sp-embed] .visual-support .support-inbox{
    position: static;
    left: auto;
    right: auto;
    top: auto;
    width: 100%;
  }
  [data-sp-embed] .visual-support .support-inbox article{
    padding: 0.75rem 0.85rem;
  }
  [data-sp-embed] .visual-support .support-inbox strong{
    font-size: 1rem;
  }
  [data-sp-embed] .visual-support .visual-chips{
    position: static;
    left: auto;
    right: auto;
    bottom: auto;
    margin: 0;
    width: 100%;
  }
  [data-sp-embed] .visual-support .visual-side{
    min-height: 0;
    align-content: start;
    gap: 0.65rem;
  }
  [data-sp-embed] .visual-support .visual-metric{
    margin-bottom: 0;
  }
}
@media (max-width: 760px) { [data-sp-embed] .route-map, [data-sp-embed] .design-canvas, [data-sp-embed] .people-flow, [data-sp-embed] .radar-board{ inset: 98px 14px 82px; } [data-sp-embed] .sales-pipeline{ left: 14px; right: 14px; grid-template-columns: 1fr; top: 96px; } [data-sp-embed] .sales-pipeline i{ display: none; } [data-sp-embed] .sales-pipeline div{ min-height: 66px; } [data-sp-embed] .deal-cards{ left: 14px; right: 14px; bottom: 82px; grid-template-columns: 1fr; } [data-sp-embed] .campaign-grid{ left: 14px; right: 14px; top: 98px; grid-template-columns: 1fr 1fr; } [data-sp-embed] .post.large{ min-height: 128px; } [data-sp-embed] .build-board{ left: 14px; right: 14px; top: 96px; grid-template-columns: 1fr; } [data-sp-embed] .kanban{ grid-template-columns: 1fr; } [data-sp-embed] .kanban section:nth-child(3), [data-sp-embed] .build-board pre{ display: none; } [data-sp-embed] .finance-sheet{ left: 14px; right: 14px; top: 104px; } [data-sp-embed] .finance-sheet th, [data-sp-embed] .finance-sheet td{ padding: 10px 8px; font-size: 12px; } [data-sp-embed] .people-flow{ grid-template-columns: 1fr; align-content: start; } [data-sp-embed] .people-flow > i{ display: none; } [data-sp-embed] .scorecard{ grid-column: auto; grid-template-columns: 86px 1fr; } [data-sp-embed] .radar-board{ grid-template-columns: 1fr; } [data-sp-embed] .radar{ max-height: 180px; justify-self: center; } [data-sp-embed] .support-inbox{ left: 14px; right: 14px; top: 98px; } }

/* embed header clearance for hero */
[data-sp-embed] .hero, [data-sp-embed] .manager-hero{
  padding-top: calc(var(--sp-public-header-offset, 4.5rem) + env(safe-area-inset-top, 0px) + 7rem) !important;
}
@media (max-width: 760px) {
  [data-sp-embed] .site-nav{
    top: calc(var(--sp-public-header-offset, 4.5rem) + 0.75rem) !important;
  }
  [data-sp-embed] .mobile-nav{
    top: calc(var(--sp-public-header-offset, 4.5rem) + 3.5rem) !important;
  }
}

/* ===== AI Compare + Growth ===== */
[data-sp-embed] .ai-compare.section-band, [data-sp-embed] .product-demo.section-band, [data-sp-embed] .growth-section.section-band{
  padding-top: clamp(40px, 5vw, 64px);
  padding-bottom: clamp(40px, 5vw, 64px);
}
[data-sp-embed] .growth-section.section-band{
  padding-top: clamp(22px, 3vw, 36px);
}
[data-sp-embed] .product-demo{
  background: #ffffff;
  border-bottom: 0;
}
[data-sp-embed] .growth-compare-band{
  background:
    radial-gradient(90% 70% at 8% 0%, rgba(255, 244, 236, 0.5), transparent 62%),
    radial-gradient(70% 50% at 92% 8%, rgba(255, 236, 245, 0.35), transparent 58%),
    linear-gradient(180deg, #ffffff 0%, #fefefe 48%, #fbfaf9 100%);
  border-bottom: 1px solid var(--line);
}
[data-sp-embed] .growth-section{
  background: transparent;
  border-bottom: 0;
}
[data-sp-embed] .ai-compare{
  background: transparent;
  border-bottom: 0;
  /* Card/badge glow + pop animations extend outside; Safari clips Y when x is clip */
  overflow: visible;
}

/* ===== Shared red-label heading stack ===== */
[data-sp-embed] .product-demo-heading, [data-sp-embed] .ai-compare-heading, [data-sp-embed] .departments-heading, [data-sp-embed] .workflow-heading{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}
[data-sp-embed] .product-demo-heading{
  margin-top: 0;
  margin-bottom: 0;
}
[data-sp-embed] .ai-compare-heading, [data-sp-embed] .departments-heading, [data-sp-embed] .workflow-heading{
  margin-top: 0;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}
[data-sp-embed] .product-demo-label, [data-sp-embed] .ai-compare-label{
  display: block;
  margin: 0 0 1.75rem;
  padding-inline-start: 0.14em;
  color: var(--accent-red);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: center;
  box-sizing: border-box;
}
[data-sp-embed] .ai-compare-heading .ai-compare-label{
  margin-bottom: 0.75rem;
}
[data-sp-embed] .product-demo-heading h2, [data-sp-embed] .ai-compare-heading h2, [data-sp-embed] .departments-heading h2, [data-sp-embed] .workflow-heading h2{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15em;
  margin: 0 auto;
  width: max-content;
  max-width: 100%;
  font-family: var(--font-sans);
  font-weight: 600;
  letter-spacing: 0.05em;
  padding-inline-start: 0.05em; /* optical center with letter-spacing */
  line-height: 1.4;
  color: var(--ink);
  text-align: center;
}
[data-sp-embed] .product-demo-heading h2{
  margin-bottom: 2.75rem;
  font-size: clamp(1.875rem, 2.4vw + 1rem, 3rem);
  color: #0f172a;
  word-break: keep-all;
  overflow-wrap: anywhere;
  line-break: strict;
}
[data-sp-embed] .ai-compare-heading h2, [data-sp-embed] .departments-heading h2, [data-sp-embed] .workflow-heading h2{
  font-size: clamp(1.85rem, 2.5vw + 0.95rem, 2.85rem);
  letter-spacing: 0.06em;
  padding-inline-start: 0.06em;
}
/* departments見出し：growth-titleと同サイズ（タイトル＋サブキャプション） */
[data-sp-embed] .departments-heading h2{
  font-size: clamp(1.75rem, 2.8vw + 0.9rem, 2.75rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  padding-inline-start: 0;
  line-height: 1.25;
  color: #0f172a;
  word-break: keep-all;
  overflow-wrap: anywhere;
  line-break: strict;
}
/* 比較見出し：チャットAI→組織AIを大キャッチ（growth-titleと同サイズ） */
[data-sp-embed] .ai-compare-heading h2{
  display: block;
  flex-direction: unset;
  flex-wrap: unset;
  justify-content: unset;
  align-items: unset;
  gap: unset;
  width: 100%;
  max-width: 56rem;
  margin: 0 auto;
  white-space: normal;
  font-size: clamp(2.05rem, 3.4vw + 1rem, 3.35rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  padding-inline-start: 0; /* negative tracking — no optical pad */
  line-height: 1.22;
  color: #0f172a;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
  line-break: strict;
}
[data-sp-embed] .ai-compare-heading h2 .hidden{
  display: none;
}
@media (min-width: 640px) {
  [data-sp-embed] .ai-compare-heading h2 br.hidden.sm\:inline, [data-sp-embed] .ai-compare-heading h2 .sm\:inline{
    display: inline;
  }
}
/* JA only: 末尾「、。」の視覚バランスを整え、見出しを少し右へ */
[data-sp-embed][lang="ja"] .workflow-heading h2{
  translate: 0.4em 0;
}
[data-sp-embed] .product-demo-break, [data-sp-embed] .ai-compare-break{
  display: none;
}
@media (max-width: 760px) {
  [data-sp-embed] .product-demo-label, [data-sp-embed] .ai-compare-label{
    margin-bottom: 1.25rem;
  }
  [data-sp-embed] .product-demo-heading h2{
    margin-bottom: 2rem;
    /* Keep PC line breaks (1 span = 1 line) on narrow screens */
    font-size: clamp(1.05rem, 4.05vw + 0.28rem, 1.4rem);
    letter-spacing: 0.02em;
    line-height: 1.45;
    overflow-wrap: anywhere;
    max-width: 100%;
  }
  [data-sp-embed] .product-demo-heading h2 > span, [data-sp-embed] .departments-heading h2 > span{
    white-space: normal;
    max-width: 100%;
  }
  [data-sp-embed] .departments-heading h2{
    overflow-wrap: anywhere;
    max-width: 100%;
  }
  /* Allow intentional phrase break on narrow screens */
  [data-sp-embed] .ai-compare-break{
    display: revert;
  }
  [data-sp-embed] .departments-heading, [data-sp-embed] .departments-heading h2, [data-sp-embed] .departments-heading h2 .growth-fade{
    overflow: visible;
  }
  [data-sp-embed] .ai-compare-heading h2, [data-sp-embed] .departments-heading h2, [data-sp-embed] .workflow-heading h2{
    font-size: clamp(1.15rem, 4.1vw + 0.4rem, 1.55rem);
    letter-spacing: 0.02em;
    line-height: 1.5;
    word-break: keep-all;
    overflow-wrap: normal;
    line-break: strict;
  }
  [data-sp-embed] .ai-compare-heading h2, [data-sp-embed] .departments-heading h2{
    font-size: clamp(1.65rem, 5vw + 0.65rem, 2.2rem);
    letter-spacing: -0.025em;
    line-height: 1.3;
    word-break: keep-all;
    line-break: strict;
    overflow-wrap: anywhere;
    max-width: 100%;
    box-sizing: border-box;
  }
  [data-sp-embed][lang="ja"] .ai-compare-heading h2{
    white-space: nowrap;
    overflow-wrap: normal;
    font-size: min(2.2rem, calc((100vw - 2.75rem) / 12.4));
    letter-spacing: -0.03em;
  }
  [data-sp-embed] .departments-heading h2{
    padding-block: 0.2em;
    line-height: 1.45;
  }
  [data-sp-embed] .ai-compare-sub{
    margin-bottom: 0.5rem;
    font-size: 0.75rem;
    padding: 0 0.5rem;
  }
  [data-sp-embed] .ai-org-def, [data-sp-embed] .ai-compare-heading .mt-4.p-4{
    margin-top: 1.85rem;
    padding: 1rem 1.1rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    align-self: stretch;
  }
}
[data-sp-embed] .product-demo-heading > p:empty{
  display: none;
}
[data-sp-embed] .product-demo-heading p{
  max-width: 42rem;
  margin: 0 auto 3rem;
  color: #475569;
  font-size: clamp(1rem, 0.35vw + 0.92rem, 1.125rem);
  line-height: var(--leading-body);
  font-weight: 500;
  letter-spacing: 0.04em;
}
[data-sp-embed] .product-demo-stage{
  --demo-visible: 0.93; /* center content after equal L/R pillarbox crop */
  position: relative;
  isolation: isolate;
  max-width: 64rem;
  margin: 0 auto 0;
  padding: 0 1rem;
  overflow: visible;
  text-align: center;
}
[data-sp-embed] .product-demo-flow{
  position: relative;
  width: 100%;
  max-width: 64rem;
  margin: 0 auto;
}
[data-sp-embed] .product-demo-glow{
  position: absolute;
  top: -1rem;
  bottom: -1rem;
  left: 50%;
  z-index: 0;
  width: calc(100% * var(--demo-visible) + 2rem);
  transform: translateX(-50%);
  border-radius: 1.5rem;
  background: linear-gradient(to right, rgba(239, 68, 68, 0.15), rgba(244, 63, 94, 0.1), rgba(99, 102, 241, 0.15));
  filter: blur(40px);
  pointer-events: none;
}
[data-sp-embed] .product-demo-frame{
  position: relative;
  z-index: 1;
  width: calc(100% * var(--demo-visible));
  max-width: none;
  margin: 0 auto;
  padding: 0;
  border-radius: 1rem;
  border: 1px solid rgba(248, 113, 113, 0.35);
  background: #f8fafc;
  box-shadow:
    0 25px 50px -12px rgba(29, 78, 216, 0.28),
    0 0 0 1px rgba(254, 202, 202, 0.35),
    0 0 28px rgba(239, 68, 68, 0.18),
    0 0 56px rgba(244, 63, 94, 0.1);
  overflow: hidden;
  will-change: auto;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  animation: none;
}
@keyframes product-demo-glow {
  0%, 100% {
    border-color: rgba(248, 113, 113, 0.32);
    box-shadow:
      0 22px 44px -14px rgba(15, 23, 42, 0.2),
      0 0 0 1px rgba(254, 202, 202, 0.28),
      0 0 22px rgba(239, 68, 68, 0.14),
      0 0 48px rgba(244, 63, 94, 0.08);
  }
  50% {
    border-color: rgba(248, 113, 113, 0.55);
    box-shadow:
      0 26px 52px -12px rgba(15, 23, 42, 0.24),
      0 0 0 1px rgba(254, 202, 202, 0.5),
      0 0 36px rgba(239, 68, 68, 0.28),
      0 0 72px rgba(244, 63, 94, 0.16);
  }
}
[data-sp-embed] .product-demo-media{
  /* Size video to full stage width; narrower frame clips equal L/R bars (no stretch). */
  position: relative;
  display: block;
  width: calc(100% / var(--demo-visible));
  left: 50%;
  transform: translateX(-50%) translateZ(0);
  overflow: visible;
  border-radius: 0;
  background: transparent;
}
[data-sp-embed] .product-demo-shot{
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  object-position: center;
  background: #f8fafc;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
[data-sp-embed] .product-demo-caption{
  position: relative;
  z-index: 1;
  display: inline-block;
  max-width: calc(100% * var(--demo-visible));
  margin: 1.25rem auto 0;
  padding: 0.5rem 1.15rem;
  border: 1px solid rgba(248, 113, 113, 0.35);
  border-radius: 9999px;
  background: rgba(255, 241, 242, 0.92);
  color: #be123c;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.5;
  text-align: center;
  box-shadow:
    0 0 0 1px rgba(254, 202, 202, 0.35),
    0 0 22px rgba(239, 68, 68, 0.18),
    0 0 40px rgba(244, 63, 94, 0.1);
  will-change: auto;
  animation: none;
}
[data-sp-embed] .product-demo-caption-break{
  display: none;
}
[data-sp-embed] .product-demo-caption-unit{
  white-space: nowrap;
}
@media (max-width: 767px) {
  [data-sp-embed] .product-demo-caption{
    border-radius: 1.35rem;
    padding: 0.55rem 1rem;
    line-height: 1.55;
    white-space: normal;
  }
  [data-sp-embed] .product-demo-caption-break{
    display: inline;
  }
}
@media (min-width: 768px) {
  [data-sp-embed] .product-demo-caption{
    font-size: 0.9375rem;
    white-space: nowrap;
    max-width: none;
  }
}
@keyframes product-demo-caption-glow {
  0%, 100% {
    border-color: rgba(248, 113, 113, 0.32);
    box-shadow:
      0 0 0 1px rgba(254, 202, 202, 0.28),
      0 0 18px rgba(239, 68, 68, 0.14),
      0 0 36px rgba(244, 63, 94, 0.08);
  }
  50% {
    border-color: rgba(248, 113, 113, 0.55);
    box-shadow:
      0 0 0 1px rgba(254, 202, 202, 0.5),
      0 0 28px rgba(239, 68, 68, 0.28),
      0 0 52px rgba(244, 63, 94, 0.16);
  }
}
[data-sp-embed] .product-demo-stage > .product-demo-glow, [data-sp-embed] .product-demo-stage > .product-demo-frame{
  text-align: initial;
}

/* Demo → STEP connectors + cascade */
[data-sp-embed] .product-demo-points{
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas:
    "drop"
    "step1"
    "link1"
    "step2"
    "link2"
    "step3";
  justify-items: center;
  gap: 0.35rem 0;
  width: 100%;
  max-width: 64rem;
  margin: 2.75rem auto 0;
  padding: 0 1rem;
}
[data-sp-embed] .product-demo-points > .product-demo-point[data-demo-step="1"]{ grid-area: step1; width: 100%; }
[data-sp-embed] .product-demo-points > .product-demo-point[data-demo-step="2"]{ grid-area: step2; width: 100%; }
[data-sp-embed] .product-demo-points > .product-demo-point[data-demo-step="3"]{ grid-area: step3; width: 100%; }
[data-sp-embed] .product-demo-points > .product-demo-link[data-demo-link="1"]{ grid-area: link1; }
[data-sp-embed] .product-demo-points > .product-demo-link[data-demo-link="2"]{ grid-area: link2; }
[data-sp-embed] .product-demo-drop{
  grid-area: drop;
  position: absolute;
  top: -3.35rem;
  left: 50%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 0.25rem;
  height: 3.35rem;
  color: #ef4444;
  transform: translateX(-50%);
  pointer-events: none;
}
@media (min-width: 768px) {
  [data-sp-embed] .product-demo-points{
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
    grid-template-areas: "step1 link1 step2 link2 step3";
    align-items: stretch;
    justify-items: stretch;
    gap: 0 0.35rem;
    margin-top: 3.75rem;
  }
  [data-sp-embed] .product-demo-drop{
    top: -3.75rem;
    left: 16.666%;
    height: 3.75rem;
  }
  [data-sp-embed] .product-demo-points > .product-demo-link{
    align-self: center;
  }
}
[data-sp-embed] .product-demo-drop-track{
  position: absolute;
  top: 0;
  bottom: 0.55rem;
  left: 50%;
  width: 0.22rem;
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(239, 68, 68, 0.2), rgba(239, 68, 68, 0.7));
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.25);
  overflow: hidden;
}
[data-sp-embed] .product-demo-drop-pulse{
  position: absolute;
  top: 0;
  left: 50%;
  width: 0.42rem;
  height: 0.85rem;
  border-radius: 999px;
  background: #ef4444;
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.85), 0 0 18px rgba(244, 63, 94, 0.45);
  transform: translateX(-50%);
  opacity: 0;
}
[data-sp-embed] .product-demo-drop-head{
  position: absolute;
  bottom: -0.15rem;
  left: 50%;
  width: 1.05rem;
  height: 0.7rem;
  transform: translateX(-50%);
  color: #ef4444;
  filter: drop-shadow(0 0 6px rgba(239, 68, 68, 0.45));
}
[data-sp-embed] .product-demo-link{
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f43f5e;
  pointer-events: none;
}
[data-sp-embed] .product-demo-link-svg{
  display: block;
  overflow: visible;
}
[data-sp-embed] .product-demo-link-svg--h{
  width: 2.75rem;
  height: 1.4rem;
}
[data-sp-embed] .product-demo-link-svg--v{
  width: 1.4rem;
  height: 2.75rem;
}
[data-sp-embed] .product-demo-link-svg--h{ display: none; }
[data-sp-embed] .product-demo-link-svg--v{ display: block; }
@media (min-width: 768px) {
  [data-sp-embed] .product-demo-link-svg--h{ display: block; }
  [data-sp-embed] .product-demo-link-svg--v{ display: none; }
}
[data-sp-embed] .product-demo-link-line{ opacity: 0.45; }
[data-sp-embed] .product-demo-link-chevron{
  filter: drop-shadow(0 0 6px rgba(244, 63, 94, 0.4));
}
[data-sp-embed] .product-demo-link-dot{ opacity: 0; }

[data-sp-embed] .product-demo-point{
  position: relative;
  overflow: hidden;
  padding: 1.5rem;
  border: 1px solid rgba(226, 232, 240, 0.8);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  cursor: default;
  transition: box-shadow 300ms ease, border-color 300ms ease;
}
[data-sp-embed] .product-demo-point:hover{
  border-color: rgba(239, 68, 68, 0.45);
  box-shadow:
    0 20px 40px -12px rgba(239, 68, 68, 0.18),
    0 0 28px rgba(244, 63, 94, 0.28),
    0 0 52px rgba(251, 146, 60, 0.16),
    0 12px 28px rgba(15, 23, 42, 0.08);
}
@media (max-width: 767px) {
  [data-sp-embed] .product-demo-point:not([data-demo-step="3"]){
    transition: none;
  }
  [data-sp-embed] .product-demo-point:not([data-demo-step="3"]):hover, [data-sp-embed] .product-demo-point:not([data-demo-step="3"]):active, [data-sp-embed] .product-demo-point:not([data-demo-step="3"]):focus{
    transform: none;
    border-color: rgba(226, 232, 240, 0.8);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  }
}
[data-sp-embed] .product-demo-step{
  display: block;
  margin-bottom: 0.5rem;
  color: #dc2626;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
[data-sp-embed] .product-demo-point h3{
  margin: 0 0 0.55rem;
  color: #0f172a;
  font-family: var(--font-sans);
  font-size: clamp(1rem, 0.2vw + 0.95rem, 1.1rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: var(--leading-heading);
}
[data-sp-embed] .product-demo-point p{
  margin: 0;
  color: #475569;
  font-size: 0.94rem;
  line-height: var(--leading-body);
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  [data-sp-embed] .product-demo-point p{
    font-size: 0.8125rem;
  }
}

/* STEP 03 — soft glow behind the card only */
[data-sp-embed] .product-demo-point[data-demo-step="3"]{
  z-index: 2;
  overflow: visible;
  isolation: isolate;
  border-color: rgba(251, 113, 133, 0.42);
  background: rgba(255, 255, 255, 0.96);
  box-shadow:
    0 10px 24px -12px rgba(225, 29, 72, 0.16),
    0 0 0 1px rgba(254, 202, 202, 0.4),
    0 0 28px rgba(244, 63, 94, 0.2),
    0 0 56px rgba(251, 146, 60, 0.12),
    0 0 84px rgba(244, 63, 94, 0.08);
  will-change: auto;
  animation: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
[data-sp-embed] .product-demo-point[data-demo-step="3"]::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: -1;
  box-shadow:
    0 0 28px rgba(244, 63, 94, 0.22),
    0 0 56px rgba(251, 146, 60, 0.12);
  animation: demo-step-3-glow-fade 2.8s ease-in-out infinite;
}
@keyframes demo-step-3-glow-fade {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}
[data-sp-embed] .product-demo-point[data-demo-step="3"]:hover{
  border-color: rgba(244, 63, 94, 0.55);
  box-shadow:
    0 16px 32px -12px rgba(225, 29, 72, 0.2),
    0 0 0 1px rgba(254, 202, 202, 0.55),
    0 0 34px rgba(244, 63, 94, 0.26),
    0 0 64px rgba(251, 146, 60, 0.16),
    0 0 96px rgba(244, 63, 94, 0.1);
}

/* Cascade appearance */
[data-sp-embed].js .product-demo-flow:not(.is-ready) .product-demo-frame{
  opacity: 0;
  transform: translateY(0.75rem) scale(0.985);
}
[data-sp-embed].js .product-demo-flow.is-ready .product-demo-frame{
  animation: demo-frame-in 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}
[data-sp-embed].js .product-demo-flow:not(.is-cascading) .product-demo-caption{
  opacity: 0;
  transform: translateY(0.4rem);
  animation: none;
}
[data-sp-embed].js .product-demo-flow.is-cascading .product-demo-caption{
  animation: demo-caption-in 0.55s ease both;
}
/* STEP 01–03 stay visible. Sequential enter is disabled. */
[data-sp-embed].js .product-demo-flow .product-demo-drop, [data-sp-embed].js .product-demo-flow .product-demo-link, [data-sp-embed].js .product-demo-flow .product-demo-point, [data-sp-embed].js .product-demo-flow:not(.is-steps-cascading) .product-demo-drop, [data-sp-embed].js .product-demo-flow:not(.is-steps-cascading) .product-demo-link, [data-sp-embed].js .product-demo-flow:not(.is-steps-cascading) .product-demo-point, [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-drop, [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-link, [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-point, [data-sp-embed].js .product-demo-flow.is-steps-done .product-demo-drop, [data-sp-embed].js .product-demo-flow.is-steps-done .product-demo-link, [data-sp-embed].js .product-demo-flow.is-steps-done .product-demo-point{
  opacity: 1;
  visibility: visible;
  animation: none;
}
[data-sp-embed].js .product-demo-flow .product-demo-point, [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-point, [data-sp-embed].js .product-demo-flow.is-steps-done .product-demo-point{
  transform: none;
}

@keyframes demo-frame-in {
  from { opacity: 0; transform: translateY(0.75rem) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes demo-caption-in {
  from { opacity: 0; transform: translateY(0.4rem); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes demo-drop-in {
  from { opacity: 0; transform: translateX(-50%) translateY(-0.4rem); }
  to { opacity: 1; transform: translateX(-50%) translateY(0); }
}
@keyframes demo-drop-pulse {
  0% { transform: translateX(-50%) translateY(0); opacity: 0; }
  12% { opacity: 1; }
  85% { opacity: 1; }
  100% { transform: translateX(-50%) translateY(2.6rem); opacity: 0; }
}
@keyframes demo-step-in {
  from { opacity: 0; transform: translateY(1rem); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes demo-link-in {
  from { opacity: 0; transform: scale(0.85); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes demo-link-pulse-h {
  0% { opacity: 0; transform: translateX(0); }
  15% { opacity: 1; }
  70% { opacity: 1; }
  100% { opacity: 0; transform: translateX(28px); }
}
@keyframes demo-link-pulse-v {
  0% { opacity: 0; transform: translateY(0); }
  15% { opacity: 1; }
  70% { opacity: 1; }
  100% { opacity: 0; transform: translateY(28px); }
}
@keyframes demo-step-celebrate {
  0% {
    transform: scale(1);
    border-color: rgba(251, 113, 133, 0.38);
    box-shadow:
      0 10px 24px -12px rgba(225, 29, 72, 0.14),
      0 0 0 1px rgba(254, 202, 202, 0.35),
      0 0 24px rgba(244, 63, 94, 0.16),
      0 0 48px rgba(251, 146, 60, 0.1);
  }
  45% {
    transform: scale(1.03);
    border-color: rgba(244, 63, 94, 0.62);
    box-shadow:
      0 16px 32px -12px rgba(225, 29, 72, 0.22),
      0 0 0 1px rgba(254, 202, 202, 0.55),
      0 0 36px rgba(244, 63, 94, 0.28),
      0 0 64px rgba(251, 146, 60, 0.16),
      0 0 90px rgba(244, 63, 94, 0.1);
  }
  100% {
    transform: scale(1);
    border-color: rgba(251, 113, 133, 0.42);
    box-shadow:
      0 10px 24px -12px rgba(225, 29, 72, 0.16),
      0 0 0 1px rgba(254, 202, 202, 0.4),
      0 0 28px rgba(244, 63, 94, 0.2),
      0 0 56px rgba(251, 146, 60, 0.12),
      0 0 84px rgba(244, 63, 94, 0.08);
  }
}
@keyframes demo-step-3-glow {
  0%, 100% {
    border-color: rgba(251, 113, 133, 0.38);
    box-shadow:
      0 10px 24px -12px rgba(225, 29, 72, 0.14),
      0 0 0 1px rgba(254, 202, 202, 0.35),
      0 0 24px rgba(244, 63, 94, 0.16),
      0 0 48px rgba(251, 146, 60, 0.1),
      0 0 72px rgba(244, 63, 94, 0.06);
  }
  50% {
    border-color: rgba(244, 63, 94, 0.55);
    box-shadow:
      0 12px 28px -12px rgba(225, 29, 72, 0.2),
      0 0 0 1px rgba(254, 202, 202, 0.5),
      0 0 32px rgba(244, 63, 94, 0.26),
      0 0 60px rgba(251, 146, 60, 0.15),
      0 0 88px rgba(244, 63, 94, 0.1);
  }
}

[data-sp-embed] .growth-title{
  margin: 0 auto;
  max-width: none;
  width: 100%;
  font-family: var(--font-sans);
  font-size: clamp(2.05rem, 3.4vw + 1rem, 3.35rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.22;
  color: #0f172a;
  text-align: center;
}
/* Marker behind text (hero-title-em keeps its own style) */
[data-sp-embed] .ai-compare-accent, [data-sp-embed] .text-accent-em, [data-sp-embed] .text-indigo-600, [data-sp-embed] .growth-title-em{
  font-weight: var(--weight-display-em);
  font-style: normal;
  display: inline;
  padding: 0 0.06em;
  color: #e11d48;
  -webkit-text-fill-color: currentColor;
  background: linear-gradient(105deg, rgba(254, 202, 202, 0.95), rgba(254, 215, 170, 0.85));
  background-repeat: no-repeat;
  background-size: 100% 0.4em;
  background-position: 0 88%;
}
[data-sp-embed] .font-bold{
  font-weight: 700;
}
[data-sp-embed] .font-semibold{
  font-weight: 600;
}
[data-sp-embed] .ai-compare-sub{
  margin: 0 auto 0.5rem;
  max-width: 40rem;
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  padding-inline-start: 0.08em;
  line-height: 1.5;
  color: #e11d48;
  text-align: center;
  text-transform: none;
}
@media (min-width: 640px) {
  [data-sp-embed] .ai-compare-sub{
    font-size: 0.875rem;
  }
}
[data-sp-embed] .ai-org-def, [data-sp-embed] .ai-compare-heading .mt-4.p-4{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  margin-top: clamp(2.35rem, 3.8vw, 3.15rem);
  margin-left: auto;
  margin-right: auto;
  padding: clamp(1rem, 1.4vw, 1.25rem) clamp(1.75rem, 4vw, 3.25rem);
  width: 100%;
  max-width: none;
  min-width: 0;
  border-radius: 1.15rem;
  border: 1px solid rgba(15, 23, 42, 0.05);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(252, 252, 253, 0.92) 100%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 8px 28px rgba(15, 23, 42, 0.04);
  color: #515154;
  font-size: clamp(0.9rem, 0.5vw + 0.78rem, 1.05rem);
  line-height: 1.75;
  font-weight: 400;
  letter-spacing: -0.01em;
  text-align: center;
  box-sizing: border-box;
  overflow-wrap: break-word;
}
[data-sp-embed] .ai-org-def-label{
  display: block;
  width: 100%;
  color: #1d1d1f;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin: 0;
  line-height: 1.45;
  text-align: center;
}
[data-sp-embed] .ai-org-def-body{
  display: block;
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  font-size: inherit;
  font-weight: 400;
  text-align: center;
  text-wrap: pretty;
  overflow-wrap: break-word;
  word-break: normal;
  line-break: strict;
  white-space: normal;
}
@media (max-width: 899px) {
  [data-sp-embed] .ai-org-def-body{
    font-size: clamp(0.825rem, 2.8vw, 0.95rem);
  }
}
@keyframes ai-org-def-vibe {
  0%, 78%, 100% {
    transform: translate3d(0, 0, 0);
  }
  80% { transform: translate3d(-2.5px, 0, 0); }
  83% { transform: translate3d(2.5px, 0, 0); }
  86% { transform: translate3d(-2px, 0, 0); }
  89% { transform: translate3d(2px, 0, 0); }
  92% { transform: translate3d(-1px, 0, 0); }
  95% { transform: translate3d(1px, 0, 0); }
}
@keyframes ai-org-def-border-glow {
  0%, 100% {
    border-color: rgba(251, 146, 106, 0.4);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.92),
      0 1px 4px rgba(244, 114, 82, 0.06),
      0 0 0 1px rgba(254, 215, 170, 0.28),
      0 0 14px rgba(251, 146, 106, 0.18),
      0 0 28px rgba(244, 63, 94, 0.08);
  }
  50% {
    border-color: rgba(251, 146, 106, 0.58);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.92),
      0 1px 4px rgba(244, 114, 82, 0.1),
      0 0 0 1px rgba(254, 215, 170, 0.42),
      0 0 18px rgba(251, 146, 106, 0.32),
      0 0 36px rgba(244, 63, 94, 0.14);
  }
}
@media (max-width: 760px) {
  [data-sp-embed] .ai-org-def, [data-sp-embed] .ai-compare-heading .mt-4.p-4{
    margin-top: 1.85rem;
    font-size: 0.8125rem;
    padding: 1rem 1.1rem;
    width: auto;
    max-width: 100%;
    min-width: 0;
    align-self: stretch;
    gap: 0.4rem;
    box-sizing: border-box;
    overflow-wrap: break-word;
    word-break: normal;
    line-break: strict;
    letter-spacing: -0.01em;
  }
  [data-sp-embed] .ai-org-def-label{
    font-size: 0.8125rem;
    letter-spacing: 0.05em;
  }
  [data-sp-embed] .ai-compare-heading{
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
}
[data-sp-embed] .growth-lead{
  max-width: 52rem;
  margin: 0.65rem auto 1.5rem;
  color: #64748b;
  font-size: clamp(1.05rem, 0.55vw + 0.9rem, 1.3rem);
  line-height: var(--leading-body);
  font-weight: 500;
  letter-spacing: 0.01em;
  text-align: center;
  word-break: keep-all;
  line-break: strict;
  overflow-wrap: normal;
}
[data-sp-embed][lang="en"] .growth-lead{
  word-break: normal;
  line-break: auto;
}
[data-sp-embed] .growth-lead-line{
  display: block;
}
[data-sp-embed] .growth-lead-break{
  display: none;
}
[data-sp-embed] .growth-orch-nowrap{
  white-space: nowrap;
}
@media (min-width: 640px) {
  [data-sp-embed] .growth-lead{
    font-size: clamp(1.15rem, 0.7vw + 0.95rem, 1.4rem);
  }
}
[data-sp-embed] .growth-orch-note{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: clamp(2.35rem, 3.8vw, 3.15rem) auto 0;
  padding: clamp(1rem, 1.4vw, 1.25rem) clamp(1.75rem, 4vw, 3.25rem);
  box-sizing: border-box;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(252, 252, 253, 0.92) 100%);
  border-radius: 1.15rem;
  border: 1px solid rgba(15, 23, 42, 0.05);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 8px 28px rgba(15, 23, 42, 0.04);
  color: #515154;
  font-size: clamp(0.9rem, 0.5vw + 0.78rem, 1.05rem);
  line-height: 1.75;
  font-weight: 400;
  letter-spacing: -0.01em;
  text-align: center;
  overflow-wrap: normal;
  word-break: normal;
  line-break: strict;
  text-wrap: pretty;
}
[data-sp-embed][lang="en"] .growth-orch-note{
  line-break: auto;
  overflow-wrap: break-word;
}
[data-sp-embed] .growth-orch-soft{
  display: none;
}
[data-sp-embed] .growth-orch-note-label{
  display: block;
  width: 100%;
  box-sizing: border-box;
  color: #1d1d1f;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin: 0;
  white-space: normal;
  word-break: keep-all;
  line-break: strict;
  overflow-wrap: break-word;
  text-align: center;
  line-height: 1.45;
  font-size: 0.875rem;
}
[data-sp-embed][lang="en"] .growth-orch-note-label{
  letter-spacing: 0.04em;
  word-break: normal;
  line-break: auto;
  overflow-wrap: normal;
}
[data-sp-embed] .growth-orch-note-break{
  display: none;
}
[data-sp-embed] .growth-orch-note-body, [data-sp-embed] .growth-orch-note-para{
  display: block;
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  font-size: inherit;
  font-weight: 400;
  text-align: center;
  text-wrap: pretty;
  overflow-wrap: break-word;
  word-break: normal;
  line-break: strict;
  white-space: normal;
}
[data-sp-embed] .growth-orch-note-para{
  margin-top: 0;
}
[data-sp-embed] .growth-orch-note .growth-orch-nowrap{
  white-space: nowrap;
}
@media (max-width: 899px) {
  [data-sp-embed] .growth-orch-note-body, [data-sp-embed] .growth-orch-note-para{
    font-size: clamp(0.825rem, 2.8vw, 0.95rem);
  }
}
/* Static highlight + color (works on mobile even when vibe animations are off) */
[data-sp-embed] .growth-orch-note .growth-kw--bad, [data-sp-embed] .growth-orch-note .growth-kw--good{
  font-size: 0.95em;
  display: inline;
  border-radius: 999px;
  font-style: normal;
  font-weight: 600;
  padding: 0.12em 0.55em;
  margin: 0 0.12em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  border: none;
  box-shadow: none;
  text-shadow: none;
}
[data-sp-embed] .growth-orch-note .growth-kw--bad{
  color: #c41e3a;
  background: rgba(255, 59, 48, 0.1);
}
[data-sp-embed] .growth-orch-note .growth-kw--good{
  color: #1d7a4c;
  background: rgba(52, 199, 89, 0.12);
}
@keyframes growth-orch-kw-glow-bad {
  0%, 100% {
    color: #e11d48;
    border-color: rgba(244, 63, 94, 0.45);
    background: rgba(255, 241, 245, 0.72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
  }
  50% {
    color: #fb7185;
    border-color: rgba(244, 63, 94, 0.68);
    background: rgba(255, 228, 235, 0.88);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.9),
      0 0 0 2px rgba(244, 63, 94, 0.1);
  }
}
@keyframes growth-orch-kw-glow-good {
  0%, 100% {
    color: #047857;
    border-color: rgba(16, 185, 129, 0.45);
    background: rgba(236, 253, 245, 0.72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
  }
  50% {
    color: #10b981;
    border-color: rgba(16, 185, 129, 0.68);
    background: rgba(209, 250, 229, 0.88);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.9),
      0 0 0 2px rgba(16, 185, 129, 0.1);
  }
}
/* Keep keyword highlights static (Apple-like, no pulse) */
@media (min-width: 768px) {
  [data-sp-embed].js .growth-lede.reveal.visible .growth-orch-note .growth-kw--bad, [data-sp-embed].js .growth-lede.reveal.visible .growth-orch-note .growth-kw--good{
    animation: none;
  }
}
[data-sp-embed] .growth-lede .ai-compare-label{
  margin-bottom: 1.25rem;
}
[data-sp-embed].js .workflow-heading.reveal.visible .ai-compare-accent{
  animation: growth-title-em-glow 2.8s ease-in-out 0.4s infinite;
}
[data-sp-embed].js .ai-compare-heading.reveal.visible .ai-compare-accent, [data-sp-embed].js .ai-compare-heading.reveal.visible .text-accent-em, [data-sp-embed].js .ai-compare-heading.reveal.visible .text-indigo-600, [data-sp-embed].js .ai-compare-heading.reveal.visible .growth-title-em{
  animation: none;
}
[data-sp-embed].js .departments-heading.reveal.visible .ai-compare-accent, [data-sp-embed].js .departments-heading.reveal.visible .growth-title-em{
  animation: none;
}
[data-sp-embed] .ai-compare-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 28px);
  width: 100%;
  max-width: none;
  margin: 0 auto;
  align-items: stretch;
}
[data-sp-embed] .ai-compare-card{
  min-width: 0;
  display: flex;
  flex-direction: column;
}
[data-sp-embed] .ai-compare-card-body{
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  padding: 3rem 2rem 1.1rem;
  border-radius: 1.1rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #fff;
  box-shadow:
    0 10px 24px rgba(15, 23, 42, 0.05),
    0 0 28px rgba(148, 163, 184, 0.22),
    0 0 56px rgba(100, 116, 139, 0.14);
  will-change: auto;
  animation: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: box-shadow 240ms ease, border-color 240ms ease;
}
[data-sp-embed] .ai-compare-card-body::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  box-shadow:
    0 12px 28px rgba(15, 23, 42, 0.07),
    0 0 36px rgba(148, 163, 184, 0.34),
    0 0 72px rgba(100, 116, 139, 0.22);
  opacity: 0.45;
  animation: card-rear-glow-fade 3.6s ease-in-out infinite;
}
[data-sp-embed] .ai-compare-card--org .ai-compare-card-body::after{
  box-shadow:
    0 14px 32px rgba(79, 70, 229, 0.1),
    0 0 42px rgba(129, 140, 248, 0.42),
    0 0 84px rgba(99, 102, 241, 0.28);
}
[data-sp-embed] .ai-compare-card-body > *{
  position: relative;
  z-index: 1;
}
[data-sp-embed] .ai-compare-card-body:hover{
  border-color: rgba(100, 116, 139, 0.28);
}
[data-sp-embed] .ai-compare-card-body:hover::after{
  opacity: 1;
}
[data-sp-embed] .ai-compare-card--org .ai-compare-card-body:hover{
  border-color: rgba(99, 102, 241, 0.35);
}
[data-sp-embed] .ai-compare-card--org .ai-compare-card-body:hover::after{
  opacity: 1;
}
/* 左側カードのみ：フロー全体を縦中央配置 */
[data-sp-embed] .ai-compare-card:not(.ai-compare-card--org) .ai-compare-card-body{
  justify-content: center;
  padding: 3.75rem 2rem;
}
[data-sp-embed] .ai-compare-badge{
  position: absolute;
  left: 1.5rem;
  top: 1.5rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  max-width: calc(100% - 3rem);
  padding: 0.38rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.45);
  background: #f8fafc;
  color: #334155;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.3;
  white-space: nowrap;
  cursor: default;
  transition: box-shadow 200ms ease, border-color 200ms ease;
}
[data-sp-embed] .ai-compare-badge:hover, [data-sp-embed] .ai-compare-badge:focus-visible{
  border-color: rgba(100, 116, 139, 0.55);
  box-shadow:
    0 0 0 1px rgba(148, 163, 184, 0.35),
    0 0 16px rgba(100, 116, 139, 0.4),
    0 0 32px rgba(71, 85, 105, 0.22);
  filter: brightness(1.04);
  outline: none;
}
[data-sp-embed] .ai-compare-badge--org{
  background: #eef2ff;
  color: #4338ca;
  border-color: #c7d2fe;
}
[data-sp-embed] .ai-compare-badge--org:hover, [data-sp-embed] .ai-compare-badge--org:focus-visible{
  border-color: rgba(99, 102, 241, 0.55);
  box-shadow:
    0 0 0 1px rgba(165, 180, 252, 0.45),
    0 0 16px rgba(129, 140, 248, 0.5),
    0 0 34px rgba(99, 102, 241, 0.28);
}
[data-sp-embed] .ai-compare-card--org .ai-compare-card-body{
  border-color: rgba(99, 102, 241, 0.16);
  background:
    linear-gradient(180deg, rgba(238, 242, 255, 0.5), #fff 42%);
  padding: 4.75rem 2rem 1rem;
  gap: 0.35rem;
}
[data-sp-embed] .ai-compare-card--org .ai-human-badge{
  position: relative;
  z-index: 1;
}
[data-sp-embed] .ai-human-badge{
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.15rem;
  padding: 0 0.9rem 0 0.4rem;
  border-radius: 999px;
  border: 1px solid rgba(248, 113, 113, 0.35);
  background: #fff1f2;
  color: #e11d48;
  font-size: clamp(0.8rem, 0.2vw + 0.74rem, 0.9rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  cursor: default;
  transition: box-shadow 200ms ease, border-color 200ms ease;
}
[data-sp-embed] .ai-human-badge:hover, [data-sp-embed] .ai-human-badge:focus-visible{
  border-color: rgba(244, 63, 94, 0.55);
  box-shadow:
    0 0 0 1px rgba(254, 205, 211, 0.55),
    0 0 16px rgba(244, 63, 94, 0.4),
    0 0 32px rgba(239, 68, 68, 0.22);
  outline: none;
}
[data-sp-embed] .ai-human-avatar{
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 999px;
  background: #ffe4e6;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
[data-sp-embed] .ai-human-avatar svg{ width: 1rem; height: 1rem; }

[data-sp-embed] .ai-solo-visual, [data-sp-embed] .ai-org-visual{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
}
[data-sp-embed] .ai-org-visual{
  gap: 0.12rem;
  contain: none;
  isolation: isolate;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

[data-sp-embed] .ai-flow-track{
  position: relative;
  width: 0.15rem;
  height: 0.85rem;
  display: flex;
  justify-content: center;
}
[data-sp-embed] .ai-flow-track--short{ height: 0.75rem; }
[data-sp-embed] .ai-org-visual .ai-flow-track{
  height: 0.85rem;
}
[data-sp-embed] .ai-org-visual .ai-flow-track--to-result{
  height: 0.95rem;
  margin: 0.1rem 0 0.05rem;
}
[data-sp-embed] .ai-solo-visual .ai-flow-track{
  height: 0.95rem;
}
[data-sp-embed] .ai-solo-visual .ai-flow-track--short{
  height: 0.85rem;
}
[data-sp-embed] .ai-flow-line{
  width: 0.1rem;
  height: 100%;
  background: linear-gradient(180deg, #fda4af, #f87171);
  border-radius: 999px;
  opacity: 0.35;
  transform-origin: top center;
}
[data-sp-embed] .ai-flow-line--org{
  background: linear-gradient(180deg, #c4b5fd, #818cf8);
}
[data-sp-embed] .ai-solo-visual .ai-flow-track:first-child .ai-flow-line, [data-sp-embed] .ai-solo-visual .ai-flow-track--short .ai-flow-line, [data-sp-embed] .ai-org-visual > .ai-flow-track:first-child .ai-flow-line, [data-sp-embed] .ai-org-visual .ai-flow-track--to-result .ai-flow-line{
  animation: none;
  opacity: 0.35;
}
@keyframes ai-line-glow-solo-a {
  0%, 10% { opacity: 0.28; }
  14%, 36% { opacity: 1; }
  44%, 100% { opacity: 0.28; }
}
@keyframes ai-line-glow-solo-b {
  0%, 50% { opacity: 0.28; }
  56%, 84% { opacity: 1; }
  92%, 100% { opacity: 0.28; }
}
@keyframes ai-line-glow-org-a {
  0%, 8% { opacity: 0.28; }
  12%, 24% { opacity: 1; }
  30%, 100% { opacity: 0.28; }
}
@keyframes ai-line-glow-org-c {
  0%, 70% { opacity: 0.28; }
  76%, 92% { opacity: 1; }
  98%, 100% { opacity: 0.28; }
}
[data-sp-embed] .ai-pulse{
  position: absolute;
  left: 50%;
  top: 0;
  width: 0.45rem;
  height: 0.45rem;
  margin-left: -0.225rem;
  border-radius: 999px;
  background: #ef4444;
  box-shadow: 0 0 0.5rem rgba(239, 68, 68, 0.7);
  opacity: 0;
}
/* カード表示後に共通タイミングで開始（デフォルトは停止） */
[data-sp-embed] .ai-pulse--solo, [data-sp-embed] .ai-pulse--solo-late, [data-sp-embed] .ai-pulse--org, [data-sp-embed] .ai-pulse--org-late{
  animation: none;
}
[data-sp-embed] .ai-pulse--org, [data-sp-embed] .ai-pulse--org-late{
  background: #818cf8;
  box-shadow: 0 0 0.5rem rgba(129, 140, 248, 0.7);
}
/* 人間の指示が光ったあと点を落とす */
@keyframes ai-pulse-seq-solo-a {
  0%, 10% { top: 0; opacity: 0; transform: scale(0.55); }
  14% { opacity: 1; transform: scale(1); }
  36% { top: calc(100% - 0.25rem); opacity: 1; transform: scale(1); }
  42%, 100% { top: calc(100% - 0.25rem); opacity: 0; transform: scale(0.7); }
}
@keyframes ai-pulse-seq-solo-b {
  0%, 50% { top: 0; opacity: 0; transform: scale(0.55); }
  56% { opacity: 1; transform: scale(1); }
  82% { top: calc(100% - 0.25rem); opacity: 1; transform: scale(1); }
  90%, 100% { top: calc(100% - 0.25rem); opacity: 0; transform: scale(0.7); }
}
@keyframes ai-pulse-seq-org-a {
  0%, 8% { top: 0; opacity: 0; transform: scale(0.55); }
  12% { opacity: 1; transform: scale(1); }
  24% { top: calc(100% - 0.25rem); opacity: 1; transform: scale(1); }
  28%, 100% { top: calc(100% - 0.25rem); opacity: 0; transform: scale(0.7); }
}
@keyframes ai-pulse-seq-org-c {
  0%, 72% { top: 0; opacity: 0; transform: scale(0.55); }
  76% { opacity: 1; transform: scale(1); }
  92% { top: calc(100% - 0.25rem); opacity: 1; transform: scale(1); }
  97%, 100% { top: calc(100% - 0.25rem); opacity: 0; transform: scale(0.7); }
}

/* 最初に「人間の指示」が光り、その後点が落ちる */
@keyframes ai-human-glow-solo {
  0%, 1% {
    box-shadow: none;
    filter: brightness(1);
  }
  3%, 9% {
    box-shadow: 0 0 0 0.2rem rgba(251, 113, 133, 0.4), 0 0 1.25rem rgba(239, 68, 68, 0.5);
    filter: brightness(1.08);
  }
  14%, 100% {
    box-shadow: none;
    filter: brightness(1);
  }
}
@keyframes ai-human-glow-org {
  0%, 1% {
    box-shadow: none;
    filter: brightness(1);
  }
  2%, 8% {
    box-shadow: 0 0 0 0.2rem rgba(251, 113, 133, 0.4), 0 0 1.25rem rgba(239, 68, 68, 0.5);
    filter: brightness(1.08);
  }
  12%, 100% {
    box-shadow: none;
    filter: brightness(1);
  }
}
@keyframes ai-robot-glow-solo {
  0%, 28%, 50%, 100% {
    filter: drop-shadow(0 0 0 transparent);
  }
  34%, 42% {
    filter:
      drop-shadow(0 0 0.55rem rgba(239, 68, 68, 0.55))
      drop-shadow(0 0 1.2rem rgba(251, 113, 133, 0.35));
  }
}
@keyframes ai-robot-glow-hub {
  0%, 18%, 40%, 100% {
    filter: drop-shadow(0 0 0 transparent);
  }
  22%, 32% {
    filter:
      drop-shadow(0 0 0.65rem rgba(244, 63, 94, 0.7))
      drop-shadow(0 0 1.4rem rgba(251, 113, 133, 0.4));
  }
}

@keyframes ai-agent-hit-glow {
  0%, 24%, 44%, 100% {
    filter: none;
    box-shadow: none;
  }
  28%, 36% {
    filter: none;
    box-shadow:
      0 0 0 0.14rem rgba(129, 140, 248, 0.45),
      0 0 0.95rem rgba(99, 102, 241, 0.4);
  }
}

[data-sp-embed] .ai-branch-line{
  stroke-dasharray: 8 6;
  animation: ai-branch-dash 6s linear infinite;
  opacity: 0.35;
}
[data-sp-embed] .ai-branch-line:nth-child(1){ animation-delay: 0s; }
[data-sp-embed] .ai-branch-line:nth-child(2){ animation-delay: 0.08s; }
[data-sp-embed] .ai-branch-line:nth-child(3){ animation-delay: 0.16s; }
[data-sp-embed] .ai-branch-line:nth-child(4){ animation-delay: 0.24s; }
[data-sp-embed] .ai-branch-line:nth-child(5){ animation-delay: 0.32s; }
[data-sp-embed] .ai-branch-line:nth-child(6){ animation-delay: 0.4s; }
[data-sp-embed] .ai-branch-line:nth-child(7){ animation-delay: 0.48s; }
[data-sp-embed] .ai-branch-line:nth-child(8){ animation-delay: 0.56s; }
@keyframes ai-branch-dash {
  0%, 22% { opacity: 0.28; stroke-dashoffset: 0; }
  28%, 58% { opacity: 0.85; stroke-dashoffset: -28; }
  66%, 100% { opacity: 0.28; stroke-dashoffset: -42; }
}
[data-sp-embed] .ai-branch-dot{
  filter: drop-shadow(0 0 0.25rem rgba(129, 140, 248, 0.55));
}

[data-sp-embed] .ai-robot{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
}
[data-sp-embed] .ai-robot svg{ width: 3.4rem; height: 3.4rem; }
[data-sp-embed] .ai-robot strong{
  font-size: clamp(0.92rem, 0.25vw + 0.82rem, 1.05rem);
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #0f172a;
}
[data-sp-embed] .ai-robot--solo strong{ color: #334155; }
[data-sp-embed] .ai-robot--hub{
  gap: 0.4rem;
  padding: 0;
}
[data-sp-embed] .ai-robot--hub strong{
  display: block;
  margin: 0;
  padding: 0.1rem 0.5rem 0.15rem;
  color: #1e293b;
  line-height: 1.35;
  font-size: clamp(0.95rem, 0.3vw + 0.85rem, 1.1rem);
}
[data-sp-embed] .ai-robot--hub svg{ width: 3.65rem; height: 3.65rem; }

[data-sp-embed] .ai-result{
  width: 100%;
  max-width: 22rem;
  text-align: center;
  padding: 0.7rem 0.9rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(148, 163, 184, 0.35);
  background: #f8fafc;
  margin-top: 0;
  cursor: default;
  transition: box-shadow 220ms ease, border-color 220ms ease;
}
[data-sp-embed] .ai-result:hover, [data-sp-embed] .ai-result:focus-visible{
  border-color: rgba(100, 116, 139, 0.5);
  box-shadow:
    0 8px 20px rgba(15, 23, 42, 0.06),
    0 0 18px rgba(100, 116, 139, 0.35),
    0 0 36px rgba(71, 85, 105, 0.18);
  outline: none;
}
[data-sp-embed] .ai-result strong{
  display: block;
  margin-bottom: 0.2rem;
  font-size: clamp(0.78rem, 0.15vw + 0.72rem, 0.88rem);
  font-weight: 600;
  letter-spacing: 0.12em;
  color: #64748b;
}
[data-sp-embed] .ai-result-lead{
  margin: 0;
  font-size: clamp(1.05rem, 0.35vw + 0.9rem, 1.2rem);
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.4;
  color: #0f172a;
}
[data-sp-embed] .ai-result-sub{
  margin: 0.25rem 0 0;
  font-size: clamp(0.8rem, 0.15vw + 0.74rem, 0.9rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #64748b;
  line-height: 1.45;
}
[data-sp-embed] .ai-result--org{
  border-color: rgba(99, 102, 241, 0.22);
  background: #eef2ff;
  position: relative;
  padding: 0.5rem 0.85rem;
  margin-top: 0;
}
[data-sp-embed] .ai-result--org:hover, [data-sp-embed] .ai-result--org:focus-visible{
  border-color: rgba(99, 102, 241, 0.5);
  box-shadow:
    0 8px 20px rgba(79, 70, 229, 0.08),
    0 0 20px rgba(129, 140, 248, 0.45),
    0 0 42px rgba(99, 102, 241, 0.28);
}
[data-sp-embed] .ai-result--org .ai-result-lead{ color: #312e81; }
[data-sp-embed] .ai-result--org .ai-result-sub{ color: #4338ca; }

/* 矢印の玉が届くタイミングで成果物が発光 */
@keyframes ai-result-glow-solo {
  0%, 78% {
    border-color: rgba(148, 163, 184, 0.35);
    background: #f8fafc;
    box-shadow: 0 0 0 rgba(239, 68, 68, 0);
  }
  84% {
    border-color: rgba(251, 113, 133, 0.7);
    background: #fff1f2;
    box-shadow:
      0 0 0 0.2rem rgba(251, 113, 133, 0.18),
      0 0 1.4rem rgba(239, 68, 68, 0.38);
  }
  92% {
    border-color: rgba(248, 113, 113, 0.55);
    background: #fff5f5;
    box-shadow:
      0 0 0 0.12rem rgba(251, 113, 133, 0.12),
      0 0 0.9rem rgba(239, 68, 68, 0.22);
  }
  98%, 100% {
    border-color: rgba(148, 163, 184, 0.35);
    background: #f8fafc;
    box-shadow: 0 0 0 rgba(239, 68, 68, 0);
  }
}
@keyframes ai-result-glow-org {
  0%, 86% {
    border-color: rgba(99, 102, 241, 0.22);
    background: #eef2ff;
    box-shadow: 0 0 0 rgba(99, 102, 241, 0);
  }
  92% {
    border-color: rgba(129, 140, 248, 0.85);
    background: #e0e7ff;
    box-shadow:
      0 0 0 0.22rem rgba(129, 140, 248, 0.22),
      0 0 1.55rem rgba(99, 102, 241, 0.45);
  }
  97% {
    border-color: rgba(129, 140, 248, 0.55);
    background: #eef2ff;
    box-shadow:
      0 0 0 0.12rem rgba(129, 140, 248, 0.14),
      0 0 0.95rem rgba(99, 102, 241, 0.25);
  }
  100% {
    border-color: rgba(99, 102, 241, 0.22);
    background: #eef2ff;
    box-shadow: 0 0 0 rgba(99, 102, 241, 0);
  }
}

[data-sp-embed] .ai-hub-wrap{
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-height: 0;
  margin-bottom: 0;
}
[data-sp-embed] .ai-hub-spacer{
  width: 0.1rem;
  height: 0.4rem;
  background: linear-gradient(180deg, #c4b5fd, #a78bfa);
  border-radius: 999px;
  flex-shrink: 0;
}
[data-sp-embed] .ai-org-tip{
  position: absolute;
  right: 0;
  top: 0;
  max-width: min(14.5rem, 48%);
  padding: 0.75rem 1rem;
  border-radius: 1rem 1rem 1rem 0.35rem;
  background: #fff;
  border: 1px solid rgba(99, 102, 241, 0.25);
  box-shadow: 0 0.55rem 1.25rem rgba(79, 70, 229, 0.12);
  font-size: clamp(0.95rem, 0.35vw + 0.85rem, 1.1rem);
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.5;
  color: #4338ca;
  text-align: left;
  cursor: default;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}
[data-sp-embed] .ai-org-tip:hover, [data-sp-embed] .ai-org-tip:focus-visible{
  border-color: rgba(99, 102, 241, 0.5);
  box-shadow:
    0 0.55rem 1.25rem rgba(79, 70, 229, 0.14),
    0 0 18px rgba(129, 140, 248, 0.45),
    0 0 36px rgba(99, 102, 241, 0.25);
  outline: none;
}

/* 人間の指示から下：上からぱっと出現 */
@keyframes ai-pop-down {
  0% {
    opacity: 0;
    transform: translateY(-22px) scale(0.94);
  }
  55% {
    opacity: 1;
    transform: translateY(3px) scale(1.03);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes ai-pop-tip {
  0% {
    opacity: 0;
    transform: translateY(-28px) scale(0.9);
  }
  60% {
    opacity: 1;
    transform: translateY(4px) scale(1.04);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
[data-sp-embed].js .ai-compare-card.reveal:not(.visible) .ai-human-badge, [data-sp-embed].js .ai-compare-card.reveal:not(.visible) .ai-robot, [data-sp-embed].js .ai-compare-card.reveal:not(.visible) .ai-result, [data-sp-embed].js .ai-compare-card.reveal:not(.visible) .ai-org-tip, [data-sp-embed].js .ai-compare-card.reveal:not(.visible) .ai-agents, [data-sp-embed].js .ai-compare-card.reveal:not(.visible) .ai-agents-fan, [data-sp-embed].js .ai-compare-card.reveal:not(.visible) .ai-hub-spacer, [data-sp-embed].js .ai-compare-card.reveal:not(.visible) .ai-flow-track{
  opacity: 0;
  transform: translateY(-18px);
}
[data-sp-embed].js .ai-compare-card.ai-compare-card--org.reveal.visible .ai-human-badge{
  animation: ai-human-glow-org 6s ease-in-out 0.55s infinite;
}
[data-sp-embed].js .ai-compare-card:not(.ai-compare-card--org).reveal.visible .ai-human-badge{
  animation: ai-human-glow-solo 3.6s ease-in-out 0.55s infinite;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-solo-visual > .ai-flow-track:first-child, [data-sp-embed].js .ai-compare-card.reveal.visible .ai-org-visual > .ai-flow-track:first-child{
  animation: ai-pop-down 0.38s cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: 0.14s;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-solo-visual > .ai-flow-track:first-child .ai-flow-line{
  animation: ai-line-glow-solo-a 3.6s ease-in-out 0.55s infinite;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-solo-visual > .ai-flow-track--short .ai-flow-line{
  animation: ai-line-glow-solo-b 3.6s ease-in-out 0.55s infinite;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-org-visual > .ai-flow-track:first-child .ai-flow-line{
  animation: ai-line-glow-org-a 6s ease-in-out 0.55s infinite;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-flow-track--to-result .ai-flow-line{
  animation: ai-line-glow-org-c 6s ease-in-out 0.55s infinite;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-pulse--solo{
  animation: ai-pulse-seq-solo-a 3.6s ease-in-out 0.55s infinite;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-pulse--solo-late{
  animation: ai-pulse-seq-solo-b 3.6s ease-in-out 0.55s infinite;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-pulse--org:not(.ai-pulse--org-late){
  animation: ai-pulse-seq-org-a 6s ease-in-out 0.55s infinite;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-pulse--org-late{
  animation: ai-pulse-seq-org-c 6s ease-in-out 0.55s infinite;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-robot--solo{
  animation: ai-pop-down 0.45s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  animation-delay: 0.24s;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-robot--solo svg{
  animation: ai-robot-glow-solo 3.6s ease-in-out 0.55s infinite;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-robot--hub{
  animation: ai-pop-down 0.45s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  animation-delay: 0.24s;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-robot--hub svg{
  animation: ai-robot-glow-hub 6s ease-in-out 0.55s infinite;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-org-tip{
  animation: ai-pop-tip 0.48s cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: 0.34s;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-solo-visual > .ai-flow-track--short, [data-sp-embed].js .ai-compare-card.reveal.visible .ai-hub-spacer, [data-sp-embed].js .ai-compare-card.reveal.visible .ai-agents-fan{
  animation: ai-pop-down 0.4s cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: 0.42s;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-agents{
  animation: ai-pop-down 0.45s cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: 0.52s;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-agent{
  animation: ai-agent-hit-glow 6s ease-in-out infinite;
  animation-delay: 0.55s;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-agent:nth-child(1){ animation-delay: 0.55s; }
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-agent:nth-child(2){ animation-delay: 0.67s; }
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-agent:nth-child(3){ animation-delay: 0.79s; }
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-agent:nth-child(4){ animation-delay: 0.91s; }
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-agent:nth-child(5){ animation-delay: 1.03s; }
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-agent:nth-child(6){ animation-delay: 1.15s; }
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-agent:nth-child(7){ animation-delay: 1.27s; }
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-agent:nth-child(8){ animation-delay: 1.39s; }
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-flow-track--to-result{
  animation: ai-pop-down 0.38s cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: 0.62s;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-result.ai-result--org{
  animation: ai-result-glow-org 6s ease-in-out 0.55s infinite;
}
[data-sp-embed].js .ai-compare-card.reveal.visible .ai-result:not(.ai-result--org){
  animation: ai-result-glow-solo 3.6s ease-in-out 0.55s infinite;
}

[data-sp-embed] .ai-agents-board{
  position: relative;
  width: 100%;
  max-width: 24rem;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  margin-top: 0;
}
[data-sp-embed] .ai-agents-fan{
  position: relative;
  width: 100%;
  height: clamp(2rem, 3.2vw, 2.6rem);
  flex-shrink: 0;
  overflow: hidden;
  contain: none;
  isolation: isolate;
  transform: translateZ(0);
  backface-visibility: hidden;
}
[data-sp-embed] .ai-agents-lines{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}
[data-sp-embed] .ai-agents{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.4rem;
  position: relative;
  z-index: 1;
}
[data-sp-embed] .ai-agent{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  min-height: 2rem;
  padding: 0 0.45rem;
  border-radius: 0.55rem;
  border: 1px solid transparent;
  font-size: clamp(0.68rem, 0.15vw + 0.62rem, 0.78rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
  cursor: default;
  position: relative;
  z-index: 1;
  transition: box-shadow 200ms ease, border-color 200ms ease;
}
[data-sp-embed] .ai-agent i{
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 0.2rem;
  background: currentColor;
  flex-shrink: 0;
  opacity: 0.9;
  position: relative;
  display: inline-block;
}
[data-sp-embed] .ai-agent i::before{
  content: "";
  position: absolute;
  inset: 0.12rem;
  background: #fff;
  border-radius: 0.08rem;
  opacity: .9;
}
[data-sp-embed] .ai-agent--sales{ color: #ea580c; background: #fff7ed; border-color: rgba(234,88,12,.25); }
[data-sp-embed] .ai-agent--mkt{ color: #db2777; background: #fdf2f8; border-color: rgba(219,39,119,.25); }
[data-sp-embed] .ai-agent--hr{ color: #059669; background: #ecfdf5; border-color: rgba(5,150,105,.25); }
[data-sp-embed] .ai-agent--fin{ color: #0284c7; background: #f0f9ff; border-color: rgba(2,132,199,.25); }
[data-sp-embed] .ai-agent--legal{ color: #7c3aed; background: #f5f3ff; border-color: rgba(124,58,237,.25); }
[data-sp-embed] .ai-agent--eng{ color: #4f46e5; background: #eef2ff; border-color: rgba(79,70,229,.25); }
[data-sp-embed] .ai-agent--des{ color: #e11d48; background: #fff1f2; border-color: rgba(225,29,72,.25); }
[data-sp-embed] .ai-agent--res{ color: #0d9488; background: #f0fdfa; border-color: rgba(13,148,136,.25); }
[data-sp-embed] .ai-agent:hover, [data-sp-embed] .ai-agent:focus-visible{
  z-index: 3;
  border-color: color-mix(in srgb, currentColor 55%, transparent);
  box-shadow:
    0 0 0 1px color-mix(in srgb, currentColor 28%, transparent),
    0 0 12px color-mix(in srgb, currentColor 48%, transparent),
    0 0 26px color-mix(in srgb, currentColor 32%, transparent);
  outline: none;
}

/* Growth */

[data-sp-embed] .growth-lede{
  width: 100%;
  max-width: none;
  margin: 0 auto clamp(2rem, 4vw, 3rem);
  text-align: center;
}
[data-sp-embed] .growth-title .growth-fade{
  display: block;
  white-space: normal;
  overflow: visible;
}
[data-sp-embed] .growth-title-break{
  display: none;
}
@media (max-width: 760px) {
  [data-sp-embed] .growth-lede{
    margin: 0 auto 1.35rem;
    padding: 0 0.15rem;
  }
  [data-sp-embed] .growth-title{
    font-size: clamp(1.65rem, 5vw + 0.65rem, 2.2rem);
    letter-spacing: -0.025em;
    line-height: 1.3;
    word-break: keep-all;
    overflow-wrap: anywhere;
    line-break: strict;
  }
  [data-sp-embed] .growth-lead{
    margin-top: 0.5rem;
    margin-bottom: 1.15rem;
    /* Prefer wrapping over shrinking — keep readable on narrow phones */
    font-size: clamp(0.875rem, 2.2vw + 0.55rem, 1.05rem);
    padding: 0 0.1rem;
    letter-spacing: 0.01em;
    word-break: keep-all;
    line-break: strict;
    overflow-wrap: normal;
    line-height: 1.65;
    max-width: 100%;
    font-weight: 500;
  }
  [data-sp-embed][lang="en"] .growth-lead{
    word-break: normal;
    line-break: auto;
    letter-spacing: 0;
  }
  [data-sp-embed] .growth-lead-line{
    display: block;
    white-space: normal;
    max-width: 100%;
    overflow-wrap: normal;
    word-break: keep-all;
    line-break: strict;
  }
  [data-sp-embed] .growth-lead-break{
    display: block;
  }
  [data-sp-embed] .growth-orch-note{
    margin-top: 1.85rem;
    margin-bottom: 0;
    font-size: 0.8125rem;
    line-height: 1.75;
    padding: 1rem 1.1rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 0.4rem;
    box-sizing: border-box;
    overflow-wrap: normal;
    word-break: normal;
    line-break: strict;
    letter-spacing: -0.01em;
    text-align: center;
    text-wrap: pretty;
    font-weight: 400;
  }
  [data-sp-embed][lang="en"] .growth-orch-note{
    line-break: auto;
    letter-spacing: -0.01em;
  }
  [data-sp-embed] .growth-orch-soft{
    display: block;
  }
  /* Don't lock long phrases on mobile — that causes ragged mid-word wraps */
  [data-sp-embed] .growth-orch-note .growth-orch-nowrap{
    white-space: normal;
  }
  [data-sp-embed] .growth-orch-note .growth-kw--bad{
    white-space: nowrap;
  }
  [data-sp-embed] .growth-orch-note .growth-kw--good{
    white-space: normal;
  }
  [data-sp-embed] .growth-orch-note-label{
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    letter-spacing: 0.05em;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
    text-align: center;
    text-align-last: center;
    line-height: 1.45;
    font-size: 0.75rem;
    font-weight: 600;
  }
  [data-sp-embed][lang="en"] .growth-orch-note-label{
    word-break: normal;
    overflow-wrap: normal;
  }
  [data-sp-embed] .growth-orch-note-break{
    display: none;
  }
  [data-sp-embed][lang="en"] .growth-orch-note-break{
    display: none;
  }
  [data-sp-embed] .growth-orch-note-para{
    margin-top: 0;
  }
  [data-sp-embed] .growth-orch-note .growth-kw--bad, [data-sp-embed] .growth-orch-note .growth-kw--good{
    font-size: 0.95em;
    font-weight: 600;
    padding: 0.1em 0.45em;
    margin: 0 0.08em;
  }
  [data-sp-embed] .growth-title .growth-fade{
    white-space: normal;
    overflow: visible;
  }
  [data-sp-embed] .growth-title-break{
    display: block;
  }
  [data-sp-embed] .ai-compare-heading, [data-sp-embed] .departments-heading, [data-sp-embed] .workflow-heading{
    margin-bottom: 1.35rem;
    padding: 0 0.15rem;
  }
  [data-sp-embed] .departments-heading .departments-lead.growth-fade{
    display: block;
    margin-top: 0.5rem;
    max-width: 100%;
    padding-inline: 0.15rem;
    /* Scale down on narrow phones so each lead line stays on one row */
    font-size: clamp(0.6875rem, 2.2vw + 0.35rem, 0.875rem);
    line-height: var(--leading-body);
    letter-spacing: 0.01em;
    word-break: keep-all;
    line-break: strict;
    overflow-wrap: normal;
    white-space: normal;
    font-weight: 500;
    color: #64748b;
  }
  [data-sp-embed][lang="en"] .departments-heading .departments-lead.growth-fade{
    word-break: normal;
    line-break: auto;
  }
  [data-sp-embed] .departments-lead-line{
    display: block;
    max-width: 100%;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
    line-break: strict;
  }
  [data-sp-embed][lang="en"] .departments-lead-line{
    word-break: normal;
    line-break: auto;
  }
  [data-sp-embed] .growth-fact-title{
    font-size: clamp(0.8125rem, 1.4vw + 0.55rem, 0.9375rem);
    word-break: keep-all;
    overflow-wrap: anywhere;
    line-break: strict;
    max-width: 100%;
    line-height: 1.5;
    font-weight: 700;
  }
  [data-sp-embed] .growth-fact-break{
    display: inline;
  }
  [data-sp-embed] .growth-badge{
    max-width: 100%;
  }
  [data-sp-embed] .section-heading h2{
    word-break: keep-all;
    overflow-wrap: anywhere;
    line-break: strict;
  }
}
[data-sp-embed] .growth-title-em{
  margin: 0;
  border: 0;
  font-family: inherit;
  font-synthesis: none;
}

@keyframes growth-fade-up {
  0% {
    opacity: 0;
    transform: translateY(1.15rem);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes growth-em-glow {
  0%, 100% {
    color: #ef4444;
    text-shadow: 0 0 0 transparent;
  }
  50% {
    color: #f87171;
    text-shadow: 0 0 0.75rem rgba(239, 68, 68, 0.32);
  }
}
@keyframes growth-title-em-glow {
  0%, 100% {
    filter: brightness(1);
    text-shadow: 0 0 0 transparent;
  }
  50% {
    filter: brightness(1.08);
    text-shadow: 0 0 0.85rem rgba(251, 113, 133, 0.28);
  }
}
@keyframes growth-kw-pop {
  0% {
    opacity: 0.25;
    transform: translateY(0.18em) scale(0.96);
    filter: blur(2px);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}
@keyframes growth-fact-in {
  from {
    opacity: 0;
    transform: translateY(1.25rem);
    filter: blur(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}
[data-sp-embed] .growth-fade{
  will-change: opacity, transform, filter;
}
/* 見出し：ふんわり1行ずつ浮き上がる（growth / compare / hero） */
[data-sp-embed].js .growth-lede.reveal:not(.visible) .growth-fade, [data-sp-embed].js .ai-compare-heading.reveal:not(.visible) .growth-fade, [data-sp-embed].js .departments-heading.reveal:not(.visible) .growth-fade, [data-sp-embed].js .workflow-heading.reveal:not(.visible) .growth-fade, [data-sp-embed].js .hero-center.reveal:not(.visible) .growth-fade{
  opacity: 0;
  transform: translateY(1.15rem);
  filter: blur(7px);
}
[data-sp-embed].js .growth-lede.reveal.visible .growth-fade, [data-sp-embed].js .ai-compare-heading.reveal.visible .growth-fade, [data-sp-embed].js .departments-heading.reveal.visible .growth-fade, [data-sp-embed].js .workflow-heading.reveal.visible .growth-fade, [data-sp-embed].js .hero-center.reveal.visible .growth-fade{
  animation: growth-fade-up 1.05s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: var(--d, 0ms);
}
[data-sp-embed].js .departments-heading.reveal.visible .growth-fade{
  will-change: auto;
}
[data-sp-embed].js .ai-compare-heading.reveal.visible .ai-org-def.growth-fade{
  animation: growth-fade-up 1.05s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: var(--d, 0ms);
}
[data-sp-embed].js .growth-lede.reveal.visible .growth-orch-note.growth-fade{
  animation: growth-fade-up 1.05s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: var(--d, 0ms);
}
[data-sp-embed].js .growth-lede.reveal.visible .growth-title-em{
  animation: none;
}
[data-sp-embed].js .hero-center.reveal.visible .hero-title-em{
  animation: growth-em-glow 2.8s ease-in-out 1.5s infinite;
}
[data-sp-embed] .ai-compare-heading .growth-fade, [data-sp-embed] .departments-heading .growth-fade, [data-sp-embed] .workflow-heading .growth-fade{
  display: block;
}
[data-sp-embed] .ai-compare-heading h2 .growth-fade, [data-sp-embed] .departments-heading h2 .growth-fade, [data-sp-embed] .workflow-heading h2 .growth-fade{
  display: block;
  width: max-content;
  max-width: 100%;
}
[data-sp-embed] .ai-compare-heading h2.growth-fade{
  display: block;
  width: 100%;
  max-width: 48rem;
  white-space: normal;
}
[data-sp-embed] .departments-heading .departments-lead.growth-fade{
  display: block;
  width: 100%;
}
[data-sp-embed] .hero-center .growth-fade{
  display: inline-block;
  will-change: opacity, transform, filter;
}
[data-sp-embed] .hero-center .lead.growth-fade{
  display: block;
}
[data-sp-embed] .hero-center .hero-actions.growth-fade{
  display: flex;
}

/* 個人モデルカード：要素を順にパッと出現 */
[data-sp-embed].js .growth-card--solo.reveal:not(.visible) .growth-badge, [data-sp-embed].js .growth-card--solo.reveal:not(.visible) .growth-card-head h3, [data-sp-embed].js .growth-card--solo.reveal:not(.visible) .growth-pc-cell{
  opacity: 0;
  transform: translateY(-22px) scale(0.94);
  animation: none;
}
[data-sp-embed].js .growth-card--solo.reveal.visible .growth-badge{
  animation: ai-pop-down 0.45s cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: 0.06s;
}
[data-sp-embed].js .growth-card--solo.reveal.visible .growth-card-head h3{
  animation: ai-pop-down 0.45s cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: 0.16s;
}
[data-sp-embed].js .growth-card--solo.reveal.visible .growth-pc-cell{
  animation: ai-pop-down 0.42s cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: calc(0.28s + var(--fi, 0) * 0.1s);
}
[data-sp-embed].js .growth-card--solo.reveal.visible .growth-pc-cell .growth-pc-label{
  animation:
    ai-pop-down 0.4s cubic-bezier(0.16, 1, 0.3, 1) both,
    growth-label-seq 4.8s ease-in-out infinite;
  animation-delay:
    calc(0.32s + var(--fi, 0) * 0.1s),
    calc(0.85s + var(--fi, 0) * 1.6s);
}
/* 全社成長モデルカード：要素を順にパッと出現 */
[data-sp-embed].js .growth-card--org.reveal:not(.visible) .growth-badge, [data-sp-embed].js .growth-card--org.reveal:not(.visible) .growth-card-head h3, [data-sp-embed].js .growth-card--org.reveal:not(.visible) .growth-visual--hub{
  opacity: 0;
  transform: translateY(-22px) scale(0.94);
  animation: none;
}
[data-sp-embed].js .growth-card--org.reveal.visible .growth-badge{
  animation: ai-pop-down 0.45s cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: 0.06s;
}
[data-sp-embed].js .growth-card--org.reveal.visible .growth-card-head h3{
  animation: ai-pop-down 0.45s cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: 0.16s;
}
[data-sp-embed].js .growth-card--org.reveal.visible .growth-visual--hub{
  animation: ai-pop-tip 0.52s cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: 0.28s;
}

/* Fact lines: float up only when in viewport */
[data-sp-embed] .growth-facts.reveal, [data-sp-embed].js .growth-facts.reveal:not(.visible), [data-sp-embed].js .growth-facts.reveal.visible{
  opacity: 1;
  transform: none;
  transition: none;
}
[data-sp-embed].js .growth-facts.reveal:not(.visible) .growth-fact--in{
  opacity: 0;
  transform: translateY(1.25rem);
  filter: blur(4px);
}
[data-sp-embed].js .growth-facts.reveal.visible .growth-fact--in{
  animation: growth-fact-in 1.05s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: var(--fd, 0ms);
}
[data-sp-embed].js .growth-facts.reveal.visible .growth-kw--bad, [data-sp-embed].js .growth-facts.reveal.visible .growth-kw--good{
  display: inline-block;
  animation: growth-kw-pop 0.8s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: calc(var(--fd, 0ms) + 280ms);
}

[data-sp-embed] .growth-compare{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: clamp(16px, 2vw, 28px);
  max-width: none;
  width: 100%;
  margin: 0 auto;
  align-items: stretch;
}
[data-sp-embed] .growth-card{ min-width: 0; height: 100%; }
[data-sp-embed] .growth-card-inner{
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
  padding: clamp(1.75rem, 2.2vw, 2rem);
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 18px;
  box-shadow:
    0 12px 28px rgba(15,23,42,.05),
    0 0 28px rgba(148, 163, 184, 0.22),
    0 0 56px rgba(100, 116, 139, 0.14);
  will-change: auto;
  animation: none;
  transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease;
}
[data-sp-embed] .growth-card-inner:hover{
  transform: translateY(-3px);
  animation-play-state: paused;
  border-color: rgba(100, 116, 139, 0.28);
  box-shadow:
    0 16px 36px rgba(15, 23, 42, 0.08),
    0 0 36px rgba(148, 163, 184, 0.4),
    0 0 72px rgba(100, 116, 139, 0.26);
}
[data-sp-embed] .growth-card--org .growth-card-inner{
  background: linear-gradient(165deg, rgba(238,242,255,.72) 0%, #f8fafc 42%, #ffffff 100%);
  border-color: rgba(99,102,241,.16);
  box-shadow:
    0 12px 28px rgba(79,70,229,.06),
    0 0 32px rgba(129, 140, 248, 0.28),
    0 0 64px rgba(99, 102, 241, 0.18);
  animation: none;
}
[data-sp-embed] .growth-card--org .growth-card-inner:hover{
  border-color: rgba(99, 102, 241, 0.35);
  box-shadow:
    0 16px 36px rgba(79, 70, 229, 0.1),
    0 0 42px rgba(129, 140, 248, 0.48),
    0 0 84px rgba(99, 102, 241, 0.32);
}
@keyframes card-rear-glow-solo {
  0%, 100% {
    box-shadow:
      0 10px 24px rgba(15, 23, 42, 0.05),
      0 0 22px rgba(148, 163, 184, 0.16),
      0 0 44px rgba(100, 116, 139, 0.1);
  }
  50% {
    box-shadow:
      0 12px 28px rgba(15, 23, 42, 0.07),
      0 0 36px rgba(148, 163, 184, 0.34),
      0 0 72px rgba(100, 116, 139, 0.22);
  }
}
@keyframes card-rear-glow-org {
  0%, 100% {
    box-shadow:
      0 12px 28px rgba(79, 70, 229, 0.06),
      0 0 26px rgba(129, 140, 248, 0.22),
      0 0 52px rgba(99, 102, 241, 0.14);
  }
  50% {
    box-shadow:
      0 14px 32px rgba(79, 70, 229, 0.1),
      0 0 42px rgba(129, 140, 248, 0.42),
      0 0 84px rgba(99, 102, 241, 0.28);
  }
}
@keyframes card-rear-glow-fade {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 0.92; }
}
@supports (-webkit-touch-callout: none) {
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-robot--hub svg, [data-sp-embed].js .ai-compare-card.reveal.visible .ai-robot--solo svg{
    animation: none;
  }
  [data-sp-embed] .ai-branch-dot{
    display: none;
  }
  [data-sp-embed] .ai-branch-line{
    animation: none;
    opacity: 0.45;
  }
  [data-sp-embed].js .ai-compare-heading.reveal.visible .text-accent-em, [data-sp-embed].js .ai-compare-heading.reveal.visible .text-indigo-600, [data-sp-embed].js .ai-compare-heading.reveal.visible .growth-title-em, [data-sp-embed].js .ai-compare-heading.reveal.visible .ai-compare-accent{
    animation: none;
  }
  [data-sp-embed] .product-demo-point[data-demo-step="3"]{
    will-change: auto;
  }
}

[data-sp-embed] .growth-card-head{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
}
[data-sp-embed] .growth-badge{
  display: inline-flex;
  align-items: center;
  min-height: 2.15rem;
  padding: 0.35rem 0.95rem;
  border-radius: 10px;
  font-size: clamp(0.95rem, 0.3vw + 0.85rem, 1.1rem);
  font-weight: 600;
  letter-spacing: 0.05em;
  border: 1px solid transparent;
  cursor: default;
  transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease, filter 200ms ease;
}
[data-sp-embed] .growth-badge--solo{
  color: #334155;
  background: #f1f5f9;
  border-color: rgba(148,163,184,.45);
  box-shadow:
    0 0 0.55rem rgba(148, 163, 184, 0.38),
    0 0 1.1rem rgba(100, 116, 139, 0.22);
  animation: none;
}
[data-sp-embed] .growth-badge--org{
  color: #312e81;
  background: linear-gradient(90deg, #eef2ff, #ede9fe);
  border-color: rgba(99,102,241,.28);
  box-shadow:
    0 0 0.55rem rgba(129, 140, 248, 0.38),
    0 0 1.15rem rgba(99, 102, 241, 0.25);
  animation: none;
}
[data-sp-embed] .growth-badge--solo:hover, [data-sp-embed] .growth-badge--solo:focus-visible{
  transform: translateY(-1px);
  animation-play-state: paused;
  border-color: rgba(100, 116, 139, 0.6);
  box-shadow:
    0 0 0 0.22rem rgba(148, 163, 184, 0.35),
    0 0 1.4rem rgba(100, 116, 139, 0.55),
    0 0 2.2rem rgba(71, 85, 105, 0.3);
  filter: brightness(1.08);
  outline: none;
}
[data-sp-embed] .growth-badge--org:hover, [data-sp-embed] .growth-badge--org:focus-visible{
  transform: translateY(-1px);
  animation-play-state: paused;
  border-color: rgba(99, 102, 241, 0.5);
  box-shadow:
    0 0 0 0.25rem rgba(129, 140, 248, 0.4),
    0 0 1.5rem rgba(99, 102, 241, 0.6),
    0 0 2.3rem rgba(79, 70, 229, 0.32);
  filter: brightness(1.08);
  outline: none;
}
@keyframes growth-badge-glow-solo {
  0%, 100% {
    box-shadow:
      0 0 0 0 rgba(100, 116, 139, 0),
      0 0 0.55rem rgba(148, 163, 184, 0.38),
      0 0 1.1rem rgba(100, 116, 139, 0.22);
    filter: brightness(1);
  }
  50% {
    box-shadow:
      0 0 0 0.22rem rgba(148, 163, 184, 0.32),
      0 0 1.35rem rgba(100, 116, 139, 0.5),
      0 0 2rem rgba(71, 85, 105, 0.28);
    filter: brightness(1.07);
  }
}
@keyframes growth-badge-glow-org {
  0%, 100% {
    box-shadow:
      0 0 0 0 rgba(99, 102, 241, 0),
      0 0 0.55rem rgba(129, 140, 248, 0.38),
      0 0 1.15rem rgba(99, 102, 241, 0.25);
    filter: brightness(1);
  }
  50% {
    box-shadow:
      0 0 0 0.25rem rgba(129, 140, 248, 0.35),
      0 0 1.45rem rgba(99, 102, 241, 0.55),
      0 0 2.1rem rgba(79, 70, 229, 0.28);
    filter: brightness(1.08);
  }
}
[data-sp-embed] .growth-card-inner h3{
  margin: 0;
  font-size: clamp(18px, 1.2vw + 0.7rem, 24px);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #0f172a;
  line-height: 1.3;
}
[data-sp-embed] .growth-visual{
  position: relative;
  width: 100%;
  max-width: 380px;
  min-height: 180px;
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  flex-shrink: 0;
}
[data-sp-embed] .growth-visual--isolated{
  gap: 0;
  padding: 0 4px;
  align-items: flex-end;
}
[data-sp-embed] .growth-pc-cell{
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 0;
  opacity: 1;
  transform: scale(1);
  animation: none;
  cursor: default;
  transition: filter 200ms ease;
}
[data-sp-embed] .growth-pc-cell:hover{
  animation-play-state: paused;
  opacity: 1;
  transform: scale(1.04);
  filter: drop-shadow(0 0 10px rgba(100, 116, 139, 0.45));
}
@keyframes growth-pc-seq {
  0%, 4% { opacity: 0.38; transform: scale(0.95); }
  10%, 28% { opacity: 1; transform: scale(1); }
  36%, 100% { opacity: 0.38; transform: scale(0.95); }
}
[data-sp-embed] .growth-pc-stack{
  position: relative;
  width: 72px;
  height: 92px;
}
[data-sp-embed] .growth-local-loop{
  position: absolute;
  left: 50%;
  top: 0;
  width: 78px;
  height: 78px;
  transform: translateX(-50%);
  display: block;
  overflow: visible;
  z-index: 2;
  pointer-events: none;
}
[data-sp-embed] .growth-bounce-rail{
  opacity: 0.55;
  animation: growth-dash-drift 2.2s linear infinite;
}
[data-sp-embed] .growth-bounce-block{
  opacity: 0.7;
}
[data-sp-embed] .growth-pc-cell .growth-bounce-block{
  animation: growth-block-pulse 4.8s ease-in-out infinite;
  animation-delay: calc(var(--fi, 0) * 1.6s);
}
@keyframes growth-block-pulse {
  0%, 8% { opacity: 0.45; stroke: #94a3b8; }
  14%, 26% { opacity: 1; stroke: #ef4444; }
  34%, 100% { opacity: 0.45; stroke: #94a3b8; }
}
[data-sp-embed] .growth-local-dot{
  /* transform bounce — cy CSS anim is unreliable in Safari/iOS */
  transform-box: fill-box;
  transform-origin: center;
  animation: growth-local-bounce 4.8s linear infinite;
  animation-delay: calc(var(--fi, 0) * 1.6s);
  /* drop-shadow on SVG circles can vanish in Safari; use fill only */
  fill: #64748b;
}
@keyframes growth-local-bounce {
  /* cy 62 → 24 = -38 user units; circle box is 5 (r*2) → -760% */
  0%, 8% { transform: translateY(0); fill: #64748b; }
  14% { transform: translateY(-760%); fill: #ef4444; }
  22%, 100% { transform: translateY(0); fill: #64748b; }
}
@keyframes growth-dash-drift {
  to { stroke-dashoffset: -24; }
}
[data-sp-embed] .growth-pc-divider{
  width: 0;
  align-self: stretch;
  margin: 28px 6px 18px;
  border-left: 1px dashed rgba(148,163,184,.55);
}
[data-sp-embed] .growth-pc{
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 1;
  width: 64px;
  height: 46px;
  margin-left: -32px;
  border-radius: 8px 8px 3px 3px;
  background: linear-gradient(180deg, #334155 0%, #0f172a 100%);
  border: 1px solid rgba(15,23,42,.35);
  box-shadow: 0 8px 14px rgba(15,23,42,.16);
}
[data-sp-embed] .growth-pc-cell .growth-pc{
  animation: growth-pc-glow 4.8s ease-in-out infinite;
  animation-delay: calc(var(--fi, 0) * 1.6s);
}
@keyframes growth-pc-glow {
  0%, 8% { box-shadow: 0 8px 14px rgba(15,23,42,.16); }
  14%, 26% { box-shadow: 0 0 0 3px rgba(239,68,68,.12), 0 10px 18px rgba(15,23,42,.22); }
  34%, 100% { box-shadow: 0 8px 14px rgba(15,23,42,.16); }
}
[data-sp-embed] .growth-pc::before{
  content: "";
  position: absolute;
  inset: 5px 5px 10px;
  border-radius: 3px;
  background: linear-gradient(160deg, #94a3b8, #64748b);
  opacity: .85;
}
[data-sp-embed] .growth-pc::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  width: 42px;
  height: 4px;
  border-radius: 0 0 3px 3px;
  background: #475569;
  transform: translateX(-50%);
}
[data-sp-embed] .growth-pc-label{
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  color: #94a3b8;
  animation: growth-label-seq 4.8s ease-in-out infinite;
  animation-delay: calc(var(--fi, 0) * 1.6s);
}
@keyframes growth-label-seq {
  0%, 8% { color: #94a3b8; }
  14%, 26% { color: #475569; }
  34%, 100% { color: #94a3b8; }
}

[data-sp-embed] .growth-bridge{
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  min-width: 40px;
}
[data-sp-embed] .growth-bridge-arrow{
  width: 32px;
  height: 2px;
  position: relative;
  display: block;
  background: linear-gradient(90deg, rgba(148,163,184,.35), #6366f1);
  border-radius: 999px;
}
[data-sp-embed] .growth-bridge-arrow::after{
  content: "";
  position: absolute;
  right: -1px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid #6366f1;
  border-top: 1.5px solid #6366f1;
  transform: translateY(-50%) rotate(45deg);
}

[data-sp-embed] .growth-visual--hub{ min-height: 190px; height: 190px; }
[data-sp-embed] .growth-hub{
  position: relative;
  width: 200px;
  height: 200px;
}
[data-sp-embed] .growth-hub-ring{
  position: absolute;
  inset: 28px;
  border-radius: 999px;
  border: 1px solid rgba(16,185,129,.18);
  background: radial-gradient(circle at 50% 50%, rgba(16,185,129,.08), transparent 65%);
}
[data-sp-embed] .growth-hub-spin{
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  animation: growth-orbit-spin 9s linear infinite;
  will-change: transform;
}
@keyframes growth-orbit-spin { to { transform: rotate(360deg); } }
[data-sp-embed] .growth-hub-orbit-flow{ width: 100%; height: 100%; overflow: visible; }
[data-sp-embed] .growth-hub-orbit-track{
  opacity: .9;
  animation: growth-dash-drift 2.4s linear infinite;
}
[data-sp-embed] .growth-hub-orbit-arrows{ opacity: .95; }
[data-sp-embed] .growth-hub-orbit-dot{
  filter: drop-shadow(0 0 5px rgba(16,185,129,.7));
}
[data-sp-embed] .growth-hub-orbit-dot--soft{
  opacity: .85;
  filter: drop-shadow(0 0 4px rgba(110,231,183,.6));
}
[data-sp-embed] .growth-hub-cloud{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 78px;
  height: 78px;
  margin: -39px 0 0 -39px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: linear-gradient(145deg, #818cf8, #6366f1 48%, #7c3aed);
  box-shadow: 0 10px 22px rgba(79,70,229,.28);
  color: #fff;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.35);
}
[data-sp-embed] .growth-hub-cloud strong{
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 1.3;
}
[data-sp-embed] .growth-hub-node{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 42px;
  margin: -26px 0 0 -21px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  transform: rotate(calc(var(--a) * 60deg)) translateY(-86px) rotate(calc(var(--a) * -60deg));
}
[data-sp-embed] .growth-hub-avatar{
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: linear-gradient(180deg, #cbd5e1, #64748b);
  border: 2px solid #fff;
  box-shadow: 0 3px 8px rgba(15,23,42,.15);
  display: block;
  transition: box-shadow 200ms ease, filter 200ms ease;
}
[data-sp-embed] .growth-hub-device{
  width: 24px;
  height: 15px;
  border-radius: 3px;
  background: #0f172a;
  position: relative;
  display: block;
  transition: box-shadow 200ms ease, transform 200ms ease, filter 200ms ease;
}
[data-sp-embed] .growth-hub-device::before{
  content: "";
  position: absolute;
  inset: 2px 2px 4px;
  border-radius: 2px;
  background: linear-gradient(145deg, #c7d2fe, #818cf8);
  transition: background 200ms ease, box-shadow 200ms ease;
}
[data-sp-embed] .growth-hub-node{ --node-glow: 99, 102, 241; }
[data-sp-embed] .growth-hub-node:nth-child(4){ --node-glow: 249, 115, 22; }
[data-sp-embed] .growth-hub-node:nth-child(5){ --node-glow: 236, 72, 153; }
[data-sp-embed] .growth-hub-node:nth-child(6){ --node-glow: 16, 185, 129; }
[data-sp-embed] .growth-hub-node:nth-child(7){ --node-glow: 14, 165, 233; }
[data-sp-embed] .growth-hub-node:nth-child(8){ --node-glow: 99, 102, 241; }
[data-sp-embed] .growth-hub-node:nth-child(9){ --node-glow: 139, 92, 246; }
[data-sp-embed] .growth-hub-node:nth-child(4) .growth-hub-avatar{ background: linear-gradient(180deg, #fdba74, #f97316); }
[data-sp-embed] .growth-hub-node:nth-child(5) .growth-hub-avatar{ background: linear-gradient(180deg, #f9a8d4, #ec4899); }
[data-sp-embed] .growth-hub-node:nth-child(6) .growth-hub-avatar{ background: linear-gradient(180deg, #6ee7b7, #10b981); }
[data-sp-embed] .growth-hub-node:nth-child(7) .growth-hub-avatar{ background: linear-gradient(180deg, #7dd3fc, #0ea5e9); }
[data-sp-embed] .growth-hub-node:nth-child(8) .growth-hub-avatar{ background: linear-gradient(180deg, #a5b4fc, #6366f1); }
[data-sp-embed] .growth-hub-node:nth-child(9) .growth-hub-avatar{ background: linear-gradient(180deg, #c4b5fd, #8b5cf6); }

/* Green arrow pass → PC lights up (synced to 9s orbit; arrows at 0/120/240°) */
@keyframes growth-hub-device-pass {
  0%, 33.333%, 66.666%, 100% {
    transform: scale(1.14);
    box-shadow:
      0 0 0 1px rgba(16, 185, 129, 0.55),
      0 0 12px rgba(16, 185, 129, 0.85),
      0 0 22px rgba(52, 211, 153, 0.5);
    filter: brightness(1.15);
  }
  6%, 27.333%, 39.333%, 60.666%, 72.666%, 94% {
    transform: scale(1);
    box-shadow: none;
    filter: none;
  }
}
@keyframes growth-hub-avatar-pass {
  0%, 33.333%, 66.666%, 100% {
    box-shadow:
      0 0 0 1px rgba(16, 185, 129, 0.4),
      0 0 10px rgba(16, 185, 129, 0.75);
    filter: brightness(1.1);
  }
  6%, 27.333%, 39.333%, 60.666%, 72.666%, 94% {
    box-shadow: 0 3px 8px rgba(15,23,42,.15);
    filter: none;
  }
}
@keyframes growth-hub-screen-pass {
  0%, 33.333%, 66.666%, 100% {
    background: linear-gradient(145deg, #6ee7b7, #10b981);
    box-shadow: inset 0 0 6px rgba(16, 185, 129, 0.55);
  }
  6%, 27.333%, 39.333%, 60.666%, 72.666%, 94% {
    background: linear-gradient(145deg, #c7d2fe, #818cf8);
    box-shadow: none;
  }
}
[data-sp-embed] .growth-hub-node:nth-child(4) .growth-hub-device, [data-sp-embed] .growth-hub-node:nth-child(6) .growth-hub-device, [data-sp-embed] .growth-hub-node:nth-child(8) .growth-hub-device{
  animation: growth-hub-device-pass 9s linear infinite;
}
[data-sp-embed] .growth-hub-node:nth-child(5) .growth-hub-device, [data-sp-embed] .growth-hub-node:nth-child(7) .growth-hub-device, [data-sp-embed] .growth-hub-node:nth-child(9) .growth-hub-device{
  animation: growth-hub-device-pass 9s linear infinite;
  animation-delay: -1.5s;
}
[data-sp-embed] .growth-hub-node:nth-child(4) .growth-hub-avatar, [data-sp-embed] .growth-hub-node:nth-child(6) .growth-hub-avatar, [data-sp-embed] .growth-hub-node:nth-child(8) .growth-hub-avatar{
  animation: growth-hub-avatar-pass 9s linear infinite;
}
[data-sp-embed] .growth-hub-node:nth-child(5) .growth-hub-avatar, [data-sp-embed] .growth-hub-node:nth-child(7) .growth-hub-avatar, [data-sp-embed] .growth-hub-node:nth-child(9) .growth-hub-avatar{
  animation: growth-hub-avatar-pass 9s linear infinite;
  animation-delay: -1.5s;
}
[data-sp-embed] .growth-hub-node:nth-child(4) .growth-hub-device::before, [data-sp-embed] .growth-hub-node:nth-child(6) .growth-hub-device::before, [data-sp-embed] .growth-hub-node:nth-child(8) .growth-hub-device::before{
  animation: growth-hub-screen-pass 9s linear infinite;
}
[data-sp-embed] .growth-hub-node:nth-child(5) .growth-hub-device::before, [data-sp-embed] .growth-hub-node:nth-child(7) .growth-hub-device::before, [data-sp-embed] .growth-hub-node:nth-child(9) .growth-hub-device::before{
  animation: growth-hub-screen-pass 9s linear infinite;
  animation-delay: -1.5s;
}

[data-sp-embed] .growth-hub-node:hover .growth-hub-device, [data-sp-embed] .growth-hub-node:focus-within .growth-hub-device{
  transform: scale(1.12);
  box-shadow:
    0 0 0 1px rgba(16, 185, 129, 0.5),
    0 0 10px rgba(16, 185, 129, 0.7),
    0 0 20px rgba(52, 211, 153, 0.4);
  filter: brightness(1.08);
}

[data-sp-embed] .growth-facts{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  width: 100%;
  margin-top: auto;
  text-align: center;
}
[data-sp-embed] .growth-fact-break{
  display: none;
}
[data-sp-embed] .growth-fact{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0.75rem; /* gap-3 */
  width: 100%;
  padding: 0.35rem 0.5rem;
  border: none;
  border-radius: 0.85rem;
  background: transparent;
  min-width: 0;
  text-align: center;
  cursor: default;
  transition: transform 200ms ease, box-shadow 200ms ease, background 200ms ease;
}
[data-sp-embed] .growth-facts--solo .growth-fact:hover, [data-sp-embed] .growth-facts--solo .growth-fact:focus-within{
  background: rgba(254, 226, 226, 0.35);
  box-shadow:
    0 0 0 1px rgba(248, 113, 113, 0.2),
    0 0 16px rgba(239, 68, 68, 0.22);
}
[data-sp-embed] .growth-facts--org .growth-fact:hover, [data-sp-embed] .growth-facts--org .growth-fact:focus-within{
  background: rgba(238, 242, 255, 0.7);
  box-shadow:
    0 0 0 1px rgba(129, 140, 248, 0.28),
    0 0 16px rgba(99, 102, 241, 0.28);
}
[data-sp-embed] .growth-fact-icon{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-top: 0;
  border-radius: 999px;
  font-size: 0.95rem;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.06);
}
[data-sp-embed] .growth-fact-icon--bad{
  background: #fff1f2;
  box-shadow: inset 0 0 0 1px rgba(244, 63, 94, 0.18);
}
[data-sp-embed] .growth-fact-icon--warn{
  background: #f8fafc;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.45);
}
[data-sp-embed] .growth-fact-icon--good{
  background: #ecfdf5;
  box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.2);
}
[data-sp-embed] .growth-fact-icon--spark{
  background: #eff6ff;
  box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.18);
}
[data-sp-embed] .growth-fact-title{
  margin: 0;
  flex: 0 1 auto;
  max-width: 22em;
  font-size: 1.125rem; /* text-lg — one step up from text-base for readability */
  font-weight: 500;
  letter-spacing: .03em;
  line-height: 1.625; /* leading-relaxed */
  color: #475569;
  text-align: center;
}
@media (min-width: 768px) {
  [data-sp-embed] .growth-fact-title{
    font-size: 1.25rem; /* text-xl — md bump past text-lg */
  }
}
[data-sp-embed] .growth-facts--solo .growth-fact-title{
  color: #475569;
  font-weight: 500;
}
[data-sp-embed] .growth-facts--org .growth-fact-title{
  color: #1e293b;
  font-weight: 500;
}
[data-sp-embed] .growth-kw--bad{
  color: #f43f5e;
  font-style: normal;
  font-weight: 700;
  font-size: 1.05em;
  letter-spacing: 0.02em;
}
[data-sp-embed] .growth-kw--good{
  color: #059669;
  font-style: normal;
  font-weight: 700;
  font-size: 1.05em;
  letter-spacing: 0.02em;
  line-height: 1.45;
}
@media (max-width: 760px) {
  [data-sp-embed] .growth-fact-title{
    font-size: 0.7rem;
    line-height: 1.45;
    letter-spacing: 0.02em;
    max-width: 100%;
  }
  [data-sp-embed] .growth-kw--bad, [data-sp-embed] .growth-kw--good{
    font-size: 1em;
  }
  [data-sp-embed] .growth-facts{
    gap: 1rem;
  }
  [data-sp-embed] .growth-fact{
    gap: 0.5rem;
  }
  [data-sp-embed] .growth-fact-icon{
    width: 1.55rem;
    height: 1.55rem;
    font-size: 0.72rem;
  }
}
[data-sp-embed] .growth-fact-sub{
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .03em;
  line-height: 1.55;
  color: #475569;
}
[data-sp-embed] .growth-facts--org .growth-fact-sub{
  color: #334155;
  font-weight: 600;
}

@media (max-width: 1100px) {
  [data-sp-embed] .ai-compare-grid{
    grid-template-columns: 1fr;
    max-width: 34rem;
  }
  [data-sp-embed] .ai-compare-badge{
    position: static;
    align-self: center;
    left: auto;
    top: auto;
    max-width: 100%;
    margin: 0 0 0.2rem;
    white-space: normal;
    text-align: center;
    line-height: 1.3;
  }
  [data-sp-embed] .ai-compare-card-body{
    padding: 1rem 1.15rem 0.85rem;
    gap: 0.2rem;
  }
  [data-sp-embed] .ai-compare-card:not(.ai-compare-card--org) .ai-compare-card-body{
    padding: 1rem 1.15rem;
  }
  [data-sp-embed] .ai-compare-card--org .ai-compare-card-body{
    padding: 0.9rem 1.15rem 0.8rem;
    gap: 0.15rem;
  }
  [data-sp-embed] .ai-org-tip{
    position: static;
    max-width: none;
    margin-top: 0.1rem;
    padding: 0.5rem 0.75rem;
    text-align: center;
    border-radius: 0.85rem;
    font-size: 0.9rem;
    line-height: 1.35;
  }
  [data-sp-embed] .ai-hub-wrap{
    min-height: 0;
    flex-direction: column;
    align-items: center;
  }
  [data-sp-embed] .ai-org-visual, [data-sp-embed] .ai-solo-visual{
    gap: 0.05rem;
  }
  [data-sp-embed] .ai-org-visual .ai-flow-track, [data-sp-embed] .ai-solo-visual .ai-flow-track{
    height: 0.95rem;
  }
  [data-sp-embed] .ai-org-visual .ai-flow-track--to-result{
    height: 1.05rem;
    margin: 0.1rem 0 0.05rem;
  }
  [data-sp-embed] .ai-hub-spacer{
    height: 0.15rem;
  }
  [data-sp-embed] .ai-robot--hub{
    gap: 0.12rem;
  }
  [data-sp-embed] .ai-robot--hub svg{
    width: 2.85rem;
    height: 2.85rem;
  }
  [data-sp-embed] .ai-robot--hub strong{
    padding: 0;
    font-size: 0.88rem;
  }
  [data-sp-embed] .ai-agents-fan{
    height: 2.35rem;
  }
  [data-sp-embed] .ai-agents-board{
    gap: 0.15rem;
  }
  [data-sp-embed] .growth-compare{
    grid-template-columns: 1fr;
    max-width: 34rem;
    gap: 16px;
  }
  [data-sp-embed] .growth-bridge{ padding: 2px 0; }
  [data-sp-embed] .growth-bridge-arrow{ transform: rotate(90deg); }
}

@media (max-width: 480px) {
  [data-sp-embed] .ai-agents{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-sp-embed] .ai-compare-card-body{ padding: 0.75rem 0.85rem 0.7rem; }
  [data-sp-embed] .ai-compare-card:not(.ai-compare-card--org) .ai-compare-card-body{
    padding: 0.75rem 0.85rem;
  }
  [data-sp-embed] .ai-compare-card--org .ai-compare-card-body{
    padding: 0.7rem 0.85rem 0.65rem;
  }
  [data-sp-embed] .ai-compare-badge{
    left: auto;
    top: auto;
    font-size: 0.74rem;
    padding: 0.26rem 0.65rem;
  }
  [data-sp-embed] .growth-card-inner{ padding: 1.1rem 0.95rem 0.95rem; }
  [data-sp-embed] .growth-visual, [data-sp-embed] .growth-visual--hub{ height: 158px; min-height: 158px; }
}

/*
 * このページ固有（埋め込み用）:
 * - サイト共通ヘッダーと二重になるローカルナビを非表示
 * - スマホで hero を1カラム化
 * 共通 CSS に依存しない。新規アップロード時も本 ZIP の HTML/CSS で対応すること。
 */
/* Embed: hide page-local nav (site PublicHeader already present) */
[data-sp-embed] .site-nav, [data-sp-embed] .mobile-nav, [data-sp-embed] .menu-button, [data-sp-embed] [data-nav], [data-sp-embed] [data-mobile-nav], [data-sp-embed] [data-menu-button]{
  display: none !important;
}

@media (max-width: 1279px) {
  /* Phone/tablet: clip page-width overflow (avatar ring / nowrap).
     Keep overflow-y:scroll on html so Safari does not freeze vertical scroll. */
  [data-sp-embed]{
    overflow-x: hidden;
    overflow-y: scroll;
  }
  [data-sp-embed]{
    overflow-x: hidden;
  }
  [data-sp-embed] main, [data-sp-embed] .hero, [data-sp-embed] .hero-center{
    max-width: 100%;
    min-width: 0;
  }
  [data-sp-embed] .hero-avatar-telop{
    min-width: 0;
    max-width: min(90%, 100%);
    box-sizing: border-box;
  }
  [data-sp-embed] .hero-brand-logo{
    translate: 0;
  }
  [data-sp-embed] .workflow-heading h2{
    translate: 0;
  }
  [data-sp-embed] .section-band{
    max-width: 100%;
    box-sizing: border-box;
  }
  [data-sp-embed] .product-demo{
    overflow: visible;
    max-width: 100%;
  }
  [data-sp-embed] .growth-section{
    overflow-x: clip;
    max-width: 100%;
  }
  /* departments heading: Safari clips Y when overflow-x is clip (text cuts on swipe) */
  [data-sp-embed] .departments, [data-sp-embed] .contact, [data-sp-embed] .ai-compare{
    overflow: visible;
    max-width: 100%;
  }
}
@media (max-width: 767px) {
  [data-sp-embed] .hero-avatars, [data-sp-embed] .hero-avatars--mobile{
    width: 100%;
    max-width: min(36rem, 100%);
    aspect-ratio: 1 / 1;
    height: auto;
    min-height: 0;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
    /* Room for ring badges so they don't clip or collide */
    padding-inline: 0.85rem;
    overflow: visible;
  }
  [data-sp-embed] .hero-avatars--mobile .hero-avatar-item, [data-sp-embed] .hero-avatars .hero-avatar-item{
    gap: 0;
    animation-name: hero-avatar-enter, hero-avatar-drift-mobile-a;
    animation-duration: 0.5s, var(--dur, 8s);
    animation-delay: var(--enter-delay, 0s), calc(var(--enter-delay, 0s) + 0.5s);
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1), ease-in-out;
    animation-iteration-count: 1, infinite;
    animation-fill-mode: both, none;
  }
  [data-sp-embed] .hero-avatars--mobile .hero-avatar-item--commander, [data-sp-embed] .hero-avatars .hero-avatar-item--commander{
    animation-name: hero-avatar-enter-commander, hero-avatar-drift-mobile-commander;
  }
  [data-sp-embed] .hero-avatars--mobile .hero-avatar-item:nth-child(3n), [data-sp-embed] .hero-avatars .hero-avatar-item:nth-child(3n){
    animation-name: hero-avatar-enter, hero-avatar-drift-mobile-b;
  }
  [data-sp-embed] .hero-avatars--mobile .hero-avatar-item:nth-child(3n + 1), [data-sp-embed] .hero-avatars .hero-avatar-item:nth-child(3n + 1){
    animation-name: hero-avatar-enter, hero-avatar-drift-mobile-c;
  }
  [data-sp-embed] .hero-avatars--mobile .hero-avatar-item--commander:nth-child(3n), [data-sp-embed] .hero-avatars--mobile .hero-avatar-item--commander:nth-child(3n + 1), [data-sp-embed] .hero-avatars .hero-avatar-item--commander:nth-child(3n), [data-sp-embed] .hero-avatars .hero-avatar-item--commander:nth-child(3n + 1){
    animation-name: hero-avatar-enter-commander, hero-avatar-drift-mobile-commander;
  }
  [data-sp-embed] .hero-avatars--mobile .hero-avatar-item.hero-avatar-item--settled, [data-sp-embed] .hero-avatars .hero-avatar-item.hero-avatar-item--settled, [data-sp-embed] .hero-avatars--mobile .hero-avatar-item.hero-avatar-item--settled:nth-child(3n), [data-sp-embed] .hero-avatars .hero-avatar-item.hero-avatar-item--settled:nth-child(3n), [data-sp-embed] .hero-avatars--mobile .hero-avatar-item.hero-avatar-item--settled:nth-child(3n + 1), [data-sp-embed] .hero-avatars .hero-avatar-item.hero-avatar-item--settled:nth-child(3n + 1){
    opacity: 1;
    animation-name: hero-avatar-drift-mobile-a;
    animation-duration: var(--dur, 8s);
    animation-delay: 0s;
    animation-iteration-count: infinite;
    animation-fill-mode: none;
  }
  [data-sp-embed] .hero-avatars--mobile .hero-avatar-item.hero-avatar-item--settled:nth-child(3n), [data-sp-embed] .hero-avatars .hero-avatar-item.hero-avatar-item--settled:nth-child(3n){
    animation-name: hero-avatar-drift-mobile-b;
  }
  [data-sp-embed] .hero-avatars--mobile .hero-avatar-item.hero-avatar-item--settled:nth-child(3n + 1), [data-sp-embed] .hero-avatars .hero-avatar-item.hero-avatar-item--settled:nth-child(3n + 1){
    animation-name: hero-avatar-drift-mobile-c;
  }
  [data-sp-embed] .hero-avatars--mobile .hero-avatar-item--commander.hero-avatar-item--settled, [data-sp-embed] .hero-avatars .hero-avatar-item--commander.hero-avatar-item--settled, [data-sp-embed] .hero-avatars--mobile .hero-avatar-item--commander.hero-avatar-item--settled:nth-child(3n), [data-sp-embed] .hero-avatars--mobile .hero-avatar-item--commander.hero-avatar-item--settled:nth-child(3n + 1), [data-sp-embed] .hero-avatars .hero-avatar-item--commander.hero-avatar-item--settled:nth-child(3n), [data-sp-embed] .hero-avatars .hero-avatar-item--commander.hero-avatar-item--settled:nth-child(3n + 1){
    animation-name: hero-avatar-drift-mobile-commander;
  }
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar{
    width: 4.35rem;
    height: 4.35rem;
    border-width: 2.5px;
    box-shadow:
      0 0 0 3px rgba(var(--glow-rgb), 0.4),
      0 0 1.35rem rgba(var(--glow-rgb), 0.32),
      0 0.7rem 1.5rem rgba(15, 23, 42, 0.16);
  }
  [data-sp-embed] .hero-avatar-item--lg .hero-avatar, [data-sp-embed] .hero-avatar-item--md .hero-avatar, [data-sp-embed] .hero-avatar-item--sm .hero-avatar{
    width: 2.45rem;
    height: 2.45rem;
  }
  [data-sp-embed] .hero-avatar-item--sm .hero-avatar{
    opacity: 1;
    filter: none;
  }
  [data-sp-embed] .hero-avatar-badge{
    white-space: nowrap;
    text-align: center;
    font-size: 0.52rem;
    padding: 0.08rem 0.32rem;
    max-width: none;
    line-height: 1.2;
    letter-spacing: 0.01em;
  }
  [data-sp-embed] .hero-avatar-item:not(.hero-avatar-item--commander) .hero-avatar-badge{
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translate(-50%, 0.28rem);
    margin: 0;
    pointer-events: auto;
    z-index: 4;
  }
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar-badge{
    position: absolute;
    left: 50%;
    top: 100%;
    bottom: auto;
    transform: translate(-50%, 0.3rem);
    z-index: 6;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0.05rem;
    white-space: normal;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.15rem 0.45rem;
    max-width: 5.5rem;
    text-align: center;
    width: max-content;
    line-height: 1.25;
    margin: 0;
    pointer-events: auto;
  }
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar-badge-line{
    display: block;
    white-space: nowrap;
  }
  [data-sp-embed] .hero-avatar-link{
    opacity: 0.75;
  }
}

/* Very narrow phones: keep labels from overlapping faces */
@media (max-width: 380px) {
  [data-sp-embed] .hero-avatars, [data-sp-embed] .hero-avatars--mobile{
    padding-inline: 0.85rem;
    padding-top: 1.5rem;
    margin-top: 0.65rem;
    margin-bottom: 2.35rem;
  }
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar{
    width: 3.85rem;
    height: 3.85rem;
  }
  [data-sp-embed] .hero-avatar-item--lg .hero-avatar, [data-sp-embed] .hero-avatar-item--md .hero-avatar, [data-sp-embed] .hero-avatar-item--sm .hero-avatar{
    width: 2.15rem;
    height: 2.15rem;
  }
  [data-sp-embed] .hero-avatar-badge{
    font-size: 0.46rem;
    padding: 0.06rem 0.26rem;
    letter-spacing: 0;
  }
  [data-sp-embed] .hero-avatar-item:not(.hero-avatar-item--commander) .hero-avatar-badge{
    transform: translate(-50%, 0.22rem);
  }
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar-badge{
    font-size: 0.55rem;
    padding: 0.12rem 0.38rem;
    max-width: 4.6rem;
    transform: translate(-50%, 0.26rem);
  }
  /* Quieter drift so neighbors don't collide */
  [data-sp-embed] .hero-avatars--mobile .hero-avatar-item.hero-avatar-item--settled, [data-sp-embed] .hero-avatars .hero-avatar-item.hero-avatar-item--settled, [data-sp-embed] .hero-avatars--mobile .hero-avatar-item.hero-avatar-item--settled:nth-child(3n), [data-sp-embed] .hero-avatars .hero-avatar-item.hero-avatar-item--settled:nth-child(3n), [data-sp-embed] .hero-avatars--mobile .hero-avatar-item.hero-avatar-item--settled:nth-child(3n + 1), [data-sp-embed] .hero-avatars .hero-avatar-item.hero-avatar-item--settled:nth-child(3n + 1), [data-sp-embed] .hero-avatars--mobile .hero-avatar-item--commander.hero-avatar-item--settled, [data-sp-embed] .hero-avatars .hero-avatar-item--commander.hero-avatar-item--settled{
    animation-name: hero-avatar-drift-mobile-tight;
  }
}
@keyframes hero-avatar-drift-mobile-tight {
  0%, 100% { transform: translate3d(-50%, -50%, 0); }
  50% { transform: translate3d(-50%, calc(-50% - 0.28rem), 3px); }
}

@media (min-width: 640px) and (max-width: 767px) {
  /* Large phones / small tablets in portrait */
  [data-sp-embed] .hero-avatars, [data-sp-embed] .hero-avatars--mobile{
    max-width: min(28rem, 92vw);
  }
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar{
    width: 5.5rem;
    height: 5.5rem;
  }
  [data-sp-embed] .hero-avatar-item--lg .hero-avatar, [data-sp-embed] .hero-avatar-item--md .hero-avatar, [data-sp-embed] .hero-avatar-item--sm .hero-avatar{
    width: 3.35rem;
    height: 3.35rem;
  }
  [data-sp-embed] .hero-avatar-badge{
    font-size: 0.66rem;
  }
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar-badge{
    font-size: 0.75rem;
    max-width: 6.75rem;
  }
}

@media (max-width: 760px) {
  /* --- Hero: 相関図を正円（正方形フレーム）で表示 --- */
  [data-sp-embed] .hero-avatars, [data-sp-embed] .hero-avatars--mobile{
    width: 100%;
    max-width: min(100%, 26rem);
    aspect-ratio: 1 / 1;
    height: auto;
    min-height: 0;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0.35rem;
    /* Inset the square so edge avatars/badges stay inside the viewport */
    padding-inline: 1.15rem;
    padding-block: 1.25rem 1.1rem;
    /* Space for bottom badges (人事AI / CS AI) that overflow the square frame */
    margin-bottom: 2rem;
    overflow: visible;
  }
  [data-sp-embed] .hero-center .hero-copy{
    margin-top: 1.5rem;
  }
  [data-sp-embed] .hero-brand-logo{
    width: min(13rem, 50vw);
    max-width: min(14rem, 54vw);
    margin: 0 auto 1.35rem;
    translate: -0.5rem 0;
  }
  [data-sp-embed] .hero-center .hero-copy h1{
    margin: 0 auto;
    /* Fit「最強AI組織」を。 on one line down to ~320px */
    font-size: clamp(1.65rem, 5.8vw + 0.4rem, 2.25rem);
    letter-spacing: -0.02em;
  }
  [data-sp-embed] .hero-center .hero-copy h1 .growth-fade, [data-sp-embed] .hero-center .hero-copy h1 .hero-title-line{
    display: block;
    white-space: nowrap;
  }
  /* EN: 2 lines — An Ultimate AI Organization / for Every Employee.
     Larger type; wrap only when needed so it never clips. */
  [data-sp-embed][lang="en"] .hero-center .hero-copy{
    padding-inline: 0.25rem;
  }
  [data-sp-embed][lang="en"] .hero-center .hero-copy h1{
    font-size: clamp(1.22rem, 3.5vw + 0.55rem, 2.05rem);
    letter-spacing: -0.035em;
    line-height: 1.24;
    padding-inline: 0.05rem;
  }
  [data-sp-embed][lang="en"] .hero-center .hero-copy h1 .hero-title-line{
    display: block;
    max-width: 100%;
    white-space: nowrap;
    overflow-wrap: normal;
  }
  /* Narrow phones: allow wrap so larger type still fits */
  @media (max-width: 380px) {
    [data-sp-embed][lang="en"] .hero-center .hero-copy h1{
      font-size: clamp(1.15rem, 4.2vw + 0.4rem, 1.55rem);
      letter-spacing: -0.04em;
    }
    [data-sp-embed][lang="en"] .hero-center .hero-copy h1 .hero-title-line{
      white-space: normal;
      overflow-wrap: anywhere;
    }
  }
  [data-sp-embed] .hero-center .eyebrow{
    margin-bottom: 0.55rem;
  }
  [data-sp-embed]{
    --hero-lead-font: clamp(0.6875rem, 2.2vw + 0.35rem, 0.875rem);
    --hero-actions-mt: clamp(0.75rem, 1.6vh, 1.1rem);
    --btn-font-hero: 0.92rem;
    --btn-min-h-hero: 2.35rem;
    --btn-pad-x-hero: 1.1rem;
    --btn-pad-y-hero: 0.45rem;
    --btn-font-hero-glow: 0.92rem;
    --btn-min-h-hero-glow: 2.35rem;
    --btn-pad-x-hero-glow: 1.1rem;
    --btn-pad-y-hero-glow: 0.45rem;
  }
  [data-sp-embed] .hero-center .lead{
    max-width: 100%;
    /* Scale down on narrow phones so each lead line stays on one row */
    line-height: var(--leading-body);
    letter-spacing: 0.005em;
    padding-inline: 0.15rem;
    font-weight: 500;
    color: #64748b;
  }
  [data-sp-embed] .hero-center .lead .lead-line{
    display: block;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: keep-all;
    line-break: strict;
  }
  [data-sp-embed][lang="en"] .hero-center .lead{
    max-width: 100%;
    letter-spacing: 0;
    padding-inline: 0.35rem;
  }
  [data-sp-embed][lang="en"] .hero-center .lead .lead-line{
    display: block;
    max-width: 100%;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
    line-break: auto;
  }
  [data-sp-embed] .hero-center .hero-actions{
    gap: 0.65rem;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }
  [data-sp-embed] .hero-center .hero-actions__pair{
    gap: 0.75rem;
  }
  [data-sp-embed] .hero-center .hero-actions .button{
    width: auto;
    flex: 0 1 auto;
    min-width: 9.5rem;
    max-width: 100%;
    white-space: nowrap;
    line-height: 1.25;
    text-align: center;
  }
  [data-sp-embed] .hero-center .hero-actions .button.secondary.button--glow{
    min-height: var(--btn-min-h-hero);
    padding: var(--btn-pad-y-hero) var(--btn-pad-x-hero);
    font-size: var(--btn-font-hero);
    min-width: 0;
    box-shadow:
      0 0 0 0 rgba(225, 29, 72, 0.4),
      0 0 22px rgba(225, 29, 72, 0.36),
      0 0.4rem 1rem rgba(225, 29, 72, 0.16);
  }
  [data-sp-embed] .hero-center .hero-actions .button.button--dark{
    font-weight: 600;
  }
  [data-sp-embed] .hero-center .hero-actions .button.primary{
    box-shadow: 0 0.45rem 1rem rgba(15, 23, 42, 0.14);
  }
  [data-sp-embed] .hero-center .hero-actions .button.secondary:not(.button--glow){
    box-shadow: 0 0.3rem 0.75rem rgba(15, 23, 42, 0.05);
  }

  /* avatar compact sizes/animations: see max-width:767px */

  /* --- Growth org card: タイトルと図の重なり解消 + 下余白詰め --- */
  [data-sp-embed] .growth-card-inner{
    gap: 0.65rem;
    padding: 1.15rem 1rem 1rem;
  }
  [data-sp-embed] .growth-card-head{
    gap: 0.4rem;
    position: relative;
    z-index: 2;
  }
  [data-sp-embed] .growth-badge{
    font-size: 0.78rem;
    min-height: auto;
    padding: 0.28rem 0.7rem;
    line-height: 1.3;
    white-space: normal;
    text-align: center;
  }
  [data-sp-embed] .growth-card-inner h3{
    font-size: 1.05rem;
    line-height: 1.25;
  }
  [data-sp-embed] .growth-visual--hub{
    height: 162px;
    min-height: 162px;
    margin-top: 0.15rem;
    margin-bottom: 0;
  }
  [data-sp-embed] .growth-hub{
    width: 162px;
    height: 162px;
  }
  [data-sp-embed] .growth-hub-ring{
    inset: 22px;
  }
  [data-sp-embed] .growth-hub-cloud{
    width: 62px;
    height: 62px;
    margin: -31px 0 0 -31px;
  }
  [data-sp-embed] .growth-hub-cloud strong{
    font-size: 9px;
  }
  [data-sp-embed] .growth-hub-node{
    width: 34px;
    margin: -20px 0 0 -17px;
    gap: 2px;
    transform: rotate(calc(var(--a) * 60deg)) translateY(-68px) rotate(calc(var(--a) * -60deg));
  }
  [data-sp-embed] .growth-hub-avatar{
    width: 15px;
    height: 15px;
  }
  [data-sp-embed] .growth-hub-device{
    width: 20px;
  }
  [data-sp-embed] .growth-facts{
    margin-top: 0 !important;
    gap: 1.05rem;
  }
  [data-sp-embed] .growth-card--org .growth-card-inner{
    justify-content: flex-start;
  }

  /* --- AI compare: バッジ重なり解消 + 余白詰め --- */
  [data-sp-embed] .ai-compare-badge{
    position: static;
    align-self: center;
    left: auto;
    top: auto;
    max-width: 100%;
    margin: 0;
    white-space: normal;
    text-align: center;
    line-height: 1.3;
    font-size: 0.78rem;
    padding: 0.28rem 0.7rem;
  }
  [data-sp-embed] .ai-compare-card-body{
    padding: 0.85rem 0.9rem 0.75rem;
    gap: 0.15rem;
  }
  [data-sp-embed] .ai-compare-card:not(.ai-compare-card--org) .ai-compare-card-body{
    padding: 0.85rem 0.9rem;
  }
  [data-sp-embed] .ai-compare-card--org .ai-compare-card-body{
    padding: 0.75rem 0.9rem 0.7rem;
    gap: 0.1rem;
  }
  [data-sp-embed] .ai-human-badge{
    min-height: 1.75rem;
    font-size: 0.75rem;
    padding: 0 0.65rem 0 0.3rem;
    margin: 0;
  }
  [data-sp-embed] .ai-org-visual, [data-sp-embed] .ai-solo-visual{
    gap: 0;
  }
  [data-sp-embed] .ai-org-visual .ai-flow-track, [data-sp-embed] .ai-solo-visual .ai-flow-track{
    height: 0.9rem;
  }
  [data-sp-embed] .ai-org-visual .ai-flow-track--to-result{
    height: 1rem;
    margin: 0.08rem 0 0.04rem;
  }
  [data-sp-embed] .ai-robot--hub{
    gap: 0.08rem;
  }
  [data-sp-embed] .ai-robot--hub svg{
    width: 2.7rem;
    height: 2.7rem;
  }
  [data-sp-embed] .ai-robot--hub strong{
    padding: 0;
    font-size: 0.85rem;
  }
  [data-sp-embed] .ai-hub-spacer{
    height: 0.1rem;
  }
  [data-sp-embed] .ai-org-tip{
    margin-top: 0.05rem;
    padding: 0.45rem 0.65rem;
    font-size: 0.84rem;
    line-height: 1.3;
  }
  [data-sp-embed] .ai-agents-fan{
    height: 2.15rem;
  }
  [data-sp-embed] .ai-agents-board{
    gap: 0.12rem;
  }
  [data-sp-embed] .ai-branch-dot{
    r: 3.4;
    filter: drop-shadow(0 0 0.35rem rgba(129, 140, 248, 0.85));
  }
  [data-sp-embed] .ai-agent{
    min-height: 1.75rem;
    font-size: 0.68rem;
  }
}

@media (max-width: 400px) {
  [data-sp-embed] .hero-avatars, [data-sp-embed] .hero-avatars--mobile{
    max-width: min(100%, 24rem);
    aspect-ratio: 1 / 1;
    height: auto;
  }
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar{
    width: 4.35rem;
    height: 4.35rem;
  }
  [data-sp-embed] .hero-avatar-item--lg .hero-avatar, [data-sp-embed] .hero-avatar-item--md .hero-avatar, [data-sp-embed] .hero-avatar-item--sm .hero-avatar{
    width: 2.55rem;
    height: 2.55rem;
  }
  [data-sp-embed] .hero-avatar-badge{
    font-size: 0.52rem;
    padding: 0.08rem 0.3rem;
  }
  [data-sp-embed] .hero-avatar-item--commander .hero-avatar-badge{
    font-size: 0.58rem;
    padding: 0.1rem 0.35rem;
    max-width: 4.75rem;
    white-space: normal;
    flex-direction: column;
    transform: translate(-50%, 0.2rem);
  }
  [data-sp-embed] .growth-visual--hub{
    height: 148px;
    min-height: 148px;
  }
  [data-sp-embed] .growth-hub{
    width: 148px;
    height: 148px;
  }
  [data-sp-embed] .growth-hub-node{
    transform: rotate(calc(var(--a) * 60deg)) translateY(-62px) rotate(calc(var(--a) * -60deg));
  }
}
/* Desktop: more clearance under public header */
@media (min-width: 768px) {
  [data-sp-embed] .hero{
    padding-top: calc(var(--sp-public-header-offset, 4.5rem) + env(safe-area-inset-top, 0px) + 7rem) !important;
  }
}
/* Mobile: clearance under public embed header */
@media (max-width: 760px) {
  [data-sp-embed] .hero{
    min-height: auto;
    padding-top: calc(var(--sp-public-header-offset, 4.5rem) + env(safe-area-inset-top, 0px) + 3rem) !important;
  }
  [data-sp-embed] .manager-hero{
    padding-top: calc(var(--sp-public-header-offset, 4.5rem) + env(safe-area-inset-top, 0px) + 3rem) !important;
  }
}

/* In-page jumps: land below fixed public header (PC 90px / mobile 16px gap) */
[data-sp-embed] main [id], [data-sp-embed] .section-band[id], [data-sp-embed] #hero, [data-sp-embed] #features, [data-sp-embed] #use-cases, [data-sp-embed] #create, [data-sp-embed] #analysis, [data-sp-embed] #management, [data-sp-embed] #value-flow, [data-sp-embed] #value-flow-steps, [data-sp-embed] #industries, [data-sp-embed] #ai-analysis, [data-sp-embed] #marketing, [data-sp-embed] #marketing-demo, [data-sp-embed] #cdp-customer, [data-sp-embed] #departments, [data-sp-embed] #difference, [data-sp-embed] #abilities, [data-sp-embed] #visual, [data-sp-embed] #contact, [data-sp-embed] .showcase-copy, [data-sp-embed] .section-heading, [data-sp-embed] .growth-lede, [data-sp-embed] .departments-heading, [data-sp-embed] .visual-copy, [data-sp-embed] .ai-insight-card[id] .ai-insight-card__media-label{
  scroll-margin-top: calc(
    var(--sp-public-header-offset, 4.5rem) + env(safe-area-inset-top, 0px) + 90px
  );
}

@media (max-width: 760px) {
  [data-sp-embed] main [id], [data-sp-embed] .section-band[id], [data-sp-embed] #hero, [data-sp-embed] #features, [data-sp-embed] #use-cases, [data-sp-embed] #create, [data-sp-embed] #analysis, [data-sp-embed] #management, [data-sp-embed] #value-flow, [data-sp-embed] #value-flow-steps, [data-sp-embed] #industries, [data-sp-embed] #ai-analysis, [data-sp-embed] #marketing, [data-sp-embed] #marketing-demo, [data-sp-embed] #cdp-customer, [data-sp-embed] #departments, [data-sp-embed] #difference, [data-sp-embed] #abilities, [data-sp-embed] #visual, [data-sp-embed] #contact, [data-sp-embed] .showcase-copy, [data-sp-embed] .section-heading, [data-sp-embed] .growth-lede, [data-sp-embed] .departments-heading, [data-sp-embed] .visual-copy, [data-sp-embed] .ai-insight-card[id] .ai-insight-card__media-label{
    scroll-margin-top: calc(
      var(--sp-public-header-offset, 4.5rem) + env(safe-area-inset-top, 0px) + 16px
    );
  }
}

/* 2-row marquee (top L←, bottom →R); auto-flow + drag/swipe scrub */
[data-sp-embed] #departments.section-band{
  /* Match .section-band inline padding so the marquee can cancel it */
  --dept-band-pad-inline: clamp(20px, 5vw, 80px);
  /* Do not clip the heading — Safari treats overflow-x:clip as clipping Y too */
  overflow: visible;
}
[data-sp-embed] #departments .department-marquee-stack{
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  /* Full-bleed: cards enter/exit at the screen edge, not inside section padding */
  width: calc(100% + (2 * var(--dept-band-pad-inline)));
  max-width: none;
  margin-inline: calc(-1 * var(--dept-band-pad-inline));
  height: auto;
  overflow: visible;
}
[data-sp-embed] #departments .department-marquee{
  /* Clip both axes — mixed clip/visible computes to auto and expands page width */
  overflow: hidden;
  height: auto;
  width: 100%;
  max-width: 100%;
  padding-block: 3.5rem;
  container-type: inline-size;
  container-name: dept-marquee;
  box-sizing: border-box;
  cursor: grab;
  /* pan-y: page can still scroll vertically; JS claims horizontal via touchmove */
  touch-action: pan-y;
  overscroll-behavior-x: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  position: relative;
  /* Overlay fades instead of CSS mask — Safari mask+transform flashes black on fast scroll */
  --dept-edge-fade: clamp(0.85rem, 2.8vw, 2rem);
}
[data-sp-embed] #departments .department-marquee::before, [data-sp-embed] #departments .department-marquee::after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: var(--dept-edge-fade);
  z-index: 4;
  pointer-events: none;
}
[data-sp-embed] #departments .department-marquee::before{
  left: 0;
  background: linear-gradient(to right, #fcfcfb, rgba(252, 252, 251, 0));
}
[data-sp-embed] #departments .department-marquee::after{
  right: 0;
  background: linear-gradient(to left, #fcfcfb, rgba(252, 252, 251, 0));
}
[data-sp-embed] #departments .department-marquee .department-card{
  cursor: pointer;
  -webkit-user-drag: none;
  /* Hit target is the <a>, not the wrap — without this iOS steals the swipe */
  touch-action: none;
}
[data-sp-embed] #departments .department-marquee .department-card img{
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: none;
}
[data-sp-embed] #departments .department-marquee.is-dragging{
  cursor: grabbing;
}
[data-sp-embed] #departments .department-marquee.is-dragging .department-card{
  pointer-events: none;
  cursor: grabbing;
}
[data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee{
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 1rem;
  width: max-content;
  height: auto;
  animation: dept-managers-marquee 40s linear infinite;
  will-change: transform;
}
[data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee[data-marquee-dir="right"]{
  animation-name: dept-managers-marquee-reverse;
}
/* JS-driven scrub: disable CSS keyframes (rAF owns transform) */
[data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee-driven{
  animation: none !important;
}
@media (min-width: 761px) {
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee .department-card{
    flex: 0 0 max(34rem, calc((100cqi - 1rem) / 2));
    flex-shrink: 0;
    width: max(34rem, calc((100cqi - 1rem) / 2));
    min-width: 34rem;
    min-height: 310px;
    height: auto;
    align-self: stretch;
    grid-template-columns: minmax(11.5rem, 0.88fr) minmax(0, 1.22fr);
  }
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee .card-image img{
    max-height: 16.5rem;
    width: auto;
  }
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee .card-copy{
    padding: 1.25rem 1.35rem 1.4rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee .card-copy p{
    font-size: 1rem;
    letter-spacing: 0.03em;
  }
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee .card-copy h3{
    margin: 0.2rem 0 0.55rem;
    font-size: 2rem;
    line-height: 1.15;
  }
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee .card-copy strong{
    font-size: 1.0625rem;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee .card-copy ul{
    margin-top: 0.65rem;
    gap: 0.4rem;
  }
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee .card-copy li{
    padding: 0.35rem 0.65rem;
    font-size: 0.875rem;
  }
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee .card-link{
    margin-top: 0.75rem;
    padding: 0.4rem 0.75rem;
    font-size: 0.875rem;
  }
}
@keyframes dept-managers-marquee {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}
@keyframes dept-managers-marquee-reverse {
  from { transform: translate3d(-50%, 0, 0); }
  to { transform: translate3d(0, 0, 0); }
}
/*
 * Narrow marquee: keep left image large; don't shrink portraits with the viewport.
 * Desktop/tablet only — mobile uses dedicated @media (max-width: 760px) rules.
 */
@media (min-width: 761px) {
@container dept-marquee (max-width: 1180px) {
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .department-card{
    flex-basis: max(34rem, calc((100cqi - 1rem) / 2));
    width: max(34rem, calc((100cqi - 1rem) / 2));
    min-width: 34rem;
    min-height: 0;
    grid-template-columns: minmax(11.5rem, 0.88fr) minmax(0, 1.22fr);
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-image{
    justify-content: flex-end;
    align-items: center;
    padding: 2rem 0.4rem 0;
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-bubble{
    position: absolute;
    top: 0.4rem;
    left: 0.35rem;
    width: max-content;
    max-width: calc(100% - 0.65rem);
    margin: 0;
    padding: 0.4rem 0.6rem;
    font-size: 0.7rem;
    line-height: 1.35;
    border-radius: 0.75rem 0.75rem 0.75rem 0.22rem;
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-bubble::after{
    left: 0.65rem;
    bottom: -0.28rem;
    width: 0.48rem;
    height: 0.48rem;
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-image img{
    align-self: center;
    max-height: 16rem;
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-copy{
    padding: 0.85rem 0.85rem 0.9rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-copy p{
    font-size: 0.66rem;
    letter-spacing: 0.04em;
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-copy h3{
    margin: 0.12rem 0 0.3rem;
    font-size: 1.2rem;
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-copy strong{
    font-size: 0.7rem;
    line-height: 1.4;
    letter-spacing: 0.03em;
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-copy ul{
    margin-top: 0.45rem;
    gap: 0.28rem;
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-copy li{
    padding: 0.25rem 0.45rem;
    font-size: 0.56rem;
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-link{
    margin-top: 0.45rem;
    padding: 0.28rem 0.5rem;
    font-size: 0.62rem;
    align-self: flex-start;
    width: fit-content;
    max-width: 100%;
  }
}

@container dept-marquee (max-width: 920px) {
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .department-card{
    flex-basis: max(32rem, 92cqi);
    width: max(32rem, 92cqi);
    min-width: 32rem;
    grid-template-columns: minmax(11rem, 0.88fr) minmax(0, 1.22fr);
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-image{
    padding: 1.85rem 0.35rem 0;
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-image img{
    max-height: 15.5rem;
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-bubble{
    top: 0.32rem;
    left: 0.28rem;
    width: max-content;
    max-width: calc(100% - 0.5rem);
    padding: 0.34rem 0.52rem;
    font-size: 0.64rem;
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-copy{
    padding: 0.65rem 0.7rem 0.75rem;
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-copy h3{
    margin: 0.08rem 0 0.22rem;
    font-size: 1.05rem;
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-copy strong{
    font-size: 0.64rem;
    line-height: 1.35;
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-copy ul{
    margin-top: 0.35rem;
    gap: 0.22rem;
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-copy li{
    padding: 0.2rem 0.38rem;
    font-size: 0.52rem;
  }
  [data-sp-embed] .department-grid.all-managers.department-grid--marquee .card-link{
    margin-top: 0.35rem;
    padding: 0.22rem 0.45rem;
    font-size: 0.58rem;
    align-self: flex-start;
    width: fit-content;
    max-width: 100%;
  }
}
}

/* Mobile: slightly smaller cards so the next one peeks more */
@media (max-width: 760px) {
  [data-sp-embed] #departments.section-band{
    --dept-band-pad-inline: 18px;
  }
  [data-sp-embed] #departments .department-marquee-stack{
    gap: 1.25rem;
  }
  [data-sp-embed] #departments .department-marquee{
    margin-inline: 0;
    padding-inline: 0.65rem;
    /* Room for card halo glow — 1.1rem was clipping top/bottom on phone */
    padding-block: 2.75rem;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    --dept-edge-fade: 1.1rem;
    /* Mobile: JS must own the gesture or iOS eats horizontal swipe */
    touch-action: none;
  }
  [data-sp-embed] #departments .department-marquee.is-dragging{
    touch-action: none;
  }
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee{
    gap: 0.65rem;
    padding: 0;
    animation-duration: 48s;
  }
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee .department-card{
    /* Keep side-by-side (image | copy) like desktop — never stack on phone */
    display: grid;
    flex: 0 0 84cqi;
    flex-shrink: 0;
    width: 84cqi;
    min-width: 0;
    min-height: 0;
    height: auto;
    grid-template-columns: minmax(7rem, 0.82fr) minmax(0, 1.28fr) !important;
  }
  [data-sp-embed] #departments .department-grid.all-managers .department-card:hover{
    transform: none;
  }
  [data-sp-embed] #departments .department-grid.all-managers .department-card:active{
    transform: scale(0.99);
  }
  [data-sp-embed] #departments .department-grid.all-managers .card-image{
    min-height: 0 !important;
    padding: 1.35rem 0.2rem 0;
  }
  [data-sp-embed] #departments .department-grid.all-managers .card-image img{
    max-height: 11.5rem;
  }
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee .card-bubble, [data-sp-embed] #departments .department-grid.all-managers .card-bubble{
    display: block !important;
    position: absolute;
    top: 0.28rem;
    left: 0.25rem;
    width: max-content;
    max-width: calc(100% - 0.45rem);
    padding: 0.32rem 0.48rem;
    font-size: 0.62rem;
    line-height: 1.35;
    border-radius: 0.65rem 0.65rem 0.65rem 0.2rem;
  }
  [data-sp-embed] #departments .department-grid.all-managers .card-bubble::after{
    left: 0.55rem;
    bottom: -0.24rem;
    width: 0.4rem;
    height: 0.4rem;
  }
  [data-sp-embed] #departments .department-grid.all-managers .card-copy{
    padding: 0.65rem 0.7rem 0.75rem;
  }
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee .card-copy p, [data-sp-embed] #departments .department-grid.all-managers .card-copy p{
    font-size: 0.58rem;
    letter-spacing: 0.04em;
  }
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee .card-copy h3, [data-sp-embed] #departments .department-grid.all-managers .card-copy h3{
    margin: 0.1rem 0 0.25rem;
    font-size: 1rem;
  }
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee .card-copy strong, [data-sp-embed] #departments .department-grid.all-managers .card-copy strong{
    font-size: 0.64rem;
    line-height: 1.4;
    letter-spacing: 0.03em;
  }
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee .card-copy ul, [data-sp-embed] #departments .department-grid.all-managers .card-copy ul{
    margin-top: 0.4rem;
    gap: 0.25rem;
  }
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee .card-copy li, [data-sp-embed] #departments .department-grid.all-managers .card-copy li{
    padding: 0.22rem 0.42rem;
    font-size: 0.54rem;
  }
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee .card-link, [data-sp-embed] #departments .department-grid.all-managers .card-link{
    margin-top: 0.4rem;
    padding: 0.24rem 0.48rem;
    font-size: 0.58rem;
    gap: 0.15rem;
    align-self: flex-start;
    width: fit-content;
    max-width: 100%;
  }
}

/* Phone: force marquee cards to stay image|copy (override global 480px stack) */
@media (max-width: 480px) {
  [data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee .department-card, [data-sp-embed] #departments .department-grid.all-managers .department-card{
    grid-template-columns: minmax(6.5rem, 0.8fr) minmax(0, 1.3fr) !important;
  }
  [data-sp-embed] #departments .department-grid.all-managers .card-image{
    min-height: 0 !important;
  }
  [data-sp-embed] #departments .department-grid.all-managers .card-image img{
    max-height: 10.5rem;
  }
  [data-sp-embed] #departments .department-grid.all-managers .card-copy{
    padding: 0.55rem 0.55rem 0.65rem;
  }
  [data-sp-embed] #departments .department-grid.all-managers .card-copy h3{
    font-size: 0.92rem;
  }
  [data-sp-embed] #departments .department-grid.all-managers .card-copy strong{
    font-size: 0.58rem;
  }
}

/* Mobile: kill vibe / pulse / glow loops. Keep hero avatar enter + float drift.
 * Hero「お問い合わせ」is static (no bob/pulse). Other CTA glow stay ON.
 * AI compare / product-demo lights stay ON. */
@media (max-width: 767px) {
  [data-sp-embed] .hero-avatar.animate-avatar-pop, [data-sp-embed] .hero-center .hero-actions .button.secondary.button--glow, [data-sp-embed] .hero-center .hero-actions .button.secondary.button--glow::after, [data-sp-embed] .card-bubble, [data-sp-embed] .dept-avatar, [data-sp-embed] .mini-manager, [data-sp-embed] .mini-manager img, [data-sp-embed] .product-demo-frame, [data-sp-embed] .product-demo-caption, [data-sp-embed] .ai-compare-card-body, [data-sp-embed] .ai-compare-card--org .ai-compare-card-body, [data-sp-embed] .ai-compare-badge, [data-sp-embed] .ai-compare-accent, [data-sp-embed] .growth-card-inner, [data-sp-embed] .growth-badge--solo, [data-sp-embed] .growth-badge--org, [data-sp-embed] .growth-title-em, [data-sp-embed] .growth-kw--bad, [data-sp-embed] .growth-kw--good, [data-sp-embed] .text-accent-em, [data-sp-embed] .hero-title-em, [data-sp-embed].js .ai-org-def, [data-sp-embed].js .ai-org-def.growth-fade, [data-sp-embed].js .growth-orch-note, [data-sp-embed].js .growth-orch-note.growth-fade, [data-sp-embed].js .ai-compare-heading.reveal.visible .ai-compare-accent, [data-sp-embed].js .departments-heading.reveal.visible .ai-compare-accent, [data-sp-embed].js .workflow-heading.reveal.visible .ai-compare-accent, [data-sp-embed].js .ai-compare-heading.reveal.visible .text-accent-em, [data-sp-embed].js .ai-compare-heading.reveal.visible .text-indigo-600, [data-sp-embed].js .ai-compare-heading.reveal.visible .growth-title-em, [data-sp-embed].js .departments-heading.reveal.visible .growth-title-em, [data-sp-embed].js .ai-compare-heading.reveal.visible .ai-org-def.growth-fade, [data-sp-embed].js .growth-lede.reveal.visible .growth-orch-note.growth-fade, [data-sp-embed].js .growth-lede.reveal.visible .growth-title-em, [data-sp-embed].js .hero-center.reveal.visible .hero-title-em, [data-sp-embed].js .growth-lede.reveal.visible .growth-orch-note .growth-kw--bad, [data-sp-embed].js .growth-lede.reveal.visible .growth-orch-note .growth-kw--good, [data-sp-embed].js .product-demo-flow.is-ready .product-demo-frame, [data-sp-embed].js .product-demo-flow.is-cascading .product-demo-caption, [data-sp-embed].js .growth-card--solo.reveal.visible .growth-badge, [data-sp-embed].js .growth-card--org.reveal.visible .growth-badge{
    animation: none !important;
  }

  /* STEP 01–03: no sequential enter. All three cards stay visible. */
  [data-sp-embed].js .product-demo-flow .product-demo-drop, [data-sp-embed].js .product-demo-flow .product-demo-link, [data-sp-embed].js .product-demo-flow .product-demo-point, [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-drop, [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-link, [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-link[data-demo-link="1"], [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-link[data-demo-link="2"], [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-point, [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-point[data-demo-step="1"], [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-point[data-demo-step="2"], [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-point[data-demo-step="3"], [data-sp-embed].js .product-demo-flow.is-steps-done .product-demo-drop, [data-sp-embed].js .product-demo-flow.is-steps-done .product-demo-link, [data-sp-embed].js .product-demo-flow.is-steps-done .product-demo-point{
    animation: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  [data-sp-embed].js .product-demo-flow .product-demo-point, [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-point, [data-sp-embed].js .product-demo-flow.is-steps-done .product-demo-point{
    transform: none !important;
  }

  /* Keep speech-bubble vibes on the hero title avatars */
  [data-sp-embed] .hero-avatar-bubble.is-show, [data-sp-embed] .hero-avatar-bubble--from-left.is-show, [data-sp-embed] .hero-avatar-bubble--from-right.is-show, [data-sp-embed] .hero-avatar-bubble--bottom.is-show, [data-sp-embed] .hero-avatar-bubble--bottom.hero-avatar-bubble--from-left.is-show, [data-sp-embed] .hero-avatar-bubble--bottom.hero-avatar-bubble--from-right.is-show{
    animation: hero-bubble-in 0.55s ease forwards;
  }
  [data-sp-embed] .hero-avatar-bubble--from-left.is-show{
    animation-name: hero-bubble-in-left;
  }
  [data-sp-embed] .hero-avatar-bubble--from-right.is-show{
    animation-name: hero-bubble-in-right;
  }
  [data-sp-embed] .hero-avatar-bubble--bottom.is-show{
    animation-name: hero-bubble-in-bottom;
  }
  [data-sp-embed] .hero-avatar-bubble--bottom.hero-avatar-bubble--from-left.is-show{
    animation-name: hero-bubble-in-bottom-left;
  }
  [data-sp-embed] .hero-avatar-bubble--bottom.hero-avatar-bubble--from-right.is-show{
    animation-name: hero-bubble-in-bottom-right;
  }
  [data-sp-embed] .hero-avatar-bubble.is-hide, [data-sp-embed] .hero-avatar-bubble--from-left.is-hide, [data-sp-embed] .hero-avatar-bubble--from-right.is-hide, [data-sp-embed] .hero-avatar-bubble--bottom.is-hide, [data-sp-embed] .hero-avatar-bubble--bottom.hero-avatar-bubble--from-left.is-hide, [data-sp-embed] .hero-avatar-bubble--bottom.hero-avatar-bubble--from-right.is-hide{
    animation: hero-bubble-out 0.28s ease forwards;
  }
  [data-sp-embed] .hero-avatar-bubble--from-left.is-hide{
    animation-name: hero-bubble-out-left;
  }
  [data-sp-embed] .hero-avatar-bubble--from-right.is-hide{
    animation-name: hero-bubble-out-right;
  }
  [data-sp-embed] .hero-avatar-bubble--bottom.is-hide{
    animation-name: hero-bubble-out-bottom;
  }
  [data-sp-embed] .hero-avatar-bubble--bottom.hero-avatar-bubble--from-left.is-hide{
    animation-name: hero-bubble-out-bottom-left;
  }
  [data-sp-embed] .hero-avatar-bubble--bottom.hero-avatar-bubble--from-right.is-hide{
    animation-name: hero-bubble-out-bottom-right;
  }
}

/* Mobile: force traveling light / pulse on AI compare + product-demo connectors */
@media (max-width: 767px) {
  [data-sp-embed] .ai-branch-line{
    animation: ai-branch-dash 6s linear infinite !important;
  }
  [data-sp-embed] .ai-branch-line:nth-child(1){ animation-delay: 0s !important; }
  [data-sp-embed] .ai-branch-line:nth-child(2){ animation-delay: 0.08s !important; }
  [data-sp-embed] .ai-branch-line:nth-child(3){ animation-delay: 0.16s !important; }
  [data-sp-embed] .ai-branch-line:nth-child(4){ animation-delay: 0.24s !important; }
  [data-sp-embed] .ai-branch-line:nth-child(5){ animation-delay: 0.32s !important; }
  [data-sp-embed] .ai-branch-line:nth-child(6){ animation-delay: 0.4s !important; }
  [data-sp-embed] .ai-branch-line:nth-child(7){ animation-delay: 0.48s !important; }
  [data-sp-embed] .ai-branch-line:nth-child(8){ animation-delay: 0.56s !important; }

  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-solo-visual > .ai-flow-track:first-child .ai-flow-line{
    animation: ai-line-glow-solo-a 3.6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-solo-visual > .ai-flow-track--short .ai-flow-line{
    animation: ai-line-glow-solo-b 3.6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-org-visual > .ai-flow-track:first-child .ai-flow-line{
    animation: ai-line-glow-org-a 6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-flow-track--to-result .ai-flow-line{
    animation: ai-line-glow-org-c 6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-pulse--solo{
    animation: ai-pulse-seq-solo-a 3.6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-pulse--solo-late{
    animation: ai-pulse-seq-solo-b 3.6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-pulse--org:not(.ai-pulse--org-late){
    animation: ai-pulse-seq-org-a 6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-pulse--org-late{
    animation: ai-pulse-seq-org-c 6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.ai-compare-card--org.reveal.visible .ai-human-badge{
    animation: ai-human-glow-org 6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card:not(.ai-compare-card--org).reveal.visible .ai-human-badge{
    animation: ai-human-glow-solo 3.6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-robot--solo{
    animation: ai-pop-down 0.45s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
    animation-delay: 0.24s !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-robot--solo svg{
    animation: ai-robot-glow-solo 3.6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-robot--hub{
    animation: ai-pop-down 0.45s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
    animation-delay: 0.24s !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-robot--hub svg{
    animation: ai-robot-glow-hub 6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-agent{
    animation: ai-agent-hit-glow 6s ease-in-out infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-agent:nth-child(1){ animation-delay: 0.55s !important; }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-agent:nth-child(2){ animation-delay: 0.67s !important; }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-agent:nth-child(3){ animation-delay: 0.79s !important; }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-agent:nth-child(4){ animation-delay: 0.91s !important; }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-agent:nth-child(5){ animation-delay: 1.03s !important; }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-agent:nth-child(6){ animation-delay: 1.15s !important; }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-agent:nth-child(7){ animation-delay: 1.27s !important; }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-agent:nth-child(8){ animation-delay: 1.39s !important; }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-result.ai-result--org{
    animation: ai-result-glow-org 6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-result:not(.ai-result--org){
    animation: ai-result-glow-solo 3.6s ease-in-out 0.55s infinite !important;
  }

  [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-drop-pulse{
    animation: demo-drop-pulse 1.15s linear infinite !important;
  }
  [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-link[data-demo-link="1"] .product-demo-link-svg--h .product-demo-link-dot{
    animation: demo-link-pulse-h 1.2s ease-in-out infinite !important;
  }
  [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-link[data-demo-link="1"] .product-demo-link-svg--v .product-demo-link-dot{
    animation: demo-link-pulse-v 1.2s ease-in-out infinite !important;
  }
  [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-link[data-demo-link="2"] .product-demo-link-svg--h .product-demo-link-dot{
    animation: demo-link-pulse-h 1.2s ease-in-out infinite !important;
  }
  [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-link[data-demo-link="2"] .product-demo-link-svg--v .product-demo-link-dot{
    animation: demo-link-pulse-v 1.2s ease-in-out infinite !important;
  }
}

/* Growth compare: keep the same motion even with OS Reduce Motion (iOS 視覚効果を減らす) */
@media (prefers-reduced-motion: reduce) {
  [data-sp-embed] .ai-branch-line{
    animation: ai-branch-dash 6s linear infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-solo-visual > .ai-flow-track:first-child .ai-flow-line{
    animation: ai-line-glow-solo-a 3.6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-solo-visual > .ai-flow-track--short .ai-flow-line{
    animation: ai-line-glow-solo-b 3.6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-org-visual > .ai-flow-track:first-child .ai-flow-line{
    animation: ai-line-glow-org-a 6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-flow-track--to-result .ai-flow-line{
    animation: ai-line-glow-org-c 6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-pulse--solo{
    animation: ai-pulse-seq-solo-a 3.6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-pulse--solo-late{
    animation: ai-pulse-seq-solo-b 3.6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-pulse--org:not(.ai-pulse--org-late){
    animation: ai-pulse-seq-org-a 6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .ai-compare-card.reveal.visible .ai-pulse--org-late{
    animation: ai-pulse-seq-org-c 6s ease-in-out 0.55s infinite !important;
  }
  [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-drop-pulse{
    animation: demo-drop-pulse 1.15s linear infinite !important;
  }
  [data-sp-embed].js .product-demo-flow.is-steps-cascading .product-demo-link-dot{
    animation: demo-link-pulse-h 1.2s ease-in-out infinite !important;
  }
  [data-sp-embed] .growth-bounce-rail{
    animation: growth-dash-drift 2.2s linear infinite !important;
  }
  [data-sp-embed] .growth-pc-cell .growth-bounce-block{
    animation: growth-block-pulse 4.8s ease-in-out infinite !important;
    animation-delay: calc(var(--fi, 0) * 1.6s) !important;
  }
  [data-sp-embed] .growth-local-dot{
    animation: growth-local-bounce 4.8s linear infinite !important;
    animation-delay: calc(var(--fi, 0) * 1.6s) !important;
  }
  [data-sp-embed] .growth-pc-cell .growth-pc{
    animation: growth-pc-glow 4.8s ease-in-out infinite !important;
    animation-delay: calc(var(--fi, 0) * 1.6s) !important;
  }
  [data-sp-embed] .growth-pc-label{
    animation: growth-label-seq 4.8s ease-in-out infinite !important;
    animation-delay: calc(var(--fi, 0) * 1.6s) !important;
  }
  [data-sp-embed].js .growth-card--solo.reveal.visible .growth-pc-cell .growth-pc-label{
    animation:
      ai-pop-down 0.4s cubic-bezier(0.16, 1, 0.3, 1) both,
      growth-label-seq 4.8s ease-in-out infinite !important;
    animation-delay:
      calc(0.32s + var(--fi, 0) * 0.1s),
      calc(0.85s + var(--fi, 0) * 1.6s) !important;
  }
  [data-sp-embed] .growth-hub-spin{
    animation: growth-orbit-spin 9s linear infinite !important;
  }
  [data-sp-embed] .growth-hub-orbit-track{
    animation: growth-dash-drift 2.4s linear infinite !important;
  }
  [data-sp-embed] .growth-hub-node:nth-child(4) .growth-hub-device, [data-sp-embed] .growth-hub-node:nth-child(6) .growth-hub-device, [data-sp-embed] .growth-hub-node:nth-child(8) .growth-hub-device{
    animation: growth-hub-device-pass 9s linear infinite !important;
  }
  [data-sp-embed] .growth-hub-node:nth-child(5) .growth-hub-device, [data-sp-embed] .growth-hub-node:nth-child(7) .growth-hub-device, [data-sp-embed] .growth-hub-node:nth-child(9) .growth-hub-device{
    animation: growth-hub-device-pass 9s linear infinite !important;
    animation-delay: -1.5s !important;
  }
  [data-sp-embed] .growth-hub-node:nth-child(4) .growth-hub-avatar, [data-sp-embed] .growth-hub-node:nth-child(6) .growth-hub-avatar, [data-sp-embed] .growth-hub-node:nth-child(8) .growth-hub-avatar{
    animation: growth-hub-avatar-pass 9s linear infinite !important;
  }
  [data-sp-embed] .growth-hub-node:nth-child(5) .growth-hub-avatar, [data-sp-embed] .growth-hub-node:nth-child(7) .growth-hub-avatar, [data-sp-embed] .growth-hub-node:nth-child(9) .growth-hub-avatar{
    animation: growth-hub-avatar-pass 9s linear infinite !important;
    animation-delay: -1.5s !important;
  }
  [data-sp-embed] .growth-hub-node:nth-child(4) .growth-hub-device::before, [data-sp-embed] .growth-hub-node:nth-child(6) .growth-hub-device::before, [data-sp-embed] .growth-hub-node:nth-child(8) .growth-hub-device::before{
    animation: growth-hub-screen-pass 9s linear infinite !important;
  }
  [data-sp-embed] .growth-hub-node:nth-child(5) .growth-hub-device::before, [data-sp-embed] .growth-hub-node:nth-child(7) .growth-hub-device::before, [data-sp-embed] .growth-hub-node:nth-child(9) .growth-hub-device::before{
    animation: growth-hub-screen-pass 9s linear infinite !important;
    animation-delay: -1.5s !important;
  }
}

/* PC: overall type scale bump — body copy and section titles slightly larger */
@media (min-width: 1024px) {
  [data-sp-embed]{
    --hero-lead-font: clamp(1.4rem, 0.7vw + 1.18rem, 1.68rem);
    --hero-actions-mt: clamp(1.35rem, 2.2vw, 1.85rem);
    --btn-font-hero: clamp(1.05rem, 0.88rem + 0.32vw, 1.18rem);
    --btn-min-h-hero: 3.05rem;
    --btn-pad-x-hero: clamp(1.55rem, 1.05vw + 1.15rem, 2.1rem);
    --btn-pad-y-hero: clamp(0.62rem, 0.35vw + 0.5rem, 0.85rem);
    --btn-font-hero-glow: clamp(1.02rem, 0.86rem + 0.36vw, 1.18rem);
    --btn-min-h-hero-glow: clamp(3.05rem, 0.5vw + 2.5rem, 3.45rem);
    --btn-pad-x-hero-glow: clamp(1.3rem, 1vw + 1rem, 1.95rem);
    --btn-pad-y-hero-glow: clamp(0.65rem, 0.38vw + 0.5rem, 0.9rem);
    --btn-font-cta: clamp(1.18rem, 0.98rem + 0.5vw, 1.38rem);
    --btn-min-h-cta: clamp(3.3rem, 0.75vw + 2.8rem, 3.85rem);
    --btn-pad-x-cta: clamp(1.85rem, 1.3vw + 1.15rem, 2.65rem);
    --btn-pad-y-cta: clamp(0.8rem, 0.45vw + 0.62rem, 1.05rem);
  }
  [data-sp-embed] .hero-center .hero-copy h1{
    font-size: clamp(2.85rem, 4.6vw + 0.9rem, 4.5rem);
  }
  [data-sp-embed] .hero-center .hero-actions .button{
    min-width: 13.5rem;
  }
  [data-sp-embed][lang="en"] .hero-center .hero-copy h1{
    font-size: clamp(2.6rem, 4.5vw + 0.8rem, 4.65rem);
  }
  [data-sp-embed] .product-demo-heading h2{
    font-size: clamp(2.25rem, 2.9vw + 1.05rem, 3.55rem);
  }
  [data-sp-embed] .growth-title, [data-sp-embed] .ai-compare-heading h2{
    font-size: clamp(2.55rem, 3.8vw + 1.15rem, 3.85rem);
  }
  [data-sp-embed] .departments-heading h2{
    font-size: clamp(2.15rem, 3.35vw + 1.05rem, 3.4rem);
  }
  [data-sp-embed] .workflow-heading h2{
    font-size: clamp(2.2rem, 3vw + 1.1rem, 3.4rem);
  }
  [data-sp-embed] .growth-lead, [data-sp-embed] .departments-lead{
    font-size: clamp(1.35rem, 0.85vw + 1.1rem, 1.7rem);
  }
  [data-sp-embed] .growth-orch-note, [data-sp-embed] .ai-org-def, [data-sp-embed] .ai-compare-heading .mt-4.p-4{
    font-size: clamp(0.95rem, 0.5vw + 0.82rem, 1.1rem);
  }
  [data-sp-embed] .ai-org-def-label, [data-sp-embed] .growth-orch-note-label{
    font-size: 1rem;
  }
  [data-sp-embed] .growth-card-inner h3{
    font-size: clamp(20px, 1.3vw + 0.75rem, 27px);
  }
  [data-sp-embed] .growth-fact-title{
    font-size: 1.35rem;
  }
  [data-sp-embed] .ai-result-lead{
    font-size: clamp(1.25rem, 0.45vw + 1.08rem, 1.45rem);
  }
  [data-sp-embed] .ai-result-sub{
    font-size: clamp(0.95rem, 0.25vw + 0.85rem, 1.08rem);
  }
  [data-sp-embed] .section-heading h2, [data-sp-embed] .split-heading h2, [data-sp-embed] .visual-copy h2{
    font-size: clamp(39px, 4.5vw + 0.75rem, 62px);
  }
  [data-sp-embed] .section-heading p:not(.eyebrow), [data-sp-embed] .split-heading p:not(.eyebrow), [data-sp-embed] .visual-copy p:not(.eyebrow), [data-sp-embed] .lead{
    font-size: clamp(19px, 0.5vw + 17px, 25px);
  }
  [data-sp-embed] .contact h2{
    font-size: clamp(1.25rem, 2.8vw + 0.6rem, 3.2rem);
  }
  [data-sp-embed] .contact p:not(.ai-compare-label){
    font-size: 1.3rem;
  }
  [data-sp-embed] .card-copy h3{
    font-size: 32px;
  }
  [data-sp-embed] .card-copy strong{
    font-size: 17.5px;
  }
  [data-sp-embed] .workflow-step h3{
    font-size: 24px;
  }
  [data-sp-embed] .workflow-step p{
    font-size: 17.5px;
  }
  [data-sp-embed] .button{
    font-size: var(--btn-font);
  }
}

@media (min-width: 768px) and (max-width: 1200px) {
  [data-sp-embed]{
    --btn-font-hero: clamp(1.02rem, 0.9rem + 0.36vw, 1.12rem);
    --btn-min-h-hero: 2.95rem;
    --btn-pad-y-hero: 0.68rem;
    --btn-pad-x-hero: 1.3rem;
    --btn-font-hero-glow: clamp(0.98rem, 0.86rem + 0.32vw, 1.1rem);
    --btn-min-h-hero-glow: 2.95rem;
    --btn-pad-y-hero-glow: 0.66rem;
    --btn-pad-x-hero-glow: 1.3rem;
  }
}

/* ===== Media fade-in after decode / canplaythrough ===== */
@keyframes claw-media-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

[data-sp-embed].js img.sp-media-fade:not(.is-media-ready), [data-sp-embed].js video.sp-media-fade:not(.is-media-ready){
  opacity: 0 !important;
}

[data-sp-embed].js img.sp-media-fade.is-media-ready, [data-sp-embed].js video.sp-media-fade.is-media-ready{
  opacity: 1 !important;
  transition: opacity 0.45s ease;
}

[data-sp-embed].js .product-demo-media:not(.is-media-ready)::before{
  content: "";
  position: absolute;
  inset: 16% 10%;
  border-radius: 14px;
  background: linear-gradient(90deg, #f1f5f9 0%, #e2e8f0 45%, #f1f5f9 100%);
  background-size: 200% 100%;
  animation: claw-media-shimmer 1.15s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
  [data-sp-embed].js img.sp-media-fade.is-media-ready, [data-sp-embed].js video.sp-media-fade.is-media-ready{
    transition: none !important;
  }
  [data-sp-embed].js .product-demo-media:not(.is-media-ready)::before{
    animation: none;
  }
}

/* Member cards: keep name, role, and tags above the portrait.
   Marquee translate3d + text will-change/transform was dropping the text layer. */
[data-sp-embed].js #departments .department-card.reveal, [data-sp-embed].js #departments .department-card.reveal:not(.visible), [data-sp-embed].js #departments .department-card.reveal.visible{
  opacity: 1;
  visibility: visible;
  transform: none;
  filter: none;
  will-change: auto;
}
[data-sp-embed] #departments .department-card{
  overflow: visible;
  isolation: isolate;
}
[data-sp-embed] #departments .department-card .card-image{
  position: relative;
  z-index: 1;
  overflow: hidden;
  isolation: isolate;
  border-radius: 17px 0 0 17px;
}
[data-sp-embed] #departments .department-card .card-copy{
  position: relative;
  z-index: 2;
  overflow: visible;
  isolation: isolate;
  min-width: 0;
  border-radius: 0 17px 17px 0;
  opacity: 1;
  visibility: visible;
  transform: none;
  will-change: auto;
}
[data-sp-embed] #departments .department-card .card-copy :is(p, [data-sp-embed] h3, [data-sp-embed] strong, [data-sp-embed] ul, [data-sp-embed] li, [data-sp-embed] .card-link){
  position: relative;
  z-index: 1;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible;
  transform: none !important;
  will-change: auto !important;
  animation: none !important;
}
[data-sp-embed] #departments .department-grid.all-managers.department-grid--marquee{
  will-change: auto;
}
[data-sp-embed] #departments .department-card:hover, [data-sp-embed] #departments .department-card:focus-visible, [data-sp-embed].js #departments .department-card.reveal:hover, [data-sp-embed].js #departments .department-card.reveal.visible:hover, [data-sp-embed].js #departments .department-card.reveal:focus-visible, [data-sp-embed].js #departments .department-card.reveal.visible:focus-visible{
  transform: translateY(-7px);
}
[data-sp-embed] #departments .department-card:active, [data-sp-embed].js #departments .department-card.reveal:active, [data-sp-embed].js #departments .department-card.reveal.visible:active{
  transform: translateY(-3px) scale(0.99);
}
@media (max-width: 760px) {
  [data-sp-embed] #departments .department-grid.all-managers .department-card:hover, [data-sp-embed] #departments .department-grid.all-managers .department-card:focus-visible, [data-sp-embed].js #departments .department-card.reveal:hover, [data-sp-embed].js #departments .department-card.reveal.visible:hover, [data-sp-embed].js #departments .department-card.reveal:focus-visible, [data-sp-embed].js #departments .department-card.reveal.visible:focus-visible{
    transform: none;
  }
  [data-sp-embed] #departments .department-grid.all-managers .department-card:active, [data-sp-embed].js #departments .department-card.reveal:active, [data-sp-embed].js #departments .department-card.reveal.visible:active{
    transform: scale(0.99);
  }
}

/* LINE float contact popup (LP-style) — hardened for host embed */
[data-sp-embed] [data-contact-popup].contact-popup.line-float, [data-sp-embed] .contact-popup.line-float{
  position: fixed !important;
  z-index: 2147483000 !important;
  right: max(0.7rem, env(safe-area-inset-right)) !important;
  left: auto !important;
  bottom: calc(
    var(--sp-public-footer-offset, 88px) + max(1.1rem, env(safe-area-inset-bottom, 0px))
  ) !important;
  width: min(17.5rem, calc(100vw - 1.6rem)) !important;
  max-width: calc(100vw - 1.2rem) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: var(--font-sans, "Hiragino Sans", "Noto Sans JP", sans-serif) !important;
  color: #0f172a !important;
  pointer-events: none !important;
  transform: translateY(18px);
  opacity: 0;
  visibility: hidden;
  transition:
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.35s ease,
    visibility 0s linear 0.55s;
}

[data-sp-embed] .contact-popup.line-float.is-open{
  transform: translateY(0) !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.45s ease,
    visibility 0s;
}

[data-sp-embed] .contact-popup.line-float .line-float__card{
  pointer-events: auto !important;
  display: block !important;
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

[data-sp-embed] .contact-popup.line-float .line-float__icon, [data-sp-embed] .contact-popup.line-float .line-float__avatar, [data-sp-embed] .contact-popup.line-float .line-float__role{
  display: none !important;
}

[data-sp-embed] .contact-popup.line-float .line-float__bubble{
  position: relative !important;
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  padding: 1rem 1rem 1.05rem !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  box-shadow:
    0 16px 34px rgba(15, 23, 42, 0.16),
    0 2px 6px rgba(15, 23, 42, 0.06) !important;
  color: #0f172a !important;
}

[data-sp-embed] .contact-popup.line-float .line-float__bubble::before{
  content: none !important;
  display: none !important;
}

[data-sp-embed] .contact-popup.line-float .line-float__head{
  display: block !important;
  position: relative !important;
  margin: 0 1.6rem 0.45rem 0 !important;
  padding: 0 !important;
}

[data-sp-embed] .contact-popup.line-float .line-float__title{
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.98rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.4 !important;
  color: #0f172a !important;
}

[data-sp-embed] .contact-popup.line-float .line-float__close{
  position: absolute !important;
  top: -0.15rem !important;
  right: -0.2rem !important;
  z-index: 2 !important;
  width: 1.7rem !important;
  height: 1.7rem !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f1f5f9 !important;
  color: #64748b !important;
  font-size: 1.05rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  flex: none !important;
}

[data-sp-embed] .contact-popup.line-float .line-float__close:hover{
  background: #e2e8f0 !important;
  color: #334155 !important;
}

[data-sp-embed] .contact-popup.line-float .line-float__badge{
  display: block !important;
  margin: 0 0 0.35rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #64748b !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.45 !important;
}

[data-sp-embed] .contact-popup.line-float .line-float__speech{
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  font-size: 0.86rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.55 !important;
  color: #334155 !important;
}

[data-sp-embed] .contact-popup.line-float .line-float__speech.is-typing{
  min-height: 2.6em;
}

[data-sp-embed] .contact-popup.line-float .line-float__speech strong, [data-sp-embed] .contact-popup.line-float .line-float__speech .line-float__em{
  color: #1d4ed8 !important;
  font-weight: 800 !important;
  background: none !important;
}

[data-sp-embed] .contact-popup.line-float .line-float__btn, [data-sp-embed] .contact-popup.line-float .contact-popup__button{
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.4rem !important;
  margin-top: 0.85rem !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 2.65rem !important;
  padding: 0.62rem 0.9rem !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: #1d4ed8 !important;
  color: #fff !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  text-align: center !important;
  box-shadow: 0 6px 16px rgba(29, 78, 216, 0.28) !important;
  transition: transform 160ms ease, background 160ms ease;
}

[data-sp-embed] .contact-popup.line-float .line-float__btn::after{
  content: "";
  position: absolute;
  top: 0;
  left: -35%;
  width: 40%;
  height: 100%;
  background: linear-gradient(
    100deg,
    transparent 0%,
    rgba(255, 255, 255, 0.15) 35%,
    rgba(255, 255, 255, 0.55) 50%,
    rgba(255, 255, 255, 0.15) 65%,
    transparent 100%
  );
  transform: skewX(-18deg);
  pointer-events: none;
}

[data-sp-embed] .contact-popup.line-float .line-float__btn:hover{
  transform: translateY(-1px);
  background: #1e40af !important;
  color: #fff !important;
}

[data-sp-embed] .contact-popup.line-float .line-float__btn-text{
  position: relative;
  z-index: 1;
  color: #fff !important;
}

[data-sp-embed] .contact-popup.line-float.is-minimized{
  width: auto !important;
}

[data-sp-embed] .contact-popup.line-float.is-minimized .line-float__head, [data-sp-embed] .contact-popup.line-float.is-minimized .line-float__title, [data-sp-embed] .contact-popup.line-float.is-minimized .line-float__close, [data-sp-embed] .contact-popup.line-float.is-minimized .line-float__badge, [data-sp-embed] .contact-popup.line-float.is-minimized .line-float__speech, [data-sp-embed] .contact-popup.line-float.is-minimized .line-float__sr{
  display: none !important;
}

[data-sp-embed] .contact-popup.line-float.is-minimized .line-float__bubble{
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

[data-sp-embed] .contact-popup.line-float.is-minimized .line-float__btn{
  margin-top: 0 !important;
  min-width: 10.5rem !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
  animation: line-btn-glow 2.2s ease-in-out infinite;
}

[data-sp-embed] .contact-popup.line-float .line-float__sr{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

[data-sp-embed] .contact-popup.line-float .line-float__caret{
  display: inline-block;
  width: 0.12em;
  height: 1.05em;
  margin-left: 0.08em;
  vertical-align: -0.12em;
  background: currentColor;
  border-radius: 1px;
  animation: line-caret-blink 0.9s steps(1) infinite;
}

[data-sp-embed] .contact-popup.line-float .line-float__think{
  display: inline-block;
  letter-spacing: 0.12em;
  color: #94a3b8;
  animation: line-think-pulse 0.9s ease-in-out infinite;
}

[data-sp-embed] .contact-popup.line-float .line-float__badge.is-thinking, [data-sp-embed] .contact-popup.line-float .line-float__badge.is-typing{
  min-height: 1.15rem;
}

[data-sp-embed] .contact-popup.line-float .line-float__btn.is-pending{
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
  animation: none;
}

[data-sp-embed] .contact-popup.line-float .line-float__btn.is-pending::after{
  animation: none;
}

[data-sp-embed] .contact-popup.line-float .line-float__btn.is-ready{
  opacity: 1 !important;
  animation:
    line-btn-in 360ms cubic-bezier(0.22, 1, 0.36, 1) both,
    line-btn-glow 2.2s ease-in-out 360ms infinite;
}

[data-sp-embed] .contact-popup.line-float .line-float__btn.is-ready::after{
  animation: line-btn-shine 2.6s ease-in-out 360ms infinite;
}

@keyframes line-caret-blink {
  0%, 45% { opacity: 1; }
  50%, 100% { opacity: 0; }
}

@keyframes line-think-pulse {
  0%, 100% { opacity: 0.35; }
  50% { opacity: 1; }
}

@keyframes line-btn-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}

@keyframes line-btn-shine {
  0%, 35% { left: -40%; opacity: 0; }
  45% { opacity: 1; }
  70%, 100% { left: 120%; opacity: 0; }
}

@keyframes line-btn-glow {
  0%, 100% {
    box-shadow: 0 6px 16px rgba(29, 78, 216, 0.28), 0 0 0 0 rgba(29, 78, 216, 0.35);
  }
  50% {
    box-shadow: 0 8px 20px rgba(29, 78, 216, 0.38), 0 0 0 7px rgba(29, 78, 216, 0);
  }
}

@keyframes line-avatar-vibe {
  0%, 100% { transform: none; }
}

@media (min-width: 641px) {
  [data-sp-embed] .contact-popup.line-float{
    width: min(clamp(17.5rem, 14vw + 4rem, 21rem), calc(100vw - 2rem)) !important;
  }
  [data-sp-embed] .contact-popup.line-float .line-float__title{
    font-size: clamp(0.98rem, 0.85rem + 0.3vw, 1.12rem) !important;
  }
  [data-sp-embed] .contact-popup.line-float .line-float__speech{
    font-size: clamp(0.86rem, 0.75rem + 0.22vw, 0.98rem) !important;
  }
  [data-sp-embed] .contact-popup.line-float .line-float__btn, [data-sp-embed] .contact-popup.line-float .contact-popup__button{
    min-height: clamp(2.65rem, 2.3rem + 0.4vw, 3.05rem) !important;
    font-size: clamp(0.88rem, 0.78rem + 0.2vw, 0.98rem) !important;
  }
}

@media (min-width: 1280px) {
  [data-sp-embed] .contact-popup.line-float{
    width: min(clamp(19.5rem, 15vw + 2rem, 24rem), calc(100vw - 2.5rem)) !important;
    right: max(1rem, env(safe-area-inset-right)) !important;
  }
}

@media (min-width: 1600px) {
  [data-sp-embed] .contact-popup.line-float{
    width: min(clamp(22rem, 14vw + 1rem, 27rem), calc(100vw - 3rem)) !important;
  }
  [data-sp-embed] .contact-popup.line-float .line-float__title{ font-size: 1.18rem !important; }
  [data-sp-embed] .contact-popup.line-float .line-float__speech{ font-size: 1.02rem !important; }
  [data-sp-embed] .contact-popup.line-float .line-float__btn, [data-sp-embed] .contact-popup.line-float .contact-popup__button{
    min-height: 3.1rem !important;
    font-size: 1rem !important;
  }
}

@media (max-width: 640px) {
  [data-sp-embed] .contact-popup.line-float{
    left: auto !important;
    right: max(0.6rem, env(safe-area-inset-right)) !important;
    bottom: calc(
      var(--sp-public-footer-offset, 88px) + max( 0.5rem, env(safe-area-inset-bottom, 0px)))
    ) !important;
    width: min(15.75rem, calc(100vw - 1.4rem)) !important;
  }
  [data-sp-embed] .contact-popup.line-float.is-minimized{ width: auto !important; }
}

@media (prefers-reduced-motion: reduce) {
  [data-sp-embed] .contact-popup.line-float, [data-sp-embed] .contact-popup.line-float.is-open{
    transition: opacity 0.2s ease, visibility 0s;
    transform: none !important;
  }
  [data-sp-embed] .contact-popup.line-float .line-float__btn.is-ready, [data-sp-embed] .contact-popup.line-float .line-float__btn.is-ready::after, [data-sp-embed] .contact-popup.line-float.is-minimized .line-float__btn{
    animation: none !important;
  }
}

[data-sp-embed]{visibility:visible}
