:root {
  --bg: #05080c; /* 딥 미드나잇 블루 */
  --panel: #0d131f; /* 고급 다크 판넬 */
  --panel-glass: rgba(13, 19, 31, 0.7); /* 글래스모피즘용 반투명 */
  --line: rgba(255, 255, 255, 0.08); /* 극도로 얇고 섬세한 경계선 */
  --line-light: rgba(255, 255, 255, 0.15);
  --text: #f8fafc; /* 실버 화이트 */
  --muted: #94a3b8; /* 차분한 슬레이트 그레이 */
  --primary: #ffffff; /* 순백 메탈릭 */
  --primary-dark: #cbd5e1;
  --accent: #00e6c3; /* 테크니컬 틸 - 금융 지표 상승 */
  --red: #ff6b6b; /* 로즈 레드 - 금융 지표 하락 */
  --gold: #dfb07a; /* 은은한 플래티넘 골드 */
  
  --heading: "Lora", "Noto Sans KR", Georgia, serif;
  --body: "Inter", "Noto Sans KR", -apple-system, BlinkMacSystemFont, sans-serif;
  
  --side: 80px;
  --container: 1200px;
  --radius-lg: 16px;
  --radius-md: 8px;
  --radius-sm: 4px;
  --transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

* { 
  box-sizing: border-box; 
}
html { 
  scroll-behavior: smooth; 
}
body { 
  margin: 0; 
  background: var(--bg); 
  color: var(--text); 
  font-family: var(--body); 
  line-height: 1.65; 
  letter-spacing: -0.01em;
  word-break: keep-all;
  overflow-wrap: break-word;
  text-wrap: pretty;
  -webkit-font-smoothing: antialiased;
}
a { 
  color: inherit; 
  text-decoration: none; 
}
img { 
  display: block; 
  width: 100%; 
}

/* Header */
.header { 
  position: fixed; 
  top: 0;
  left: 0;
  right: 0;
  z-index: 100; 
  display: grid; 
  grid-template-columns: 270px 1fr auto auto; 
  gap: 34px; 
  align-items: center; 
  padding: 20px var(--side); 
  text-transform: uppercase; 
  font-size: 11px; 
  font-weight: 700;
  letter-spacing: 0.12em; 
  background: rgba(5, 8, 12, 0.75);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(20px);
  transition: var(--transition);
}
.brand { 
  display: flex; 
  gap: 14px; 
  align-items: center; 
}
.brand span { 
  display: grid; 
  place-items: center; 
  width: 46px; 
  height: 46px; 
  border: 1px solid var(--line-light); 
  font-family: var(--heading); 
  font-size: 34px; 
  font-weight: 400;
  background: linear-gradient(145deg, #ffffff, #2c3540); 
  color: #05080c; 
  clip-path: polygon(50% 0, 100% 100%, 50% 78%, 0 100%);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
  transition: var(--transition);
}
.brand:hover span {
  transform: rotateY(180deg);
}
.brand strong { 
  font-family: var(--heading); 
  font-size: 26px; 
  font-weight: 500;
  letter-spacing: 0.15em; 
  line-height: 0.9; 
  color: var(--text);
}
.brand small { 
  display: block; 
  margin-top: 6px; 
  font-family: var(--body); 
  font-size: 9px; 
  font-weight: 800;
  letter-spacing: 0.38em; 
  color: var(--muted);
}
.header nav { 
  display: flex; 
  justify-content: center; 
  gap: 40px; 
}
.header nav a {
  color: var(--muted);
  transition: var(--transition);
}
.header nav a:hover {
  color: var(--text);
}
.login { 
  color: var(--muted); 
  margin-right: 18px;
  transition: var(--transition);
}
.login:hover {
  color: var(--text);
}
.outline, .button { 
  display: inline-flex; 
  align-items: center; 
  justify-content: center; 
  min-height: 44px; 
  padding: 0 24px; 
  border: 1px solid var(--line-light); 
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.02); 
  font-weight: 600;
  transition: var(--transition);
  cursor: pointer;
}
.outline:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--text);
}

