/* ==========================================
   0. GLOBAL READABILITY PALETTE — 통일
   - 밝은 배경: 진한 네이비 본문 (#0e1c3a), 진한 녹색 강조 굵게
   - 어두운(네이비) 배경: 흰 본문, 형광 녹색 강조 굵게
   ========================================== */
:root {
    --sf-navy:        #0e1c3a;   /* deep navy: 라이트bg 본문/헤딩 */
    --sf-navy-2:      #15244c;   /* 좀 더 밝은 네이비 */
    --sf-navy-3:      #1c2e5e;
    --sf-text-on-light: #0e1c3a;
    --sf-text-on-light-soft: #2a3a62;
    --sf-text-on-dark:  #ffffff;
    --sf-text-on-dark-soft: rgba(255,255,255,0.86);
    --sf-emph-light:  #0e6b35;   /* 라이트bg 강조: 진녹색 */
    --sf-emph-dark:   #7be38a;   /* 다크bg 강조: 형광 녹색 */
}

/* 라이트 배경 본문 — 진한 네이비 통일 */
body { color: var(--sf-text-on-light) !important; }
.section h2,
.section-header h2,
.section h3,
.section-header h3,
.section-header h2 + p,
.section-header p,
.feature-card h3,
.feature-card p,
.cost-item h4,
.cost-item .amount,
.cost-item .range,
.equipment-card h4,
.equipment-card p,
.step-item h4,
.step-item p,
.faq-question h4,
.faq-answer p,
.cta-content h2,
.cta-content p,
.ag-stat .lbl,
.ag-stat .sub,
.ag-case h4,
.ag-case .who,
.ag-case .num-row .l,
.ag-crop h5,
.ag-crop .yld span,
.ag-tl-step .ttl,
.ag-tl-step .wk,
.ag-sub-item .nm,
.ag-sub-item .desc,
.ag-compare > div,
.ag-compare .lbl,
.ag-compare .v-trad,
.ag-bar-card h4,
.ag-bar-row .name,
.ag-quote blockquote,
.ag-quote .by {
    color: var(--sf-text-on-light) !important;
    font-weight: 500;
}
.section-header p,
.feature-card p,
.faq-answer p,
.cost-item .range,
.cta-content p {
    color: var(--sf-text-on-light-soft) !important;
}

/* 라이트bg 강조 — 진한 녹색 굵게 */
.section strong,
.section-header strong,
.sf-deep strong,
.feature-card strong,
.faq-answer strong,
.ag-stat strong,
.ag-case strong,
.ag-crop strong,
.ag-sub-item strong {
    color: var(--sf-emph-light) !important;
    font-weight: 800 !important;
}

