/* Careers > 팀 소개 — Figma 924:40282. Shared buttons, fonts and navigation. */
.team-document { scroll-padding-top: calc(var(--team-header-height, 60px) + var(--team-nav-height, 64px) + 24px); }
.team-page { --team-surface: #f9f9f9; }
.team-hero { padding: 224px 0 200px; background: black; color: white; text-align: center; }
.team-hero h1 { font: 400 72px/1.2 'Noto Serif KR', Georgia, serif; letter-spacing: -1.44px; }
.team-hero h1 span { color: var(--green); }
.team-hero p { margin: 24px auto 0; font-size: 18px; line-height: 1.6; letter-spacing: -.72px; color: rgb(255 255 255 / 60%); word-break: keep-all; }
.team-hero .button { margin-top: 48px; }
.team-overview, .team-reviews { background: var(--team-surface); }
.team-heading { text-align: center; word-break: keep-all; }
.team-heading .doc-lead { margin: 10px auto 0; max-width: 1023px; }
.team-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 80px; }
.team-summary { min-height: 236px; padding: 36px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 12px; background: black; color: white; border-radius: 6px; text-align: center; }
.team-summary h3 { font: 600 36px/1.2 var(--english); letter-spacing: 0; }
.team-summary p { color: rgb(255 255 255 / 87%); font-size: 17px; line-height: 1.6; letter-spacing: -.68px; word-break: keep-all; }

