You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1019 lines
57 KiB

: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:1660px;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:1660px;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);}
/* ── 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:1660px; 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;}
}
/* top btn */
.top-btn { position: fixed; bottom: 32px; right: 32px; width: 48px; height: 48px; border-radius: 50%; background: #1e2a5e; color: #fff; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 18px; box-shadow: 0 4px 20px rgba(30,42,94,0.4); transition: all 0.2s; z-index: 9999; animation: top-btn-pulse 2s ease-in-out infinite; }
.top-btn:hover { background: #2a3a7e; transform: translateY(-4px); animation: none; box-shadow: 0 8px 24px rgba(30,42,94,0.5); }
@media (max-width: 768px) {
.top-btn { bottom: 20px; right: 20px; width: 40px; height: 40px; font-size: 14px; }
}
@keyframes top-btn-pulse {
0% { box-shadow: 0 4px 20px rgba(30,42,94,0.4), 0 0 0 0 rgba(30,42,94,0.3); }
70% { box-shadow: 0 4px 20px rgba(30,42,94,0.4), 0 0 0 12px rgba(30,42,94,0); }
100% { box-shadow: 0 4px 20px rgba(30,42,94,0.4), 0 0 0 0 rgba(30,42,94,0); }
}
/*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; object-position: 20% center; 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; object-position: 100% center; }
.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; padding: 8px; }
.about-cert-card-icon img { width: 100%; height: 100%; object-fit: contain; }
.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-section::after { content: ''; position: absolute; inset: 0; background: rgba(13, 22, 40, 0.6); z-index: 1; }
.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; z-index: 2; }
.about-cta-img { position: absolute; inset: 0; background-size: cover; background-position: center; background-repeat: no-repeat; opacity: 0.4; mix-blend-mode: normal; }
.about-cta-inner { position: relative; z-index: 3; 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-company-heading { font-size: 26px; }
.about-company-body { font-size: 14px; }
.about-meaning-section { padding: 0 0 80px; }
.about-meaning-title { font-size: 22px; }
.about-meaning-card-title { font-size: 15px; }
.about-meaning-card-desc { font-size: 13px; }
.about-mission-section { padding: 64px 0 64px; }
.about-mission-title { font-size: 20px; }
.about-mission-desc { font-size: 13px; }
.about-mission-item-title { font-size: 15px; }
.about-cert-section { padding: 64px 0 80px; }
.about-cert-title { font-size: 22px; }
.about-cert-patents-desc { font-size: 12px; }
.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-num { font-size: 36px; }
.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-tech-heading { font-size: 26px; }
.about-tech-desc { font-size: 13px; }
.about-tech-card-title { font-size: 13px; }
.about-cta-section { padding: 80px 24px; }
.about-cta-title { font-size: 26px; }
.about-cta-desc { font-size: 13px; }
.about-cta-btn { width: 100%; max-width: 280px; justify-content: center; }
.about-cta-buttons { flex-direction: column; align-items: center; width: 100%; }
.about-cta-img { background-position: 20% center; background-size: cover; }
}
@keyframes about-cta-move {
0% { transform: translate(0%, 0%); }
50% { transform: translate(-10%, 8%); }
100% { transform: translate(10%, -8%); }
}
/* ════════════════════════════════
FlightControlPage — common.css 추가분
════════════════════════════════ */
.fc-eyebrow { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: #8895c0; margin-bottom: 1.5rem; }
.fc-eyebrow::before { content: ''; display: block; width: 20px; height: 2px; background: linear-gradient(90deg, #e91e8c, #6b21a8); }
.fc-eyebrow--light { color: rgba(255,255,255,0.45); }
.fc-eyebrow--light::before { background: rgba(255,255,255,0.4); }
.fc-section-title {display:block;font-size:1.5rem;font-weight:700;color:var(--color-primary);margin-bottom:2.5rem;letter-spacing:-.01em;}
/* ════════════════
1. 개요
════════════════ */
.fc-overview { position: relative; border-radius: 1.25rem; overflow: hidden; margin: 3rem 0 6rem; min-height: 520px; display: flex; align-items: flex-end; }
.fc-overview__bg {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.38) saturate(.6);}
.fc-overview__overlay {position:absolute;inset:0;background:linear-gradient(170deg, rgba(26,31,94,.6) 0%, rgba(26,31,94,.92) 60%);pointer-events:none;}
.fc-overview__content {position:relative;z-index:1;padding:3.5rem 3.5rem 4rem;width:100%;}
.fc-overview__title {margin:.6rem 0 2.5rem;}
.fc-overview__title-inner {font-size:2rem;font-weight:700;line-height:1.45;color:#fff;letter-spacing:-.01em;}
.fc-overview__bottom {display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start;}
.fc-overview__sub {font-size:.88rem;line-height:1.9;color:rgba(255,255,255,.5);margin:0;}
.fc-badges {display:flex;flex-wrap:wrap;gap:.45rem;align-content:flex-start;}
.fc-badge {display:inline-flex;align-items:center;gap:.4rem;padding:.42rem .8rem;border-radius:999px;border:1px solid var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary);font-size:.76rem;font-weight:600;transition:background .2s,color .2s,border-color .2s;cursor:default;}
.fc-badge:hover {background:var(--color-primary);color:#fff;border-color:var(--color-primary);}
.fc-badge--light {border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:rgba(255,255,255,.75);}
.fc-badge--light:hover {background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.3);color:#fff;}
/* ════════════════
2. intro
════════════════ */
.fc-intro { display: flex; gap: 48px; align-items: center; margin: 0 0 2rem; padding: 60px 0;}
.fc-intro__left { flex: 1; }
.fc-intro__title { font-size: 2rem; font-weight: 800; color: #1a1f3a; line-height: 1.35; letter-spacing: -0.02em; margin: 16px 0 28px; }
.fc-intro__desc { font-size: 0.9rem; color: #666; line-height: 1.9; margin-bottom: 48px; }
.fc-intro__icons { display: flex; gap: 32px; }
.fc-intro__icon-item { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.fc-intro__icon-item img { width: 80px; height: 80px; object-fit: contain; }
.fc-intro__icon-item span { font-size: 0.75rem; font-weight: 600; color: #888; }
.fc-intro__right { flex: 0 0 52%; }
.fc-intro__monitor { width: 100%; object-fit: contain; display: block; }
/* ════════════════
3. 기능 하이라이트
════════════════ */
.fc-highlight { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-bottom: 8rem; align-items: center; padding: 60px 0;}
.fc-highlight__item { display: flex; gap: 24px; align-items: center; }
.fc-highlight__text { flex: 0 0 40%; }
.fc-highlight__title { font-size: 1.75rem; font-weight: 800; color: #1a1f3a; line-height: 1.35; letter-spacing: -0.02em; margin: 10px 0 16px; }
.fc-highlight__desc { font-size: 0.88rem; color: #666; line-height: 1.9; }
.fc-highlight__img-wrap { flex: 1; }
.fc-highlight__img-wrap img { width: 100%; object-fit: contain; display: block; }
.fc-highlight__img-scene { position: relative; width: 100%; }
.fc-highlight__tablet { width: 100%; object-fit: contain; display: block; }
.fc-highlight__float-icon { position: absolute; width: 72px; height: 72px; object-fit: contain; filter: drop-shadow(0 8px 16px rgba(0,0,0,0.15)); }
.fc-situation { position: relative; width: 100%; }
/* 메인 이미지 크기 */
.fc-situation__main { width: 100%; object-fit: contain; display: block; }
/* 왼쪽 탭 위치/크기 */
.fc-situation__left { position: absolute; left: -20%; top: 10%; width: 60% !important; object-fit: contain; }
/* 오른쪽 탭 위치/크기 */
.fc-situation__right { position: absolute; right: -20%; top: 20%; width: 60% !important; object-fit: contain; }
/* 아래 탭 위치/크기 */
.fc-situation__bottom { position: absolute; bottom: -40%; left: -5%; width: 60%; object-fit: contain; }
/* ════════════════
4. 수치 지표
════════════════ */
.fc-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; margin-bottom: 8rem; border: 1px solid var(--color-primary-soft-border); border-radius: 1rem; overflow: hidden; }
.fc-stat-item {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2.5rem 1.5rem;text-align:center;border-right:1px solid var(--color-primary-soft-border);transition:background .2s;}
.fc-stat-item:last-child {border-right:none;}
.fc-stat-item:hover {background:var(--color-primary-soft);}
.fc-stat-item__value {font-size:2.25rem;font-weight:800;color:var(--color-primary);letter-spacing:-.03em;line-height:1;}
.fc-stat-item__label {font-size:.8rem;font-weight:500;color:#888;line-height:1.4;}
/* ════════════════
5. 적용 분야
════════════════ */
.fc-domains { margin-bottom: 8rem; }
.fc-domains__grid {display:grid;grid-template-columns:repeat(5,1fr);gap:1.25rem;}
.fc-domain-card {display:flex;flex-direction:column;gap:.75rem;padding:1.75rem 1.5rem;border:1px solid var(--color-primary-soft-border);border-radius:1rem;background:#fff;transition:border-color .2s,box-shadow .2s;cursor:default;}
.fc-domain-card:hover {border-color:var(--color-primary-border);box-shadow:0 8px 28px var(--color-primary-shadow);}
.fc-domain-card__icon {width:44px;height:44px;border-radius:.75rem;background:var(--color-primary-soft);display:flex;align-items:center;justify-content:center;color:var(--color-primary);transition:background .2s,color .2s;}
.fc-domain-card:hover .fc-domain-card__icon {background:var(--color-primary);color:#fff;}
.fc-domain-card__label {font-size:.88rem;font-weight:700;color:var(--color-primary);line-height:1.3;}
.fc-domain-card__desc {font-size:.78rem;line-height:1.65;color:#888;margin:0;}
/* ════════════════
6. 주요기능
════════════════ */
.fc-functions { margin-bottom: 8rem; }
.fc-functions__body {display:flex;gap:5rem;align-items:flex-start;}
.fc-func-list {flex:1;list-style:none;margin:0;padding:0;}
.fc-func-item {position:relative;display:flex;align-items:center;gap:2rem;padding:1.1rem 0;border-top:1px solid var(--color-primary-soft-border);overflow:hidden;cursor:default;}
.fc-func-list li:last-child {border-bottom:1px solid var(--color-primary-soft-border);}
.fc-func-item__num {font-size:.7rem;font-weight:800;letter-spacing:.1em;color:var(--color-primary-border-strong);flex-shrink:0;width:2rem;transition:color .3s;}
.fc-func-item.is-active .fc-func-item__num {color:var(--color-primary);}
.fc-func-item__label {flex:1;font-size:1rem;font-weight:600;color:#bbb;line-height:1.4;transition:color .3s;}
.fc-func-item.is-active .fc-func-item__label {color:#1a1f3a;}
.fc-func-item__arrow {flex-shrink:0;color:var(--color-primary);display:flex;align-items:center;}
.fc-func-item__line {position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--color-primary);transform-origin:left;will-change:transform;}
.fc-func-display {flex:0 0 500px;}
.fc-func-display__inner {position:relative;border-radius:.875rem;overflow:hidden;background:#0a0e2e;aspect-ratio:2/1;}
.fc-func-display__img {width:100%;height:100%;object-fit:cover;display:block;}
.fc-func-display__caption {position:absolute;bottom:0;left:0;right:0;padding:.85rem 1rem;background:linear-gradient(to top, rgba(10,14,46,.88) 0%, transparent 100%);display:flex;align-items:center;gap:.55rem;}
.fc-func-display__num {font-size:1rem;font-weight:800;color:var(--pink);line-height:1;}
.fc-func-display__label {font-size:.78rem;font-weight:600;color:#fff;}
/* ════════════════
7. 시스템 구성
════════════════ */
.fc-flow { padding-bottom: 10rem; }
.fc-flow__row {display:flex;align-items:flex-start;gap:0;}
.fc-flow__item {position:relative;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;padding:2rem 1rem;}
.fc-flow__step {font-size:.68rem;font-weight:800;letter-spacing:.12em;color:var(--color-primary-border-strong);}
.fc-flow__label {font-size:.92rem;font-weight:700;color:var(--color-primary);}
.fc-flow__desc {font-size:.76rem;line-height:1.65;color:#888;margin:0;}
.fc-flow__arrow {position:absolute;top:2.75rem;right:-1px;width:2px;height:1.5rem;background:var(--color-primary-soft-border);transform-origin:top;}
/* ════════════════
반응형
════════════════ */
@media (max-width: 1024px) {
.fc-overview {
min-height: 420px;
margin: 2rem 0 3rem;
}
.fc-overview__content {
padding: 3rem 2.5rem 3.5rem;
}
.fc-overview__title-inner {
font-size: 1.5rem;
}
.fc-overview__bottom {
grid-template-columns: 1fr;
gap: 1.25rem;
}
.fc-stats {
grid-template-columns: repeat(2, 1fr);
}
.fc-stat-item:nth-child(2) {
border-right: none;
}
.fc-stat-item:nth-child(1),
.fc-stat-item:nth-child(2) {
border-bottom: 1px solid var(--color-primary-soft-border);
}
.fc-domains__grid {
grid-template-columns: repeat(3, 1fr);
}
.fc-functions__body { flex-direction: column; gap: 2rem; }
.fc-func-display {
flex: none;
width: 100%;
max-width: 500px;
}
.fc-func-list{
width: 100%;
}
.fc-flow__row {
flex-direction: column;
gap: 1rem;
}
.fc-flow__item {
flex-direction: row;
text-align: left;
align-items: flex-start;
gap: 1rem;
}
.fc-flow__arrow {
display: none;
}
.fc-highlight { grid-template-columns: 1fr; gap: 48px; }
.fc-highlight__item { flex-direction: column; }
.fc-highlight__img-wrap { width: 100%; }
}
@media (max-width: 640px) {
.fc-overview {
border-radius: .875rem;
min-height: 360px;
}
.fc-overview__content {
padding: 2.5rem 1.75rem 3rem;
}
.fc-overview__title-inner {
font-size: 1.2rem;
}
.fc-domains__grid {
grid-template-columns: repeat(2, 1fr);
}
.fc-func-item__label {
font-size: .9rem;
}
.fc-intro { flex-direction: column; }
.fc-intro__right { width: 100%; }
.fc-intro__title { font-size: 1.5rem; }
.fc-highlight { gap: 32px; margin-bottom: 5rem; }
.fc-highlight__item { gap: 16px; }
.fc-highlight__title { font-size: 1.3rem; }
.fc-highlight__desc { font-size: 0.82rem; }
.fc-highlight__float-icon { width: 48px; height: 48px; }
.fc-highlight__img-scene { transform: scale(0.75); transform-origin: top center; }
}
/* ════════════════════════════════
IBEPAGE — common.css 추가분
════════════════════════════════ */
.ibe-channel-section { padding: 60px 0; }
.ibe-channel__title { font-size: 2rem; font-weight: 800; color: #1a1f3a; line-height: 1.35; letter-spacing: -0.02em; margin: 12px 0 16px; }
.ibe-channel__desc { font-size: 0.9rem; color: #666; line-height: 1.9; margin-bottom: 56px; }
.ibe-channel__diagram { position: relative; width: min(1540px, 100%); height: 430px; margin: 0 auto; display: grid; grid-template-columns: 420px 1fr 420px; align-items: center; }
.ibe-channel__svg { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.ibe-channel__svg path { fill: none; stroke: rgba(217,72,137,0.42); stroke-width: 2; }
.ibe-channel__svg circle { fill: #d94889; opacity: 0.85; }
.ibe-channel__col { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 34px; }
.ibe-channel__col--left { align-items: flex-start; }
.ibe-channel__col--right { align-items: flex-end; }
.ibe-channel__card { width: 285px; height: 82px; display: flex; align-items: center; gap: 18px; padding: 0 28px; border: 1px solid rgba(232,234,243,0.9); border-radius: 18px; background: rgba(255,255,255,0.92); box-shadow: 0 8px 28px rgba(31,34,64,0.11); }
.ibe-channel__card img { width: 44px; height: 44px; object-fit: contain; }
.ibe-channel__card span { font-size: 1rem; font-weight: 700; color: var(--color-primary); }
.ibe-channel__center { position: relative; z-index: 3; display: flex; justify-content: center; align-items: center; }
.ibe-channel__center-img { width: 310px; object-fit: contain; filter: drop-shadow(0 24px 35px rgba(93,47,151,0.22)); }
.ibe-channel__svg path { fill: none; stroke: rgba(139,92,246,0.35); stroke-width: 2; stroke-dasharray: 12 6; animation: ibe-flow 2s linear infinite; }
.ibe-channel__svg path { fill: none; stroke: rgba(139,92,246,0.35); stroke-width: 2; stroke-dasharray: 12 6; animation: ibe-flow 2s linear infinite; }
.ibe-channel__svg path:nth-child(1),
.ibe-channel__svg path:nth-child(2),
.ibe-channel__svg path:nth-child(3) { animation-name: ibe-flow-right; }
.ibe-channel__svg path:nth-child(4),
.ibe-channel__svg path:nth-child(5),
.ibe-channel__svg path:nth-child(6) { animation-name: ibe-flow-left; }
.ibe-channel__svg path:nth-child(2) { animation-delay: 0.3s; }
.ibe-channel__svg path:nth-child(3) { animation-delay: 0.6s; }
.ibe-channel__svg path:nth-child(5) { animation-delay: 0.3s; }
.ibe-channel__svg path:nth-child(6) { animation-delay: 0.6s; }
.ibe-channel__svg circle { fill: #8b5cf6; opacity: 0.7; }
.ibe-channel__cols-wrap { display: contents; }
@media (max-width: 1024px) {
.ibe-channel__diagram { width: 100%; height: auto; display: flex; flex-direction: column; gap: 24px; }
.ibe-channel__svg { display: none; }
.ibe-channel__center { display: none; }
.ibe-channel__col { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 12px; width: 100%; }
.ibe-channel__col--left, .ibe-channel__col--right { align-items: center; }
.ibe-channel__card { width: calc(50% - 6px); height: 72px; }
.ibe-channel__cols-wrap { display: flex; flex-wrap: wrap; gap: 12px; width: 100%; }
.ibe-channel__cols-wrap .ibe-channel__col { flex: 1; min-width: 0; flex-direction: column; }
}
@media (max-width: 640px) {
.ibe-channel__card { width: 100%; height: 64px; padding: 0 16px; gap: 10px; }
.ibe-channel__card img { width: 32px; height: 32px; }
.ibe-channel__card span { font-size: 0.85rem; }
}
@keyframes ibe-flow-right { from { stroke-dashoffset: 0; } to { stroke-dashoffset: -36; } }
@keyframes ibe-flow-left { from { stroke-dashoffset: 0; } to { stroke-dashoffset: 36; } }
.ibe-booking-section { padding: 60px 0 80px; }
.ibe-booking__title { font-size: 2rem; font-weight: 800; color: #1a1f3a; margin: 12px 0 56px; letter-spacing: -0.02em; }
.ibe-booking__flow { display: flex; align-items: flex-start; justify-content: center; }
.ibe-booking__item { display: flex; flex-direction: column; align-items: center; flex: 1; }
.ibe-booking__connector { flex: 1; position: relative; height: 4px; margin-top: 40px; }
.ibe-booking__line-bg { position: absolute; top: 50%; left: 0; right: 0; height: 1px; background: rgba(139,92,246,0.15); }
.ibe-booking__line-flow { position: absolute; top: 50%; left: 0; right: 0; height: 2px; overflow: hidden; }
.ibe-booking__line-flow::after { content: ''; position: absolute; top: 0; left: -40%; width: 40%; height: 100%; background: linear-gradient(90deg, transparent, rgba(139,92,246,0.8), transparent); animation: ibe-booking-flow 1.8s linear infinite; animation-delay: var(--delay, 0s); }
.ibe-booking__circle { width: 88px; height: 88px; border-radius: 50%; background: #f8faff; display: flex; align-items: center; justify-content: center; box-shadow: 5px 5px 12px rgba(0,0,0,0.06), -5px -5px 12px #fff; margin-bottom: 20px; }
.ibe-booking__circle img { width: 48px; height: 48px; object-fit: contain; }
.ibe-booking__num { font-size: 10px; font-weight: 700; color: var(--color-primary-light); letter-spacing: 0.1em; margin-bottom: 6px; }
.ibe-booking__label { font-size: 14px; font-weight: 700; color: var(--color-primary); margin-bottom: 8px; }
.ibe-booking__desc { font-size: 12px; color: #888; line-height: 1.7; text-align: center; }
@media (max-width: 768px) {
.ibe-booking__flow {
flex-direction: column;
align-items: flex-start;
gap: 0;
padding-left: 16px;
}
.ibe-booking__item {
flex-direction: row;
align-items: center;
gap: 20px;
width: 100%;
}
.ibe-booking__circle {
flex-shrink: 0;
width: 64px;
height: 64px;
margin-bottom: 0;
}
.ibe-booking__text-wrap {
display: flex;
flex-direction: column;
}
.ibe-booking__num { margin-bottom: 2px; }
.ibe-booking__desc { text-align: left; }
/* 커넥터: 원(64px) 중심(32px)에 맞춰 세로선 */
.ibe-booking__connector {
flex: none;
width: 2px;
height: 40px;
margin: 4px 0 4px 31px; /* 31px = 원 중심 32px - 선 두께 1px */
position: relative;
}
.ibe-booking__line-bg {
position: absolute;
top: 0; left: 0;
width: 1px; height: 100%;
right: auto;
background: rgba(139, 92, 246, 0.15);
}
.ibe-booking__line-flow {
position: absolute;
top: 0; left: 0;
width: 2px; height: 100%;
right: auto;
overflow: hidden;
}
.ibe-booking__line-flow::after {
content: '';
position: absolute;
left: 0;
top: -40%;
width: 100%;
height: 40%;
background: linear-gradient(180deg, transparent, rgba(139, 92, 246, 0.8), transparent);
animation: ibe-booking-flow-v 1.8s linear infinite;
animation-delay: var(--delay, 0s);
}
}
@keyframes ibe-booking-flow-v {
from { top: -40%; }
to { top: 100%; }
}
@keyframes ibe-booking-flow { from { left: -40%; } to { left: 100%; } }