/*
Theme Name: FM JUMAK V5 (SVG MASTER)
Author: FM Labs
Version: 5.0.0
*/

:root {
  --fm-wood: #8b5a2b;
  --fm-dark: #1a1a1a;
  --fm-red: #a93226;
  --fm-paper: #f4f0e6;
  --fm-gold: #d4af37;
  --header-h: 80px;
}

@font-face {
    font-family: 'GungSeo';
    src: url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@400;700;900&display=swap');
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: 'Noto Serif KR', serif;
  background-color: var(--fm-paper);
  background-image: radial-gradient(#d7d0c0 1px, transparent 1px);
  background-size: 20px 20px;
  color: #333;
  line-height: 1.8;
  padding-top: var(--header-h);
  overflow-x: hidden;
  word-break: keep-all;
}

a { text-decoration: none; color: inherit; transition: 0.3s; }

.fm_svg { width: 1em; height: 1em; fill: currentColor; vertical-align: middle; display: inline-block; }

.fm_header {
  position: fixed; top: 0; left: 0; width: 100%; height: var(--header-h);
  background: #fff; border-bottom: 4px double var(--fm-wood);
  z-index: 1000; display: flex; align-items: center; justify-content: space-between;
  padding: 0 5%; box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.fm_logo { font-size: 28px; font-weight: 900; color: var(--fm-dark); display: flex; align-items: center; gap: 10px; }
.fm_logo span { color: var(--fm-red); }

.fm_nav { display: flex; gap: 30px; }
.fm_nav a { font-weight: 700; font-size: 16px; color: var(--fm-dark); }
.fm_nav a:hover { color: var(--fm-red); }

.fm_toggle { display: none; flex-direction: column; gap: 6px; cursor: pointer; }
.fm_toggle span { width: 25px; height: 3px; background: var(--fm-dark); }

.fm_hero_v3 {
  padding: 100px 5%; background: var(--fm-dark); color: #fff; 
  border-bottom: 10px solid var(--fm-wood); position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: space-between;
}
.fm_hero_content { flex: 1; padding-right: 50px; z-index: 2; text-align: left; }
.fm_hero_content h1 { font-size: 60px; font-weight: 900; line-height: 1.1; margin-bottom: 20px; }
.fm_hero_content p { font-size: 20px; color: #ccc; margin-bottom: 40px; }
.fm_hero_art { flex: 1; display: flex; justify-content: center; z-index: 1; }

.fm_tiger_emblem { width: 400px; height: 400px; filter: drop-shadow(0 0 20px rgba(212,175,55,0.3)); }

.fm_hero_sub {
  background: var(--fm-dark); color: #fff; padding: 100px 20px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; border-bottom: 5px solid var(--fm-wood);
}
.fm_hero_sub h1 { font-size: 48px; font-weight: 900; margin-bottom: 20px; }
.fm_hero_sub p { font-size: 20px; color: #ccc; max-width: 700px; }

.fm_btn {
  background: var(--fm-red); color: #fff; padding: 18px 45px;
  border: 2px solid var(--fm-gold); font-weight: 700; font-size: 20px;
  display: inline-flex; align-items: center; gap: 10px; cursor: pointer;
  box-shadow: 5px 5px 0 var(--fm-wood); transition: 0.1s;
}
.fm_btn:active { transform: translate(5px, 5px); box-shadow: none; }

.fm_grid_v3 {
  max-width: 1200px; margin: 80px auto; padding: 0 20px;
  display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 20px;
}
.fm_card {
  background: #fff; border: 3px solid var(--fm-dark); padding: 30px;
  position: relative; transition: 0.3s;
}
.fm_card:first-child { grid-row: span 2; background: var(--fm-dark); color: #fff; border-color: var(--fm-gold); }
.fm_card:first-child h3 { color: var(--fm-gold); font-size: 28px; }
.fm_card:first-child p { color: #ccc; font-size: 18px; }
.fm_card:hover { transform: translateY(-5px); box-shadow: 10px 10px 0 rgba(0,0,0,0.2); }

.fm_card_icon { width: 60px; height: 60px; fill: var(--fm-red); margin-bottom: 20px; display: block; }
.fm_card:first-child .fm_card_icon { fill: var(--fm-gold); width: 80px; height: 80px; }

.fm_card h3 { font-size: 20px; font-weight: 800; margin-bottom: 10px; }
.fm_card p { font-size: 15px; color: #555; line-height: 1.6; }
.fm_card:first-child p { color: #aaa; }

.fm_content { max-width: 960px; margin: 0 auto 100px; padding: 0 20px; }
.fm_article h2 { 
  font-size: 32px; border-bottom: 4px double var(--fm-dark); 
  padding-bottom: 15px; margin: 80px 0 30px; color: var(--fm-dark); text-align: center;
}
.fm_article p { font-size: 18px; margin-bottom: 25px; text-align: justify; color: #333; }

.fm_css_box {
  background: #fff; border: 2px solid var(--fm-wood); padding: 30px; margin: 40px 0;
  border-radius: 4px; box-shadow: 5px 5px 0 rgba(0,0,0,0.1); text-align: center;
}
.fm_stat { display: flex; justify-content: space-between; border-bottom: 1px dashed #ccc; padding: 15px 0; }
.fm_stat strong { color: var(--fm-dark); }
.fm_stat span { color: var(--fm-red); font-weight: 700; }

.fm_table_v3 { width: 100%; border-collapse: collapse; margin: 40px 0; border: 2px solid var(--fm-dark); }
.fm_table_v3 th, .fm_table_v3 td { padding: 20px; border: 1px solid var(--fm-dark); text-align: center; }
.fm_table_v3 th { background: var(--fm-dark); color: #fff; font-size: 18px; }
.fm_table_v3 td:first-child { background: #f0f0f0; font-weight: 700; width: 30%; }
.fm_check { color: var(--fm-red); font-weight: 900; font-size: 20px; }

.fm_faq { border: 2px solid var(--fm-wood); background: #fff; padding: 20px; margin-top: 60px; }
.fm_faq details { border-bottom: 1px dashed #ccc; padding: 15px 0; }
.fm_faq summary { font-size: 20px; font-weight: 700; cursor: pointer; list-style: none; color: var(--fm-dark); }
.fm_faq div { margin-top: 15px; padding-left: 30px; color: #555; }

.fm_gate { background: var(--fm-red); color: #fff; text-align: center; padding: 100px 20px; }
.fm_footer { background: #1a1a1a; color: #888; padding: 60px 20px; text-align: center; font-size: 14px; border-top: 1px solid #333; }
.fm_footer a { color: #aaa; margin: 0 15px; }

@media (max-width: 900px) {
  .fm_hero_v3 { flex-direction: column; text-align: center; padding-top: 120px; }
  .fm_hero_content { padding-right: 0; margin-bottom: 50px; }
  .fm_grid_v3 { grid-template-columns: 1fr; }
  .fm_nav { display: none; }
  .fm_toggle { display: flex; }
}