:root{--leaf:#00c256;--brand-mid:#008a30;--brand-deep:#006e3c;--moss:#007b34;--forest:#04301c;--mist:#e1f1e6;--paper:#fafaf7;--ink:#26302a;--ink-soft:#667168;--color-bg:var(--paper);--color-surface:#f0f2ec;--color-card:#fff;--color-text:var(--ink);--color-muted:var(--ink-soft);--color-line:#04301c1f;--color-primary:var(--forest);--color-primary-contrast:var(--paper);--color-accent:var(--moss);--font-sans:"Be Vietnam Pro", "Pretendard Variable", Pretendard, -apple-system, "Segoe UI", "Malgun Gothic", sans-serif;--radius:6px;--container:1320px;--gutter:clamp(16px, 4vw, 56px);--header-h:76px;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.7;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3{letter-spacing:-.02em;margin:0 0 .5em;line-height:1.25}.container{width:100%;max-width:var(--container);padding:0 var(--gutter);margin:0 auto}.section{padding:clamp(48px,7vw,96px) 0}.section--surface{background:var(--color-surface)}.label,.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--moss);align-items:center;gap:10px;margin:0 0 14px;font-size:13px;font-weight:600;display:inline-flex}.label:before{content:"";background:currentColor;width:20px;height:1px}.h2{letter-spacing:-.03em;margin:0;font-size:clamp(28px,3vw,42px);font-weight:500;line-height:1.3}.header-offset{padding-top:var(--header-h)}.page-head{background:var(--paper);border-bottom:1px solid var(--color-line);padding:clamp(40px,6vw,80px) 0 36px}.page-head h1{letter-spacing:-.03em;font-size:clamp(2rem,4.6vw,3.4rem);font-weight:400}.micro{letter-spacing:.13em;color:#7a847d;text-transform:uppercase;margin:0 0 18px;font-size:10px}.lead{color:var(--color-muted);max-width:62ch;margin:0;font-size:clamp(16px,1.3vw,18px)}.btn{--bg:var(--brand-deep);--fg:#fff;border:1px solid var(--bg);background:var(--bg);color:var(--fg);transition:transform .5s var(--ease), box-shadow .5s var(--ease);border-radius:999px;align-items:center;gap:12px;padding:14px 24px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px -14px #04301c99}.btn--leaf{--bg:var(--brand-deep);--fg:#fff}.btn--ghost{color:var(--bg);background:0 0}.btn .arrow{transition:transform .5s var(--ease)}.btn:hover .arrow{transform:translate(4px)rotate(-45deg)}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:24px;display:grid}.badge{background:var(--leaf);color:var(--forest);letter-spacing:.05em;border-radius:999px;padding:2px 9px;font-size:.7rem;font-weight:700;display:inline-block}.placeholder{aspect-ratio:4/3;background:radial-gradient(120% 90% at 80% 10%, #00c25659, transparent 55%), linear-gradient(160deg, var(--mist), #c9dccf);color:var(--moss);place-items:center;font-size:.85rem;display:grid}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.js [data-reveal]{opacity:0;transition:opacity .65s var(--ease), transform .8s var(--ease);transition-delay:calc(var(--i,0) * 70ms);transform:translateY(16px)}.js [data-reveal].is-in{opacity:1;transform:none}.editorial-link{color:var(--moss);border-bottom:1px solid;justify-content:space-between;align-items:center;gap:28px;padding:7px 0;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.editorial-link span{transition:transform .35s var(--ease)}.editorial-link:hover span{transform:translate(3px,-3px)}a:focus-visible,button:focus-visible{outline:2px solid var(--moss);outline-offset:5px}.js [data-reveal=image]{clip-path:inset(0 0 12%);transition:clip-path .9s var(--ease), opacity .6s var(--ease), transform .9s var(--ease);transform:translateY(10px)}.js [data-reveal=image].is-in{clip-path:inset(0);transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.js [data-reveal]{opacity:1;clip-path:none;transform:none}}
