
.job-box{width:min(760px,100%)}
.job-box h3{font-size:clamp(22px,2.4vw,28px);line-height:1.3;font-weight:700;margin:8px 0 4px}
.job-box .job-type{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink-3);margin:0 0 14px}
.job-box .job-intro{font-size:15.5px;line-height:1.75;color:var(--ink-2);padding:16px 18px;background:var(--bg-2);border-radius:var(--radius-sm)}
.job-box .job-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;margin-top:20px}
.job-box h4{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--red);margin:14px 0 8px}
.job-box ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.job-box ul li{font-size:14px;line-height:1.6;color:var(--ink-2);padding-left:14px;position:relative}
.job-box ul li::before{content:"";position:absolute;left:0;top:10px;width:5px;height:5px;border-radius:50%;background:var(--ink-3)}
.job-box .job-cond{grid-template-columns:1fr 1fr}
.job-box .job-apply{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.job-box .job-mail{font-size:14px;color:var(--ink-2);margin:0}
.job-box .job-mail b{font-family:var(--mono);font-size:13px;background:var(--sun-tint);padding:3px 10px;border-radius:var(--radius-xs);color:var(--ink)}
@media (max-width:768px){.job-box .job-grid,.job-box .job-cond{grid-template-columns:1fr}}

/* 홈 섹션 타이틀 크기 통일 — hm-history(모두의 학교) 기준 */
#page-home #hm-era h2,#page-home #hm-loop h2.display,#page-home #pillars h2.display,#page-home #library h2.display,#page-home #hm-proof h2.display,#page-home #contact-home h2.display{font-size:clamp(30px,3.6vw,48px);line-height:1.15;letter-spacing:-.005em}

/* 솔루션·서비스·언러닝·인재채용 섹션 타이틀 크기 통일 (회사소개 제외, 대형 선언문 .big/.byf 제외) */
#page-solution h2:not(.big):not(.byf):not(.s1),#page-services h2,#page-unlearning h2,#page-careers h2{font-size:clamp(30px,3.6vw,48px);line-height:1.15;letter-spacing:-.005em}

/* 띠배너(AXIT · CONTACT) 타이틀 — 섹션 타이틀보다 2pt 작게 */
#page-services #svc-axit h2,#page-services .sv2-ctaband h2{font-size:calc(clamp(30px,3.6vw,48px) - 2pt);line-height:1.2}

/* ===== 다크 모드 토큰 (시스템 설정 또는 data-theme) ===== */
:root{--dk-bg:#12141A;--dk-bg2:#191C24;--dk-surface:#1F232D;--dk-ink:#F1EEE8;--dk-ink2:#C9CDD6;--dk-ink3:#9AA1B0;--dk-line:#2E3340}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:var(--dk-bg);--bg-2:var(--dk-bg2);--surface:var(--dk-surface);--ink:var(--dk-ink);--ink-2:var(--dk-ink2);--ink-3:var(--dk-ink3);--line:var(--dk-line);
  --red-tint:rgba(217,45,32,.18);--sun-tint:rgba(255,197,49,.16);--purple-tint:rgba(110,42,230,.16);--wire:#F1EEE8;
  --shadow:0 18px 40px -24px rgba(0,0,0,.7);--e1:0 1px 2px rgba(0,0,0,.4),0 10px 30px -18px rgba(0,0,0,.6);--e1h:0 2px 4px rgba(0,0,0,.5),0 24px 50px -22px rgba(0,0,0,.7);--hl:inset 0 1px 0 rgba(255,255,255,.06);--paper:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0) 60%);
}}
:root[data-theme="dark"]{
  --bg:var(--dk-bg);--bg-2:var(--dk-bg2);--surface:var(--dk-surface);--ink:var(--dk-ink);--ink-2:var(--dk-ink2);--ink-3:var(--dk-ink3);--line:var(--dk-line);
  --red-tint:rgba(217,45,32,.18);--sun-tint:rgba(255,197,49,.16);--purple-tint:rgba(110,42,230,.16);--wire:#F1EEE8;
  --shadow:0 18px 40px -24px rgba(0,0,0,.7);--e1:0 1px 2px rgba(0,0,0,.4),0 10px 30px -18px rgba(0,0,0,.6);--e1h:0 2px 4px rgba(0,0,0,.5),0 24px 50px -22px rgba(0,0,0,.7);--hl:inset 0 1px 0 rgba(255,255,255,.06);--paper:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0) 60%);
}
html,body{background:var(--bg);color:var(--ink)}

