﻿/* HOME page only styles */
.hero{position:relative;height:100vh;min-height:720px;overflow:hidden;background:var(--darker)}

/* 히어로 배경 영상: 캔버스·그리드보다 아래 고정 (합성 순서 안정화) */
.hero-video-wrap{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-video-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(24,24,66,.38) 0%,rgba(24,24,66,.08) 42%,rgba(24,24,66,.42) 78%,rgba(24,24,66,.82) 100%),linear-gradient(135deg,rgba(0,128,255,.28) 0%,transparent 55%)}
.hero-bg-video{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  object-fit:cover;
  /* 너무 낮으면 스크림+그리드에 묻혀 “영상 안 나온다”로 느껴짐 */
  opacity:.68;
}

/* Canvas particle layer */
#heroCanvas{position:absolute;inset:0;z-index:1;width:100%;height:100%}

/* Banner image layer */





/* Scanline overlay */
.hero-scanline{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.03) 2px,rgba(0,0,0,0.03) 4px);
}

/* Moving grid */
.hero-grid-anim{
  position:absolute;inset:-60px;z-index:2;pointer-events:none;
  background-image:
    linear-gradient(rgba(0,128,255,0.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,128,255,0.06) 1px,transparent 1px);
  background-size:80px 80px;
  animation:gridMove 20s linear infinite;
}
@keyframes gridMove{from{transform:translateY(0)}to{transform:translateY(80px)}}

/* Glow orbs */
.hero-orb{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:1}
.orb-1{width:700px;height:700px;top:-200px;right:-100px;background:rgba(0,128,255,0.09);animation:orbFloat 12s ease-in-out infinite}
.orb-2{width:500px;height:500px;bottom:-100px;left:-50px;background:rgba(0,80,180,0.07);animation:orbFloat 9s ease-in-out 3s infinite reverse}
.orb-3{width:300px;height:300px;top:30%;right:25%;background:rgba(30,192,255,0.05);animation:orbFloat 7s ease-in-out 1.5s infinite}
@keyframes orbFloat{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(20px,-30px) scale(1.05)}66%{transform:translate(-15px,20px) scale(0.97)}}