/* Hero */
.hero { 
  position: relative; 
  min-height: 720px; 
  overflow: hidden;
  display: flex;
  align-items: center;
}
.hero img { 
  position: absolute; 
  inset: 0; 
  height: 100%; 
  object-fit: cover; 
}
.hero::after { 
  content: ""; 
  position: absolute; 
  inset: 0; 
  background: linear-gradient(90deg, rgba(5, 8, 12, 0.98) 0%, rgba(5, 8, 12, 0.8) 40%, rgba(5, 8, 12, 0.2) 75%); 
}
.hero-copy { 
  position: relative; 
  z-index: 1; 
  width: min(calc(100% - var(--side) * 2), var(--container)); 
  margin: 0 auto; 
  padding-top: 100px;
}
.hero h1 { 
  margin: 0; 
  max-width: 800px; 
  font-family: var(--heading); 
  font-size: 78px; 
  line-height: 1.05; 
  font-weight: 400; 
  letter-spacing: -0.01em;
  color: var(--text);
}
.rule { 
  width: 60px; 
  height: 2px; 
  background: var(--accent); 
  margin: 36px 0; 
}
.hero p { 
  max-width: 540px; 
  color: var(--muted); 
  font-size: 18px; 
  line-height: 1.7;
}
.actions { 
  display: flex; 
  gap: 16px; 
  margin-top: 44px; 
}
.actions span {
  display: inline-block;
  margin-left: 8px;
  transition: var(--transition);
}
.button.primary { 
  background: var(--primary); 
  color: var(--bg); 
  font-weight: 700;
  border: 1px solid var(--primary);
}
.button.primary:hover {
  background: var(--primary-dark);
  transform: translateY(-2px);
}
.button.primary:hover span {
  transform: translateX(4px);
}
.button.secondary { 
  background: rgba(255, 255, 255, 0.03); 
  color: var(--text);
  font-weight: 600;
  border: 1px solid var(--line-light);
}
.button.secondary:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--text);
  transform: translateY(-2px);
}
.button.secondary:hover span {
  transform: translateX(4px);
}

/* Ticker */
.ticker { 
  width: min(calc(100% - var(--side) * 2), var(--container)); 
  margin: -60px auto 0; 
  position: relative; 
  z-index: 10; 
  display: grid; 
  grid-template-columns: 1.25fr repeat(5, 1fr); 
  border: 1px solid var(--line); 
  border-radius: var(--radius-lg);
  background: var(--panel-glass); 
  backdrop-filter: blur(24px);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.ticker > * { 
  padding: 20px 24px; 
  border-right: 1px solid var(--line); 
  transition: var(--transition);
}
.ticker > *:last-child { 
  border-right: 0; 
}
.ticker > article:hover {
  background: rgba(255, 255, 255, 0.02);
}
.tabs { 
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px; 
}
.tabs strong { 
  font-size: 13px;
  color: var(--text);
  font-family: var(--heading);
  letter-spacing: 0.05em;
}
.tabs div {
  display: flex;
  gap: 8px;
}
.tabs span {
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--muted);
  border: 1px solid var(--line);
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  cursor: pointer;
}
.tabs span.active {
  border-color: var(--accent);
  color: var(--accent);
}
.ticker strong { 
  font-size: 11px; 
  text-transform: uppercase; 
  color: var(--muted); 
  letter-spacing: 0.05em;
}
.ticker b { 
  display: block; 
  margin: 6px 0; 
  color: var(--text); 
  font-size: 16px;
  font-weight: 600; 
  white-space: nowrap;
}
.ticker span {
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.up { 
  color: var(--accent); 
}
.down { 
  color: var(--red); 
}
.ticker i { 
  display: block; 
  height: 2px; 
  margin-top: 10px; 
  background: var(--line);
  position: relative;
}
.ticker article:hover i::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--accent);
  box-shadow: 0 0 8px var(--accent);
}
.ticker article:hover.down i::after {
  background: var(--red);
  box-shadow: 0 0 8px var(--red);
}

/* Commitment Section */
.commitment, .services { 
  width: min(calc(100% - var(--side) * 2), var(--container)); 
  margin: 0 auto; 
  padding: 100px 0; 
  text-align: center; 
}
.kicker { 
  margin: 0 0 16px; 
  color: var(--accent); 
  font-size: 11px; 
  font-weight: 800;
  letter-spacing: 0.25em; 
  text-transform: uppercase; 
}
.commitment h2, .services h2 { 
  margin: 0 0 64px; 
  font-family: var(--heading); 
  font-size: 46px; 
  font-weight: 400; 
  color: var(--text);
  letter-spacing: -0.01em;
}
.commit-grid { 
  display: grid; 
  grid-template-columns: repeat(4, 1fr); 
  gap: 32px; 
}
.commit-grid article { 
  padding: 40px 28px; 
  border: 1px solid var(--line); 
  border-radius: var(--radius-lg);
  background: var(--panel);
  transition: var(--transition);
  text-align: left;
}
.commit-grid article:hover {
  transform: translateY(-8px);
  border-color: rgba(255, 255, 255, 0.2);
  box-shadow: var(--shadow);
}
.commit-svg, .service-svg { 
  width: 36px; 
  height: 36px; 
  color: var(--accent);
  margin-bottom: 24px;
  transition: var(--transition);
}
.commit-grid article:hover .commit-svg {
  transform: scale(1.1);
  color: var(--text);
}
.commit-grid h3 { 
  margin: 0 0 12px;
  font-family: var(--heading); 
  font-size: 24px; 
  font-weight: 400; 
  color: var(--text);
}
.commit-grid p { 
  margin: 0;
  color: var(--muted); 
  font-size: 14px;
  line-height: 1.6;
}

