/* ===== Main Page Only (requires common.css) ===== */

/* Hero */
.hero {
  position:relative; min-height:100vh;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden; padding:0 24px;
}
.hero-bg-gradient {
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 70% 50% at 50% 38%, rgba(37,99,235,.10) 0%, transparent 60%),
    var(--bg);
}

/* Animated Orbs */
.hero-orb {
  position:absolute; border-radius:50%; filter:blur(80px);
  opacity:0; animation:orbFadeIn 2s ease forwards;
  pointer-events:none;
}
.hero-orb-1 {
  width:520px; height:520px; top:-10%; right:-5%;
  background:radial-gradient(circle, rgba(37,99,235,.20), transparent 70%);
  animation-delay:.5s;
}
.hero-orb-2 {
  width:420px; height:420px; bottom:5%; left:-8%;
  background:radial-gradient(circle, rgba(99,102,241,.16), transparent 70%);
  animation-delay:1s;
}
.hero-orb-3 {
  width:320px; height:320px; top:30%; left:50%;
  background:radial-gradient(circle, rgba(56,189,248,.10), transparent 70%);
  animation-delay:1.5s;
}
@keyframes orbFadeIn {
  0% { opacity:0; transform:scale(.6); }
  100% { opacity:1; transform:scale(1); }
}
@keyframes orbFloat {
  0%,100% { transform:translate(0,0); }
  50% { transform:translate(20px,-20px); }
}
.hero-orb-1 { animation:orbFadeIn 2s ease .5s forwards, orbFloat 20s ease-in-out 2.5s infinite; }
.hero-orb-2 { animation:orbFadeIn 2s ease 1s forwards, orbFloat 25s ease-in-out 3s infinite reverse; }
.hero-orb-3 { animation:orbFadeIn 2s ease 1.5s forwards, orbFloat 18s ease-in-out 3.5s infinite; }

