/* 2026-09-30 GEO: company ideology/history, iKitchen pages - image text converted to HTML text */
.geo-page { color:#333; word-break:keep-all; }
.geo-page p, .geo-page li, .geo-page h2, .geo-page h3 { word-break:keep-all; overflow-wrap:break-word; }
.geo-page img { max-width:100%; height:auto; }
.geo-head { text-align:center; margin:70px 0 40px; }
.geo-head:before { content:""; display:block; width:30px; height:3px; background:#e9382f; margin:0 auto 22px; }
.geo-head h2 { font-size:2.1rem; font-weight:700; color:#111; margin:0 0 14px; }
.geo-head p { font-size:1.15rem; line-height:1.7; color:#444; margin:0; }
.geo-head .geo-kicker { font-size:0.95rem; color:#888; letter-spacing:0.05em; margin-bottom:6px; }

/* ideology */
.geo-ideo-top { display:flex; align-items:center; gap:40px; margin:40px 0 50px; }
.geo-ideo-top > img { flex:0 0 42%; width:42%; }
.geo-ideo-brand { display:flex; align-items:center; gap:10px; font-size:1.6rem; font-weight:700; color:#222; margin:0; }
.geo-sib { display:inline-block; background:#e9382f; color:#fff; font-weight:900; padding:0 10px; line-height:1.3; }
.geo-ideo-slogan { font-size:2.2rem; font-weight:900; color:#222; margin:6px 0 24px; letter-spacing:0.01em; }
.geo-ideo-txt p.geo-ideo-desc { font-size:1.05rem; line-height:2.1; color:#444; margin:0; }
.geo-ideo-people { display:block; width:100%; }
.geo-ideo-cp { text-align:center; font-size:2rem; font-weight:900; color:#222; margin:40px 0 30px; }
.geo-ideo-points { list-style:none; margin:0 0 60px; padding:0; display:flex; justify-content:center; gap:40px; }
.geo-ideo-points li { flex:0 1 300px; text-align:center; }
.geo-ideo-points img { width:110px; height:110px; object-fit:contain; }
.geo-ideo-points h3 { font-size:1.3rem; font-weight:700; color:#222; margin:6px 0 10px; }
.geo-ideo-points p { font-size:1rem; line-height:1.6; color:#555; margin:0; }

/* history timeline */
.geo-hist { position:relative; max-width:1000px; margin:50px auto 60px; padding:0; list-style:none; }
.geo-hist:before { content:""; position:absolute; left:50%; top:0; bottom:0; width:1px; background:#ddd; }
.geo-hist > li { position:relative; width:50%; padding:0 50px 40px; box-sizing:border-box; }
.geo-hist > li:nth-child(odd) { margin-left:50%; }
.geo-hist > li:nth-child(even) { text-align:right; }
.geo-hist > li:after { content:""; position:absolute; top:10px; width:12px; height:12px; border-radius:50%; background:#e9382f; box-shadow:0 0 0 3px #fff, 0 0 0 4px #e9382f; }
.geo-hist > li:nth-child(odd):after { left:-6px; }
.geo-hist > li:nth-child(even):after { right:-6px; }
.geo-hist h3 { font-size:1.9rem; font-weight:800; color:#222; margin:0 0 12px; line-height:1.2; }
.geo-hist ul { list-style:none; margin:0; padding:0; }
.geo-hist ul li { font-size:1rem; line-height:1.6; color:#555; margin-bottom:8px; }

/* iKitchen */
.geo-ik-screens { display:block; margin:0 auto 70px; }
.geo-ik-btn { display:inline-block; background:#d9412e; color:#fff !important; font-size:1.05rem; font-weight:700; padding:16px 40px; border-radius:2px; text-decoration:none; margin-bottom:70px; }
.geo-ik-btn:hover { background:#c23523; }
.geo-ik-guide { max-width:1240px; margin:0 auto 70px; }
.geo-ik-guide > img { display:block; margin:0 auto 30px; }
.geo-ik-steps { display:flex; gap:40px; max-width:1000px; margin:0 auto; }
.geo-ik-steps h3 { flex:0 0 150px; font-size:1.7rem; font-weight:700; color:#111; line-height:1.35; margin:0; }
.geo-ik-steps ol { margin:0; padding-left:1.3em; }
.geo-ik-steps ol li { font-size:1.05rem; line-height:1.8; color:#333; }
.geo-ik-steps small { display:block; color:#666; font-size:0.95rem; }
.geo-ik-contact { text-align:center; font-size:1rem; color:#555; margin:-30px 0 70px; }

@media screen and (max-width:768px) {
	.geo-head { margin:40px 0 25px; }
	.geo-head h2 { font-size:1.5rem; }
	.geo-head p { font-size:1rem; }
	.geo-ideo-top { flex-direction:column; gap:24px; }
	.geo-ideo-top > img { width:100%; flex:none; }
	.geo-ideo-slogan { font-size:1.6rem; }
	.geo-ideo-txt p.geo-ideo-desc { font-size:0.95rem; line-height:1.9; }
	.geo-ideo-points { flex-direction:column; align-items:center; gap:30px; }
	.geo-ideo-points li { flex:none; width:100%; }
	.geo-hist:before { left:8px; }
	.geo-hist > li, .geo-hist > li:nth-child(odd), .geo-hist > li:nth-child(even) { width:100%; margin-left:0; text-align:left; padding:0 0 30px 34px; }
	.geo-hist > li:nth-child(odd):after, .geo-hist > li:nth-child(even):after { left:2px; right:auto; }
	.geo-hist h3 { font-size:1.4rem; }
	.geo-ik-steps { flex-direction:column; gap:12px; }
	.geo-ik-steps h3 { flex:none; font-size:1.3rem; }
}

/* 2026-09-30 iKitchen intro + join merged */
.geo-ik-join { max-width:900px; margin:0 auto 90px; padding:44px 30px 10px; text-align:center; background:#f7f7f8; border-top:3px solid #e9382f; }
.geo-ik-join h2 { font-size:1.7rem; font-weight:700; color:#111; margin:0 0 14px; }
.geo-ik-join p { font-size:1.1rem; line-height:1.7; color:#444; margin:0 0 28px; }
.geo-ik-join .geo-ik-btn { margin-bottom:34px; }
@media screen and (max-width:768px) {
	.geo-ik-join { padding:30px 18px 4px; margin-bottom:50px; }
	.geo-ik-join h2 { font-size:1.35rem; }
	.geo-ik-join p { font-size:1rem; }
}

/* 2026-09-30 CONTACT : top banner (same size as company history top slider 2560:609) + contact cards */
.geo-banner { position:relative; width:100%; aspect-ratio:2560 / 609; overflow:hidden; margin:48px 0 0; background:#333; }
.geo-banner img { display:block; width:100%; height:100%; object-fit:cover; }
.geo-banner:after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.45); }
.geo-banner-txt { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:80%; text-align:center; z-index:2; }
.geo-banner-txt h2 { font-size:1.5rem; font-weight:800; color:#fff; margin:0 0 6px; }
.geo-banner-txt p { font-size:1.5rem; font-weight:500; color:#fff; margin:0; }
.geo-ct-intro { max-width:1080px; margin:40px 0 0; text-align:left; font-size:1.1rem; line-height:1.9; color:#555; }
.geo-ct-group { margin:50px 0 0; }
.geo-ct-group:last-child { margin-bottom:80px; }
.geo-ct-group-title { font-size:1.4rem; font-weight:700; color:#222; margin:0 0 18px; padding-left:12px; border-left:4px solid #e9382f; line-height:1.2; text-align:left; }
.geo-ct-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:16px; }
.geo-ct-grid.is-wide { grid-template-columns:repeat(auto-fill, minmax(440px, 1fr)); }
.geo-ct-item { background:#f7f7f8; border:1px solid #ececee; border-radius:4px; padding:20px 22px; text-align:left; }
.geo-ct-item h4 { font-size:1.08rem; font-weight:700; color:#222; margin:0 0 12px; }
.geo-ct-item dl { display:grid; grid-template-columns:max-content 1fr; gap:6px 16px; margin:0; }
.geo-ct-item dt { font-size:0.95rem; font-weight:600; color:#888; margin:0; line-height:1.7; }
.geo-ct-item dd { font-size:1rem; color:#333; margin:0; line-height:1.7; }
.geo-ct-item dd.is-full { grid-column:1 / -1; }
.geo-ct-item .is-cjk { word-break:normal; }
.geo-ct-item a { color:inherit; text-decoration:none; white-space:nowrap; }
.geo-ct-item a:hover { color:#e9382f; text-decoration:underline; }
.geo-ct-item dd.is-full a[href^="tel:"]:before { content:"\260E\FE0E"; color:#e9382f; font-size:0.9em; margin-right:7px; }
.geo-ct-item dd.is-full a[href^="mailto:"]:before { content:"\2709\FE0E"; color:#e9382f; font-size:0.9em; margin-right:7px; }
@media screen and (max-width:1000px) {
	.geo-banner-txt h2 { font-size:1rem; }
	.geo-banner-txt p { font-size:1rem; }
}
@media screen and (max-width:768px) {
	.geo-banner { margin-top:20px; }
	.geo-ct-intro { font-size:0.95rem; margin-top:24px; }
	.geo-ct-group { margin-top:34px; }
	.geo-ct-group:last-child { margin-bottom:50px; }
	.geo-ct-group-title { font-size:1.15rem; }
	.geo-ct-grid, .geo-ct-grid.is-wide { grid-template-columns:1fr; gap:10px; }
	.geo-ct-item { padding:16px 16px; }
	.geo-ct-item dl { grid-template-columns:1fr; gap:0; }
	.geo-ct-item dt { margin-top:6px; }
	.geo-ct-item a { white-space:normal; }
}
@media screen and (max-width:540px) {
	.geo-banner-txt h2 { font-size:0.8rem; }
	.geo-banner-txt p { font-size:0.7rem; }
}

/* 2026-09-30 RECRUIT : section title (left, red underline), 2 columns, photo strip, steps */
.geo-sec-title { font-size:1.6rem; font-weight:700; color:#111; margin:0 0 22px; text-align:left; }
.geo-sec-title:after { content:""; display:block; width:30px; height:3px; background:#e9382f; margin-top:12px; }
.geo-rc-cols { display:flex; gap:60px; margin:60px 0 40px; }
.geo-rc-col { flex:1 1 0; min-width:0; }
.geo-rc-desc { font-size:1.05rem; line-height:1.9; color:#444; margin:0 0 18px; text-align:left; }
.geo-rc-desc a { color:#e9382f; font-weight:700; }
.geo-rc-btn { margin:6px 0 0; }
.geo-rc-list { list-style:none; margin:0; padding:0; }
.geo-rc-list li { position:relative; padding:0 0 0 14px; margin:0 0 8px; font-size:1rem; line-height:1.7; color:#333; text-align:left; }
.geo-rc-list li:before { content:""; position:absolute; left:0; top:0.75em; width:5px; height:5px; border-radius:50%; background:#e9382f; }
.geo-rc-photo { display:block; width:100%; height:auto; margin:10px 0 70px; }
.geo-rc-steps { background:#f8f8f8; margin:0 0 80px; padding:50px 40px 40px; }
.geo-rc-steps ol { list-style:none; margin:10px 0 0; padding:0; display:grid; grid-template-columns:repeat(6, 1fr); gap:20px; }
.geo-rc-steps li { text-align:center; }
.geo-rc-steps li img { display:block; width:100%; max-width:150px; height:auto; margin:0 auto 14px; border-radius:50%; }
.geo-rc-stepno { display:block; font-size:0.9rem; font-weight:800; color:#e9382f; margin-bottom:4px; }
.geo-rc-steps strong { display:block; font-size:1.15rem; font-weight:700; color:#333; line-height:1.4; }
.geo-rc-steps small { display:block; font-size:0.85rem; color:#777; line-height:1.6; margin-top:10px; }

/* 2026-09-30 TALENT : photo hero with badges, values grid */
.geo-hero { position:relative; width:100%; aspect-ratio:2560 / 609; overflow:hidden; margin:48px 0 0; background:#333; }
.geo-hero .geo-hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.geo-hero:after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.55); }
.geo-hero-txt { position:absolute; top:50%; left:50%; transform:translate(-50%,-62%); width:86%; z-index:2; text-align:center; }
.geo-hero-txt h2 { font-size:2.1rem; font-weight:900; color:#fff; margin:0 0 14px; }
.geo-hero-txt p { font-size:1.1rem; line-height:1.8; color:#fff; margin:0; }
.geo-hero-badges { list-style:none; margin:-80px 0 0; padding:0; display:flex; justify-content:center; gap:60px; position:relative; z-index:3; }
.geo-hero-badges li { width:160px; height:160px; border-radius:50%; background:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:10px 18px; box-shadow:0 6px 18px rgba(0,0,0,.12); }
.geo-hero-badges img { width:64px; height:64px; object-fit:contain; margin-bottom:8px; }
.geo-hero-badges span { font-size:0.9rem; font-weight:700; color:#333; line-height:1.3; }
.geo-tl-items { list-style:none; margin:10px auto 90px; padding:0; max-width:1000px; display:flex; flex-wrap:wrap; justify-content:center; gap:50px 30px; }
.geo-tl-items li { flex:0 0 calc(33.333% - 20px); text-align:center; }
.geo-tl-items img { display:block; width:110px; height:96px; object-fit:contain; margin:0 auto 14px; }
.geo-tl-items h3 { font-size:1.25rem; font-weight:700; color:#222; margin:0 0 10px; }
.geo-tl-items p { font-size:0.98rem; line-height:1.7; color:#555; margin:0; }

@media screen and (max-width:1000px) {
	.geo-rc-steps ol { grid-template-columns:repeat(3, 1fr); gap:30px 16px; }
	.geo-hero-badges { gap:24px; margin-top:-60px; }
	.geo-hero-badges li { width:130px; height:130px; }
	.geo-hero-txt h2 { font-size:1.5rem; }
	.geo-hero-txt p { font-size:0.95rem; }
}
@media screen and (max-width:768px) {
	.geo-sec-title { font-size:1.3rem; }
	.geo-rc-cols { flex-direction:column; gap:36px; margin:36px 0 24px; }
	.geo-rc-desc { font-size:0.95rem; }
	.geo-rc-photo { margin-bottom:40px; }
	.geo-rc-steps { padding:30px 16px 24px; margin-bottom:50px; }
	.geo-rc-steps ol { grid-template-columns:repeat(2, 1fr); }
	.geo-rc-steps strong { font-size:1rem; }
	.geo-hero-txt { transform:translate(-50%,-50%); width:92%; }
	.geo-hero-txt h2 { font-size:1rem; margin-bottom:4px; }
	.geo-hero-txt p { font-size:0.7rem; line-height:1.5; }
	.geo-hero-txt p br { display:none; }
	.geo-hero-badges { margin-top:14px; }
	.geo-hero-badges { gap:10px; }
	.geo-hero-badges li { width:96px; height:96px; padding:6px; }
	.geo-hero-badges img { width:38px; height:38px; margin-bottom:4px; }
	.geo-hero-badges span { font-size:0.72rem; }
	.geo-tl-items { gap:36px 16px; margin-bottom:50px; }
	.geo-tl-items li { flex:0 0 100%; }
}

/* 2026-09-30 : 회사연혁 상단 슬라이드 = 상단 이미지 기준 크기 (폭 100%, 2560:609) - 원본 크기가 달라도 같은 크기로 */
.mySwiper .swiper-slide img { display:block; width:100%; height:auto; aspect-ratio:2560 / 609; object-fit:cover; }