/* Insight Section */
.insight { 
  width: min(calc(100% - var(--side) * 2), var(--container)); 
  margin: 0 auto; 
  padding: 60px; 
  display: grid; 
  grid-template-columns: 1.1fr 1.1fr 0.8fr; 
  gap: 60px; 
  align-items: center; 
  border: 1px solid var(--line); 
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, #09101d 0%, #05080c 100%); 
  box-shadow: var(--shadow);
}
.insight h2 { 
  font-family: var(--heading); 
  font-size: 38px; 
  font-weight: 400; 
  margin: 12px 0 20px;
  line-height: 1.2;
}
.insight p { 
  color: var(--muted); 
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 32px;
}
.insight a { 
  text-transform: uppercase; 
  font-weight: 700; 
  font-size: 12px; 
  color: var(--accent);
  letter-spacing: 0.1em;
  transition: var(--transition);
}
.insight a span {
  display: inline-block;
  transition: var(--transition);
}
.insight a:hover {
  color: var(--text);
}
.insight a:hover span {
  transform: translateX(4px);
}
.chart { 
  height: 200px; 
  border: 1px solid var(--line); 
  border-radius: var(--radius-md);
  padding: 16px;
  background: rgba(5, 8, 12, 0.5);
  display: flex; 
  align-items: center; 
}
.chart svg { 
  width: 100%; 
  height: 100%; 
  overflow: visible;
}
.insight aside {
  padding-left: 20px;
  border-left: 1px solid var(--line);
}
.insight aside span { 
  display: block; 
  font-size: 11px;
  text-transform: uppercase;
  color: var(--muted);
  letter-spacing: 0.05em;
}
.insight aside strong { 
  display: block; 
  font-family: var(--heading); 
  font-size: 46px; 
  font-weight: 400; 
  margin: 6px 0;
  color: var(--text);
  white-space: nowrap;
}
.insight aside b { 
  color: var(--accent); 
  font-weight: 600; 
  font-size: 14px;
  white-space: nowrap;
}
.insight aside em { 
  display: inline-block; 
  margin-top: 24px; 
  padding: 6px 14px; 
  border: 1px solid rgba(0, 230, 195, 0.2); 
  border-radius: var(--radius-sm);
  font-style: normal; 
  font-size: 11px;
  font-weight: 700;
  color: var(--accent); 
  background: rgba(0, 230, 195, 0.04);
  white-space: nowrap;
}

/* Services Section */
.service-grid { 
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px; 
  text-align: left; 
}
.service-grid article { 
  padding: 40px 32px; 
  border: 1px solid var(--line); 
  border-radius: var(--radius-lg);
  background: var(--panel); 
  transition: var(--transition);
  display: flex;
  flex-direction: column;
  height: 100%;
}
.service-grid article:hover {
  transform: translateY(-8px);
  border-color: rgba(255, 255, 255, 0.2);
  box-shadow: var(--shadow);
}
.service-grid article:hover .service-svg {
  color: var(--text);
  transform: scale(1.1);
}
.service-grid h3 { 
  margin: 0 0 12px; 
  font-family: var(--heading); 
  font-size: 24px; 
  font-weight: 400;
}
.service-grid p { 
  margin: 0 0 32px; 
  color: var(--muted); 
  font-size: 14px;
  line-height: 1.6;
  flex-grow: 1;
}
.service-grid a { 
  text-transform: uppercase; 
  font-weight: 700; 
  font-size: 12px; 
  color: var(--accent);
  letter-spacing: 0.08em;
  transition: var(--transition);
}
.service-grid a span {
  display: inline-block;
  transition: var(--transition);
}
.service-grid a:hover {
  color: var(--text);
}
.service-grid a:hover span {
  transform: translateX(4px);
}

