:root{--nav-h:76px;--nav-h-mobile:66px;--card:rgba(255,255,255,.06);--card2:rgba(255,255,255,.08)}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
section,[id]{scroll-margin-top:var(--nav-h)}
@media (max-width:768px){section,[id]{scroll-margin-top:var(--nav-h-mobile)}}
body{-webkit-tap-highlight-color:transparent;padding-top:env(safe-area-inset-top)}
/* Better focus visibility */
:focus-visible{outline:2px solid rgba(59,130,246,.9);outline-offset:2px}
/* Small utility helpers */
.glass{background:rgba(255,255,255,.06);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.10)}
.btn{min-height:44px;border-radius:14px;padding:.65rem 1rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}
.btn-primary{background:#fff;color:#0f172a}
.btn-ghost{background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.12)}
.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .55rem;border-radius:999px;font-weight:800;background:rgba(15,23,42,.12);border:1px solid rgba(15,23,42,.10)}
/* Timeline */
.tl{position:relative}
.tl:before{content:"";position:absolute;left:15px;top:0;bottom:0;width:2px;background:rgba(148,163,184,.35)}
.tl-item{position:relative;padding-left:48px}
.tl-dot{position:absolute;left:8px;top:.6rem;width:16px;height:16px;border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 0 0 5px rgba(59,130,246,.18)}
/* Map */
#kakaoMap{width:100%;height:360px;border-radius:18px;overflow:hidden}
@media (max-width:768px){#kakaoMap{height:280px}}