/* Data stream lines */
.data-lines{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.data-line{position:absolute;top:0;width:1px;background:linear-gradient(to bottom,transparent,rgba(0,128,255,0.4),transparent);animation:dataFall linear infinite}
@keyframes dataFall{from{transform:translateY(-100%)}to{transform:translateY(100vh)}}

/* Hero content */
.hero-content{position:absolute;inset:0;z-index:10;display:flex;align-items:center}
.hero-inner{max-width:1920px;margin:0 auto;padding:0 80px;width:100%;display:flex;align-items:center}

/* Left text */
.hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:28px;animation:fadeUp 1s ease both}
.eyebrow-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(0,128,255,0.1);border:1px solid rgba(0,128,255,0.3);color:rgba(0,128,255,0.9);font-size:11px;font-weight:700;padding:6px 14px;border-radius:4px;letter-spacing:2px;text-transform:uppercase}
.eyebrow-dot{width:6px;height:6px;background:#8FC31F;border-radius:50%;box-shadow:0 0 8px #8FC31F;animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.3}}

.hero-h1{font-size:var(--fs-hero);font-weight:900;color:#fff;line-height:1.1;letter-spacing:-2px;margin-bottom:28px;animation:fadeUp 1s 0.1s ease both}
.hero-h1 .word-flower{display:block;color:rgba(255,255,255,0.3);font-size:0.3em;letter-spacing:4px;font-weight:300;margin-bottom:10px;text-transform:uppercase}
.hero-h1 .word-main{display:block}
.hero-h1 .word-accent{
  display:block;
  background:linear-gradient(90deg,var(--blue) 0%,var(--cyan) 50%,var(--blue) 100%);
  background-size:200% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:shimmer 4s linear infinite;
}
@keyframes shimmer{to{background-position:200% center}}

.hero-sub{font-size:18px;color:rgba(255,255,255,0.45);line-height:1.85;margin-bottom:50px;animation:fadeUp 1s 0.2s ease both;max-width:560px}

.hero-btns{display:flex;gap:14px;animation:fadeUp 1s 0.3s ease both}
.btn-tech{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--blue);color:#fff;
  padding:15px 32px;border-radius:6px;font-size:18px;font-weight:700;
  text-decoration:none;letter-spacing:0.5px;
  transition:all 0.3s;
  box-shadow:0 0 32px rgba(0,128,255,0.35),inset 0 1px 0 rgba(255,255,255,0.1);
  position:relative;overflow:hidden;
}
.btn-tech::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.1),transparent);opacity:0;transition:opacity 0.3s}
.btn-tech:hover{transform:translateY(-2px);box-shadow:0 0 48px rgba(0,128,255,0.6),inset 0 1px 0 rgba(255,255,255,0.1)}
.btn-tech:hover::before{opacity:1}
.btn-tech-outline{
  display:inline-flex;align-items:center;gap:10px;
  border:1px solid rgba(0,128,255,0.4);color:rgba(255,255,255,0.7);
  padding:14px 28px;border-radius:6px;font-size:18px;font-weight:500;
  text-decoration:none;letter-spacing:0.5px;
  transition:all 0.3s;backdrop-filter:blur(8px);
}
.btn-tech-outline:hover{border-color:var(--blue);color:#fff;background:rgba(0,128,255,0.1)}

/* Right ??floating info panel */





.tp-status::before{content:'';width:6px;height:6px;background:#8FC31F;border-radius:50%;box-shadow:0 0 6px #8FC31F;animation:blink 2s infinite}


.tp-item:hover{background:rgba(0,128,255,0.08);border-color:rgba(0,128,255,0.2)}

.tp-num .acc{color:var(--blue)}








/* Scroll hint */
.hero-scroll{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:8px;animation:fadeUp 1s 1s ease both}
.scroll-mouse{width:22px;height:34px;border:1px solid rgba(255,255,255,0.2);border-radius:11px;display:flex;justify-content:center;padding-top:6px}
.scroll-wheel{width:2px;height:6px;background:#fff;border-radius:1px;animation:scrollWheel 2s ease-in-out infinite}
@keyframes scrollWheel{0%{transform:translateY(0);opacity:1}100%{transform:translateY(10px);opacity:0}}
.scroll-label{font-size:9px;letter-spacing:3px;color:rgba(255,255,255,0.2);text-transform:uppercase}

@keyframes fadeUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}

/* ?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧??   KPI STRIP
?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧??*/
.kpi-strip{background:var(--dark);position:relative;overflow:hidden}
.kpi-strip::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,128,255,0.4),transparent)}
.kpi-strip::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,128,255,0.2),transparent)}
.kpi-inner{max-width:1920px;margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr);padding:0 80px}
.kpi-item{padding:40px 20px;text-align:center;border-right:1px solid rgba(255,255,255,0.04);position:relative;overflow:hidden;cursor:default;transition:background 0.3s}
.kpi-item:last-child{border-right:none}
.kpi-item::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,128,255,0.08) 0%,transparent 100%);opacity:0;transition:opacity 0.3s}
.kpi-item:hover::before{opacity:1}
.kpi-num{font-size:clamp(22px,1.6vw,30px);font-weight:900;color:#fff;line-height:1;margin-bottom:6px;transition:color 0.3s;letter-spacing:-0.4px;white-space:nowrap}
.kpi-num .acc{color:var(--blue)}
.kpi-unit{font-size:.68em;font-weight:700;opacity:.9;margin-left:2px;vertical-align:baseline}
.kpi-item:hover .kpi-num{color:var(--blue-bright)}
.kpi-lbl{font-size:12px;color:rgba(255,255,255,0.3);letter-spacing:1px;text-transform:uppercase}

/* ?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧??   SECTION COMMONS
?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧??*/
.sec{padding:140px 0}
.wrap{max-width:1920px;margin:0 auto;padding:0 80px}
.sec-label{font-size:13px;font-weight:700;letter-spacing:3px;color:var(--blue);text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:12px}
.sec-label::before{content:'';width:20px;height:1px;background:var(--blue)}
.sec-title{font-size:var(--fs-h1);font-weight:900;color:var(--dark);line-height:1.25;letter-spacing:-.8px;margin-bottom:16px}
.sec-title em{font-style:normal;color:var(--blue)}
.sec-body{font-size:17px;color:var(--text-muted);line-height:1.8}

/* ?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧??   OVERVIEW
?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧??*/
.overview{background:var(--white)}
.ov-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.ov-body{font-size:17px;color:var(--text);line-height:1.8;margin-bottom:14px}
.ov-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:32px}
.ov-card{padding:16px 18px;background:var(--gray);border-radius:8px;border:1px solid var(--border);transition:all 0.25s;cursor:default}
.ov-card:hover{border-color:var(--blue);background:var(--light-blue);transform:translateY(-2px)}
.ov-card-label{font-size:10px;font-weight:700;color:var(--text-muted);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:5px}
.ov-card-value{font-size:14px;font-weight:700;color:var(--dark)}
.ov-visual{position:relative}
.ov-img{border-radius:20px;overflow:hidden;aspect-ratio:4/5;background:linear-gradient(160deg,var(--navy) 0%,#1a5bb0 50%,var(--blue) 100%);display:flex;align-items:center;justify-content:center;position:relative}
.ov-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 60%,rgba(0,20,60,0.6))}
.ov-img-placeholder{color:rgba(255,255,255,0.18);font-size:13px;text-align:center;line-height:2.5;z-index:1;position:relative}
.ov-float{position:absolute;bottom:-20px;left:-28px;background:#fff;border-radius:14px;padding:18px 22px;box-shadow:0 16px 48px rgba(0,0,0,0.1),0 0 0 1px rgba(0,0,0,0.04)}
.float-big{font-size:30px;font-weight:900;color:var(--blue);line-height:1;margin-bottom:4px}
.float-lbl{font-size:11px;color:var(--text-muted);font-weight:500}
.ov-badge{position:absolute;top:20px;right:-12px;background:linear-gradient(135deg,var(--blue),var(--navy));border-radius:10px;padding:12px 16px;color:#fff;font-size:11px;font-weight:700;text-align:center;line-height:1.6;box-shadow:0 8px 24px rgba(0,128,255,0.4)}

/* BUSINESS + BRANDS (메인 전용) */
.home-biz{background:#0d1228;color:var(--white)}
.home-biz .biz-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px 40px;
  flex-wrap:wrap;
  margin-bottom:40px;
}
.home-biz .sec-label{
  color:var(--blue);
}
.home-biz .sec-label::before{
  background:var(--blue);
}
.home-biz .sec-title{
  color:#fff;
}
.home-biz .sec-body{
  color:rgba(255,255,255,.72);
  max-width:420px;
  text-align:right;
  margin:0;
}
.biz-home-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.biz-home-grid .biz-card{
  border-radius:14px;
  overflow:hidden;
  cursor:pointer;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s;
  text-decoration:none;
  color:inherit;
  display:block;
  position:relative;
  min-height:200px;
  border:1px solid rgba(255,255,255,.08);
}
.biz-home-grid .biz-card:nth-child(4){grid-column:1/2}
.biz-home-grid .biz-card:nth-child(5){grid-column:2/4}
.biz-home-grid .biz-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 48px rgba(0,0,0,.45);
  border-color:rgba(90,155,255,.35);
}
.biz-home-grid .biz-card:focus-visible{
  outline:2px solid var(--blue-bright);
  outline-offset:3px;
}
.biz-home-grid .biz-card-img{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transition:transform .4s ease;
}
.biz-home-grid .biz-card:hover .biz-card-img{transform:scale(1.04)}
.biz-home-grid .biz-card-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(to top,rgba(5,10,30,.92) 0%,rgba(5,10,30,.35) 60%,transparent 100%);
  transition:background .3s ease;
}
.biz-home-grid .biz-card:hover .biz-card-overlay{
  background:linear-gradient(to top,rgba(5,10,30,.95) 0%,rgba(0,80,200,.42) 55%,rgba(0,40,120,.12) 100%);
}
.biz-home-grid .biz-card-body{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:22px 24px;
  z-index:2;
}
.biz-home-grid .biz-badge{
  display:inline-block;
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
  padding:3px 8px;
  border-radius:4px;
  margin-bottom:8px;
  text-transform:uppercase;
}
.biz-home-grid .biz-badge.b2b{
  background:rgba(0,128,255,.18);
  color:#7ab8ff;
  border:1px solid rgba(0,128,255,.32);
}
.biz-home-grid .biz-badge.b2c{
  background:rgba(0,255,180,.08);
  color:#5fffce;
  border:1px solid rgba(0,255,180,.18);
}
.biz-home-grid .biz-title{
  font-size:16px;
  font-weight:700;
  color:#fff;
  line-height:1.3;
  margin-bottom:6px;
}
.biz-home-grid .biz-desc{
  font-size:12.5px;
  color:rgba(255,255,255,.66);
  line-height:1.55;
}
.biz-home-grid .biz-card::after{
  content:'→';
  position:absolute;
  top:20px;
  right:20px;
  z-index:3;
  font-size:16px;
  color:rgba(255,255,255,.25);
  transition:color .2s,transform .2s;
  pointer-events:none;
}
.biz-home-grid .biz-card:hover::after,
.biz-home-grid .biz-card:focus-visible::after{
  color:var(--blue-bright);
  transform:translateX(3px);
}
@media (max-width:900px){
  .biz-home-grid{grid-template-columns:repeat(2,1fr)}
  .biz-home-grid .biz-card:nth-child(4),
  .biz-home-grid .biz-card:nth-child(5){grid-column:auto}
  .brand-home-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .home-biz .biz-header{flex-direction:column;align-items:flex-start}
  .home-biz .sec-body{text-align:left;max-width:none}
}
@media (max-width:480px){
  .biz-home-grid{grid-template-columns:1fr;gap:12px}
  .brand-home-grid{grid-template-columns:1fr}
}

