:root{ --header-height:96px; --color-primary:#1a1f5e; --color-primary-hover:#141852; --color-primary-light:#2d3380; --color-primary-soft:rgba(26,31,94,.07); --color-primary-soft-strong:rgba(26,31,94,.11); --color-primary-soft-border:rgba(26,31,94,.14); --color-primary-border:rgba(26,31,94,.18); --color-primary-border-strong:rgba(26,31,94,.22); --color-primary-shadow:rgba(26,31,94,.16); /* ── 브랜드 팔레트 ── */ --navy:#1a1f5e; --pink:#d94889; --pink-light:#e58fb5; --purple:#7b3fa0; --sky:#198dc7; --grad-brand:linear-gradient(135deg,#d94889 0%,#7b3fa0 40%,#1a1f5e 75%,#198dc7 100%); --grad-brand-h:linear-gradient(90deg,#d94889 0%,#7b3fa0 50%,#1a1f5e 100%); } html{scrollbar-gutter:inherit;} body{overflow-x:hidden;} .main-layout{min-height:calc(100vh - var(--header-height));padding-top:var(--header-height);} .sub-layout{min-height:calc(100vh - var(--header-height));padding-top:var(--header-height);} /*sh4 subhero*/ .sh4 { position: relative; overflow: hidden; margin-top: calc(-1 * var(--header-height)); padding: calc(var(--header-height) + 80px) 80px 96px; } /* .sh4{position:relative;overflow:hidden;margin-top:calc(-1 * var(--header-height));padding:calc(var(--header-height) + 80px) 80px 96px;background:#fff;} */ .sh4-inner{position:relative;z-index:2;max-width:1440px;margin:0 auto;} .sh4-right{position:relative;height:100%;min-height:320px;} .sh4-label{display:block;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(26,31,94,.38);margin-bottom:20px;opacity:0;transform:translateY(10px);animation:sh4Up .55s cubic-bezier(.16,1,.3,1) forwards;} .sh4-title{margin:0 0 20px;font-size:clamp(40px,6vw,80px);font-weight:900;line-height:1.25;letter-spacing:-.055em;color:var(--navy);} .sh4-title em{padding-right:1rem;font-size:7rem;font-style:normal;background:var(--grad-brand-h);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;} .sh4-title-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em;} .sh4-title-line-inner{display:block;} .sh4-desc{font-size:clamp(14px,1.2vw,17px);line-height:1.8;color:rgba(26,31,94,.42);word-break:keep-all;margin:0;opacity:0;transform:translateY(12px);animation:sh4Up .6s .5s cubic-bezier(.16,1,.3,1) forwards;} .sh4-breadcrumb {display:flex; align-items:center; gap:6px; margin-bottom:16px;} .sh4-breadcrumb-item {font-size:13px; font-weight:500; color:#888; text-decoration:none; display:flex; align-items:center; transition:color .2s;} .sh4-breadcrumb-item:hover {color:var(--color-primary);} .sh4-breadcrumb-item--active {color:#333; pointer-events:none;} .sh4-breadcrumb-sep {font-size:12px; color:#ccc;} /*sh4 split*/ .sh4--split .sh4-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;} /*sh4 sticky 탭 네비*/ /* .sh4-nav-wrap{position:sticky;top:var(--header-height);z-index:50;background:rgba(255,255,255,.98);backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid rgba(26,31,94,.08);box-shadow:0 1px 0 rgba(26,31,94,.06);} */ .sh4-nav-wrap{border-bottom:1px solid rgba(26,31,94,.08);box-shadow:0 1px 0 rgba(26,31,94,.06);} .sh4-nav{max-width:1440px;margin:0 auto;display:flex;align-items:center;} .sh4-nav-tab{position:relative;display:inline-flex;align-items:center;height:52px;padding:0 20px;font-size:14px;font-weight:600;color:rgba(17,17,17,.38);text-decoration:none;transition:color .25s;white-space:nowrap;letter-spacing:-.01em;} .sh4-nav-tab:hover{color:var(--navy);} .sh4-nav-tab--active{color:var(--navy);} .sh4-nav-tab--active::after{content:"";position:absolute;bottom:0;left:20px;right:20px;height:2px;border-radius:999px;background:var(--grad-brand-h);} /*floating keywords*/ .fk-wrap{position:absolute;inset:0;pointer-events:none;overflow:hidden;} .fk-item{position:absolute;font-weight:700;letter-spacing:.04em;color:var(--navy);white-space:nowrap;user-select:none;} @keyframes sh4Up{ to{opacity:1;transform:translateY(0);} } @media (max-width:1280px){ .sh4{padding-left:48px;padding-right:48px;} .sh4-nav{padding-left:48px;padding-right:48px;} } @media (max-width:1024px){ .sh4{padding-left:32px;padding-right:32px;} .sh4-nav{padding-left:32px;padding-right:32px;} .sh4--split .sh4-inner{grid-template-columns:1fr;gap:0;} .sh4-right{display:none;} } @media (max-width:768px){ .sh4{padding:calc(var(--header-height) + 48px) 20px 20px;} .sh4-nav{padding-left:0;padding-right:0;flex-wrap: wrap;} .sh4-nav-tab{padding:0 20px;font-size:13px;flex:0 0 50%;} .sh4-title-line-inner{margin-top:2rem} .sh4-title em{font-size:3rem;} .sh4-nav-tab--active::after{left:0;right:0;} } @media (max-width:1280px){.ab3-stats{padding-left:48px;padding-right:48px;}} @media (max-width:1024px){ .ab3-stats{padding-left:32px;padding-right:32px;} .ab3-stats-grid{grid-template-columns:repeat(2,1fr);} .ab3-si{padding-bottom:40px;} .ab3-si:nth-child(2){border-right:0;} .ab3-si:nth-child(3){border-top:1px solid rgba(26,31,94,.06);padding-left:0;} .ab3-si:nth-child(4){border-top:1px solid rgba(26,31,94,.06);border-right:0;} } @media (max-width:768px){ .ab3-stats{padding:80px 20px;} .ab3-si{padding-right:20px;} .ab3-si:not(:first-child){padding-left:20px;} } /*ab about page*/ .ab-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(26,31,94,.35);margin-bottom:40px;} .ab-eyebrow--light{color:rgba(255,255,255,.3);} .about-section-label { font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: #8895c0; font-weight: 500; margin-bottom: 20px; display: flex; align-items: center; gap: 8px; } .about-section-label::before { content: ''; display: block; width: 20px; height: 2px; background: #1e2a5e; } .about-section-label--light { color: rgba(255,255,255,0.4); } .about-section-label--light::before { background: rgba(255,255,255,0.4); } .about-company-section { padding: 100px 0 160px; } .about-company-inner { display: flex; gap: 60px; align-items: flex-start; } .about-company-text { flex: 1; min-width: 420px; } .about-company-heading { font-size: 42px; font-weight: 700; line-height: 1.5; color: #1a1a2e; margin-bottom: 32px; } .about-company-heading .blue { color: #1e2a5e; } .about-company-body { font-size: 16px; color: #555; line-height: 2.1; margin-bottom: 20px; } .about-img-group { flex-shrink: 0; width: 42vw; max-width: 580px; display: flex; gap: 16px; align-items: flex-start; } .about-img-main-wrap { flex: 1; overflow: hidden; height: 480px; background: #f4f5fb; will-change: transform, border-radius; } .about-img-main-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; } .about-img-side-wrap { width: 140px; flex-shrink: 0; overflow: hidden; height: 400px; margin-top: 120px; background: #eef0f8; will-change: transform, border-radius; } .about-img-side-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; } .about-tech-section { background: #0d1628; padding: 100px 0 120px; } .about-stats-row { display: flex; gap: 0; border-bottom: 1px solid rgba(255,255,255,0.08); padding-bottom: 72px; margin-bottom: 80px; } .about-stat-item { flex: 1; padding-right: 40px; border-right: 1px solid rgba(255,255,255,0.08); } .about-stat-item:last-child { border-right: none; padding-right: 0; padding-left: 40px; } .about-stat-item:not(:first-child):not(:last-child) { padding-left: 40px; } .about-stat-num-wrap { display: flex; align-items: flex-end; gap: 4px; margin-bottom: 12px; } .about-stat-num { font-size: 52px; font-weight: 900; color: #fff; line-height: 1; letter-spacing: -0.02em; } .about-stat-suffix { font-size: 24px; font-weight: 700; color: #378ADD; margin-bottom: 6px; } .about-stat-label { font-size: 13px; color: rgba(255,255,255,0.45); font-weight: 400; } .about-tech-intro { margin-bottom: 56px; } .about-tech-heading { font-size: 40px; font-weight: 900; line-height: 1.3; color: #fff; margin-top: 16px; margin-bottom: 20px; letter-spacing: -0.02em; } .about-tech-heading span { color: #378ADD; } .about-tech-desc { font-size: 15px; color: rgba(255,255,255,0.55); line-height: 1.9; max-width: 560px; } .about-tech-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; } .about-tech-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 16px; padding: 28px 24px; } .about-tech-card-icon { width: 44px; height: 44px; border-radius: 10px; background: rgba(55,138,221,0.15); display: flex; align-items: center; justify-content: center; color: #378ADD; font-size: 22px; margin-bottom: 16px; } .about-tech-card-title { font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 10px; line-height: 1.4; } .about-tech-card-desc { font-size: 13px; color: rgba(255,255,255,0.45); line-height: 1.8; } .about-meaning-section { padding: 0 0 120px; border-bottom: 1px solid #f0f0f0; } .about-meaning-title { font-size: 32px; font-weight: 700; color: #1a1a2e; margin-bottom: 36px; } .about-meaning-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; } .about-meaning-card { border: 1px solid #e8eaf3; border-radius: 16px; padding: 36px 32px; position: relative; overflow: hidden; } .about-meaning-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: #1e2a5e; } .about-meaning-card-keyword { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: 0.12em; color: #1e2a5e; background: #eef0f8; border-radius: 4px; padding: 4px 10px; margin-bottom: 20px; } .about-meaning-card-icon { width: 40px; height: 40px; border-radius: 8px; background: #eef0f8; display: flex; align-items: center; justify-content: center; color: #1e2a5e; font-size: 20px; margin-bottom: 14px; } .about-meaning-card-title { font-size: 18px; font-weight: 700; color: #1a1a2e; margin-bottom: 12px; } .about-meaning-card-desc { font-size: 15px; color: #777; line-height: 1.9; } .about-mission-section { padding: 100px 0 100px; border-top: 1px solid #f0f0f0; } .about-mission-inner { display: flex; gap: 100px; align-items: flex-start; } .about-mission-left { flex: 1; min-width: 360px; padding-top: 8px; } .about-mission-title { font-size: 30px; font-weight: 700; color: #1a1a2e; line-height: 1.5; margin-bottom: 24px; } .about-mission-desc { font-size: 15px; color: #555; line-height: 2.2; } .about-mission-right { flex: 1; display: flex; flex-direction: column; gap: 0; } .about-mission-item { display: flex; gap: 24px; align-items: flex-start; padding: 32px 0; border-bottom: 1px solid #f0f0f0; } .about-mission-item:first-child { border-top: none; } .about-mission-item:last-child { border-bottom: none; } .about-mission-item-num { font-size: 13px; font-weight: 700; color: #d0d4e8; letter-spacing: 0.05em; flex-shrink: 0; padding-top: 2px; width: 28px; } .about-mission-item-body { flex: 1; } .about-mission-item-top { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; } .about-mission-item-title { font-size: 18px; font-weight: 700; color: #1a1a2e; } .about-mission-item-keyword { font-size: 10px; font-weight: 700; letter-spacing: 0.12em; color: #1e2a5e; background: #eef0f8; border-radius: 4px; padding: 3px 8px; } .about-mission-item-desc { font-size: 14px; color: #777; line-height: 1.8; } .about-cert-section { padding: 100px 0 100px; border-top: 1px solid #f0f0f0; } .about-cert-title { font-size: 32px; font-weight: 700; color: #1a1a2e; margin-bottom: 28px; } .about-cert-patents { background: #f8f9fc; border-radius: 12px; padding: 20px 24px; margin-bottom: 48px; } .about-cert-patents-desc { font-size: 14px; color: #666; line-height: 1.9; } .about-cert-cards { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; } .about-cert-card { border: 1px solid #e8eaf3; border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; gap: 10px; } .about-cert-card-icon { width: 48px; height: 48px; border-radius: 12px; background: #eef0f8; margin-bottom: 8px; } .about-cert-card-year { font-size: 11px; font-weight: 600; color: #8895c0; letter-spacing: 0.05em; } .about-cert-card-title { font-size: 14px; font-weight: 700; color: #1a1a2e; line-height: 1.4; } .about-cert-card-desc { font-size: 13px; color: #888; line-height: 1.7; } .about-cta-section { position: relative; padding: 120px 48px; text-align: center; width: 100%; overflow: hidden; background: #0d1628; } .about-cta-bg { position: absolute; inset: -50%; width: 200%; height: 200%; background: radial-gradient(ellipse at 30% 50%, rgba(55,138,221,0.35) 0%, transparent 50%), radial-gradient(ellipse at 70% 50%, rgba(99,51,180,0.3) 0%, transparent 50%); animation: about-cta-move 8s ease-in-out infinite alternate; will-change: transform; } .about-cta-inner { position: relative; z-index: 1; max-width: 600px; margin: 0 auto; } .about-cta-title { font-size: 42px; font-weight: 900; color: #fff; line-height: 1.3; letter-spacing: -0.02em; margin-top: 16px; margin-bottom: 24px; } .about-cta-desc { font-size: 15px; color: rgba(255,255,255,0.5); line-height: 1.9; margin-bottom: 48px; } .about-cta-buttons { display: flex; gap: 12px; justify-content: center; } .about-cta-btn { display: inline-flex; align-items: center; padding: 14px 32px; border-radius: 8px; font-size: 14px; font-weight: 600; text-decoration: none; transition: all 0.2s; } .about-cta-btn--primary { background: #fff; color: #0d1628; } .about-cta-btn--primary:hover { background: #eef0f8; } .about-cta-btn--outline { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); } .about-cta-btn--outline:hover { border-color: #fff; background: rgba(255,255,255,0.05); } @media (max-width: 768px) { .about-img-side-wrap { display: none; } .about-company-section { padding: 64px 0 80px; } .about-meaning-section { padding: 0 0 80px; } .about-mission-section { padding: 64px 0 64px; } .about-cert-section { padding: 64px 0 80px; } .about-meaning-cards { grid-template-columns: 1fr; } .about-mission-inner { flex-direction: column; gap: 48px; } .about-mission-left { min-width: unset; } .about-cert-cards { grid-template-columns: 1fr 1fr; } .about-slogan-line { font-size: 36px; } .about-company-inner { flex-direction: column; } .about-company-text { min-width: unset; } .about-img-group { width: 100%; max-width: unset; } .about-stats-row { flex-direction: column; gap: 32px; } .about-stat-item { border-right: none; padding: 0 0 32px; border-bottom: 1px solid rgba(255,255,255,0.08); } .about-stat-item:last-child { border-bottom: none; padding-bottom: 0; } .about-tech-cards { grid-template-columns: 1fr 1fr; } .about-cta-section { padding: 80px 24px; } .about-cta-title { font-size: 28px; } .about-cta-buttons { flex-direction: column; align-items: center; } } @keyframes about-cta-move { 0% { transform: translate(0%, 0%); } 50% { transform: translate(-10%, 8%); } 100% { transform: translate(10%, -8%); } } /* ── Partners Page ── */ .partners-wrap {margin-top:-5rem;padding: 0 0 6rem 0; } .partners-title-block { padding: 5rem 0 3.5rem; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 0.75rem; } .partners-title-main { font-size: clamp(18px, 2vw, 24px); font-weight: 700; color: #333; letter-spacing: -0.01em; line-height: 1.5; } .partners-title-main em { font-style: normal; font-weight: 700; color: #333; background: none; } .partners-title-desc { font-size: 13px; color: #bbb; line-height: 1.8; letter-spacing: 0.02em; } .partners-section-row { display: grid; grid-template-columns: 180px 1fr; gap: 3rem; align-items: start; padding: 80px 0; border-top: 1px solid #e8e8e8; } .partners-section-row:first-of-type { border-top: none; } .partners-sidebar { display: flex; flex-direction: column; gap: 6px; padding-top: 4px;} .partners-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #888; } .partners-heading { font-size: 32px; font-weight: 800; color: #111; letter-spacing: -0.04em; line-height: 1.15; margin-top: 6px; } .partners-count { font-size: 13px; font-weight: 500; color: #999; margin-top: 8px; } .partners-grid { display: grid; border: 1px solid #e8e8e8; border-radius: 16px; overflow: hidden; } .partners-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } .partners-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } .partners-logo-cell { display: flex; align-items: center; justify-content: center; padding: 1.75rem 1.5rem; min-height: 100px; border-right: 1px solid #e8e8e8; border-bottom: 1px solid #e8e8e8; transition: background 0.15s ease; } .partners-grid--4 .partners-logo-cell:nth-child(4n) { border-right: none; } .partners-grid--4 .partners-logo-cell:nth-last-child(-n+4) { border-bottom: none; } .partners-grid--5 .partners-logo-cell:nth-child(5n) { border-right: none; } .partners-grid--5 .partners-logo-cell:nth-last-child(-n+5) { border-bottom: none; } .partners-logo-cell img { max-width: 75%; max-height: 28px; width: auto; height: auto; object-fit: contain;transition:0.3s all;} .partners-logo-cell img:hover{transform: scale(1.1);transition:0.3s all;} .cta-box { position: relative; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 24px; padding: 48px 56px; border-radius: 24px; overflow: hidden; background: var(--color-primary); } .cta-bg { position: absolute; inset: 0; background-size: 75%; background-position: right 100%; background-repeat: no-repeat; opacity: 0.28; mask-image: linear-gradient(to right, transparent 20%, black 70%); -webkit-mask-image: linear-gradient(to right, transparent 20%, black 70%); } .cta-content { position: relative; z-index: 1; } .cta-eyebrow { margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.65); } .cta-title { margin: 0; font-size: clamp(22px,2.2vw,30px); font-weight: 800; color: #fff; letter-spacing: -.03em; line-height: 1.25; } .cta-btn { position: relative; z-index: 1; display: inline-flex; align-items: center; height: 52px; padding: 0 28px; background: #fff; border-radius: 999px; font-size: 15px; font-weight: 700; color: var(--color-primary); text-decoration: none; white-space: nowrap; letter-spacing: -.01em; flex-shrink: 0; } @media (max-width: 768px) { .partners-wrap {margin-top:-2rem; padding: 0 0 4rem 0; } .partners-title-block { padding: 3rem 0 2rem; text-align: left; align-items: flex-start; } .partners-section-row { grid-template-columns: 1fr; gap: 1.5rem; padding: 2.5rem 0;} .partners-count { margin-top: 0; } .partners-heading-row {display: flex; align-items: end; justify-content: center; gap: 10px;} .partners-sidebar { position: static; flex-direction: column; align-items: flex-start; gap: 4px; } .partners-heading { font-size:24px; } .partners-heading br { display: none; } .partners-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .partners-grid--4 .partners-logo-cell:nth-child(4n) { border-right: 1px solid #e8e8e8; } .partners-grid--4 .partners-logo-cell:nth-last-child(-n+4) { border-bottom: 1px solid #e8e8e8; } .partners-grid--4 .partners-logo-cell:nth-child(2n) { border-right: none; } .partners-grid--4 .partners-logo-cell:nth-last-child(-n+2) { border-bottom: none; } .partners-grid--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .partners-grid--5 .partners-logo-cell:nth-child(5n) { border-right: 1px solid #e8e8e8; } .partners-grid--5 .partners-logo-cell:nth-last-child(-n+5) { border-bottom: 1px solid #e8e8e8; } .partners-grid--5 .partners-logo-cell:nth-child(3n) { border-right: none; } .partners-grid--5 .partners-logo-cell:nth-last-child(-n+3) { border-bottom: none; } .cta-box { padding: 32px 28px; } .cta-bg { background-size: cover; background-position: center; mask-image: linear-gradient(to bottom, transparent 0%, black 40%); -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 40%); } } /* ── Location Page ── */ .location-tabs { display: flex; gap: 8px; margin-bottom: 32px; } .location-tab { padding: 10px 24px; border-radius: 100px; border: 1px solid #e8e8e8; background: #fff; font-size: 14px; font-weight: 600; color: #999; cursor: pointer; transition: all 0.2s ease; } .location-tab.active { background: var(--color-primary); border-color: var(--color-primary); color: #fff; } .location-tab:hover:not(.active) { border-color: #ccc; color: #333; } .location-wrap { display: grid; grid-template-columns: 1fr 320px; gap: 4rem; align-items: start; padding-bottom: 6rem; } .location-map { width: 100%; height: 480px; border-radius: 20px; overflow: hidden; } .location-map iframe { width: 100%; height: 100%; border: none; display: block; } .location-info-card { display: flex; flex-direction: column; } .location-info-card h3 { font-size: 12px; font-weight: 700; color: #bbb; letter-spacing: 0.12em; text-transform: uppercase; margin: 0 0 32px; } .location-info-wrapper { align-self: start; position: sticky; top: 100px; max-height: calc(100vh - 200px); overflow-y: auto; } .location-info-list { list-style: none; margin: 0 0 auto; padding: 0; display: flex; flex-direction: column; gap: 24px; } .location-info-item { display: flex; flex-direction: column; gap: 4px; } .location-info-label { font-size: 11px; font-weight: 600; color: #bbb; letter-spacing: 0.1em; text-transform: uppercase; } .location-info-value { cursor: default; font-size: 14px; font-weight: 500; color: #111; text-decoration: none; line-height: 1.6; } .location-hours { border-top: 1px solid #ebebeb; padding-top: 20px; margin-top: 28px; margin-bottom: 20px; } .location-hours-eyebrow { margin: 0 0 8px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(17,17,17,.35); } .location-hours-label { margin: 0; font-size: 15px; font-weight: 700; color: #111; letter-spacing: -0.02em; line-height: 1.6; } .location-hours-text { font-size: 13px; font-weight: 400; color: #bbb; } .location-inquiry-btn { display: flex; align-items: center; justify-content: center; height: 50px; background: var(--color-primary); border-radius: 12px; font-size: 15px; font-weight: 700; color: #fff; text-decoration: none; letter-spacing: -.01em; transition: opacity .2s; } .location-transport { padding-top: 32px; padding-bottom: 0; } .location-transport-title { font-size: 16px; font-weight: 700; color: #111; letter-spacing: -0.03em; margin: 0 0 20px; } .location-transport-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.25rem; } .location-transport-item { display: flex; flex-direction: column; gap: 14px; padding: 24px 20px; border-radius: 16px; background: #fff; border: 1px solid #e8e8e8; } .location-transport-item-top { display: flex; align-items: center; justify-content: space-between; } .location-transport-icon { width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center; } .location-transport-icon img { width: 24px; height: 24px; object-fit: contain; } .location-transport-item:nth-child(1) .location-transport-icon { background: #a855a0; } .location-transport-item:nth-child(2) .location-transport-icon { background: #7c5cc4; } .location-transport-item:nth-child(3) .location-transport-icon { background: #3d51b8; } .location-transport-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 56px; height: 24px; padding: 0 10px; border-radius: 6px; font-size: 11px; font-weight: 700; letter-spacing: 0.05em; color: #fff; } .location-transport-item:nth-child(1) .location-transport-badge { background: #a855a0; } .location-transport-item:nth-child(2) .location-transport-badge { background: #7c5cc4; } .location-transport-item:nth-child(3) .location-transport-badge { background: #3d51b8; } .location-transport-routes { display: flex; flex-direction: column; gap: 10px; } .location-transport-route { display: flex; flex-direction: column; gap: 3px; padding-left: 10px; border-left: 2px solid #f0f0f0; } .location-transport-route-title { font-size: 12px; font-weight: 700; color: #333; margin: 0; } .location-transport-route-desc { font-size: 12px; color: #888; line-height: 1.6; margin: 0; white-space: pre-line; } .location-info-section-title { display: none; font-size: 16px; font-weight: 700; color: #111; letter-spacing: -0.03em; margin: 0 0 20px; } @media (max-width: 768px) { .location-tabs { margin-bottom: 24px; } .location-wrap { display: flex; flex-direction: column; gap: 0; padding-bottom: 4rem; } .location-map-wrap { order: 1; width: 100%; } .location-info-wrapper { order: 2; position: static; max-height: none; margin-top: 40px; width: 100%; } .location-transport-wrap { order: 3; width: 100%; margin-top: 40px; margin-bottom: 4rem; } .location-map { height: 260px; width: 100%;} .location-transport { padding:0 } .location-transport-list { grid-template-columns: 1fr; } .location-info-card { padding: 28px 24px; width: 100%; box-sizing: border-box; background: #fff; border-radius: 16px; border: 1px solid #e8e8e8; margin-top: 0; margin-left: 0; margin-right: 0; } .location-info-list { gap: 20px; margin-bottom: 28px; } .location-hours { margin-top: 0; padding-top: 20px; margin-bottom: 20px; } .location-inquiry-btn { margin-top: 0; border-radius: 12px; } .location-info-section-title { display: block; } } /*연혁*/ /* ── Inner Wrap (공통 max-width) ── */ .inner-wrap {max-width:1440px; margin:0 auto; padding:0 60px;} /* ── 상단 타이틀 ── 공통 */ .ht-header {text-align:center; padding:80px 0;} .ht-header-title {font-size:48px; font-weight:500; letter-spacing:-.04em; color:#000; line-height:1.3; margin-bottom:0;} .ht-header-title em {display:inline-block; font-size:60px; font-style:normal;} .ht-header-title span {color:var(--color-primary); font-weight:700;} .ht-header-title b {font-weight:700;} .ht-header-sub {display:inline-block; margin-top:28px; font-size:16px; letter-spacing:-.03em; color:#666; font-weight:500; line-height:1.7; font-style:normal;} /* ── 연혁 카드 박스 ── */ .ht-card {background:#f7f8fc; border-radius:20px; padding:52px 48px 80px; margin-bottom:80px;} /* ── Tabs ── */ .ht-tabs {display:flex; gap:16px; margin-bottom:52px;align-items:center;justify-content:center;} .ht-tab {flex:1;max-width:400px;font-size:14px; font-weight:600; padding:9px 26px; border-radius:100px; border:1.5px solid var(--color-primary-border); background:transparent; color:#888; cursor:pointer; transition:all .25s; letter-spacing:.01em;} .ht-tab:hover {border-color:var(--color-primary); color:var(--color-primary);} .ht-tab.is-active {background:var(--color-primary); border-color:var(--color-primary); color:#fff;} /* ── Panel ── */ .ht-panel {display:flex; gap:0 40px; align-items:start; width:fit-content; margin:0 auto;min-width:670px} /* ── Sidebar ── */ .ht-sidebar {padding-top:4px;min-width:155px} .ht-decade {font-size:52px; font-weight:800; color:#111; line-height:1; letter-spacing:-.03em;} .ht-since { font-size:11px; font-weight:500; color:#aaa; letter-spacing:.08em; text-transform:uppercase; margin-top:8px;} /* ── 중앙 1px 라인 ── */ .ht-line-col {position:relative; align-self:stretch; width:1px;} .ht-line-bg {position:absolute; inset:0; background:var(--color-primary-soft-border); width:1px;} .ht-line-fill {position:absolute; top:0; left:0; width:1px; height:100%; background:var(--color-primary);} /* ── Content ── */ .ht-content {padding-top:0;} /* ── Year Group ── */ .ht-group {position:relative; padding:0 0 72px 0;} .ht-group:last-child {padding-bottom:0;} /* ── Dot ── */ .ht-dot {position:absolute; left:-44px; top:12px; width:8px; height:8px; border-radius:50%; background:#f7f8fc; border:1.5px solid var(--color-primary-border); transition:background .35s, border-color .35s, transform .35s; z-index:1;} .ht-dot.is-active {background:var(--color-primary); border-color:var(--color-primary); transform:scale(1.4);} /* ── Year ── */ .ht-year {font-size:40px; font-weight:800; letter-spacing:-.03em; line-height:1; margin:0 0 18px 0;} /* ── List ── */ .ht-list {list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px;} /* ── Item ── */ .ht-item {display:flex; gap:10px; align-items:baseline;} .ht-bullet {width:3px; height:3px; border-radius:50%; background:var(--color-primary); opacity:.4; flex-shrink:0; position:relative; top:-2px;} .ht-text {font-size:14px; color:#444; line-height:1.65; word-break:keep-all;} /* ── Responsive ── */ @media (max-width: 900px) { .inner-wrap {padding: 0 20px;} .ht-header {padding: 48px 0 32px;} .ht-header-title {font-size: 32px;} .ht-header-title em{font-size:40px} .ht-card {padding: 32px 20px 56px;border-radius: 12px;} .ht-panel {flex-direction:column;gap: 0;min-width:auto} .ht-sidebar {margin-bottom: 32px;min-width:auto;} .ht-line-col {display: none;} .ht-content {padding-left: 20px;border-left: 1px solid var(--color-primary-soft-border);} .ht-dot {left: -24px;} .ht-decade {font-size: 36px;} .ht-year {font-size: 26px;} } /*연혁*/ /* ── Inner Wrap (공통 max-width) ── */ .inner-wrap {max-width:1440px; margin:0 auto; padding:0 60px;} /* ── 상단 타이틀 ── 공통 */ .ht-header {text-align:center; padding:80px 0;} .ht-header-title {font-size:48px; font-weight:500; letter-spacing:-.04em; color:#000; line-height:1.3; margin-bottom:0;} .ht-header-title em {display:inline-block; font-size:60px; font-style:normal;} .ht-header-title span {color:var(--color-primary); font-weight:700;} .ht-header-title b {font-weight:700;} .ht-header-sub {display:inline-block; margin-top:28px; font-size:16px; letter-spacing:-.03em; color:#666; font-weight:500; line-height:1.7; font-style:normal;} /* ── 연혁 카드 박스 ── */ .ht-card {background:#f7f8fc; border-radius:20px; padding:52px 48px 80px; margin-bottom:80px;} /* ── Tabs ── */ .ht-tabs {display:flex; gap:16px; margin-bottom:52px;align-items:center;justify-content:center;} .ht-tab {flex:1;max-width:400px;font-size:14px; font-weight:600; padding:9px 26px; border-radius:100px; border:1.5px solid var(--color-primary-border); background:transparent; color:#888; cursor:pointer; transition:all .25s; letter-spacing:.01em;} .ht-tab:hover {border-color:var(--color-primary); color:var(--color-primary);} .ht-tab.is-active {background:var(--color-primary); border-color:var(--color-primary); color:#fff;} /* ── Panel ── */ .ht-panel {display:flex; gap:0 40px; align-items:start; width:fit-content; margin:0 auto;min-width:670px} /* ── Sidebar ── */ .ht-sidebar {padding-top:4px;min-width:155px} .ht-decade {font-size:52px; font-weight:800; color:#111; line-height:1; letter-spacing:-.03em;} .ht-since { font-size:11px; font-weight:500; color:#aaa; letter-spacing:.08em; text-transform:uppercase; margin-top:8px;} /* ── 중앙 1px 라인 ── */ .ht-line-col {position:relative; align-self:stretch; width:1px;} .ht-line-bg {position:absolute; inset:0; background:var(--color-primary-soft-border); width:1px;} .ht-line-fill {position:absolute; top:0; left:0; width:1px; height:100%; background:var(--color-primary);} /* ── Content ── */ .ht-content {padding-top:0;} /* ── Year Group ── */ .ht-group {position:relative; padding:0 0 72px 0;} .ht-group:last-child {padding-bottom:0;} /* ── Dot ── */ .ht-dot {position:absolute; left:-44px; top:12px; width:8px; height:8px; border-radius:50%; background:#f7f8fc; border:1.5px solid var(--color-primary-border); transition:background .35s, border-color .35s, transform .35s; z-index:1;} .ht-dot.is-active {background:var(--color-primary); border-color:var(--color-primary); transform:scale(1.4);} /* ── Year ── */ .ht-year {font-size:40px; font-weight:800; letter-spacing:-.03em; line-height:1; margin:0 0 18px 0;} /* ── List ── */ .ht-list {list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px;} /* ── Item ── */ .ht-item {display:flex; gap:10px; align-items:baseline;} .ht-bullet {width:3px; height:3px; border-radius:50%; background:var(--color-primary); opacity:.4; flex-shrink:0; position:relative; top:-2px;} .ht-text {font-size:14px; color:#444; line-height:1.65; word-break:keep-all;} /* ── Responsive ── */ @media (max-width: 900px) { .inner-wrap {padding: 0 20px;} .ht-header {padding: 48px 0 32px;} .ht-header-title {font-size: 32px;} .ht-header-title em{font-size:40px} .ht-card {padding: 32px 20px 56px;border-radius: 12px;} .ht-panel {flex-direction:column;gap: 0;min-width:auto} .ht-sidebar {margin-bottom: 32px;min-width:auto;} .ht-line-col {display: none;} .ht-content {padding-left: 20px;border-left: 1px solid var(--color-primary-soft-border);} .ht-dot {left: -24px;} .ht-decade {font-size: 36px;} .ht-year {font-size: 26px;} } /* ── Inquiry ── */ .inq-wrap{margin-bottom:60px} .inq-head {padding:80px 0 40px 0;} .inq-title {font-size:32px; font-weight:800; color:#111; letter-spacing:-.02em; margin-bottom:12px;} .inq-desc {font-size:15px; color:#666; line-height:1.7;} /* ── Form ── */ .inq-grid {display:grid; grid-template-columns:1fr 1fr; gap:20px 24px;} .inq-field {display:flex; flex-direction:column; gap:8px;} .inq-field--full {grid-column:1 / -1;} .inq-label {font-size:13px; font-weight:600; color:#333;} .inq-label em {color:var(--color-primary); font-style:normal;} .inq-input {height:48px; border:1.5px solid var(--color-primary-soft-border); border-radius:8px; padding:0 14px; font-size:14px; color:#111; outline:none; transition:border-color .2s; background:#fff;} .inq-input:focus {border-color:var(--color-primary);} .inq-input::placeholder {color:#bbb;} .inq-textarea {height:160px; border:1.5px solid var(--color-primary-soft-border); border-radius:8px; padding:14px; font-size:14px; color:#111; outline:none; transition:border-color .2s; background:#fff; resize:vertical;} .inq-textarea:focus {border-color:var(--color-primary);} .inq-textarea::placeholder {color:#bbb;} /* ── Bottom ── */ .inq-bottom {margin-top:28px; display:flex; align-items:center; justify-content:space-between; gap:16px;} .inq-agree {display:flex; align-items:center; gap:12px;} .inq-check {display:flex; align-items:center; gap:8px; cursor:pointer; font-size:14px; color:#444;} .inq-check input {accent-color:var(--color-primary); width:16px; height:16px;} .inq-privacy-btn {font-size:13px; color:#aaa; text-decoration:underline; background:none; border:none; cursor:pointer; padding:0;} .inq-privacy-btn:hover {color:var(--color-primary);} .inq-submit {height:48px; padding:0 40px; background:var(--color-primary); color:#fff; border:none; border-radius:8px; font-size:15px; font-weight:600; cursor:pointer; transition:background .2s;} .inq-submit:hover {background:var(--color-primary-hover);} /* ── Responsive ── */ @media (max-width: 768px) { .inq-grid { grid-template-columns: 1fr; } .inq-bottom { flex-direction: column; align-items: flex-start; } .inq-submit { width: 100%; } .inq-title{font-size:24px} .inq-head {padding:48px 0 32px} } /* ── Recruit ── */ .rc-head {padding:80px 0 40px 0} .rc-title {font-size:32px; font-weight:800; color:#111; letter-spacing:-.02em; line-height:1.25; margin-bottom:16px;} .rc-desc {font-size:15px; color:#666; line-height:1.7;} /* ── Section Title ── */ .rc-section-title {font-size:20px; font-weight:700; color:#111; letter-spacing:-.01em; margin-bottom:28px;} /* ── Benefits ── */ .rc-benefits {padding-bottom:72px; border-bottom:1px solid var(--color-primary-soft-border);} .rc-benefits-grid {display:grid; grid-template-columns:repeat(4,1fr); gap:16px;} .rc-benefit-item {background:#f7f8fc; border-radius:12px; padding:24px 20px; display:flex; flex-direction:column; gap:8px;} .rc-benefit-icon {font-size:24px;} .rc-benefit-title {font-size:14px; font-weight:700; color:#111;} .rc-benefit-desc {font-size:13px; color:#666; line-height:1.5;} /* ── Jobs ── */ .rc-jobs {padding:56px 0 100px;} .rc-jobs-grid {display:grid; grid-template-columns:repeat(2,1fr); gap:20px;} .rc-job-card {background:#fff; border:1.5px solid var(--color-primary-soft-border); border-radius:16px; padding:28px 32px; display:flex; flex-direction:column; gap:12px; transition:border-color .2s, box-shadow .2s;} .rc-job-card:hover {border-color:var(--color-primary); box-shadow:0 4px 20px var(--color-primary-shadow);} .rc-job-top {display:flex; gap:8px;} .rc-job-part {font-size:12px; font-weight:600; color:var(--color-primary); background:var(--color-primary-soft); padding:3px 10px; border-radius:100px;} .rc-job-type {font-size:12px; font-weight:600; color:#666; background:#f0f0f0; padding:3px 10px; border-radius:100px;} .rc-job-title {font-size:22px; font-weight:800; color:#111; letter-spacing:-.02em;} .rc-job-career {font-size:13px; color:#888; font-weight:500;} .rc-job-desc {font-size:14px; color:#555; line-height:1.6;} .rc-job-stack {display:flex; flex-wrap:wrap; gap:6px;} .rc-job-tag {font-size:12px; font-weight:500; color:#555; background:#f5f5f5; padding:4px 10px; border-radius:6px;} .rc-job-bottom {display:flex; align-items:center; justify-content:space-between; margin-top:4px; padding-top:16px; border-top:1px solid var(--color-primary-soft);} .rc-job-deadline {font-size:13px; color:#aaa;} .rc-job-apply {font-size:14px; font-weight:600; color:#fff; background:var(--color-primary); padding:9px 22px; border-radius:8px; text-decoration:none; transition:background .2s;} .rc-job-apply:hover {background:var(--color-primary-hover);} /* ── Responsive ── */ @media (max-width: 1024px) { .rc-benefits-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 768px) { .rc-head { padding: 48px 0 32px; } .rc-title { font-size: 24px; } .rc-benefits-grid { grid-template-columns: repeat(2, 1fr); } .rc-jobs-grid { grid-template-columns: 1fr; } } /* ── Head ── */ .cs-head {padding:72px 0 100px;} .cs-title {font-size:40px; font-weight:800; color:#111; letter-spacing:-.02em; line-height:1.25; margin-bottom:16px;} .cs-title em {font-style:normal; background:var(--grad-brand); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;} .cs-desc {font-size:15px; color:#666; line-height:1.7;} /* ── List ── */ .cs-list {display:flex; flex-direction:column; gap:0; padding-bottom:120px;} /* ── Item ── */ .cs-item {position:relative; display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:center; min-height:560px; padding:80px 0; border-top:1px solid var(--color-primary-soft-border);} .cs-item:first-child{border-top:0;} .cs-item:last-child {border-bottom:1px solid var(--color-primary-soft-border);} .cs-item--flip .cs-img-wrap {order:2;} .cs-item--flip .cs-body {order:1; padding-right:80px; padding-left:0;} /* ── 배경 번호 ── */ .cs-bg-num {position:absolute; font-size:200px; font-weight:800; color:#111; opacity:.03; line-height:1; letter-spacing:-.05em; top:50%; transform:translateY(-50%); left:0; pointer-events:none; z-index:0;} /* ── Image ── */ .cs-img-wrap {position:relative; border-radius:12px; overflow:hidden; aspect-ratio:3/2; will-change:clip-path; z-index:1;} .cs-img {width:100%; height:100%; object-fit:cover; display:block;} .cs-img-fallback {position:absolute; inset:0; background:var(--color-primary-soft);} /* ── Body ── */ .cs-body {padding-left:80px; display:flex; flex-direction:column; gap:20px; z-index:1;} .cs-meta {display:flex; align-items:center; gap:16px;} .cs-year {font-size:12px; font-weight:600; color:#aaa; letter-spacing:.1em;} .cs-eyebrow {font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--color-primary); opacity:.8;} .cs-item-title {font-size:30px; font-weight:800; color:#111; letter-spacing:-.02em; line-height:1.3; margin:0;} .cs-item-desc {font-size:14px; color:#555; line-height:1.8; word-break:keep-all;} .cs-tags {display:flex; gap:8px; flex-wrap:wrap;} .cs-tag {font-size:11px; font-weight:600; color:var(--color-primary); background:var(--color-primary-soft); padding:4px 12px; border-radius:100px; letter-spacing:.04em;} /* ── Responsive ── */ @media (max-width: 900px) { .cs-head {padding:48px 0 64px;} .cs-title {font-size:28px;} .cs-item {grid-template-columns:1fr; min-height:auto; padding:48px 0; gap:32px;} .cs-item--flip .cs-img-wrap {order:0;} .cs-item--flip .cs-body {order:0; padding-right:0;} .cs-body {padding-left:0;} .cs-bg-num {font-size:120px;} .cs-item-title {font-size:22px;} } /* ════════════════════════════════ FlightControlPage — common.css 추가분 ════════════════════════════════ */ .fc-eyebrow {display:block;font-size:2rem;font-weight:800;letter-spacing:-1px;text-transform:uppercase;margin-bottom:1.75rem;} /* ════════════════ 1. 개요 ════════════════ */ .fc-overview {display:flex;align-items:center;gap:4rem;padding:6rem 0 7rem;} .fc-overview__text {flex:1;min-width:0;} .fc-overview__desc {font-size:1rem;line-height:1.9;color:#3a3f5c;margin-top:1.2rem;} .fc-overview__desc--sub {color:#777;font-size:.92rem;margin-top:.8rem;} /* 특징 배지 */ .fc-badges {display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem;} .fc-badge {display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;border-radius:999px;border:1px solid var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary);font-size:.78rem;font-weight:600;transition:background .2s,border-color .2s;} .fc-badge:hover {background:var(--color-primary);color:#fff;border-color:var(--color-primary);cursor:default;} /* 이미지 패널 */ .fc-overview__panel {flex:0 0 460px;position:relative;} .fc-overview__panel-inner {border-radius:1.25rem;padding:2rem;} .fc-overview__img {width:100%;border-radius:.75rem;display:block;} /* ════════════════ 2. 주요기능 ════════════════ */ .fc-functions {padding-bottom:8rem;} .fc-functions__grid {display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;} .fc-func-card {position:relative;border-radius:1rem;overflow:hidden;border:1px solid var(--color-primary-soft-border);background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.05);cursor:pointer;} .fc-func-card__img-wrap {overflow:hidden;aspect-ratio:2/1;} .fc-func-card__img {width:100%;height:100%;object-fit:cover;display:block;} .fc-func-card__body {display:flex;align-items:center;gap:.75rem;padding:.85rem 1.1rem;} .fc-func-card__num {font-size:.72rem;font-weight:800;letter-spacing:.08em;color:var(--color-primary-border-strong);} .fc-func-card__label {font-size:.85rem;font-weight:600;color:#2a2e52;line-height:1.4;} /* 호버 오버레이 — 네이비 반전 */ .fc-func-card__overlay {position:absolute;inset:0;background:var(--color-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:1.5rem;} .fc-func-card__overlay-num {font-size:2.5rem;font-weight:800;color:rgba(255,255,255,.2);line-height:1;} .fc-func-card__overlay-label {font-size:.9rem;font-weight:600;color:#fff;text-align:center;line-height:1.45;} /* ════════════════ 반응형 ════════════════ */ @media (max-width: 1024px) { .fc-overview { flex-direction: column; gap: 3rem; padding: 4rem 0 5rem; } .fc-overview__panel { flex: none; width: 100%; } .fc-functions__grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 640px) { .fc-functions__grid { grid-template-columns: 1fr; } }