@charset "utf-8";

*{box-sizing: border-box;}

:root{
  /* Color */
  --bg:#ffffff;
  --bg-alt:#f7f7f8;
  --bg-alt-2:#f3f3f5;
  --bg-dark:#0f1925;
  --ink:#0a0a0a;
  --muted:#888;
  --line:#e8e8e8;
  --line-2:#f0f0f0;
  --accent:#1E3A6B;
  --accent-2:#2A5599;
  --hl-orange:#d97706;
  --hl-red:#dc2626;

  /* Typography — 5-Tier Hierarchy
     T1 Display : Hero 대형 타이틀
     T2 Heading : 섹션 타이틀
     T3 Subhead : 카드 / 서브 타이틀
     T4 Body    : 본문 (Base 16px)
     T5 Caption : 캡션·메타 (최소 13px)                                   */
  --fs-1: clamp(2.75rem, 12vw, 8rem);       /* 44px ~ 128px (Display) */
  --fs-2: clamp(1.5rem, 3.6vw, 2.5rem);     /* 24px ~ 40px */
  --fs-3: clamp(1.125rem, 1.8vw, 1.5rem);   /* 18px ~ 24px */
  --fs-4: 1rem;                              /* 16px (Base) */
  --fs-5: 0.8125rem;                         /* 13px (Min) */

}

/* ─────────────────────────────────────────
   1. Reset & Base
   ───────────────────────────────────────── */
*{margin:0;padding:0;box-sizing:border-box;}
html{font-size:16px;}
html,body{
  background:var(--bg);
  color:var(--ink);
  font-size:var(--fs-4);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
body{overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

/* Common Container */
.inner{
  max-width:1440px;
  width:100%;
  margin:0 auto;
  padding:0 40px;
}

/* ─────────────────────────────────────────
   2. Hero (4개 페이지 공통 구조)
   ───────────────────────────────────────── */
.hero-section{
  position:relative;
  width:100%;
  height:100vh;
  min-height:560px;
  max-height:820px;
  overflow:hidden;
  background:#0a0a0a;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-section::before{
  content: "";
  width: 130%;
  height: 260px;
  border-radius: 50%;
  background: #FFF;
  position: absolute;
  left: 50%;
  bottom: -130px;
  z-index: 3;
  transform: translateX(-50%);
}
.hero-section.grey::before{
  background: #F3F3F5;
}
.hero-bg{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center;
  filter:brightness(.42) contrast(1.08) saturate(.78);
}
.hero-section::after{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.18) 0%, rgba(0,0,0,.55) 100%);
  pointer-events:none;
}
.hero-content{
  position:relative;z-index:2;
  text-align:center;
  width:100%;
  max-width:1440px;
  padding:0 40px;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-size:15px;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:rgba(255,255,255,.65);
  font-weight:500;
  margin-bottom:32px;
}
.hero-eyebrow::before,
.hero-eyebrow::after{
  content:"";width:32px;height:1px;
  background:rgba(255,255,255,.5);
}
.hero-title{
  font-size:var(--fs-1);                    /* T1 Display */
  font-weight:800;
  letter-spacing:-0.05em;
  line-height:1;
  color:#fff;
}
.hero-sub{
  margin-top:32px;
  font-size:20px;
  font-weight:400;
  color:rgba(255,255,255,.85);
  letter-spacing:-0.015em;
  line-height:1.7;
}

/* ─────────────────────────────────────────
   3. Common Section Header
   ───────────────────────────────────────── */
.section-head{
  text-align:center;
  margin-bottom:80px;
}
.section-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:var(--fs-5);
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:500;
  margin-bottom:20px;
}
.section-eyebrow::before,
.section-eyebrow::after{
  content:"";width:24px;height:1px;
  background:var(--ink);opacity:.4;
}
.section-title{
  font-size:var(--fs-2);                   /* T2 */
  font-weight:300;
  line-height:1.2;
  letter-spacing:-0.035em;
  color:var(--ink);
}
.section-title em{
  font-style:normal;
  font-weight:800;
  color:var(--accent);
}

/* ==========================================================================
   PAGE 1: 회사소개 (About) — strength / values / cert / map
   ========================================================================== */

/* ── 3가지 강점 ── */
.strength-section{
  background:var(--bg);
  padding:0 0 120px;
}
.strength-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
}
.r-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:6px;
  overflow:hidden;
  transition:transform .45s cubic-bezier(.2,.7,.2,1),
             box-shadow .45s ease,
             border-color .45s ease;
  display:flex;flex-direction:column;
}
.r-card:hover{
  transform:translateY(-6px);
  border-color:transparent;
  box-shadow:0 24px 60px rgba(0,0,0,.08);
}
.r-card .r-img{
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
}
.r-card .r-img .inner-img{
  width:100%;height:100%;
  background-size:cover;background-position:center;
  transition:transform 1s cubic-bezier(.2,.7,.2,1);
}
.r-card:hover .r-img .inner-img{transform:scale(1.06);}
.r-card .r-body{
  padding:36px 36px 44px;
  flex:1;
  display:flex;flex-direction:column;
  align-items:flex-start;
  gap:18px;
}
.r-num{
  display:inline-flex;align-items:center;
  background:var(--bg-alt);
  border-radius:999px;
  padding:8px 18px;
  font-size:var(--fs-5);                   /* T5 */
  font-weight:700;
  color:var(--ink);
  letter-spacing:-0.005em;
}
.r-num em{
  font-style:normal;
  color:var(--accent-2);
  margin-left:6px;
}
.r-title{
  font-size:var(--fs-3);                   /* T3 */
  font-weight:800;
  color:var(--accent);
  letter-spacing:-0.035em;
  line-height:1.3;
}
.r-text{
  font-size:var(--fs-4);                   /* T4 */
  line-height:1.7;
  color:#555;
  letter-spacing:-0.01em;
}