/* Sticky belongs to main, outside the horizontally scrolling element. */
.team-nav { position: sticky; top: var(--team-header-height, 60px); z-index: 10; padding-block: 10px; background: white; }
.team-nav-scroll { overflow-x: auto; scrollbar-width: thin; scrollbar-color: #ddd transparent; overscroll-behavior-x: contain; }
.team-nav-links { display: flex; justify-content: center; align-items: center; gap: 33px; min-width: max-content; min-height: 44px; padding-inline: 8px; }
.team-nav a { display: grid; place-items: center; min-height: 44px; color: #8c8c8c; font: 500 18px/1.32 var(--english); letter-spacing: -.54px; white-space: nowrap; }
/* Reserve the selected label's width so selection never moves adjacent items. */
.team-nav a > span { grid-area: 1 / 1; }
.team-nav-size { font-weight: 600; visibility: hidden; pointer-events: none; }
.team-nav a[aria-current="location"] { color: black; font-weight: 600; }
.team-nav a:focus-visible { outline-offset: 0; border-radius: 2px; }
.team-nav-divider { flex: none; height: 18px; }
.team-details { display: flex; flex-direction: column; gap: 160px; padding-block: 200px; }
.team-detail { min-width: 0; }
.team-detail:focus { outline: none; }
.team-title-row { display: flex; align-items: flex-start; gap: 10px; }
.team-title-row h2 { font: 600 48px/1.32 var(--english); letter-spacing: -.96px; }
.team-opening { display: inline-flex; align-items: flex-start; gap: 4px; flex: none; min-width: 33px; min-height: 44px; padding: 4px 4px 8px; color: black; font-size: 18px; font-weight: 500; line-height: 1.6; letter-spacing: -.54px; }
.team-opening-arrow { flex: none; margin-top: 8px; transition: transform .28s cubic-bezier(.22, 1, .36, 1); }
.team-opening:focus-visible .team-opening-arrow { transform: translate(3px, -3px); }
.team-description { margin-top: 16px; }
.team-description h3 { font-size: 30px; font-weight: 700; line-height: 1.4; letter-spacing: -1.2px; word-break: keep-all; }
.team-description p { margin-top: 12px; color: var(--muted); font-size: 18px; line-height: 1.6; letter-spacing: -.9px; }
.team-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: minmax(216px, auto) minmax(251px, auto); gap: 20px; margin-top: 80px; }
:is(#team-product, #team-design) .team-detail-grid { grid-template-rows: repeat(2, minmax(251px, auto)); }
#team-hq .team-detail-grid { grid-template-rows: repeat(2, minmax(237px, auto)); }
.team-detail-card { padding: 36px; background: var(--team-surface); border-radius: 4px; }
.team-detail-card-compact { padding: 29px 31px; }
.team-detail-card h4 { font-size: 26px; font-weight: 600; line-height: 1.2; letter-spacing: -1.04px; word-break: keep-all; }
.team-detail-card ul { margin-top: 16px; padding-left: 25.5px; list-style: disc; color: var(--muted); font-size: 17px; line-height: 1.6; letter-spacing: -.68px; }
.team-detail-card li + li { margin-top: 8px; }
.team-detail-card li::marker { font-size: 11px; }
.team-reviews-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; margin-top: 80px; }
.team-review { min-width: 0; margin: 0; padding: 36px; background: white; border-radius: 4px; }
.team-review-wide { grid-column: 1 / -1; }
.team-review blockquote { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.6; letter-spacing: -.68px; text-indent: -.45em; }
.team-review figcaption { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 25px; margin-top: 30px; color: rgb(0 0 0 / 40%); font-size: 16px; line-height: 1.2; letter-spacing: -.64px; }
.team-review-author { color: black; font: 500 23px/1.2 var(--english); letter-spacing: -.46px; }
.team-page .social-icons img { width: auto; height: auto; }
.team-page .footer-wordmark { width: auto; height: auto; aspect-ratio: auto; }
.team-footer-rule { margin-top: 25px; }
.team-page .footer-bottom { border: 0; margin-top: 0; }

/* :target keeps the temporary notice usable without JavaScript. */
.recruitment-notice:not(:target) { display: none; }
.recruitment-notice { position: fixed; inset: 0; z-index: 100; margin: 0; padding: 24px; background: rgb(0 0 0 / 45%); display: grid; place-items: center; }
.recruitment-notice-card { width: min(100%, 440px); padding: 36px; border-radius: 6px; background: white; }
.recruitment-notice h2 { font-size: 26px; letter-spacing: -1.04px; line-height: 1.4; }
.recruitment-notice p { margin-top: 16px; font-size: 17px; line-height: 1.6; letter-spacing: -.68px; color: var(--muted); word-break: keep-all; }
.recruitment-notice .button { margin-top: 28px; }
dialog.recruitment-dialog { width: min(440px, calc(100% - 48px)); max-height: calc(100% - 48px); padding: 0; border: 0; border-radius: 6px; }
.recruitment-dialog::backdrop { background: rgb(0 0 0 / 45%); }
.recruitment-dialog .recruitment-notice-card { width: 100%; }
.recruitment-dialog h2 { font-size: 26px; letter-spacing: -1.04px; line-height: 1.4; }
.recruitment-dialog p { margin-top: 16px; font-size: 17px; line-height: 1.6; letter-spacing: -.68px; color: var(--muted); word-break: keep-all; }
.recruitment-dialog .button { margin-top: 28px; }
html:has(.recruitment-dialog[open]) { overflow: hidden; }
@media (hover: hover) and (pointer: fine) {
  .team-nav a:not([aria-current="location"]):hover { color: #666; }
  .team-opening:hover .team-opening-arrow { transform: translate(3px, -3px); }
}
@media (max-width: 1250px) {
  .team-nav-links { gap: 24px; }
  .team-nav a { font-size: 17px; }
  .team-nav-divider { height: 16px; }
  .team-detail-card { padding: 30px; }
}
@media (max-width: 1024px) {
  .team-document { --team-nav-height: 60px; }
  .team-hero { padding: 184px 0 140px; }
  .team-hero h1 { font-size: 60px; }
  .team-summary-grid, .team-reviews-grid { margin-top: 56px; }
  .team-summary { padding: 28px; }
  .team-summary h3 { font-size: 30px; }
  .team-nav { padding-block: 8px; }
  .team-nav-links { justify-content: flex-start; min-height: 44px; gap: 22px; }
  .team-details { padding-block: 120px; gap: 120px; }
  .team-title-row h2 { font-size: 42px; }
  .team-description h3 { font-size: 26px; }
  .team-detail-grid { margin-top: 48px; }
  .team-detail-card h4 { font-size: 23px; }
  .team-review { padding: 28px; }
}
@media (max-width: 760px) {
  .team-document { --team-nav-height: 56px; }
  .team-hero { padding: 164px 0 108px; }
  .team-hero h1 { font-size: clamp(32px, 8vw, 52px); letter-spacing: -.8px; }
  .team-hero p { max-width: 380px; font-size: 17px; }
  .team-hero .button { margin-top: 32px; }
  .team-summary-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 40px; }
  .team-summary { min-height: 204px; padding: 28px 20px; }
  .team-summary h3 { font-size: clamp(26px, 6.8vw, 30px); }
  .team-summary p { font-size: 16px; }
  .team-summary br { display: none; }
  .team-nav { padding-block: 6px; }
  .team-nav-scroll { width: 100%; padding-inline: var(--gutter); scrollbar-width: none; }
  .team-nav-scroll::-webkit-scrollbar { display: none; }
  .team-nav-links { min-height: 44px; gap: 20px; padding-inline: 0; }
  .team-nav a { font-size: 15px; letter-spacing: -.3px; }
  .team-nav-divider { height: 14px; }
  .team-details { padding-block: 88px; gap: 88px; }
  .team-title-row { gap: 6px; }
  .team-title-row h2 { font-size: clamp(29px, 8.2vw, 36px); letter-spacing: -.65px; }
  .team-opening { padding-top: 0; font-size: 16px; }
  .team-opening-arrow { margin-top: 6px; }
  .team-description h3 { font-size: 23px; letter-spacing: -.92px; }
  .team-description p { font-size: 17px; letter-spacing: -.68px; }
  .team-detail .team-detail-grid { grid-template-columns: 1fr; grid-template-rows: none; gap: 14px; margin-top: 36px; }
  .team-detail-card { padding: 28px 24px; }
  .team-detail-card h4 { font-size: 22px; }
  .team-detail-card ul { padding-left: 22px; font-size: 16px; }
  .team-detail-card li { word-break: keep-all; overflow-wrap: anywhere; }
  .team-reviews-grid { grid-template-columns: 1fr; gap: 20px; margin-top: 40px; }
  .team-review { padding: 28px 24px; }
  .team-review blockquote { font-size: 16px; }
  .team-review figcaption { margin-top: 24px; font-size: 14px; }
  .team-review-author { font-size: 21px; }
  .recruitment-notice-card { padding: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .team-document { scroll-behavior: auto; }
  .team-nav a, .team-opening-arrow { transition: none; }
}
