@charset "utf-8";
.root_daum_roughmap .wrap_map, .root_daum_roughmap, .direction-map iframe {width: 100% !important; height: 100% !important;}

/* ========== 회사소개 · 인사말 ========== */
.page-about-greetings .ag-banner {position:relative; display:flex; align-items:center; justify-content:center; height:clamp(200px, calc(720 / var(--inner) * 100vw), 720px); margin-bottom:clamp(60px, calc(120 / var(--inner) * 100vw), 120px); background:url("/images/sub/ag-banner.jpg") center / cover no-repeat; overflow:hidden; text-align:center;}
.page-about-greetings .ag-banner-tit {position:relative; z-index:1; color:#fff; font-size:var(--font-size-40); font-weight:700; line-height:1.6em;}
.page-about-greetings .ag-grid {display:flex; gap:clamp(35px, calc(70 / var(--inner) * 100vw), 88px);}
.page-about-greetings .ag-photo {overflow:hidden; max-width: 640px; width: 45%;}
.page-about-greetings .ag-txt {flex:1; display:flex; flex-direction:column; justify-content: center; gap:var(--space-40);}
.page-about-greetings .ag-lead {color:#242424; font-size:var(--font-size-30); font-weight:700; line-height:1.5333em;}
.page-about-greetings .ag-desc {display:flex; flex-direction:column; gap:var(--space-24); color:#454545; font-size:var(--font-size-18); line-height:1.7778em;}
.page-about-greetings .ag-sign {display:flex; align-items:flex-start; gap:16px; margin-top: var(--space-20);}
.page-about-greetings .ag-sign-label {color:#242424; font-size:var(--font-size-18); font-weight:600; line-height:1.7778em;}

/* ========== 회사소개 · 회사연혁 ========== */
.page-about-history .ah-intro {position:relative; display:flex; flex-direction:column; justify-content:center; gap:var(--space-24); height:clamp(240px, calc(360 / var(--inner) * 100vw), 360px); margin-bottom:clamp(60px, calc(120 / var(--inner) * 100vw), 120px); padding:0 clamp(24px, calc(80 / var(--inner) * 100vw), 80px); overflow:hidden;}
.page-about-history .ah-intro:before {content:""; position:absolute; inset:0; background:url("/images/sub/ah-hero.jpg") center bottom / cover no-repeat;}
.page-about-history .ah-intro:after {content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.8) 0%, rgba(0,0,0,.08) 100%), linear-gradient(90deg, rgba(53,76,119,.2), rgba(53,76,119,.2));}
.page-about-history .ah-intro-eyebrow,
.page-about-history .ah-intro-tit {position:relative; z-index:1;}
.page-about-history .ah-intro-eyebrow {color:rgba(255,255,255,.5); font-size:var(--font-size-18); font-weight:700; line-height:1.5556em; letter-spacing:.4em;}
.page-about-history .ah-intro-tit {color:#fff; font-size:var(--font-size-32); font-weight:700; line-height:1.5em;}
.page-about-history .ah-timeline {display:flex; flex-direction:column; gap: var(--space-100);}
.page-about-history .ah-era {display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-40);}
.page-about-history .ah-era-tit {position:sticky; top:calc(var(--header-height) + 40px); max-width: 464px; flex: 1; margin:0; color:#bdbdbd; font-size:var(--font-size-48); font-weight:700; line-height:1.2083em; transition:color .35s ease; font-family: 'Sora';}
.page-about-history .ah-era.is-active .ah-era-tit {color:#242424;}
.page-about-history .ah-list {max-width:830px; width:70%;}
.page-about-history .ah-item {display:flex; gap:clamp(24px, calc(60 / var(--inner) * 100vw), 60px); padding:var(--space-40) var(--space-30); border-bottom:1px solid #ddd; background:#fff;}
.page-about-history .ah-item:first-child {border-top:1px solid #ddd;}
.page-about-history .ah-year {flex:0 0 100px; color:#111; font-size:var(--font-size-32); font-weight:600; line-height:1.1875em; transition:color .35s ease;}
.page-about-history .ah-events {display:flex; flex:1; flex-direction:column; gap:12px; margin:0; padding:0; list-style:none;}
.page-about-history .ah-events li {position:relative; padding-left:16px; color:#454545; font-size:var(--font-size-18); font-weight:400; line-height:1.3333em; transition:color .35s ease, font-weight .35s ease;}
.page-about-history .ah-events li:before {content:"•"; position:absolute; left: 0; top: 0;color: #999;}
.page-about-history .ah-item.is-active .ah-year {color:var(--color-primary);}
.page-about-history .ah-item.is-active .ah-events li {color:#242424; font-weight:600;}

/* ========== 회사소개 · 회사등록증 ========== */
.page-about-certificate .ac-grid {display:grid; grid-template-columns:repeat(5, 1fr); gap:var(--space-40);}
.page-about-certificate .ac-item {position: relative; display:block; aspect-ratio:256 / 320; overflow:hidden;}
.page-about-certificate .ac-item:after {content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; border: 1px solid #DDD;}

/* ========== 회사소개 · 협력사 ========== */
.page-about-partners .ap-intro {margin-bottom:var(--space-64); text-align:center;}
.page-about-partners .ap-eyebrow {margin-bottom:var(--space-24); color:var(--color-primary); font-size:var(--font-size-16); font-weight:600; line-height:1.5em;}
.page-about-partners .ap-tit {margin-bottom:var(--space-24); color:#242424; font-size:var(--font-size-40); font-weight:700; line-height:1.4em;}
.page-about-partners .ap-desc {color:#454545; font-size:var(--font-size-18); font-weight:500; line-height:1.6667em;}
.page-about-partners .ap-hub-wrap .contain {display:flex; flex-direction:column; align-items:center; margin-bottom:0;}
.page-about-partners .ap-hub {position:relative; display:flex; align-items:center; justify-content:center; width:clamp(200px, calc(300 / var(--inner) * 100vw), 300px); height:clamp(200px, calc(300 / var(--inner) * 100vw), 300px); border:clamp(16px, calc(32 / var(--inner) * 100vw), 32px) solid var(--color-primary); border-radius:50%; background:#fff;}
.page-about-partners .ap-hub-deco {position:absolute; inset:18%; z-index:0; opacity:.9; pointer-events:none;}
.page-about-partners .ap-hub-deco img {width:100%; height:100%; object-fit:contain;}
.page-about-partners .ap-hub-txt {position:relative; z-index:1; color:#242424; font-size:var(--font-size-24); font-weight:700; line-height:1.4167em; letter-spacing:-.03em; text-align:center;}
.page-about-partners .ap-hub-line {position:relative; display:block; width:1px; height:104px; margin:var(--space-24) 0 0; background:#a8a8a8;}
.page-about-partners .ap-hub-line:before {content:""; position:absolute; top:0; left:0; width:1px; height:53px; background:linear-gradient(180deg, var(--color-primary) 0%, #070101 100%);}
.page-about-partners .ap-list-wrap {padding:var(--space-80) 0; background:#f9f9fb;}
.page-about-partners .ap-grid {display:grid; grid-template-columns:repeat(6, 1fr); gap:var(--space-24);}
.page-about-partners .ap-card {display:flex; flex-direction:column; background:#fff;}
.page-about-partners .ap-logo {display:flex; align-items:center; justify-content:center; padding:var(--space-30);}
.page-about-partners .ap-info {display:flex; flex-direction:column; align-items:center; padding:var(--space-20); text-align:center;}
.page-about-partners .ap-role {color:#999; font-size:var(--font-size-15); font-weight:400; line-height:1.5333em;}
.page-about-partners .ap-name {color:#242424; font-size:var(--font-size-18); font-weight:600; line-height:1.6667em;}

/* solution — 공통 */
.page-solution .sol-section {padding:var(--space-120) 0;}
.page-solution .sol-section.is-muted {background:#f9f9fb;}
.page-solution .sol-section.sn-workflow,
.page-solution .sol-section.sa-tier,
.page-solution .sol-section.ss-arch {padding-top:0; padding-bottom:var(--space-120);}
.page-solution .sol-head {display:flex; flex-direction:column; gap:var(--space-24); margin-bottom:var(--space-64);}
.page-solution .sol-eyebrow {color:var(--color-primary); font-size:var(--font-size-16); font-weight:600; line-height:1.5em;}
.page-solution .sol-tit {color:#242424; font-size:var(--font-size-40); font-weight:700; line-height:1.4em;}
.page-solution .sol-desc {max-width:1120px; color:#454545; font-size:var(--font-size-18); font-weight:500; line-height:1.6667em;}
.page-solution .sol-diagram {position:relative; display:flex; align-items:center; justify-content:center; height:clamp(320px, calc(600 / var(--inner) * 100vw), 600px); margin-bottom:var(--space-64); background:#f9f9fb;}
.page-solution .ss-arch .sol-diagram {margin-bottom:0;}
.page-solution .sol-diagram-empty {width:64px; height:64px;}
.page-solution .sol-product-grid {display:grid; gap:var(--space-24);}
.page-solution .sol-product-grid.cols-3 {grid-template-columns:repeat(3, 1fr);}
.page-solution .sol-product-grid.cols-4 {grid-template-columns:repeat(4, 1fr);}
.page-solution .sol-product-card {display:flex; flex-direction:column; background:#fff;}
.page-solution .sol-product-visual {display:flex; align-items:center; justify-content:center; aspect-ratio: 464/300; background:#fff;}
.page-solution .sol-product-visual img {max-width:100%; max-height:100%; object-fit:contain;}
.page-solution-storage .sol-product-visual {overflow:hidden; border:0; background:#ddd; aspect-ratio: 342 / 300}
.page-solution .sol-product-empty {width:64px; height:64px; object-fit:contain !important;}
.page-solution .sol-product-body {display:flex; flex-direction:column; gap:var(--space-40); padding:var(--space-40); }
.page-solution-storage .sol-product-body {border:0; background: #F9F9FB;}
.page-solution .sol-product-head {display:flex; flex-direction:column; gap:var(--space-16);}
.page-solution .sol-product-name {color:#242424; font-size:var(--font-size-28); font-weight:600; line-height:1.3571em;}
.page-solution .sol-product-sub {color:#454545; font-size:var(--font-size-18); font-weight:600; line-height:1.5556em;}
.page-solution-storage .sol-product-sub {font-weight:600;}
.page-solution .sol-spec-list {display:flex; flex-direction:column; margin:0;}
.page-solution-storage .sol-spec-list {gap:12px;}
.page-solution .sol-spec-row {display:flex; align-items:center; justify-content:space-between; gap:var(--space-16); padding:12px 0; border-bottom:1px dashed #ddd;}
.page-solution .sol-spec-row:first-child {padding-top:0;}
.page-solution .sol-spec-row:last-child {padding-bottom:0; border-bottom:0;}
.page-solution-storage .sol-spec-row {padding-top:0; padding-bottom:12px;}
.page-solution-storage .sol-spec-row:last-child {padding-bottom:0;}
.page-solution .sol-spec-row dt {color:#999; font-size:var(--font-size-16); font-weight:400; line-height:1.625em;}
.page-solution .sol-spec-row dd {color:#242424; font-size:var(--font-size-16); font-weight:700; line-height:1.625em; text-align:right;}
.page-solution-storage .sol-spec-row dd {font-weight:700;}
.page-solution .sol-logo-grid {display:grid; gap:var(--space-24);}
.page-solution .sol-logo-grid.cols-4 {grid-template-columns:repeat(4, 1fr);}
.page-solution .sol-logo-card {display:flex; flex-direction:column; background:#fff;}
.page-solution .sol-logo-visual {position:relative; display:flex; align-items:center; justify-content:center; aspect-ratio: 342 / 300; padding: 25px; overflow: hidden; border:1px solid #ddd; background:#fff;}
.page-solution .sol-logo-card.is-empty .sol-logo-visual {background:#f9f9fb;}
.page-solution .sol-logo-empty {width:40px; height:40px;}
.page-solution .sol-logo-badge {position:absolute; top:16px; left:16px; z-index:1; display:inline-flex; align-items:center; gap:6px; padding:6px 16px; border-radius:100px; background:#999; color:#fff; font-size:var(--font-size-16); font-weight:500; line-height:1.625em;}
.page-solution .sol-logo-flag {width:18px; height:12px; object-fit:cover; flex:0 0 auto;}
.page-solution .sol-logo-info {flex: 1; display:flex; flex-direction:column; align-items:center; gap:var(--space-16); padding:var(--space-40); border:1px solid #ddd; border-top:0; text-align:center;}
.page-solution-nps .sn-partners .sol-logo-info {padding:var(--space-40) var(--space-20); flex: 1;}
.page-solution .sol-logo-name {color:#242424; font-size:var(--font-size-28); font-weight:600; line-height:1.3571em;}
.page-solution-nps .sn-partners .sol-logo-name {font-size:var(--font-size-20); line-height:1.5em;}
.page-solution .sol-logo-sub {color:#454545; font-size:var(--font-size-18); font-weight:400; line-height:1.5556em;}
.page-solution-nps .sn-partners .sol-logo-sub {color:#999; font-weight:600;}
.page-solution .sol-cta {position:relative; display:flex; align-items:center; justify-content:center; min-height:clamp(280px, calc(438 / var(--inner) * 100vw), 438px); padding:clamp(60px, calc(120 / var(--inner) * 100vw), 120px) var(--container-space);  background:url("/images/sub/nps-cta.jpg") center / cover no-repeat; overflow:hidden; text-align:center;}
.page-solution-archive .sol-cta {min-height:clamp(320px, calc(514 / var(--inner) * 100vw), 514px);}
.page-solution-nps .sol-cta:before {background-position:center bottom;}
.page-solution-archive .sol-cta:after {background:rgba(0,0,0,.35);}
.page-solution-storage .sol-cta:after {background:rgba(0,0,0,.3);}
.page-solution .sol-cta-inner {position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:var(--space-40); max-width:896px;}
.page-solution .sol-cta-txt {display:flex; flex-direction:column; gap:var(--space-24);}
.page-solution .sol-cta-tit {color:#fff; font-size:var(--font-size-32); font-weight:700; line-height:1.5em;}
.page-solution .sol-cta-desc {color:#fff; font-size:var(--font-size-16); font-weight:400; line-height:1.75em;}
.page-solution .sol-cta-btns {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px;}
.page-solution .sol-cta-btn {display:inline-flex; align-items:center; justify-content:center; padding:16px 40px; border-radius:8px; background:#111; color:#fff; font-size:var(--font-size-16); font-weight:400; line-height:1.625em;}
.page-solution-archive .sol-cta-btn {min-width:167px;}
.page-solution .sol-cta-btn.is-light {background:transparent; color:#fff; border: 1px solid #fff;}

/* solution — flow card 공통 (NPS / Archive) */
.page-solution .sn-flow-card {display:flex; flex-direction:column; gap:var(--space-40); padding:clamp(30px, calc(56 / var(--inner) * 100vw), 56px) var(--space-24); background:#f9f9fb; border:1px solid rgba(36,36,36,.5);}
.page-solution .sn-flow-card.tone-blue,
.page-solution .ss-guide-card.tone-blue {border-color:rgba(13,114,245,.5);}
.page-solution .sn-flow-card.tone-dark,
.page-solution .ss-guide-card.tone-dark {border-color:rgba(36,36,36,.5);}
.page-solution .sn-flow-card.tone-purple,
.page-solution .ss-guide-card.tone-purple {border-color:rgba(88,55,237,.5);}
.page-solution .sn-flow-card.tone-red,
.page-solution .ss-guide-card.tone-red {border-color:rgba(237,55,62,.5);}
.page-solution .sn-flow-tit {color:#242424; font-size:var(--font-size-28); font-weight:600; line-height:1.3571em;}
.page-solution .sn-flow-list {display:flex; flex-direction:column; gap:12px; margin:0; padding:0; list-style:none;}
.page-solution .sn-flow-list li {position:relative; padding-left:20px; color:#454545; font-size:var(--font-size-16); font-weight:400; line-height:1.625em;}
.page-solution .sn-flow-list li:before {content:"•"; position:absolute; top:0; left:0; color:#111;}

/* solution — NPS 고유 */
.page-solution-nps .sn-flow-grid {display:grid; grid-template-columns:repeat(5, 1fr); gap:var(--space-24);}

/* solution — Archive 고유 */
.page-solution-archive .sa-tier-grid {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-24); margin-bottom:var(--space-24);}
.page-solution-archive .sa-tier-grid .sn-flow-card {gap:clamp(25px, calc(56 / var(--inner) * 100vw), 56px); padding-left:var(--space-40); padding-right:var(--space-40);}
.page-solution-archive .sa-tier-grid .sn-flow-body {display:flex; flex-direction:column; gap:var(--space-40); width:100%;}
.page-solution-archive .sa-tier-label {display:inline-flex; align-items:center; justify-content:center; align-self:flex-start; min-height:35px; padding:6px 18px; border-radius:100px; font-family:Sora, Pretendard, sans-serif; font-size:var(--font-size-15); font-weight:400; line-height:1.5333em;}
.page-solution-archive .sn-flow-card.tone-red .sa-tier-label {background:rgba(237,55,62,.1); color:#ed373e;}
.page-solution-archive .sn-flow-card.tone-blue .sa-tier-label {background:rgba(13,114,245,.1); color:#0d72f5;}
.page-solution-archive .sn-flow-card.tone-dark .sa-tier-label {background:rgba(36,36,36,.1); color:#242424;}
.page-solution-archive .sa-feature-grid {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-24);}
.page-solution-archive .sa-feature-card {display:flex; flex-direction:column; gap:var(--space-40); padding:clamp(40px, calc(56 / var(--inner) * 100vw), 56px) var(--space-40); background: #F9F9FB;}
.page-solution-archive .sa-feature-tit {color:#242424; font-size:var(--font-size-28); font-weight:600; line-height:1.3571em;}
.page-solution-archive .sa-feature-desc {color:#454545; font-size:var(--font-size-16); font-weight:400; line-height:1.625em;}
.page-solution-archive .sa-tape-grid {display:grid; grid-template-columns:repeat(5, 1fr); gap:var(--space-24);}
.page-solution-archive .sa-tape-card {display:flex; flex-direction:column; border:1px solid #ddd; background:#fff; box-shadow: 0 8px 10px 0 rgba(0, 0, 0, 0.08);}
.page-solution-archive .sa-tape-head {display:flex; flex-direction:column; align-items:center; gap:4px; padding:var(--space-24) var(--space-16); text-align:center; background:#111; color: #fff;}
.page-solution-archive .sa-tape-card:nth-child(even) .sa-tape-head {background: var(--color-primary);}
.page-solution-archive .sa-tape-name {font-size:var(--font-size-20); font-weight:600; line-height:1.5em;}
.page-solution-archive .sa-tape-sub {font-size:var(--font-size-16); font-weight:400; line-height:1.625em;}
.page-solution-archive .sa-tape-body {flex: 1; display:flex; flex-direction:column; gap:var(--space-24); padding:var(--space-24) var(--space-16);}
.page-solution-archive .sa-tape-line {display:block; width:100%; height:0; margin:0; border:0; border-top:1px solid #ddd;}
.page-solution-archive .sa-tape-row {display:flex; flex-direction:column; gap:8px;}
.page-solution-archive .sa-tape-row:first-child {flex: 1;}
.page-solution-archive .sa-tape-row strong {color:#242424; font-size:var(--font-size-16); font-weight:700; line-height:1.625em;}
.page-solution-archive .sa-tape-row span {color:#999; font-size:var(--font-size-16); font-weight:400; line-height:1.625em;}
.page-solution-archive .sa-p5-intro {display:flex; gap:clamp(24px, calc(48 / var(--inner) * 100vw), 48px); align-items:flex-start; margin-bottom:var(--space-64); padding:clamp(40px, calc(56 / var(--inner) * 100vw), 56px); background:#fff;}
.page-solution-archive .sa-p5-logo {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; flex:0 0 140px; width:140px; height:140px; border-radius:24px; background:#0d72f5; color:#fff;}
.page-solution-archive .sa-p5-mark {font-family:Sora, Pretendard, sans-serif; font-size:30px; font-weight:600; line-height:40px;}
.page-solution-archive .sa-p5-brand {font-family:Sora, Pretendard, sans-serif; font-size:var(--font-size-16); font-weight:400; line-height:1.625em;}
.page-solution-archive .sa-p5-txt {display:flex; flex:1; flex-direction:column; gap:var(--space-32); min-width:0;}
.page-solution-archive .sa-p5-head {display:flex; flex-direction:column; gap:var(--space-16);}
.page-solution-archive .sa-p5-name {color:#242424; font-size:var(--font-size-28); font-weight:600; line-height:1.3571em;}
.page-solution-archive .sa-p5-sub {color:#999; font-size:var(--font-size-18); font-weight:600; line-height:1.5556em;}
.page-solution-archive .sa-p5-desc {color:#454545; font-size:var(--font-size-16); font-weight:400; line-height:1.625em;}
.page-solution-archive .sa-module-grid {display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--space-24);}
.page-solution-archive .sa-module-card {display:flex; flex-direction:column; background:#fff;}
.page-solution-archive .sa-module-top {display:flex; flex-direction:column; align-items:center; gap:var(--space-32); padding:var(--space-24); text-align:center; background:#ececf0;}
.page-solution-archive .sa-module-info {display:flex; flex-direction:column; align-items:center; gap:var(--space-16); width:100%;}
.page-solution-archive .sa-module-no {color:var(--color-primary); font-family:Sora, Pretendard, sans-serif; font-size:var(--font-size-15); font-weight:400; line-height:1.5333em;}
.page-solution-archive .sa-module-name {color:#242424; font-size:var(--font-size-28); font-weight:600; line-height:1.3571em;}
.page-solution-archive .sa-module-en {color:#999; font-size:var(--font-size-16); font-weight:400; line-height:1.625em;}
.page-solution-archive .sa-module-list {display:flex; flex-direction:column; gap:12px; margin:0; padding:var(--space-24); list-style:none; background:#fff;}
.page-solution-archive .sa-module-list li {position:relative; padding:0 0 12px 28px; border-bottom:1px solid #ddd; color:#999; font-size:var(--font-size-16); font-weight:400; line-height:1.625em;}
.page-solution-archive .sa-module-list li:last-child {padding-bottom:0; border-bottom:0;}
.page-solution-archive .sa-module-list li:before {content:""; position:absolute; top:0; left:0; width:20px; height:1.625em; background:url("/images/sub/sa-check.svg") center / contain no-repeat;}

/* solution — Storage 고유 */
.page-solution-storage .ss-guide-specs {display:flex; flex-direction:column; gap:12px; margin:0;}
.page-solution-storage .ss-guide-grid {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-24);}
.page-solution-storage .ss-guide-card {display:flex; flex-direction:column; gap:var(--space-40); padding:var(--space-40); border:1px solid #ddd; background:#fff;}
.page-solution-storage .ss-guide-head {display:flex; flex-direction:column; gap:var(--space-16);}
.page-solution-storage .ss-guide-scale {color:#999; font-size:var(--font-size-15); line-height:1.5333em;}
.page-solution-storage .ss-guide-tit {color:#242424; font-size:var(--font-size-28); font-weight:700; line-height:1.3571em;}
.page-solution-storage .ss-guide-target {color:#454545; font-size:var(--font-size-18); font-weight:600; line-height:1.5556em;}
.page-solution-storage .ss-guide-reco {display:flex; flex-direction:column; gap:8px; padding:12px; background:#f9f9fb;}
.page-solution-storage .ss-guide-reco-label {color:var(--dark-color); font-size:var(--font-size-15); font-weight:600; line-height:1.5333em;}
.page-solution-storage .ss-guide-reco-name {font-size:var(--font-size-15); font-weight:400; line-height:1.5333em;}

/* maintenance — 유지보수 */
.page-maintenance-maintenance .mm-head {display:flex; flex-direction:column; gap:var(--space-24); margin-bottom:clamp(48px, calc(80 / var(--inner) * 100vw), 80px);}
.page-maintenance-maintenance .mm-tit {color:#242424; font-size:clamp(28px, calc(36 / var(--inner) * 100vw), 36px); font-weight:700; line-height:1.3889em;}
.page-maintenance-maintenance .mm-desc {max-width:1120px; color:#454545; font-size:var(--font-size-18); font-weight:500; line-height:1.6667em;}
.page-maintenance-maintenance .mm-intro {padding-bottom:clamp(48px, calc(80 / var(--inner) * 100vw), 80px);}
.page-maintenance-maintenance .mm-level {display:flex; flex-direction:column; align-items:center; gap:var(--space-40);}
.page-maintenance-maintenance .mm-level-badge {display:inline-flex; align-items:center; justify-content:center; padding:8px 16px; border-radius:100px; background:var(--color-primary); color:#fff; font-size:var(--font-size-18); font-weight:600; line-height:1.5556em;}
.page-maintenance-maintenance .mm-level-grid {display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(40px, calc(150 / var(--inner) * 100vw), 150px); width:100%;}
.page-maintenance-maintenance .mm-level-item {position:relative; display:flex; flex-direction:column; align-items:center; text-align:center;}
.page-maintenance-maintenance .mm-level-item:not(:last-child):after {content:""; position:absolute; top:200px; left:calc(100% + 5px); width:clamp(40px, calc(140 / var(--inner) * 100vw), 140px); height:1px; background:url("/images/sub/mm-line.svg") center / contain no-repeat; transform:translateY(-50%);}
.page-maintenance-maintenance .mm-level-circle {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--space-24); width:clamp(240px, calc(310 / var(--inner) * 100vw), 310px); height:clamp(240px, calc(310 / var(--inner) * 100vw), 310px); margin-bottom:var(--space-40); border-radius:50%; border: clamp(10px, calc(35 / var(--inner) * 100vw), 35px) solid #FFEFF0; box-shadow: 2px 2px 8px rgba(237, 55, 62, 0.12);}
.page-maintenance-maintenance .mm-level-en {color:#242424; font-size:var(--font-size-20); font-weight:700; line-height:1.5em; font-family: 'Soda'}
.page-maintenance-maintenance .mm-level-txt {color:#454545; font-size:var(--font-size-18); font-weight:500; line-height:1.5556em;}
.page-maintenance-maintenance .mm-feat-grid {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-24); margin-bottom:var(--space-64);}
.page-maintenance-maintenance .mm-feat-card {display:flex; flex-direction:column; gap:clamp(20px, calc(56 / var(--inner) * 100vw), 56px); padding:clamp(40px, calc(56 / var(--inner) * 100vw), 56px) var(--space-40); background:#f9f9fb;}
.page-maintenance-maintenance .mm-feat-tit {color:#242424; font-size:var(--font-size-28); font-weight:700; line-height:1.3571em;}
.page-maintenance-maintenance .mm-feat-list {display:flex; flex-direction:column; gap:12px; margin:0; padding:0; list-style:none;}
.page-maintenance-maintenance .mm-feat-list li {position:relative; padding-left:21px; color:#454545; font-size:var(--font-size-16); font-weight:400; line-height:1.625em;}
.page-maintenance-maintenance .mm-feat-list li:before {content:"•"; position:absolute; top:0; left:0;color:#111;}
.page-maintenance-maintenance .mm-flow {display:flex; flex-direction:column; align-items:center; gap:var(--space-64);}
.page-maintenance-maintenance .mm-flow-arrow {display:flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:50%; background:var(--color-primary);}
.page-maintenance-maintenance .mm-formula {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:var(--space-32); padding:0 clamp(16px, calc(40 / var(--inner) * 100vw), 40px); border-radius:400px; background:linear-gradient(-90deg, rgba(237,55,62,0) 0%, rgba(237,55,62,.08) 100%);}
.page-maintenance-maintenance .mm-bubble {display:flex; align-items:center; justify-content:center; width:clamp(140px, calc(200 / var(--inner) * 100vw), 200px); height:clamp(140px, calc(200 / var(--inner) * 100vw), 200px); border-radius:50%; background:#fff; box-shadow:2px 2px 20px rgba(237,55,62,.12); color:#242424; font-size:var(--font-size-20); font-weight:600; line-height:1.5em; text-align:center;}
.page-maintenance-maintenance .mm-bubble.is-primary {background:var(--color-primary); box-shadow:none; color:#fff;}
.page-maintenance-maintenance .mm-bubble.is-gradient {background:linear-gradient(147deg, var(--color-primary) 16%, #161111 103%); box-shadow:none; color:#fff;}
.page-maintenance-maintenance .mm-op {position:relative; flex:0 0 22px; width:22px; height:22px;}
.page-maintenance-maintenance .mm-op.is-eq:before,
.page-maintenance-maintenance .mm-op.is-eq:after {content:""; position:absolute; left:50%; width:20px; height:2px; border-radius:100px; background:var(--color-primary); transform:translateX(-50%);}
.page-maintenance-maintenance .mm-op.is-eq:before {top:calc(50% - 4px);}
.page-maintenance-maintenance .mm-op.is-eq:after {top:calc(50% + 3px);}
.page-maintenance-maintenance .mm-op.is-plus:before,
.page-maintenance-maintenance .mm-op.is-plus:after {content:""; position:absolute; left:50%; top:50%; background:var(--color-primary); border-radius:100px; transform:translate(-50%, -50%);}
.page-maintenance-maintenance .mm-op.is-plus:before {width:20px; height:2px;}
.page-maintenance-maintenance .mm-op.is-plus:after {width:2px; height:20px;}

/* maintenance — 점검안내 */
.page-maintenance-guide {display:flex; flex-direction:column; gap:var(--space-120);}
.page-maintenance-guide .mg-head {display:flex; flex-direction:column; gap:var(--space-24); margin-bottom:clamp(40px, calc(80 / var(--inner) * 100vw), 80px);}
.page-maintenance-guide .mg-tit {color:#242424; font-size:clamp(28px, calc(40 / var(--inner) * 100vw), 40px); font-weight:700; line-height:1.25em;}
.page-maintenance-guide .mg-desc {max-width:1120px; color:#454545; font-size:var(--font-size-18); font-weight:400; line-height:1.6667em;}
.mg-table-wrap {overflow-x: auto;}

.page-maintenance-guide .mg-cell-icon {display: block; margin: 0 auto var(--space-24);}
.page-maintenance-guide .mg-cell-txt {display:block; color:#606060; font-size:var(--font-size-15); font-weight:400; line-height:1.5333em; letter-spacing:-.03em;}
.page-maintenance-guide .mg-cell-list {display:flex; flex-direction:column; gap:6px; margin:0; padding:0; list-style:none; text-align:left;}
.page-maintenance-guide .mg-cell-list li {position:relative; padding-left:12px; color:#454545; font-size:var(--font-size-15); font-weight:400; line-height:1.5333em; letter-spacing:-.03em;}
.page-maintenance-guide .mg-cell-list li:before {content:""; position:absolute; top:.7em; left:0; width:4px; height:4px; border-radius:100px; background:var(--color-primary);}
.page-maintenance-guide .mg-steps {position:relative; display:grid; grid-template-columns:repeat(5, 1fr); gap:var(--space-40); margin:0; padding:0; list-style:none;}
.page-maintenance-guide .mg-steps:before {content:""; position:absolute; top:14px; left:0; right:0; height:1px; background:#ddd;}
.page-maintenance-guide .mg-step {position:relative; display:flex; flex-direction:column; gap:var(--space-24); align-items:flex-start;}
.page-maintenance-guide .mg-step-dot {position:relative; z-index:1; display:flex; align-items:center; justify-content:center; width:28px; height:28px; margin-bottom: var(--space-30); border-radius:200px; background:var(--color-primary);}
.page-maintenance-guide .mg-step-label {color:var(--color-primary); font-size:var(--font-size-16); font-weight:600; line-height:1.625em;}
.page-maintenance-guide .mg-step-name {color:#242424; font-size:var(--font-size-24); font-weight:700; line-height:1.4167em;}
.page-maintenance-guide .mg-step-desc {margin:0; color:#454545; font-size:var(--font-size-16); font-weight:400; line-height:1.625em;}

/* studio — 편집실 소개 */
.page-studio-intro {display:flex; flex-direction:column; gap:var(--space-120);}
.page-studio-intro .si-about {display:flex; align-items:center; gap:clamp(40px, calc(88 / var(--inner) * 100vw), 88px);}
.page-studio-intro .si-about-visual {flex:0 0 clamp(280px, calc(720 / var(--inner) * 100vw), 720px); width:clamp(280px, calc(720 / var(--inner) * 100vw), 720px); height:clamp(420px, calc(880 / var(--inner) * 100vw), 880px); overflow:hidden; border-radius:0 0 80px 0;}
.page-studio-intro .si-about-visual img {width:100%; height:100%; object-fit:cover;}
.page-studio-intro .si-about-body {display:flex; flex:1; flex-direction:column; gap:clamp(32px, calc(56 / var(--inner) * 100vw), 56px); min-width:0;}
.page-studio-intro .si-logo {display:flex; align-items:flex-end; gap:12px; width:min(100%, 420px); height:auto;}
.page-studio-intro .si-about-txt {display:flex; flex-direction:column; gap:var(--space-24);}
.page-studio-intro .si-lead {margin:0; color:#242424; font-size:var(--font-size-20); font-weight:600; line-height:1.7em;}
.page-studio-intro .si-lead em {font-style:normal; color:var(--color-primary);}
.page-studio-intro .si-desc {margin:0; color:#242424; font-size:var(--font-size-16); font-weight:400; line-height:1.75em;}
.page-studio-intro .si-gallery {display:flex; flex-direction:column; gap:var(--space-24);}
.page-studio-intro .si-gallery-row {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-24);}
.page-studio-intro .si-gallery-item {margin:0; height:clamp(280px, calc(640 / var(--inner) * 100vw), 640px); overflow:hidden;}
.page-studio-intro .si-gallery-item.is-tl {border-radius:80px 0 0 0;}
.page-studio-intro .si-gallery-item.is-br {border-radius:0 0 80px 0;}
.page-studio-intro .si-gallery-item img,
.page-studio-intro .si-gallery-wide img {width:100%; height:100%; object-fit:cover;}
.page-studio-intro .si-gallery-wide {margin:0; height:clamp(220px, calc(420 / var(--inner) * 100vw), 420px); overflow:hidden; border-radius:80px 0;}

/* studio — 대표작품 */
.page-studio-works .card-list {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-24);}
.page-studio-works .card-list .none {grid-column:1 / -1; padding:80px 0; color:#999; text-align:center;}
.page-studio-works .card-list .link-item {display:block; overflow:hidden;}
.page-studio-works .card-list .thumb {position:relative; overflow:hidden; aspect-ratio: 464/690; background:#f5f5f5;}
.page-studio-works .card-list .thumb img {width:100%; height:100%; object-fit:cover;}
.page-studio-works .card-list .info {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.page-studio-works .paginate {margin-top:clamp(40px, calc(80 / var(--inner) * 100vw), 80px);}

/* delivery — 고객사 */
.page-delivery-clients .dc-tabs {margin-bottom:clamp(40px, calc(100 / var(--inner) * 100vw), 100px);}
.page-delivery-clients .dc-tabs .swiper {overflow:hidden; width:100%;}
.page-delivery-clients .dc-tabs .swiper-wrapper {list-style:none; margin:0; padding:0;}
.page-delivery-clients .dc-tabs .swiper-slide {width:auto; height:auto;}
.page-delivery-clients .dc-tabs .swiper-slide a {display:flex; align-items:center; justify-content:center; padding:16px 40px; border:1px solid #ddd; border-radius:8px; background:#fff; color:#242424; font-size:var(--font-size-16); font-weight:400; line-height:1.625em; white-space:nowrap;}
.page-delivery-clients .dc-tabs .swiper-slide a.is-active {border-color:#111; background:#111; color:#fff;}
.page-delivery-clients .dc-panel {display:none;}
.page-delivery-clients .dc-panel.is-active {display:block;}
.page-delivery-clients .dc-cat-tit {margin:0 0 var(--space-64); color:#242424; font-size:clamp(28px, calc(40 / var(--inner) * 100vw), 40px); font-weight:700; line-height:1.4em;}
.page-delivery-clients .dc-grid {display:grid; grid-template-columns:repeat(5, 1fr); gap:48px 30px; margin:0; padding:0; list-style:none;}
.page-delivery-clients .dc-item {display:flex; flex-direction:column; align-items:center; gap:14px;}
.page-delivery-clients .dc-logo {display:flex; align-items:center; justify-content:center; width:100%; padding: var(--space-20); overflow:hidden; border:1px solid #ddd; border-radius:8px; background:#fff;}
.page-delivery-clients .dc-logo img {max-width: 200px; width: 100%; aspect-ratio: 200 / 60; object-fit:contain;}
.page-delivery-clients .dc-name {margin:0; width:100%; color:#454545; font-size:var(--font-size-18); font-weight:400; line-height:1.5556em; text-align:center;}

/* delivery — 납품실적 */
.page-delivery-performance {padding-bottom:clamp(60px, calc(120 / var(--inner) * 100vw), 120px);}
.page-delivery-performance .dp-years {display:flex; align-items:center; gap:var(--space-32); margin-bottom:clamp(40px, calc(64 / var(--inner) * 100vw), 64px);}
.page-delivery-performance .dp-year-nav {display:flex; flex:0 0 24px; align-items:center; justify-content:center; width:24px; height:24px; padding:0; border:0; background:transparent; cursor:pointer;}
.page-delivery-performance .dp-year-nav.swiper-button-disabled {opacity:.3; cursor:default;}
.page-delivery-performance .dp-year-nav img {width:24px; height:24px;}
.page-delivery-performance .dp-year-list {flex:1; min-width:0;}
.page-delivery-performance .dp-year-list .swiper {overflow:hidden; width:100%;}
.page-delivery-performance .dp-year-list .swiper-wrapper {list-style:none; margin:0; padding:0;}
.page-delivery-performance .dp-year-list .swiper-slide {width:auto; height:auto;}
.page-delivery-performance .dp-year-list .swiper-slide a {display:flex; align-items:center; justify-content:center; width:100%; padding:16px 8px; border:1px solid #ddd; border-radius:8px; background:#fff; color:#242424; font-size:var(--font-size-16); font-weight:400; line-height:1.625em; text-align:center; white-space:nowrap;}
.page-delivery-performance .dp-year-list .swiper-slide a.is-active {border-color:#111; background:#111; color:#fff;}
.page-delivery-performance .dp-stats {margin-bottom:clamp(40px, calc(64 / var(--inner) * 100vw), 64px); background:#f9f9fb;}
.page-delivery-performance .dp-stats-inner {display:flex; align-items:center; justify-content:space-between; min-height:clamp(200px, calc(320 / var(--inner) * 100vw), 320px); padding-top:var(--space-40); padding-bottom:var(--space-40); text-align:center;}
.page-delivery-performance .dp-stat {display:flex; flex:1; flex-direction:column; align-items:center; gap:var(--space-24);}
.page-delivery-performance .dp-stat-num {color:#242424; font-family:Sora, Pretendard, sans-serif; font-size:clamp(32px, calc(48 / var(--inner) * 100vw), 48px); font-weight:600; line-height:1.2083em;}
.page-delivery-performance .dp-stat-label {color:#242424; font-size:var(--font-size-18); font-weight:600; line-height:1.5556em;}
.page-delivery-performance .dp-list-head {display:flex; align-items:flex-end; gap:var(--space-16); margin-bottom:var(--space-40);}
.page-delivery-performance .dp-list-year {color:#242424; font-size:clamp(28px, calc(40 / var(--inner) * 100vw), 40px); font-weight:700; line-height:1.4em;}
.page-delivery-performance .dp-list-count {color:#999; font-size:var(--font-size-18); font-weight:600; line-height:2.4444em;}
.page-delivery-performance .board-list {border:0;}
.page-delivery-performance .board-list table {border-top:0;}
.page-delivery-performance .board-list table thead th {height:72px; padding:16px 40px; border-bottom:0; background:#f9f9fb; color:#242424; font-size:var(--font-size-18); font-weight:600; line-height:1.5556em;}
.page-delivery-performance .board-list table thead th:first-child {border-radius:16px 0 0 16px;}
.page-delivery-performance .board-list table thead th:last-child {border-radius:0 16px 16px 0;}
.page-delivery-performance .board-list table tbody td {height:72px; padding:16px; border-bottom:1px solid #ddd; background:#fff; color:#454545; font-size:var(--font-size-16); font-weight:400; line-height:1.625em;}
.page-delivery-performance .board-list table tbody td.subject {padding-left:16px; text-align:left;}
.page-delivery-performance .board-list table tbody td.subject.text-center {text-align: center;}
.page-delivery-performance .board-list table tbody td.subject a:hover {text-decoration:underline;}
.page-delivery-performance .board-list table tbody tr:hover td {background:#fff;}
.page-delivery-performance .paginate {margin-top:72px;}
.page-delivery-performance .paginate strong {background:#111; border-color:#111;}

/* apple — 신제품 소개 */
.page-apple-new .an-list {padding:clamp(60px, calc(120 / var(--inner) * 100vw), 120px) 0; background:#f9f9fb;}
.page-apple-new .an-grid {display:flex; flex-direction:column; gap:clamp(40px, calc(80 / var(--inner) * 100vw), 80px); margin:0; padding:0; list-style:none;}
.page-apple-new .an-card {display:flex; align-items:center; overflow:hidden; border-radius:24px; background:#fff;}
.page-apple-new .an-card.is-reverse {flex-direction:row-reverse;}
.page-apple-new .an-visual {display:flex; flex:0 0 50%; align-items:center; justify-content:center; width:50%; aspect-ratio: 640 / 400; overflow:hidden; padding: var(--space-40); background:#fff;}
.page-apple-new .an-card.is-empty .an-visual {background:#fff;}
.page-apple-new .an-empty-icon {width:64px !important; height:64px !important; max-height:none !important;}
.page-apple-new .an-body {display:flex; flex:0 0 50%; flex-direction:column; gap:var(--space-40); align-items:flex-start; width:50%; padding:clamp(32px, calc(64 / var(--inner) * 100vw), 64px);}
.page-apple-new .an-tit-wrap {display:flex; flex-direction:column; gap:var(--space-16);}
.page-apple-new .an-name {color:#242424; font-family:Sora, Pretendard, sans-serif; font-size:clamp(28px, calc(36 / var(--inner) * 100vw), 36px); font-weight:700; line-height:1.2778em;}
.page-apple-new .an-sub {color:#999; font-size:var(--font-size-20); font-weight:400; line-height:1.5em;}
.page-apple-new .an-desc {margin:0; color:#454545; font-size:var(--font-size-18); font-weight:400; line-height:1.6667em;}
.page-apple-new .an-btn {display:inline-flex; align-items:center; justify-content:center; padding:16px 40px; border:1px solid #ddd; border-radius:8px; background:#fff; color:#242424; font-size:var(--font-size-16); font-weight:400; line-height:1.625em;}
.page-apple-new .an-btn:hover {border-color: var(--color-primary); color: var(--color-primary)}

/* apple — 비즈니스 파트너 소개 */
.page-apple-partner .ap-body {padding:clamp(60px, calc(120 / var(--inner) * 100vw), 120px) 0; background:#f9f9fb;}
.page-apple-partner .ap-intro {display:flex; gap:28px; align-items:center; margin-bottom:var(--space-24); overflow:hidden; border-radius:24px; background:#fff;}
.page-apple-partner .ap-intro-visual {display:flex; align-items:center; justify-content:center; width: 50%; padding: clamp(35px, calc(120 / var(--inner) * 100vw), 120px) var(--container-space); background:#fff;}
.page-apple-partner .ap-intro-txt {display:flex; flex:1; flex-direction:column; gap:clamp(32px, calc(56 / var(--inner) * 100vw), 56px); padding: clamp(35px, calc(120 / var(--inner) * 100vw), 120px) var(--container-space); min-width:0; }
.page-apple-partner .ap-intro-tit {margin:0; color:#242424; font-size:clamp(28px, calc(40 / var(--inner) * 100vw), 40px); font-weight:700; line-height:1.4em;}
.page-apple-partner .ap-intro-desc {display:flex; flex-direction:column; gap:var(--space-24); max-width:556px;}
.page-apple-partner .ap-intro-desc p {margin:0; color:#454545; font-size:var(--font-size-18); font-weight:400; line-height:1.7778em;}
.page-apple-partner .ap-intro-desc strong {color:#242424; font-weight:700;}
.page-apple-partner .ap-feat-grid {display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--space-24); margin:0; padding:0; list-style:none;}
.page-apple-partner .ap-feat {display:flex; flex-direction:column; gap:clamp(32px, calc(56 / var(--inner) * 100vw), 56px); min-height:clamp(280px, calc(400 / var(--inner) * 100vw), 400px); padding:clamp(40px, calc(56 / var(--inner) * 100vw), 56px) var(--space-40); border-radius:24px; background:#fff;}
.page-apple-partner .ap-feat-body {display:flex; flex-direction:column; gap:var(--space-40);}
.page-apple-partner .ap-feat-tit {color:#242424; font-size:var(--font-size-28); font-weight:600; line-height:1.3571em;}
.page-apple-partner .ap-feat-desc {margin:0; color:#454545; font-size:var(--font-size-18); font-weight:400; line-height:1.5556em; letter-spacing:-.03em;}

.page-news-index {padding-bottom:clamp(60px, calc(120 / var(--inner) * 100vw), 120px);}
.page-news-index .gallery-list {padding:0; border:0;}
.page-news-index .gallery-list ul {display:grid; grid-template-columns:repeat(3, 1fr); gap:40px 24px; margin:0;}
.page-news-index .gallery-list ul li {width:auto; margin:0; padding:0; text-align:left;}
.page-news-index .gallery-list ul li.none {grid-column:1 / -1; padding:80px 0; color:#999; text-align:center;}
.page-news-index .gallery-list ul li a {display:flex; flex-direction:column; gap:32px;}
.page-news-index .gallery-list ul li .thumb {position:relative; aspect-ratio:464 / 274; padding-bottom:0; margin:0; overflow:hidden; background:#eee;}
.page-news-index .gallery-list ul li .thumb:after {display:none;}
.page-news-index .gallery-list ul li .thumb.no-img {display:flex; align-items:center; justify-content:center;}
.page-news-index .gallery-list ul li .thumb.no-img img {position:static; width:60px; height:60px; object-fit:contain;}
.page-news-index .gallery-list ul li .info {display:flex; flex-direction:column; gap:20px; width:100%;}
.page-news-index .gallery-list ul li .tit {display:-webkit-box; overflow:hidden; color:#242424; font-size:var(--font-size-18); font-weight:600; line-height:1.5556em; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.page-news-index .gallery-list ul li .txt {display:-webkit-box; overflow:hidden; margin:0; color:#454545; font-size:var(--font-size-16); font-weight:400; line-height:1.625em; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.page-news-index .gallery-list ul li .date {margin:0; color:#8f8f8f; font-size:var(--font-size-16); font-weight:400; line-height:1.625em;}
.page-news-index .paginate {margin-top:72px;}
.page-news-index .paginate strong {background:#111; border-color:#111;}
