@font-face {
  font-family: "신라문화체";
  src: url("../fonts/Shilla_Culture_M.ttf") format("truetype");
  font-display: swap;
}

:root {
  --navy: #152238;
  --blue: #3264d6;
  --text: #172033;
  --muted: #788399;
  --line: #dfe6f0;
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--text); font-family: "Pretendard", "Noto Sans KR", Arial, sans-serif; background: #edf2f8; }
body::before { content: ""; position: fixed; inset: 0; background: radial-gradient(circle at 18% 12%, rgba(71,114,212,.18), transparent 30%), radial-gradient(circle at 85% 80%, rgba(37,67,112,.13), transparent 32%); pointer-events: none; }
.factory-gate { min-height: 100vh; display: grid; place-items: center; padding: 40px 20px; }
.factory-gate-panel { position: relative; width: min(1240px, 100%); }
.factory-gate-header { text-align: center; margin-bottom: 34px; }
.factory-gate-brand { display: inline-block; color: var(--navy); font-family: "신라문화체", serif; font-size: 52px; line-height: 1; letter-spacing: -.05em; }
.factory-gate-header p { margin: 9px 0 28px; color: #647089; font-size: 10px; font-weight: 900; letter-spacing: .22em; }
.factory-gate-header h1 { margin: 0 0 10px; font-size: clamp(27px, 4vw, 38px); letter-spacing: -.04em; }
.factory-gate-header > span:last-child { color: var(--muted); font-size: 14px; }
.factory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.factory-card { position: relative; min-height: 355px; padding: 25px; overflow: hidden; border: 1px solid rgba(207,216,231,.95); border-radius: 24px; background: rgba(255,255,255,.94); color: var(--text); text-decoration: none; box-shadow: 0 20px 55px rgba(21,34,56,.09); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.factory-card:hover { transform: translateY(-5px); border-color: #92abd8; box-shadow: 0 25px 65px rgba(21,34,56,.15); }
.factory-card.is-current { border-color: #8da8dd; }
.factory-card-top { display: flex; justify-content: space-between; align-items: center; }
.factory-number { color: #c8d1df; font-size: 12px; font-weight: 900; letter-spacing: .14em; }
.factory-status { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 99px; color: #227346; background: #eaf8f0; font-size: 11px; font-weight: 900; }
.factory-status i { width: 7px; height: 7px; border-radius: 50%; background: #36b971; }
.factory-status.ready { color: #805d18; background: #fff4d9; }
.factory-status.ready i { background: #e3a72f; }
.factory-icon { width: 92px; height: 92px; display: grid; place-items: center; margin: 32px 0 23px; border-radius: 25px; background: linear-gradient(145deg, #e9f0ff, #f6f9ff); }
.factory-icon svg { width: 58px; fill: none; stroke: var(--blue); stroke-width: 3; stroke-linejoin: round; }
.factory-2 .factory-icon { background: linear-gradient(145deg, #eef1f6, #fafbfc); }
.factory-2 .factory-icon svg { stroke: #53647e; }
.comparison-card .factory-icon { background: linear-gradient(145deg, #e8f7f5, #f7fcfb); }
.comparison-card .factory-icon svg { stroke: #16877b; }
.factory-status.comparison { color: #116b62; background: #e5f7f4; }
.factory-status.comparison i { background: #20a596; }
.factory-copy h2 { margin: 0 0 7px; font-size: 30px; letter-spacing: -.04em; }
.factory-copy p { margin: 0; color: var(--muted); font-size: 14px; }
.factory-enter { position: absolute; left: 25px; right: 25px; bottom: 23px; display: flex; justify-content: space-between; align-items: center; padding-top: 18px; border-top: 1px solid var(--line); color: #35445e; font-size: 13px; font-weight: 900; }
.factory-enter b { font-size: 20px; transition: transform .2s ease; }
.factory-card:hover .factory-enter b { transform: translateX(4px); }
.current-label { position: absolute; left: 0; top: 0; padding: 7px 14px; border-radius: 23px 0 13px 0; color: #fff; background: var(--blue); font-size: 10px; font-weight: 900; }
.factory-gate-panel footer { margin-top: 24px; text-align: center; color: #7d8798; font-size: 12px; }

@media (max-width: 760px) {
  .factory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .factory-gate { padding: 28px 14px; align-items: start; }
  .factory-gate-header { margin-bottom: 25px; }
  .factory-grid { grid-template-columns: 1fr; }
  .factory-card { min-height: 275px; }
  .factory-icon { width: 70px; height: 70px; margin: 22px 0 17px; border-radius: 20px; }
  .factory-icon svg { width: 45px; }
}