/* Gradient Text */
.gradient-text {
  background:linear-gradient(135deg, #ffffff 0%, #60a5fa 55%, #818cf8 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
.hero-content {
  position:relative; max-width:var(--max-w); width:100%;
  margin:0 auto; padding:80px 0;
}
.hero-eyebrow {
  font-family:'Inter',sans-serif; font-size:13px;
  letter-spacing:4px; color:var(--muted); margin-bottom:40px;
}

/* Words */
.hero-words { margin-bottom:48px; }

.hero-word {
  display:flex; align-items:baseline; gap:20px;
  padding:14px 0;
  opacity:0; transform:translateX(-30px);
}
.hero-word.show {
  opacity:1; transform:translateX(0);
  transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);
}

.hw-text {
  font-family:'Inter',sans-serif;
  font-weight:800;
  font-size:clamp(40px,7vw,88px);
  letter-spacing:-2px;
  line-height:1.1;
  color:var(--white);
}
.hw-text em {
  font-style:normal;
  color:var(--accent);
}

.hw-ko {
  font-size:clamp(13px,1.4vw,16px);
  color:var(--muted);
  white-space:nowrap;
  letter-spacing:.5px;
}

/* Footer area */
.hero-footer {
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; flex-wrap:wrap;
  opacity:0; transform:translateY(16px);
  animation:fadeUp .7s ease 1.6s both;
}
@keyframes fadeUp { to{opacity:1;transform:translateY(0)} }

.hero-footer-text { flex:1; min-width:280px; }
.hero-mission {
  font-size:clamp(22px,3vw,34px); font-weight:800;
  margin-bottom:14px; letter-spacing:-.5px; line-height:1.3;
}
.hero-desc {
  font-size:15px; color:var(--text); line-height:1.8; max-width:420px;
}
.hero-tags {
  display:flex; gap:12px; flex-wrap:wrap; margin-top:32px;
  opacity:0; animation:fadeUp .7s ease 2s both;
}
.hero-tag {
  font-size:12px; font-weight:500; letter-spacing:1px;
  padding:7px 16px; background:var(--bg-chip);
  border-radius:20px; color:var(--text);
}
.btn-hero {
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 32px; background:var(--accent); color:var(--white);
  font-family:'Inter',sans-serif; font-size:14px; font-weight:600;
  letter-spacing:1px; border-radius:50px; transition:all .3s;
  flex-shrink:0;
}
.btn-hero:hover { background:var(--accent-hover); transform:translateY(-2px); box-shadow:var(--shadow-blue); }

.hero-scroll { position:absolute; bottom:40px; left:50%; transform:translateX(-50%); }
.hero-scroll-line { width:1px; height:48px; background:var(--muted); animation:scrollPulse 2s ease infinite; }

/* Metrics Strip */
.metrics { padding:80px 0; }
.metrics-grid {
  display:flex; align-items:center; justify-content:center; gap:32px;
  background:var(--bg-card); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:40px 32px;
}
.metric-item { display:flex; flex-direction:column; align-items:center; gap:6px; }
.metric-number {
  font-family:'Bebas Neue',sans-serif; font-size:44px; letter-spacing:2px;
  background:linear-gradient(135deg, #ffffff, #60a5fa);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.metric-label { font-size:13px; color:var(--muted); letter-spacing:1px; }
.metric-divider { width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,.18); flex-shrink:0; }

/* About */
.about { padding:var(--section-py) 0; }
.about-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:60px; align-items:start; margin-bottom:80px;
}
.about-title { font-size:clamp(26px,3.5vw,38px); font-weight:700; line-height:1.4; letter-spacing:-.5px; }
.about-desc { font-size:16px; color:var(--text); line-height:2; padding-top:8px; }

.philosophy { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.philosophy-item {
  background:var(--bg-card); border-radius:var(--radius); padding:32px 24px;
  display:flex; gap:16px; align-items:flex-start;
  box-shadow:var(--shadow);
  transition:all .4s cubic-bezier(.16,1,.3,1);
}
.philosophy-item:hover {
  transform:translateY(-3px);
  background:var(--bg-card-hover);
  box-shadow:var(--shadow-blue);
}
.philosophy-letter { font-family:'Bebas Neue',sans-serif; font-size:36px; line-height:1; color:var(--accent); flex-shrink:0; }
.philosophy-item h3 { font-family:'Inter',sans-serif; font-size:15px; font-weight:600; margin-bottom:6px; }
.philosophy-item p { font-size:13px; color:var(--muted); line-height:1.6; }

/* Solutions */
.solutions { padding:var(--section-py) 0; background:var(--bg-alt); }
.biz-card {
  display:grid; grid-template-columns:1fr 1fr;
  background:var(--bg-card); border-radius:var(--radius); overflow:hidden;
  margin-top:40px; box-shadow:var(--shadow);
  transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s;
}
.biz-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-blue); }
.biz-card + .biz-card { margin-top:24px; }
.biz-card-content { padding:48px 40px; }
.biz-badge {
  display:inline-block; font-family:'Inter',sans-serif;
  font-size:11px; font-weight:600; letter-spacing:2px;
  color:#93b4fb; background:var(--accent-soft);
  padding:7px 14px; border-radius:20px; margin-bottom:24px;
}
.biz-title { font-size:28px; font-weight:700; margin-bottom:16px; letter-spacing:-.5px; }
.biz-title-en {
  display:block; font-family:'Inter',sans-serif;
  font-size:14px; font-weight:400; color:var(--muted); margin-top:4px; letter-spacing:1px;
}
.biz-desc { font-size:15px; color:var(--text); line-height:1.8; margin-bottom:20px; }
.biz-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.biz-tags span { font-size:12px; padding:6px 14px; background:var(--bg-chip); border-radius:20px; color:var(--text); }
.biz-features { display:flex; flex-direction:column; gap:12px; }
.biz-feature { display:flex; align-items:center; gap:10px; font-size:14px; color:var(--text); }
.biz-feature-icon { width:20px; height:20px; color:var(--accent); flex-shrink:0; }
.biz-feature-icon svg { width:100%; height:100%; }
.biz-link {
  display:inline-flex; align-items:center; gap:8px;
  font-size:14px; font-weight:500; color:var(--accent); transition:gap .3s;
}
.biz-link:hover { gap:12px; }
.biz-card-visual {
  display:flex; align-items:center; justify-content:center;
  padding:40px; background:rgba(255,255,255,.02);
}

/* FarmSignal Visual */
.farm-visual { width:100%; }
.farm-chart { display:flex; align-items:flex-end; gap:12px; height:160px; margin-bottom:24px; }
.chart-bar {
  flex:1; height:var(--h);
  background:linear-gradient(to top, var(--accent), rgba(37,99,235,.3));
  border-radius:6px 6px 0 0; position:relative;
  animation:barGrow 1s cubic-bezier(.16,1,.3,1) both;
}
.chart-bar span { position:absolute; bottom:-24px; left:50%; transform:translateX(-50%); font-size:10px; color:var(--muted); font-family:'Inter',sans-serif; }
@keyframes barGrow { from{height:0} to{height:var(--h)} }
.farm-stats { display:flex; gap:24px; }
.farm-stat { display:flex; flex-direction:column; gap:2px; }
.farm-stat-value { font-family:'Inter',sans-serif; font-size:22px; font-weight:700; color:var(--accent); }
.farm-stat-label { font-size:12px; color:var(--muted); }

