.recruit-page { min-height: 100vh; overflow: hidden; color: var(--foreground); background: #fbfcf8; }
.recruit-page * { box-sizing: border-box; }
.recruit-page img { display: block; max-width: 100%; }
.recruit-page a { color: inherit; text-decoration: none; }
.recruit-header { position: relative; z-index: 10; display: grid; grid-template-columns: 280px 1fr auto; min-height: 112px; align-items: center; gap: 40px; padding: 18px clamp(24px, 5vw, 72px); background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(168,198,159,.55); }
.recruit-header__logo { width: 280px; }
.recruit-header__logo img { width: 100%; aspect-ratio: 1536 / 400; object-fit: cover; object-position: 50% 48%; }
.recruit-header__nav { display: flex; justify-content: flex-end; gap: clamp(20px, 3vw, 42px); font-size: 14px; font-weight: 600; }
.recruit-header__nav a { transition: color .2s; }
.recruit-header__nav a:hover { color: var(--primary); }
.recruit-header__contact { display: flex; min-height: 52px; align-items: center; gap: 10px; padding: 0 22px; border-radius: 14px; color: #fff !important; background: linear-gradient(110deg, var(--primary), var(--foreground)); font-size: 14px; font-weight: 600; }
.recruit-header__contact svg { width: 18px; }
.recruit-hero { position: relative; min-height: calc(100vh - 112px); padding: 5vw 0 7vw 8vw; background: radial-gradient(circle at 15% 18%, var(--sage) 0, var(--sage-soft) 35%, transparent 64%); }
.recruit-hero__image { position: absolute; inset: 5vw 0 5vw 36%; overflow: hidden; border-radius: 34px 0 0 34px; box-shadow: 0 26px 80px rgba(79,115,88,.14); }
.recruit-hero__image::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(251,252,248,.2), transparent 30%); content: ""; }
.recruit-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: 54% 50%; }
.recruit-hero__copy { position: relative; z-index: 2; display: flex; width: min(580px, 42vw); min-height: calc(100vh - 112px - 12vw); flex-direction: column; justify-content: center; }
.recruit-eyebrow { margin: 0 0 16px; color: var(--primary); font-family: "Poppins", sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .2em; }
.recruit-hero h1 { margin: 0; font-family: "Klee One", "Yu Mincho", serif; font-size: clamp(40px, 4.4vw, 72px); font-weight: 500; line-height: 1.55; letter-spacing: .06em; }
.recruit-hero h1 span { display: table; margin-bottom: 10px; padding: 0 .25em; background: rgba(255,255,255,.9); box-decoration-break: clone; }
.recruit-hero__copy > p:last-child { margin: 28px 0 0; font-size: clamp(16px, 1.35vw, 20px); line-height: 2.05; letter-spacing: .04em; }
.recruit-hero__scroll { position: absolute; bottom: 26px; left: clamp(24px, 4vw, 64px); display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--primary) !important; font: 11px "Poppins", sans-serif; letter-spacing: .18em; }
.recruit-hero__scroll svg { width: 19px; }
.recruit-section-heading h2 { margin: 0; font-family: "Klee One", "Yu Mincho", serif; font-size: clamp(32px, 4vw, 54px); font-weight: 500; line-height: 1.6; letter-spacing: .06em; }
.recruit-section-heading--center { text-align: center; }
.recruit-section-heading__lead { margin: 20px auto 0; font-size: 16px; line-height: 1.9; }
.recruit-message { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1.15fr); gap: clamp(50px, 9vw, 130px); width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 140px 0; align-items: center; }
.recruit-message__text { position: relative; padding: clamp(34px, 5vw, 62px); border: 1px solid var(--sage-mid); border-radius: 28px; background: rgba(255,255,255,.9); box-shadow: 0 22px 64px rgba(79,115,88,.11); }
.recruit-message__text::before { position: absolute; top: -34px; right: 34px; width: 72px; height: 72px; border-radius: 50%; background: radial-gradient(circle at 50% 50%, var(--sage-mid) 0 4px, transparent 5px), var(--sage-soft); content: ""; }
.recruit-message__text p { margin: 0; font-size: 16px; line-height: 2.05; }
.recruit-message__text p + p { margin-top: 20px; }
.recruit-values { padding: 130px max(24px, 6vw); background: linear-gradient(145deg, var(--sage-soft), var(--sage)); }
.recruit-values > * { width: min(1180px, 100%); margin-right: auto; margin-left: auto; }
.recruit-values__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; margin-top: 54px; }
.recruit-value-card { min-height: 330px; padding: 34px; border: 1px solid rgba(168,198,159,.8); border-radius: 24px; background: rgba(255,255,255,.9); box-shadow: 0 18px 42px rgba(79,115,88,.08); }
.recruit-value-card__top { display: flex; align-items: center; justify-content: space-between; color: var(--primary); font: 14px "Poppins", sans-serif; letter-spacing: .12em; }
.recruit-value-card__top svg { width: 44px; height: 44px; padding: 10px; border-radius: 50%; color: #fff; background: var(--primary); }
.recruit-value-card h3 { margin: 54px 0 18px; font-size: 21px; line-height: 1.7; }
.recruit-value-card p { margin: 0; font-size: 15px; line-height: 1.95; }
.recruit-work { display: grid; grid-template-columns: minmax(360px,.9fr) minmax(0,1.1fr); gap: clamp(44px, 7vw, 100px); width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 140px 0; align-items: center; }
.recruit-work__image { position: relative; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 32px; background: var(--sage-soft); box-shadow: 0 24px 70px rgba(79,115,88,.12); }
.recruit-work__image::after { position: absolute; inset: auto 20px 20px auto; width: 110px; height: 110px; border: 1px solid rgba(79,115,88,.2); border-radius: 50%; content: ""; }
.recruit-work__image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.recruit-work__content > p { margin: 32px 0 0; font-size: 16px; line-height: 2; }
.recruit-work__content > p + p { margin-top: 18px; }
.recruit-requirements { padding: 130px max(24px, 6vw); background: #fff; }
.recruit-requirements > * { width: min(1080px, 100%); margin-right: auto; margin-left: auto; }
.recruit-requirements__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 52px; }
.recruit-requirements__grid article { position: relative; padding: 32px; border: 1px solid var(--sage-mid); border-radius: 20px; background: var(--sage-soft); }
.recruit-requirements__grid span { color: var(--primary); font: 13px "Poppins", sans-serif; }
.recruit-requirements__grid h3 { margin: 24px 0 36px; font-size: 18px; }
.recruit-requirements__grid p { display: inline-block; margin: 0; padding: 7px 18px; border-radius: 999px; color: var(--primary); background: #fff; font-size: 13px; font-weight: 600; }
.recruit-cta { display: flex; width: min(1120px, calc(100% - 48px)); margin: 120px auto; padding: clamp(40px, 6vw, 72px); align-items: center; justify-content: space-between; gap: 40px; border-radius: 30px; color: #fff; background: linear-gradient(115deg, var(--primary), var(--foreground)); box-shadow: 0 26px 70px rgba(41,61,48,.2); }
.recruit-cta .recruit-eyebrow { color: var(--sage); }
.recruit-cta h2 { margin: 0; font-family: "Klee One", "Yu Mincho", serif; font-size: clamp(27px, 3vw, 42px); font-weight: 500; line-height: 1.65; }
.recruit-cta p:last-child { margin: 18px 0 0; font-size: 15px; line-height: 1.8; }
.recruit-cta > a { display: flex; flex: 0 0 auto; min-height: 62px; align-items: center; gap: 20px; padding: 0 28px; border-radius: 16px; color: var(--primary) !important; background: #fff; font-weight: 600; }
.recruit-cta > a svg { width: 19px; }
.recruit-footer { display: grid; grid-template-columns: 260px 1fr auto; align-items: center; gap: 30px; padding: 46px clamp(24px, 5vw, 72px); color: var(--primary); background: var(--sage-soft); border-top: 1px solid var(--sage-mid); }
.recruit-footer > a:first-child { width: 260px; }
.recruit-footer > a:first-child img { width: 100%; height: auto; mix-blend-mode: multiply; }
.recruit-footer > a:nth-child(2) { justify-self: end; font-size: 14px; font-weight: 600; }
.recruit-footer small { font-size: 11px; }
.recruit-page a:focus-visible { outline: 3px solid var(--primary); outline-offset: 5px; }

@media (max-width: 1024px) {
  .recruit-header { grid-template-columns: minmax(190px,260px) 1fr; min-height: 94px; }
  .recruit-header__nav { display: none; }
  .recruit-header__contact { justify-self: end; }
  .recruit-hero { min-height: auto; padding: 38px 0 70px 5%; }
  .recruit-hero__image { position: relative; inset: auto; height: min(64vw, 620px); margin-left: 24%; border-radius: 28px 0 0 28px; }
  .recruit-hero__copy { position: absolute; inset: 0 auto 0 5%; width: 56%; min-height: auto; }
  .recruit-hero__scroll { display: none; }
  .recruit-message,
  .recruit-work { padding: 100px 0; }
  .recruit-values,
  .recruit-requirements { padding-top: 100px; padding-bottom: 100px; }
}

@media (max-width: 760px) {
  .recruit-header { grid-template-columns: 1fr auto; min-height: 84px; gap: 12px; padding: 12px 16px; }
  .recruit-header__logo { width: min(220px, 58vw); }
  .recruit-header__contact { min-height: 46px; padding: 0 14px; font-size: 12px; }
  .recruit-header__contact svg { display: none; }
  .recruit-hero { padding: 24px 0 54px; }
  .recruit-hero__image { height: 78vw; margin-left: 12%; border-radius: 22px 0 0 22px; }
  .recruit-hero__image img { object-position: 58% 50%; }
  .recruit-hero__copy { position: relative; inset: auto; width: calc(100% - 32px); margin: -36px auto 0; padding: 28px 22px; border-radius: 22px; background: rgba(255,255,255,.94); box-shadow: 0 18px 46px rgba(79,115,88,.13); }
  .recruit-hero h1 { font-size: clamp(30px, 9vw, 42px); }
  .recruit-hero h1 span { padding: 0; background: transparent; }
  .recruit-hero__copy > p:last-child { margin-top: 20px; font-size: 15px; }
  .recruit-message { grid-template-columns: 1fr; gap: 38px; width: min(100% - 32px, 620px); padding: 80px 0; }
  .recruit-message .recruit-section-heading { text-align: left; }
  .recruit-message__text { padding: 30px 22px; border-radius: 22px; }
  .recruit-values { padding: 78px 16px; }
  .recruit-values__grid { grid-template-columns: 1fr; margin-top: 38px; }
  .recruit-value-card { min-height: auto; padding: 28px 24px; }
  .recruit-value-card h3 { margin-top: 34px; }
  .recruit-work { grid-template-columns: 1fr; gap: 42px; width: min(100% - 32px, 620px); padding: 80px 0; }
  .recruit-work__image { aspect-ratio: 4 / 3; border-radius: 22px; }
  .recruit-requirements { padding: 78px 16px; }
  .recruit-requirements__grid { grid-template-columns: 1fr; margin-top: 38px; }
  .recruit-requirements__grid article { padding: 26px 24px; }
  .recruit-requirements__grid h3 { margin: 18px 0 24px; }
  .recruit-cta { flex-direction: column; align-items: stretch; width: calc(100% - 32px); margin: 72px auto; padding: 38px 24px; border-radius: 22px; }
  .recruit-cta > a { justify-content: center; }
  .recruit-footer { grid-template-columns: 1fr; justify-items: start; padding: 36px 20px; }
  .recruit-footer > a:nth-child(2) { justify-self: start; }
}

.recruit-contact-page { position: relative; min-height: 100vh; overflow: hidden; color: var(--foreground); background: #fbfcf8; }
.recruit-contact-page * { box-sizing: border-box; }
.recruit-contact-page img { display: block; max-width: 100%; }
.recruit-contact-page a { color: inherit; text-decoration: none; }
.recruit-contact-header { position: relative; z-index: 3; display: flex; min-height: 104px; align-items: center; justify-content: space-between; gap: 30px; padding: 16px clamp(24px,5vw,72px); background: rgba(255,255,255,.95); border-bottom: 1px solid var(--sage-mid); }
.recruit-contact-header__logo { width: min(280px,55vw); }
.recruit-contact-header__logo img { width: 100%; aspect-ratio: 1536 / 400; object-fit: cover; object-position: 50% 48%; }
.recruit-contact-header__back { padding: 12px 20px; border: 1px solid var(--sage-mid); border-radius: 999px; color: var(--primary) !important; font-size: 13px; font-weight: 600; }
.recruit-contact-page__wash { position: absolute; top: 104px; right: -14vw; width: 66vw; height: 66vw; border-radius: 50%; background: radial-gradient(circle, var(--sage) 0, rgba(229,240,222,.75) 36%, transparent 72%); pointer-events: none; }
.recruit-contact-shell { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: clamp(28px,5vw,72px); width: min(1220px,calc(100% - 48px)); margin: 0 auto; padding: 86px 0 110px; align-items: start; }
.recruit-contact-card { padding: clamp(32px,5vw,62px); border: 1px solid var(--sage-mid); border-radius: 28px; background: rgba(255,255,255,.94); box-shadow: 0 24px 70px rgba(79,115,88,.12); }
.recruit-contact-eyebrow { margin: 0 0 14px; color: var(--primary); font: 600 13px "Poppins",sans-serif; letter-spacing: .2em; }
.recruit-contact-card h1 { margin: 0; font-family: "Klee One","Yu Mincho",serif; font-size: clamp(30px,3.4vw,48px); font-weight: 500; line-height: 1.55; letter-spacing: .05em; }
.recruit-contact-intro { margin: 18px 0 42px; font-size: 15px; line-height: 1.9; }
.recruit-contact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 24px; }
.recruit-contact-field { display: flex; flex-direction: column; gap: 10px; }
.recruit-contact-field--wide { grid-column: 1 / -1; }
.recruit-contact-field > span { font-size: 14px; font-weight: 600; }
.recruit-contact-field b,
.recruit-contact-field em { display: inline-block; margin-left: 7px; padding: 2px 7px; border-radius: 999px; font-size: 10px; font-style: normal; line-height: 1.6; }
.recruit-contact-field b { color: #fff; background: var(--primary); }
.recruit-contact-field em { color: var(--primary); background: var(--sage-soft); }
.recruit-contact-field input,
.recruit-contact-field select,
.recruit-contact-field textarea { width: 100%; border: 1px solid var(--sage-mid); border-radius: 12px; color: var(--foreground); background: #fbfcf8; font: inherit; font-size: 15px; outline: none; transition: border-color .2s,box-shadow .2s,background .2s; }
.recruit-contact-field input,
.recruit-contact-field select { height: 54px; padding: 0 16px; }
.recruit-contact-field textarea { min-height: 180px; padding: 16px; resize: vertical; line-height: 1.8; }
.recruit-contact-field input:focus,
.recruit-contact-field select:focus,
.recruit-contact-field textarea:focus { border-color: var(--primary); background: #fff; box-shadow: 0 0 0 4px rgba(79,115,88,.11); }
.recruit-contact-consent { display: flex; align-items: flex-start; gap: 12px; margin: 34px 0 28px; font-size: 13px; line-height: 1.7; }
.recruit-contact-consent input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--primary); }
.recruit-contact-consent a { color: var(--primary); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.recruit-contact-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.recruit-contact-button { display: flex; width: 100%; min-height: 62px; align-items: center; justify-content: center; gap: 14px; border: 0; border-radius: 15px; color: #fff; background: linear-gradient(110deg,var(--primary),var(--foreground)); cursor: pointer; font: inherit; font-weight: 600; }
.recruit-contact-button svg { width: 19px; }
.recruit-contact-button:disabled { opacity: .65; cursor: wait; }
.recruit-contact-button--secondary { color: var(--primary); background: var(--sage-soft); }
.recruit-contact-aside { position: sticky; top: 30px; overflow: hidden; border: 1px solid var(--sage-mid); border-radius: 28px; background: #fff; box-shadow: 0 24px 70px rgba(79,115,88,.1); }
.recruit-contact-aside > img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 55% 50%; }
.recruit-contact-aside__note { padding: 28px; background: var(--sage-soft); }
.recruit-contact-aside__note p { margin: 0 0 10px; color: var(--primary); font-family: "Klee One","Yu Mincho",serif; font-size: 21px; font-weight: 600; }
.recruit-contact-aside__note span { font-size: 13px; line-height: 1.8; }
.recruit-contact-confirmation { text-align: center; }
.recruit-contact-confirmation__mark { display: grid; width: 66px; height: 66px; place-items: center; margin: 0 auto 24px; border-radius: 50%; color: #fff; background: var(--primary); }
.recruit-contact-confirmation__mark svg { width: 30px; }
.recruit-contact-confirmation__list { margin: 38px 0 30px; text-align: left; border-top: 1px solid var(--sage-mid); }
.recruit-contact-confirmation__list div { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 24px; padding: 18px 6px; border-bottom: 1px solid var(--sage-mid); }
.recruit-contact-confirmation__list dt { color: var(--primary); font-size: 13px; font-weight: 600; }
.recruit-contact-confirmation__list dd { margin: 0; white-space: pre-wrap; font-size: 14px; line-height: 1.8; }
.recruit-contact-confirmation__actions { display: grid; gap: 12px; }
.recruit-contact-error { margin: 0 0 24px; padding: 15px 17px; border: 1px solid #c97171; border-radius: 12px; color: #7f2626; background: #fff4f4; font-size: 14px; line-height: 1.7; text-align: left; }
.recruit-contact-footer { position: relative; z-index: 1; display: flex; align-items: center; gap: 28px; padding: 34px clamp(24px,5vw,72px); color: var(--primary); background: var(--sage-soft); border-top: 1px solid var(--sage-mid); font-size: 13px; }
.recruit-contact-footer small { margin-left: auto; }

@media (max-width: 900px) {
  .recruit-contact-shell { grid-template-columns: 1fr; max-width: 720px; padding-top: 54px; }
  .recruit-contact-aside { position: relative; top: auto; display: grid; grid-template-columns: .85fr 1.15fr; }
  .recruit-contact-aside > img { height: 100%; aspect-ratio: auto; }
  .recruit-contact-aside__note { display: flex; flex-direction: column; justify-content: center; }
}

@media (max-width: 600px) {
  .recruit-contact-header { min-height: 82px; padding: 12px 16px; }
  .recruit-contact-header__logo { width: min(210px,57vw); }
  .recruit-contact-header__back { padding: 10px 13px; font-size: 11px; }
  .recruit-contact-shell { width: calc(100% - 32px); padding: 34px 0 70px; }
  .recruit-contact-card { padding: 30px 20px; border-radius: 22px; }
  .recruit-contact-grid { grid-template-columns: 1fr; gap: 22px; }
  .recruit-contact-field--wide { grid-column: auto; }
  .recruit-contact-intro { margin-bottom: 32px; }
  .recruit-contact-aside { display: block; border-radius: 22px; }
  .recruit-contact-aside > img { aspect-ratio: 4 / 3; object-position: 50% 38%; }
  .recruit-contact-confirmation__list div { grid-template-columns: 1fr; gap: 6px; }
  .recruit-contact-footer { flex-wrap: wrap; gap: 16px 24px; padding: 28px 20px; }
  .recruit-contact-footer small { width: 100%; margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .recruit-page { scroll-behavior: auto; }
}

/* Detailed recruitment landing page */
.recruit-hero__opening { display: flex; width: fit-content; align-items: center; gap: 8px; margin: 0 0 16px; padding: 9px 14px; border-radius: 999px; color: var(--primary); background: rgba(255,255,255,.92); font-size: 13px; font-weight: 700; box-shadow: 0 8px 26px rgba(79,115,88,.1); }
.recruit-hero__opening svg { width: 17px; height: 17px; }
.recruit-hero__lead { margin: 26px 0 0; font-size: clamp(16px,1.35vw,20px); line-height: 2; letter-spacing: .04em; }
.recruit-hero__cta { display: flex; width: fit-content; min-height: 56px; align-items: center; gap: 16px; margin-top: 26px; padding: 0 22px; border-radius: 14px; color: #fff !important; background: linear-gradient(110deg,var(--primary),var(--foreground)); font-size: 14px; font-weight: 600; box-shadow: 0 16px 34px rgba(41,61,48,.2); }
.recruit-hero__cta svg { width: 18px; }

.recruit-summary { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4,1fr); width: min(1180px,calc(100% - 48px)); margin: -46px auto 0; border: 1px solid var(--sage-mid); border-radius: 22px; background: rgba(255,255,255,.97); box-shadow: 0 22px 60px rgba(79,115,88,.13); }
.recruit-summary > div { display: grid; grid-template-columns: 44px 1fr; gap: 2px 13px; padding: 27px 24px; align-items: center; }
.recruit-summary > div + div { border-left: 1px solid var(--sage-mid); }
.recruit-summary svg { grid-row: 1 / 3; width: 38px; height: 38px; padding: 8px; border-radius: 50%; color: #fff; background: var(--primary); }
.recruit-summary span { color: #708177; font-size: 12px; }
.recruit-summary strong { font-size: 17px; line-height: 1.4; }

.recruit-points { padding: 120px max(24px,6vw); background: #fff; }
.recruit-points > * { width: min(1120px,100%); margin-right: auto; margin-left: auto; }
.recruit-points__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-top: 50px; }
.recruit-points__grid article { display: grid; grid-template-columns: 34px 1fr; gap: 4px 12px; min-height: 132px; align-content: center; padding: 22px; border: 1px solid var(--sage-mid); border-radius: 19px; background: var(--sage-soft); }
.recruit-points__grid svg { grid-row: 1 / 3; width: 30px; height: 30px; padding: 7px; border-radius: 50%; color: #fff; background: var(--primary); }
.recruit-points__grid strong { font-size: 18px; line-height: 1.45; }
.recruit-points__grid span { color: #66736a; font-size: 12px; line-height: 1.6; }
.recruit-points__note { margin-top: 22px; color: #66736a; font-size: 12px; line-height: 1.7; text-align: center; }

.recruit-job { width: min(1180px,calc(100% - 48px)); margin: 0 auto; padding: 140px 0; }
.recruit-job__intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(42px,8vw,110px); align-items: end; }
.recruit-job__intro > p { margin: 0; font-size: 16px; line-height: 2.05; }
.recruit-job__duties { margin-top: 56px; padding: clamp(30px,5vw,56px); border: 1px solid var(--sage-mid); border-radius: 28px; background: #fff; box-shadow: 0 20px 54px rgba(79,115,88,.08); }
.recruit-job__duties h3 { margin: 0 0 28px; font-size: 21px; }
.recruit-job__duties ul { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px 26px; margin: 0; padding: 0; list-style: none; }
.recruit-job__duties li { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.75; }
.recruit-job__duties li svg { flex: 0 0 auto; width: 20px; color: var(--primary); }
.recruit-job__facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 22px; }
.recruit-job__facts div { display: grid; grid-template-columns: 42px 1fr; gap: 4px 13px; padding: 24px; border-radius: 18px; background: var(--sage-soft); }
.recruit-job__facts svg { grid-row: 1 / 3; width: 42px; height: 42px; padding: 9px; border-radius: 50%; color: #fff; background: var(--primary); }
.recruit-job__facts strong { font-size: 17px; }
.recruit-job__facts span { font-size: 12px; line-height: 1.6; }

.recruit-digital { display: grid; grid-template-columns: minmax(200px,.55fr) minmax(0,1.45fr); gap: clamp(40px,7vw,90px); width: min(1060px,calc(100% - 48px)); margin: 0 auto 120px; padding: clamp(38px,6vw,70px); align-items: center; border-radius: 30px; color: #fff; background: linear-gradient(125deg,var(--foreground),var(--primary)); box-shadow: 0 26px 70px rgba(41,61,48,.18); }
.recruit-digital__icon { display: grid; aspect-ratio: 1; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: rgba(255,255,255,.08); }
.recruit-digital__icon svg { width: 42%; height: 42%; color: var(--sage); stroke-width: 1.4; }
.recruit-digital .recruit-eyebrow { color: var(--sage); }
.recruit-digital h2 { margin: 0 0 22px; font-family: "Klee One","Yu Mincho",serif; font-size: clamp(30px,3.5vw,48px); font-weight: 500; line-height: 1.6; }
.recruit-digital p:not(.recruit-eyebrow) { margin: 0; font-size: 15px; line-height: 1.95; }
.recruit-digital p + p { margin-top: 12px; }

.recruit-candidate { padding: 125px max(24px,6vw); background: linear-gradient(145deg,var(--sage-soft),var(--sage)); }
.recruit-candidate > * { width: min(1080px,100%); margin-right: auto; margin-left: auto; }
.recruit-candidate__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 22px; margin-top: 48px; }
.recruit-candidate__grid article { padding: clamp(28px,4vw,46px); border: 1px solid var(--sage-mid); border-radius: 24px; background: rgba(255,255,255,.93); box-shadow: 0 18px 44px rgba(79,115,88,.08); }
.recruit-candidate__grid article > span { display: inline-block; padding: 5px 13px; border-radius: 999px; color: #fff; background: var(--primary); font-size: 12px; font-weight: 700; }
.recruit-candidate__grid h3 { margin: 22px 0 24px; font-size: 22px; }
.recruit-candidate__grid ul { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.recruit-candidate__grid li { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.7; }
.recruit-candidate__grid li svg { flex: 0 0 auto; width: 20px; color: var(--primary); }
.recruit-candidate__required > p { margin: 28px 0 0; padding-top: 24px; border-top: 1px solid var(--sage-mid); font-size: 13px; line-height: 1.8; }
.recruit-candidate__note { margin-top: 22px; font-size: 13px; text-align: center; }

.recruit-data-table { margin-top: 50px; border-top: 1px solid var(--sage-mid); }
.recruit-data-table > div { display: grid; grid-template-columns: 230px 1fr; border-bottom: 1px solid var(--sage-mid); }
.recruit-data-table dt { padding: 23px 28px; color: var(--primary); background: var(--sage-soft); font-weight: 700; }
.recruit-data-table dd { margin: 0; padding: 23px 30px; font-size: 15px; line-height: 1.85; }

.recruit-pay { padding: 130px max(24px,6vw); background: linear-gradient(160deg,#f7faf4,#fff); }
.recruit-pay > * { width: min(1080px,100%); margin-right: auto; margin-left: auto; }
.recruit-pay__lead { display: grid; grid-template-columns: auto auto 1fr; gap: 10px 22px; margin-top: 44px; padding: 34px 40px; align-items: center; border-radius: 22px; color: #fff; background: linear-gradient(110deg,var(--primary),var(--foreground)); }
.recruit-pay__lead > span { font-size: 16px; font-weight: 700; }
.recruit-pay__lead > strong { font: 600 clamp(40px,5vw,64px) "Poppins",sans-serif; line-height: 1; }
.recruit-pay__lead small { margin-left: 5px; font-family: inherit; font-size: 20px; }
.recruit-pay__lead p { margin: 0; justify-self: end; font-size: 13px; line-height: 1.8; }
.recruit-pay__columns { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; margin-top: 22px; }
.recruit-pay__columns article { padding: 34px; border: 1px solid var(--sage-mid); border-radius: 22px; background: #fff; }
.recruit-pay__columns h3,
.recruit-income h3,
.recruit-benefits h3 { margin: 0 0 26px; font-size: 21px; }
.recruit-pay__columns dl { margin: 0; }
.recruit-pay__columns dl div { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-bottom: 1px solid var(--sage-mid); font-size: 14px; }
.recruit-pay__columns dd { margin: 0; font-weight: 600; }
.recruit-pay__columns .recruit-pay__total { padding-top: 18px; color: var(--primary); font-size: 17px; font-weight: 700; border-bottom: 0; }
.recruit-pay__columns ul,
.recruit-benefits ul { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.recruit-pay__columns li,
.recruit-benefits li { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.7; }
.recruit-pay__columns li svg,
.recruit-benefits li svg { flex: 0 0 auto; width: 20px; color: var(--primary); }
.recruit-pay__columns article > p { margin: 24px 0 0; padding: 16px 18px; border-radius: 12px; color: var(--primary); background: var(--sage-soft); font-size: 13px; font-weight: 700; line-height: 1.7; }
.recruit-income,
.recruit-benefits { margin-top: 22px; padding: 34px; border: 1px solid var(--sage-mid); border-radius: 22px; background: #fff; }
.recruit-income > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.recruit-income article { padding: 22px; border-radius: 16px; background: var(--sage-soft); }
.recruit-income article span { font-size: 12px; }
.recruit-income article strong { display: block; margin-top: 8px; color: var(--primary); font: 600 30px "Poppins",sans-serif; }
.recruit-income article p { margin: 7px 0 0; font-size: 11px; line-height: 1.55; }
.recruit-income > p { margin: 18px 0 0; color: #66736a; font-size: 11px; line-height: 1.7; }
.recruit-benefits ul { grid-template-columns: repeat(2,1fr); gap: 14px 28px; }

.recruit-selection { padding: 125px max(24px,6vw); background: #fff; }
.recruit-selection > * { width: min(940px,100%); margin-right: auto; margin-left: auto; }
.recruit-selection ol { display: grid; gap: 0; margin-top: 54px; padding: 0; list-style: none; }
.recruit-selection li { position: relative; display: grid; grid-template-columns: 72px 1fr; gap: 24px; padding-bottom: 30px; }
.recruit-selection li:not(:last-child)::before { position: absolute; top: 58px; bottom: 0; left: 29px; width: 1px; background: var(--sage-mid); content: ""; }
.recruit-selection li > span { position: relative; z-index: 1; display: grid; width: 58px; height: 58px; place-items: center; border-radius: 50%; color: #fff; background: var(--primary); font: 600 13px "Poppins",sans-serif; }
.recruit-selection li > div { padding: 19px 25px; border: 1px solid var(--sage-mid); border-radius: 17px; background: var(--sage-soft); }
.recruit-selection h3 { margin: 0 0 8px; font-size: 18px; }
.recruit-selection li p { margin: 0; font-size: 14px; line-height: 1.8; }

.recruit-location { display: grid; grid-template-columns: 84px 1fr auto; gap: 28px; width: min(1080px,calc(100% - 48px)); margin: 0 auto 30px; padding: 38px 42px; align-items: center; border: 1px solid var(--sage-mid); border-radius: 24px; background: var(--sage-soft); }
.recruit-location > svg { width: 74px; height: 74px; padding: 19px; border-radius: 50%; color: #fff; background: var(--primary); }
.recruit-location .recruit-eyebrow { margin-bottom: 7px; }
.recruit-location h2 { margin: 0 0 8px; font-family: "Klee One","Yu Mincho",serif; font-size: clamp(23px,2.5vw,34px); font-weight: 600; }
.recruit-location p:last-child { margin: 0; font-size: 13px; line-height: 1.7; }
.recruit-location > a { display: flex; flex-direction: column; gap: 5px; padding: 16px 22px; border-radius: 14px; color: #fff !important; background: var(--primary); }
.recruit-location > a span { font-size: 11px; }
.recruit-location > a strong { font: 600 20px "Poppins",sans-serif; }
.recruit-company { width: min(1080px,calc(100% - 48px)); margin: -78px auto 90px; }
.recruit-company dl { display: grid; grid-template-columns: repeat(3,1fr); margin: 0; border-top: 1px solid var(--sage-mid); }
.recruit-company dl div { padding: 20px; border-bottom: 1px solid var(--sage-mid); }
.recruit-company dt { margin-bottom: 7px; color: var(--primary); font-size: 11px; font-weight: 700; }
.recruit-company dd { margin: 0; font-size: 12px; line-height: 1.65; }

@media (max-width: 1100px) {
  .recruit-header__nav { gap: 18px; font-size: 12px; }
  .recruit-summary { grid-template-columns: repeat(2,1fr); }
  .recruit-summary > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--sage-mid); }
  .recruit-summary > div:nth-child(4) { border-top: 1px solid var(--sage-mid); }
  .recruit-points__grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 760px) {
  .recruit-hero__opening { margin-bottom: 12px; font-size: 11px; }
  .recruit-hero__lead { margin-top: 18px; font-size: 14px; }
  .recruit-hero__cta { width: 100%; justify-content: center; margin-top: 20px; }
  .recruit-summary { grid-template-columns: 1fr 1fr; width: calc(100% - 32px); margin-top: -24px; }
  .recruit-summary > div { grid-template-columns: 34px 1fr; padding: 18px 14px; }
  .recruit-summary svg { width: 32px; height: 32px; padding: 7px; }
  .recruit-summary span { font-size: 10px; }
  .recruit-summary strong { font-size: 13px; }
  .recruit-points { padding: 78px 16px; }
  .recruit-points__grid { grid-template-columns: 1fr; margin-top: 36px; }
  .recruit-points__grid article { min-height: 104px; }
  .recruit-job { width: calc(100% - 32px); padding: 80px 0; }
  .recruit-job__intro { grid-template-columns: 1fr; gap: 28px; }
  .recruit-job__duties { margin-top: 36px; padding: 28px 22px; border-radius: 22px; }
  .recruit-job__duties ul { grid-template-columns: 1fr; }
  .recruit-job__facts { grid-template-columns: 1fr; }
  .recruit-digital { grid-template-columns: 1fr; width: calc(100% - 32px); margin-bottom: 70px; padding: 36px 24px; border-radius: 22px; }
  .recruit-digital__icon { width: 120px; }
  .recruit-candidate { padding: 78px 16px; }
  .recruit-candidate__grid { grid-template-columns: 1fr; margin-top: 36px; }
  .recruit-requirements { padding: 78px 16px; }
  .recruit-data-table { margin-top: 36px; }
  .recruit-data-table > div { grid-template-columns: 1fr; }
  .recruit-data-table dt { padding: 13px 18px; }
  .recruit-data-table dd { padding: 18px; }
  .recruit-pay { padding: 78px 16px; }
  .recruit-pay__lead { grid-template-columns: 1fr; padding: 28px 22px; }
  .recruit-pay__lead p { justify-self: start; }
  .recruit-pay__columns { grid-template-columns: 1fr; }
  .recruit-pay__columns article,
  .recruit-income,
  .recruit-benefits { padding: 26px 22px; }
  .recruit-income > div { grid-template-columns: 1fr; }
  .recruit-benefits ul { grid-template-columns: 1fr; }
  .recruit-selection { padding: 78px 16px; }
  .recruit-selection li { grid-template-columns: 52px 1fr; gap: 14px; }
  .recruit-selection li > span { width: 46px; height: 46px; }
  .recruit-selection li:not(:last-child)::before { top: 46px; left: 23px; }
  .recruit-selection li > div { padding: 17px; }
  .recruit-location { grid-template-columns: 58px 1fr; width: calc(100% - 32px); padding: 25px 20px; }
  .recruit-location > svg { width: 54px; height: 54px; padding: 14px; }
  .recruit-location > a { grid-column: 1 / -1; text-align: center; }
  .recruit-company { width: calc(100% - 32px); margin-top: -40px; }
  .recruit-company dl { grid-template-columns: 1fr; }
}
