/* vfql — 실내수직농장 품질관리 — 스틸블루 프로세스형 */
.vfql { background: #f4f7f9; color: #1c2b33; overflow: hidden; }

.vfql-hero { position: relative; background-size: cover; background-position: center; overflow: hidden; }
.vfql-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,35,48,.78), rgba(15,35,48,.9)); }
.vfql-hero-inner { position: relative; max-width: var(--maxw); margin: 0 auto; padding: 92px 24px 64px; text-align: center; }
.vfql-eyebrow { display: inline-block; font-family: monospace; font-size: .72rem; letter-spacing: .18em; font-weight: 800; color: #6fb8e0; margin-bottom: 14px; }
.vfql-hero-inner h1 { font-size: clamp(2.2rem, 6.5vw, 3.8rem); font-weight: 800; color: #fff; }
.vfql-hero-lead { margin-top: 16px; color: #d7e6ee; max-width: 700px; margin-left: auto; margin-right: auto; line-height: 1.75; }
.vfql-hero-cta { display: flex; gap: 14px; justify-content: center; margin-top: 30px; flex-wrap: wrap; }
.vfql-btn { padding: 14px 26px; min-height: 44px; display: inline-flex; align-items: center; border-radius: 8px; font-weight: 700; font-size: .9rem; }
.vfql-btn-primary { background: #2f5673; color: #fff; }
.vfql-btn-outline { border: 1.5px solid rgba(255,255,255,.55); color: #fff; }

.vfql-section { max-width: var(--maxw); margin: 0 auto; padding: 60px 24px; }
.vfql-section h2 { font-size: clamp(1.35rem, 3vw, 2rem); font-weight: 800; color: #16262f; }
.vfql-answer { margin-top: 16px; padding: 18px 20px; background: #fff; border-left: 4px solid #2f5673; font-weight: 700; border-radius: 4px; }
.vfql-body { margin-top: 14px; color: #4c5c65; line-height: 1.8; }
.vfql-alt { background: #e9eff3; overflow: hidden; }

.vfql-flow { margin-top: 28px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.vfql-flow-item { background: #fff; border: 1px solid #d2dde3; border-radius: 10px; padding: 16px 18px; text-align: center; flex: 1; min-width: 110px; }
.vfql-flow-item span { display: block; font-family: monospace; font-size: .72rem; font-weight: 800; color: #2f5673; letter-spacing: .08em; }
.vfql-flow-item b { display: block; margin-top: 6px; font-size: .98rem; }
.vfql-flow-arrow { color: #8ea5b0; font-weight: 800; }
@media (max-width: 760px) { .vfql-flow { flex-direction: column; } .vfql-flow-arrow { transform: rotate(90deg); } }

.vfql-figure { margin-top: 28px; border-radius: 14px; overflow: hidden; }
.vfql-figure img { width: 100%; display: block; }

.vfql-gallery { margin-top: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 640px) { .vfql-gallery { grid-template-columns: 1fr; } }
.vfql-gallery img { border-radius: 14px; width: 100%; display: block; }

.vfql-table { width: 100%; margin-top: 22px; border-collapse: collapse; background: #fff; border-radius: 12px; overflow: hidden; }
.vfql-table th, .vfql-table td { padding: 14px 16px; text-align: left; border-bottom: 1px solid #d2dde3; font-size: .92rem; }
.vfql-table th { background: #e9eff3; color: #2f5673; font-weight: 800; }
.vfql-table tr:last-child td { border-bottom: none; }

.vfql-profile { text-align: center; }
.vfql-profile-card { max-width: 480px; margin: 24px auto 0; background: #fff; border: 1px solid #d2dde3; border-radius: 14px; padding: 28px; }
.vfql-profile-card p { margin-top: 6px; color: #4c5c65; }
.vfql-profile-card p:first-child { margin-top: 0; font-size: 1.1rem; color: #16262f; }

.vfql-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 24px; }
@media (max-width: 760px) { .vfql-related-grid { grid-template-columns: 1fr; } }
.vfql-related-card { display: block; padding: 20px; min-height: 44px; border: 1px solid #d2dde3; border-radius: var(--radius); font-weight: 700; background: #fff; color: #16262f; }
.vfql-related-card span { display: block; font-size: .75rem; font-weight: 800; color: #2f5673; margin-bottom: 6px; }

.vfql-cta { padding: 72px 24px; text-align: center; overflow: hidden; }
.vfql-cta-mid { background: #e9eff3; }
.vfql-cta h2 { font-size: clamp(1.3rem, 3.2vw, 1.9rem); font-weight: 800; color: #16262f; max-width: 620px; margin: 0 auto; }
.vfql-cta p { margin-top: 12px; color: #4c5c65; }
.vfql-cta-group { display: flex; gap: 14px; justify-content: center; margin-top: 24px; flex-wrap: wrap; }
