.home-page { --home-paper:#f3f1e8; --home-coral:#ff5d40; --home-muted:#a8a9ad; background:#0f1012; color:var(--home-paper); font-family:"Pretendard","Malgun Gothic",system-ui,sans-serif; padding:26px 0 28px; }
.home-page a:focus-visible,.home-page video:focus-visible { outline:2px solid var(--home-coral); outline-offset:6px; }
.home-skip { position:fixed; top:-100px; left:20px; z-index:10; padding:12px 20px; background:var(--home-paper); color:#0f1012; }
.home-skip:focus { top:12px; }
.home-masthead { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:22px; border-bottom:1px solid var(--border-color); }
.home-brand { flex:0 0 auto; width:158px; }
.home-brand img { width:100%; height:auto; }
.home-masthead .top-nav { width:auto; margin:0; gap:6px; flex-wrap:nowrap; }
.home-masthead .nav-link { padding:9px 16px; }
.home-masthead .nav-link span { font-size:14px; }
.home-masthead .nav-link.active { border-color:var(--border-strong); }
.home-hero { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); align-items:center; gap:52px; padding:64px 0 68px; }
.home-eyebrow { margin-bottom:18px; color:var(--home-muted); font-size:11px; font-weight:600; letter-spacing:.1em; }
.home-intro h1 { margin-bottom:24px; font-size:clamp(36px,4.2vw,55px); font-weight:700; line-height:1.28; letter-spacing:-.055em; word-break:keep-all; }
.home-intro h1 span { display:block; }
.home-lead { max-width:365px; color:#bfc0c3; font-size:15px; line-height:1.9; word-break:keep-all; }
.home-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:28px; }
.home-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:12px 20px; border-radius:8px; background:var(--home-coral); color:#0f1012; font-size:14px; font-weight:750; }
.home-button:hover { background:#ff735b; transform:translateY(-2px); }
.home-secondary { display:inline-flex; align-items:center; gap:13px; padding:10px 0; font-size:13px; color:var(--home-paper); white-space:nowrap; }
.home-secondary:hover { color:var(--home-coral); }
.home-disciplines { margin-top:32px; color:#a0a1a6; font-size:10px; font-weight:600; letter-spacing:.05em; }
.home-disciplines span { padding:0 8px; color:var(--home-coral); }
.home-reel { min-width:0; scroll-margin-top:28px; }
.home-reel-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:14px; }
.home-reel-heading h2 { font-size:16px; font-weight:600; letter-spacing:-.02em; }
.home-reel-heading h2 span { margin-left:5px; color:var(--home-muted); font-weight:400; }
.home-reel-length { color:#babcc0; font:11px/1.4 ui-monospace,monospace; white-space:nowrap; }
.home-reel-length span { padding:0 5px; color:var(--home-coral); }
.home-player { overflow:hidden; aspect-ratio:16/9; border:1px solid var(--border-strong); border-radius:14px; background:#0c0e11; box-shadow:0 18px 50px #0004; }
.home-player video { width:100%; height:100%; object-fit:contain; }
.home-reel-caption { display:flex; justify-content:space-between; gap:16px; margin-top:13px; }
.home-reel-caption p { color:var(--home-muted); font-size:12px; line-height:1.7; word-break:keep-all; }
.home-reel-caption a { flex:0 0 auto; color:#bfc0c3; font-size:11px; padding-top:1px; }
.home-reel-caption a:hover { color:var(--home-coral); }
.home-reel-status { color:var(--home-muted); margin-top:10px; font-size:13px; }
.home-page section+section { margin-top:0; }
.home-works { padding:48px 0 70px; border-top:1px solid var(--border-color); scroll-margin-top:32px; }
.home-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:30px; }
.home-section-heading .home-eyebrow { margin-bottom:10px; }
.home-section-heading h2,.home-about h2 { font-size:clamp(24px,2.5vw,32px); font-weight:650; letter-spacing:-.045em; line-height:1.4; word-break:keep-all; }
.home-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 24px; }
.home-project { min-width:0; }
.home-project>a { display:block; }
.home-project-image { position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:10px; border:1px solid var(--border-color); background:#0c0e11; }
.home-project-image img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease,opacity .4s ease; }
.home-duration { position:absolute; right:10px; bottom:10px; padding:3px 7px; border-radius:4px; background:#0c0e11e8; color:var(--home-paper); font:11px/1.5 ui-monospace,monospace; }
.home-project-arrow { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:#0c0e1166; color:var(--home-paper); font-size:44px; opacity:0; transition:opacity .25s ease; }
.home-project a:hover img { transform:scale(1.035); }
.home-project a:hover .home-project-arrow,.home-project a:focus-visible .home-project-arrow { opacity:1; }
.home-project-label { display:flex; justify-content:space-between; gap:8px; margin-top:15px; color:#b3b4b8; font-size:10px; font-weight:550; letter-spacing:.055em; }
.home-project-label>span:last-child { color:var(--home-coral); font-size:15px; line-height:1; }
.home-project h3 { margin:6px 0; color:var(--home-paper); font-size:20px; font-weight:650; letter-spacing:-.025em; line-height:1.35; }
.home-project p { color:#b5b6ba; font-size:13px; line-height:1.6; word-break:keep-all; }
.home-about { display:flex; align-items:center; justify-content:space-between; gap:48px; padding:40px 0; border-top:1px solid var(--border-color); border-bottom:1px solid var(--border-color); }
.home-about .home-eyebrow { margin-bottom:10px; }
.home-about h2 { font-size:26px; }
.home-about p:last-child { margin-top:10px; color:#b5b6ba; font-size:14px; line-height:1.8; word-break:keep-all; }
.home-about-link { flex:0 0 auto; display:flex; align-items:center; gap:50px; min-height:48px; padding:10px 0 10px 20px; font-size:14px; }
.home-about-link span { color:var(--home-coral); font-size:22px; }
.home-about-link:hover { color:var(--home-coral); }
.home-footer { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-top:26px; font-size:11px; color:#a0a1a6; }
.home-footer-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:10px 24px; }
.home-footer .home-footer-contact { color:var(--home-paper); text-decoration:underline; text-underline-offset:5px; }
.home-footer .home-footer-contact:hover { color:var(--home-coral); }
.home-footer p span { margin-left:12px; }
.home-footer a { color:#b5b6ba; }
.home-footer a span { padding-left:8px; color:var(--home-coral); }
@media(max-width:1000px) {
  .home-hero { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:28px; padding-top:48px; padding-bottom:48px; }
  .home-intro h1 { font-size:40px; }
  .home-lead { font-size:14px; }
  .home-actions { gap:12px; }
  .home-button { padding:11px 16px; }
  .home-reel-caption { flex-wrap:wrap; gap:6px 16px; }
  .home-project-grid { gap:30px 18px; }
  .home-project h3 { font-size:18px; }
}
@media(max-width:760px) {
  .home-page { padding-top:18px; }
  .home-hero { grid-template-columns:1fr; gap:36px; padding:38px 0 42px; }
  .home-intro h1 { font-size:clamp(38px,7vw,50px); margin-bottom:18px; }
  .home-lead { max-width:540px; font-size:15px; }
  .home-actions { margin-top:22px; gap:22px; }
  .home-disciplines { display:none; }
  .home-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 18px; }
  .home-works { padding-top:36px; padding-bottom:42px; }
  .home-about { gap:24px; padding:30px 0; }
  .home-about-link { gap:18px; padding-left:0; }
}
@media(max-width:480px) {
  .home-masthead { gap:10px; padding-bottom:16px; }
  .home-brand { width:120px; }
  .home-masthead .top-nav { gap:2px; }
  .home-masthead .nav-link { padding:7px 9px; }
  .home-masthead .nav-link span { font-size:12px; }
  .home-eyebrow { font-size:10px; }
  .home-reel-caption p { font-size:11px; }
  .home-section-heading { align-items:flex-start; flex-direction:column; gap:8px; margin-bottom:22px; }
  .home-section-heading h2 { font-size:27px; }
  .home-section-heading .home-secondary { padding:4px 0; }
  .home-project-grid { grid-template-columns:1fr; gap:30px; }
  .home-project h3 { font-size:22px; }
  .home-project-label { font-size:11px; }
  .home-project p { font-size:14px; }
  .home-about { align-items:flex-start; flex-direction:column; gap:15px; }
  .home-about h2 { font-size:24px; }
  .home-about-link { justify-content:space-between; width:100%; }
  .home-footer { align-items:flex-start; font-size:10px; }
  .home-footer p span { display:block; margin:4px 0 0; }
}
@media(max-width:360px) {
  .home-brand { width:100px; }
  .home-masthead .nav-link { padding:7px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .home-page *,.home-page *::before,.home-page *::after { transition:none!important; }
}