/* ── 핵심가치 4 카드 ── */
.values-section{
  background:var(--bg-alt);
  padding:140px 0;
}
.values-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
}
.v-card{
  background:#fff;
  border-radius:8px;
  padding:48px 32px 44px;
  text-align:center;
  border:1px solid var(--line-2);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),
             box-shadow .45s ease,
             border-color .45s ease;
  display:flex;flex-direction:column;
  align-items:center;
  gap:24px;
}
.v-card:hover{
  transform:translateY(-6px);
  border-color:transparent;
  box-shadow:0 18px 50px rgba(30,58,107,.12);
}
.v-icon{
  width:96px;height:96px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  box-shadow:0 8px 24px rgba(30,58,107,.25);
  flex-shrink:0;
  transition:transform .45s cubic-bezier(.2,.7,.2,1);
}
.v-icon i{
  font-size:2.375rem;                      /* 38px - 아이콘 (텍스트 아님) */
  color:#fff;
}
.v-card:hover .v-icon{transform:scale(1.05) rotate(-3deg);}
.v-text{display:flex;flex-direction:column;gap:14px;}
.v-label{display:flex;flex-direction:column;gap:4px;}
.v-label .ko{
  font-size:var(--fs-3);                   /* T3 */
  font-weight:800;
  color:var(--ink);
  letter-spacing:-0.03em;
}
.v-label .en{
  font-size:var(--fs-5);                   /* T5 */
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent-2);
  font-weight:600;
}
.v-desc{
  font-size:var(--fs-4);                   /* T4 */
  line-height:1.7;
  color:#555;
  letter-spacing:-0.01em;
}

/* ── 여성기업 + 오시는 길 ── */
.info-section{
  background:var(--bg);
  padding:120px 0 0;
}
.cert-block{
  display:flex;align-items:center;justify-content:center;
  gap:36px;
  padding-bottom:20px;
}
.cert-badge{
  display: flex;
  width: 100%;
  max-width: 200px;
}
.cert-badge img{
  width: 100%;
}
.cert-text{
  font-size:var(--fs-3);                   /* T3 */
  font-weight:700;
  color:var(--ink);
  letter-spacing:-0.025em;
  line-height:1.4;
}

