/* =====================================================
   Green / White Theme — Color overrides + Readability improvements
   ===================================================== */

/* ── Scrolled nav: white glass ── */
#nav.scrolled {
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(24px) saturate(1.8);
  -webkit-backdrop-filter: blur(24px) saturate(1.8);
  box-shadow: 0 2px 24px rgba(0, 60, 0, 0.08) !important;
  border-bottom-color: var(--border-subtle) !important;
}
#nav.scrolled .nav-name,
#nav.scrolled .nav-links li a { color: var(--text-primary); }

/* ── Nav logo mark ── */
.nav-logo-mark {
  box-shadow: 0 0 0 1px rgba(46,125,50,0.28), 0 4px 12px rgba(46,125,50,0.18) !important;
}
.nav-logo:hover .nav-logo-mark {
  box-shadow: 0 0 0 1px rgba(46,125,50,0.48), 0 6px 20px rgba(46,125,50,0.32) !important;
}

/* ── Nav & mobile CTA ── */
.nav-cta         { box-shadow: 0 2px 12px rgba(46,125,50,0.22) !important; }
.nav-cta:hover   { box-shadow: 0 6px 24px rgba(46,125,50,0.42) !important; }
.mobile-menu-cta         { box-shadow: 0 4px 16px rgba(46,125,50,0.28) !important; }
.mobile-menu-cta:hover   { box-shadow: 0 8px 28px rgba(46,125,50,0.42) !important; }
.mobile-menu-backdrop    { background: rgba(10, 40, 10, 0.45) !important; }

/* ── Hero orbs & grid ── */
.hero-bg-orb-1 {
  background: radial-gradient(circle, #43A047 0%, transparent 70%) !important;
  opacity: 0.10 !important;
}
.hero-bg-orb-2 {
  background: radial-gradient(circle, #81C784 0%, transparent 70%) !important;
  opacity: 0.07 !important;
}
.hero-bg-grid {
  background-image:
    linear-gradient(rgba(46,125,50,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(46,125,50,0.04) 1px, transparent 1px) !important;
}
.hero-photo-frame::after {
  background: linear-gradient(to top, rgba(241,248,241,0.4) 0%, transparent 100%) !important;
}

/* ── Buttons ── */
.btn-primary:hover { box-shadow: 0 8px 28px rgba(46,125,50,0.38) !important; }

/* ── Sections ── */
#stats    { background: var(--bg-surface) !important; }
footer    { background: var(--bg-surface) !important; }
#testimonials::before {
  background: radial-gradient(ellipse, rgba(46,125,50,0.05) 0%, transparent 70%) !important;
}
#contact::before {
  background: linear-gradient(135deg,
    rgba(46,125,50,0.06) 0%, transparent 50%,
    rgba(76,175,80,0.04) 100%) !important;
}

/* ── Trust avatars ── */
.hero-trust-avatar {
  background: linear-gradient(135deg, var(--bg-elevated), var(--bg-surface)) !important;
  border-color: var(--bg-base) !important;
}

/* =====================================================
   TEXT READABILITY — 強化文字清晰度
   ===================================================== */

/* Section labels — 更深的綠色、更清楚 */
.section-label {
  color: #1B5E20 !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
}

/* Section titles — 深色、更重 */
.section-title {
  color: #1A2A1A !important;
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
}

/* Section subtitle — 提高對比度 */
.section-subtitle {
  color: #3D5A3D !important;
  font-size: clamp(15px, 1.8vw, 17px) !important;
  line-height: 1.75 !important;
}

/* Hero desc — 提高可讀性 */
.hero-desc {
  color: #3D5A3D !important;
  font-size: clamp(15px, 1.9vw, 17px) !important;
  line-height: 1.8 !important;
}

/* Hero trust text */
.hero-trust-text { color: #3D5A3D !important; }
.hero-trust-text strong { color: #1A2A1A !important; }

/* Service cards — 深色文字 */
.service-title { color: #1A2A1A !important; font-size: 1.1rem !important; font-weight: 700 !important; }
.service-desc  { color: #3D5A3D !important; line-height: 1.75 !important; }
.service-highlights li { color: #2E4A2E !important; font-size: 0.88rem !important; }

/* Case cards */
.case-title { color: #1A2A1A !important; font-size: 1.15rem !important; font-weight: 700 !important; }
.case-desc  { color: #3D5A3D !important; line-height: 1.75 !important; font-size: 0.9rem !important; }
.case-stat-num   { color: #1B5E20 !important; font-weight: 800 !important; }
.case-stat-label { color: #3D5A3D !important; font-size: 0.78rem !important; }
.case-stat-chip  { background: #fff !important; border-color: rgba(46,125,50,0.15) !important; }

/* Case highlight badge */
.case-highlight {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 12px 0 16px;
  padding: 6px 14px;
  background: #E8F5E9;
  border: 1px solid rgba(46,125,50,0.25);
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 600;
  color: #1B5E20;
  letter-spacing: 0.01em;
}

/* Testimonials — 深色文字 */
.testimonial-text {
  color: #1A2A1A !important;
  font-size: clamp(15px, 1.8vw, 17px) !important;
  line-height: 1.9 !important;
  font-style: normal !important;
}
.author-name  { color: #1A2A1A !important; font-weight: 700 !important; }
.author-title { color: #3D5A3D !important; font-size: 0.83rem !important; }

/* Contact */
.contact-subtext { color: #3D5A3D !important; font-size: 1.05rem !important; line-height: 1.7 !important; }
.contact-method  { color: #2E4A2E !important; font-size: 0.88rem !important; }
.contact-method:hover { color: #1B5E20 !important; }

/* Footer */
.footer-copy  { color: #3D5A3D !important; }
.footer-brand { color: #1A2A1A !important; }

/* Stat numbers & labels */
.stat-number { color: #1B5E20 !important; }
.stat-label  { color: #3D5A3D !important; font-size: 0.85rem !important; }

/* =====================================================
   CASE PHOTO STYLES
   ===================================================== */

.case-card {
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(46,125,50,0.12) !important;
}

.case-photo-wrap {
  width: 100%;
  height: 200px;
  overflow: hidden;
  position: relative;
}

.case-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16,1,0.3,1);
}

.case-card:hover .case-photo { transform: scale(1.04); }

.case-body {
  padding: 24px 28px 28px;
}

.case-card:hover {
  border-color: rgba(46,125,50,0.3) !important;
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(46,125,50,0.12) !important;
}

/* ── Eyebrow dot color ── */
.hero-eyebrow-dot { background: #2E7D32 !important; }
