:root{
    --navy-950:#060d1a; --navy:#0a1830; --navy-800:#122647; --blue:#1c4570; --blue-600:#28598c;
    --sky:#3d76ac; --sky-soft:#7fa6c9;
    --gold:#c9973f; --gold-bright:#e3b264; --gold-pale:#f3ddb0;
    --ink:#16202e; --gray:#5c6979; --gray-light:#8b97a7; --line:#e4e9f1; --line-soft:#edf1f7;
    --bg:#f6f8fb; --bg-warm:#faf7f1; --white:#ffffff;
    --shadow-sm:0 2px 10px rgba(8,26,51,.06);
    --shadow-md:0 6px 24px rgba(8,26,51,.09);
    --shadow-lg:0 18px 44px rgba(8,26,51,.16);
    --radius:18px;
    --ease:cubic-bezier(.22,.61,.2,1);
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:'Pretendard Variable',Pretendard,'Malgun Gothic','Apple SD Gothic Neo',sans-serif;color:var(--ink);line-height:1.7;background:var(--white);word-break:keep-all;-webkit-font-smoothing:antialiased}
  img{max-width:100%}
  a{text-decoration:none;color:inherit}
  ::selection{background:var(--gold-pale);color:var(--navy)}
  .wrap{max-width:1140px;margin:0 auto;padding:0 24px}
  section{padding:104px 0}
  @media(max-width:760px){section{padding:76px 0}}

  .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:800;letter-spacing:.18em;color:var(--sky);text-transform:uppercase;margin-bottom:16px}
  .eyebrow::before{content:"";width:28px;height:2px;background:linear-gradient(90deg,var(--gold),var(--sky));border-radius:2px}
  h2.sec{font-size:clamp(27px,3.4vw,40px);font-weight:800;line-height:1.28;letter-spacing:-.02em;margin-bottom:18px;color:var(--navy)}
  p.lead{font-size:17px;color:var(--gray);max-width:780px;margin-bottom:48px}

  /* ---------- scroll progress ---------- */
  .progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold),var(--sky));z-index:200;transition:width .1s linear}

  /* ---------- nav ---------- */
  nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(228,233,241,.8);transition:box-shadow .3s}
  nav.scrolled{box-shadow:0 4px 24px rgba(8,26,51,.08)}
  .nav-in{max-width:1240px;margin:0 auto;padding:0 24px;height:66px;display:flex;align-items:center;justify-content:space-between;gap:18px}
  .logo{display:flex;align-items:center;gap:9px;font-size:20px;font-weight:800;color:var(--navy);letter-spacing:-.01em;flex-shrink:0}
  .logo .mark{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--navy),var(--blue-600));color:var(--gold-bright);font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;letter-spacing:0}
  .logo span{color:var(--sky)}
  .menu{display:flex;gap:4px;font-size:14px;font-weight:600;color:var(--gray);align-items:center}
  .menu a{padding:7px 11px;border-radius:9px;transition:.18s;white-space:nowrap}
  .menu a:hover{color:var(--navy);background:var(--line-soft)}
  .menu a.active{color:var(--blue-600);background:#eaf2fa}
  .menu a.cta{color:var(--white);background:linear-gradient(135deg,var(--blue),var(--blue-600));padding:9px 20px;border-radius:22px;margin-left:8px;box-shadow:0 3px 12px rgba(22,64,110,.25)}
  .menu a.cta:hover{background:var(--navy);transform:translateY(-1px)}
  .ham{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
  .ham span{display:block;width:24px;height:2.5px;background:var(--navy);border-radius:2px;transition:.25s}
  .ham.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .ham.open span:nth-child(2){opacity:0}
  .ham.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  @media(max-width:1120px){
    .ham{display:flex}
    .menu{position:fixed;top:66px;right:0;left:0;background:rgba(255,255,255,.98);backdrop-filter:blur(14px);flex-direction:column;gap:2px;padding:18px 24px 26px;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .3s var(--ease);align-items:stretch}
    .menu.open{transform:none}
    .menu a{padding:12px 14px;font-size:15px}
    .menu a.cta{margin-left:0;text-align:center;margin-top:8px}
  }

  /* ---------- hero ---------- */
  /* v1 */
  /*.hero{
     position:relative;
    background:
    radial-gradient(1100px 520px at 82% -10%,rgba(61,118,172,.26),transparent 60%),
    radial-gradient(900px 500px at -8% 110%,rgba(201,151,63,.10),transparent 55%),
    linear-gradient(160deg,var(--navy-950) 0%,var(--navy) 45%,var(--navy-800) 100%);
    color:var(--white);
    padding:172px 0 150px;
    overflow:hidden 
  }*/

  /* v2 */
  /* .hero{
    position: relative;
    background: linear-gradient(rgba(77, 75, 75, 0.1), rgba(0,0,0,.1)),
    url("./imgs/main_bg4.jpg") center center / cover no-repeat;
    color: var(--white);
    padding: 172px 0 150px;
    overflow: hidden;
  } */

  /* v3 */
   /* .hero {
    position: relative;
    overflow: hidden;
    color: var(--white);
    padding: 172px 0 150px;
    background: linear-gradient(rgba(0,0,0,.1), rgba(0,0,0,.51)),
  }

  .hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("./imgs/main_bg4.jpg") center center / cover no-repeat;
    opacity: 0.5;
    z-index: -1;
  } */

.hero {
  position: relative;
  color: var(--white);
  padding: 172px 0 150px;
  overflow: hidden;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(0, 0, 0, 0.60), rgba(0, 0, 0, 0.60)),
    url("./imgs/main_bg5.jpg") center center / cover no-repeat;
  opacity: 0.85;
  z-index: -1;
}

  .hero .grid-deco{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(900px 600px at 30% 20%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(900px 600px at 30% 20%,#000 30%,transparent 75%)}
  .hero-in{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
  @media(max-width:980px){.hero-in{grid-template-columns:1fr}.hero-vis{display:none}}
  .hero .tag{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.08em;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:8px 18px;border-radius:22px;margin-bottom:30px;color:rgba(255,255,255,.85)}
  .hero .tag i{width:7px;height:7px;border-radius:50%;background:var(--gold-bright);display:inline-block;box-shadow:0 0 10px var(--gold-bright);font-style:normal}
  .hero h1{font-size:clamp(34px,4.8vw,56px);font-weight:800;line-height:1.22;letter-spacing:-.025em;margin-bottom:24px}
  .hero h1 em{font-style:normal;background:linear-gradient(100deg,var(--gold-pale),var(--gold-bright) 60%,#ffce8a);-webkit-background-clip:text;background-clip:text;color:transparent}
  .hero p{font-size:17.5px;max-width:640px;color:rgba(255,255,255,.78);margin-bottom:38px}
  .hero .goal{display:inline-flex;align-items:center;gap:18px;background:linear-gradient(135deg,rgba(227,178,100,.14),rgba(227,178,100,.05));border:1px solid rgba(227,178,100,.45);border-radius:16px;padding:18px 28px;margin-bottom:40px;backdrop-filter:blur(4px)}
  .hero .goal b{font-size:29px;font-weight:800;color:var(--gold-bright);line-height:1.15;white-space:nowrap;letter-spacing:-.01em}
  .hero .goal span{font-size:13.5px;color:rgba(255,255,255,.82);line-height:1.55}
  @media(max-width:560px){.hero .goal{flex-direction:column;align-items:flex-start;gap:8px}.hero .goal b{white-space:normal}}
  .hero .btns{display:flex;gap:14px;flex-wrap:wrap}
  .btn{display:inline-flex;align-items:center;gap:8px;padding:15px 30px;border-radius:30px;font-size:15.5px;font-weight:700;transition:.22s var(--ease)}
  .btn .ar{transition:transform .22s var(--ease)}
  .btn:hover .ar{transform:translateX(4px)}
  .btn.primary{background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#2e2208;box-shadow:0 8px 24px rgba(201,151,63,.35)}
  .btn.primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(201,151,63,.45)}
  .btn.ghost{border:1.5px solid rgba(255,255,255,.4);color:var(--white)}
  .btn.ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.7)}
  .hero-countries{display:flex;gap:10px;flex-wrap:wrap;margin-top:44px}
  .hc{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:rgba(255,255,255,.85);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-radius:24px;padding:7px 16px}
  .hc em{font-style:normal;font-size:16px;line-height:1}

  /* hero network visual */
  .hero-vis{position:relative}
  .hero-vis svg{width:100%;height:auto;display:block;filter:drop-shadow(0 20px 40px rgba(0,0,0,.3)); transform:scale(1.3)}
  @keyframes dashmove{to{stroke-dashoffset:-26}}
  .route{stroke:rgba(255,255,255,.35);stroke-width:1.6;fill:none;stroke-dasharray:5 8;animation:dashmove 2.6s linear infinite}
  .route.gold{stroke:rgba(227,178,100,.7)}
  @keyframes pulse{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}
  .node-glow{transform-origin:center;transform-box:fill-box;animation:pulse 2.8s ease-in-out infinite}

  /* ---------- stats (overlap) ---------- */
  .stats{position:relative;z-index:5;margin-top:-72px}
  .stats-in{max-width:1140px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .stat{background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid rgba(228,233,241,.9);border-radius:16px;padding:26px 22px;text-align:center;box-shadow:var(--shadow-md);position:relative;overflow:hidden;transition:transform .25s var(--ease)}
  .stat::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--sky));opacity:0;transition:.25s}
  .stat:hover{transform:translateY(-4px)}
  .stat:hover::before{opacity:1}
  .stat b{display:block;font-size:33px;font-weight:800;color:var(--blue);letter-spacing:-.02em;line-height:1.2}
  .stat b small{font-size:15px;font-weight:700}
  .stat b i{font-style:normal;font-variant-numeric:tabular-nums}
  .stat span{font-size:13px;color:var(--gray)}
  @media(max-width:900px){.stats-in{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:520px){.stats{margin-top:-56px}.stat b{font-size:27px}}

  /* ---------- value chain ---------- */
  .chain{background:var(--bg)}
  .chain-quote{position:relative;background:var(--white);border-radius:16px;padding:34px 38px 30px 66px;font-size:19.5px;font-weight:700;line-height:1.6;color:var(--navy);max-width:880px;margin-bottom:52px;box-shadow:var(--shadow-sm);border:1px solid var(--line-soft)}
  .chain-quote::before{content:"“";position:absolute;left:24px;top:12px;font-size:58px;line-height:1;font-weight:800;background:linear-gradient(135deg,var(--gold),var(--sky));-webkit-background-clip:text;background-clip:text;color:transparent}
  .chain-quote::after{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:4px;background:linear-gradient(180deg,var(--gold),var(--sky))}
  .chain-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .chain-card{background:var(--white);border-radius:var(--radius);padding:32px 26px;box-shadow:var(--shadow-sm);border:1px solid var(--line-soft);position:relative;transition:.28s var(--ease)}
  .chain-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:#d4e2f2}
  .chain-card .num{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--sky));color:var(--white);font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;box-shadow:0 4px 12px rgba(61,118,172,.3)}
  .chain-card h3{font-size:17.5px;font-weight:800;margin-bottom:10px;color:var(--navy);letter-spacing:-.01em}
  .chain-card p{font-size:14px;color:var(--gray);line-height:1.65}
  .chain-card::after{content:"→";position:absolute;right:-17px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-sm);font-size:13px;color:var(--sky);font-weight:800;display:flex;align-items:center;justify-content:center;z-index:2}
  .chain-card:last-child::after{display:none}
  @media(max-width:900px){.chain-grid{grid-template-columns:repeat(2,1fr)}.chain-card::after{display:none}}
  @media(max-width:560px){.chain-grid{grid-template-columns:1fr}}

  /* ---------- foot notes ---------- */
  .org-foot{margin-top:30px;font-size:13px;color:var(--gray);text-align:center;background:var(--white);border:1px dashed var(--line);border-radius:12px;padding:14px 20px}
  section[id="chain"] .org-foot,section[id="careers"] .org-foot{background:rgba(255,255,255,.7)}

  /* ---------- group network ---------- */
  .group-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
  @media(max-width:1080px){.group-grid{grid-template-columns:repeat(3,1fr)}}
  @media(max-width:820px){.group-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:560px){.group-grid{grid-template-columns:1fr}}
  .biz-card{background:var(--white);border-radius:var(--radius);padding:34px 30px;box-shadow:var(--shadow-sm);border:1px solid var(--line-soft);border-top:4px solid var(--sky);transition:.28s var(--ease)}
  .biz-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
  .biz-card .badge{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.04em;padding:5px 13px;border-radius:12px;background:#eaf2fa;color:var(--sky);margin-bottom:14px}
  .biz-card h3{font-size:19.5px;font-weight:800;color:var(--navy);margin-bottom:4px;letter-spacing:-.01em}
  .biz-card .sub{font-size:13.5px;color:#ad8030;font-weight:700;margin-bottom:14px}
  .biz-card p{font-size:14.5px;color:var(--gray)}
  .biz-card.kr{border-top-color:#1c4570}.biz-card.uz{border-top-color:#35836a}
  .biz-card.th{border-top-color:#b25959}.biz-card.vn{border-top-color:#bd9440}
  .biz-card.kr .badge{background:#e9eff7;color:#1c4570}.biz-card.uz .badge{background:#e6f5ee;color:#1f7a4f}
  .biz-card.th .badge{background:#faecec;color:#b03c3c}.biz-card.vn .badge{background:#faf3e2;color:#96721f}
  .gimg{margin:-34px -30px 18px;height:122px;overflow:hidden;position:relative}
  .group-grid .biz-card{overflow:hidden}
  .group-grid .biz-card[style]{padding:28px 24px}
  .group-grid .gimg{margin:-28px -24px 16px}
  .gimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease);filter:saturate(.92)}
  .gimg.contain img{object-fit: contain;}
  .biz-card:hover .gimg img{transform:scale(1.07)}
  .gimg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,26,51,.04),rgba(8,26,51,.34))}

  /* partners pills */
  .partners{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
  .partner{background:var(--white);border:1px solid var(--line);border-radius:30px;padding:11px 24px;font-size:14.5px;font-weight:700;color:var(--navy);box-shadow:var(--shadow-sm);transition:.2s}
  .partner:hover{border-color:var(--sky);transform:translateY(-2px)}
  .partner span{color:var(--gold);margin-right:7px}

  /* hub diagram */
  .hub{margin-top:56px;background:var(--white);border:1px solid var(--line-soft);border-radius:var(--radius);padding:36px 32px 24px;box-shadow:var(--shadow-sm)}
  .hub h3{font-size:18.5px;font-weight:800;color:var(--navy);margin-bottom:2px;letter-spacing:-.01em}
  .hub .hub-sub{font-size:13.5px;color:var(--gray);margin-bottom:12px}
  .hub svg{width:100%;height:auto;display:block}

  /* ---------- patent ---------- */
  .patent-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
  @media(max-width:860px){.patent-grid{grid-template-columns:1fr}}
  .patent-box{position:relative;background:linear-gradient(140deg,var(--navy-950),var(--navy) 55%,var(--blue));border-radius:20px;color:var(--white);padding:42px 38px;overflow:hidden;box-shadow:var(--shadow-lg)}
  .patent-box::before{content:"";position:absolute;right:-70px;top:-70px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(227,178,100,.22),transparent 65%)}
  .patent-box .big{font-size:46px;font-weight:800;color:var(--gold-bright);line-height:1.1;letter-spacing:-.02em}
  .patent-box .big small{font-size:17px;color:rgba(255,255,255,.78);font-weight:600;letter-spacing:0}
  .patent-box ul{list-style:none;margin-top:26px;position:relative}
  .patent-box li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.13);font-size:14.5px}
  .patent-box li:last-child{border-bottom:none}
  .patent-box li span:first-child{color:rgba(255,255,255,.6)}
  .patent-box li span:last-child{font-weight:700;text-align:right}
  .rev-item{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
  .rev-item:last-child{border-bottom:none}
  .rev-item .flag{flex-shrink:0;width:48px;height:48px;border-radius:14px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1}
  .patent-docs{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:44px}
  @media(max-width:620px){.patent-docs{grid-template-columns:1fr}}
  .patent-docs figure{background:var(--white);border:1px solid var(--line-soft);border-radius:16px;padding:22px 22px 16px;box-shadow:var(--shadow-sm);text-align:center}
  .patent-docs img{max-height:420px;width:auto;max-width:100%;object-fit:contain;margin:0 auto;display:block;border:1px solid var(--line-soft);border-radius:8px}
  .patent-docs figcaption{margin-top:13px;font-size:13px;font-weight:700;color:var(--gray)}
  .rev-item h4{font-size:16.5px;font-weight:800;color:var(--navy);margin-bottom:5px}
  .rev-item p{font-size:14px;color:var(--gray)}

  /* ---------- customers ---------- */
  .cust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  @media(max-width:1020px){.cust-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:560px){.cust-grid{grid-template-columns:1fr}}
  .cust-card{background:var(--white);border:1px solid var(--line-soft);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow-sm);border-top:4px solid var(--sky);transition:.28s var(--ease);display:flex;flex-direction:column;overflow:hidden;position:relative}
  .cimg{margin:-26px -24px 18px;height:150px;overflow:hidden;position:relative}
  .cimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease);filter:saturate(.92)}
  .cust-card:hover .cimg img{transform:scale(1.07)}
  .cimg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,26,51,0) 50%,rgba(8,26,51,.4))}
  .cust-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
  .cust-card.kr{border-top-color:#1c4570}.cust-card.uz{border-top-color:#35836a}
  .cust-card.th{border-top-color:#b25959}.cust-card.vn{border-top-color:#bd9440}
  .cimg[style*="none"]+.cflag{position:static !important;margin:0 0 10px !important}
  .cust-card .cflag{position:absolute;top:118px;left:22px;z-index:2;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.95);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;margin:0}
  .cust-card h3{font-size:16.5px;font-weight:800;color:var(--navy);line-height:1.4;margin:14px 0 4px;letter-spacing:-.01em}
  .cust-card .cwho{font-size:13px;color:var(--gray);margin-bottom:16px;min-height:40px}
  .cust-row{padding:11px 0;border-top:1px dashed var(--line);font-size:13px}
  .cust-row b{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--sky);text-transform:uppercase;margin-bottom:3px}
  .cust-row span{color:var(--ink);font-weight:600;line-height:1.55;display:block}
  /* .cust-card .cnow{margin-top:auto;padding-top:14px;font-size:12.5px;font-weight:800;color:var(--navy)}
  .cust-card .cnow em{font-style:normal;color:#ad8030} */
  .cust-card .cnow {padding-top:14px;font-size:12.5px;font-weight:800;color:var(--navy);margin-bottom:20px}
  .cust-card .cnow em {font-style:normal;color:#ad8030}
  .cbtn {
    margin-top: auto; /* 버튼을 카드 최하단으로 정렬 */
    display: flex;
    align-items: center;
    background-color: #f8f9fa; /* 연한 회색 배경 */
    border-radius: 8px;
    padding: 8px;
    transition: background-color 0.2s ease;
  }

  /* 카드에 마우스를 올렸을 때 버튼 배경색 살짝 강조 */
  .cust-card:hover .cbtn {
    background-color: #ebf1f7; 
  }

  .cbtn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    color: #03c75a; /* 네이버 상징색, 실제 이미지라면 필요 없음 */
  }

  .cbtn-txt {
    flex: 1; /* 글씨 영역이 꽉 차게 해서 화살표를 우측 끝으로 밀어냅니다. */
    font-size: 11px;
    font-weight: 700;
    color: #333;
    letter-spacing: -0.02em;
  }

  .cbtn-arr {
    color: #888;
    font-size: 16px;
    margin-left: 8px;
  }

  /* money flow */
  .flow-box{background:var(--white);border:1px solid var(--line-soft);border-radius:var(--radius);padding:32px 32px 26px;margin-top:36px;box-shadow:var(--shadow-sm)}
  .flow-box h3{font-size:17.5px;font-weight:800;color:var(--navy);margin-bottom:20px}
  .flow-lane{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 0;border-top:1px dashed var(--line)}
  .flow-lane:first-of-type{border-top:none}
  .flow-pill{background:#eef4fb;border-radius:24px;padding:9px 18px;font-size:13.5px;font-weight:700;color:var(--navy);white-space:nowrap}
  .flow-pill.src{background:var(--bg);border:1px solid var(--line)}
  .flow-pill.hq{background:linear-gradient(135deg,var(--navy),var(--blue-600));color:var(--white);box-shadow:0 3px 10px rgba(8,26,51,.25)}
  .flow-arrow{color:var(--sky);font-weight:800;font-size:16px}
  .flow-note{font-size:12px;color:#ad8030;font-weight:700;margin-left:4px}

  /* ---------- revenue model ---------- */
  .rev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
  @media(max-width:760px){.rev-grid{grid-template-columns:1fr}}
  .rev-card{background:var(--white);border:1px solid var(--line-soft);border-radius:var(--radius);padding:34px 32px;position:relative;box-shadow:var(--shadow-sm);transition:.28s var(--ease);overflow:hidden}
  .rev-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:#d4e2f2}
  .rev-card.future{background:linear-gradient(140deg,#fdf9f0,#fbf4e6);border-color:#eddcb8}
  .rev-card .rev-num{position:absolute;top:16px;right:24px;font-size:64px;font-weight:800;line-height:1;background:linear-gradient(180deg,#e9eef6,#f8fafd);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.03em}
  .rev-card.future .rev-num{background:linear-gradient(180deg,#eeddb5,#faf3e0);-webkit-background-clip:text;background-clip:text}
  .rev-card h3{font-size:19.5px;font-weight:800;color:var(--navy);margin:12px 0 12px;letter-spacing:-.01em;position:relative}
  .rev-card .badge{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.04em;padding:5px 13px;border-radius:12px;background:#eaf2fa;color:var(--sky)}
  .rev-card.future .badge{color:#96721f;background:#f5e9cd}
  .rev-card .rev-who{font-size:13px;font-weight:700;color:var(--sky);background:#eef4fb;border-radius:9px;padding:9px 15px;margin-bottom:14px;display:inline-block;position:relative}
  .rev-card.future .rev-who{color:#96721f;background:#f5e9cd}
  .rev-card p{font-size:14px;color:var(--gray);position:relative}
  .rev-card .rev-amt{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);font-size:13.5px;font-weight:800;color:var(--navy)}

  /* ---------- biz section ---------- */
  .biz{background:var(--bg)}
  .biz-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
  @media(max-width:760px){.biz-grid{grid-template-columns:1fr}}

  /* tables */
  .biz-table,.fin-table,.info-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--white);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--line-soft)}
  .biz-table{margin-top:44px}
  .biz-table th,.biz-table td{padding:15px 18px;font-size:13.5px;text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top}
  .biz-table thead th{background:var(--navy);color:var(--white);font-weight:700}
  .biz-table tbody tr:last-child td{border-bottom:none}
  .biz-table tbody tr{transition:background .15s}
  .biz-table tbody tr:hover{background:#f8fafd}
  .biz-table td b{color:var(--navy)}
  .biz-table .st{display:inline-block;font-size:11.5px;font-weight:700;padding:4px 11px;border-radius:10px;background:#eaf2fa;color:var(--sky);white-space:nowrap}
  @media(max-width:760px){.biz-table{display:block;overflow-x:auto}}

  /* ---------- chart ---------- */
  .chart-wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  @media(max-width:860px){.chart-wrap{grid-template-columns:1fr}}
  .bars{display:flex;align-items:flex-end;gap:24px;height:300px;padding:0 8px;border-bottom:2px solid var(--line);background:repeating-linear-gradient(180deg,transparent 0 59px,var(--line-soft) 59px 60px)}
  .bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
  .bar{width:100%;max-width:72px;height:0;border-radius:10px 10px 0 0;background:linear-gradient(180deg,var(--sky),var(--blue));position:relative;transition:height 1.1s var(--ease);box-shadow:0 4px 14px rgba(61,118,172,.28)}
  .bar.fc{background:repeating-linear-gradient(45deg,#e3b264,#e3b264 6px,#c9973f 6px,#c9973f 12px);box-shadow:0 4px 14px rgba(201,151,63,.35)}
  .bar .val{position:absolute;top:-32px;left:50%;transform:translateX(-50%);font-size:14px;font-weight:800;color:var(--navy);white-space:nowrap;font-variant-numeric:tabular-nums}
  .bar.fc .val{color:#96721f}
  .bar-label{margin-top:12px;font-size:13.5px;color:var(--gray);font-weight:600;text-align:center}
  .fin-notes li{list-style:none;padding:14px 0 14px 34px;position:relative;font-size:15px;color:var(--ink);border-bottom:1px solid var(--line-soft)}
  .fin-notes li::before{content:"✓";position:absolute;left:0;top:12px;width:22px;height:22px;border-radius:50%;background:#eaf2fa;color:var(--sky);font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center}
  .fin-notes li b{color:var(--blue-600)}
  .fin-src{font-size:12.5px;color:var(--gray-light);margin-top:16px}

  /* revenue mix */
  .mix{margin-top:72px}
  .mix h3{font-size:19.5px;font-weight:800;color:var(--navy);margin-bottom:4px}
  .mix .mix-sub{font-size:13.5px;color:var(--gray);margin-bottom:22px}
  .mix-bar{display:flex;height:60px;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md)}
  .mix-seg{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#fff;font-weight:800;font-size:14.5px;line-height:1.2;transition:flex .8s var(--ease)}
  .mix-seg small{font-weight:600;font-size:11.5px;opacity:.85}
  .mix-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:18px}
  .mix-legend span{font-size:13px;color:var(--gray);font-weight:600;display:flex;align-items:center;gap:7px}
  .mix-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}

  .fin-table{margin-top:60px}
  .fin-table th,.fin-table td{padding:14px 16px;font-size:14px;text-align:right;border-bottom:1px solid var(--line-soft)}
  .fin-table th:first-child,.fin-table td:first-child{text-align:left}
  .fin-table thead th{background:var(--navy);color:var(--white);font-weight:700;font-size:13.5px}
  .fin-table thead th.goal{background:var(--blue);color:var(--gold-pale)}
  .fin-table tbody th{background:#f2f5fa;color:var(--navy);font-weight:700}
  .fin-table td{font-variant-numeric:tabular-nums}
  .fin-table td.goal{background:#fdf8ec;font-weight:800;color:var(--navy)}
  .fin-table tr:last-child th,.fin-table tr:last-child td{border-bottom:none}
  .tbl-note{font-size:12.5px;color:var(--gray-light);margin-top:12px}
  @media(max-width:640px){.fin-table th,.fin-table td{padding:10px 8px;font-size:12px}}

  /* ---------- org ---------- */
  .org{display:flex;flex-direction:column;align-items:center}
  .org-node{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:18px 26px;text-align:center;box-shadow:var(--shadow-sm)}
  .org-node.ceo{background:linear-gradient(135deg,var(--navy-950),var(--blue));color:var(--white);border:none;min-width:270px;box-shadow:var(--shadow-md)}
  .org-node.ceo small,.org-node.vice small{display:block;font-size:11.5px;letter-spacing:.12em;color:var(--gold-bright);font-weight:800;margin-bottom:4px}
  .org-node.ceo b,.org-node.vice b{font-size:19px}
  .org-node.ceo span,.org-node.vice span{display:block;font-size:12.5px;color:rgba(255,255,255,.75);margin-top:4px}
  .org-node.vice{background:linear-gradient(135deg,#3a3122,#7a6a4a);color:var(--white);border:none;min-width:270px;box-shadow:var(--shadow-md)}
  .org-top{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
  .org-line{width:2px;height:28px;background:linear-gradient(180deg,var(--line),#cdd8e6)}
  .org-row{display:grid;gap:16px;width:100%;max-width:900px;margin-top:26px}
  .org-row.staff{grid-template-columns:repeat(2,1fr);max-width:580px}
  .org-row.biz4{grid-template-columns:repeat(4,1fr)}
  .org-node h5{font-size:15px;font-weight:800;color:var(--navy)}
  .org-node .tag2{display:inline-block;font-size:11px;font-weight:800;padding:3px 11px;border-radius:10px;background:#eaf2fa;color:var(--sky);margin-bottom:8px;letter-spacing:.03em}
  .org-node p{font-size:12.5px;color:var(--gray);margin-top:6px;line-height:1.55}
  .org-node.dept{border-top:3px solid var(--sky);transition:.22s var(--ease)}
  .org-node.dept:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
  .org-node.dept.uz{border-top-color:#35836a}.org-node.dept.th{border-top-color:#b25959}
  .org-node.dept.vn{border-top-color:#bd9440}.org-node.dept.kr{border-top-color:#1c4570}
  .org .org-foot{margin-top:28px}
  @media(max-width:760px){.org-row.biz4{grid-template-columns:repeat(2,1fr)}}

  /* country cards */
  .country-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:10px}
  @media(max-width:980px){.country-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:620px){.country-grid{grid-template-columns:1fr}}
  .country-card{background:var(--white);border:1px solid var(--line-soft);border-radius:var(--radius);padding:28px 26px;box-shadow:var(--shadow-sm);border-top:4px solid var(--sky);transition:.25s var(--ease)}
  .country-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
  .country-card.kr{border-top-color:#1c4570}.country-card.uz{border-top-color:#35836a}
  .country-card.th{border-top-color:#b25959}.country-card.vn{border-top-color:#bd9440}
  .country-card.us{border-top-color:#7a6a4a}.country-card.total{border-top-color:var(--gold);background:linear-gradient(140deg,#fdf9f0,#fbf4e6)}
  .country-head{display:flex;gap:13px;align-items:center;margin-bottom:16px}
  .country-head .cflag{flex-shrink:0;width:46px;height:46px;border-radius:13px;background:var(--bg);border:1px solid var(--line-soft);display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1}
  .country-card.total .country-head .cflag{background:rgba(255,255,255,.7)}
  .country-head h4{font-size:16.5px;font-weight:800;color:var(--navy)}
  .country-head .cloc{font-size:12px;color:var(--gray);font-weight:600}
  .role-list{list-style:none}
  .role-list li{padding:10px 0;border-bottom:1px dashed var(--line);font-size:13px}
  .role-list li:last-child{border-bottom:none}
  .role-list li b{display:block;color:var(--navy);font-size:13.5px}
  .role-list li span{color:var(--gray);font-size:12.5px}

  /* ---------- timeline ---------- */
  .tl{position:relative;margin-top:24px}
  .tl::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--sky) 0%,var(--line) 100%)}
  .tl-item{position:relative;padding:0 0 36px 46px}
  .tl-item::before{content:"";position:absolute;left:2px;top:5px;width:16px;height:16px;border-radius:50%;background:var(--white);border:4px solid var(--sky);box-shadow:0 0 0 4px rgba(61,118,172,.12)}
  .tl-item.now::before{background:var(--gold-bright);border-color:var(--gold);box-shadow:0 0 0 6px rgba(201,151,63,.2)}
  .tl-item h4{font-size:16.5px;font-weight:800;color:var(--navy)}
  .tl-item h4 span{display:inline-block;font-size:12px;font-weight:800;color:var(--sky);background:#eaf2fa;padding:3px 11px;border-radius:10px;margin-left:8px;vertical-align:2px;letter-spacing:.02em}
  .tl-item.now h4 span{color:#96721f;background:#f5e9cd}
  .tl-item p{font-size:14.5px;color:var(--gray);margin-top:5px;max-width:740px}

  /* ---------- band ---------- */
  .band{position:relative;background:radial-gradient(900px 400px at 20% 0%,rgba(61,118,172,.22),transparent 60%),radial-gradient(700px 380px at 85% 100%,rgba(201,151,63,.12),transparent 55%),linear-gradient(150deg,var(--navy-950),var(--navy) 55%,var(--navy-800));padding:110px 0;text-align:center;color:var(--white);overflow:hidden}
  .band::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:420px;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
  .band h2{font-size:clamp(25px,3.5vw,40px);font-weight:800;line-height:1.35;margin-bottom:16px;letter-spacing:-.02em}
  .band h2 em{font-style:normal;background:linear-gradient(100deg,var(--gold-pale),var(--gold-bright));-webkit-background-clip:text;background-clip:text;color:transparent}
  .band p{font-size:16.5px;color:rgba(255,255,255,.82);max-width:720px;margin:0 auto}
  
  /* ---------- news ---------- */
  .news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
  @media(max-width:760px){.news-grid{grid-template-columns:1fr}}
  .news-card{display:block;background:var(--white);border:1px solid var(--line-soft);border-radius:16px;padding:26px 28px;transition:.25s var(--ease);position:relative;box-shadow:var(--shadow-sm)}
  .news-card:hover{border-color:#cfe0f0;box-shadow:var(--shadow-lg);transform:translateY(-4px)}
  .news-card .meta{display:flex;gap:10px;align-items:center;margin-bottom:12px}
  .news-card .press{font-size:11.5px;font-weight:800;color:var(--white);background:linear-gradient(135deg,var(--blue),var(--sky));padding:4px 13px;border-radius:11px;letter-spacing:.02em}
  .news-card .date{font-size:12.5px;color:var(--gray-light);font-weight:600;font-variant-numeric:tabular-nums}
  .news-card h4{font-size:16px;font-weight:800;color:var(--navy);line-height:1.5;margin-bottom:8px;letter-spacing:-.01em}
  .news-card p{font-size:13.5px;color:var(--gray)}
  .news-card .link{display:inline-flex;align-items:center;gap:5px;margin-top:14px;font-size:13px;font-weight:700;color:var(--sky)}
  .news-card:hover .link{text-decoration:underline;text-underline-offset:3px}
  .news-card.feat{grid-column:1/-1;border-left:5px solid var(--gold);background:linear-gradient(120deg,#fffdf8,var(--white) 40%)}
  .news-card.feat h4{font-size:18px}

  /* photos */
  .photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:8px}
  @media(max-width:700px){.photo-grid{grid-template-columns:1fr}}
  .photo{background:var(--white);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--line-soft)}
  .photo img{width:100%;height:262px;object-fit:cover;display:block;transition:transform .6s var(--ease)}
  .photo:hover img{transform:scale(1.04)}
  .photo figcaption{padding:13px 20px;font-size:13px;color:var(--gray)}

  /* ---------- about ---------- */
  .about{background:var(--bg)}
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
  @media(max-width:860px){.about-grid{grid-template-columns:1fr}}
  .info-table th,.info-table td{padding:14px 20px;font-size:14.5px;text-align:left;border-bottom:1px solid var(--line-soft)}
  .info-table tr:last-child th,.info-table tr:last-child td{border-bottom:none}
  .info-table th{width:32%;background:#f2f5fa;color:var(--navy);font-weight:700}
  .contact-card{position:relative;background:linear-gradient(140deg,var(--navy-950),var(--navy) 55%,var(--blue));border-radius:20px;color:var(--white);padding:42px 38px;overflow:hidden;box-shadow:var(--shadow-lg)}
  .contact-card::before{content:"";position:absolute;right:-80px;bottom:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(61,118,172,.35),transparent 65%)}
  .contact-card h3{font-size:23px;font-weight:800;margin-bottom:12px;letter-spacing:-.01em}
  .contact-card p{font-size:15px;color:rgba(255,255,255,.82);margin-bottom:26px}
  .contact-card .row{display:flex;gap:14px;align-items:flex-start;padding:11px 0;font-size:14.5px;position:relative;border-bottom:1px solid rgba(255,255,255,.09)}
  .contact-card .row:last-child{border-bottom:none}
  .contact-card .row b{min-width:78px;color:var(--gold-bright);font-weight:700}
  .contact-card .row a{color:var(--white);font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.35)}

  /* ---------- footer ---------- */
  footer{background:var(--navy-950);color:rgba(255,255,255,.6);padding:56px 0 0;font-size:13.5px}
  .foot-grid{max-width:1140px;margin:0 auto;padding:0 24px 44px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
  @media(max-width:760px){.foot-grid{grid-template-columns:1fr}}
  .foot-brand .flogo{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:800;color:var(--white);margin-bottom:14px}
  .foot-brand .flogo .mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--blue),var(--sky));color:var(--gold-bright);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
  .foot-brand p{line-height:1.7;max-width:340px}
  .foot-col h5{font-size:12px;font-weight:800;letter-spacing:.14em;color:rgba(255,255,255,.45);text-transform:uppercase;margin-bottom:16px}
  .foot-col a{display:block;padding:5px 0;color:rgba(255,255,255,.65);transition:.15s}
  .foot-col a:hover{color:var(--gold-bright)}
  .foot-col .frow{padding:5px 0;color:rgba(255,255,255,.65)}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.08)}
  .foot-bottom-in{max-width:1140px;margin:0 auto;padding:20px 24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:rgba(255,255,255,.4)}

  /* ---------- totop ---------- */
  .totop{position:fixed;right:26px;bottom:26px;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--blue-600));color:var(--white);border:none;font-size:18px;cursor:pointer;opacity:0;pointer-events:none;transition:.3s var(--ease);z-index:90;box-shadow:var(--shadow-lg)}
  .totop.show{opacity:1;pointer-events:auto}
  .totop:hover{transform:translateY(-4px)}

  /* ---------- reveal ---------- */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
  .reveal.on{opacity:1;transform:none}
  .chain-grid .reveal:nth-child(2),.cust-grid .reveal:nth-child(2),.group-grid .reveal:nth-child(2),.rev-grid .reveal:nth-child(2){transition-delay:.08s}
  .chain-grid .reveal:nth-child(3),.cust-grid .reveal:nth-child(3),.group-grid .reveal:nth-child(3),.rev-grid .reveal:nth-child(3){transition-delay:.16s}
  .chain-grid .reveal:nth-child(4),.cust-grid .reveal:nth-child(4),.group-grid .reveal:nth-child(4),.rev-grid .reveal:nth-child(4){transition-delay:.24s}
  .group-grid .reveal:nth-child(5){transition-delay:.32s}
  @media(prefers-reduced-motion:reduce){
    .reveal{opacity:1;transform:none;transition:none}
    .route,.node-glow{animation:none}
    html{scroll-behavior:auto}
  }