@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600&family=Inter:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;600&family=Noto+Sans+KR:wght@400;600&display=swap');

:root{
  --navy:#1B2A4A; --navy-deep:#101a30; --gold:#C9A84C;
  --cream:#F7F5F0; --ink:#1C1C1A; --ink-soft:#5B5F68; --line:#E3E0D6; --white:#FFFFFF;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  font-family:'Inter','Noto Sans SC','Noto Sans KR', sans-serif;
  color:var(--ink); background:var(--cream); line-height:1.6;
}
h1,h2,h3{ font-family:'Source Serif 4','Noto Sans SC','Noto Sans KR', serif; font-weight:500; color:var(--navy); }
a{color:inherit; text-decoration:none;}
.wrap{max-width:1160px; margin:0 auto; padding:0 32px;}

header{ position:sticky; top:0; z-index:50; background:var(--navy); border-bottom:2px solid var(--gold); }
header .wrap{ display:flex; align-items:center; justify-content:space-between; height:76px; gap:20px; }
.brand{color:var(--white); font-family:'Source Serif 4', serif; font-size:18px; letter-spacing:0.3px; white-space:nowrap;}
.brand small{display:block; font-family:'Inter',sans-serif; font-size:10px; letter-spacing:1.4px; color:var(--gold); font-weight:600; margin-top:2px;}
nav ul{display:flex; gap:26px; list-style:none;}
nav a{color:#D9DEE8; font-size:13.5px; font-weight:500; transition:color .2s;}
nav a:hover{color:var(--gold);}
.header-right{display:flex; align-items:center; gap:16px;}
#lang-select{
  background:var(--navy-deep); color:#D9DEE8; border:1px solid rgba(255,255,255,0.2);
  padding:8px 10px; border-radius:3px; font-size:12.5px; font-family:'Inter',sans-serif;
}
.cta-header{ background:var(--gold); color:var(--navy-deep); font-weight:600; font-size:13px; padding:10px 18px; border-radius:2px; white-space:nowrap; }

.hero{ background:linear-gradient(180deg, var(--navy) 0%, var(--navy-deep) 100%); color:var(--white); padding:96px 0 88px; position:relative; overflow:hidden; }
.hero:after{ content:""; position:absolute; right:-120px; top:-120px; width:420px; height:420px; border:1px solid rgba(201,168,76,0.18); border-radius:50%; }
.hero-eyebrow{color:var(--gold); font-size:12.5px; font-weight:600; letter-spacing:2px; text-transform:uppercase; margin-bottom:18px;}
.hero h1{font-size:42px; line-height:1.2; max-width:700px; color:var(--white); font-weight:500;}
.hero p{color:#C7CEDB; font-size:16.5px; max-width:580px; margin-top:22px;}
.hero-actions{display:flex; gap:16px; margin-top:36px; flex-wrap:wrap;}
.btn-primary{background:var(--gold); color:var(--navy-deep); padding:14px 26px; font-weight:600; font-size:14px; border-radius:2px; display:inline-block;}
.btn-ghost{border:1px solid rgba(255,255,255,0.35); color:var(--white); padding:14px 26px; font-weight:500; font-size:14px; border-radius:2px; display:inline-block;}
.hero-stats{display:flex; gap:44px; margin-top:60px; padding-top:30px; border-top:1px solid rgba(255,255,255,0.14); max-width:720px; flex-wrap:wrap;}
.hero-stats div p:first-child{font-family:'Source Serif 4',serif; font-size:24px; color:var(--gold);}
.hero-stats div p:last-child{font-size:12px; color:#AEB6C4; margin-top:4px; max-width:180px;}

.section{padding:84px 0;}
.section-head{max-width:620px; margin-bottom:48px;}
.eyebrow{color:var(--gold); font-size:12px; font-weight:700; letter-spacing:1.8px; text-transform:uppercase; margin-bottom:14px;}
.section-head h2{font-size:30px;}
.section-head p{color:var(--ink-soft); margin-top:14px; font-size:15px;}

.services{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.service-card{background:var(--white); padding:34px 28px;}
.service-num{font-family:'Source Serif 4',serif; color:var(--gold); font-size:14px; margin-bottom:16px;}
.service-card h3{font-size:18px; margin-bottom:12px;}
.service-card p{color:var(--ink-soft); font-size:14px;}
.service-card a{display:inline-block; margin-top:16px; font-size:13px; font-weight:600; color:var(--navy); border-bottom:1px solid var(--gold); padding-bottom:2px;}

.dynamic{background:var(--navy-deep); padding:84px 0;}
.dynamic .section-head h2, .dynamic .eyebrow{color:var(--white);}
.dynamic .eyebrow{color:var(--gold);}
.dynamic .section-head p{color:#AEB6C4;}
.charts-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-bottom:22px;}
.chart-card{background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.1); border-radius:5px; padding:24px;}
.chart-card h4{color:var(--white); font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600; margin-bottom:16px;}
.chart-box{position:relative; height:220px;}
.chart-card.full{grid-column:1/-1;}
.chart-note{margin-top:18px; font-size:11px; color:#6C7488; line-height:1.5;}

.contact{display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:start;}
.contact-info p{color:var(--ink-soft); font-size:14.5px; margin-bottom:26px; max-width:440px;}
.contact-row{display:flex; gap:14px; padding:15px 0; border-bottom:1px solid var(--line);}
.contact-row strong{display:block; font-size:13.5px; color:var(--navy);}
.contact-row span{font-size:13px; color:var(--ink-soft);}
.credentials{background:var(--white); border:1px solid var(--line); padding:30px; border-radius:4px;}
.credentials h4{font-family:'Inter',sans-serif; font-size:11.5px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; color:var(--navy); margin-bottom:16px;}
.credentials p{font-size:13px; color:var(--ink-soft); padding:8px 0; border-bottom:1px solid var(--line);}
.credentials p:last-child{border-bottom:none;}
.credentials b{color:var(--ink);}

footer{background:var(--navy-deep); padding:32px 0; text-align:center;}
footer p{color:#8B94A6; font-size:12px;}

@media(max-width:900px){
  .hero h1{font-size:30px;}
  .services{grid-template-columns:1fr;}
  .charts-grid{grid-template-columns:1fr;}
  .contact{grid-template-columns:1fr;}
  nav{display:none;}
  .hero-stats{gap:26px;}
}