/* Footer */
.footer { 
  display: grid; 
  grid-template-columns: 270px 1fr auto; 
  gap: 42px; 
  align-items: center; 
  padding: 48px var(--side); 
  border-top: 1px solid var(--line); 
  background: #030508; 
}
.footer .brand span {
  width: 38px;
  height: 38px;
  font-size: 26px;
}
.footer .brand strong {
  font-size: 20px;
}
.footer nav { 
  display: flex; 
  justify-content: center;
  gap: 36px; 
  text-transform: uppercase; 
  font-size: 11px; 
  font-weight: 700;
  letter-spacing: 0.08em;
}
.footer nav a {
  color: var(--muted);
  transition: var(--transition);
}
.footer nav a:hover {
  color: var(--text);
}
.social {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.footer small { 
  grid-column: 1 / -1; 
  color: rgba(148, 163, 184, 0.4); 
  font-size: 11px;
  border-top: 1px solid var(--line);
  padding-top: 24px;
  margin-top: 12px;
}

/* Clickable Ticker and Active State */
.ticker article {
  cursor: pointer;
}
.ticker article.active-ticker {
  background: rgba(255, 255, 255, 0.05);
  box-shadow: inset 0 -3px 0 var(--accent);
}
.ticker article.active-ticker.down {
  box-shadow: inset 0 -3px 0 var(--red);
}

/* Portfolio Allocation Simulator Styles */
.calculator-section {
  width: min(calc(100% - var(--side) * 2), var(--container));
  margin: 0 auto;
  padding: 100px 0;
  text-align: center;
  border-top: 1px solid var(--line);
}
.calculator-section h2 {
  margin: 0 0 16px;
  font-family: var(--heading);
  font-size: 46px;
  font-weight: 400;
  letter-spacing: -0.01em;
}
.section-desc {
  max-width: 600px;
  margin: 0 auto 56px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
}
.calc-container {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 56px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 48px;
  text-align: left;
  box-shadow: var(--shadow);
}
.calc-inputs {
  display: flex;
  flex-direction: column;
  gap: 36px;
  justify-content: center;
}
.input-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.input-group label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--muted);
  letter-spacing: 0.05em;
}
.amount-slider-wrap {
  display: flex;
  align-items: center;
  gap: 20px;
}
.amount-slider-wrap input[type="range"] {
  flex-grow: 1;
  accent-color: var(--accent);
  cursor: pointer;
}
.amount-display {
  font-family: var(--heading);
  font-size: 28px;
  color: var(--text);
  white-space: nowrap;
  min-width: 140px;
  text-align: right;
}
.risk-tabs {
  display: flex;
  gap: 10px;
}
.risk-tab {
  flex: 1;
  min-height: 44px;
  border: 1px solid var(--line-light);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.02);
  color: var(--muted);
  font-family: var(--body);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
}
.risk-tab:hover {
  background: rgba(255, 255, 255, 0.05);
  color: var(--text);
}
.risk-tab.active {
  background: var(--primary);
  color: var(--bg);
  border-color: var(--primary);
  font-weight: 700;
}
.allocation-bars {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.bar-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.bar-info {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: var(--text);
  font-weight: 600;
}
.bar-info span {
  color: var(--muted);
}
.bar-track {
  height: 8px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 99px;
  overflow: hidden;
}
.bar-fill {
  height: 100%;
  border-radius: 99px;
  transition: width 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.bar-value {
  align-self: flex-end;
  font-family: var(--heading);
  font-size: 16px;
  color: var(--text);
  font-weight: 500;
}

/* Responsive */
@media (max-width: 1024px) {
  :root { 
    --side: 32px; 
  }
  .header { 
    padding: 16px var(--side); 
  }
  .hero h1 { 
    font-size: 58px; 
  }
  .insight {
    grid-template-columns: 1.2fr 1fr;
    gap: 32px;
    padding: 40px;
  }
  .insight aside {
    grid-column: 1 / -1;
    border-left: 0;
    border-top: 1px solid var(--line);
    padding-left: 0;
    padding-top: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .insight aside em {
    margin-top: 0;
  }
  .commit-grid, .service-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .calculator-section {
    padding: 60px 0;
  }
}

@media (max-width: 768px) {
  :root {
    --side: 16px;
  }
  .header { 
    position: relative; 
    grid-template-columns: 1fr; 
    gap: 16px;
    text-align: center;
    padding: 16px var(--side);
    background: var(--panel);
    border-bottom: 1px solid var(--line);
  }
  .brand {
    justify-content: center;
  }
  .header nav, .footer nav { 
    flex-wrap: wrap; 
    justify-content: center; 
    gap: 16px; 
  }
  .outline, .login { 
    display: none; 
  }
  .hero h1 { 
    font-size: 36px; 
  }
  .hero-copy { 
    padding-top: 60px; 
    text-align: center;
  }
  .rule {
    margin: 20px auto;
  }
  .hero p {
    margin: 0 auto;
    font-size: 15px;
  }
  .actions { 
    flex-direction: column; 
    gap: 12px;
    align-items: center;
    margin-top: 30px;
  }
  .button {
    width: 100%;
    max-width: 320px;
  }
  .ticker { 
    grid-template-columns: 1fr; 
    margin-top: 30px;
  }
  .ticker > * { 
    border-right: 0; 
    border-bottom: 1px solid var(--line); 
    padding: 16px;
  }
  .tabs {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  .insight {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 24px 16px;
  }
  .insight h2 {
    font-size: 28px;
  }
  .insight p {
    font-size: 14px;
    margin-bottom: 20px;
  }
  .insight aside {
    grid-column: 1 / -1;
    border-left: 0;
    border-top: 1px solid var(--line);
    padding-left: 0;
    padding-top: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .insight aside em {
    margin-top: 8px;
  }
  .commit-grid, .service-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .calculator-section {
    padding: 60px 0;
  }
  .calc-container {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 24px 16px;
  }
  .amount-slider-wrap {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .amount-display {
    text-align: left;
    font-size: 24px;
    min-width: auto;
  }
  .footer {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 32px var(--side);
  }
  .footer .brand {
    justify-content: center;
  }
}

/* Subpage Layouts */
.sub-hero {
  padding: 160px var(--side) 60px;
  background: linear-gradient(180deg, #09101d 0%, var(--bg) 100%);
  border-bottom: 1px solid var(--line);
  text-align: center;
}
.sub-hero h1 {
  font-family: var(--heading);
  font-size: 56px;
  font-weight: 400;
  margin: 0 0 16px;
  letter-spacing: -0.01em;
}
.sub-hero p {
  color: var(--muted);
  font-size: 18px;
  max-width: 600px;
  margin: 0 auto;
}

/* Contact / Form Styles */
.form-container {
  max-width: 600px;
  margin: 60px auto 100px;
  padding: 48px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}
.form-container h2 {
  font-family: var(--heading);
  font-size: 32px;
  font-weight: 400;
  margin: 0 0 28px;
  text-align: center;
}
.form-group {
  margin-bottom: 24px;
}
.form-group label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
  letter-spacing: 0.05em;
}
.form-control {
  width: 100%;
  min-height: 48px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--line-light);
  border-radius: var(--radius-sm);
  color: var(--text);
  padding: 0 16px;
  font-family: var(--body);
  font-size: 14px;
  outline: none;
  transition: var(--transition);
}
.form-control:focus {
  border-color: var(--accent);
  background: rgba(255, 255, 255, 0.04);
}
textarea.form-control {
  padding: 16px;
  resize: vertical;
}

/* Markets Page Details */
.markets-list {
  width: min(calc(100% - var(--side) * 2), var(--container));
  margin: 60px auto 100px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.market-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 32px;
  transition: var(--transition);
}
.market-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 255, 255, 0.15);
}
.market-card header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--line);
  padding-bottom: 16px;
  margin-bottom: 16px;
}
.market-card h3 {
  margin: 0;
  font-family: var(--heading);
  font-size: 22px;
  font-weight: 400;
}
.market-card .price {
  font-size: 24px;
  font-weight: 700;
  margin: 16px 0 8px;
  white-space: nowrap;
}
.market-chart {
  height: 100px;
  margin-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
  padding-top: 16px;
  display: flex;
  align-items: center;
}

/* Insights Archive */
.insights-grid {
  width: min(calc(100% - var(--side) * 2), var(--container));
  margin: 60px auto 100px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.insight-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: var(--transition);
  display: flex;
  flex-direction: column;
}
.insight-card:hover {
  transform: translateY(-6px);
  border-color: rgba(255, 255, 255, 0.15);
}
.insight-card .card-copy {
  padding: 32px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.insight-card .date {
  font-size: 11px;
  color: var(--accent);
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.insight-card h3 {
  font-family: var(--heading);
  font-size: 22px;
  font-weight: 400;
  margin: 12px 0;
  line-height: 1.3;
}
.insight-card p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 24px;
  flex-grow: 1;
}
.insight-card a {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--text);
}
.insight-card a span {
  display: inline-block;
  transition: var(--transition);
}
.insight-card a:hover span {
  transform: translateX(4px);
}

@media (max-width: 1024px) {
  .markets-list, .insights-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .sub-hero {
    padding: 180px var(--side) 40px;
  }
  .sub-hero h1 {
    font-size: 38px;
  }
  .form-container {
    padding: 24px;
    margin: 40px auto 80px;
  }
  .markets-list, .insights-grid {
    grid-template-columns: 1fr;
  }
}

