a {text-decoration:none;color:inherit;}
a:hover,a:focus {text-decoration:none;}

.hero.carousel {position:relative;overflow:hidden;border-radius:22px;box-shadow:var(--shadow);}
.hero .carousel-item {position:relative;height:clamp(360px,46vh,520px);}
.hero .bg {position:absolute;inset:0;background-image:var(--pc-bg)!important;background-size:cover;background-position:center center;background-repeat:no-repeat;transform:scale(1.04);filter:saturate(1.05);}
.hero .overlay {position:absolute;inset:0;background:radial-gradient(900px 600px at 10% 10%,rgba(25,179,106,.30),transparent 55%),linear-gradient(90deg,rgba(2,6,23,.82) 0%,rgba(2,6,23,.30) 55%,rgba(2,6,23,.05) 100%);}
.hero .inner {position:relative;padding:clamp(18px,3vw,36px);color:#fff;display:flex;align-items:flex-end;min-height:clamp(360px,46vh,520px);}
.hero .carousel-item.active .bg {animation:kenburns 6.2s ease-in-out both;}
.hero .carousel-indicators [data-bs-target] {width:8px;height:8px;border-radius:50%;}

@keyframes kenburns {0%{transform:scale(1.03) translate3d(0,0,0);}100%{transform:scale(1.12) translate3d(-1.5%,-1%,0);}}

.h-title {font-weight:950;letter-spacing:-.04em;font-size:clamp(28px,3.6vw,48px);line-height:1.08;margin:0 0 10px 0;}
.h-sub {color:rgba(255,255,255,.86);max-width:60ch;margin:0;}
.h-actions {margin-top:14px;display:flex;flex-wrap:wrap;gap:10px;}

.btn-ghost {border-radius:16px;padding:12px 14px;font-weight:950;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);color:#fff;}
.btn-ghost:hover {background:rgba(255,255,255,.14);color:#fff;}

.cardx {background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius);box-shadow:0 14px 40px rgba(2,6,23,.06);overflow:hidden;height:100%;}
.cardx .hd {padding:16px 16px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.cardx .ttl {font-weight:950;letter-spacing:-.02em;margin:0;font-size:1.12rem;}
.cardx-hover:hover .thumb {transform:scale(1.06);filter:saturate(1.05) contrast(1.02);}

.linkbtn {display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;background:#fff;border:1px solid rgba(2,6,23,.08);font-weight:900;color:#0f172a;}

.thumb {height:180px;background:#e5e7eb;background-size:cover;background-position:center;transition:transform .35s ease,filter .35s ease;}
.meta {padding:14px 16px 16px;color:var(--muted);font-weight:700;}

.notice a {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-top:1px solid rgba(2,6,23,.06);}
.notice a:hover {background:rgba(25,179,106,.06);}
.notice .t {font-weight:900;color:#0f172a;}
.notice .d {color:var(--muted);font-size:.92rem;white-space:nowrap;}

.ggrid {padding:0 16px 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;min-height:320px;}
.gitem {min-height:240px;border-radius:18px;overflow:hidden;border:1px solid rgba(2,6,23,.08);background:#e5e7eb;background-size:cover;background-position:center;box-shadow:0 10px 25px rgba(2,6,23,.06);transition:transform .35s ease,filter .35s ease;}
.gitem:hover {transform:translateY(-4px) scale(1.05);filter:saturate(1.08) contrast(1.02);}

.meta-links {padding:0;}
.meta-link {display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid rgba(2,6,23,.06);font-weight:800;font-size:.92rem;color:#0f172a;text-decoration:none;transition:background .15s,color .15s;}
.meta-link:hover {background:rgba(25,179,106,.06);color:#064e3b;}
.meta-link i:first-child {width:28px;height:28px;border-radius:8px;background:rgba(25,179,106,.10);display:flex;align-items:center;justify-content:center;font-size:.78rem;color:#2e7d32;flex-shrink:0;}
.meta-link i:last-child {color:#ccc;font-size:.75rem;margin-left:auto;}
.meta-link:hover i:last-child {color:#2e7d32;}

/* 관리자 퀵버튼 */
.dg-admin-tools {position:relative;z-index:30;}
.dg-admin-tools-row {display:flex;align-items:center;justify-content:flex-start;gap:6px;flex-wrap:wrap;}
.dg-admin-btn {width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:10px;background:rgba(255,255,255,.92);border:1px solid rgba(15,23,42,.12);color:#334155;box-shadow:0 8px 20px rgba(2,6,23,.06);transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;}
.dg-admin-btn:hover,.dg-admin-btn:focus {background:#19b36a;border-color:#19b36a;color:#fff;transform:translateY(-1px);}
.dg-admin-tools .dropdown-menu {border-radius:14px;border:1px solid rgba(15,23,42,.10);box-shadow:0 14px 34px rgba(2,6,23,.14);font-size:13px;}
.dg-admin-tools .dropdown-item {font-weight:700;}
.dg-admin-tools .dropdown-item:hover {background:rgba(25,179,106,.08);color:#064e3b;}
.dg-admin-tools .dropdown-item-text {font-size:12px;font-weight:900;color:#475569;}

@media (min-width:992px) {.ggrid {min-height:420px;}}

@media (max-width:768px) {.hero.carousel {border-radius:20px;margin:18px 10px 24px;} .hero .carousel-item {height:360px;min-height:360px;max-height:360px;} .hero .inner {min-height:360px;padding:26px 22px;} .hero .bg {background-image:var(--mo-bg)!important;background-size:cover;background-position:center center;transform:scale(1.02);} .hero .carousel-item.active .bg {animation:none;} .hero .h-title,.h-title {font-size:28px;line-height:1.12;letter-spacing:-1px;} .hero .h-sub,.h-sub {font-size:15px;margin-top:12px;} .hero .h-actions,.h-actions {gap:8px;flex-wrap:wrap;margin-top:18px;} .hero .h-actions .btn {height:42px;padding:0 14px;font-size:14px;}}

@media (max-width:576px) {.ggrid {grid-template-columns:1fr;min-height:auto;} .gitem {min-height:240px;} .dg-admin-tools-row {gap:5px;} .dg-admin-btn {width:32px;height:32px;border-radius:9px;}}