:root{--color-primary:#134e4a;--color-primary-light:#0f766e;--color-primary-dark:#0c1a20;--color-accent:#2dd4bf;--color-accent-light:#99f6e4;--color-bg-main:#f8fffe;--color-bg-section:#f0fdfa;--color-bg-dark:#0c1a20;--color-border-light:#ccfbf1;--color-border-dark:#2dd4bf;--color-text-primary:#042f2e;--color-text-secondary:#115e59;--color-text-muted:#6b7280;--font-heading:'Noto Serif KR',serif;--font-body:'Pretendard','Apple SD Gothic Neo','Malgun Gothic',sans-serif}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);background-color:var(--color-bg-main);color:var(--color-text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-primary-dark);line-height:1.3;margin-top:0}a{color:var(--color-primary-light);text-decoration:none}a:hover{color:var(--color-accent)}img{max-width:100%;height:auto;display:block}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn-primary{display:inline-block;background:var(--color-primary);color:#fff;padding:14px 32px;border-radius:4px;font-weight:700;font-size:1rem;transition:background .2s;border:none;cursor:pointer}.btn-primary:hover{background:var(--color-primary-light);color:#fff}.btn-accent{display:inline-block;background:var(--color-accent);color:var(--color-primary-dark);padding:14px 32px;border-radius:4px;font-weight:700;transition:background .2s}.btn-accent:hover{background:var(--color-accent-light);color:var(--color-primary-dark)}.section{padding:80px 0}.section-dark{background:var(--color-bg-dark);color:#fff}.section-teal{background:var(--color-bg-section)}.section-title{font-size:clamp(1.5rem,3vw,2.2rem);text-align:center;margin-bottom:12px}.section-desc{text-align:center;color:var(--color-text-secondary);margin-bottom:48px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.section{padding:48px 0}}