.brands{background:var(--white)}
.home-brands{background:#f4f7ff}
.home-brands .brands-header{margin-bottom:36px}
.home-brands .sec-label{color:var(--blue)}
.home-brands .sec-label::before{background:var(--blue)}
.home-brands .sec-title{color:var(--dark)}
.home-brands .view-all:hover{opacity:.75}
.brands-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}
.view-all{font-size:16px;font-weight:700;color:var(--blue);text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:gap .2s,opacity .15s}
.view-all:hover{gap:10px}
.brand-home-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.brand-home-grid .brand-card{
  border-radius:16px;
  overflow:hidden;
  cursor:pointer;
  border:1px solid rgba(0,30,80,.08);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s;
  text-decoration:none;
  color:inherit;
  display:block;
  position:relative;
  min-height:280px;
}
.brand-home-grid .brand-card:hover{
  transform:translateY(-5px);
  box-shadow:0 24px 52px rgba(0,30,80,.22);
  border-color:transparent;
}
.brand-home-grid .brand-card:focus-visible{
  outline:2px solid var(--blue);
  outline-offset:3px;
}
.bc-img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .4s ease}
.brand-home-grid .brand-card:hover .bc-img{transform:scale(1.04)}
.bc-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.3) 55%,rgba(0,0,0,.08) 100%)}
.brand-home-grid .bc-ov{
  background:linear-gradient(to top,rgba(5,10,40,.85) 0%,rgba(5,10,40,.28) 55%,transparent 100%);
}
.bc-body{position:absolute;bottom:0;left:0;right:0;padding:32px;z-index:2}
.brand-home-grid .bc-body{padding:20px 20px 22px}
.brand-thumb{display:none}
.brand-badge-tag{position:absolute;top:12px;left:12px;z-index:2;background:rgba(0,128,255,0.85);backdrop-filter:blur(8px);color:#fff;font-size:10px;font-weight:700;padding:4px 10px;border-radius:4px;letter-spacing:0.5px}
.brand-info{padding:18px 20px 22px}
.brand-name{font-size:clamp(20px,1.5vw,26px);font-weight:800;color:var(--dark);margin-bottom:8px}
.brand-slogan{font-size:17px;color:var(--text-muted);line-height:1.75;margin-bottom:12px}
.brand-home-grid .brand-name{
  font-size:17px;
  font-weight:700;
  color:#fff;
  margin-bottom:5px;
}
.brand-home-grid .brand-slogan{
  font-size:12px;
  color:rgba(255,255,255,.68);
  line-height:1.55;
  margin-bottom:0;
}
.brand-target{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:10px;
  font-weight:600;
  letter-spacing:.06em;
  color:rgba(255,255,255,.5);
  border:1px solid rgba(255,255,255,.18);
  border-radius:20px;
  padding:3px 9px;
  margin-bottom:8px;
}
.brand-target-dot{
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--blue-bright);
  flex-shrink:0;
}
.brand-link{font-size:12px;font-weight:700;color:var(--blue);display:inline-flex;align-items:center;gap:4px;transition:gap 0.2s}
.brand-card:hover .brand-link{gap:8px}