.map-block{
  background:var(--bg-alt);
  padding:80px 0;
  margin-top:80px;
}
.map-title{
  font-size:var(--fs-2);                   /* T2 */
  font-weight:800;
  color:var(--accent);
  letter-spacing:-0.035em;
  margin-bottom:36px;
}
.map-frame{
  width:100%;
  height:480px;
  background:#ddd;
  border-radius:6px;
  overflow:hidden;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.map-frame iframe{
  width:100%;height:100%;border:0;display:block;
  filter:saturate(.7) brightness(1.02);
}
.root_daum_roughmap{
  width: 100% !important;
}
.info-bars{
  margin-top:24px;
  display:grid;
  grid-template-columns:1.7fr 1fr;
  gap:16px;
}
.info-bar{
  background:#fff;
  padding:26px 32px;
  display:flex;align-items:center;gap:28px;
  border-radius:6px;
  border:1px solid var(--line);
  transition:background .35s ease, border-color .35s ease, color .35s ease;
}
.info-bar .label{
  display:flex;align-items:center;gap:12px;
  font-size:var(--fs-5);                   /* T5 */
  font-weight:700;
  color:var(--accent);
  letter-spacing:.14em;
  border-right:1px solid var(--line);
  padding-right:28px;
  flex-shrink:0;
  transition:color .35s ease, border-color .35s ease;
}
.info-bar .label i{font-size:var(--fs-4);flex-shrink:0;}
.info-bar .text{
  font-size:var(--fs-4);                   /* T4 */
  color:var(--ink);
  font-weight:500;
  letter-spacing:-0.015em;
  transition:color .35s ease;
}
.phone-bar{cursor:pointer;}
.phone-bar:hover{background:var(--accent);border-color:var(--accent);}
.phone-bar:hover .label{color:#fff;border-color:rgba(255,255,255,.3);}
.phone-bar:hover .text{color:#fff;}

/* ==========================================================================
   PAGE 2: 조직도 (Organization) — org cards + work process
   ========================================================================== */

/* ── 조직도 4 카드 ── */
.org-section{
  background:var(--bg);
  padding:0 0 140px;
  position:relative;
}
.org-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-bottom:80px;
  padding-bottom:32px;
  border-bottom:1px solid var(--line);
  gap:60px;
}
.org-head .left{display:flex;flex-direction:column;gap:18px;}
.org-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:var(--fs-5);                   /* T5 */
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:500;
}
.org-eyebrow::before{
  content:"";width:28px;height:1px;background:var(--ink);
}
.org-title{
  font-size:var(--fs-2);                   /* T2 */
  font-weight:300;
  letter-spacing:-0.04em;
  line-height:1.15;
  color:var(--ink);
}
.org-title em{font-style:normal;font-weight:800;color:var(--accent);}
.org-head .right{
  text-align:right;
  font-size:var(--fs-4);                   /* T4 */
  color:#666;
  line-height:1.7;
  letter-spacing:-0.01em;
  max-width:340px;
  padding-bottom:6px;
}

.org-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
  border-top:1px solid var(--line);
}
.org-card{
  padding:48px 32px 36px;
  display:flex;flex-direction:column;
  position:relative;
  background:var(--bg);
  border-bottom:1px solid var(--line);
  border-left:1px solid var(--line);
  transition:background .35s ease;
}
.org-card:last-child{border-right:1px solid var(--line);}
.org-card:hover{background:var(--bg-alt);}
.org-card .num{
  font-size:var(--fs-5);                   /* T5 */
  font-weight:700;
  color:var(--accent);
  letter-spacing:.06em;
  margin-bottom:80px;
  display:flex;align-items:center;gap:12px;
}
.org-card .num::after{
  content:"";flex:1;height:1px;background:var(--line);
}
.org-card .titles{
  display:flex;flex-direction:column;gap:6px;margin-bottom:28px;
}
.org-card .ko{
  font-size:var(--fs-2);                   /* T2 */
  font-weight:800;
  color:var(--ink);
  letter-spacing:-0.035em;
  line-height:1;
}
.org-card .en{
  font-size:var(--fs-5);                   /* T5 */
  font-weight:500;
  color:var(--muted);
  letter-spacing:.18em;
  text-transform:uppercase;
}
.org-card .items{
  list-style:none;
  display:flex;flex-direction:column;gap:10px;
  margin-bottom:36px;
  padding-bottom:24px;
  border-bottom:1px solid var(--line);
}
.org-card .item{
  font-size:var(--fs-4);                   /* T4 */
  color:#444;
  font-weight:500;
  letter-spacing:-0.01em;
  line-height:1.5;
  display:flex;align-items:flex-start;gap:10px;
}
.org-card .item::before{
  content:"";flex-shrink:0;
  width:5px;height:5px;
  background:var(--accent);
  border-radius:50%;
  margin-top:8px;
}
.org-card .img-wrap{
  margin-top:auto;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:4px;
  background:#eee;
}
.org-card .img-wrap .inner-img{
  width:100%;height:100%;
  background-size:cover;background-position:center;
  transition:transform .9s cubic-bezier(.2,.7,.2,1), filter .5s;
  filter:saturate(.85);
}
.org-card:hover .img-wrap .inner-img{transform:scale(1.06);filter:saturate(1);}

/* ── Work Process ── */
.process-section{
  background:var(--bg-dark);
  color:#fff;
  padding:140px 0 160px;
  position:relative;
  overflow:hidden;
}
.process-section::before{
  content:"";
  position:absolute;
  top:50%;right:-150px;
  transform:translateY(-50%);
  width:600px;height:600px;
  background:radial-gradient(circle, rgba(42,85,153,.18) 0%, transparent 70%);
  pointer-events:none;
}
.process-head{
  margin-bottom:100px;
  display:flex;justify-content:space-between;align-items:flex-end;gap:40px;
  position:relative;z-index:1;
}
.process-head .left{display:flex;flex-direction:column;gap:18px;}
.process-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:var(--fs-5);                   /* T5 */
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
  font-weight:500;
}
.process-eyebrow::before{
  content:"";width:28px;height:1px;background:rgba(255,255,255,.5);
}
.process-title{
  font-size:var(--fs-2);                   /* T2 */
  font-weight:800;
  letter-spacing:-0.04em;
  line-height:1.1;
  color:#fff;
}
.process-head .right{
  font-size:var(--fs-4);                   /* T4 */
  color:rgba(255,255,255,.6);
  line-height:1.7;
  max-width:380px;
  text-align:right;
  padding-bottom:8px;
  letter-spacing:-0.01em;
}

.process-diagram{position:relative;}
.node-row{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:30px;
  align-items:center;
  margin-bottom:64px;
  position:relative;
}
.node-cell{
  display:flex;
  justify-content:center;
  align-items:center;
  position:relative;
}
.node-cell:not(:last-child)::after{
  content:"";
  position:absolute;
  top:50%;
  left:calc(50% + 52px);
  width:calc(100% - 74px);
  height:1px;
  background-image:linear-gradient(to right, rgba(91,139,214) 60%, transparent 50%);
  background-size:10px 1px;
  background-repeat:repeat-x;
  transform:translateY(-50%);
  z-index:1;
}
.node-cell:not(:first-child)::before{
  content:"";
  position:absolute;
  top:50%;
  left:calc(50% - 58px);
  width:0;height:0;
  border-left:6px solid rgba(91,139,214,.65);
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  transform:translateY(-50%);
  z-index:1;
}
.node{
  width:104px;height:104px;
  border-radius:50%;
  border:1.5px solid rgba(91,139,214,.45);
  background:
    radial-gradient(circle at 30% 30%, rgba(42,85,153,.25), transparent 65%),
    var(--bg-dark);
  display:flex;align-items:center;justify-content:center;
  position:relative;z-index:2;
  transition:transform .5s cubic-bezier(.2,.7,.2,1),
             border-color .4s ease,
             box-shadow .4s ease;
}
.node::before{
  content:"";
  position:absolute;inset:7px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.06);
}
.node::after{
  content:"";
  position:absolute;inset:-6px;
  border-radius:50%;
  border:1px dashed rgba(91,139,214,.18);
  animation:nodeRing 12s linear infinite;
}
@keyframes nodeRing{ to{transform:rotate(360deg);} }
.node:hover{
  transform:translateY(-3px);
  border-color:rgba(91,139,214,.85);
  box-shadow:0 0 0 6px rgba(42,85,153,.12);
}
.node-num{
  font-size:var(--fs-2);                   /* T2 */
  font-weight:800;
  color:#fff;
  letter-spacing:-0.04em;
  line-height:1;
}