/* 다크 모드 · 하드코딩 색 보정 */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero.navy.warm,:root:not([data-theme="light"]) .nav{--dk-on:1}}
:root[data-theme="dark"] .hero.navy.warm,:root[data-theme="dark"] .nav{--dk-on:1}
.hero.navy.warm{--dk-on:0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero.navy.warm{background:radial-gradient(56% 58% at 12% 106%,rgba(217,45,32,.28),transparent 62%),radial-gradient(36% 44% at 92% -8%,rgba(255,197,49,.14),transparent 60%),linear-gradient(180deg,#171A22 0%,#12141A 60%,#0F1116 100%)}
  :root:not([data-theme="light"]) .hero.navy.warm .grain{mix-blend-mode:soft-light;opacity:.2}
  :root:not([data-theme="light"]) .nav{background:rgba(18,20,26,.82);box-shadow:inset 0 -1px 0 rgba(255,255,255,.06)}}
:root[data-theme="dark"] .hero.navy.warm{background:radial-gradient(56% 58% at 12% 106%,rgba(217,45,32,.28),transparent 62%),radial-gradient(36% 44% at 92% -8%,rgba(255,197,49,.14),transparent 60%),linear-gradient(180deg,#171A22 0%,#12141A 60%,#0F1116 100%)}
:root[data-theme="dark"] .hero.navy.warm .grain{mix-blend-mode:soft-light;opacity:.2}
:root[data-theme="dark"] .nav{background:rgba(18,20,26,.82);box-shadow:inset 0 -1px 0 rgba(255,255,255,.06)}

/* 회사소개·솔루션은 전용 라이트 팔레트로 설계된 페이지 — 다크 환경에서도 라이트 토큰 유지 (가독성 보장) */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) #page-about,:root:not([data-theme="light"]) #page-solution,:root:not([data-theme="light"]) #page-careers .cr-film{--bg:#FFFDFA;--bg-2:#F8F3EC;--surface:#FFFFFF;--ink:#0F172A;--ink-2:#3B4457;--ink-3:#6B7386;--line:#EAE2D8;--red-tint:#FCE4DF;--sun-tint:#FFF1C2;--purple-tint:#F5F1FF;--wire:#0F172A;--shadow:0 18px 40px -24px rgba(15,23,42,.35);--e1:0 1px 2px rgba(15,23,42,.06),0 10px 30px -18px rgba(15,23,42,.22);--e1h:0 2px 4px rgba(15,23,42,.08),0 24px 50px -22px rgba(15,23,42,.35);--hl:inset 0 1px 0 rgba(255,255,255,.7);--paper:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0) 60%);color-scheme:light}}
:root[data-theme="dark"] #page-about,:root[data-theme="dark"] #page-solution,:root[data-theme="dark"] #page-careers .cr-film{--bg:#FFFDFA;--bg-2:#F8F3EC;--surface:#FFFFFF;--ink:#0F172A;--ink-2:#3B4457;--ink-3:#6B7386;--line:#EAE2D8;--red-tint:#FCE4DF;--sun-tint:#FFF1C2;--purple-tint:#F5F1FF;--wire:#0F172A;--shadow:0 18px 40px -24px rgba(15,23,42,.35);--e1:0 1px 2px rgba(15,23,42,.06),0 10px 30px -18px rgba(15,23,42,.22);--e1h:0 2px 4px rgba(15,23,42,.08),0 24px 50px -22px rgba(15,23,42,.35);--hl:inset 0 1px 0 rgba(255,255,255,.7);--paper:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0) 60%);color-scheme:light}

/* 테마 토글 */
.theme-tg{width:38px;height:38px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);display:inline-grid;place-items:center;cursor:pointer;padding:0;transition:background .2s,color .2s}
.theme-tg:hover{color:var(--red)}
.theme-tg svg{width:18px;height:18px;grid-area:1/1}
.theme-tg .i-moon{display:none}
:root[data-theme="dark"] .theme-tg .i-sun{display:none}:root[data-theme="dark"] .theme-tg .i-moon{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .theme-tg .i-sun{display:none}:root:not([data-theme="light"]) .theme-tg .i-moon{display:block}}
@media (max-width:480px){.theme-tg{width:34px;height:34px}}

/* ===== 다크 모드 · 하드코딩 색 조합 보정 (작업지시서 3-2) ===== */
:root[data-theme="dark"] .svc .pin{color:#0F172A}
:root[data-theme="dark"] .pg.gl{color:#0F172A}
:root[data-theme="dark"] .pg.gl .doc{color:#0F172A}
:root[data-theme="dark"] .pg.ul,:root[data-theme="dark"] .wt.grad2{background:linear-gradient(160deg,#16213A,#0F172A)}
:root[data-theme="dark"] .pg .btn,:root[data-theme="dark"] .pc.dark,:root[data-theme="dark"] #page-services .sv2-bpin.un{background:#0F172A;color:#F5EFE6}
:root[data-theme="dark"] .pc.dark small,:root[data-theme="dark"] .pc.dark b,:root[data-theme="dark"] .pc.dark span{color:inherit}
:root[data-theme="dark"] #page-careers .pk,:root[data-theme="dark"] .wt.growth,:root[data-theme="dark"] .wt.glass{background:var(--surface)}
:root[data-theme="dark"] .sv2-sc-card{background:rgba(31,35,45,.96)}
:root[data-theme="dark"] .v-doc .doc,:root[data-theme="dark"] .v-cart .cart{background:#F5F1EA;color:#0F172A}
:root[data-theme="dark"] .v-doc .doc b,:root[data-theme="dark"] .v-doc .doc span,:root[data-theme="dark"] .v-cart .cart b{color:#0F172A}
:root[data-theme="dark"] .sv2-stage,:root[data-theme="dark"] .sv2-stage b{color:#fff}
:root[data-theme="dark"] .svc .bd.ul{background:var(--surface)}
:root[data-theme="dark"] .lib .pc.hl,:root[data-theme="dark"] .lib .pc.featured{color:#0F172A}

/* ===== 작업지시서 반영 (2026-09-28) ===== */
/* 3-4 PC 카드 하단 텍스트 잘림: 전역 .tile의 overflow:hidden·무패딩이 경험 카드에 상속되던 문제 */
.sol-xp .tile{overflow:visible;padding:0 0 22px;background:var(--bg-2);border-radius:var(--radius-lg);min-height:0;height:auto}
.sol-xp .tile .gfx{border-radius:var(--radius-lg) var(--radius-lg) var(--radius) var(--radius)}
.sol-xp .tile .cap,.sol-xp .tile p{padding-inline:18px}
.sol-xp .tile p{overflow-wrap:anywhere}
/* 3-2 서비스 카드: 전역 .show{width:400px;max-width:82vw}가 3열 그리드(1024~1280px)와 모바일에서 넘치던 문제 → 그리드 셀에 맞춤 */
#pillars .svc-grid .show.svc{width:100%;max-width:none;margin-inline:auto;min-width:0}
#pillars .svc-grid{justify-items:stretch}
/* 3-6 경로 UI: PC는 SVG, 모바일은 세로 타임라인 */
.spectrum-m{display:none}
@media (max-width:768px){
  /* 3-1 본문 양끝정렬 공백 제거 */
  .policy-note{text-align:left;text-justify:auto;word-break:keep-all;overflow-wrap:anywhere}
  /* 3-6 */
  .spectrum svg{display:none}
  .spectrum{max-width:none;width:100%}
  .spectrum-m{display:grid;gap:0;margin:8px 0 0;padding:0 0 0 6px;list-style:none;position:relative}
  .spectrum-m::before{content:"";position:absolute;left:15px;top:14px;bottom:14px;width:2px;background:repeating-linear-gradient(180deg,var(--ink-3) 0 5px,transparent 5px 10px);opacity:.5}
  .spectrum-m li{position:relative;display:flex;align-items:flex-start;gap:14px;padding:10px 0 14px;min-height:56px}
  .spectrum-m .nd{flex:none;width:20px;height:20px;border-radius:50%;background:var(--surface);border:2px solid var(--ink);box-shadow:0 0 0 4px var(--bg);margin-top:2px;position:relative;z-index:1}
  .spectrum-m li.out .nd{background:var(--red);border-color:var(--red)}
  .spectrum-m b{display:block;font-family:var(--display);font-weight:400;font-size:18px;color:var(--ink);line-height:1.2}
  .spectrum-m li.out b{color:var(--red)}
  .spectrum-m small{display:block;font-size:13px;color:var(--ink-3);margin-top:3px;line-height:1.5}
}
@media (max-width:480px){
  /* 3-3 프로그램 카드 1열 */
  #library .grid5{grid-template-columns:1fr;gap:12px}
  #library .pc{aspect-ratio:auto;min-height:0;width:100%;padding:16px 18px;display:grid;grid-template-columns:1fr 92px;grid-template-rows:auto auto;column-gap:14px;row-gap:8px;align-items:center}
  #library .pc .a{grid-column:1;grid-row:1}
  #library .pc .n{grid-column:1;grid-row:2;font-size:18px}
  #library .pc .art{position:relative;inset:auto;grid-column:2;grid-row:1/3;width:92px;height:92px;margin:0}
  #library .pc .art svg{width:82%}
}
/* 3-5 모바일 전체 메뉴 */
.mnav-tg{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:0;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:none}
.mnav-tg span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s,opacity .2s}
.mnav-tg[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mnav-tg[aria-expanded="true"] span:nth-child(2){opacity:0}
.mnav-tg[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mnav-bg{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:60;backdrop-filter:blur(2px)}
.mnav{position:fixed;top:0;right:0;bottom:0;width:min(88vw,360px);z-index:61;background:var(--surface);color:var(--ink);box-shadow:-20px 0 60px -20px rgba(0,0,0,.4);display:flex;flex-direction:column;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px);transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1);overflow:hidden}
.mnav.on{transform:none}
.mnav-hd{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px 22px;border-bottom:1px solid var(--line)}
.mnav-t{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--ink-3)}
.mnav-x{width:44px;height:44px;border:0;background:transparent;color:var(--ink);font-size:28px;line-height:1;cursor:pointer;border-radius:12px}
.mnav-x:hover{background:var(--bg-2)}
.mnav-list{list-style:none;margin:0;padding:8px 0;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}
.mnav-list>li{border-bottom:1px solid var(--line)}
.mnav-list .row{display:flex;align-items:stretch}
.mnav-list .row>a{flex:1;display:flex;align-items:center;min-height:52px;padding:0 22px;font-family:var(--display);font-size:20px;color:var(--ink);text-decoration:none}
.mnav-list .row>a[aria-current="page"]{color:var(--red)}
.mnav-list .row>a[aria-current="page"]::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red);margin-right:10px}
.mnav-list .sub-tg{width:52px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--ink-3);cursor:pointer;display:grid;place-items:center}
.mnav-list .sub-tg svg{width:16px;height:16px;transition:transform .25s}
.mnav-list .sub-tg[aria-expanded="true"] svg{transform:rotate(180deg)}
.mnav-list .sub{list-style:none;margin:0;padding:4px 0 10px;background:var(--bg-2)}
.mnav-list .sub a{display:block;padding:11px 22px 11px 34px;min-height:44px;color:var(--ink-2);text-decoration:none;font-size:15px;line-height:1.4}
.mnav-list .sub a b{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--red)}
.mnav-list .sub a[aria-current="true"]{color:var(--ink);font-weight:700}
.mnav-ft{padding:14px 22px;border-top:1px solid var(--line);display:grid;gap:8px}
.mnav-ft .pill{justify-content:center;min-height:46px}
body.mnav-open{overflow:hidden;touch-action:none}
@media (max-width:768px){
  .mnav-tg{display:inline-flex}
  .nav .cta .pill.ghost{display:none}
}
@media (max-width:480px){
  .nav .cta{gap:8px}
  .nav .cta .pill.red{padding-inline:12px;font-size:13px}
}

/* 파트너 카드: 4열 grid의 min-content 넘침(1024px)으로 가로 스크롤 발생 → minmax(0,1fr)·2열 전환 */
.partners .pgrid{grid-template-columns:repeat(4,minmax(0,1fr))}
.partners .ptn{min-width:0}
.partners .ptn h4,.partners .ptn span,.partners .ptn .did{overflow-wrap:anywhere}
@media (max-width:1100px){.partners .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.partners .pgrid{grid-template-columns:1fr}}

:root[data-theme="dark"] .sv2-roles button[aria-selected="true"]{background:#0F172A;border-color:#0F172A}
:root[data-theme="dark"] .sv2-roles button[aria-selected="true"] b,:root[data-theme="dark"] .sv2-roles button[aria-selected="true"] span,:root[data-theme="dark"] .sv2-roles button[aria-selected="true"] em{color:#F5EFE6}
