/* Usability repairs, preserving DANJAM's original night-sky identity. */
:root{--muted:#a5a5bd}
section{scroll-margin-top:90px}
:focus-visible{outline:2px solid var(--star);outline-offset:5px}
.skip-link{position:fixed;top:-100px;left:16px;z-index:10010;background:var(--star);color:var(--bg);padding:14px 20px}
.skip-link:focus{top:12px}
nav{mix-blend-mode:normal;background:rgba(6,6,17,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(232,228,222,.08);padding:16px 40px}
.nav-logo{white-space:nowrap;letter-spacing:.12em}
.nav-logo:hover{letter-spacing:.12em}
.nav-links a{display:flex;align-items:center;min-height:44px;font-size:.8rem}
.nav-toggle{display:none}
.hero{padding-top:110px;padding-bottom:110px}
.hero-sub{font-size:.875rem;letter-spacing:.04em;max-width:560px;margin-top:28px}
.hero-intro{position:relative;z-index:2;font-size:1rem;line-height:1.8;max-width:570px;margin-top:24px;color:var(--fg);word-break:keep-all}
.hero-actions{position:relative;z-index:2;display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-action{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;padding:12px 22px;text-decoration:none;border:1px solid var(--star);background:var(--star);color:var(--bg);font-size:.9rem;font-weight:700;cursor:pointer}
.hero-action.secondary{background:rgba(6,6,17,.5);color:var(--star);border-color:#696552}
.hero-action:hover{filter:brightness(1.12)}
.about-text,.modal-body{color:#c4c4d2;font-size:1rem;line-height:1.95}
.works-count,.gallery-count{font-size:.8rem;line-height:1.7;letter-spacing:.08em}
.works-horizontal-scroll,.gallery-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#76728a #141426;overscroll-behavior-x:contain;scroll-padding:5vw}
.works-track,.gallery-track{width:max-content;touch-action:auto;cursor:grab;transform:none!important;align-items:stretch}
.works-horizontal-scroll.dragging,.gallery-scroll.dragging{cursor:grabbing;user-select:none;scroll-behavior:auto}
.dragging *{cursor:grabbing!important}
.work-card{display:flex;flex-direction:column;width:55vw;max-width:800px;min-width:340px}
.work-card-inner{aspect-ratio:16/9;flex-shrink:0}
.work-card-inner::after{display:none}
.work-card-meta{flex:1;gap:20px;align-items:flex-start}
.work-card-meta>div{min-width:0;flex:1}
.work-title,.gallery-card-title{overflow-wrap:anywhere;line-height:1.5}
.work-desc,.gallery-card-desc{font-size:.8125rem;line-height:1.7;color:#b9b9cd}
.work-year,.gallery-card-date{font-size:.75rem;letter-spacing:.1em}
.video-launch{position:absolute;inset:0;width:100%;height:100%;border:0;background:#101024;color:var(--fg);cursor:pointer;overflow:hidden}
.video-launch img{width:100%;height:100%;object-fit:cover;filter:brightness(.8);transition:filter .3s,transform .5s}
.video-launch:hover img{filter:brightness(1);transform:scale(1.02)}
.video-play-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:rgba(6,6,17,.8);border:1px solid var(--star);font-size:20px;padding-left:3px;color:var(--star)}
.video-play-label{position:absolute;bottom:16px;left:12px;right:12px;font:500 14px/1.5 var(--serif);text-shadow:0 1px 8px #000}
.video-external{display:inline-block;min-height:44px;padding-top:12px;font-size:.8rem;color:var(--star);text-underline-offset:4px}
.video-error{position:absolute;bottom:0;z-index:6;background:#0c0c20;padding:12px;font-size:.8rem;width:100%}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:20px;padding:24px 5vw 0;color:var(--muted);font-size:.8125rem}
.carousel-controls button{width:48px;height:48px;border:1px solid #67677d;background:#0c0c20;color:var(--star);font-size:20px;cursor:pointer}
.carousel-controls button:disabled{opacity:.35;cursor:default}
.gallery-card-img img{filter:brightness(.9) saturate(.95)}
.gallery-card-meta{height:100%;padding:18px 20px}
.gallery-card-title{font-size:1rem}
.stat-label,.stat-link-hint{font-size:.75rem;letter-spacing:.08em}
.stat-link-hint{color:var(--muted)}
.member-role,.member-num,.contact-item-label{font-size:.8rem}
.member-field{color:var(--muted);font-size:.9rem}
.modal-overlay,.modal-content,.lightbox-overlay{visibility:hidden}
.modal-overlay.open,.modal-content.open,.lightbox-overlay.open{visibility:visible}
.modal-label,.modal-subtitle,.modal-tag,.modal-link{font-size:.8rem;letter-spacing:.07em}
.modal-close,.lightbox-close{width:44px;height:44px;z-index:3;background:#0c0c20}
.lightbox-nav{z-index:3;background:#0c0c20;width:48px;height:48px}
.lightbox-img{max-height:calc(100dvh - 220px);max-width:calc(100vw - 150px)}
.lightbox-caption{bottom:24px;width:min(720px,88vw);max-height:140px;overflow:auto}
.lightbox-caption-desc{font-size:.8125rem;line-height:1.7;letter-spacing:.03em}
.lightbox-counter{font-size:.8rem}
.vol-control{opacity:.9;padding:4px 12px;bottom:16px;right:16px}
.vol-icon{background:none;border:0;width:44px;height:44px;cursor:pointer}
.vol-slider{height:4px;margin:14px 0}
.vol-pct{font-size:.75rem}
footer span,.footer-links a{font-size:.75rem;line-height:1.8}
.footer-links{flex-wrap:wrap;justify-content:center}
footer{padding-bottom:100px}
@media(max-width:900px){
  nav{padding:12px 24px}.nav-links{gap:18px}
  .work-card-meta{flex-direction:column}.work-card-meta>div{text-align:left!important;width:100%}
  .member-field{display:block;grid-column:2;font-size:.875rem;margin-top:-8px}
}
@media(max-width:700px){
  section{scroll-margin-top:80px}
  nav{padding:12px 20px;min-height:68px}
  .nav-logo{font-size:1rem;letter-spacing:.08em}
  .nav-toggle{display:flex;align-items:center;justify-content:center;gap:12px;min-width:84px;min-height:44px;border:1px solid #686879;background:#0c0c20;color:var(--fg);font:500 14px var(--serif);cursor:pointer}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;gap:0;padding:12px 20px 20px;background:#0b0b1b;border-bottom:1px solid #44445a;box-shadow:0 16px 24px #0005}
  .nav-links.open{display:grid;grid-template-columns:1fr}
  .nav-links a{font-size:.9375rem;min-height:48px;padding:8px 12px}
  .hero{padding:110px 6vw 100px;min-height:100svh}
  .hero-title{font-size:clamp(4rem,20vw,7rem)}
  .hero-tag{font-size:.625rem;letter-spacing:.12em;line-height:1.6}
  .hero-sub{font-size:.8125rem;line-height:1.8;max-width:100%;margin-top:26px}
  .hero-sub .typing-line{white-space:normal;overflow:visible;border:0;width:auto;animation:none}
  .hero-intro{font-size:.9375rem;margin-top:20px}
  .hero-actions{gap:10px;margin-top:24px}
  .hero-action{padding:12px 16px;gap:20px;font-size:.875rem}
  .hero-scroll{font-size:.625rem;bottom:24px}
  .about-text{font-size:1rem}
  .works,.gallery{padding-top:80px;padding-bottom:64px}
  .works-header,.gallery-header{gap:14px;margin-bottom:30px}
  .works-heading,.gallery-heading{font-size:clamp(2rem,9vw,3rem)}
  .works-count,.gallery-count{font-size:.75rem;letter-spacing:.04em}
  .works-track{gap:18px}.gallery-track{gap:16px}
  .work-card{width:86vw;min-width:0;max-width:500px}
  .work-card-meta{padding:18px;gap:16px}.work-card-meta>div{flex:none}.work-title{font-size:1.0625rem}
  .work-desc,.gallery-card-desc{font-size:.8125rem}.work-year,.gallery-card-date{font-size:.75rem}
  .gallery-card{width:80vw;min-width:0;max-width:360px}
  .gallery-card-meta{padding:18px}.gallery-card-title{font-size:1.0625rem}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat-item{padding:28px 12px;border-right:1px solid #1a1a3a}.stat-item:nth-child(2n){border-right:0}
  .stat-number{font-size:2rem}.stat-label,.stat-link-hint{font-size:.6875rem;line-height:1.7;letter-spacing:.02em}
  .modal-content{padding:60px 24px 28px;max-width:92vw;max-height:88dvh}.modal-title{font-size:1.5rem}.modal-body{font-size:1rem}
  .modal-label,.modal-subtitle,.modal-tag,.modal-link{font-size:.75rem}
  .modal-close{top:12px;right:12px}
  .lightbox-img{max-width:calc(100vw - 40px);max-height:calc(100dvh - 260px)}
  .lightbox-caption{bottom:24px;max-height:155px;width:86vw}.lightbox-caption-title{font-size:1rem}
  .lightbox-caption-desc{font-size:.8125rem}.lightbox-counter{top:30px}
  .lightbox-close{top:16px;right:16px}.lightbox-prev{left:8px}.lightbox-next{right:8px}
  .vol-control{position:relative;bottom:auto;right:auto;z-index:1;width:max-content;margin:20px auto 0}.contact-item-label{font-size:.75rem}.contact-item-value{font-size:1rem}
  footer span,.footer-links a{font-size:.6875rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .hero-tag,.hero-title,.hero-sub,.reveal,.reveal-left{opacity:1!important;transform:none!important}
  .typing-line{width:auto!important;border:0!important}
  .cursor-star,.sparkle-trail{display:none}body,a,button{cursor:auto}
}