.content-row{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:30px;
  position:relative;
}
.content-col{
  position:relative;
  padding:42px 18px 0;
  text-align:center;
  transition:transform .4s ease;
}
.content-col::before{
  content:"";
  position:absolute;
  top:0;left:50%;
  width:1px;height:30px;
  background:linear-gradient(180deg, rgba(91,139,214,.55), rgba(91,139,214,.05));
}
.content-col::after{
  content:"";
  position:absolute;
  top:28px;left:50%;
  width:5px;height:5px;
  border-radius:50%;
  background:var(--accent-2);
  transform:translateX(-50%);
  box-shadow:0 0 0 3px rgba(42,85,153,.2);
}
.content-col:hover{transform:translateY(-4px);}
.col-num-mobile{display:none;}
.c-titles{
  display:flex;flex-direction:column;gap:6px;
  margin-bottom:18px;
}
.c-titles .ko{
  font-size:var(--fs-3);                   /* T3 */
  font-weight:800;
  color:#fff;
  letter-spacing:-0.025em;
  line-height:1.25;
}
.c-titles .en{
  font-size:var(--fs-5);                   /* T5 */
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
  font-weight:500;
}
.c-text{
  font-size:var(--fs-4);                   /* T4 */
  color:rgba(255,255,255,.65);
  line-height:1.75;
  letter-spacing:-0.005em;
  margin-bottom:24px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.1);
  text-align:left;
}
.c-tags{
  display:flex;flex-wrap:wrap;
  justify-content:center;gap:6px;
}
.c-tag{
  padding:5px 11px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  font-size:var(--fs-5);                   /* T5 */
  color:rgba(255,255,255,.75);
  letter-spacing:.01em;
  font-weight:500;
  transition:all .3s ease;
}
.content-col:hover .c-tag{
  border-color:rgba(91,139,214,.32);
  background:rgba(42,85,153,.1);
}

/* ==========================================================================
   PAGE 3: 사업분야 (Services) — services intro + 7 service rows + CTA
   ========================================================================== */

.services-intro{
  background:var(--bg);
  padding:0 0 80px;
}
.intro-head{
  text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:20px;
}
.intro-head.mb{
  margin-bottom: 80px;
}
.intro-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:var(--fs-5);                   /* T5 */
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:500;
}
.intro-eyebrow::before,
.intro-eyebrow::after{
  content:"";width:24px;height:1px;background:var(--ink);opacity:.4;
}
.intro-title{
  font-size:var(--fs-2);                   /* T2 */
  font-weight:300;
  letter-spacing:-0.04em;
  line-height:1.2;
  color:var(--ink);
}
.intro-title em{font-style:normal;font-weight:800;color:var(--accent);}
.intro-text{
  margin-top:8px;
  font-size:var(--fs-4);                   /* T4 */
  color:#666;
  line-height:1.8;
  max-width:560px;
  letter-spacing:-0.01em;
}

.service-row{
  padding:90px 0;
  background:var(--bg);
  position:relative;
}
.service-row.gray{background:var(--bg-alt);}
.service-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}
.service-row.alt .service-card{
  grid-template-areas:"content image";
}
.service-row.alt .image-side{grid-area:image;}
.service-row.alt .content-side{grid-area:content;}

.image-side{
  position:relative;
  aspect-ratio:16/11;
  overflow:hidden;
  border-radius:6px;
  background:#eee;
}
.image-side .num-badge{
  position:absolute;
  top:0;left:0;
  background:var(--ink);
  color:#fff;
  padding:14px 24px 14px 22px;
  font-size:var(--fs-5);                   /* T5 */
  font-weight:700;
  letter-spacing:.18em;
  z-index:2;
  display:flex;align-items:center;gap:10px;
  display: none;
}
.image-side .num-badge::after{
  content:"";width:24px;height:1px;background:rgba(255,255,255,.5);
}
.image-side .img{
  width:100%;height:100%;
  background-size:cover;background-position:center;
  transition:transform 1s cubic-bezier(.2,.7,.2,1), filter .5s;
  filter:saturate(.95);
}
.service-card:hover .img{transform:scale(1.04);filter:saturate(1);}

