/* =============================================
   DANAL FINTECH: Production CSS
   Clean Modern SaaS/Fintech Design System
   ============================================= */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;600;700;800;900&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:17px;scroll-behavior:smooth}
body{font-family:'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic','Helvetica Neue',Helvetica,Arial,sans-serif;color:#111827;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"tnum" 1,"kern" 1;letter-spacing:normal}
h1,h2,h3,h4,h5,h6,.hero-h1,.ph-h1,.h2,.h3,.cta-h2,.is-title,.article-title,.svc-card-title,.svc-h3,.core-h3,.sm-h3,.module-name,.av-text,.mv-title,.as-val,.nl-title,.bi-title,.tl-summary-h{font-family:'Pretendard','Pretendard Variable',-apple-system,BlinkMacSystemFont,system-ui,'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font:inherit}
/* Lucide icon baseline fix */
[data-lucide]{display:block;flex-shrink:0}

:root{
  --ink:     #0B1629;
  --blue:    #2563EB;
  --blue-lt: #EFF6FF;
  --white:   #ffffff;
  --g50:     #F9FAFB;
  --g100:    #F3F4F6;
  --g200:    #E5E7EB;
  --g300:    #D1D5DB;
  --g400:    #9CA3AF;
  --g600:    #4B5563;
  --g700:    #374151;
  --max:     1200px;
  --hh:      72px;
}

/* ===== HEADER ===== */
.hd{
  position:fixed;inset:0 0 auto;height:var(--hh);z-index:1000;
  transition:background .3s,border-color .3s,box-shadow .3s;
}
.hd.dark{background:transparent;border-bottom:1px solid rgba(255,255,255,.1)}
.hd.light{
  background:rgba(255,255,255,.97);border-bottom:1px solid var(--g200);
  box-shadow:0 1px 8px rgba(0,0,0,.05);backdrop-filter:blur(8px);
}
.hd-inner{
  max-width:var(--max);margin:auto;padding:0 32px;height:var(--hh);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}

/* Logo */
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.hd.dark .logo-img-filter{filter:brightness(0) invert(1)}

/* Desktop Nav — Pill container + color glow on active */
.hd-nav{
  display:flex;gap:2px;align-items:center;
  padding:4px;border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  transition:background .25s,border-color .25s;
}
.nav-item{position:relative}
.nav-link{
  display:inline-flex;align-items:center;gap:4px;
  padding:9px 18px;border-radius:999px;
  font-size:.92rem;font-weight:600;letter-spacing:-.005em;
  transition:color .18s,background .18s,box-shadow .18s;
  cursor:pointer;white-space:nowrap;
}
/* Dark theme — 투명 헤더 위 필 컨테이너 */
.hd.dark .nav-link{color:rgba(255,255,255,.72)}
.hd.dark .nav-link:hover{color:#fff;background:rgba(255,255,255,.08)}
.hd.dark .nav-link.active{
  color:#0A0A0A;
  background:rgba(255,255,255,.96);
  box-shadow:0 4px 18px -4px rgba(0,0,0,.4),
             inset 0 1px 0 rgba(255,255,255,.9);
}
/* Light theme — 라이트 헤더 대응 */
.hd.light .hd-nav{
  background:rgba(10,10,10,.035);
  border-color:rgba(10,10,10,.06);
}
.hd.light .nav-link{color:var(--g600)}
.hd.light .nav-link:hover{color:var(--ink);background:rgba(10,10,10,.04)}
.hd.light .nav-link.active{
  color:#fff;
  background:#0A0A0A;
  box-shadow:0 4px 18px -4px rgba(10,10,10,.28),
             inset 0 1px 0 rgba(255,255,255,.06);
}
.nav-arrow{font-size:.65rem;opacity:.6;transition:transform .2s;line-height:1}
.nav-item:hover .nav-arrow{transform:rotate(180deg)}

/* Dropdown */
.nav-dropdown{
  position:absolute;top:calc(100% + 8px);left:0;
  min-width:180px;background:#fff;
  border:1px solid var(--g200);border-radius:10px;
  box-shadow:0 8px 30px rgba(0,0,0,.1);
  padding:6px;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .2s,visibility .2s,transform .2s;
  z-index:200;
}
.nav-item:hover .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.nav-dropdown a{
  display:block;padding:9px 14px;border-radius:6px;
  font-size:.875rem;font-weight:500;color:var(--g600);
  transition:color .12s,background .12s;
}
.nav-dropdown a:hover,.nav-dropdown a.active{color:var(--blue);background:var(--blue-lt)}

/* Header Buttons */
.hd-btns{display:flex;gap:10px;flex-shrink:0}
.btn-contact{
  padding:8px 20px;border-radius:7px;
  font-size:.875rem;font-weight:600;background:var(--blue);color:#fff;
  transition:background .2s,box-shadow .2s;letter-spacing:.01em;
}
.btn-contact:hover{background:#1D4ED8;box-shadow:0 2px 12px rgba(37,99,235,.35)}

/* Mobile Hamburger */
.hd-ham{
  display:none;flex-direction:column;gap:5px;
  width:34px;height:34px;align-items:center;justify-content:center;
  cursor:pointer;
}
.hd-ham span{display:block;width:22px;height:2px;border-radius:2px;transition:all .25s}
.hd.dark .hd-ham span{background:#fff}
.hd.light .hd-ham span{background:var(--ink)}
.hd-ham.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hd-ham.open span:nth-child(2){opacity:0}
.hd-ham.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile Nav Panel */
.mob-nav{
  display:none;position:fixed;top:var(--hh);left:0;right:0;bottom:0;
  background:#fff;z-index:999;overflow-y:auto;
  padding:16px 24px 40px;
  border-top:1px solid var(--g200);
}
.mob-nav.open{display:block}
.mob-nav-item{border-bottom:1px solid var(--g100)}
.mob-nav-btn{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;padding:14px 0;font-size:1rem;font-weight:600;
  color:var(--ink);background:none;border:none;cursor:pointer;
}
.mob-nav-btn .arrow{transition:transform .2s;font-size:.75rem;color:var(--g400)}
.mob-nav-btn.open .arrow{transform:rotate(180deg)}
.mob-sub{display:none;padding:0 0 8px 12px}
.mob-sub.open{display:block}
.mob-sub a{
  display:block;padding:10px 0;font-size:.9375rem;
  color:var(--g600);border-bottom:1px solid var(--g100);
}
.mob-sub a:last-child{border-bottom:none}
.mob-nav > a{
  display:block;padding:14px 0;font-size:1rem;font-weight:600;
  color:var(--ink);border-bottom:1px solid var(--g100);
}
.mob-nav-cta{margin-top:24px;display:flex;flex-direction:column;gap:10px}
.mob-nav-cta a{display:block;text-align:center;padding:13px;border-radius:8px}

/* ===== HERO: 2-column split ===== */
.hero{
  padding-top:var(--hh);
  background:linear-gradient(160deg, #0D1E36 0%, #0B1629 55%, #09131F 100%);
  position:relative;overflow:hidden;
  display:flex;align-items:center;
}
.hero::before{
  content:'';position:absolute;
  left:0;top:15%;bottom:15%;width:2px;
  background:linear-gradient(to bottom,transparent,rgba(37,99,235,.45) 35%,rgba(37,99,235,.45) 65%,transparent);
  pointer-events:none;
}
.hero-inner{
  max-width:var(--max);margin:auto;width:100%;position:relative;z-index:1;
}
/* 2-column hero layout */
.hero-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:center;
  padding:28px 32px 32px;
}
.hero-content{}
.hero-kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.4);margin-bottom:24px;
}
.kicker-line{width:24px;height:1px;background:rgba(255,255,255,.2)}
.hero-h1{
  font-size:clamp(2.25rem,5.4vw,5rem);
  font-weight:800;line-height:1.3;letter-spacing:normal;
  color:#fff;margin-bottom:24px;
}
.hero-h1 .accent{color:#6AABFF}
.hero-sub{
  font-size:1rem;color:rgba(255,255,255,.55);line-height:1.7;
  max-width:460px;margin-bottom:36px;font-weight:400;letter-spacing:normal;
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn-primary-lg{
  padding:14px 28px;background:var(--blue);color:#fff;border-radius:9px;
  font-size:.9375rem;font-weight:700;transition:background .15s,transform .15s;
}
.btn-primary-lg:hover{background:#1D4ED8;transform:translateY(-1px)}
.btn-ghost-lg{
  padding:14px 28px;border:1.5px solid rgba(255,255,255,.2);color:rgba(255,255,255,.8);
  border-radius:9px;font-size:.9375rem;font-weight:600;transition:all .15s;
}
.btn-ghost-lg:hover{border-color:rgba(255,255,255,.6);color:#fff}

/* Hero Visual: IEUM animation container */
.hero-visual{
  position:relative;
  height:460px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:#07101F;
}
/* ieum-scene inside hero fills the visual */
.hero-visual .ieum-scene{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border-radius:0;
  border:none;
}

/* ===== PAGE HERO (inner pages) ===== */
.page-hero{
  padding-top:var(--hh);
  background:linear-gradient(160deg, #0D1E36 0%, #0B1629 60%, #09131F 100%);
  position:relative;overflow:hidden;
  padding-bottom:48px;
}
.page-hero::before{
  content:'';position:absolute;
  left:0;top:0;bottom:0;width:2px;
  background:linear-gradient(to bottom,transparent,rgba(37,99,235,.45) 40%,rgba(37,99,235,.45) 60%,transparent);
  pointer-events:none;
}
.ph-deco{position:absolute;right:-100px;top:-100px;width:480px;height:480px;pointer-events:none}
.ph-deco-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.04)}
.ph-deco-ring:nth-child(2){inset:16%;border-color:rgba(37,99,235,.08)}
.ph-deco-ring:nth-child(3){inset:32%;border-color:rgba(37,99,235,.12)}
.ph-inner{
  max-width:var(--max);margin:auto;padding:48px 32px 0;
  position:relative;z-index:1;
}
.ph-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.35);margin-bottom:20px;
}
.ph-eyebrow .kicker-line{background:rgba(255,255,255,.15)}
.ph-h1{
  font-size:clamp(2rem,4.2vw,3.2rem);
  font-weight:800;line-height:1.3;letter-spacing:normal;
  color:#fff;margin-bottom:16px;
}
.ph-h1 .accent{color:#6AABFF}
.ph-sub{
  font-size:1rem;color:rgba(255,255,255,.55);line-height:1.7;
  max-width:560px;font-weight:400;letter-spacing:normal;
}
.ph-breadcrumb{
  display:flex;align-items:center;gap:8px;margin-bottom:24px;
  font-size:.8rem;color:rgba(255,255,255,.3);
}
.ph-breadcrumb a{color:rgba(255,255,255,.4);transition:color .15s}
.ph-breadcrumb a:hover{color:rgba(255,255,255,.8)}
.ph-breadcrumb .sep{opacity:.4}

/* ===== SECTIONS ===== */
.sec{padding:96px 0}
.sec-alt{background:var(--g50)}
.sec-sm{padding:72px 0}
.sec-dark{background:linear-gradient(160deg,#050E1E 0%,var(--ink) 100%);color:#fff}
.wrap{max-width:var(--max);margin:auto;padding:0 32px}
.sec-head{margin-bottom:48px}
.sec-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px}

/* Typography */
.badge{
  display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--blue);background:var(--blue-lt);padding:4px 12px;border-radius:20px;margin-bottom:16px;
}
.h2{
  font-size:clamp(1.75rem,2.9vw,2.5rem);font-weight:800;
  color:var(--ink);line-height:1.3;letter-spacing:normal;margin-bottom:16px;
}
.h3{font-size:1.25rem;font-weight:700;color:var(--ink);line-height:1.4;margin-bottom:10px;letter-spacing:normal}
.lead{font-size:1.06rem;color:var(--g600);line-height:1.7;font-weight:400;letter-spacing:normal}

/* Buttons */
.btn-primary{
  display:inline-flex;align-items:center;gap:6px;
  padding:12px 26px;background:var(--blue);color:#fff;
  border-radius:8px;font-size:.9375rem;font-weight:700;
  transition:background .15s,transform .15s;
}
.btn-primary:hover{background:#1D4ED8;transform:translateY(-1px)}
.btn-outline{
  display:inline-flex;align-items:center;gap:6px;
  padding:11px 24px;border:1.5px solid var(--g200);color:var(--g600);
  border-radius:8px;font-size:.9375rem;font-weight:600;
  transition:all .15s;
}
.btn-outline:hover{border-color:var(--blue);color:var(--blue)}
.btn-text{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.9rem;font-weight:600;color:var(--blue);
  transition:gap .15s;
}
.btn-text:hover{gap:10px}

/* ===== COMPANY INTRO STRIP (dark) ===== */
.intro-strip{
  background:var(--ink);
  padding:56px 0;
  border-top:1px solid rgba(255,255,255,.06);
}
.intro-strip-inner{max-width:var(--max);margin:auto;padding:0 32px}
.is-top{margin-bottom:32px}
.is-title{
  font-size:clamp(1.125rem,2vw,1.5rem);font-weight:800;
  color:#fff;letter-spacing:normal;line-height:1.45;
}
.is-title span{color:#6AABFF}
.is-body{
  display:grid;grid-template-columns:1fr 1.4fr;
  gap:48px;align-items:start;
  padding-top:28px;border-top:1px solid rgba(255,255,255,.07);
  margin-bottom:32px;
}
.is-desc p{
  font-size:.9375rem;color:rgba(255,255,255,.5);line-height:1.85;font-weight:400;
}
.is-points{display:flex;flex-direction:column;gap:0}
.is-point{
  display:flex;align-items:baseline;gap:16px;
  padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05);
}
.is-point:last-child{border-bottom:none}
.is-point-label{
  font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(107,171,255,.7);white-space:nowrap;width:56px;flex-shrink:0;
}
.is-point-text{font-size:.875rem;color:rgba(255,255,255,.6);line-height:1.5}
.intro-links{display:flex;gap:12px;flex-wrap:wrap}
.intro-link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.875rem;font-weight:700;color:rgba(255,255,255,.75);
  padding:9px 20px;border:1.5px solid rgba(255,255,255,.15);border-radius:8px;
  transition:background .15s,border-color .15s,color .15s;
}
.intro-link:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35);color:#fff}

/* ===== PARTNERS LOGO GRID ===== */
.partners-logo-wrap{margin-top:48px}
.partners-logo-group{margin-bottom:32px}
.partners-logo-group:last-child{margin-bottom:0}
.plg-label{
  font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--g400);margin-bottom:14px;
}
.partners-logo-row{
  display:flex;flex-wrap:wrap;gap:12px;
}
.partner-logo-item{
  display:flex;align-items:center;justify-content:center;
  padding:16px 24px;min-width:120px;
  background:#fff;border:1.5px solid var(--g200);border-radius:10px;
  transition:border-color .15s,box-shadow .15s;
}
.partner-logo-item:hover{border-color:var(--g300);box-shadow:0 2px 12px rgba(0,0,0,.06)}
.partner-logo-item img{
  height:28px;width:auto;max-width:100px;object-fit:contain;
  filter:grayscale(1);opacity:.6;transition:filter .2s,opacity .2s;
  display:block;
}
.partner-logo-item:hover img{filter:grayscale(0);opacity:1}
.partner-logo-item .pl-text{
  font-size:.875rem;font-weight:600;color:var(--g600);
  white-space:nowrap;
}

/* ===== PLATFORM FLOW ===== */
.pf-diagram{
  display:flex;align-items:stretch;gap:0;
  border:1.5px solid var(--g200);border-radius:16px;overflow:hidden;
  box-shadow:0 2px 16px rgba(0,0,0,.04);
  margin-top:48px;
}
.pf-node{
  flex:1;padding:32px 24px;text-align:center;
  border-right:1px solid var(--g200);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  transition:background .2s;
}
.pf-node:nth-child(1){background:#fafbff}
.pf-node:nth-child(3){background:#f0fdf9}
.pf-node:last-child{border-right:none;background:var(--g50)}
.pf-node-badge{
  display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 12px;border-radius:20px;margin-bottom:14px;
}
.pf-badge-ieum{background:#DBEAFE;color:var(--blue)}
.pf-badge-payble{background:#D1FAE5;color:#059669}
.pf-badge-end{background:var(--g200);color:var(--g600)}
.pf-node-title{font-size:.95rem;font-weight:700;color:var(--ink);line-height:1.35;margin-bottom:8px}
.pf-node-desc{font-size:.9rem;color:var(--g400);line-height:1.55}
.pf-sep{
  display:flex;align-items:center;justify-content:center;
  padding:0;background:var(--g50);border-right:1px solid var(--g200);min-width:32px;
  color:var(--g400);font-size:.75rem;
}

/* ===== SERVICES 2x2 CARD GRID ===== */
.svc-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:24px;margin-top:52px;
}
.svc-card{
  padding:32px;
  border:1.5px solid var(--g200);border-radius:16px;background:#fff;
  position:relative;overflow:hidden;
  transition:border-color .25s,box-shadow .25s,transform .25s;
  display:flex;flex-direction:column;
}
.svc-card:hover{
  border-color:var(--blue);
  box-shadow:0 8px 32px rgba(37,99,235,.1);
  transform:translateY(-2px);
}
.svc-card-green:hover{border-color:#059669;box-shadow:0 8px 32px rgba(5,150,105,.1)}
.svc-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--blue);transform:scaleX(0);transform-origin:left;
  transition:transform .25s;
}
.svc-card-green::before{background:#059669}
.svc-card:hover::before{transform:scaleX(1)}
.svc-icon{
  width:52px;height:52px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;flex-shrink:0;
}
.svc-icon svg{width:26px;height:26px}
.svc-card-title{font-size:1.125rem;font-weight:800;color:var(--ink);margin-bottom:4px}
.svc-card-sub{
  font-size:.72rem;font-weight:700;color:var(--blue);
  letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;
}
.svc-card-green .svc-card-sub{color:#059669}
.svc-card-desc{font-size:1rem;color:var(--g600);line-height:1.7;flex:1}
.svc-card-link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.875rem;font-weight:700;color:var(--blue);
  margin-top:20px;transition:gap .15s;
}
.svc-card-link:hover{gap:10px}
.svc-card-green .svc-card-link{color:#059669}

/* Legacy svc-list support */
.svc-list{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:52px}
.svc-item{
  padding:36px 32px 40px;
  border:1.5px solid var(--g200);border-radius:14px;background:#fff;
  position:relative;overflow:hidden;
  transition:border-color .25s,box-shadow .25s;
}
.svc-item::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--blue);opacity:0;transition:opacity .25s;
}
.svc-item:nth-child(2)::before{background:#059669}
.svc-item:hover{border-color:var(--blue);box-shadow:0 8px 32px rgba(37,99,235,.09)}
.svc-item:nth-child(2):hover{border-color:#059669;box-shadow:0 8px 32px rgba(5,150,105,.09)}
.svc-item:hover::before{opacity:1}
.svc-num{
  font-size:2.75rem;font-weight:900;letter-spacing:-.05em;
  color:var(--g200);line-height:1;
  position:absolute;right:28px;top:20px;
  transition:color .25s;
}
.svc-icon-wrap{
  width:52px;height:52px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
}
.svc-icon-wrap svg{width:26px;height:26px}
.svc-h3{font-size:1.1875rem;font-weight:800;color:var(--ink);margin-bottom:4px}
.svc-sub{font-size:.8rem;font-weight:600;color:var(--blue);letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px}
.svc-p{font-size:1rem;color:var(--g600);line-height:1.65;margin-bottom:0}
.svc-p+.svc-p{margin-top:12px}

/* ===== PLATFORM BLOCKS ===== */
.platform-blocks{margin-top:56px;display:flex;flex-direction:column;gap:0}
.platform-block{
  display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;
  padding:56px 0;
}
.platform-block+.platform-block{border-top:1px solid var(--g100)}
.platform-block-rev{direction:rtl}
.platform-block-rev .ptc-text,.platform-block-rev .pb-mini-grid{direction:ltr}
.pb-label{
  display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;padding:4px 12px;border-radius:20px;margin-bottom:14px;
}
.pb-label-ieum{background:#EFF6FF;color:var(--blue)}
.pb-label-payble{background:#ECFDF5;color:#059669}
.ptc-text .h2{font-size:1.625rem}
.ptc-text .lead{font-size:.9375rem;margin-bottom:28px}

/* Mini grid cards */
.pb-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-self:start}
.pb-mini-card{
  padding:20px 18px;background:#fff;
  border:1.5px solid var(--g200);border-radius:10px;
  border-left:3px solid var(--g200);
  transition:border-color .2s,box-shadow .2s,border-left-color .2s;
}
.pb-mini-card:hover{border-color:var(--blue);border-left-color:var(--blue);box-shadow:0 4px 16px rgba(37,99,235,.07)}
.pb-mini-card.green:hover{border-color:#059669;border-left-color:#059669;box-shadow:0 4px 16px rgba(5,150,105,.07)}
.pb-mini-name{font-size:.9375rem;font-weight:700;color:var(--ink);margin-bottom:4px}
.pb-mini-role{
  font-size:.65rem;font-weight:700;color:var(--blue);
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;
}
.pb-mini-role.green{color:#059669}
.pb-mini-desc{font-size:.92rem;color:var(--g600);line-height:1.6}
.pb-mini-logo{height:20px;width:auto;display:block;margin-bottom:6px}
.pb-block-logo{height:28px;width:auto;display:block;margin-bottom:14px}

/* ===== PARTNERS ===== */
.partners-grid{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:20px;margin-top:48px}
.partner-group{background:#fff;border:1.5px solid var(--g200);border-radius:12px;padding:24px 28px}
.pg-label{
  font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--g400);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--g200);
}
.pg-chips{display:flex;flex-wrap:wrap;gap:8px}
.pg-chip{
  padding:7px 16px;background:var(--g50);border:1px solid var(--g200);
  border-radius:8px;font-size:.85rem;font-weight:600;color:var(--g600);
  transition:border-color .15s,color .15s,background .15s;cursor:default;
}
.pg-chip:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-lt)}

/* ===== NEWS MAGAZINE ===== */
.news-magazine{
  display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:auto auto;
  gap:24px;margin-top:40px;
}
.news-lead{
  grid-row:1/3;
  border:1.5px solid var(--g200);border-radius:14px;overflow:hidden;
  cursor:pointer;transition:box-shadow .2s,transform .2s;
  display:flex;flex-direction:column;
}
.news-lead:hover{box-shadow:0 8px 32px rgba(0,0,0,.1);transform:translateY(-2px)}
.nl-thumb{
  height:240px;
  background:linear-gradient(145deg,#0D1E36 0%,#1E3A6E 60%,#0B2A5A 100%);
  border-bottom:1px solid var(--g200);
  display:flex;align-items:flex-end;
  padding:24px;
  position:relative;overflow:hidden;
}
.nl-thumb::before{
  content:'';position:absolute;right:-40px;top:-40px;
  width:220px;height:220px;border-radius:50%;
  border:1px solid rgba(255,255,255,.06);pointer-events:none;
}
.nl-thumb::after{
  content:'다날핀테크';
  font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.25);
}
.nl-thumb.has-image{
  background-size:cover;
  background-position:center top;
}
.nl-thumb.has-image::before{
  background:linear-gradient(to bottom,rgba(0,0,0,.08) 0%,rgba(0,0,0,.35) 100%);
  width:100%;height:100%;right:0;top:0;border-radius:0;border:none;
}
.nl-thumb.has-image::after{display:none;}
.nl-body{padding:28px;flex:1}
.nl-tag{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.nl-title{font-size:1.125rem;font-weight:800;color:var(--ink);line-height:1.35;margin-bottom:10px}
.nl-excerpt{font-size:1rem;color:var(--g600);line-height:1.65;margin-bottom:14px}
.nl-date{font-size:.8rem;color:var(--g400)}
.news-side{
  border:1.5px solid var(--g200);border-radius:12px;overflow:hidden;
  cursor:pointer;transition:box-shadow .2s,border-color .2s,transform .2s;display:flex;
  border-left:3px solid var(--g200);
}
.news-side:hover{box-shadow:0 4px 20px rgba(0,0,0,.07);border-color:var(--blue);border-left-color:var(--blue);transform:translateY(-1px)}
.ns-body{padding:22px 20px;display:flex;flex-direction:column;justify-content:space-between;flex:1}
.ns-tag{font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--blue);margin-bottom:8px}
.ns-title{font-size:.9375rem;font-weight:700;color:var(--ink);line-height:1.4;margin-bottom:8px}
.ns-excerpt{font-size:.85rem;color:var(--g600);line-height:1.65;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.ns-date{font-size:.78rem;color:var(--g400)}

/* ===== BOARD (news / notice list): Content grid ===== */
.board-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding-bottom:22px;margin-bottom:40px;border-bottom:1px solid var(--g200);
  flex-wrap:wrap;
}
.board-filter{display:flex;gap:4px;flex-wrap:wrap}
.board-tab{
  padding:8px 16px;border-radius:999px;
  font-size:.875rem;font-weight:500;
  color:var(--g600);background:transparent;border:none;
  transition:all .15s;cursor:pointer;
}
.board-tab:hover{color:var(--ink)}
.board-tab.active{background:var(--ink);color:#fff}
.board-search{display:flex;gap:8px;align-items:center;min-width:260px}
.board-search input{
  flex:1;padding:9px 14px;
  border:1px solid var(--g200);border-radius:999px;background:#fff;
  font-size:.875rem;font-family:inherit;color:var(--ink);
  transition:border-color .15s;
}
.board-search input::placeholder{color:var(--g400)}
.board-search input:focus{outline:none;border-color:var(--ink)}
.board-search button{
  padding:9px 18px;background:var(--ink);color:#fff;
  border-radius:999px;font-size:.85rem;font-weight:600;cursor:pointer;
  border:none;font-family:inherit;transition:background .15s;
}
.board-search button:hover{background:#1F2937}

/* 기본 리스트 스타일 (notice 등 썸네일 없는 리스트) */
.board-list{border-top:2px solid var(--ink)}
.board-item{
  display:grid;grid-template-columns:auto 1fr auto;
  align-items:center;gap:16px;
  padding:16px 8px;border-bottom:1px solid var(--g200);
  transition:background .15s;cursor:pointer;
}
.board-item:hover{background:var(--g50)}
.bi-num{font-size:.85rem;color:var(--g400);width:36px;text-align:center;flex-shrink:0}
.bi-main{min-width:0}
.bi-category{
  display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--blue);background:var(--blue-lt);padding:3px 8px;border-radius:4px;margin-bottom:6px;
}
.bi-title{font-size:.9375rem;font-weight:600;color:var(--ink);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bi-meta{display:flex;gap:16px;font-size:.82rem;color:var(--g400);margin-top:4px;white-space:nowrap}
.bi-date{font-size:.85rem;color:var(--g400);white-space:nowrap}
.bi-thumb{display:none}

/* 카드 그리드 (news 페이지) */
.board-list.is-cards{
  display:grid;grid-template-columns:repeat(4,1fr);
  column-gap:20px;row-gap:56px;
  border-top:none;
}
.board-list.is-cards .board-item{
  display:flex;flex-direction:column;gap:0;
  padding:0;border-bottom:none;background:transparent;
  transition:transform .25s ease;
}
.board-list.is-cards .board-item:hover{background:transparent}
.board-list.is-cards .board-item:hover .bi-thumb-img{transform:scale(1.04)}
.board-list.is-cards .board-item:hover .bi-title{color:var(--blue)}

.board-list.is-cards .bi-thumb{
  display:block;width:100%;aspect-ratio:16/9;
  border-radius:10px;overflow:hidden;margin-bottom:20px;
  background:var(--g100);position:relative;
}
.bi-thumb-img{
  position:absolute;inset:0;width:100%;height:100%;
  background-size:cover;background-position:center;
  transition:transform .4s ease;
}

/* 이미지 없는 썸네일: 제목을 타이포로 표현 */
.board-list.is-cards .bi-thumb.no-image{
  background:linear-gradient(135deg,#0B1629 0%,#1E293B 55%,#0B1629 100%);
  display:flex;flex-direction:column;align-items:flex-start;
  padding:16px 20px 14px;
  transition:filter .25s ease;
}
/* 은은한 격자 패턴 오버레이 */
.board-list.is-cards .bi-thumb.no-image::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(circle at 88% 14%, rgba(37,99,235,.22) 0%, transparent 40%),
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:auto, 36px 36px, 36px 36px;
  opacity:.9;
}
/* 상단 카테고리 태그 */
.bi-thumb-tag{
  position:relative;z-index:1;align-self:flex-start;
  font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.7);padding:4px 10px;
  border:1px solid rgba(255,255,255,.16);border-radius:999px;
  background:rgba(255,255,255,.04);
}
/* 가운데: 제목 */
.bi-thumb-title{
  position:relative;z-index:1;flex:1;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  overflow:hidden;
  color:#fff;font-weight:700;line-height:1.45;letter-spacing:normal;
  font-size:clamp(.95rem,1.4vw,1.15rem);
  margin:10px 0 8px;
  align-self:stretch;
  word-break:keep-all;
}
/* 하단: 브랜드 워터마크 */
.bi-thumb-brand{
  position:relative;z-index:1;
  font-size:.58rem;font-weight:700;letter-spacing:.16em;
  color:rgba(255,255,255,.3);
}

/* 카테고리별 톤 variant: 상단 액센트 글로우 색상 변경 */
.board-list.is-cards .bi-thumb.no-image.tone-press::before{
  background-image:
    radial-gradient(circle at 88% 14%, rgba(37,99,235,.28) 0%, transparent 42%),
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:auto, 36px 36px, 36px 36px;
}
.board-list.is-cards .bi-thumb.no-image.tone-media{
  background:linear-gradient(135deg,#111A2E 0%,#1F2A44 55%,#0B1629 100%);
}
.board-list.is-cards .bi-thumb.no-image.tone-media::before{
  background-image:
    radial-gradient(circle at 88% 14%, rgba(139,92,246,.26) 0%, transparent 42%),
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:auto, 36px 36px, 36px 36px;
}
.board-list.is-cards .bi-thumb.no-image.tone-global{
  background:linear-gradient(135deg,#0A1F2E 0%,#15324A 55%,#08141E 100%);
}
.board-list.is-cards .bi-thumb.no-image.tone-global::before{
  background-image:
    radial-gradient(circle at 88% 14%, rgba(14,165,233,.28) 0%, transparent 42%),
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:auto, 36px 36px, 36px 36px;
}
.board-list.is-cards .bi-thumb.no-image.tone-partner{
  background:linear-gradient(135deg,#0E1F1D 0%,#19352F 55%,#0B1A18 100%);
}
.board-list.is-cards .bi-thumb.no-image.tone-partner::before{
  background-image:
    radial-gradient(circle at 88% 14%, rgba(16,185,129,.26) 0%, transparent 42%),
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:auto, 36px 36px, 36px 36px;
}

/* hover: 배경 살짝 밝아지게 */
.board-list.is-cards .board-item:hover .bi-thumb.no-image{
  filter:brightness(1.08);
}
.board-list.is-cards .bi-main{
  display:flex;flex-direction:column;gap:10px;padding:0 2px;
  min-width:0;
}
.board-list.is-cards .bi-category{
  display:inline-block;margin:0;padding:0;background:transparent;border-radius:0;
  font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--blue);
}
.board-list.is-cards .bi-title{
  font-size:1rem;font-weight:600;color:var(--ink);line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  white-space:normal;overflow:hidden;text-overflow:clip;
  transition:color .15s;letter-spacing:normal;
}
.board-list.is-cards .bi-meta{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  font-size:.82rem;color:var(--g600);line-height:1.6;margin-top:-2px;
  white-space:normal;overflow:hidden;gap:0;
}
.board-list.is-cards .bi-date{
  font-size:.8rem;color:var(--g400);font-weight:500;margin-top:4px;
}
.board-list.is-cards .bi-num{display:none}

.board-empty{
  grid-column:1/-1;
  text-align:center;padding:80px 0;color:var(--g400);font-size:.9375rem;
}

.board-pagination{
  display:flex;justify-content:center;gap:6px;margin-top:80px;
}
.page-btn{
  min-width:36px;height:36px;padding:0 10px;
  display:flex;align-items:center;justify-content:center;
  border-radius:8px;font-size:.85rem;font-weight:600;
  border:none;color:var(--g400);background:transparent;
  transition:all .15s;cursor:pointer;font-family:inherit;
}
.page-btn.active{color:var(--ink);background:var(--g100)}
.page-btn:hover:not(.active){color:var(--ink)}

/* ===== ARTICLE VIEW ===== */
.article-wrap{max-width:780px;margin:0 auto}
.article-header{padding-bottom:32px;border-bottom:2px solid var(--g200);margin-bottom:40px}
.article-category{
  display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--blue);background:var(--blue-lt);padding:4px 10px;border-radius:4px;margin-bottom:16px;
}
.article-title{font-size:clamp(1.4rem,2.8vw,2rem);font-weight:800;color:var(--ink);line-height:1.4;letter-spacing:normal;margin-bottom:16px}
.article-meta{display:flex;align-items:center;gap:20px;font-size:.85rem;color:var(--g400)}
.article-meta-divider{width:1px;height:14px;background:var(--g200)}
.article-body{font-size:1rem;color:var(--g700);line-height:1.75;letter-spacing:normal}
.article-body p{margin-bottom:20px}
.article-body h2{font-size:1.2rem;font-weight:700;color:var(--ink);margin:36px 0 12px;letter-spacing:normal;line-height:1.4}
.article-body h3{font-size:1.05rem;font-weight:700;color:var(--ink);margin:28px 0 10px}
.article-body ul,.article-body ol{padding-left:24px;margin-bottom:20px}
.article-body li{margin-bottom:8px;color:var(--g700)}
.article-body blockquote{
  border-left:3px solid var(--blue);padding:16px 20px;
  background:var(--blue-lt);border-radius:0 8px 8px 0;margin:24px 0;
}
.article-body blockquote p{margin-bottom:0;color:var(--ink);font-weight:500}
.article-nav{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;
  margin-top:56px;padding-top:40px;border-top:1px solid var(--g200);
}
.article-nav-item{
  padding:20px 24px;border:1px solid var(--g200);border-radius:12px;
  cursor:pointer;transition:border-color .15s,background .15s;text-decoration:none;display:block;
}
.article-nav-item:hover{border-color:var(--blue);background:var(--blue-lt)}
.article-nav-item.nav-prev{text-align:left}
.article-nav-item.nav-next{text-align:right}
.article-nav-label{font-size:.75rem;color:var(--g400);margin-bottom:6px;font-weight:500}
.article-nav-title{font-size:.875rem;font-weight:600;color:var(--ink);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.article-nav-empty{pointer-events:none;opacity:.35}
.article-back{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.875rem;font-weight:600;color:var(--blue);
  margin-top:36px;transition:gap .15s;
}
.article-back:hover{gap:12px}
#article-loading{text-align:center;padding:80px 0;color:var(--g400);font-size:.9375rem}

/* ===== CTA ===== */
.cta-sec{
  background:linear-gradient(160deg, #050E1E 0%, var(--ink) 50%, #0E2355 100%);
  padding:100px 0 96px;position:relative;overflow:hidden;
}
.cta-sec::after{
  content:'';position:absolute;right:-80px;bottom:-80px;
  width:400px;height:400px;
  border:1px solid rgba(255,255,255,.07);border-radius:50%;
}
.cta-inner{
  max-width:var(--max);margin:auto;padding:0 32px;
  text-align:center;position:relative;z-index:1;
}
.cta-h2{font-size:clamp(1.75rem,2.8vw,2.75rem);font-weight:800;color:#fff;letter-spacing:normal;line-height:1.3;margin-bottom:20px}
.cta-p{font-size:1rem;color:rgba(255,255,255,.6);line-height:1.7;max-width:500px;margin:0 auto 44px;font-weight:400;letter-spacing:normal}
.cta-btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.btn-cta-w{padding:14px 32px;background:#fff;color:var(--blue);border-radius:9px;font-size:1rem;font-weight:700;transition:all .15s}
.btn-cta-w:hover{background:#EFF6FF}
.btn-cta-o{padding:14px 32px;border:1.5px solid rgba(255,255,255,.3);color:#fff;border-radius:9px;font-size:1rem;font-weight:600;transition:border-color .15s}
.btn-cta-o:hover{border-color:#fff}

/* ===== FOOTER ===== */
.ft{background:#05080F;color:rgba(255,255,255,.6)}
.ft-main{
  max-width:var(--max);margin:auto;padding:56px 32px;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.ft-desc{font-size:.875rem;color:rgba(255,255,255,.38);line-height:1.75;margin-top:14px}
.ft-title{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-bottom:16px}
.ft-nav{display:flex;flex-direction:column;gap:10px}
.ft-nav a{font-size:.875rem;color:rgba(255,255,255,.45);transition:color .15s}
.ft-nav a:hover{color:#fff}
.ft-bottom{
  max-width:var(--max);margin:auto;padding:22px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.ft-corp{font-size:.78rem;color:rgba(255,255,255,.3);line-height:1.8;font-style:normal}
.ft-corp a{color:rgba(255,255,255,.4);text-decoration:underline}
.ft-copy{font-size:.78rem;color:rgba(255,255,255,.2)}

/* ===== COMPANY PAGE ===== */
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-top:64px}
.about-text p{font-size:1rem;color:var(--g600);line-height:1.8;margin-bottom:16px}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px}
.about-stat{padding:24px;background:var(--g50);border-radius:12px;border:1px solid var(--g200)}
.as-val{font-size:2rem;font-weight:800;color:var(--ink);letter-spacing:-.03em;line-height:1;margin-bottom:4px}
.as-lbl{font-size:.8rem;color:var(--g400)}
.about-visual{
  background:linear-gradient(160deg,#0D1E36 0%,#0B1629 100%);
  border-radius:20px;padding:48px;position:relative;overflow:hidden;
  min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;
}
.about-visual::before{
  content:'';position:absolute;right:-60px;top:-60px;
  width:320px;height:320px;border-radius:50%;
  border:1px solid rgba(255,255,255,.06);
}
.av-tag{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:8px}
.av-text{font-size:1.375rem;font-weight:800;color:#fff;line-height:1.3}
.av-text span{color:#6AABFF}
.mission-vision{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
.mv-card{padding:40px;border-radius:16px;position:relative;overflow:hidden}
.mv-card-m{background:var(--ink);color:#fff}
.mv-card-v{background:var(--blue);color:#fff}
.mv-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.5;margin-bottom:12px}
.mv-title{font-size:1.5rem;font-weight:800;margin-bottom:16px;line-height:1.2}
.mv-text{font-size:.9375rem;line-height:1.7;opacity:.82}
.mv-card::after{
  content:'';position:absolute;right:-40px;bottom:-40px;
  width:180px;height:180px;border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
}
.core-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
.core-card{
  padding:32px;background:#fff;
  border:1.5px solid var(--g200);border-radius:14px;
  transition:border-color .2s,box-shadow .2s;
}
.core-card:hover{border-color:var(--blue);box-shadow:0 6px 24px rgba(37,99,235,.1)}
.core-num{
  font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--blue);
  display:flex;flex-direction:column;gap:7px;
}
.core-num::after{
  content:'';display:block;width:24px;height:2px;
  background:currentColor;border-radius:1px;
}
.core-h3{font-size:1.125rem;font-weight:800;color:var(--ink);margin-bottom:10px}
.core-p{font-size:1rem;color:var(--g600);line-height:1.65}

/* ===== HISTORY / TIMELINE ===== */
.timeline-wrap{display:grid;grid-template-columns:260px 1fr;gap:64px;margin-top:64px;align-items:start}
.tl-sticky{position:sticky;top:calc(var(--hh) + 32px)}
.tl-summary{padding:32px;background:var(--ink);border-radius:16px;color:#fff}
.tl-summary-label{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.4;margin-bottom:16px}
.tl-summary-h{font-size:1.5rem;font-weight:800;line-height:1.2;margin-bottom:12px}
.tl-summary-h span{color:#6AABFF}
.tl-summary-p{font-size:.875rem;opacity:.5;line-height:1.65;margin-bottom:20px}
.tl-years{display:flex;flex-wrap:wrap;gap:6px}
.tl-year-pill{
  padding:4px 12px;border-radius:20px;
  font-size:.75rem;font-weight:600;
  background:rgba(255,255,255,.08);color:rgba(255,255,255,.5);
}
.timeline{position:relative;padding-left:28px}
.timeline::before{
  content:'';position:absolute;
  left:0;top:8px;bottom:0;width:2px;
  background:linear-gradient(to bottom, var(--blue) 0%, var(--g200) 100%);
}
.tl-group{margin-bottom:48px}
.tl-year{
  font-size:1.375rem;font-weight:800;color:var(--ink);letter-spacing:normal;
  margin-bottom:20px;position:relative;
}
.tl-year::before{
  content:'';position:absolute;
  left:-36px;top:50%;transform:translateY(-50%);
  width:16px;height:16px;border-radius:50%;
  background:var(--blue);border:3px solid #fff;
  box-shadow:0 0 0 2px var(--blue);
}
.tl-items{display:flex;flex-direction:column;gap:12px}
.tl-item{
  background:#fff;border:1.5px solid var(--g200);
  border-radius:10px;padding:18px 22px;
  transition:border-color .15s,box-shadow .15s;
}
.tl-item:hover{border-color:var(--blue);box-shadow:0 4px 16px rgba(37,99,235,.1)}
.tl-month{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:4px}
.tl-content{font-size:.9375rem;color:var(--ink);font-weight:500;line-height:1.5}
.tl-sub{font-size:.85rem;color:var(--g600);margin-top:4px;line-height:1.5}

/* ===== SERVICE DETAIL ===== */
.service-overview{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-top:64px}
.so-visual{background:var(--g50);border:1.5px solid var(--g200);border-radius:16px;padding:36px}
.service-modules{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:52px}
.sm-card{
  padding:32px;background:#fff;
  border:1.5px solid var(--g200);border-radius:16px;
  transition:border-color .2s,box-shadow .2s;
}
.sm-card:hover{border-color:var(--blue);box-shadow:0 6px 24px rgba(37,99,235,.1)}
.sm-num{
  font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--blue);margin-bottom:14px;
  display:flex;flex-direction:column;gap:7px;
}
.sm-num::after{
  content:'';display:block;width:24px;height:2px;
  background:currentColor;border-radius:1px;
}
.sm-label{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:6px}
.sm-h3{font-size:1.125rem;font-weight:800;color:var(--ink);margin-bottom:10px}
.sm-p{font-size:1rem;color:var(--g600);line-height:1.65;margin-bottom:16px}
.sm-features{display:flex;flex-direction:column;gap:6px}
.sm-feature{
  display:flex;align-items:center;gap:8px;
  font-size:.875rem;color:var(--g600);
}
.sm-feature::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--blue);flex-shrink:0}
.sm-logo{height:34px;width:auto;display:block;margin-bottom:18px}
.ph-brand-logo{height:48px;width:auto;display:block;margin-bottom:6px}

/* ===== DEVELOPER CENTER ===== */
.dev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}
.dev-card{
  padding:32px;background:#fff;
  border:1.5px solid var(--g200);border-radius:14px;
  transition:border-color .2s,box-shadow .2s;display:block;
}
.dev-card:hover{border-color:var(--blue);box-shadow:0 6px 24px rgba(37,99,235,.1)}
.dev-num{
  font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--blue);margin-bottom:16px;
  display:flex;flex-direction:column;gap:7px;
}
.dev-num::after{
  content:'';display:block;width:24px;height:2px;
  background:currentColor;border-radius:1px;
}
.dev-h3{font-size:1.0625rem;font-weight:700;color:var(--ink);margin-bottom:8px}
.dev-p{font-size:.875rem;color:var(--g600);line-height:1.6;margin-bottom:14px}
.dev-arrow{font-size:.875rem;font-weight:600;color:var(--blue)}

/* ===== CONTACT PAGE ===== */
.contact-wrap{display:grid;grid-template-columns:1fr 1.5fr;gap:64px;align-items:start}
.contact-info h3{font-size:1.125rem;font-weight:700;color:var(--ink);margin-bottom:20px}
.contact-detail{display:flex;flex-direction:column;gap:16px}
.cd-item{
  display:flex;gap:0;align-items:flex-start;
  padding:18px 20px;background:#fff;border:1.5px solid var(--g200);border-radius:12px;
  border-left:3px solid var(--blue);
  transition:border-color .2s,box-shadow .2s,border-left-color .2s;
}
.cd-item:hover{border-color:var(--blue);box-shadow:0 4px 16px rgba(37,99,235,.07)}
.cd-label{font-size:.68rem;font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.cd-val{font-size:.9375rem;color:var(--ink);font-weight:500}
.cd-sub{font-size:.8375rem;color:var(--g400)}
.form-group{margin-bottom:20px}
.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--ink);margin-bottom:7px}
.form-label .req{color:var(--blue);margin-left:2px}
.form-input,.form-select,.form-textarea{
  width:100%;padding:12px 16px;
  border:1.5px solid var(--g200);border-radius:8px;
  font-size:.9375rem;font-family:inherit;color:var(--ink);
  background:#fff;transition:border-color .15s;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--blue)}
.form-textarea{resize:vertical;min-height:140px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-check{display:flex;align-items:flex-start;gap:10px;margin-bottom:24px}
.form-check input{margin-top:3px;accent-color:var(--blue);flex-shrink:0}
.form-check label{font-size:.875rem;color:var(--g600);line-height:1.5}
.form-submit{
  width:100%;padding:15px;background:var(--blue);color:#fff;
  border-radius:9px;font-size:1rem;font-weight:700;cursor:pointer;
  border:none;font-family:inherit;transition:background .15s;
}
.form-submit:hover{background:#1D4ED8}
.form-success{display:none;text-align:center;padding:56px 24px;background:var(--g50);border-radius:12px;border:1.5px solid var(--g200)}
.form-success.show{display:block}
.form-success-icon{font-size:3rem;margin-bottom:16px}
.form-success h3{font-size:1.25rem;font-weight:700;color:var(--ink);margin-bottom:8px}
.form-success p{font-size:.9375rem;color:var(--g600)}

/* ===== IEUM FLOW ANIMATION ===== */
.ieum-scene{
  width:100%;height:420px;position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.06);
  background:#07101F;
}
.ieum-scene::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:radial-gradient(ellipse 85% 85% at 50% 50%,black 20%,transparent 100%);
  pointer-events:none;
}
.ieum-left-col,.ieum-right-col{
  position:absolute;top:50%;transform:translateY(-50%);
  display:flex;flex-direction:column;gap:16px;z-index:10;
}
.ieum-left-col{left:20px}
.ieum-right-col{right:20px}
.ieum-chip{
  display:flex;align-items:center;gap:10px;padding:10px 13px;
  background:#0C1729;border:1px solid rgba(255,255,255,.07);
  border-radius:12px;min-width:148px;position:relative;
  transition:border-color .4s,box-shadow .4s;
}
.ieum-chip-rev{flex-direction:row-reverse}
.ieum-chip.glow-green{border-color:rgba(16,185,129,.45);box-shadow:0 0 18px rgba(16,185,129,.12)}
.ieum-chip.glow-blue {border-color:rgba(59,130,246,.45);box-shadow:0 0 18px rgba(59,130,246,.12)}
.ieum-chip.glow-amber{border-color:rgba(245,158,11,.45);box-shadow:0 0 18px rgba(245,158,11,.12)}
.ieum-chip.glow-purple{border-color:rgba(139,92,246,.45);box-shadow:0 0 18px rgba(139,92,246,.12)}
.ieum-chip.glow-red  {border-color:rgba(244,63,94,.45);box-shadow:0 0 18px rgba(244,63,94,.12)}
.ieum-chip.glow-cyan {border-color:rgba(6,182,212,.45);box-shadow:0 0 18px rgba(6,182,212,.12)}
.ieum-chip-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.ieum-chip-name{font-size:11.5px;font-weight:600;color:#E2E8F0;line-height:1.2}
.ieum-chip-sub{font-size:9px;color:#3D556E;margin-top:2px}
.ieum-hub{
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);z-index:15;
  display:flex;flex-direction:column;align-items:center;gap:10px;
}
.ieum-hub-ring-outer{
  width:108px;height:108px;border-radius:50%;position:relative;
  display:flex;align-items:center;justify-content:center;
}
.ieum-hub-ring-outer::before{
  content:'';position:absolute;inset:0;border-radius:50%;
  border:1.5px solid transparent;
  border-top-color:#3B82F6;border-right-color:rgba(59,130,246,.25);
  animation:ieumHubSpin 3s linear infinite;
}
@keyframes ieumHubSpin{to{transform:rotate(360deg)}}
.ieum-hub-ring-outer::after{
  content:'';position:absolute;inset:6px;border-radius:50%;
  border:1px solid rgba(59,130,246,.1);
}
.ieum-hub-core{
  width:80px;height:80px;border-radius:50%;
  background:radial-gradient(circle at 40% 35%,#1B3060 0%,#08132A 65%);
  border:1px solid rgba(59,130,246,.22);
  box-shadow:0 0 0 6px rgba(59,130,246,.05),0 0 28px rgba(59,130,246,.12);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;position:relative;z-index:2;
}
.ieum-hub-name{font-size:16px;font-weight:700;color:#fff;letter-spacing:.3px}
.ieum-hub-sub{font-size:7px;color:rgba(147,197,253,.55);letter-spacing:1.2px}
.ieum-hub-badges{display:flex;gap:4px}
.ihb{
  font-size:8.5px;font-weight:600;letter-spacing:.3px;padding:3px 8px;
  border-radius:8px;transition:all .35s;
}
.ihb-mint  {background:rgba(16,185,129,.07);border:1px solid rgba(16,185,129,.18);color:rgba(52,211,153,.5)}
.ihb-trust {background:rgba(59,130,246,.07);border:1px solid rgba(59,130,246,.18);color:rgba(147,197,253,.5)}
.ihb-wallet{background:rgba(139,92,246,.07);border:1px solid rgba(139,92,246,.18);color:rgba(196,181,253,.5)}
.ihb-prt   {background:rgba(245,158,11,.07);border:1px solid rgba(245,158,11,.18);color:rgba(253,211,77,.5)}
.ihb.on.ihb-mint  {background:rgba(16,185,129,.18);border-color:rgba(16,185,129,.5);color:#34D399}
.ihb.on.ihb-trust {background:rgba(59,130,246,.18);border-color:rgba(59,130,246,.5);color:#93C5FD}
.ihb.on.ihb-wallet{background:rgba(139,92,246,.18);border-color:rgba(139,92,246,.5);color:#C4B5FD}
.ihb.on.ihb-prt   {background:rgba(245,158,11,.18);border-color:rgba(245,158,11,.5);color:#FCD34D}
.ieum-phase-label{
  position:absolute;bottom:16px;left:50%;transform:translateX(-50%);
  font-size:10.5px;color:rgba(255,255,255,.38);
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
  border-radius:20px;padding:5px 18px;z-index:20;white-space:nowrap;
  transition:color .4s,border-color .4s;letter-spacing:.2px;
}
.ieum-phase-label b{font-weight:600}

/* ===== COMPANY ABOUT QUOTE ===== */
.about-quote{
  font-size:1.1875rem;font-weight:600;color:var(--ink);line-height:1.65;
  border-left:3px solid var(--blue);padding-left:20px;margin-bottom:32px;
}

/* ===== SECTION LABEL ROW (human layout variant) ===== */
.sec-label-row{
  display:grid;grid-template-columns:1fr 1fr;
  gap:32px;align-items:end;margin-bottom:52px;
}
.sec-eyebrow{
  font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--blue);margin-bottom:10px;
}
.sec-side-desc{
  font-size:.9375rem;color:var(--g600);line-height:1.75;
  padding-bottom:4px;
}

/* ===== IEUM MODULE GRID ===== */
.module-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.module-card{
  padding:28px 24px;background:#fff;
  border:1.5px solid var(--g200);border-radius:14px;
  display:flex;flex-direction:column;gap:10px;
  transition:border-color .22s,box-shadow .22s,transform .22s;
  position:relative;overflow:hidden;
}
.module-card:hover{
  border-color:var(--blue);
  box-shadow:0 6px 28px rgba(37,99,235,.1);
  transform:translateY(-2px);
}
.module-num{
  font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--blue);line-height:1;
  display:flex;flex-direction:column;gap:7px;
}
.module-num::after{
  content:'';display:block;width:24px;height:2px;
  background:currentColor;border-radius:1px;
}
.module-card:hover .module-num{color:var(--blue)}
.module-icon-wrap{
  width:46px;height:46px;border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.module-icon-wrap svg{width:22px;height:22px}
.module-name{font-size:1rem;font-weight:800;color:var(--ink);line-height:1.2}
.module-role{
  font-size:.68rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;color:var(--blue);
}
.module-desc{font-size:.875rem;color:var(--g600);line-height:1.65;flex:1}

/* ===== REVEAL ANIMATION ===== */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-d1{transition-delay:.1s}
.reveal-d2{transition-delay:.2s}
.reveal-d3{transition-delay:.3s}

/* ===== RESPONSIVE ===== */
@media (max-width:960px){
  .hd-nav,.hd-btns{display:none}
  .hd-ham{display:flex}
  .hero-split{grid-template-columns:1fr;gap:32px}
  .hero-visual{height:360px}
  .svc-grid,.svc-list,.platform-block,.mission-vision,.core-grid,
  .about-intro,.timeline-wrap,.service-modules,.contact-wrap,
  .service-overview,.partners-grid,.sec-label-row{grid-template-columns:1fr}
  .module-grid{grid-template-columns:1fr 1fr}
  .platform-block-rev{direction:ltr}
  .news-magazine{grid-template-columns:1fr;grid-template-rows:auto}
  .news-lead{grid-row:auto}
  .ft-main{grid-template-columns:1fr 1fr;gap:32px}
  .sec{padding:72px 0}
  .dev-grid{grid-template-columns:1fr 1fr}
  .ieum-scene{height:320px}
  .ieum-chip{min-width:110px;padding:8px 10px}
  .ieum-chip-name{font-size:10px}
  .ieum-chip-sub{display:none}
  .board-list.is-cards{grid-template-columns:repeat(2,1fr);column-gap:20px;row-gap:48px}
}
@media (max-width:600px){
  .wrap{padding:0 20px}
  .ft-main{grid-template-columns:1fr}
  .hero-split{padding:36px 20px}
  .hero-visual{height:280px}
  .ph-inner{padding:36px 20px 0}
  .form-row{grid-template-columns:1fr}
  .about-stats{grid-template-columns:1fr 1fr}
  .board-list.is-cards{grid-template-columns:1fr;row-gap:36px}
  .board-toolbar{gap:14px;padding-bottom:18px;margin-bottom:28px}
  .board-search{min-width:100%}
  .board-list.is-cards .bi-thumb{margin-bottom:16px}
  .board-list.is-cards .board-item{grid-template-columns:1fr}
  .dev-grid{grid-template-columns:1fr}
  .ieum-left-col,.ieum-right-col{gap:10px}
  .ieum-chip{min-width:90px}
  .hd-inner{padding:0 20px}
  #hd-logo{width:92px;height:auto}
}
