:root {
margin: 0;
font-family: var(--gw-font);
color: var(--gw-text);
background: radial-gradient(1200px 800px at 30% 0%, rgba(124,92,255,.12), transparent 60%),
radial-gradient(1000px 700px at 80% 0%, rgba(77,158,255,.10), transparent 60%),
var(--gw-bg);
line-height: 1.6;
}


.container { width: min(1200px, 92%); margin: 0 auto; }


/* 헤더 */
.gw-header {
position: sticky; top: 0; z-index: 50;
backdrop-filter: saturate(160%) blur(6px);
background: color-mix(in srgb, var(--gw-bg) 75%, transparent);
border-bottom: 1px solid var(--gw-border);
}
.gw-header .inner { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; }
.gw-logo { font-weight: 800; letter-spacing: -0.02em; font-size: 20px; }
.gw-logo a { color: var(--gw-text); text-decoration: none; }
.gw-nav { display: flex; gap: 18px; align-items: center; }
.gw-nav a { color: var(--gw-muted); text-decoration: none; font-weight: 600; padding: 8px 10px; border-radius: 10px; }
.gw-nav a:hover { color: var(--gw-text); background: rgba(255,255,255,.05); }


/* 검색 */
.gw-search { position: relative; }
.gw-search input { background: var(--gw-surface); border: 1px solid var(--gw-border); border-radius: 12px; color: var(--gw-text);
padding: 10px 12px 10px 36px; outline: none; width: 220px; }
.gw-search .icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); opacity: .65; }


/* 버튼 */
.gw-btn { display:inline-flex; align-items:center; gap:8px; padding:10px 14px; font-weight:700; text-decoration:none; border-radius: 12px; border: 1px solid var(--gw-border);
color: var(--gw-text); background: linear-gradient(135deg, var(--gw-primary), var(--gw-primary-2)); box-shadow: var(--gw-shadow); }
.gw-btn:hover { filter: brightness(1.05); }
.gw-btn--ghost { background: transparent; border-color: var(--gw-border); }


/* 히어로 */
.hero { display:grid; grid-template-columns: 1.15fr 0.85fr; gap: 28px; align-items: center; padding: 42px 0; }
.hero .copy h1 { font-size: clamp(28px, 3.5vw, 44px); line-height: 1.15; margin: 0 0 14px; }
.hero .copy p { color: var(--gw-muted); margin: 0 0 18px; }
.hero .actions { display: flex; gap:12px; flex-wrap: wrap; }
.hero .media { border-radius: var(--gw-radius); overflow: hidden; border: 1px solid var(--gw-border); background: var(--gw-surface); position: relative; }
.hero picture, .hero img { display:block; width:100%; height:auto; }


/* 카드 그리드 */
.grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.card { background: var(--gw-surface); border:1px solid var(--gw-border); border-radius: var(--gw-radius);
overflow:hidden; box-shadow: var(--gw-shadow); }
.card .thumb img { display:block; width:100%; height:auto; }
.card .body { padding:16px; }
.card .title { font-size:18px; font-weight:800; margin: 0 0 6px; }
.card .meta { color: var(--gw-muted); font-size: 13px; }


/* 배너 그리드 */
.banner-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:14px; margin: 26px 0 42px; }
.banner-grid a { border-radius: var(--gw-radius-sm); overflow:hidden; border:1px solid var(--gw-border); display:block; }
.banner-grid img { display:block; width:100%; height:auto; }


/* 배너 클릭 배지(eyoom-banner) 미세 조정) */
.eb-banner-badge { left: 10px; bottom: 10px; font-weight: 800; }


/* 푸터 */
.gw-footer { margin-top: 40px; padding: 36px 0; color: var(--gw-muted); border-top:1px solid var(--gw-border); background: linear-gradient(180deg, transparent, rgba(255,255,255,.02)); }
.gw-footer a{ color: inherit; text-decoration: none; }


/* 반응형 */
@media (max-width: 1024px) {
.hero { grid-template-columns: 1fr; }
.grid { grid-template-columns: 1fr 1fr; }
.banner-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
.gw-search input { width: 160px; }
.grid { grid-template-columns: 1fr; }
.banner-grid { grid-template-columns: 1fr; }
}