.content-side{
  display:flex;flex-direction:column;
  gap:32px;
}
.service-icon{
  width:64px;height:64px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  box-shadow:0 8px 22px rgba(30,58,107,.2);
  flex-shrink:0;
}
.service-icon i{font-size:1.5rem;color:#fff;}  /* 24px - 아이콘 */
.service-title{
  display:flex;flex-direction:column;gap:6px;
  padding-bottom:24px;
  border-bottom:1px solid var(--line);
}
.service-title .ko{
  font-size:var(--fs-2);                   /* T2 */
  font-weight:800;
  color:var(--accent);
  letter-spacing:-0.035em;
  line-height:1.15;
}
.service-title .en{
  font-size:var(--fs-5);                   /* T5 */
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:500;
}
.service-items{
  list-style:none;
  display:flex;flex-direction:column;gap:14px;
}
.service-items li{
  display:flex;align-items:flex-start;gap:14px;
  font-size:var(--fs-4);                   /* T4 */
  color:#3a3a3a;
  line-height:1.55;
  letter-spacing:-0.01em;
  font-weight:500;
}
.service-items li::before{
  content:"";flex-shrink:0;
  width:6px;height:6px;
  background:var(--accent);
  border-radius:50%;
  margin-top:9px;
}
.service-items li em{
  font-style:normal;
  color:var(--hl-orange);
  font-weight:700;
}
.service-items li.highlight{
  color:var(--hl-red);
  font-weight:700;
}

/* ── CTA (조직도 외 페이지 공통) ── */
.cta-section{
  background:var(--bg-dark);
  color:#fff;
  padding:100px 0;
  text-align:center;
  position:relative;overflow:hidden;
}
.cta-section::before{
  content:"";
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%, -50%);
  width:800px;height:800px;
  background:radial-gradient(circle, rgba(42,85,153,.15) 0%, transparent 70%);
  pointer-events:none;
}
.cta-inner{
  position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:center;gap:24px;
}
.cta-eyebrow{
  font-size:var(--fs-5);                   /* T5 */
  letter-spacing:.32em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
  font-weight:500;
}
.cta-title{
  font-size:var(--fs-2);                   /* T2 */
  font-weight:800;
  letter-spacing:-0.035em;
  line-height:1.25;
  color:#fff;
}
.cta-text{
  font-size:var(--fs-4);                   /* T4 */
  color:rgba(255,255,255,.7);
  line-height:1.8;
  letter-spacing:-0.01em;
  max-width:520px;
}
.cta-btn{
  margin-top:16px;
  display:inline-flex;align-items:center;gap:14px;
  padding:18px 36px;
  border-radius:999px;
  background:#fff;
  color:var(--bg-dark);
  font-size:var(--fs-4);                   /* T4 */
  font-weight:700;
  letter-spacing:.02em;
  transition:transform .3s ease, box-shadow .3s ease;
}
.cta-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 40px rgba(0,0,0,.4);
}
.cta-btn i{transition:transform .3s ease;}
.cta-btn:hover i:last-child{transform:translateX(4px);}

/* ==========================================================================
   PAGE 4: 행사지원 (Support) — brand divider + 3 cards
   ========================================================================== */

.support-section{
  background:var(--bg-alt-2);
  padding:0 0 140px;
  position:relative;
}
.brand-display{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  margin-bottom:80px;
  text-align:center;
}
.brand-display .brand-mark{
  font-size:var(--fs-2);                   /* T2 */
  font-weight:800;
  letter-spacing:-0.05em;
  line-height:1;
  color:var(--accent);
  margin-bottom:6px;
}
.brand-display .brand-ko{
  font-size:var(--fs-3);                   /* T3 */
  font-weight:600;
  letter-spacing:-0.02em;
  color:var(--accent);
}
.brand-display .brand-en{
  margin-top:4px;
  font-size:var(--fs-5);                   /* T5 */
  letter-spacing:.36em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:500;
}
.brand-display .brand-line{
  margin-top:24px;
  width:48px;height:1px;
  background:var(--accent);
  opacity:.4;
}

