/* Approved Pearl Bubble concept: only the four explicitly marked card groups. */
html body [data-pearl-group] {
  --pearl-ink: #59435e;
  --pearl-accent: #94749e;
  --pearl-surface: linear-gradient(140deg, #fffdfef5, #fcf8fff5);
  --pearl-orb: radial-gradient(circle at 30% 22%, #fff 0, #fdf9ff 38%, #e5d8f0 100%);
  gap: 30px 22px;
}
html body:is(.page-home, .page-recruit.recruit-refined) [data-pearl-group] > :is(article, li) {
  position: relative;
  min-width: 0;
  isolation: isolate;
  overflow: visible;
  border: 1px solid #e6d9ed;
  border-radius: 28px;
  background: var(--pearl-surface);
  box-shadow: 0 12px 28px rgba(122, 91, 146, .065);
  transform: none;
}
html body:is(.page-home, .page-recruit.recruit-refined) [data-pearl-group] > :is(article, li) > span {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  padding: 0;
  margin: 0 auto 20px;
  border: 1px solid #fff;
  border-radius: 50%;
  background: var(--pearl-orb);
  color: var(--pearl-accent);
  box-shadow: inset -2px -3px 6px #ddd0e44f, 0 5px 12px #967aaa13;
  font: italic 400 27px/1 Georgia, 'Times New Roman', serif;
  letter-spacing: 0;
}
html body:is(.page-home, .page-recruit.recruit-refined) [data-pearl-group] > :is(article, li) > span::after { content: none !important; }
html body:is(.page-home, .page-recruit.recruit-refined) [data-pearl-group]:not([data-pearl-group="day"]) > :is(article, li)::after {
  content: '';
  position: absolute;
  z-index: 0;
  pointer-events: none;
  right: 15px;
  bottom: 16px;
  width: 24px;
  height: 24px;
  border: 1px solid #fff;
  border-radius: 50%;
  background: radial-gradient(circle at 25% 20%, #fff, #f3dfea80);
  opacity: .7;
}
html body [data-pearl-group] :is(h3, p, strong, .recruit-appeal-copy) { position: relative; z-index: 1; }
html body.page-recruit.recruit-refined [data-pearl-group="appeal"] { gap: 32px 22px; padding-top: 18px; }
html body.page-recruit.recruit-refined [data-pearl-group="appeal"] > li { display: block; padding: 30px 25px 27px; }
html body.page-recruit.recruit-refined [data-pearl-group="appeal"] > li > span { margin: -50px 0 20px; }
html body.page-recruit.recruit-refined [data-pearl-group="appeal"] .recruit-appeal-copy { padding: 0; }
html body.page-recruit.recruit-refined [data-pearl-group="appeal"] > .recruit-appeal-featured {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 34px;
  border-radius: 80px 32px 32px 32px;
  background: linear-gradient(135deg, #fcfaff, #f6effa 60%, #fff4f1);
}
html body.page-recruit.recruit-refined [data-pearl-group="appeal"] > .recruit-appeal-featured > span {
  width: 78px;
  height: 78px;
  flex-basis: 78px;
  margin: 0 0 30px;
  font-size: 43px;
}
html body.page-recruit.recruit-refined [data-pearl-group="appeal"] > .recruit-appeal-featured::before {
  content: '';
  position: absolute;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  top: 18px;
  right: 18px;
  pointer-events: none;
  border: 1px solid #fffc;
  background: radial-gradient(circle at 35% 25%, #fff9, #eaddf838 65%, #ffdcd855);
  box-shadow: inset 0 -8px 22px #d8c2e633;
}
html body:is(.page-home, .page-recruit.recruit-refined) :is([data-pearl-group="photos"], [data-pearl-group="work"]) {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 34px 22px;
}
html body :is([data-pearl-group="photos"], [data-pearl-group="work"]) > article { grid-column: span 2; }
html body :is([data-pearl-group="photos"], [data-pearl-group="work"]) > article:nth-child(4) { grid-column: 2 / span 2; }
html body :is([data-pearl-group="photos"], [data-pearl-group="work"]) > article:nth-child(5) { grid-column: 4 / span 2; }
html body.page-home [data-pearl-group="photos"] > article { padding: 16px 16px 32px; }
html body.page-home [data-pearl-group="photos"] .reason-card-visual { border-radius: 22px; margin-bottom: 0; }
html body.page-home [data-pearl-group="photos"] > article > span { margin: -25px auto 17px; }
html body.page-home [data-pearl-group="photos"] h3 { margin: 0 8px 14px; }
html body.page-home [data-pearl-group="photos"] p { margin: 0 8px; }
html body.page-recruit.recruit-refined [data-pearl-group="work"] { padding-top: 20px; }
html body.page-recruit.recruit-refined [data-pearl-group="work"] > article { min-height: 205px; padding: 30px 24px; }
html body.page-recruit.recruit-refined [data-pearl-group="work"] > article > span { margin-top: -52px; }
html body.page-recruit.recruit-refined [data-pearl-group="work"] h3 { margin: 0 0 12px; font-size: 23px; line-height: 1.5; }
html body.page-recruit.recruit-refined [data-pearl-group="work"] p { margin: 0; font-size: 16px; line-height: 1.85; }
html body.page-recruit.recruit-refined [data-pearl-group="day"] { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 16px; }
html body.page-recruit.recruit-refined [data-pearl-group="day"] > article {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 17px;
  min-height: 112px;
  padding: 10px 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  text-align: center;
}
html body.page-recruit.recruit-refined [data-pearl-group="day"] > article > span { margin: 0; }
html body.page-recruit.recruit-refined [data-pearl-group="day"] > article:not(:last-child)::after {
  content: '';
  position: absolute;
  z-index: 0;
  top: 37px;
  height: 1px;
  left: calc(50% + 35px);
  right: calc(-50% + 19px);
  background: #d9c8e3;
}
html body.page-recruit.recruit-refined [data-pearl-group="day"] strong { font-size: 16px; font-weight: 500; line-height: 1.65; }
@media (max-width: 980px) {
  html body:is(.page-home, .page-recruit.recruit-refined) :is([data-pearl-group="photos"], [data-pearl-group="work"]) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html body :is([data-pearl-group="photos"], [data-pearl-group="work"]) > article:nth-child(n) { grid-column: auto; }
  html body :is([data-pearl-group="photos"], [data-pearl-group="work"]) > article:last-child { grid-column: 1 / -1; width: calc(50% - 11px); justify-self: center; }
}
@media (max-width: 760px) {
  html body.page-recruit.recruit-refined [data-pearl-group="appeal"] { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 16px; }
  html body.page-recruit.recruit-refined [data-pearl-group="appeal"] > li { padding: 27px 18px 24px; }
  html body.page-recruit.recruit-refined [data-pearl-group="appeal"] > .recruit-appeal-featured { grid-column: 1/-1; grid-row: auto; min-height: 230px; padding: 30px; }
  html body.page-recruit.recruit-refined [data-pearl-group="appeal"] > li:not(.recruit-appeal-featured) > span { width: 48px; height: 48px; margin-top: -47px; font-size: 25px; }
  html body.page-recruit.recruit-refined [data-pearl-group="appeal"] h3 { font-size: 18px; text-wrap: balance; }
  html body.page-recruit.recruit-refined [data-pearl-group="appeal"] p { font-size: 14px; letter-spacing: 0; }
  html body.page-recruit.recruit-refined [data-pearl-group="appeal"] .recruit-appeal-featured h3 { font-size: 28px; }
  html body.page-recruit.recruit-refined [data-pearl-group="day"] { grid-template-columns: 1fr; gap: 14px; }
  html body.page-recruit.recruit-refined [data-pearl-group="day"] > article { flex-direction: row; min-height: 68px; gap: 24px; padding: 7px 14px; text-align: left; }
  html body.page-recruit.recruit-refined [data-pearl-group="day"] > article:not(:last-child)::after { top: 66px; bottom: -16px; left: 41px; right: auto; width: 1px; height: auto; }
}
@media (max-width: 600px) {
  html body:is(.page-home, .page-recruit.recruit-refined) :is([data-pearl-group="photos"], [data-pearl-group="work"]) { grid-template-columns: 1fr; }
  html body :is([data-pearl-group="photos"], [data-pearl-group="work"]) > article:nth-child(n) { grid-column: auto; width: 100%; }
  html body.page-recruit.recruit-refined [data-pearl-group="work"] > article { min-height: 0; padding: 30px 24px; }
}
@media (max-width: 359px) {
  html body.page-recruit.recruit-refined [data-pearl-group="appeal"] { grid-template-columns: 1fr; gap: 30px 12px; }
  html body.page-recruit.recruit-refined [data-pearl-group="appeal"] > li { padding-inline: 24px; }
  html body.page-recruit.recruit-refined [data-pearl-group="appeal"] h3 { font-size: 20px; }
  html body.page-recruit.recruit-refined [data-pearl-group="appeal"] p { font-size: 15px; }
}
/* Aurora Trace: one orbit on entry; text remains fully visible. */
@property --aurora-angle { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
html body .aurora-surface { position: relative; isolation: isolate; }
html body .aurora-surface > .aurora-trace {
  position: absolute; inset: 0; display: block; z-index: 3;
  margin: 0; padding: 2px; border: 0; border-radius: inherit;
  pointer-events: none; opacity: 0;
  background: conic-gradient(from var(--aurora-angle), transparent 0deg 225deg, #eebed640 270deg, #b8a0d3 314deg, #fff 338deg, #c9addf 355deg, transparent 360deg);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
}
@keyframes aurora-trace-orbit {
  0% { --aurora-angle: 0deg; opacity: 0; }
  16% { --aurora-angle: 55deg; opacity: 1; }
  83% { --aurora-angle: 315deg; opacity: .9; }
  100% { --aurora-angle: 360deg; opacity: 0; }
}
@keyframes aurora-number-glow {
  0%, 100% { filter: drop-shadow(0 0 0 #bc9ed900); translate: 0 0; }
  38% { filter: drop-shadow(0 0 9px #bc9ed980); translate: 0 -3px; }
}
@media (prefers-reduced-motion: no-preference) {
  html body .aurora-running .aurora-trace { animation: aurora-trace-orbit 1400ms linear var(--aurora-delay,0ms) both; }
  html body .aurora-running > .aurora-number { animation: aurora-number-glow 1400ms ease-in-out var(--aurora-delay,0ms) both; }
}
@media (prefers-reduced-motion: reduce) {
  html body .aurora-running .aurora-trace,
  html body .aurora-running > .aurora-number { animation: none; }
}