/* MindDeck badge & icon color */
.biz-badge-mind { color:#a5b4fc; background:rgba(99,102,241,.14); }
.biz-feature-icon-mind { color:var(--accent-2); }
.biz-visual-mind { background:rgba(99,102,241,.06); }

/* MindDeck Coming Soon */
.mind-coming-soon {
  font-family:'Inter',sans-serif; font-size:14px; font-weight:600;
  letter-spacing:4px; color:rgba(165,180,252,.55);
}

/* Services Section */
.svc-section { padding:var(--section-py) 0; }
.svc-grid { display:grid; grid-template-columns:1fr; gap:20px; margin-top:48px; }
.svc-card {
  background:var(--bg-card); border-radius:var(--radius);
  padding:48px 44px; box-shadow:var(--shadow);
  display:grid; grid-template-columns:auto 1fr; gap:32px; align-items:start;
  transition:all .4s cubic-bezier(.16,1,.3,1);
}
.svc-card:hover {
  transform:translateY(-4px);
  background:var(--bg-card-hover);
  box-shadow:var(--shadow-blue);
}
.svc-icon {
  width:64px; height:64px; color:var(--accent); flex-shrink:0;
  background:var(--accent-soft); border-radius:var(--radius-sm);
  display:flex; align-items:center; justify-content:center; padding:14px;
}
.svc-icon svg { width:100%; height:100%; }
.svc-card h3 { font-size:22px; font-weight:600; margin-bottom:12px; }
.svc-card > div > p, .svc-card-body p { font-size:15px; color:var(--text); line-height:1.8; margin-bottom:20px; }
.svc-tags { display:flex; flex-wrap:wrap; gap:8px; }
.svc-tags span { font-size:12px; padding:6px 14px; background:var(--bg-chip); border-radius:20px; color:var(--text); }

/* Credentials */
.credentials { padding:var(--section-py) 0; }

/* Featured venture certification */
.cred-feature {
  display:flex; align-items:center; gap:28px; margin-top:48px;
  padding:40px 44px; border-radius:var(--radius);
  background:linear-gradient(135deg, rgba(37,99,235,.18), rgba(99,102,241,.08)), var(--bg-card);
  box-shadow:var(--shadow-blue);
}
.cred-feature-icon {
  width:72px; height:72px; flex-shrink:0; color:#bfdbfe;
  background:rgba(37,99,235,.22); border-radius:18px;
  display:flex; align-items:center; justify-content:center; padding:16px;
}
.cred-feature-icon svg { width:100%; height:100%; }
.cred-feature-badge {
  font-family:'Inter',sans-serif; font-size:11px; font-weight:600;
  letter-spacing:3px; color:#93b4fb; margin-bottom:8px;
}
.cred-feature h3 { font-size:22px; font-weight:700; margin-bottom:8px; letter-spacing:-.3px; }
.cred-feature p { font-size:14px; color:var(--text); line-height:1.7; max-width:560px; }

.cred-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:16px; }
.cred-card {
  background:var(--bg-card); border-radius:var(--radius);
  padding:36px 24px; text-align:center; box-shadow:var(--shadow);
  transition:all .4s cubic-bezier(.16,1,.3,1);
}
.cred-card:hover {
  transform:translateY(-3px);
  background:var(--bg-card-hover);
  box-shadow:var(--shadow-blue);
}
.cred-icon { width:48px; height:48px; margin:0 auto 20px; color:var(--accent); }
.cred-icon svg { width:100%; height:100%; }
.cred-card h3 { font-size:16px; font-weight:600; margin-bottom:6px; }
.cred-card p { font-size:13px; color:var(--muted); }

/* Contact */
.contact { padding:var(--section-py) 0; background:var(--bg-alt); }
.contact-box { text-align:center; max-width:520px; margin:0 auto; }
.contact-title {
  font-family:'Inter',sans-serif; font-size:clamp(28px,4vw,40px);
  font-weight:700; margin-bottom:16px; letter-spacing:-.5px;
}
.contact-desc { font-size:16px; color:var(--text); line-height:1.8; margin-bottom:36px; }
.contact-buttons { margin-bottom:40px; }
.btn-contact {
  display:inline-flex; align-items:center; gap:8px;
  padding:15px 36px; background:var(--accent); color:var(--white);
  font-size:15px; font-weight:600; border-radius:50px; transition:all .3s;
}
.btn-contact:hover { background:var(--accent-hover); transform:translateY(-2px); box-shadow:var(--shadow-blue); }
.contact-info { display:flex; justify-content:center; }
.contact-info-item {
  display:flex; align-items:center; gap:8px; font-size:14px; color:var(--muted);
  background:var(--bg-chip); padding:12px 20px; border-radius:50px;
}
.contact-info-item svg { width:18px; height:18px; flex-shrink:0; }