.support-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
}
.s-card{
  background:#fff;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 0 0 1px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.04);
  transition:transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease;
  display:flex;flex-direction:column;
}
.s-card:hover{
  transform:translateY(-6px);
  box-shadow:0 0 0 1px rgba(30,58,107,.08), 0 22px 50px rgba(0,0,0,.1);
}
.s-card .s-img{
  width:100%;
  aspect-ratio:3/4;
  overflow:hidden;
  background:#eee;
}
.s-card .s-img .inner-img{
  width:100%;height:100%;
  background-size:cover;background-position:center;
  transition:transform 1s cubic-bezier(.2,.7,.2,1);
}
.s-card:hover .s-img .inner-img{transform:scale(1.06);}
.s-card .s-body{
  padding:36px 32px 44px;
  flex:1;
  display:flex;flex-direction:column;
  align-items:center;
  text-align:center;
  gap:24px;
}
.s-card .s-icon{
  width:54px;height:54px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  box-shadow:0 6px 18px rgba(30,58,107,.22);
}
.s-card .s-icon i{font-size:1.25rem;color:#fff;}  /* 20px 아이콘 */
.s-card .s-title{
  font-size:var(--fs-3);                   /* T3 */
  font-weight:800;
  color:var(--ink);
  letter-spacing:-0.025em;
  line-height:1.3;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
  width:100%;
}
.s-card .s-items{
  list-style:none;
  display:flex;flex-direction:column;gap:14px;
  width:fit-content;
  text-align:left;
}
.s-card .s-items li{
  display:flex;align-items:flex-start;gap:12px;
  font-size:var(--fs-4);                   /* T4 */
  color:#3a3a3a;
  font-weight:500;
  letter-spacing:-0.01em;
  line-height:1.5;
}
.s-card .s-items li::before{
  content:"";flex-shrink:0;
  width:5px;height:5px;
  background:var(--accent);
  border-radius:50%;
  margin-top:8px;
}

/* ==========================================================================
   RESPONSIVE — 1280px → 280px (Galaxy Z Fold 접힘)
   ========================================================================== */

/* ─── ≤ 1280px : 데스크톱 → 노트북 ─── */
@media (max-width: 1280px){
  .inner{padding:0 32px;}
  .hero-content{padding:0 32px;}
  .service-card{gap:60px;}
  .node-row{gap:24px;}
  .node{width:92px;height:92px;}
  .node-cell:not(:last-child)::after{
    left:calc(50% + 46px);
    width:calc(100% - 68px);
  }
  .node-cell:not(:first-child)::before{left:calc(50% - 52px);}
  .content-row{gap:24px;}
}

/* ─── ≤ 1080px : 태블릿 가로 ─── */
@media (max-width: 1080px){
  .strength-grid{grid-template-columns:repeat(2, 1fr);}
  .values-grid{grid-template-columns:repeat(2, 1fr);}
  .org-grid{grid-template-columns:repeat(2, 1fr);}
  .org-card:nth-child(2){border-right:1px solid var(--line);}
  .org-card:nth-child(3),
  .org-card:nth-child(4){border-bottom:1px solid var(--line);}
  .service-card{gap:48px;}
  .org-card .num{margin-bottom:48px;}
  .node-row{gap:16px;margin-bottom:48px;}
  .node{width:80px;height:80px;}
  .node-cell:not(:last-child)::after{
    left:calc(50% + 40px);
    width:calc(100% - 64px);
  }
  .node-cell:not(:first-child)::before{left:calc(50% - 46px);}
  .content-row{gap:16px;}
  .content-col{padding:36px 12px 0;}
  .support-grid{gap:20px;}
  .s-card .s-body{padding:32px 24px 36px;}

  .hero-section::before{
    height: 200px;
    bottom: -100px;
  }
}

/* ─── ≤ 900px : 태블릿 세로 ─── */
@media (max-width: 900px){
  .strength-section{padding:0 0 100px;}
  .values-section{padding:100px 0;}
  .info-section{padding:100px 0 0;}
  .section-head{margin-bottom:60px;}
  .strength-grid{grid-template-columns:1fr;gap:24px;}
  .cert-block{flex-direction:column;text-align:center;gap:24px;}

  .org-section{padding:100px 0;}
  .org-head{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:48px;}
  .org-head .right{text-align:left;max-width:none;}
  .process-section{padding:100px 0 120px;}
  .process-head{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:60px;}
  .process-head .right{text-align:left;max-width:none;}

  .services-intro{padding:120px 0 60px;}
  .intro-head.mb{
    margin-bottom: 60px;
  }
  .service-row{padding:60px 0;}
  .service-card,
  .service-row.alt .service-card{
    grid-template-columns:1fr;
    grid-template-areas:"image" "content";
    gap:36px;
  }
  .service-row.alt .image-side,
  .image-side{grid-area:image;}
  .service-row.alt .content-side,
  .content-side{grid-area:content;}
  .image-side{aspect-ratio:16/9;}

  .support-section{padding:90px 0 100px;}
  .brand-display{margin-bottom:56px;}
  .support-grid{grid-template-columns:1fr;gap:24px;max-width:500px;margin:0 auto;}
  .s-card .s-img{aspect-ratio:16/10;}
}

/* ─── ≤ 768px : 모바일 가로 / 태블릿 작은 ─── */
@media (max-width: 768px){
  .inner{padding:0 24px;}
  .hero-content{padding:0 24px;}
  .strength-section{padding:0 0 80px;}
  .values-section{padding:80px 0;}
  .info-section{padding:80px 0 0;}
  .values-grid{grid-template-columns:1fr;gap:16px;}
  .v-card{padding:36px 24px;}
  .v-icon{width:84px;height:84px;}
  .v-icon i{font-size:2rem;}
  .r-card .r-body{padding:28px 24px 32px;}
  .map-frame{height:360px;}
  .info-bars{grid-template-columns:1fr;gap:12px;}
  .info-bar{flex-direction:column;align-items:flex-start;gap:14px;padding:20px 24px;}
  .info-bar .label{
    border-right:none;padding-right:0;
    padding-bottom:14px;border-bottom:1px solid var(--line);
    width:100%;
  }
  .phone-bar:hover .label{border-bottom-color:rgba(255,255,255,.3);}

  .org-section{padding:80px 0;}
  .org-grid{grid-template-columns:1fr;}
  .org-card{padding:40px 28px 32px;border-right:1px solid var(--line);}
  .org-card .num{margin-bottom:32px;}
  .org-card .img-wrap{aspect-ratio:16/9;}
  .process-section{padding:80px 0 100px;}
  .process-section::before{width:400px;height:400px;right:-100px;}
  .node-row{display:none;}
  .content-row{
    grid-template-columns:1fr;
    gap:0;
    position:relative;
  }
  .content-row::before{
    content:"";
    position:absolute;
    top:32px;bottom:32px;left:27px;
    width:1px;
    background:linear-gradient(180deg, rgba(91,139,214,.4), rgba(91,139,214,.05));
  }
  .content-col{
    padding:32px 0 32px 80px;
    text-align:left;
    border-bottom:1px solid rgba(255,255,255,.08);
    position:relative;
  }
  .content-col:last-child{border-bottom:none;}
  .content-col::before,
  .content-col::after{display:none;}
  .col-num-mobile{
    display:flex;
    position:absolute;
    top:32px;left:0;
    width:54px;height:54px;
    border-radius:50%;
    border:1.5px solid rgba(91,139,214,.5);
    background:radial-gradient(circle at 30% 30%, rgba(42,85,153,.25), transparent 65%), var(--bg-dark);
    align-items:center;justify-content:center;
    font-weight:800;color:#fff;
    letter-spacing:-0.04em;line-height:1;
    z-index:2;
    font-size:var(--fs-3);
  }
  .c-tags{justify-content:flex-start;}

  .services-intro{padding:100px 0 48px;}
  .intro-head.mb{
    margin-bottom: 48px;
  }
  .service-row{padding:48px 0;}
  .service-card{gap:28px;}
  .content-side{gap:24px;}
  .service-icon{width:54px;height:54px;}
  .service-icon i{font-size:1.25rem;}

  .support-section{padding:72px 0 80px;}
  .brand-display{margin-bottom:48px;}
  .s-card .s-body{padding:28px 22px 32px;gap:18px;}
  .s-card .s-icon{width:48px;height:48px;}
  .s-card .s-icon i{font-size:1.125rem;}

  .cta-section{padding:72px 0;}

  .hero-section{min-height:520px;}
  .hero-eyebrow::before,
  .hero-eyebrow::after{width:20px;}
  .hero-sub{margin-top:24px; font-size: 16px;}

  .hero-section::before {
      height: 150px;
      bottom: -75px;
  }

}

/* ─── ≤ 600px : Galaxy Z Fold 펼침 (Cover Screen) / 모바일 큰 ─── */
@media (max-width: 600px){
  .inner{padding:0 20px;}
  .hero-content{padding:0 20px;}
  .map-block{padding:64px 0;margin-top:64px;}

  .hero-section::before {
      height: 100px;
      bottom: -50px;
  }
}

/* ─── ≤ 480px : 일반 모바일 ─── */
@media (max-width: 480px){
  .inner{padding:0 18px;}
  .hero-content{padding:0 18px;}

  .hero-section{min-height:460px;}
  .hero-sub br{display:none;}

  /* 회사소개 */
  .strength-section{padding:0 0 64px;}
  .values-section{padding:64px 0;}
  .info-section{padding:64px 0 0;}
  .section-head{margin-bottom:40px;}
  .v-card{padding:32px 22px;gap:18px;}
  .v-icon{width:72px;height:72px;}
  .v-icon i{font-size:1.625rem;}
  .r-card .r-body{padding:24px 22px 28px;gap:14px;}
  .cert-block{gap:20px;}
  .map-frame{height:280px;}

  /* 조직도 */
  .org-section{padding:64px 0;}
  .org-head{margin-bottom:36px;padding-bottom:24px;}
  .org-card{padding:32px 22px 26px;}
  .org-card .num{margin-bottom:24px;}
  .org-card .items{margin-bottom:28px;padding-bottom:20px;}
  .process-section{padding:60px 0 72px;}
  .process-head{margin-bottom:48px;}
  .content-row::before{left:23px;}
  .content-col{padding:28px 0 28px 64px;}
  .col-num-mobile{
    width:46px;height:46px;
    top:28px;
  }

  /* 사업분야 */
  .services-intro{padding:64px 0 32px;}
  .intro-head.mb{
    margin-bottom: 32px;
  }
  .service-row{padding:36px 0;}
  .service-card{gap:24px;}
  .content-side{gap:20px;}
  .service-icon{width:48px;height:48px;}
  .service-icon i{font-size:1.125rem;}
  .image-side .num-badge{padding:10px 16px;}
  .image-side .num-badge::after{width:14px;}

  /* 행사지원 */
  .support-section{padding:56px 0 64px;}
  .brand-display{margin-bottom:36px;}
  .s-card{border-radius:8px;}
  .s-card .s-body{padding:22px 18px 24px;}
  .s-card .s-img{aspect-ratio:4/3;}

  /* CTA */
  .cta-section{padding:56px 0;}
  .cta-btn{padding:14px 26px;}
}

/* ─── ≤ 380px : 작은 모바일 ─── */
@media (max-width: 380px){
  .inner{padding:0 16px;}
  .hero-content{padding:0 16px;}

  .hero-section{min-height:420px;}
  .hero-eyebrow{margin-bottom:20px;}
  .hero-eyebrow::before,
  .hero-eyebrow::after{width:14px;}
  .hero-sub{margin-top:18px;}

  .strength-section{padding:0 0 56px;}
  .values-section,
  .info-section{padding:56px 0;}
  .info-section{padding-bottom:0;}
  .v-card{padding:28px 18px;gap:16px;}
  .v-icon{width:64px;height:64px;}
  .v-icon i{font-size:1.5rem;}

  .org-section{padding:56px 0;}
  .org-card{padding:28px 18px 22px;}
  .process-section{padding:48px 0 60px;}
  .process-section::before{display:none;}
  .content-row::before{left:19px;}
  .content-col{padding:24px 0 24px 54px;}
  .col-num-mobile{width:38px;height:38px;top:24px;}

  .services-intro{padding:56px 0 28px;}
  .intro-head.mb{
    margin-bottom: 28px;
  }
  .service-row{padding:28px 0;}
  .service-card{gap:20px;}
  .content-side{gap:18px;}
  .image-side{aspect-ratio:4/3;}

  .support-section{padding:48px 0 56px;}
  .brand-display{margin-bottom:30px;gap:6px;}
  .s-card .s-body{padding:20px 16px 22px;gap:14px;}

  .cta-section{padding:48px 0;}
  .cta-btn{padding:12px 22px;gap:10px;}
}

/* ─── ≤ 320px : Galaxy Z Fold 접힘 영역 ─── */
@media (max-width: 320px){
  .inner{padding:0 14px;}
  .hero-content{padding:0 14px;}

  .hero-section{min-height:380px;}
  .hero-eyebrow{margin-bottom:16px;letter-spacing:.22em;}
  .hero-sub{margin-top:14px;line-height:1.6;}

  .strength-section{padding:0 0 48px;}
  .values-section,
  .info-section{padding:48px 0;}
  .info-section{padding-bottom:0;}
  .section-head{margin-bottom:32px;}
  .v-card{padding:24px 14px;gap:14px;}
  .v-icon{width:56px;height:56px;}
  .v-icon i{font-size:1.25rem;}
  .r-card .r-body{padding:20px 16px 22px;gap:12px;}
  .cert-block{gap:16px;}
  .map-frame{height:220px;}
  .map-block{padding:48px 0;margin-top:48px;}
  .info-bar{padding:16px 18px;gap:10px;}
  .info-bar .label{padding-bottom:10px;}

  .org-section{padding:48px 0;}
  .org-head{margin-bottom:28px;padding-bottom:18px;gap:12px;}
  .org-card{padding:24px 16px 20px;}
  .org-card .num{margin-bottom:18px;}
  .process-section{padding:40px 0 48px;}
  .process-head{margin-bottom:32px;gap:12px;}
  .content-row::before{left:17px;}
  .content-col{padding:20px 0 20px 48px;}
  .col-num-mobile{width:34px;height:34px;top:20px;}
  .c-text{padding-top:14px;margin-bottom:18px;}

  .services-intro{padding:48px 0 24px;}
  .intro-head.mb{
    margin-bottom: 24px;
  }
  .service-row{padding:24px 0;}
  .service-card{gap:18px;}
  .content-side{gap:16px;}
  .service-icon{width:42px;height:42px;}
  .service-icon i{font-size:1rem;}
  .image-side .num-badge{padding:8px 12px;}
  .image-side .num-badge::after{width:10px;}

  .support-section{padding:40px 0 48px;}
  .brand-display{margin-bottom:24px;}
  .s-card .s-body{padding:18px 14px 20px;gap:12px;}
  .s-card .s-icon{width:42px;height:42px;}
  .s-card .s-icon i{font-size:1rem;}
  .s-card .s-items{gap:10px;}

  .cta-section{padding:40px 0;}
  .cta-btn{padding:12px 18px;gap:8px;}
  .cta-text br{display:none;}
}

/* ─── ≤ 280px : Galaxy Z Fold 접힘 (최소 폭) ─── */
@media (max-width: 280px){
  .inner{padding:0 12px;}
  .hero-content{padding:0 12px;}

  .hero-section{min-height:340px;}
  .hero-eyebrow{margin-bottom:12px;gap:6px;letter-spacing:.18em;}
  .hero-eyebrow::before,
  .hero-eyebrow::after{width:10px;}

  .strength-section,
  .values-section,
  .info-section{padding:0 0 40px;}
  .info-section{padding-bottom:0;}
  .section-head{margin-bottom:24px;}
  .v-card{padding:20px 12px;gap:12px;}
  .v-icon{width:48px;height:48px;}
  .v-icon i{font-size:1.125rem;}
  .r-card .r-body{padding:16px 12px 18px;}
  .cert-block{gap:14px;}
  .map-frame{height:180px;}
  .map-block{padding:36px 0;margin-top:36px;}
  .info-bar{padding:14px;}

  .org-section{padding:40px 0;}
  .org-card{padding:20px 12px 16px;}
  .org-card .items{margin-bottom:20px;padding-bottom:16px;}
  .process-section{padding:32px 0 40px;}
  .content-row::before{left:14px;}
  .content-col{padding:18px 0 18px 42px;}
  .col-num-mobile{width:30px;height:30px;top:18px;}
  .c-tag{padding:3px 8px;}

  .services-intro{padding:40px 0 20px;}
  .intro-head.mb{
    margin-bottom: 20px;
  }
  .service-row{padding:20px 0;}
  .service-card{gap:14px;}
  .content-side{gap:14px;}
  .service-icon{width:38px;height:38px;}
  .image-side .num-badge{padding:6px 10px;}

  .support-section{padding:32px 0 40px;}
  .brand-display{margin-bottom:20px;}
  .s-card .s-body{padding:16px 12px 18px;gap:10px;}

  .cta-section{padding:32px 0;}
  .cta-btn{padding:10px 16px;}
  .cta-title br,
  .cta-text br{display:none;}
}