/* Recruitment page: approved readable type, restrained motion and clear actions.
   Loaded last; shared styles and other pages remain unchanged. */
html body.page-recruit.recruit-refined {
  --recruit-ink: #493d45;
  --recruit-muted: #62565f;
  --recruit-action: #715879;
  --recruit-action-hover: #5c4564;
  --brown: #493d45;
  --muted: #62565f;
  --quality-ease: cubic-bezier(.22, 1, .36, 1);
  --quality-heading: 28px;
  --quality-card: 20px;
  --quality-feature: 26px;
  background-color: #fcfaf8;
  color: var(--recruit-ink);
}
html body.page-recruit.recruit-refined main :is(h1,h2,h3,.training-step-title) { color: #493d45; }
html body.page-recruit.recruit-refined #top h2 {
  font-size: var(--quality-heading); line-height: 1.5; letter-spacing: .035em;
}
html body.page-recruit.recruit-refined #top :is(h3,.training-step-title) {
  font-size: var(--quality-card); line-height: 1.55; letter-spacing: .025em;
}
html body.page-recruit.recruit-refined #appeal .recruit-appeal-featured h3 {
  font-size: var(--quality-feature); font-weight: 500;
}
html body.page-recruit.recruit-refined #top :is(.recruit-appeal-card:not(.recruit-appeal-featured) h3,.training-step-title) { font-weight: 700; }
html body.page-recruit.recruit-refined #top :is(.section-text,.recruit-appeal-copy p,.reason-grid p,.voice-card p,.training-step-description,.section-heading > p:not(.eyebrow)) {
  font-family: var(--font-sans, 'Hiragino Kaku Gothic ProN', 'Yu Gothic', sans-serif);
  color: #62565f; font-size: 16px; font-weight: 400; line-height: 1.85; letter-spacing: .025em;
}
html body.page-recruit.recruit-refined :is(.micro-copy,.recruit-action-note,.cta-note,.voice-card > div > span) {
  font-size: 14px; line-height: 1.75; color: #62565f;
}
html body.page-recruit.recruit-refined .hero-copy h1 { font-size: clamp(32px, 4vw, 48px); line-height: 1.4; }
html body.page-recruit.recruit-refined :is(.button.primary,.site-header .header-cta,.mobile-conversion-bar a) {
  border: 1px solid #715879; border-image: none; border-radius: 999px;
  background: #715879; color: #fff; -webkit-backdrop-filter: none; backdrop-filter: none;
  box-shadow: 0 6px 16px #71587920, inset 0 1px 0 #ffffff20;
  font-family: var(--font-sans, sans-serif); font-size: 16px; font-weight: 700; line-height: 1.5;
  text-shadow: none; transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
html body.page-recruit.recruit-refined :is(.button.primary,.mobile-conversion-bar a) { min-height: 56px; padding: 14px 52px 14px 24px; }
html body.page-recruit.recruit-refined .site-header .header-cta { min-height: 48px; padding: 11px 20px; font-size: 14px; }
html body.page-recruit.recruit-refined :is(.button.primary,.site-header .header-cta,.mobile-conversion-bar a)::before { content: none; }
html body.page-recruit.recruit-refined .button.primary::after,
html body.page-recruit.recruit-refined .mobile-conversion-bar a span {
  border: 0; border-image: none; background: #ffffff1a; color: #fff;
  width: 30px; height: 30px; right: 13px; font-size: 20px; box-shadow: none;
}
html body.page-recruit.recruit-refined .recruit-text-link {
  min-height: 44px; color: #715879; font-size: 16px; font-weight: 600;
  background: none; border: 0; border-image: none; box-shadow: none; text-underline-offset: 5px;
}
html body.page-recruit.recruit-refined a:focus-visible { outline: 3px solid #715879; outline-offset: 5px; }
html body.page-recruit.recruit-refined :is(.button.primary,.site-header .header-cta,.mobile-conversion-bar a):active { transform: translateY(1px); }
@media (hover:hover) {
  html body.page-recruit.recruit-refined :is(.button.primary,.site-header .header-cta,.mobile-conversion-bar a):hover {
    background: #5c4564; color: #fff; transform: translateY(-2px); box-shadow: 0 9px 24px #71587930;
  }
  html body.page-recruit.recruit-refined .recruit-text-link:hover { text-decoration: underline; }
}
html body.page-recruit.recruit-refined #training { align-items: start; }
html body.page-recruit.recruit-refined #training .training-intro .section-text { margin: 24px 0; }
html body.page-recruit.recruit-refined #training .wide-visual { margin: 28px 0 0; border-radius: 28px; }
html body.page-recruit.recruit-refined #training .step-flow { margin-top: 0; }
html body.page-recruit.recruit-refined #training .step-flow > span::after { background: #a38aaf; transform-origin: top; }
html body.page-recruit.recruit-refined #training .step-flow > span { justify-content: flex-start; }
html body.page-recruit.recruit-refined #career .voice-card img { aspect-ratio: 4/3; object-fit: cover; }
html body.page-recruit.recruit-refined #top :is(.section,.recruit-appeal) { padding-block: 72px; }
html body.page-recruit.recruit-refined .mobile-conversion-bar {
  opacity: 0; transform: translateY(12px); visibility: hidden; pointer-events: none;
  transition: opacity 200ms ease, transform 200ms var(--quality-ease), visibility 200ms;
}
html body.page-recruit.recruit-refined .mobile-conversion-bar.is-visible { opacity: 1; transform: none; visibility: visible; pointer-events: auto; }
@media (min-width:981px) {
  html body.page-recruit.recruit-refined { --quality-heading: 36px; --quality-card: 22px; --quality-feature: 30px; }
  html body.page-recruit.recruit-refined #training { grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); gap: clamp(40px, 5vw, 80px); }
  html body.page-recruit.recruit-refined #training .training-intro { position: sticky; top: 112px; }
  html body.page-recruit.recruit-refined #top :is(.section,.recruit-appeal) { padding-block: 88px; }
  html body.page-recruit.recruit-refined #training .training-step-title { font-size: 22px; }
}
@media (max-width:980px) {
  html body.page-recruit.recruit-refined #training { grid-template-columns: minmax(0,1fr); gap: 32px; }
  html body.page-recruit.recruit-refined #training .wide-visual { max-width: 620px; margin-inline: auto; }
}
@media (max-width:760px) {
  html body.page-recruit.recruit-refined #top :is(.section,.recruit-appeal) { padding: 56px 24px; }
  html body.page-recruit.recruit-refined #top .section-heading { margin-bottom: 32px; }
  html body.page-recruit.recruit-refined #appeal [data-pearl-group="appeal"] { gap: 32px 14px; }
  html body.page-recruit.recruit-refined #appeal [data-pearl-group="appeal"] > li { padding-inline: 16px; }
  html body.page-recruit.recruit-refined #appeal .recruit-appeal-copy h3 { text-wrap: pretty; }
  html body.page-recruit.recruit-refined #work-style [data-pearl-group="work"] { grid-template-columns: minmax(0,1fr); gap: 22px; padding-top: 12px; }
  html body.page-recruit.recruit-refined #work-style [data-pearl-group="work"] > article {
    grid-column: auto; width: 100%; min-height: 128px; padding: 26px 20px;
    display: grid; grid-template-columns: 68px minmax(0,1fr); align-content: center; column-gap: 18px; row-gap: 5px; text-align: left;
  }
  html body.page-recruit.recruit-refined #work-style [data-pearl-group="work"] > article > span {
    position: absolute; top: -12px; left: 18px; width: 34px; height: 34px; margin: 0; font-size: 18px;
  }
  html body.page-recruit.recruit-refined #work-style .work-pearl-icon { grid-row: 1/3; width: 68px; height: 72px; margin: 0; align-self: center; border-radius: 36px 36px 16px 16px; }
  html body.page-recruit.recruit-refined #work-style .work-pearl-icon svg { width: 58px; height: 56px; }
  html body.page-recruit.recruit-refined #work-style [data-pearl-group="work"] h3 { margin: 0; }
  html body.page-recruit.recruit-refined #work-style [data-pearl-group="work"] p { grid-column: 2; margin: 0; }
  html body.page-recruit.recruit-refined #conditions { margin-inline: 24px; padding: 32px 24px; border-radius: 28px; }
  html body.page-recruit.recruit-refined #entry { padding: 40px 24px; }
  html body.page-recruit.recruit-refined .mobile-conversion-bar { padding: 10px 20px calc(10px + env(safe-area-inset-bottom)); }
}
@media(max-width:359px) {
  html body.page-recruit.recruit-refined #top :is(.section,.recruit-appeal) { padding-inline: 16px; }
  html body.page-recruit.recruit-refined #conditions { margin-inline: 16px; padding: 28px 18px; }
  html body.page-recruit.recruit-refined #work-style [data-pearl-group="work"] > article { grid-template-columns: 54px minmax(0,1fr); gap: 6px 12px; padding-inline: 16px; }
  html body.page-recruit.recruit-refined #work-style .work-pearl-icon { width: 54px; }
  html body.page-recruit.recruit-refined :is(.button.primary,.mobile-conversion-bar a) { padding-left: 16px; padding-right: 42px; }
}
/* Content is visible without JS; only already-visible elements get a one-shot entrance. */
@keyframes recruit-enter { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes recruit-line { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@media (prefers-reduced-motion:no-preference) {
  html body.page-recruit.recruit-refined #top .quality-enter { animation: recruit-enter 560ms var(--quality-ease) var(--enter-delay,0ms) both; }
  html body.page-recruit.recruit-refined #top .recruit-hero .quality-enter { animation-duration: 720ms; }
  html body.page-recruit.recruit-refined #training .step-flow > .quality-enter { animation-duration: 450ms; }
  html body.page-recruit.recruit-refined #training .step-flow > .quality-enter::after { animation: recruit-line 500ms var(--quality-ease) calc(var(--enter-delay,0ms) + 120ms) both; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto !important; }
  html body.page-recruit.recruit-refined *, html body.page-recruit.recruit-refined *::before, html body.page-recruit.recruit-refined *::after { animation: none !important; transition: none !important; }
}
/* Neutralize the shared, !important glass skin via its own tokens. */
html body.page-recruit.recruit-refined :is(.button.primary,.site-header .header-cta,.mobile-conversion-bar a) {
  --site-glass-surface: #715879; --site-glass-ink: #fff;
  --site-glass-shadow: 0 6px 16px #71587920, inset 0 1px 0 #ffffff20;
  --site-glass-hover-shadow: 0 9px 24px #71587930;
  --site-glass-pressed-shadow: inset 0 2px 4px #00000015;
}
html body.page-recruit.recruit-refined :is(.button.primary,.site-header .header-cta,.mobile-conversion-bar a,.recruit-text-link,.nav a,.footer nav a)::before { content: none !important; }
html body.page-recruit.recruit-refined :is(.recruit-text-link,.nav a,.footer nav a) {
  --site-glass-surface: transparent; --site-glass-ink: #715879;
  --site-glass-shadow: none; --site-glass-hover-shadow: none; --site-glass-pressed-shadow: none;
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
html body.page-recruit.recruit-refined .nav a { min-height: 44px; }
@media (hover:hover) {
  html body.page-recruit.recruit-refined :is(.button.primary,.site-header .header-cta,.mobile-conversion-bar a):hover { --site-glass-surface: #5c4564; }
  html body.page-recruit.recruit-refined :is(.recruit-text-link,.nav a,.footer nav a):hover { text-decoration: underline !important; }
}
html body.page-recruit.recruit-refined :is(.button.primary,.mobile-conversion-bar a) {
  --control-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E");
}
@media (min-width:981px) and (max-height:950px) {
  html body.page-recruit.recruit-refined #training .training-intro { position: static; }
}
/* Native fragment navigation and Back/Forward also clear the pinned header. */
html body.page-recruit.recruit-refined #top :is(section[id], #training-steps) { scroll-margin-top: 112px; }
@media (max-width:760px) {
  html body.page-recruit.recruit-refined #top :is(section[id], #training-steps) { scroll-margin-top: 18px; }
}
@media (max-width:760px) {
  html body.page-recruit.recruit-refined #conditions { width: auto; max-width: none; }
  html body.page-recruit.recruit-refined #conditions h2 { font-size: clamp(22px, 6.4vw, 28px); letter-spacing: .015em; }
}
html body.page-recruit.recruit-refined .quality-phrase { white-space: nowrap; }
@media (max-width:760px) {
  html body.page-recruit.recruit-refined #appeal [data-pearl-group="appeal"] > li:not(.recruit-appeal-featured) { padding-inline: 14px; }
  html body.page-recruit.recruit-refined #appeal .recruit-appeal-copy p { text-wrap: balance; }
}
/* A dark, offset ring stays visible on the pale background and solid CTA. */
html body.page-recruit.recruit-refined a:focus-visible { outline: 3px solid #715879 !important; outline-offset: 5px !important; }

/* Approved training photo: 70% of the previous responsive frame, centered. */
html body.page-recruit.recruit-refined #training .wide-visual { width:70%; max-width:none; margin-inline:auto; }
@media(max-width:980px) {
  html body.page-recruit.recruit-refined #training .wide-visual { max-width:434px; }
}

/* One shared team image, with three readable voices beneath. */
html body.page-recruit.recruit-refined #career .staff-voices-panel { max-width:1120px; margin-inline:auto; background:#fffafde8; border:1px solid #e4d7e9; border-radius:28px; overflow:hidden; }
html body.page-recruit.recruit-refined #career .staff-group-photo { margin:0; }
html body.page-recruit.recruit-refined #career .staff-group-photo img { display:block; width:100%; height:auto; max-height:none; border-radius:0; }
html body.page-recruit.recruit-refined #career .voice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; padding:36px 12px; }
html body.page-recruit.recruit-refined #career .voice-card { display:block; margin:0; padding:0 24px; background:transparent; border:0; border-radius:0; box-shadow:none; }
html body.page-recruit.recruit-refined #career .voice-card + .voice-card { border-left:1px solid #e4d7e9; }
html body.page-recruit.recruit-refined #career .voice-card > div { padding:0; }
html body.page-recruit.recruit-refined #career .voice-card h3 { font-size:22px; line-height:1.6; margin:12px 0 16px; }
@media(max-width:760px) {
 html body.page-recruit.recruit-refined #career .staff-voices-panel { border-radius:20px; }
 html body.page-recruit.recruit-refined #career .voice-grid { grid-template-columns:1fr; padding:0 24px; }
 html body.page-recruit.recruit-refined #career .voice-card { padding:24px 0; }
 html body.page-recruit.recruit-refined #career .voice-card + .voice-card { border-left:0; border-top:1px solid #e4d7e9; }
 html body.page-recruit.recruit-refined #career .voice-card h3 { font-size:20px; }
}

/* Shared staff photo at 60% of its previous display size. */
html body.page-recruit.recruit-refined #career .staff-group-photo { width:60%; margin:0 auto; }

/* Approved side-by-side shared photo and three stacked voices. */
html body.page-recruit.recruit-refined #career .staff-voices-panel { display:grid; grid-template-columns:minmax(0,45fr) minmax(0,55fr); align-items:stretch; }
html body.page-recruit.recruit-refined #career .staff-group-photo { width:100%; margin:0; min-width:0; }
html body.page-recruit.recruit-refined #career .staff-group-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
html body.page-recruit.recruit-refined #career .voice-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:0; padding:8px 32px; }
html body.page-recruit.recruit-refined #career .voice-card { padding:24px 0; }
html body.page-recruit.recruit-refined #career .voice-card + .voice-card { border-left:0; border-top:1px solid #e4d7e9; }
html body.page-recruit.recruit-refined #career .voice-card h3 { font-size:22px; line-height:1.6; margin:10px 0 12px; }
@media(max-width:760px) {
 html body.page-recruit.recruit-refined #career .staff-voices-panel { grid-template-columns:minmax(0,1fr); }
 html body.page-recruit.recruit-refined #career .staff-group-photo img { height:auto; object-fit:contain; }
 html body.page-recruit.recruit-refined #career .voice-grid { padding:0 24px; }
 html body.page-recruit.recruit-refined #career .voice-card h3 { font-size:20px; }
}

html body.page-recruit.recruit-refined #career .staff-voices-panel { align-items:start; gap:32px; background:transparent; border:0; overflow:visible; }
html body.page-recruit.recruit-refined #career .staff-group-photo { position:sticky; top:112px; border-radius:24px; overflow:hidden; }
html body.page-recruit.recruit-refined #career .staff-group-photo img { height:auto; object-fit:contain; }
html body.page-recruit.recruit-refined #career .voice-grid { background:#fffafde8; border:1px solid #e4d7e9; border-radius:24px; }
@media(max-width:760px) { html body.page-recruit.recruit-refined #career .staff-voices-panel { gap:20px; } html body.page-recruit.recruit-refined #career .staff-group-photo { position:static; } }

/* Selected editorial layout: centered group portrait and three open columns. */
html body.page-recruit.recruit-refined #career .staff-voices-panel { display:block; max-width:1120px; background:transparent; border:0; border-radius:0; }
html body.page-recruit.recruit-refined #career .staff-group-photo { position:static; width:82%; max-width:880px; margin:0 auto 40px; border-radius:24px; overflow:hidden; }
html body.page-recruit.recruit-refined #career .staff-group-photo img { display:block; width:100%; height:auto; aspect-ratio:2.2/1; object-fit:cover; object-position:50% 10%; }
html body.page-recruit.recruit-refined #career .voice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0; gap:0; background:transparent; border:0; border-radius:0; }
html body.page-recruit.recruit-refined #career .voice-card { padding:0 24px; text-align:center; border:0; }
html body.page-recruit.recruit-refined #career .voice-card + .voice-card { border-top:0; border-left:1px solid #d9c5e2; }
html body.page-recruit.recruit-refined #career .voice-card h3 { font-size:22px; line-height:1.65; margin:22px 0 18px; text-wrap:pretty; }
html body.page-recruit.recruit-refined #career .voice-card p { font-size:16px; line-height:1.9; text-wrap:pretty; }
@media(max-width:760px) {
 html body.page-recruit.recruit-refined #career .staff-group-photo { width:100%; margin-bottom:28px; border-radius:20px; }
 html body.page-recruit.recruit-refined #career .staff-group-photo img { aspect-ratio:auto; height:auto; }
 html body.page-recruit.recruit-refined #career .voice-grid { grid-template-columns:minmax(0,1fr); }
 html body.page-recruit.recruit-refined #career .voice-card { padding:24px 8px; text-align:left; }
 html body.page-recruit.recruit-refined #career .voice-card + .voice-card { border-left:0; border-top:1px solid #d9c5e2; }
 html body.page-recruit.recruit-refined #career .voice-card h3 { font-size:20px; margin:12px 0; }
}

/* Selected luminous lavender concept, 2026-10-09. */
html body.page-recruit.recruit-refined .recruit-hero {
 background: #fdfbff url('./assets/recruit-luminous-lavender-20261009.png') center / cover no-repeat;
 row-gap:24px;
}
html body.page-recruit.recruit-refined .hero-copy h1 {font-size:clamp(34px,3.1vw,44px);line-height:1.48;letter-spacing:.025em;}
html body.page-recruit.recruit-refined .hero-copy h1 .recruit-title-accent {display:inline-block;font-size:clamp(42px,4.2vw,60px);color:#70567e;font-weight:500;white-space:nowrap;}
html body.page-recruit.recruit-refined .recruit-title-accent > span {text-decoration:underline;text-decoration-color:#d3bee9;text-decoration-thickness:3px;text-underline-offset:10px;}
html body.page-recruit.recruit-refined .hero-copy .lead {font-size:20px;line-height:1.8;margin-top:24px;}
html body.page-recruit.recruit-refined .hero-portrait {outline:1px solid #cbb1e0;outline-offset:9px;box-shadow:0 16px 40px #70567e14;}
html body.page-recruit.recruit-refined .hero-badges span {border-color:#dfd2ec;background:#ffffffc9;color:#57465f;font-size:16px;}
html body.page-recruit.recruit-refined :is(.button.primary,.site-header .header-cta,.mobile-conversion-bar a) {
 --site-glass-surface:#70567e;--site-glass-ink:#fff;background-color:#70567e;border-color:#70567e;box-shadow:0 7px 20px #70567e29,inset 0 1px 0 #ffffff40;
}
html body.page-recruit.recruit-refined #appeal .recruit-appeal-card {border-color:#e1d4ec;box-shadow:0 8px 24px #70567e0c;}
@media(max-width:760px){
 html body.page-recruit.recruit-refined .hero-copy h1 {font-size:32px;}
 html body.page-recruit.recruit-refined .hero-copy h1 .recruit-title-accent {font-size:40px;}
 html body.page-recruit.recruit-refined .hero-copy .lead {font-size:17px;margin-top:20px;}
 html body.page-recruit.recruit-refined .recruit-title-accent > span {text-underline-offset:7px;text-decoration-thickness:2px;}
 html body.page-recruit.recruit-refined .hero-portrait {outline-offset:5px;}
 html body.page-recruit.recruit-refined .hero-badges span {font-size:15px;}
}
@media(max-width:359px){html body.page-recruit.recruit-refined .hero-copy h1 .recruit-title-accent {font-size:36px;}}

html body.page-recruit.recruit-refined #appeal {background:#fdfbff;}