/* 다크 섹션 — 진한 네이비 배경 + 흰 텍스트 + 형광녹색 굵게 */
.ag-section.tone-ink {
    background:
      radial-gradient(900px 600px at 8% 10%, rgba(95,213,138,.15), transparent 60%),
      radial-gradient(900px 700px at 95% 95%, rgba(201,245,106,.10), transparent 60%),
      linear-gradient(165deg, #0e1c3a 0%, #15244c 60%, #1c2e5e 100%) !important;
    color: var(--sf-text-on-dark) !important;
}
.ag-section.tone-ink h1,
.ag-section.tone-ink h2,
.ag-section.tone-ink h3,
.ag-section.tone-ink h4 {
    color: var(--sf-text-on-dark) !important;
    font-weight: 800 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.20);
}
.ag-section.tone-ink p,
.ag-section.tone-ink li,
.ag-section.tone-ink .ag-tl-step .ttl,
.ag-section.tone-ink .ag-tl-step .wk,
.ag-section.tone-ink .ag-section-head p {
    color: var(--sf-text-on-dark) !important;
    font-weight: 500;
}
.ag-section.tone-ink .ag-tl-step .wk { color: var(--sf-text-on-dark-soft) !important; font-weight: 600; }
.ag-section.tone-ink strong,
.ag-section.tone-ink .hl {
    color: var(--sf-emph-dark) !important;
    background: none !important;
    -webkit-text-fill-color: var(--sf-emph-dark) !important;
    font-weight: 800 !important;
}
.ag-section.tone-ink .ag-eyebrow {
    background: rgba(123,227,138,.15) !important;
    color: var(--sf-emph-dark) !important;
    border: 1px solid rgba(123,227,138,.40) !important;
}
.ag-section.tone-ink .ag-card {
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    color: var(--sf-text-on-dark) !important;
}
.ag-section.tone-ink a:not(.btn-ghost):not(.btn-primary) {
    color: var(--sf-emph-dark) !important;
    text-decoration: underline;
    text-decoration-color: rgba(123,227,138,.5);
}
.ag-section.tone-ink a:hover { color: #b6f0c8 !important; }

/* 레거시 cta-section (다크 그라데이션) — 네이비로 교체 */
.cta-section,
section.cta-section {
    background: linear-gradient(135deg, #0e1c3a 0%, #15244c 70%, #1c2e5e 100%) !important;
    color: var(--sf-text-on-dark) !important;
}
.cta-section h2,
section.cta-section h2,
.cta-content h2 {
    color: var(--sf-text-on-dark) !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.20);
}
.cta-section p,
section.cta-section p,
.cta-content p {
    color: var(--sf-text-on-dark) !important;
    opacity: 0.94;
}
.cta-section .btn-primary,
section.cta-section .btn-primary {
    background: #fff !important;
    color: #0e1c3a !important;
    font-weight: 800 !important;
}
.cta-section .btn-secondary,
section.cta-section .btn-secondary {
    background: rgba(255,255,255,.10) !important;
    color: #fff !important;
    border: 1.5px solid rgba(255,255,255,.50) !important;
    font-weight: 700 !important;
}

/* ag-cta 큰 CTA — 녹색 유지하되 텍스트 강도 확보 */
.ag-cta {
    background:
      radial-gradient(900px 600px at 0% 0%, rgba(123,227,138,.30), transparent 60%),
      radial-gradient(800px 600px at 100% 100%, rgba(201,245,106,.22), transparent 60%),
      linear-gradient(135deg, #0e6b35 0%, #1f8a3c 60%, #2bb259 100%) !important;
}
.ag-cta, .ag-cta h2, .ag-cta p { color: #ffffff !important; }
.ag-cta strong { color: #c9f56a !important; font-weight: 800 !important; }
.ag-cta .btn-primary { background:#fff !important; color:#0e1c3a !important; font-weight: 800 !important; }

/* sf-cta-band (페이지 하단 CTA) — 동일 컬러 룰 */
.sf-cta-band {
    background: linear-gradient(135deg, #0e6b35 0%, #1f8a3c 60%, #2bb259 100%) !important;
}
.sf-cta-band, .sf-cta-band h3, .sf-cta-band p { color: #ffffff !important; }
.sf-cta-band strong { color: #c9f56a !important; font-weight: 800; }
.sf-cta-band .sf-cta-pri { background: #fff !important; color: #0e1c3a !important; font-weight: 800 !important; }

/* site-footer — 진한 네이비 통일 */
.site-footer {
    background: linear-gradient(180deg, #0e1c3a 0%, #0a142a 100%) !important;
    color: var(--sf-text-on-dark-soft) !important;
}
.site-footer h4 { color: var(--sf-text-on-dark) !important; font-weight: 800 !important; }
.site-footer p, .site-footer li, .site-footer a { color: var(--sf-text-on-dark-soft) !important; }
.site-footer a:hover { color: var(--sf-emph-dark) !important; }
.site-footer strong { color: var(--sf-emph-dark) !important; font-weight: 800 !important; }

/* 모바일 하단 nav — 라이트bg면 네이비 텍스트로 */
.v2-bottom-nav a { color: var(--sf-text-on-light) !important; font-weight: 600 !important; }
.v2-bottom-nav a.active { color: var(--sf-emph-light) !important; font-weight: 800 !important; }

/* 갤러리 캡션 등 어두운 오버레이 위 텍스트 — 흰색 + 형광 강조 */
.v2-gallery-cap, .v2-gallery-cap strong, .v2-gallery-cap span {
    color: #ffffff !important;
    text-shadow: 0 1px 6px rgba(0,0,0,.55);
}
.v2-gallery-cap strong { font-weight: 800 !important; }

/* ==========================================
   Stofarm Antigravity Layer
   - Floating glass cards, parallax, glow, scroll-reveal
   - Layered on top of style.css / mobile-v2.css
   ========================================== */

:root {
    --ag-green-1: #0e6b35;
    --ag-green-2: #1f8a3c;
    --ag-green-3: #27a544;
    --ag-green-4: #5fd58a;
    --ag-green-5: #b6f0c8;
    --ag-lime: #c9f56a;
    --ag-sun: #ffda3a;
    --ag-ink: #0c1f17;
    --ag-mist: rgba(255,255,255,0.62);
    --ag-glass: rgba(255,255,255,0.55);
    --ag-glass-strong: rgba(255,255,255,0.78);
    --ag-shadow-1: 0 12px 36px -12px rgba(15,80,40,.22), 0 4px 12px -4px rgba(15,80,40,.12);
    --ag-shadow-2: 0 24px 60px -20px rgba(15,80,40,.32), 0 8px 22px -10px rgba(15,80,40,.18);
    --ag-shadow-3: 0 40px 100px -30px rgba(15,80,40,.45);
    --ag-radius: 22px;
    --ag-ease: cubic-bezier(.2,.7,.2,1);
}

/* ==========================================
   1. Hero — professional split layout
   Image dominant on right, dark text on light bg on left,
   proof-point strip BELOW image (no overlay tiles)
   ========================================== */
.hero-section.v2-hero {
    position: relative;
    overflow: hidden;
    padding: 80px 0 100px !important;
    background:
      radial-gradient(1100px 720px at 8% -10%, rgba(95,213,138,.28), transparent 60%),
      radial-gradient(900px 700px at 100% 18%, rgba(39,165,68,.18), transparent 55%),
      linear-gradient(180deg, #f7fbf6 0%, #eef8ee 50%, #e7f4e8 100%);
    isolation: isolate;
}
/* Kill the dark photo-overlay ::before from mobile-v2.css */
.hero-section.v2-hero::before {
    content:"" !important;
    background: none !important;
    inset: -20% -10% -10% -10% !important;
    background:
      conic-gradient(from 210deg at 30% 30%,
        rgba(39,165,68,.0) 0deg,
        rgba(39,165,68,.10) 80deg,
        rgba(95,213,138,.16) 180deg,
        rgba(201,245,106,.10) 260deg,
        rgba(39,165,68,.0) 360deg) !important;
    filter: blur(50px) saturate(110%) !important;
    opacity: .7 !important;
    animation: ag-spin 40s linear infinite;
    pointer-events:none !important;
}
.hero-section.v2-hero::after {
    content:"";
    position: absolute; inset: 0;
    z-index: 0; pointer-events: none;
    background-image:
      linear-gradient(rgba(15,80,40,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(15,80,40,.05) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(70% 70% at 50% 40%, #000 30%, transparent 80%);
    -webkit-mask-image: radial-gradient(70% 70% at 50% 40%, #000 30%, transparent 80%);
    opacity: .6;
}
@keyframes ag-spin { to { transform: rotate(360deg); } }

.hero-section.v2-hero > .container { position: relative; z-index: 2; }

/* Grid: image dominant */
.v2-hero .v2-hero-grid {
    grid-template-columns: 1fr 1.15fr !important;
    gap: 56px !important;
    align-items: center !important;
}

/* Eyebrow badge — readable on light */
.v2-hero .v2-eyebrow {
    display: inline-flex !important;
    align-items: center; gap: 8px;
    padding: 8px 16px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    border: 1px solid rgba(31,138,60,.18) !important;
    color: #1f6b30 !important;
    font-weight: 700 !important;
    font-size: .82rem !important;
    box-shadow: 0 6px 16px -8px rgba(15,80,40,.18) !important;
    text-shadow: none !important;
}

/* H1 — solid dark forest green, no gradient text */
.v2-hero .v2-hero-text h1 {
    font-size: clamp(2.0rem, 3.6vw + .5rem, 3.3rem) !important;
    line-height: 1.18 !important;
    letter-spacing: -.025em !important;
    color: #0c2e1a !important;
    background: none !important;
    -webkit-text-fill-color: #0c2e1a !important;
    text-shadow: none !important;
    font-weight: 800 !important;
    margin-top: 18px;
}
.v2-hero .v2-hero-text h1 .hl {
    color: #1f8a3c !important;
    -webkit-text-fill-color: #1f8a3c !important;
    background: none !important;
    text-shadow: none !important;
    border-bottom: 4px solid rgba(31,138,60,.20);
    padding-bottom: 2px;
}

.v2-hero .v2-hero-text p {
    color: #15244c !important;
    font-size: clamp(1rem, .35vw + .95rem, 1.12rem) !important;
    line-height: 1.75 !important;
    max-width: 540px !important;
    text-shadow: none !important;
    font-weight: 500 !important;
    margin-top: 14px;
}

/* Stats — clean white chip with left green bar */
.v2-hero .v2-hero-stats {
    margin-top: 32px !important;
    display: flex !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
}
.v2-hero .v2-hero-stats > div {
    display: flex !important;
    flex-direction: column;
    padding: 14px 18px !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    border: 1px solid rgba(15,80,40,.08) !important;
    border-left: 3px solid #1f8a3c !important;
    box-shadow: 0 6px 18px -10px rgba(15,80,40,.18) !important;
}
.v2-hero .v2-hero-stats strong {
    display: block;
    font-size: 1.55rem !important;
    color: #1f6b30 !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-shadow: none !important;
    letter-spacing: -.02em;
}
.v2-hero .v2-hero-stats span {
    font-size: .82rem !important;
    color: #4a6552 !important;
    margin-top: 6px;
    text-shadow: none !important;
}

/* Hero CTA buttons */
.v2-hero .hero-buttons { margin-top: 28px; }
.v2-hero .hero-buttons .btn-primary {
    background: linear-gradient(135deg, #1f8a3c, #27a544 60%, #2cb955) !important;
    color: #fff !important;
    border: 0 !important;
    font-weight: 700 !important;
    box-shadow: 0 14px 30px -10px rgba(31,138,60,.55), inset 0 1px 0 rgba(255,255,255,.30) !important;
    padding: 14px 24px !important;
    border-radius: 14px !important;
}
.v2-hero .hero-buttons .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 44px -14px rgba(31,138,60,.65) !important;
}
.v2-hero .hero-buttons .btn-secondary {
    background: #ffffff !important;
    color: #1f6b30 !important;
    border: 1.5px solid rgba(31,138,60,.30) !important;
    font-weight: 700 !important;
    padding: 14px 24px !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 22px -12px rgba(15,80,40,.18) !important;
    backdrop-filter: none !important;
}
.v2-hero .hero-buttons .btn-secondary:hover {
    background: #f6fbf3 !important;
    transform: translateY(-2px);
    border-color: rgba(31,138,60,.55) !important;
}

/* ==========================================
   Hero image — BIG, clean, dominant
   ========================================== */
.v2-hero .v2-hero-art { position: relative; perspective: 1400px; }

.v2-hero .v2-hero-img-wrap {
    position: relative !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    aspect-ratio: 5/4 !important;
    background: #0c2e1a;
    box-shadow:
      0 40px 90px -30px rgba(15,80,40,.45),
      0 12px 30px -10px rgba(15,80,40,.20);
    transform-style: preserve-3d;
    will-change: transform;
    transition: transform .9s var(--ag-ease);
}
.v2-hero .v2-hero-img-wrap > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 28px !important;
    animation: ag-float-y 9s ease-in-out infinite;
}
/* Kill the dark overlay from mobile-v2.css that darkened the photo */
.v2-hero .v2-hero-img-wrap::after {
    content:"";
    background:
      linear-gradient(180deg, rgba(0,0,0,0) 70%, rgba(12,46,26,.28)) !important;
}
.v2-hero .v2-hero-img-wrap::before {
    content:"";
    position:absolute; inset:-20px;
    border-radius: 36px;
    background:
      radial-gradient(60% 60% at 30% 30%, rgba(95,213,138,.40), transparent 70%),
      radial-gradient(60% 60% at 75% 80%, rgba(201,245,106,.25), transparent 70%);
    filter: blur(34px);
    z-index: -1;
    opacity: .9;
    animation: ag-pulse 8s ease-in-out infinite;
}
@keyframes ag-float-y {
    0%,100% { transform: translateY(0); }
    50%     { transform: translateY(-8px); }
}
@keyframes ag-pulse {
    0%,100% { transform: scale(1); opacity:.85; }
    50%     { transform: scale(1.05); opacity:1; }
}

/* ==========================================
   Proof points — clean strip BELOW image (no overlap)
   ========================================== */
.v2-hero .v2-hero-proof {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 22px;
}
.v2-hero .v2-hero-proof > div {
    background: #ffffff;
    border: 1px solid rgba(15,80,40,.08);
    border-radius: 14px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 6px 18px -10px rgba(15,80,40,.16);
    transition: transform .3s var(--ag-ease), box-shadow .3s var(--ag-ease);
}
.v2-hero .v2-hero-proof > div:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 28px -14px rgba(15,80,40,.22);
}
.v2-hero .v2-hero-proof .pp-ico {
    width: 40px; height: 40px;
    border-radius: 12px;
    display: grid; place-items: center;
    background: linear-gradient(135deg, #e7f6ec, #c9f0d4);
    font-size: 1.3rem;
    flex-shrink: 0;
}
.v2-hero .v2-hero-proof .pp-body { line-height: 1.25; }
.v2-hero .v2-hero-proof .pp-num {
    font-weight: 800;
    color: #1f6b30;
    font-size: 1.05rem;
    letter-spacing: -.02em;
}
.v2-hero .v2-hero-proof .pp-lbl {
    font-size: .78rem;
    color: #557566;
    margin-top: 2px;
}

/* Hide legacy floating tiles entirely (we now use v2-hero-proof strip) */
.v2-hero .v2-floating-tile { display: none !important; }

/* ==========================================
   2. Section dividers / background scenery
   ========================================== */
.ag-section {
    position: relative;
    padding: 96px 0;
    overflow: hidden;
    isolation: isolate;
}
.ag-section.tone-mist {
    background:
      radial-gradient(700px 480px at 0% 0%, rgba(95,213,138,.18), transparent 60%),
      radial-gradient(700px 520px at 100% 100%, rgba(201,245,106,.20), transparent 60%),
      linear-gradient(180deg, #f6fbf3 0%, #ffffff 60%, #f3faf3 100%);
}
.ag-section.tone-ink {
    color:#dbe7df;
    background:
      radial-gradient(1000px 700px at 10% 10%, rgba(95,213,138,.18), transparent 60%),
      radial-gradient(900px 700px at 95% 95%, rgba(201,245,106,.15), transparent 60%),
      linear-gradient(160deg, #0a1f15 0%, #0d2a1c 100%);
}
.ag-section.tone-ink h2 { color:#f1ffe9; }
.ag-section.tone-ink .ag-eyebrow { background: rgba(255,255,255,.06); color:#c2eecf; border-color: rgba(255,255,255,.12); }
.ag-section.tone-ink .ag-card { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.12); color:#dbe7df; }
.ag-section.tone-ink .ag-card strong { color:#fff; }
.ag-section.tone-ink p { color:#aebfb3; }

.ag-section .ag-grid-bg {
    position:absolute; inset:0; z-index:-1; pointer-events:none;
    background-image:
      linear-gradient(rgba(15,80,40,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(15,80,40,.05) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(50% 50% at 50% 50%, #000 40%, transparent 80%);
    -webkit-mask-image: radial-gradient(50% 50% at 50% 50%, #000 40%, transparent 80%);
}
.ag-section.tone-ink .ag-grid-bg {
    background-image:
      linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
}

.ag-section-head {
    text-align:center;
    max-width: 760px;
    margin: 0 auto 56px;
}
.ag-eyebrow {
    display:inline-block;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(31,138,60,.10);
    color: var(--ag-green-1);
    border: 1px solid rgba(31,138,60,.18);
    font-weight: 600;
    font-size: .8rem;
    margin-bottom: 14px;
    letter-spacing:.04em;
}
.ag-section h2 {
    font-size: clamp(1.6rem, 1.6vw + 1rem, 2.4rem);
    line-height: 1.25;
    letter-spacing:-.01em;
    margin-bottom: 14px;
}
.ag-section h2 .hl {
    background: linear-gradient(90deg, #1f8a3c, #27a544 50%, #c9f56a);
    -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ag-section-head p {
    color: #2a3a62;
    font-size: 1.05rem;
    font-weight: 500;
}
.ag-cite { display:block; margin-top:8px; font-size:.78rem; color:#6c7d6e; }

/* ==========================================
   3. Fact stat counter strip
   ========================================== */
.ag-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
.ag-stat {
    position: relative;
    padding: 28px 22px;
    border-radius: var(--ag-radius);
    background: var(--ag-glass-strong);
    backdrop-filter: blur(14px) saturate(150%);
    -webkit-backdrop-filter: blur(14px) saturate(150%);
    border: 1px solid rgba(15,80,40,.08);
    box-shadow: var(--ag-shadow-1);
    overflow:hidden;
    transform: translateZ(0);
    transition: transform .4s var(--ag-ease), box-shadow .4s var(--ag-ease);
}
.ag-stat::after{
    content:""; position:absolute; inset:auto -30% -50% auto;
    width: 180px; height: 180px; border-radius:50%;
    background: radial-gradient(closest-side, rgba(95,213,138,.45), transparent 70%);
    filter: blur(20px); pointer-events:none;
}
.ag-stat:hover {
    transform: translateY(-6px);
    box-shadow: var(--ag-shadow-2);
}
.ag-stat .num {
    font-size: clamp(1.9rem, 2vw + 1rem, 2.6rem);
    font-weight: 800;
    color: var(--ag-green-1);
    letter-spacing:-.02em;
    line-height: 1.05;
}
.ag-stat .num .unit { font-size:.55em; color:#3a6a4d; margin-left:4px; }
.ag-stat .lbl {
    margin-top: 8px;
    color:#33614b;
    font-weight: 600;
    font-size:.98rem;
}
.ag-stat .sub {
    margin-top: 4px;
    color:#6f8076;
    font-size:.78rem;
}

/* ==========================================
   4. Comparison table — traditional vs smart
   ========================================== */
.ag-compare {
    display: grid;
    grid-template-columns: 1.1fr 1fr 1fr;
    gap: 0;
    border-radius: var(--ag-radius);
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(15,80,40,.08);
    box-shadow: var(--ag-shadow-1);
}
.ag-compare > div {
    padding: 18px 22px;
    border-bottom: 1px solid rgba(15,80,40,.06);
}
.ag-compare > div:nth-child(3n) { border-right: 0; }
.ag-compare-h {
    background: #f6fbf3;
    font-weight: 700;
    color: #224030;
}
.ag-compare-h.smart {
    background: linear-gradient(135deg, #1f8a3c, #27a544);
    color: #fff;
    position: relative;
}
.ag-compare-h.smart::after {
    content:"추천"; position:absolute; top: 10px; right: 14px;
    background: var(--ag-sun); color: #1f3a1f;
    font-size:.7rem; padding: 3px 8px; border-radius: 999px; font-weight: 800;
}
.ag-compare .lbl { font-weight: 600; color: #2c4a37; background: #fafdfa; }
.ag-compare .v-trad { color: #6a3f3f; }
.ag-compare .v-smart {
    color: #1f8a3c; font-weight: 700;
    background: linear-gradient(90deg, rgba(95,213,138,.10), transparent);
}

/* ==========================================
   5. ROI / Cost bars
   ========================================== */
.ag-bars {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}
.ag-bar-card {
    padding: 24px 26px;
    border-radius: var(--ag-radius);
    background: #fff;
    border: 1px solid rgba(15,80,40,.08);
    box-shadow: var(--ag-shadow-1);
}
.ag-bar-card h4 {
    font-size: 1.05rem;
    margin-bottom: 18px;
    color: #1a3a25;
    display:flex; align-items:center; justify-content:space-between;
}
.ag-bar-card h4 .badge {
    font-size:.72rem; padding: 3px 10px; border-radius: 999px;
    background: rgba(31,138,60,.10); color: var(--ag-green-1); font-weight:700;
}
.ag-bar-row {
    display: grid; grid-template-columns: 110px 1fr 90px;
    align-items:center; gap: 12px;
    padding: 8px 0;
}
.ag-bar-row .name { font-size:.92rem; color:#2a4a35; font-weight:500; }
.ag-bar-row .track {
    height: 10px; border-radius: 999px;
    background: rgba(15,80,40,.07);
    overflow:hidden; position:relative;
}
.ag-bar-row .fill {
    position: absolute; inset: 0;
    width: var(--w, 0%);
    border-radius: 999px;
    background: linear-gradient(90deg, #1f8a3c, #5fd58a 70%, #c9f56a);
    box-shadow: 0 4px 14px -6px rgba(31,138,60,.55);
    transform-origin: left;
    animation: ag-bar-grow 1.4s var(--ag-ease) both;
}
@keyframes ag-bar-grow { from { width: 0; } to { width: var(--w, 0%); } }
.ag-bar-row .val { font-weight: 700; color: #1f8a3c; text-align:right; font-size:.95rem; }

/* ==========================================
   6. Government subsidy donut + breakdown
   ========================================== */
.ag-subsidy {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 36px;
    align-items: center;
    padding: 38px;
    border-radius: var(--ag-radius);
    background:
      radial-gradient(700px 400px at -10% 50%, rgba(95,213,138,.20), transparent 60%),
      linear-gradient(180deg, #fff, #f6fbf3);
    border: 1px solid rgba(15,80,40,.08);
    box-shadow: var(--ag-shadow-1);
}
.ag-donut {
    position: relative;
    width: 260px; height: 260px;
    margin: 0 auto;
    border-radius: 50%;
    background:
      conic-gradient(
        #1f8a3c 0 calc(var(--p, 80) * 1%),
        rgba(15,80,40,.08) 0 100%
      );
    display: grid; place-items: center;
}
.ag-donut::before {
    content:""; position:absolute; inset: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: inset 0 8px 22px -10px rgba(15,80,40,.08);
}
.ag-donut .lbl {
    position: relative;
    text-align: center;
}
.ag-donut .lbl .num {
    font-size: 2.8rem; font-weight: 800; color: #1f8a3c; line-height: 1;
    background: linear-gradient(180deg, #1f8a3c, #27a544);
    -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ag-donut .lbl .num small { font-size:.45em; color:#3a6a4d; }
.ag-donut .lbl .sub { display:block; margin-top:8px; color:#3a6a4d; font-size:.85rem; font-weight:600; }
.ag-subsidy-list { display: grid; gap: 14px; }
.ag-sub-item {
    padding: 14px 18px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(15,80,40,.06);
    display: grid; grid-template-columns: 50px 1fr auto; align-items:center; gap: 14px;
}
.ag-sub-item .ico {
    width: 40px; height: 40px; border-radius: 12px;
    display:grid; place-items:center;
    background: linear-gradient(135deg, #e7f6ec, #c9f0d4);
    color: #1f8a3c; font-size: 1.3rem;
}
.ag-sub-item .nm { font-weight: 700; color:#1a3a25; }
.ag-sub-item .desc { color:#566; font-size:.82rem; }
.ag-sub-item .amt {
    font-weight: 800; color: #1f8a3c;
    font-size: 1.05rem;
    background: linear-gradient(90deg, #1f8a3c, #5fd58a);
    -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* ==========================================
   7. Success case carousel / cards
   ========================================== */
.ag-cases {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
.ag-case {
    position:relative;
    padding: 26px;
    border-radius: var(--ag-radius);
    background: #fff;
    border: 1px solid rgba(15,80,40,.06);
    box-shadow: var(--ag-shadow-1);
    overflow: hidden;
    transition: transform .5s var(--ag-ease), box-shadow .5s var(--ag-ease);
}
.ag-case:hover {
    transform: translateY(-8px);
    box-shadow: var(--ag-shadow-2);
}
.ag-case::before {
    content:""; position:absolute; inset:auto -25% -40% auto;
    width: 220px; height: 220px; border-radius:50%;
    background: radial-gradient(closest-side, rgba(95,213,138,.30), transparent 70%);
    filter: blur(10px); pointer-events:none;
}
.ag-case .meta {
    display:flex; gap:8px; flex-wrap:wrap; margin-bottom: 14px;
}
.ag-case .meta span {
    padding: 3px 10px; border-radius: 999px;
    background: rgba(31,138,60,.10);
    color: var(--ag-green-1);
    font-size:.74rem; font-weight: 700;
}
.ag-case .meta span.alt { background: rgba(255,218,58,.20); color:#7a5a00; }
.ag-case h4 {
    font-size: 1.1rem; color:#1a3a25; margin-bottom:6px;
}
.ag-case .who { color: #557; font-size:.86rem; margin-bottom: 14px; }
.ag-case .num-row {
    display:grid; grid-template-columns: 1fr 1fr; gap: 14px;
    margin-top: 16px; padding-top: 16px;
    border-top: 1px dashed rgba(15,80,40,.12);
}
.ag-case .num-row > div .n {
    font-size: 1.25rem; font-weight: 800; color: var(--ag-green-1);
    background: linear-gradient(90deg, #1f8a3c, #27a544);
    -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ag-case .num-row > div .l { font-size:.74rem; color:#6a8073; }

/* ==========================================
   8. Process timeline (13주)
   ========================================== */
.ag-timeline {
    position: relative;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 18px;
}
.ag-timeline::before {
    content:""; position:absolute; top: 32px; left: 5%; right: 5%; height: 4px;
    background: linear-gradient(90deg, rgba(31,138,60,.15), rgba(31,138,60,.55), rgba(31,138,60,.15));
    border-radius: 999px;
    z-index: 0;
}
.ag-tl-step {
    position: relative; text-align:center; z-index: 1;
}
.ag-tl-step .dot {
    width: 64px; height: 64px; margin: 0 auto 14px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1f8a3c, #27a544);
    color: #fff;
    display:grid; place-items:center;
    font-weight: 800; font-size: 1.05rem;
    box-shadow: 0 12px 30px -10px rgba(31,138,60,.55), inset 0 -4px 0 rgba(0,0,0,.10), inset 0 2px 0 rgba(255,255,255,.25);
}
.ag-tl-step .dot::after {
    content:""; position:absolute; inset: -6px;
    border-radius:50%; border: 1.5px dashed rgba(31,138,60,.35);
    animation: ag-spin 24s linear infinite;
}
.ag-tl-step .ttl {
    font-weight: 700; color: #1a3a25; font-size:.95rem;
}
.ag-tl-step .wk { color: #6a8073; font-size:.78rem; margin-top: 4px; }

/* ==========================================
   9. Crop ROI grid
   ========================================== */
.ag-crops {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
.ag-crop {
    position: relative;
    border-radius: var(--ag-radius);
    background:#fff;
    border: 1px solid rgba(15,80,40,.06);
    box-shadow: var(--ag-shadow-1);
    overflow: hidden;
    transition: transform .5s var(--ag-ease);
}
.ag-crop:hover { transform: translateY(-6px); }
.ag-crop .cover {
    height: 150px;
    background-size: cover; background-position: center;
    position: relative;
}
.ag-crop .cover::after{
    content:""; position:absolute; inset:0;
    background: linear-gradient(180deg, transparent 50%, rgba(10,30,20,.55));
}
.ag-crop .emoji {
    position: absolute; top: 12px; left: 12px;
    width:42px; height:42px; border-radius: 12px;
    background: rgba(255,255,255,.85);
    backdrop-filter: blur(6px);
    display:grid; place-items:center; font-size:1.3rem;
    z-index: 2;
}
.ag-crop .body { padding: 16px 18px; }
.ag-crop h5 { font-size: 1.02rem; color:#1a3a25; margin-bottom: 6px; }
.ag-crop .yld {
    display:flex; justify-content:space-between; align-items:center;
    font-size:.82rem; color:#3a6a4d;
    border-top: 1px dashed rgba(15,80,40,.10);
    padding-top: 10px; margin-top: 10px;
}
.ag-crop .yld b { color: var(--ag-green-1); font-size:.95rem; }

/* ==========================================
   10. Big CTA with antigravity treatment
   ========================================== */
.ag-cta {
    position: relative;
    padding: 56px 48px;
    border-radius: 28px;
    overflow: hidden;
    isolation: isolate;
    background:
      radial-gradient(900px 600px at 0% 0%, rgba(95,213,138,.45), transparent 60%),
      radial-gradient(800px 600px at 100% 100%, rgba(201,245,106,.35), transparent 60%),
      linear-gradient(135deg, #0e6b35 0%, #1f8a3c 60%, #2bb259 100%);
    color: #fff;
    box-shadow: 0 30px 80px -30px rgba(15,80,40,.45);
}
.ag-cta::before{
    content:""; position:absolute; inset:0; z-index:-1;
    background-image:
      linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 40px 40px;
    mask-image: radial-gradient(60% 60% at 50% 50%, #000 30%, transparent 80%);
    -webkit-mask-image: radial-gradient(60% 60% at 50% 50%, #000 30%, transparent 80%);
}
.ag-cta .row {
    display:grid; grid-template-columns: 1.4fr 1fr; gap: 28px; align-items:center;
}
.ag-cta h2 {
    font-size: clamp(1.6rem, 1.8vw + .8rem, 2.4rem);
    color:#fff; line-height:1.25; letter-spacing:-.01em; margin-bottom: 8px;
}
.ag-cta p { color: #d9f4dd; max-width: 520px; }
.ag-cta .btns { display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.ag-cta .btn-primary {
    background: #fff; color: #155a30; font-weight: 800;
    box-shadow: 0 16px 36px -14px rgba(0,0,0,.40);
}
.ag-cta .btn-primary:hover { transform: translateY(-2px); }
.ag-cta .btn-ghost {
    border: 1.5px solid rgba(255,255,255,.4); color: #fff; padding: 12px 22px;
    border-radius: 999px; font-weight: 700;
    backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    background: rgba(255,255,255,.08);
    text-decoration: none;
}
.ag-cta .btn-ghost:hover { background: rgba(255,255,255,.16); }

/* ==========================================
   11. Pull-quote / testimonial
   ========================================== */
.ag-quotes {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}
.ag-quote {
    position: relative;
    padding: 32px 28px;
    border-radius: var(--ag-radius);
    background: var(--ag-glass-strong);
    backdrop-filter: blur(12px) saturate(150%);
    -webkit-backdrop-filter: blur(12px) saturate(150%);
    border: 1px solid rgba(15,80,40,.08);
    box-shadow: var(--ag-shadow-1);
}
.ag-quote::before {
    content:"“"; position:absolute; top: 8px; left: 20px;
    font-family: serif; font-size: 5rem; color: rgba(31,138,60,.18);
    line-height: 1;
}
.ag-quote blockquote {
    color: #1a3a25; font-size: 1.05rem; line-height: 1.7;
    margin: 18px 0 18px;
}
.ag-quote .by { font-weight: 700; color: var(--ag-green-1); }
.ag-quote .by span { font-weight: 500; color:#6a8073; margin-left: 6px; }

/* ==========================================
   11.5. Anchor-card normalization (clickable everything)
   ========================================== */
a.ag-stat,
a.ag-case,
a.ag-crop,
a.ag-tl-step,
a.ag-sub-item,
a.ag-quote,
a.cost-item,
a.equipment-card,
a.feature-card,
a.step-item,
a.ag-bar-row,
.v2-hero-proof a,
.v2-hero-stats a {
    text-decoration: none !important;
    color: inherit !important;
    cursor: pointer;
}

/* hero stats — link form */
.v2-hero .v2-hero-stats > a {
    display: flex !important;
    flex-direction: column;
    padding: 14px 18px;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid rgba(15,80,40,.08);
    border-left: 3px solid #1f8a3c;
    box-shadow: 0 6px 18px -10px rgba(15,80,40,.18);
    transition: transform .25s var(--ag-ease), box-shadow .25s var(--ag-ease);
}
.v2-hero .v2-hero-stats > a:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 28px -14px rgba(15,80,40,.25);
    border-left-color: #27a544;
}
.v2-hero .v2-hero-stats > a strong { color: #1f6b30; font-weight: 800; font-size: 1.55rem; line-height: 1; letter-spacing: -.02em; }
.v2-hero .v2-hero-stats > a span   { color: #4a6552; font-size: .82rem; margin-top: 6px; }

/* hero proof — link form (already a tag) */
.v2-hero .v2-hero-proof > a {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border: 1px solid rgba(15,80,40,.08);
    border-radius: 14px;
    padding: 14px 16px;
    box-shadow: 0 6px 18px -10px rgba(15,80,40,.16);
    transition: transform .3s var(--ag-ease), box-shadow .3s var(--ag-ease), border-color .3s var(--ag-ease);
}
.v2-hero .v2-hero-proof > a:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 32px -14px rgba(31,138,60,.30);
    border-color: rgba(31,138,60,.30);
}

/* ag-stat — already styled, lift cursor pointer */
a.ag-stat { display: block; }

/* feature-card — was div, now <a>. Keep block layout, drop default underline */
a.feature-card { display: block; }
a.feature-card .btn-text { color: var(--primary-color); font-weight: 500; display: inline-block; margin-top: 15px; }
a.feature-card:hover .btn-text { transform: translateX(4px); }

/* ag-crop, ag-case, ag-tl-step, equipment-card, step-item — display block */
a.ag-crop, a.ag-case, a.equipment-card, a.step-item { display: block; }
a.ag-tl-step { display: block; }

/* ag-bar-row — make clickable row */
a.ag-bar-row {
    display: grid;
    grid-template-columns: 110px 1fr 90px;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    border-radius: 10px;
    margin: 0 -6px;
    padding-left: 6px;
    padding-right: 6px;
    transition: background .25s var(--ag-ease);
}
a.ag-bar-row:hover { background: rgba(31,138,60,.06); }
a.ag-bar-row:hover .name { color: #1f6b30; font-weight: 700; }

/* ag-sub-item — was div, keep grid layout */
a.ag-sub-item {
    display: grid;
    grid-template-columns: 50px 1fr auto;
    align-items: center;
    gap: 14px;
    transition: transform .25s var(--ag-ease), box-shadow .25s var(--ag-ease), border-color .25s var(--ag-ease);
}
a.ag-sub-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px -12px rgba(15,80,40,.22);
    border-color: rgba(31,138,60,.28) !important;
}

/* Inline arrow indicator that subtly slides on hover */
.ag-arrow {
    display: inline-block;
    color: var(--ag-green-2);
    font-weight: 700;
    transition: transform .25s var(--ag-ease);
}
a:hover .ag-arrow,
.v2-hero-proof a:hover .pp-lbl,
.v2-hero-stats a:hover strong {
    transform: translateX(3px);
}
a.ag-case:hover .ag-arrow,
a.ag-crop:hover .ag-arrow,
a.equipment-card:hover .ag-arrow,
a.ag-sub-item:hover .ag-arrow {
    transform: translateX(4px);
}

/* quote link */
a.ag-quote { display: block; transition: transform .35s var(--ag-ease), box-shadow .35s var(--ag-ease); }
a.ag-quote:hover {
    transform: translateY(-4px);
    box-shadow: var(--ag-shadow-2);
}

/* cost-item — was div, make full anchor card */
a.cost-item {
    display: block;
    text-align: center;
    transition: transform .25s var(--ag-ease), box-shadow .25s var(--ag-ease);
}
a.cost-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px -14px rgba(15,80,40,.25) !important;
}

/* step-item — was div */
a.step-item { transition: transform .25s var(--ag-ease); }
a.step-item:hover { transform: translateY(-2px); }
a.step-item:hover .step-number {
    box-shadow: 0 14px 30px -10px rgba(31,138,60,.55);
    transform: scale(1.05);
}

/* ==========================================
   12. Scroll reveal helpers
   ========================================== */
.ag-reveal {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity .8s var(--ag-ease), transform .8s var(--ag-ease);
    will-change: opacity, transform;
}
.ag-reveal.in {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}
.ag-reveal[data-delay="1"].in { transition-delay: .08s; }
.ag-reveal[data-delay="2"].in { transition-delay: .16s; }
.ag-reveal[data-delay="3"].in { transition-delay: .24s; }
.ag-reveal[data-delay="4"].in { transition-delay: .32s; }
.ag-reveal[data-delay="5"].in { transition-delay: .40s; }

/* ==========================================
   14. Page helpers — related cats, more posts, prev/next, cta band
   ========================================== */
.sf-related-cats { margin: 40px 0; }
.sf-related-cats h3 { font-size: 1.15rem; color:#1a3a25; margin-bottom: 16px; }
.sf-related-cats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}
.sf-rc-card {
    display: block;
    padding: 18px 20px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(15,80,40,.08);
    border-left: 4px solid #1f8a3c;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 6px 18px -12px rgba(15,80,40,.18);
    transition: transform .25s var(--ag-ease), box-shadow .25s var(--ag-ease), border-color .25s var(--ag-ease);
}
.sf-rc-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 28px -14px rgba(31,138,60,.25);
    border-left-color: #27a544;
}
.sf-rc-name { font-weight: 800; color: #1a3a25; font-size: 1.02rem; }
.sf-rc-count { color: #1f8a3c; font-size: .82rem; margin-top: 6px; font-weight: 600; }

.sf-more-posts { margin: 40px 0; }
.sf-more-posts h3 { font-size: 1.15rem; color:#1a3a25; margin-bottom: 16px; }
.sf-more-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}
.sf-mp-card {
    display: block;
    background: #fff;
    border: 1px solid rgba(15,80,40,.08);
    border-radius: 14px;
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    transition: transform .3s var(--ag-ease), box-shadow .3s var(--ag-ease);
}
.sf-mp-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 36px -14px rgba(15,80,40,.20);
}
.sf-mp-thumb {
    aspect-ratio: 1.91/1;
    background-size: cover;
    background-position: center;
    background-color: #e2efe5;
}
.sf-mp-body { padding: 14px 16px; }
.sf-mp-cat {
    display: inline-block;
    background: rgba(31,138,60,.10);
    color: var(--ag-green-1);
    font-size: .72rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 999px;
    margin-bottom: 8px;
}
.sf-mp-title { font-weight: 600; font-size: .98rem; line-height: 1.4; color: #1a3a25; }

.sf-page-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 36px 0;
}
.sf-pn-card {
    display: flex;
    gap: 14px;
    padding: 18px 22px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(15,80,40,.08);
    text-decoration: none;
    color: inherit;
    box-shadow: 0 6px 18px -12px rgba(15,80,40,.18);
    transition: transform .25s var(--ag-ease), box-shadow .25s var(--ag-ease);
}
.sf-pn-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 28px -14px rgba(31,138,60,.22);
}
.sf-pn-next { justify-content: flex-end; text-align: right; }
.sf-pn-arrow { font-size: 1.4rem; color: #1f8a3c; font-weight: 800; align-self: center; }
.sf-pn-lbl { font-size: .76rem; color: #6a8073; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.sf-pn-ttl { font-size: 1.02rem; color: #1a3a25; font-weight: 700; margin-top: 4px; }

.sf-cta-band {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 24px;
    align-items: center;
    margin: 40px 0;
    padding: 36px 36px;
    border-radius: 22px;
    background: linear-gradient(135deg, #0e6b35 0%, #1f8a3c 60%, #2bb259 100%);
    color: #fff;
    box-shadow: 0 22px 50px -24px rgba(15,80,40,.45);
}
.sf-cta-band h3 { color: #fff; font-size: 1.3rem; margin-bottom: 6px; line-height: 1.35; }
.sf-cta-band p { color: #d9f4dd; font-size: .95rem; max-width: 520px; }
.sf-cta-btns { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.sf-cta-pri {
    background: #fff; color: #155a30; font-weight: 800;
    padding: 12px 22px; border-radius: 12px; text-decoration: none;
    box-shadow: 0 10px 24px -10px rgba(0,0,0,.35);
}
.sf-cta-sec {
    background: rgba(255,255,255,.10); color: #fff; font-weight: 700;
    padding: 12px 22px; border-radius: 12px; text-decoration: none;
    border: 1.5px solid rgba(255,255,255,.40);
}
.sf-cta-pri:hover { transform: translateY(-2px); }
.sf-cta-sec:hover { background: rgba(255,255,255,.18); }

@media (max-width: 720px) {
    .sf-page-nav { grid-template-columns: 1fr; }
    .sf-cta-band { grid-template-columns: 1fr; padding: 28px 24px; }
    .sf-cta-band .sf-cta-btns { justify-content: flex-start; }
}

/* deep-page content styles — strong readability */
.sf-deep {
    max-width: 920px; margin: 0 auto;
    font-family: 'Pretendard', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #0e1f17;
}
.sf-deep h3 {
    font-size: 1.55rem; color: #0a1f12; margin: 52px 0 16px;
    border-left: 5px solid #1f8a3c; padding-left: 14px;
    font-weight: 800; letter-spacing: -.015em; line-height: 1.35;
}
.sf-deep h3 .num {
    display: inline-block; width: 38px; height: 38px;
    border-radius: 10px;
    background: linear-gradient(135deg, #1f8a3c, #27a544);
    color: #fff; font-size: .95rem; line-height: 38px;
    text-align: center; margin-right: 12px; vertical-align: middle;
    font-weight: 800;
    box-shadow: 0 6px 14px -6px rgba(31,138,60,.55);
}
.sf-deep h4 {
    font-size: 1.15rem; color: #102e1c; margin: 28px 0 10px;
    font-weight: 800; letter-spacing: -.01em;
}
.sf-deep p {
    line-height: 1.95; color: #1a2e23; margin: 0 0 16px;
    font-size: 1.06rem; font-weight: 500;
    word-break: keep-all;
}
.sf-deep ul, .sf-deep ol {
    margin: 8px 0 22px 24px;
    padding-left: 0;
}
.sf-deep ul li, .sf-deep ol li {
    line-height: 1.9; color: #1a2e23; margin-bottom: 10px;
    font-size: 1.04rem; font-weight: 500;
    list-style: disc outside;
}
.sf-deep ol li { list-style: decimal outside; }
.sf-deep strong { color: #0e6b35; font-weight: 800; }
.sf-deep a {
    color: #1f6b30; text-decoration: underline;
    text-decoration-color: rgba(31,138,60,.35);
    text-underline-offset: 3px;
    font-weight: 600;
    transition: color .2s ease, text-decoration-color .2s ease;
}
.sf-deep a:hover { color: #0e6b35; text-decoration-color: rgba(31,138,60,.85); }

/* link badge — small inline chip style for cross-links */
.sf-deep .link-chip {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 2px 10px;
    border-radius: 999px;
    background: linear-gradient(135deg, #e7f6ec, #d4eedb);
    color: #0e6b35 !important;
    font-size: .86rem; font-weight: 700;
    text-decoration: none !important;
    border: 1px solid rgba(31,138,60,.20);
    transition: transform .2s ease, box-shadow .2s ease;
    white-space: nowrap;
}
.sf-deep .link-chip:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 14px -8px rgba(31,138,60,.45);
    color: #0e6b35 !important;
}
.sf-deep .link-chip::after { content: "→"; margin-left: 2px; }
.sf-deep .sf-tbl-wrap {
    overflow-x: auto; margin: 22px 0 28px;
    border-radius: 14px;
    box-shadow: 0 12px 30px -16px rgba(15,80,40,.20);
}
.sf-deep table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    overflow: hidden;
    font-size: 1.0rem;
    font-weight: 500;
}
.sf-deep thead th {
    background: linear-gradient(135deg, #1f8a3c, #27a544 60%, #2bb259);
    color: #fff;
    padding: 14px 16px;
    text-align: left;
    font-weight: 800;
    letter-spacing: -.01em;
    font-size: .98rem;
}
.sf-deep tbody td {
    padding: 12px 16px;
    border-bottom: 1px solid rgba(15,80,40,.08);
    color: #14241b;
    font-weight: 500;
}
.sf-deep tbody tr:nth-child(even) td { background: #f8fcf6; }
.sf-deep tbody tr:hover td { background: #ecf7ef; }
.sf-deep blockquote {
    margin: 22px 0;
    padding: 20px 26px;
    border-left: 5px solid #1f8a3c;
    background: linear-gradient(135deg, #f6fbf3, #ecf7ef);
    border-radius: 10px;
    color: #102e1c;
    font-weight: 600;
    line-height: 1.85;
    box-shadow: 0 6px 18px -12px rgba(15,80,40,.18);
}
.sf-deep .sf-callout {
    background: linear-gradient(135deg, #effaf3 0%, #d8f0e0 100%);
    border: 1px solid rgba(31,138,60,.25);
    border-left: 5px solid #1f8a3c;
    padding: 22px 26px;
    border-radius: 14px;
    margin: 24px 0;
    color: #0a1f12;
    font-size: 1.04rem;
    line-height: 1.9;
    font-weight: 500;
    box-shadow: 0 10px 24px -14px rgba(15,80,40,.22);
}
.sf-deep .sf-callout strong { color: #0e6b35; font-weight: 800; }
.sf-deep .sf-callout.warn {
    background: linear-gradient(135deg, #fff8e5, #ffeec4);
    border-color: rgba(217,119,6,.30);
    border-left-color: #d97706;
    color: #3f2a05;
}
.sf-deep .sf-callout.warn strong { color: #92400e; }
.sf-deep .sf-callout.tip {
    background: linear-gradient(135deg, #eaf5ff, #d3e9fb);
    border-color: rgba(37,99,235,.25);
    border-left-color: #2563eb;
    color: #0c1f3d;
}
.sf-deep .sf-callout.tip strong { color: #1d4ed8; }

/* Decorative section divider */
.sf-deep .sf-divider {
    display: flex; align-items: center; gap: 14px;
    margin: 60px 0 30px;
    color: #1f8a3c; font-weight: 800; font-size: .85rem;
    letter-spacing: .14em; text-transform: uppercase;
}
.sf-deep .sf-divider::before,
.sf-deep .sf-divider::after {
    content: ""; height: 2px; flex: 1;
    background: linear-gradient(90deg, rgba(31,138,60,.4), rgba(31,138,60,0));
    border-radius: 2px;
}
.sf-deep .sf-divider::after {
    background: linear-gradient(90deg, rgba(31,138,60,0), rgba(31,138,60,.4));
}

/* TOC sidebar (sticky on desktop) */
.sf-guide-wrap {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 40px;
    align-items: start;
    max-width: 1180px;
    margin: 0 auto;
}
.sf-toc {
    position: sticky;
    top: 100px;
    align-self: start;
    padding: 22px 18px;
    background: #fff;
    border: 1px solid rgba(15,80,40,.08);
    border-radius: 16px;
    box-shadow: 0 10px 24px -16px rgba(15,80,40,.20);
}
.sf-toc-title {
    font-size: .78rem; color: #1f8a3c; font-weight: 800;
    letter-spacing: .12em; text-transform: uppercase;
    margin-bottom: 14px; display: flex; align-items: center; gap: 8px;
}
.sf-toc ol { margin: 0; padding: 0; list-style: none; }
.sf-toc li { margin: 0; padding: 0; }
.sf-toc a {
    display: block; padding: 8px 10px;
    color: #1a2e23; font-size: .92rem; font-weight: 600;
    text-decoration: none; border-radius: 8px;
    border-left: 3px solid transparent;
    transition: background .2s ease, border-color .2s ease, color .2s ease;
    line-height: 1.4;
}
.sf-toc a:hover {
    background: #f1faf3; border-left-color: #1f8a3c;
    color: #0e6b35;
}
.sf-toc a.is-active {
    background: linear-gradient(135deg, #effaf3, #d8f0e0);
    border-left-color: #1f8a3c; color: #0e6b35;
}
.sf-toc-num {
    display: inline-block; width: 22px; color: #1f8a3c; font-weight: 800;
}

/* Hero strip with stats */
.sf-guide-hero {
    position: relative;
    margin: 0 0 22px;
    padding: 36px 30px;
    border-radius: 22px;
    background:
        radial-gradient(800px 400px at -10% 0%, rgba(95,213,138,.22), transparent 70%),
        radial-gradient(700px 400px at 110% 100%, rgba(255,218,58,.16), transparent 70%),
        linear-gradient(160deg, #effaf3 0%, #e2f4e6 50%, #d6efdc 100%);
    border: 1px solid rgba(15,80,40,.08);
    overflow: hidden;
    isolation: isolate;
}
.sf-guide-hero::before {
    content: ""; position: absolute; inset: 0; z-index: -1;
    background-image:
        linear-gradient(rgba(15,80,40,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15,80,40,.04) 1px, transparent 1px);
    background-size: 38px 38px;
    mask-image: radial-gradient(60% 60% at 50% 50%, #000 30%, transparent 80%);
    -webkit-mask-image: radial-gradient(60% 60% at 50% 50%, #000 30%, transparent 80%);
}
.sf-guide-hero h2 {
    font-size: clamp(1.6rem, 2.4vw + .6rem, 2.2rem);
    color: #0a1f12; font-weight: 800; letter-spacing: -.02em;
    line-height: 1.25; margin: 0 0 8px;
}
.sf-guide-hero h2 .hl {
    background: linear-gradient(90deg, #1f8a3c, #2bb259);
    -webkit-background-clip: text; background-clip: text; color: transparent;
}
.sf-guide-hero p {
    color: #1a3a25; font-size: 1.05rem; line-height: 1.8;
    margin: 0 0 18px; max-width: 640px; font-weight: 500;
}
.sf-guide-hero-stats {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
    margin-top: 14px;
}
.sf-guide-hero-stats > div {
    padding: 14px 16px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid rgba(15,80,40,.10);
    border-left: 3px solid #1f8a3c;
    box-shadow: 0 6px 16px -10px rgba(15,80,40,.18);
}
.sf-guide-hero-stats .num {
    font-size: 1.4rem; font-weight: 800; color: #0e6b35;
    letter-spacing: -.02em; line-height: 1;
}
.sf-guide-hero-stats .lbl {
    font-size: .82rem; color: #2c4a37; margin-top: 6px; font-weight: 600;
}

/* Inforcards grid (Korean smartfarm market overview) */
.sf-info-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin: 22px 0 30px;
}
.sf-info-card {
    background: #fff;
    border: 1px solid rgba(15,80,40,.10);
    border-radius: 16px;
    padding: 22px 20px;
    box-shadow: 0 10px 24px -16px rgba(15,80,40,.20);
    position: relative; overflow: hidden;
    transition: transform .35s ease, box-shadow .35s ease;
    text-decoration: none; color: inherit; display: block;
}
.sf-info-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px -16px rgba(31,138,60,.30);
}
.sf-info-card::after {
    content: ""; position: absolute; right: -30%; top: -30%;
    width: 160px; height: 160px; border-radius: 50%;
    background: radial-gradient(closest-side, rgba(95,213,138,.30), transparent 70%);
    pointer-events: none;
}
.sf-info-card .ico {
    width: 40px; height: 40px;
    background: linear-gradient(135deg, #e7f6ec, #c9f0d4);
    border-radius: 12px;
    display: grid; place-items: center;
    font-size: 1.3rem; margin-bottom: 10px;
}
.sf-info-card .v {
    font-size: 1.4rem; font-weight: 800; color: #0e6b35;
    letter-spacing: -.02em; line-height: 1.1;
}
.sf-info-card .lbl {
    font-size: .9rem; color: #2c4a37; margin-top: 6px; font-weight: 700;
}
.sf-info-card .sub {
    font-size: .76rem; color: #6a8073; margin-top: 4px;
}
.sf-info-card .arr { color: #1f8a3c; font-size: .82rem; margin-top: 10px; font-weight: 700; }

@media (max-width: 980px) {
    .sf-guide-wrap { grid-template-columns: 1fr; }
    .sf-toc { position: static; }
    .sf-info-grid { grid-template-columns: repeat(2, 1fr); }
    .sf-guide-hero-stats { grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width: 560px) {
    .sf-info-grid { grid-template-columns: 1fr; }
    .sf-guide-hero-stats { grid-template-columns: 1fr; }
}

/* Reading progress bar at top of page */
.sf-progress-bar {
    position: fixed; top: 0; left: 0; height: 3px;
    background: linear-gradient(90deg, #1f8a3c, #2bb259, #c9f56a);
    width: 0%;
    z-index: 9999;
    transition: width .1s linear;
    pointer-events: none;
}

/* ad-slot polish */
.adsg-ad-slot {
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
}

/* ==========================================
   13. Responsive
   ========================================== */
@media (max-width: 980px) {
    .ag-section { padding: 64px 0; }
    .ag-stats { grid-template-columns: repeat(2, 1fr); }
    .ag-compare { grid-template-columns: 1fr; }
    .ag-compare > div { border-right: 0; }
    .ag-compare-h { text-align:center; }
    .ag-subsidy { grid-template-columns: 1fr; padding: 28px 22px; }
    .ag-donut { width: 220px; height: 220px; }
    .ag-bars { grid-template-columns: 1fr; }
    .ag-cases { grid-template-columns: 1fr; }
    .ag-timeline { grid-template-columns: repeat(2, 1fr); gap: 22px; }
    .ag-timeline::before { display: none; }
    .ag-crops { grid-template-columns: repeat(2, 1fr); }
    .ag-cta { padding: 36px 24px; }
    .ag-cta .row { grid-template-columns: 1fr; }
    .ag-cta .btns { justify-content: flex-start; }
    .ag-quotes { grid-template-columns: 1fr; }
    .v2-floating-tile { display: none; }
    .v2-hero-img-wrap { margin-top: 18px; }
    .hero-section.v2-hero { padding: 56px 0 64px !important; }
    .v2-hero .v2-hero-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
    .v2-hero .v2-hero-img-wrap { aspect-ratio: 16/11 !important; }
    .v2-hero .v2-hero-proof { grid-template-columns: 1fr; gap: 10px; }
    .v2-hero .v2-hero-proof > div { padding: 12px 14px; }
}

@media (max-width: 560px) {
    .v2-hero .v2-hero-stats > div { padding: 10px 14px !important; }
    .v2-hero .v2-hero-stats strong { font-size: 1.3rem !important; }
    .v2-hero .v2-hero-img-wrap { aspect-ratio: 5/4 !important; }
}

@media (max-width: 560px) {
    .ag-stat { padding: 22px 18px; }
    .ag-stat .num { font-size: 1.8rem; }
    .ag-crops { grid-template-columns: 1fr 1fr; }
    .ag-crop .cover { height: 120px; }
    .ag-bar-row { grid-template-columns: 84px 1fr 72px; gap: 8px; }
    .ag-bar-row .name { font-size:.82rem; }
}

/* reduce motion */
@media (prefers-reduced-motion: reduce) {
    .v2-hero::before,
    .v2-hero-img-wrap > img,
    .v2-floating-tile,
    .ag-tl-step .dot::after,
    .v2-hero-img-wrap::before {
        animation: none !important;
    }
    .ag-reveal { opacity: 1; transform: none; transition: none; }
}