@media (prefers-reduced-motion: reduce){
  .biz-home-grid .biz-card,
  .biz-home-grid .biz-card-img,
  .brand-home-grid .brand-card,
  .brand-home-grid .bc-img{
    transition:none!important;
  }
  .biz-home-grid .biz-card::after{transition:none!important}
}

/* ?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧??   PRESS
?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧??*/
.press-sec{
  background:linear-gradient(180deg,#F8FBFF 0%,#EEF4FF 100%);
}
.press-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}
.press-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.press-desc{font-size:15px;color:var(--text-muted);line-height:1.8}
.press-more{font-size:14px;font-weight:700;color:var(--blue);text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:gap .2s}
.press-more:hover{gap:10px}
/* 홈 언론보도 그리드는 press-home.css (5열·2줄) 사용 */
.press-sec .press-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px 14px}
.press-card{
  background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;
  text-decoration:none;color:inherit;display:block;
  transition:all .28s cubic-bezier(.16,1,.3,1);
}
.press-card:hover{transform:translateY(-4px);border-color:rgba(0,128,255,.35);box-shadow:0 16px 36px rgba(10,35,90,.12)}
.press-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.press-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:1px;padding:4px 10px;border-radius:20px;background:rgba(0,128,255,.1);color:var(--blue)}
.press-date{font-size:12px;color:var(--text-muted)}
.press-title{font-size:22px;font-weight:800;line-height:1.35;color:var(--dark);margin-bottom:10px}
.press-summary{font-size:15px;color:var(--text-muted);line-height:1.75;margin-bottom:18px}
.press-link{font-size:13px;font-weight:700;color:var(--blue)}
.press-home-empty{
  grid-column:1/-1;
  text-align:center;
  padding:28px 16px;
  font-size:15px;
  color:var(--text-muted);
  margin:0;
}