/* ===== Main Responsive ===== */
@media (max-width:1024px) {
  .about-grid { grid-template-columns:1fr; gap:24px; }
  .philosophy { grid-template-columns:repeat(2,1fr); }
  .biz-card { grid-template-columns:1fr; }
  .biz-card-visual { min-height:220px; }
  .cred-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:768px) {
  .hero { padding:0 20px; }
  .hero-word { gap:12px; }
  .hw-ko { font-size:12px; }
  .hero-footer { flex-direction:column; align-items:flex-start; gap:20px; }
  .hero-tags { gap:8px; }
  .hero-tag { font-size:11px; padding:6px 12px; }
  .metrics-grid { gap:18px; flex-wrap:wrap; padding:28px 20px; }
  .metric-number { font-size:34px; }
  .about,.solutions,.svc-section,.credentials,.contact { padding:var(--section-py) 0; }
  .philosophy { grid-template-columns:1fr 1fr; gap:12px; }
  .philosophy-item { padding:24px 18px; flex-direction:column; gap:12px; }
  .biz-card-content { padding:32px 24px; }
  .biz-card-visual { padding:24px; }
  .biz-title { font-size:22px; }
  .cred-grid { grid-template-columns:1fr 1fr; }
  .svc-card { grid-template-columns:1fr; gap:20px; padding:32px 24px; }
  .cred-feature { flex-direction:column; text-align:center; padding:32px 24px; gap:20px; }
  .cred-feature p { max-width:none; }
}

@media (max-width:480px) {
  .hero-content { padding:60px 0; }
  .hero-word { padding:12px 0; }
  .hw-ko { display:none; }
  .hero-desc { font-size:14px; }
  .hero-mission { font-size:18px; }
  .metrics-grid { gap:12px; }
  .metric-number { font-size:30px; }
  .metric-divider { display:none; }
  .philosophy { grid-template-columns:1fr; }
  .farm-chart { height:120px; }
  .farm-stats { flex-direction:column; gap:12px; }
  .cred-grid { grid-template-columns:1fr; }
  .contact-info-item { flex-direction:column; text-align:center; gap:4px; border-radius:var(--radius-sm); }
}

@media (max-width:360px) {
  .hero { padding:0 16px; }
  .hero-eyebrow { margin-bottom:28px; }
  .hero-words { margin-bottom:32px; }
  .btn-hero { padding:12px 24px; font-size:13px; }
  .biz-card-content { padding:24px 18px; }
  .biz-title { font-size:20px; }
  .philosophy-item { padding:20px 14px; }
  .cred-card { padding:28px 18px; }
  .contact-title { font-size:24px; }
}

/* ===== Works / 프로젝트 포트폴리오 ===== */
.works { padding:var(--section-py) 0; background:var(--bg-alt); }
.work-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px;
}
.work-card {
  background:var(--bg-card); border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow); transition:all .4s cubic-bezier(.16,1,.3,1);
}
.work-card:hover { transform:translateY(-4px); background:var(--bg-card-hover); box-shadow:var(--shadow-lg); }
.work-thumb {
  height:172px; position:relative; overflow:hidden;
  background:linear-gradient(135deg,#16233f,#0f172a);
}
.work-thumb img { width:100%; height:100%; object-fit:cover; object-position:top center; }
.work-thumb::after {
  content:""; position:absolute; width:200px; height:200px; border-radius:50%;
  background:radial-gradient(circle, rgba(37,99,235,.35), transparent 70%);
  top:-70px; right:-60px; filter:blur(6px);
}
.work-glyph {
  position:absolute; inset:0; display:grid; place-items:center; z-index:1;
  font-family:'Inter',sans-serif; font-size:46px; font-weight:800; letter-spacing:-2px;
  color:rgba(255,255,255,.92);
}
.work-glyph .g { color:#60a5fa; }
.work-live {
  position:absolute; top:12px; left:12px; z-index:2;
  font-family:'Inter',sans-serif; font-size:10.5px; font-weight:700; letter-spacing:.5px;
  color:#bfdbfe; background:rgba(37,99,235,.28); padding:4px 10px; border-radius:7px;
}
.work-body { padding:24px; }
.work-cat {
  font-family:'Inter',sans-serif; font-size:11px; font-weight:700;
  letter-spacing:1.5px; color:var(--accent); text-transform:uppercase;
}
.work-title { font-size:19px; font-weight:700; margin:10px 0 9px; letter-spacing:-.3px; }
.work-title .en { font-size:12.5px; color:var(--muted); margin-left:8px; font-weight:500; letter-spacing:0; }
.work-desc { font-size:13.5px; color:var(--text); line-height:1.75; min-height:71px; }
.work-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; }
.work-tags span { font-size:11.5px; color:var(--text); background:var(--bg-chip); padding:5px 11px; border-radius:8px; }

@media (max-width:900px) { .work-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .work-grid { grid-template-columns:1fr; } }
