/* Unified presentation only. Existing page IDs, forms and admin actions stay intact. */
:is(#about,#business,#cs,#recruit,#jobsearch,#admin) { --primary-color:#173550; --dark-color:#132b41; --secondary-color:#b43445; --border-color:#dce3e9; color:#172f43; }
:is(#about,#business,#cs,#recruit,#jobsearch) { background:#fff; }
:is(#about,#business,#cs,#recruit,#jobsearch) .sub-header { background-image:none!important; background:#f1f4f6; color:#173550; height:auto; min-height:210px; display:flex; align-items:center; justify-content:center; margin-bottom:64px; padding:56px 24px; border-bottom:1px solid #e3e8ec; }
:is(#about,#business,#cs,#recruit,#jobsearch) .sub-header::before { display:none; }
:is(#about,#business,#cs,#recruit,#jobsearch) .sub-header h2 { color:#173550; font-size:clamp(30px,3.5vw,46px); letter-spacing:-.045em; line-height:1.3; text-shadow:none; word-break:keep-all; }
:is(#about,#business,#cs,#recruit,#jobsearch) .container { width:calc(100% - 48px); max-width:1140px!important; }
:is(#about,#business,#cs,#recruit,#jobsearch) button { font-family:inherit; }
:is(#about,#business,#cs,#recruit,#jobsearch) :is(h2,h3,p,label) { overflow-wrap:anywhere; }

/* Company: large editorial photo with a readable introduction. */
#about > .container { display:grid; grid-template-columns:1fr 1fr; column-gap:64px; align-content:start; padding:10px 0 40px; }
#about > .container::before { content:""; grid-column:1; grid-row:1 / 4; min-height:440px; background:url('assets/scene-7.png') center/cover; border-radius:4px 40px 4px 4px; }
#about > .container > * { grid-column:2; min-width:0; }
#about #about-main-title { font-size:clamp(25px,2.4vw,32px)!important; line-height:1.5; letter-spacing:-.035em; margin:24px 0!important; }
#about #about-body-text { font-size:17px!important; line-height:2!important; color:#526170!important; word-break:keep-all; }
#about #about-signature { padding-top:26px; border-top:1px solid #dde4e8; margin-top:22px; color:#173550!important; }

/* Business: alternating image/text rows rather than three identical boxes. */
#business .sec-title { text-align:left; margin-bottom:42px; }
#business .sec-title h2 { font-size:32px; letter-spacing:-.03em; }
#business .sec-title p { color:#62717e; font-size:17px; line-height:1.8; }
#business .biz-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:48px; }
#business .biz-card { position:relative; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto 1fr; column-gap:52px; min-height:290px; padding:0; text-align:left; border:0; border-radius:0; box-shadow:none; overflow:hidden; }
#business .biz-card:hover { transform:none; }
#business .biz-card::before { content:""; grid-column:1; grid-row:1 / 4; min-height:290px; background:url('assets/scene-2.png') center/cover; border-radius:12px; }
#business .biz-card:nth-child(2)::before { background-image:url('assets/scene-4.png'); grid-column:2; }
#business .biz-card:nth-child(3)::before { background-image:url('assets/scene-6.png'); }
#business .biz-card > * { grid-column:2; min-width:0; }
#business .biz-card:nth-child(2) > * { grid-column:1; }
#business .biz-icon { margin:28px 0 20px; width:44px; height:44px; font-size:20px; border-radius:10px; background:#f6edf0; color:#a02f43; }
#business .biz-card h3 { font-size:26px; letter-spacing:-.03em; line-height:1.5; color:#173550; }
#business .biz-card p { color:#586775; font-size:17px; line-height:1.9; padding-bottom:26px; word-break:keep-all; }

/* Applications are real full-page forms in the existing SPA. */
:is(#recruit,#jobsearch) { background:#f5f7f9; }
:is(#recruit,#jobsearch) .sub-header { margin-bottom:0; padding-bottom:42px; min-height:180px; border:0; background:transparent; }
:is(#recruit,#jobsearch) .form-section { padding-bottom:80px; }
:is(#recruit,#jobsearch) .form-container { max-width:760px; padding:40px 44px; border:1px solid #e0e6ec; border-top:4px solid #173550; border-radius:12px; box-shadow:0 12px 40px #17355008; }
:is(#recruit,#jobsearch) .form-container > p { line-height:1.75; color:#5e6d7a!important; }
:is(#recruit,#jobsearch) .form-group { margin-bottom:25px; min-width:0; }
:is(#recruit,#jobsearch) .form-group label { font-size:15px; color:#243c50; margin-bottom:10px; }
:is(#recruit,#jobsearch) .form-control { box-sizing:border-box; min-width:0; min-height:52px; border:1px solid #ccd5dd; border-radius:7px; background:#fff; font-size:16px; color:#173550; }
:is(#recruit,#jobsearch) .form-control::placeholder { color:#77848f; }
:is(#recruit,#jobsearch) .form-control:focus { border-color:#2570b0; outline:3px solid #2570b01c; }
:is(#recruit,#jobsearch) .phone-input-group { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1.2fr) auto minmax(0,1.2fr); gap:9px; }
:is(#recruit,#jobsearch) .privacy-wrap { align-items:flex-start; line-height:1.7; padding:18px; border-color:#dce3e9; }
:is(#recruit,#jobsearch) .privacy-wrap input { flex:0 0 18px; margin-top:3px; }
:is(#recruit,#jobsearch) .privacy-wrap label { min-width:0; }
:is(#recruit,#jobsearch) .submit-btn { min-height:56px; background:#1968a5; border-radius:8px; }
:is(#recruit,#jobsearch) .submit-btn:hover { background:#124f80; }

/* Customer centre: quiet tabbed information with a compact list. */
#cs .sub-header { background:#173550; }
#cs .sub-header h2 { color:#fff; }
#cs > .container { max-width:1050px!important; }
:is(#cs,#recruit,#jobsearch) .cs-tabs { gap:0; margin-bottom:32px; border-bottom:1px solid #dce3e9; }
:is(#cs,#recruit,#jobsearch) .cs-tab-btn { border:0; border-radius:0; background:#fff; box-shadow:none; padding:20px; color:#697783; font-size:18px; }
:is(#cs,#recruit,#jobsearch) .cs-tab-btn.active { background:#fff; color:#173550; border-bottom:3px solid #173550; box-shadow:none; transform:none; }
:is(#recruit,#jobsearch) .application-tabs{max-width:760px!important;padding:0;display:flex;flex-direction:row;height:auto;align-items:stretch}
.application-tabs a{text-decoration:none}
#cs .notice-table { table-layout:fixed; min-width:0; border-top:0; }
#cs .notice-table th { background:#f5f7f9; color:#546576; font-size:14px; }
#cs .notice-table :is(th,td) { padding:20px 14px; border-bottom-color:#e4e9ed; }
#cs .notice-link-button { line-height:1.6; overflow-wrap:anywhere; }
#cs .contact-info-wrap { border-radius:12px; background:#f6f8fa; box-shadow:none; padding:36px; gap:36px; }
#cs .c-info { min-width:0; }
#cs .c-info p { line-height:1.8; }
#cs .c-info a { max-width:100%; white-space:normal; }
#cs .map-wrapper { border-radius:12px; }
@media(max-width:600px){#cs .notice-table :is(th,td){padding:16px 6px}#cs .notice-table :is(th,td):first-child{width:36px;white-space:nowrap}#cs .notice-table :is(th,td):last-child{width:86px;white-space:nowrap}}

/* Admin: keep authentication/display gates and existing menu logic untouched. */
#admin { font-family:inherit; }
#admin .admin-sidebar { background:#132b41; flex-shrink:0; width:250px; }
#admin .admin-sidebar-header { text-align:left; padding:25px 22px; }
#admin .admin-sidebar-header h2 { color:#fff; font-size:18px; justify-content:flex-start; }
#admin .admin-sidebar-header p { color:#b2c1cf!important; }
#admin .admin-menu-item { font-size:14px; padding:14px 20px; gap:12px; }
#admin .admin-menu-item.active { background:#ffffff12; border-left-color:#d55b6a; }
#admin .admin-submenu-item.active { border-left-color:#d55b6a; background:#ffffff0c; }
#admin .admin-main { min-width:0; background:#f3f5f8; }
#admin .admin-top-header { min-height:76px; height:auto; gap:16px; }
#admin .admin-header-title { font-size:23px; font-weight:750; letter-spacing:-.025em; }
#admin .admin-content-area { padding:30px; min-width:0; }
#admin .admin-stats-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
#admin .admin-stat-card { padding:22px; min-width:0; gap:12px; border-radius:10px; box-shadow:none; }
#admin .admin-stat-info { min-width:0; }
#admin .admin-stat-info p { font-size:32px; }
#admin .admin-stat-icon { width:40px; height:40px; flex:0 0 40px; font-size:20px; }
#admin .admin-data-panel { border-radius:10px; box-shadow:none; max-width:100%; }
#admin .admin-panel-header { gap:16px; flex-wrap:wrap; }
#admin .admin-panel-header h3 { font-size:17px; }
#admin :is(.admin-input,.admin-search-input,textarea,select) { max-width:100%; min-width:0; box-sizing:border-box; font-family:inherit; }
#admin .admin-input { font-size:15px; padding:12px; }
#admin .admin-btn { font-size:14px; background:#173550; }
#admin .admin-btn:hover { filter:brightness(.92); }
#admin .filter-group { min-width:0; flex-wrap:wrap; gap:8px; }
#admin .admin-data-panel > div:has(> table) { overflow-x:auto; max-width:100%; }
#admin .admin-data-panel td.cell-wrap { min-width:170px; overflow-wrap:anywhere; }
#admin .content-settings-grid > *, #admin .floating-settings-grid > * { min-width:0; }
#admin :is(.seo-preview-card,.content-preview-box,.settings-status-row) { overflow-wrap:anywhere; }
#admin .admin-login-overlay { background:#132b41f2; }
#admin .admin-login-box { border-top:4px solid #a92f44; padding:36px; }
#admin .admin-login-box h2 { color:#173550; }
#admin :is(button,input,select,textarea):focus-visible { outline:3px solid #76aee0; outline-offset:2px; }
.modal-box { max-height:calc(100dvh - 32px); }
.modal-overlay .modal-body { overflow-y:auto; overflow-wrap:anywhere; }

@media(max-width:1100px) {
  #admin .admin-stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #admin .admin-sidebar { width:224px; }
  #admin .admin-content-area { padding:22px; }
  #about > .container { column-gap:36px; }
}
@media(max-width:900px) {
  #admin .admin-sidebar { width:100%; max-height:320px; }
  #admin .admin-menu { max-height:235px; }
  #admin .admin-top-header { padding:20px; }
  #business .biz-card { column-gap:30px; }
}
@media(max-width:680px) {
  :is(#about,#business,#cs,#recruit,#jobsearch) .container { width:calc(100% - 32px); }
  :is(#about,#business,#cs,#recruit,#jobsearch) .sub-header { min-height:150px; padding:34px 16px; margin-bottom:32px; }
  #about > .container { display:flex; flex-direction:column; padding-top:0; }
  #about > .container::before { width:100%; min-height:250px; border-radius:4px 28px 4px 4px; }
  #about #about-main-title { margin:28px 0 18px!important; }
  #about #about-body-text { font-size:16px!important; }
  #business .sec-title h2 { font-size:25px; }
  #business .biz-grid { gap:36px; }
  #business .biz-card { display:flex; flex-direction:column; gap:0; min-height:0; }
  #business .biz-card::before { width:100%; min-height:230px; }
  #business .biz-icon { margin:22px 0 14px; }
  #business .biz-card h3 { font-size:23px; }
  #business .biz-card p { font-size:16px; padding-bottom:0; }
  :is(#recruit,#jobsearch) .sub-header { margin-bottom:0; }
  :is(#recruit,#jobsearch) .form-container { padding:26px 20px; }
  :is(#recruit,#jobsearch) .privacy-wrap { padding:13px; font-size:13px; }
  :is(#cs,#recruit,#jobsearch) .cs-tabs { flex-direction:row; }
  :is(#cs,#recruit,#jobsearch) .cs-tab-btn { padding:16px 8px; font-size:14px; border:0!important; border-radius:0; gap:6px; }
  :is(#cs,#recruit,#jobsearch) .cs-tab-btn.active { border-bottom:3px solid #173550!important; }
  #cs .notice-table :is(th,td) { padding:16px 5px; font-size:12px; }
  #cs .notice-table th:first-child { width:10%; }
  #cs .notice-table th.t-title { width:63%; }
  #cs .notice-table th:last-child { width:27%; }
  #cs .contact-info-wrap { padding:22px; gap:24px; }
  #admin .admin-content-area { padding:16px; }
  #admin .admin-stat-card { padding:16px; }
  #admin .admin-stat-info p { font-size:27px; }
  #admin .admin-header-title { font-size:20px; }
  #admin .admin-panel-header { padding:16px; }
  #admin :is(.content-settings-grid,.floating-settings-grid) { grid-template-columns:minmax(0,1fr); }
  #admin .filter-group { align-items:stretch; }
  #admin .filter-group > * { width:100%!important; }
  #admin .admin-login-box { padding:28px 22px; }
  .modal-overlay { padding:12px; }
  .modal-overlay .modal-header { padding:16px; }
  .modal-overlay .modal-body { padding:20px; }
}
/* About: retain editorial composition, increase readability one step. */
#about .sub-header h2{font-size:clamp(34px,3.7vw,50px)}
#about #about-main-title{font-size:clamp(28px,2.6vw,36px)!important;letter-spacing:-.025em}
#about #about-body-text{font-size:19px!important;line-height:2!important}
#about #about-signature{font-size:20px!important}
#about>.container::before{content:'대표님 사진 준비 중';display:flex;align-items:center;justify-content:center;background:#edf1f4;color:#778795;font-size:17px;border:1px solid #e0e6eb;min-height:480px}
.about-process{margin-top:60px;padding:64px 24px 80px;background:#f6f8fc}
.about-process-inner{max-width:1140px;margin:auto}
.process-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;padding-bottom:20px;border-bottom:2px solid #173550;margin-bottom:34px}
.process-kicker{font-size:13px;color:#a2374c;font-weight:750;letter-spacing:.08em;margin-bottom:8px}
.process-heading h2{font-size:30px;line-height:1.4}.process-heading>p{max-width:350px;font-size:16px;line-height:1.8;color:#607080}
.process-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;padding:0;margin:0}
.process-steps li{background:white;border:1px solid #e1e6ec;padding:30px;display:flex;flex-direction:column}
.step-number{font-size:36px;font-weight:800;color:#b7c3d0;line-height:1.2;margin-bottom:24px}
.process-steps h3{font-size:22px;line-height:1.5;margin-bottom:12px}
.process-steps p{font-size:17px;line-height:1.85;color:#586b7b;margin-bottom:25px;word-break:keep-all}
.step-note{margin-top:auto;border-top:1px solid #e8edf1;padding-top:18px;font-size:14px;color:#607080}
@media(max-width:850px){#about #about-body-text{font-size:18px!important}#about>.container::before{min-height:320px}.about-process{padding:42px 24px}.process-heading{display:block}.process-heading h2{font-size:26px}.process-heading>p{margin-top:14px}.process-steps{grid-template-columns:1fr;gap:18px}.process-steps li{padding:26px}}
/* Tighter company introduction spacing. */
#about .sub-header{min-height:160px;padding:36px 24px;margin-bottom:38px}
#about>.container{column-gap:44px;padding-bottom:20px}
#about #about-main-title{margin:12px 0 18px!important}
#about #about-signature{margin-top:12px;padding-top:18px}
#about .about-process{margin-top:32px;padding-top:42px;padding-bottom:48px}
#about .process-heading{margin-bottom:24px;padding-bottom:16px}
@media(max-width:850px){#about .sub-header{min-height:130px;padding:28px 16px;margin-bottom:24px}#about .about-process{margin-top:24px;padding:32px 24px}}
/* Supplied representative portrait, displayed without altering the original. */
#about>.container::before{display:none;content:none}
#about>.container>.representative-photo{grid-column:1;grid-row:1 / 4;width:100%;height:auto;aspect-ratio:1;object-fit:contain;align-self:start;border-radius:6px 32px 6px 6px;display:block}
@media(max-width:850px){#about>.container>.representative-photo{max-width:520px;align-self:center;margin-bottom:12px}}
#about>.container{margin-bottom:0!important;padding-bottom:0}
#about .about-process{margin-top:40px}
@media(max-width:850px){#about .about-process{margin-top:28px}}
/* Compact title band and process cards. */
#about .sub-header{min-height:110px;padding:22px 24px;margin-bottom:28px}
#about .about-process{padding-top:30px;padding-bottom:32px}
#about .process-heading{padding-bottom:12px;margin-bottom:18px}
#about .process-steps li{padding:22px 26px}
#about .step-number{margin-bottom:14px}
#about .process-steps h3{margin-bottom:8px}
#about .process-steps p{margin-bottom:16px;line-height:1.75}
#about .step-note{padding-top:12px}
@media(max-width:850px){#about .sub-header{min-height:96px;padding:18px 16px;margin-bottom:22px}#about .process-steps li{padding:20px 22px}}
/* Shared title band for all public subpages. */
:is(#about,#business,#cs,#recruit,#jobsearch) .sub-header{height:auto;min-height:110px;padding:22px 24px;margin-bottom:28px;background:#f1f4f6;border-bottom:1px solid #e3e8ec}
:is(#about,#business,#cs,#recruit,#jobsearch) .sub-header h2{font-size:clamp(34px,3.7vw,50px);line-height:1.3;color:#173550;letter-spacing:-.045em;margin:0}
/* Explicit photo/copy columns avoid implicit grid rows clipping content. */
#business .business-section{padding-bottom:44px}
#business .sec-title{margin-bottom:28px}
#business .sec-title h2{font-size:34px;margin-bottom:10px}
#business .sec-title p{font-size:19px}
#business .biz-grid{gap:32px}
#business .biz-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto;gap:36px;min-height:0;overflow:visible;align-items:center;padding:0 0 32px;border-bottom:1px solid #e2e8ee}
#business .biz-card::before{display:none;content:none}
#business .biz-card>.biz-photo{grid-column:1;grid-row:1;display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:10px}
#business .biz-card>.biz-copy{grid-column:2;grid-row:1;min-width:0;padding:12px 0}
#business .biz-card:nth-child(2)>.biz-photo{grid-column:2}
#business .biz-card:nth-child(2)>.biz-copy{grid-column:1}
#business .biz-icon{display:flex;align-items:center;justify-content:center;margin:0 0 16px;flex-shrink:0}
#business .biz-card h3{font-size:28px;line-height:1.5;margin:0 0 14px;word-break:keep-all;overflow-wrap:break-word}
#business .biz-card p{font-size:19px;line-height:1.85;margin:0;padding:0;word-break:keep-all;overflow-wrap:break-word}
@media(max-width:850px){:is(#about,#business,#cs,#recruit,#jobsearch) .sub-header{min-height:96px;padding:18px 16px;margin-bottom:22px}:is(#about,#business,#cs,#recruit,#jobsearch) .sub-header h2{font-size:34px}#business .biz-card{gap:24px}#business .biz-card h3{font-size:25px}#business .biz-card p{font-size:18px}}
@media(max-width:680px){#business .biz-card{display:flex;flex-direction:column;align-items:stretch;gap:20px;padding-bottom:26px}#business .biz-card>.biz-copy{padding:0}#business .sec-title h2{font-size:28px}}
#business .biz-icon{color:#173550;background:#edf2f6;border-radius:8px}
/* Distinguish the business overview from individual services. */
#business .sec-title{text-align:center;padding:12px 0 24px;margin-bottom:30px;border-bottom:1px solid #ccd7e1}
#business .sec-title h2{font-size:36px;margin-bottom:12px}
#business .sec-title p{max-width:760px;margin:0 auto;line-height:1.75}
#business .biz-card>.biz-photo{aspect-ratio:4/3;object-fit:contain}
@media(max-width:680px){#business .sec-title{padding-top:4px;padding-bottom:20px;margin-bottom:24px}#business .sec-title h2{font-size:28px}}
/* Heading-width accents above a light full-width rule. */
#about .process-heading{border-bottom:1px solid #ccd7e1;padding-bottom:0}
#about .process-heading h2{display:table;position:relative;padding-bottom:12px;margin-bottom:0;max-width:100%}
#about .process-heading h2::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#173550}
#business .sec-title{padding-top:4px;padding-bottom:0;margin-bottom:24px}
#business .sec-title h2{display:table;position:relative;margin:0 auto;padding-bottom:16px;max-width:100%}
#business .sec-title h2::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#173550}
#about .process-steps li{padding-top:16px}
#about .step-number{color:#2374b5;line-height:1.1;margin-top:0;margin-bottom:8px}
:is(#recruit,#jobsearch) .form-group label{font-size:16px;font-weight:650}
:is(#recruit,#jobsearch) .form-control{color:#173550;line-height:1.5;padding:14px 16px;font-family:inherit}
:is(#recruit,#jobsearch) .form-control::placeholder{color:#75808c;opacity:1;font-weight:400}
:is(#recruit,#jobsearch) .phone-input-group .form-control{text-align:center;padding:14px 8px}
:is(#recruit,#jobsearch) .submit-btn{font-family:inherit;font-size:18px;font-weight:700}

.consultation-fields{border-top:1px solid #dce3e9;margin-top:24px;padding-top:20px}.consultation-fields h4{font-size:20px;color:#173550;margin-bottom:16px}.consultation-fields label{display:block;margin:16px 0 8px;font-weight:650}.consultation-fields textarea{resize:vertical;min-height:110px}.consultation-fields p{font-size:13px;color:#64748b;margin-top:10px}#edit-modal .modal-box{max-height:90vh;overflow-y:auto}