/* ?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧??   TIMELINE
?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧??*/
.tl-section{
  background:linear-gradient(180deg,#06142a 0%,#081a33 100%);
  padding:120px 0;
  border-top:1px solid rgba(0,128,255,.14);
  border-bottom:1px solid rgba(0,128,255,.14);
}
.tl-inner{max-width:1920px;margin:0 auto;padding:0 56px}
.tl-head{text-align:left;margin-bottom:28px}
.tl-head .sec-title{color:#fff;margin-bottom:10px}
.tl-head p{font-size:16px;color:rgba(255,255,255,.58);max-width:560px;line-height:1.75}
.tl-cards{
  display:grid;
  grid-template-columns:repeat(5,minmax(180px,1fr));
  gap:12px;
}
.tl-card{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(148,188,255,.22);
  border-radius:14px;
  padding:18px 16px 16px;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.tl-card:hover{
  transform:translateY(-4px);
  border-color:rgba(148,188,255,.5);
  background:rgba(255,255,255,.06);
}
.tl-year{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:56px;
  height:28px;
  border-radius:999px;
  margin-bottom:10px;
  padding:0 12px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.4px;
  color:#dceaff;
  background:rgba(0,128,255,.2);
  border:1px solid rgba(132,183,255,.45);
}
.tl-card h3{
  font-size:18px;
  line-height:1.35;
  color:#fff;
  margin-bottom:8px;
}
.tl-card p{
  font-size:15px;
  line-height:1.75;
  color:rgba(255,255,255,.7);
}

/* ?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧??   CTA
?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧??*/
.cta-sec{
  padding:120px 0;
  background:linear-gradient(180deg,#D7E6FF 0%,#C9DCFF 100%);
  position:relative;
}
.cta-box{
  background:var(--dark);border-radius:28px;padding:96px 96px;
  position:relative;overflow:hidden;
  border:1px solid rgba(0,128,255,0.15);
  box-shadow:0 48px 120px rgba(0,0,0,0.2);
}
.cta-box::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 80% 50%,rgba(0,128,255,0.12) 0%,transparent 60%)}
.cta-box-grid{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(0,128,255,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,128,255,0.04) 1px,transparent 1px);background-size:40px 40px}
.cta-layout{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}
.cta-h2{font-size:clamp(30px,3.2vw,50px);font-weight:900;color:#fff;line-height:1.22;margin-bottom:18px;letter-spacing:-0.5px}
.cta-p{font-size:17px;color:rgba(255,255,255,0.45);line-height:1.85;margin-bottom:40px}
.cta-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cta-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07);border-radius:12px;padding:28px 20px;cursor:pointer;transition:all 0.25s;text-decoration:none;display:block}
.cta-card:hover{background:rgba(0,128,255,0.15);border-color:rgba(0,128,255,0.4);transform:translateY(-3px)}
.cta-card-icon{font-size:26px;margin-bottom:12px}
.cta-card-title{font-size:16px;font-weight:700;color:#fff;margin-bottom:6px}
.cta-card-desc{font-size:15px;color:rgba(255,255,255,0.4);line-height:1.65}
.cta-single{display:flex;justify-content:center;margin-top:6px}
.cta-simple-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:220px;
  padding:14px 26px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.24);
  background:rgba(255,255,255,0.06);
  color:#fff;
  font-size:16px;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  transition:all .25s ease;
}
.cta-simple-btn:hover{
  background:rgba(0,128,255,0.2);
  border-color:rgba(0,128,255,0.45);
  transform:translateY(-2px);
}
.cta-btns{display:flex;flex-direction:column;gap:12px;flex-shrink:0}
.btn-cta{background:var(--blue);color:#fff;padding:18px 40px;border-radius:8px;font-size:16px;font-weight:700;text-decoration:none;text-align:center;transition:all 0.25s;white-space:nowrap;box-shadow:0 8px 24px rgba(0,128,255,0.3);letter-spacing:0.5px}
.btn-cta:hover{background:#1a6fd4;transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,128,255,0.5)}
.btn-cta-line{border:1px solid rgba(255,255,255,0.15);color:rgba(255,255,255,0.6);padding:17px 36px;border-radius:8px;font-size:15px;font-weight:600;text-decoration:none;text-align:center;transition:all 0.25s;white-space:nowrap}
.btn-cta-line:hover{border-color:rgba(255,255,255,0.4);color:#fff}
.cta-layout.no-action{grid-template-columns:1fr;gap:0}
.cta-topline{margin-bottom:12px}
.cta-layout.no-action > div{
  text-align:center;
}
.cta-layout.no-action .cta-p{
  margin-left:auto;
  margin-right:auto;
}

.mis-grid{display:grid;grid-template-columns:360px 1fr;gap:88px;align-items:center}
.mission-bg{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,128,255,.05) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.mission-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42;filter:saturate(1.15) contrast(1.06)}
.mis-kicker{display:flex;gap:6px}
.mis-kicker span{height:4px;border-radius:2px;display:block}
.mis-kicker span:nth-child(1){width:44px;background:var(--blue)}
.mis-kicker span:nth-child(2){width:18px;background:#1EC0FF}
.mis-kicker span:nth-child(3){width:10px;background:rgba(0,128,255,.25)}
.mis-copy{position:relative;padding-left:22px}
.mis-copy::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:2px;background:linear-gradient(180deg,var(--blue),#1EC0FF)}
.mis-title{margin-bottom:28px}
.mis-lead{margin-bottom:18px;line-height:1.65}
.mis-body{margin-bottom:10px;line-height:1.85}
.mis-body:last-of-type{margin-bottom:0}
.mis-highlight{margin-top:24px;padding-top:22px;border-top:2px solid #EAF4FF}
.mis-final-line{margin-bottom:0;font-weight:800;letter-spacing:-0.2px;line-height:1.65}

/* OUR MISSION 우측 본문: 메인 전용 타이포 + 흐름 강조 */
#mission .mis-copy .mis-body-impact{
  margin-bottom:0;
  font-size:clamp(19px,1.42vw,24px);
  line-height:1.82;
  letter-spacing:-.025em;
  color:var(--text);
}
#mission .mis-flow-stanza{
  display:block;
  font-weight:600;
  color:var(--text-muted);
}
#mission .mis-flow-stanza--strong{
  font-weight:800;
  color:var(--text);
  margin-top:0.35em;
}
#mission .mis-brand-end{
  font-weight:900;
  letter-spacing:-.03em;
  background:linear-gradient(118deg,var(--blue) 0%,#1EC0FF 55%,#0d8bd9 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}

/* PC 怨듯넻 ?덉씠?꾩썐: 肄섑뀗痢좊? 以묒븰?쇰줈 紐⑥쑝湲?*/
@media(min-width:1101px){
  body{background:#fff}

  .wrap,.hero-inner,.kpi-inner,.tl-inner{
    max-width:1400px;
    padding-left:56px;
    padding-right:56px;
  }
}


/* ?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧
   RESPONSIVE ??Fold7 ?꾩쟾 吏??   而ㅻ쾭:  390px (21:9)
   ?쇱묠:  820px (?뺤궗媛?
   ?쒕툝由? 1024px
?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧?먥븧 */

/* ?????????????????????????????????
   1440px ????대뱶 ?⑺넲 / ?쇰컲 ?곗뒪?ы깙
   ?뱀뀡 ?먯껜瑜?醫곹???body 諛곌꼍???묒そ???몄텧
????????????????????????????????? */
@media(max-width:1440px){
  /* Keep same full-width layout as other pages */
  body{ background:#fff }
  .kpi-strip, .sec, .tl-section, .cta-sec{max-width:none;border-radius:0}

  /* Hero???釉붾━???좎? */
  .hero{ border-radius:0; max-width:none }

  /* ?섑띁 ?⑤뵫 (?뱀뀡 ?대?) */
  .wrap,.hero-inner,.kpi-inner,.tl-inner{
    max-width:1280px;padding-left:48px;padding-right:48px
  }

  /* Hero */
  .hero-sub{font-size:16px}
  .btn-tech{font-size:16px;padding:13px 28px}
  .btn-tech-outline{font-size:16px;padding:12px 26px}
  /* Sections */
  .sec{padding:100px 0}
  .tl-section{padding:88px 0}
  .sec-label{font-size:12px}
  .sec-body{font-size:14px}
  /* Overview */
  .ov-layout{gap:72px}
  /* Business (home) */
  .biz-home-grid .biz-title{font-size:15px}
  .biz-home-grid .biz-desc{font-size:12px}
  .biz-home-grid .biz-card-body{padding:20px 18px}
  .biz-home-grid .biz-card{min-height:190px}
  /* Press */
  .press-title{font-size:20px}
  .press-card{padding:22px}
  .press-head-right{gap:8px}
  /* Brands (home) */
  .brand-home-grid .bc-body{padding:22px}
  .brand-home-grid .brand-card{min-height:260px}
  .view-all{font-size:15px}
  /* CTA */
  .cta-box{padding:64px}
  .cta-p{font-size:16px}
  .cta-card-title{font-size:15px}
  .cta-card-desc{font-size:13px}
  .cta-card-icon{font-size:24px}
  .btn-cta{font-size:15px;padding:16px 36px}
  .btn-cta-line{font-size:14px;padding:15px 32px}
}

/* ?????????????????????????????????
   1280px ???뚰삎 ?⑺넲 / 留λ턿 13"
????????????????????????????????? */
@media(max-width:1280px){
  body{ background:#fff }
  .kpi-strip, .sec, .tl-section, .cta-sec{max-width:none;border-radius:0}

  .hero{ border-radius:0; max-width:none }

  .wrap,.hero-inner,.kpi-inner,.tl-inner{
    max-width:1140px;padding-left:40px;padding-right:40px
  }

  /* Hero */
  .hero-sub{font-size:15px;max-width:460px}
  .btn-tech{font-size:15px;padding:12px 24px}
  .btn-tech-outline{font-size:15px;padding:11px 22px}
  /* Sections */
  .sec{padding:88px 0}
  .tl-section{padding:80px 0}
  .tl-inner{padding-left:40px;padding-right:40px}
  .tl-cards{grid-template-columns:repeat(3,minmax(180px,1fr))}
  .sec-label{font-size:11px}
  .sec-body{font-size:13px}
  /* Overview */
  .ov-layout{gap:56px}
  /* Business (home) */
  .biz-home-grid .biz-title{font-size:15px}
  .biz-home-grid .biz-desc{font-size:11.5px}
  .biz-home-grid .biz-card-body{padding:18px 16px}
  .biz-home-grid .biz-card{min-height:180px}
  .biz-home-grid{gap:12px}
  /* Press */
  .press-grid{gap:14px}
  .press-title{font-size:18px}
  .press-summary{font-size:13px}
  .press-head{align-items:flex-start}
  .press-head-right{align-items:flex-start}
  /* Brands (home) */
  .brand-home-grid .bc-body{padding:18px 16px}
  .brand-home-grid .brand-card{min-height:240px}
  .view-all{font-size:14px}
  /* Mission */
  .mis-grid{gap:56px !important}
  /* CTA */
  .cta-box{padding:52px}
  .cta-p{font-size:15px}
  .cta-card-title{font-size:14px}
  .cta-card-desc{font-size:13px}
  .cta-card-icon{font-size:22px}
  .cta-card{padding:22px 16px}
  .btn-cta{font-size:14px;padding:14px 32px}
  .btn-cta-line{font-size:13px;padding:13px 28px}
}

/* ?쒕툝由?(1100px) */
@media(max-width:1100px){
  /* ?뱀뀡 constrained ?댁젣 */
  body{ background:#fff }
  .kpi-strip, .sec, .tl-section, .cta-sec{ max-width:none; border-radius:0 }
  .biz-home-grid .biz-card{min-height:170px}
  .biz-home-grid .biz-card:hover{transform:translateY(-3px)}
  .press-grid{grid-template-columns:repeat(2,1fr)}
  .press-head{flex-direction:column;align-items:flex-start}
  .press-head-right{align-items:flex-start}
  .kpi-inner{grid-template-columns:repeat(3,1fr)}
  .kpi-num{font-size:clamp(20px,2.8vw,28px);letter-spacing:-0.3px}
  .kpi-item{border-bottom:1px solid rgba(255,255,255,.04)}
  .cta-layout{grid-template-columns:1fr}
  .cta-btns{flex-direction:row}
  .tl-cards{grid-template-columns:repeat(2,minmax(160px,1fr))}
}

@media (max-width: 768px) {
  .page-narrative-test .hero {
    height: var(--app-visible-h, calc(100vh - var(--app-dock-h, 56px) - env(safe-area-inset-bottom, 0px)));
    min-height: 0;
  }
}

/* Fold ?쇱묠 + ?쒕툝由?(860px) */
@media(max-width:860px){
  .wrap,.kpi-inner{padding-left:24px;padding-right:24px}
  .hero-inner{padding:0 24px}
  .cta-box{padding:48px 36px}
  .cta-cards{grid-template-columns:repeat(2,1fr)}
}

/* Fold 而ㅻ쾭 / 紐⑤컮??(480px) */
@media(max-width:480px){
  /* Hero */
  .hero{min-height:100svh}
  .page-narrative-test .hero{
    height:var(--app-visible-h, calc(100svh - var(--app-dock-h, 56px) - env(safe-area-inset-bottom, 0px)));
    min-height:0;
  }
  .hero-inner{padding:0 18px}
  .hero-h1{font-size:clamp(20px,6.5vw,30px);letter-spacing:-.5px}
  .hero-h1 .word-flower{font-size:.48em;letter-spacing:2px}
  .hero-sub{font-size:14px;margin-bottom:28px}
  .hero-btns{flex-direction:column;gap:8px}
  .btn-tech,.btn-tech-outline{width:100%;justify-content:center;padding:13px 20px;font-size:14px}
  .hero-scroll{bottom:16px}

  /* KPI */
  .kpi-inner{grid-template-columns:repeat(2,1fr);padding:0}
  .kpi-item{padding:24px 12px}
  .kpi-num{font-size:18px;letter-spacing:-0.2px}

  /* Sections */
  .sec{padding:72px 0}
  .wrap,.kpi-inner{padding:0 18px}
  .sec-title{font-size:clamp(22px,6.5vw,32px)}
  .tl-inner{padding:0 18px}
  .tl-cards{grid-template-columns:1fr;gap:10px}
  .tl-card{padding:16px 14px}

  /* Mission inline grid ??single col */
  [style*="grid-template-columns:360px"]{grid-template-columns:1fr !important;gap:36px !important}
  .mis-grid{grid-template-columns:1fr !important;gap:36px !important}

  /* Business (home) */
  .biz-home-grid .biz-card{min-height:200px}
  .biz-home-grid .biz-title{font-size:15px}

  /* Brands (home) */
  .brand-home-grid .brand-card{min-height:200px}
  .press-grid{grid-template-columns:1fr}
  .brand-thumb{height:160px}

  /* CTA */
  .cta-box{padding:36px 20px}
  .cta-h2{font-size:22px}
  .cta-cards{grid-template-columns:repeat(2,1fr);gap:8px}
  .cta-card{padding:14px 10px}
  .cta-btns{flex-direction:column;gap:10px}
  .btn-cta,.btn-cta-line{padding:14px 20px;font-size:13px;white-space:normal;text-align:center}

}

/* 洹뱀냼??(360px ??Galaxy 湲곕낯 而ㅻ쾭) */
@media(max-width:360px){
  .hero-h1{font-size:28px}
  .kpi-inner{grid-template-columns:repeat(2,1fr)}
  .cta-cards{grid-template-columns:1fr}
  .biz-home-grid .biz-card{min-height:180px}
}

/* Fold ?쇱묠 ?꾩슜 (481~820px ?뺤궗媛??붾㈃) */
@media(min-width:481px) and (max-width:820px){
  .hero-h1{font-size:clamp(26px,4.5vw,36px)}
  .kpi-inner{grid-template-columns:repeat(3,1fr)}
  .kpi-item:nth-child(n+4){display:none}
  [style*="grid-template-columns:360px"]{grid-template-columns:1fr !important;gap:40px !important}
  .mis-grid{grid-template-columns:1fr !important;gap:40px !important}
  [style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:repeat(2,1fr) !important}
  .cta-cards{grid-template-columns:repeat(3,1fr)}
}


/* 1920px ?댁긽 珥덈???*/
@media(min-width:1921px){
  .hero-h1{font-size:clamp(64px,3.5vw,64px)}
  .hero-sub{font-size:22px;max-width:680px}
  .sec-title{font-size:clamp(60px,3.2vw,58px)}
  .kpi-num{font-size:clamp(30px,2vw,40px)}
  .wrap,.hero-inner,.kpi-inner{padding-left:56px;padding-right:56px}
  .sec-body{font-size:17px}
  .biz-home-grid .biz-title{font-size:17px}
  .biz-home-grid .biz-desc{font-size:13px}
  .cta-p{font-size:18px}
  .cta-card-title{font-size:17px}
  .view-all{font-size:17px}
}



@media (max-width: 480px) {
  .scroll-label {
    font-size: 11px;
    letter-spacing: 0.2em;
  }
  .sec-label {
    font-size: 12px;
  }
  .biz-home-grid .biz-desc {
    font-size: 13px;
  }
}

/* 느린 기기·모션 감소: 히어로 반복 애니·블러 부담 완화 */
@media (prefers-reduced-motion: reduce) {
  .hero-grid-anim,
  .hero-orb,
  .data-line,
  .eyebrow-dot,
  .hero-h1 .word-accent,
  .scroll-wheel,
  .tp-status::before {
    animation: none !important;
  }
  .hero-h1 .word-accent {
    background-position: 0 center !important;
  }
  .hero-orb {
    filter: none;
    opacity: 0.95;
  }
}
