*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,"Helvetica Neue","Noto Sans KR",sans-serif;letter-spacing:-.02em}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}img{display:block;width:100%}::selection{background:var(--accent);color:#050505}
.site-header{position:fixed;z-index:100;top:0;left:var(--page-pad);right:var(--page-pad);height:var(--header-height);display:flex;align-items:center;border-bottom:1px solid var(--line);transition:background var(--transition),transform var(--transition)}.site-header.scrolled{background:rgba(5,5,5,.88);backdrop-filter:blur(16px)}.logo{width:158px;display:block}.logo img{filter:brightness(0) invert(1)}.site-nav{margin-left:auto;display:flex;gap:clamp(26px,4vw,68px);align-items:center}.site-nav a{font-size:11px;color:#777;text-transform:uppercase;transition:color .25s}.site-nav a:hover,.site-nav a.active{color:#fff}.menu-button{display:none;margin-left:auto;background:none;border:0;padding:10px 0;font-size:11px}
main{overflow:hidden}.page-section{position:relative;padding:calc(var(--header-height) + 55px) var(--page-pad) var(--section-space);max-width:calc(var(--max-width) + var(--page-pad)*2);margin:0 auto}.page-section:after{content:"";position:absolute;bottom:0;left:var(--page-pad);right:var(--page-pad);height:1px;background:var(--line)}.page-index{position:fixed;z-index:90;right:var(--page-pad);bottom:35px;color:#777;font-size:10px;letter-spacing:.08em}.section-kicker{display:flex;align-items:center;gap:15px;color:#8e8e89;font-size:11px;font-weight:700;text-transform:uppercase}.section-kicker i,.accent-label i{display:block;width:12px;height:12px;background:var(--accent);flex:0 0 auto}.section-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:8vw;align-items:end;margin-bottom:70px}.section-heading h2,.partners h2,.contact h2{font-size:var(--section-title);line-height:1.02;margin:28px 0 0;letter-spacing:-.055em}.section-heading>p,.partners-desc,.contact>p{margin:0 0 8px;color:var(--muted);font-size:clamp(16px,1.25vw,21px);line-height:1.55;max-width:620px}
.hero{height:100svh;min-height:720px;max-width:none;padding-top:var(--header-height);display:flex;align-items:center}.hero-ambient{position:absolute;inset:0;background-position:center;background-size:cover;opacity:.15;filter:grayscale(1) contrast(1.35);transform:scale(1.02)}.hero-ambient:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.98) 47%,rgba(5,5,5,.72) 72%,#050505 100%),linear-gradient(0deg,#050505 0%,transparent 38%,#050505 100%)}.hero-content{position:relative;width:100%;padding-top:4vh}.hero h1{font-size:var(--hero-title);line-height:1.03;letter-spacing:-.06em;margin:0;max-width:1500px;font-weight:800}.hero p{color:#aaa9a4;font-size:clamp(17px,1.36vw,23px);line-height:1.55;max-width:610px;margin:clamp(64px,9vh,118px) 0 0}.hero-bottom{margin-top:clamp(58px,9vh,110px);display:flex;flex-direction:column;gap:66px}.accent-label{display:flex;gap:18px;align-items:center;font-size:10px;color:#9a9994;font-weight:700}.text-link{font-size:11px;font-weight:700;width:max-content}.text-link b{font-size:15px;margin-left:8px}.text-link:hover{color:var(--accent)}
.about-main{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(440px,1.08fr);gap:7vw;margin-top:46px;align-items:end}.about-copy h2{font-size:var(--section-title);line-height:1.04;letter-spacing:-.05em;margin:0 0 64px}.about-copy h3{font-size:clamp(18px,1.6vw,28px);line-height:1.3;margin:0 0 42px;max-width:650px}.about-copy p{font-size:clamp(15px,1.12vw,19px);line-height:1.55;color:var(--muted);max-width:650px}.about-image{margin:0;aspect-ratio:4/3;overflow:hidden;background:#111}.about-image img{height:100%;object-fit:cover;filter:grayscale(1) sepia(.12) contrast(1.05);transition:filter var(--transition),transform 1s ease}.about-image:hover img{filter:grayscale(.25);transform:scale(1.025)}.service-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid var(--line)}.service-item{padding:38px 28px 10px 0;min-height:155px;border-right:1px solid var(--line)}.service-item:not(:first-child){padding-left:28px}.service-item:last-child{border-right:0}.service-item small{color:#777;font-size:10px}.service-item strong{display:block;font-size:12px;margin:32px 0 20px}.service-item span{color:#8d8d88;font-size:16px}
.reel-copy{margin:30px 0 38px}.reel-copy h2{font-size:clamp(35px,3.8vw,66px);line-height:1.08;margin:0 0 25px}.reel-copy p{color:var(--muted);font-size:clamp(16px,1.2vw,20px);line-height:1.5}.reel-frame{position:relative;display:block;width:100%;padding:0;border:1px solid #6b6b66;background:#111;aspect-ratio:16/5.2;overflow:hidden;cursor:pointer}.reel-frame img{height:100%;object-fit:cover;filter:grayscale(1) brightness(.7) contrast(1.15);transition:transform 1s ease,filter var(--transition)}.reel-frame:hover img{transform:scale(1.018);filter:grayscale(.5) brightness(.78)}.reel-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:184px;height:96px;border:1px solid rgba(255,255,255,.75);font-size:11px;font-weight:700;background:rgba(5,5,5,.2);backdrop-filter:blur(5px)}.reel-frame:hover .reel-play{background:var(--accent);color:#050505;border-color:var(--accent)}.reel-tags{font-size:10px;font-weight:700;margin-top:24px}
.work-grid{display:grid;grid-template-columns:repeat(var(--poster-columns),minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.work-card{background:var(--bg);position:relative;cursor:pointer;min-width:0}.work-image{aspect-ratio:var(--poster-ratio);overflow:hidden}.work-image img{height:100%;object-fit:cover;filter:grayscale(1) brightness(.75);transition:filter var(--transition),transform .8s ease}.work-card:hover img{filter:grayscale(0) brightness(1);transform:scale(1.025)}.work-meta{padding:22px 18px 28px;min-height:114px}.work-meta span{font-size:9px;color:#7f7f7a}.work-meta h3{font-size:18px;margin:18px 0 0;font-weight:500}
.xr-heading{margin-bottom:95px}.xr-list{display:flex;flex-direction:column;gap:clamp(120px,13vw,210px)}.xr-project{position:relative}.xr-project-head{display:grid;grid-template-columns:130px 1fr minmax(260px,500px);gap:34px;align-items:end;margin-bottom:34px}.xr-project-head .number{font-size:11px;color:#777}.xr-project-head h3{font-size:var(--xr-title);line-height:1;margin:0;letter-spacing:-.045em}.xr-project-head h3 small{display:block;color:var(--accent);font-size:11px;letter-spacing:.08em;margin-bottom:24px}.xr-project-copy{font-size:15px;line-height:1.55;color:var(--muted);margin:0}.xr-project-copy strong{display:block;color:#e8e8e4;font-size:10px;letter-spacing:.05em;margin-bottom:18px}.xr-main{position:relative;aspect-ratio:var(--xr-main-ratio);overflow:hidden;background:#101010;cursor:pointer;border:1px solid #282825}.xr-main img,.xr-gallery figure img{height:100%;object-fit:cover;transition:transform 1.1s ease,filter var(--transition)}.xr-main:after,.xr-gallery figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.32));pointer-events:none}.xr-main:hover img,.xr-gallery figure:hover img{transform:scale(1.018)}.xr-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-top:0}.xr-gallery figure{position:relative;margin:0;aspect-ratio:var(--xr-gallery-ratio);overflow:hidden;background:#101010;cursor:pointer}.xr-gallery figcaption{position:absolute;z-index:2;left:20px;bottom:18px;font-size:9px;font-weight:700;letter-spacing:.08em}.xr-main .image-code{position:absolute;z-index:2;left:22px;top:20px;color:#fff;font-size:9px;letter-spacing:.08em}.xr-project:nth-child(even) .xr-project-head{grid-template-columns:minmax(260px,500px) 1fr 130px}.xr-project:nth-child(even) .number{order:3;text-align:right}.xr-project:nth-child(even) .xr-project-title{order:2;text-align:right}.xr-project:nth-child(even) .xr-project-copy{order:1}
.partners h2{margin-top:50px}.partners-desc{margin-top:20px}.partner-grid{margin-top:58px;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.partner-item{aspect-ratio:2.05/1;display:flex;align-items:center;justify-content:center;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:clamp(14px,1.65vw,27px);font-weight:800;padding:20px;letter-spacing:-.04em;transition:background var(--transition),color var(--transition)}.partner-item:hover{background:#f2f2ef;color:#050505}.partner-item small{position:absolute}
.contact{min-height:100svh;display:flex;flex-direction:column;justify-content:center}.contact h2{margin-top:50px}.contact>p{margin-top:30px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:38px 64px;margin-top:80px}.contact-form label{display:flex;flex-direction:column;gap:14px}.contact-form label.wide{grid-column:1/-1}.contact-form span{font-size:10px;color:#777;font-weight:700}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid #555;background:transparent;padding:13px 0;outline:none;border-radius:0;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-form button{grid-column:1/-1;width:max-content;background:none;border:0;padding:16px 0;border-bottom:1px solid #fff;font-size:11px;font-weight:700;cursor:pointer}.contact-form button:hover{color:var(--accent);border-color:var(--accent)}.contact-meta{margin-top:75px;padding-top:28px;border-top:1px solid var(--line);display:flex;gap:40px;flex-wrap:wrap;font-size:11px;color:#a1a19d}.contact-meta a:hover{color:var(--accent)}
footer{padding:25px var(--page-pad);display:flex;justify-content:space-between;color:#666;font-size:9px;max-width:calc(var(--max-width) + var(--page-pad)*2);margin:0 auto}.lightbox,.video-modal{position:fixed;z-index:200;inset:0;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:5vw}.lightbox.open,.video-modal.open{display:flex}.lightbox>button,.video-modal>button{position:absolute;right:28px;top:20px;background:none;border:0;color:#fff;font-size:34px;cursor:pointer}.lightbox img{max-width:92vw;max-height:84vh;width:auto}.lightbox-caption{position:absolute;left:5vw;bottom:3vw;font-size:12px}.video-modal #videoFrame{width:min(1200px,90vw);aspect-ratio:16/9}.video-modal video,.video-modal iframe{width:100%;height:100%;border:0;background:#000}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1180px){:root{--poster-columns:3}.xr-project-head,.xr-project:nth-child(even) .xr-project-head{grid-template-columns:80px 1fr}.xr-project-copy,.xr-project:nth-child(even) .xr-project-copy{grid-column:2;order:3}.xr-project:nth-child(even) .number{order:1;text-align:left}.xr-project:nth-child(even) .xr-project-title{order:2;text-align:left}.partner-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){:root{--header-height:72px;--page-pad:22px;--poster-columns:2;--section-space:100px;--xr-main-ratio:16/10}.menu-button{display:block}.site-nav{position:fixed;inset:0;background:#050505;padding:120px var(--page-pad);display:none;flex-direction:column;align-items:flex-start;gap:30px}.site-nav.open{display:flex}.site-nav a{font-size:28px;color:#fff}.hero{min-height:760px}.hero h1{font-size:clamp(46px,14vw,76px)}.hero p{margin-top:55px}.hero-bottom{gap:45px}.section-heading{grid-template-columns:1fr;gap:30px}.about-main{grid-template-columns:1fr;gap:55px}.about-image{order:-1}.about-copy h2{margin-bottom:42px}.service-strip{grid-template-columns:1fr 1fr}.service-item:nth-child(2){border-right:0}.service-item{border-bottom:1px solid var(--line)}.reel-frame{aspect-ratio:16/9}.reel-play{width:140px;height:76px}.xr-project-head,.xr-project:nth-child(even) .xr-project-head{grid-template-columns:48px 1fr;gap:20px}.xr-project-copy,.xr-project:nth-child(even) .xr-project-copy{grid-column:1/-1}.xr-gallery{grid-template-columns:1fr}.partner-grid{grid-template-columns:1fr 1fr}.contact-form{grid-template-columns:1fr;gap:32px}.contact-form label.wide,.contact-form button{grid-column:auto}.contact-meta{flex-direction:column;gap:15px}.page-index{display:none}footer{flex-direction:column;gap:10px}}
@media(max-width:480px){:root{--poster-columns:2}.logo{width:135px}.work-meta{padding:15px 12px 20px}.work-meta h3{font-size:15px}.service-strip{grid-template-columns:1fr}.service-item{border-right:0}.partner-item{font-size:14px}.xr-project-head h3{font-size:38px}.xr-main{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* 2026-07 layout refinement: header/hero spacing, scan-result gallery, balanced reel mosaic */
.hero{
  align-items:flex-start;
  padding-top:calc(var(--header-height) + clamp(56px,8vh,104px));
}
.hero-content{padding-top:0}
.hero h1{position:relative;z-index:1}

.studio-showcase{margin-top:clamp(68px,8vw,118px);padding-top:30px;border-top:1px solid var(--line)}
.studio-showcase-head{display:grid;grid-template-columns:minmax(220px,.62fr) minmax(300px,1.38fr);gap:5vw;align-items:start;margin-bottom:30px}
.studio-showcase-head>span{font-size:11px;font-weight:700;letter-spacing:.04em}
.studio-showcase-head>p{margin:0;color:var(--muted);font-size:14px;line-height:1.6;max-width:600px}
.studio-gallery{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.studio-card{margin:0;background:#0a0a0a;cursor:pointer;min-width:0}
.studio-media{height:clamp(340px,34vw,520px);display:grid;place-items:center;overflow:hidden;background:#0b0b0b;padding:clamp(18px,2.2vw,34px)}
.studio-media img{width:100%;height:100%;filter:grayscale(1) contrast(1.05);transition:filter var(--transition),transform .8s ease}
.studio-card:hover .studio-media img{filter:grayscale(.15);transform:scale(1.015)}
.studio-card figcaption{display:grid;grid-template-columns:38px 1fr;gap:18px;border-top:1px solid var(--line);padding:22px 24px 24px}
.studio-card figcaption small{color:#70706c;font-size:10px}
.studio-card figcaption strong{display:block;font-size:12px;letter-spacing:.02em}
.studio-card figcaption span{display:block;margin-top:8px;color:#888884;font-size:13px;line-height:1.45}

.reel-frame{aspect-ratio:16/6.35}
.reel-mosaic{position:absolute;inset:0;display:grid;grid-template-columns:1.08fr .84fr 1.08fr;gap:1px;background:#343430}
.reel-shot{position:relative;min-width:0;overflow:hidden;background:#111}
.reel-shot img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.68) contrast(1.12);transition:transform 1s ease,filter var(--transition)}
.reel-shot b{position:absolute;left:18px;bottom:15px;color:rgba(255,255,255,.68);font-size:9px;letter-spacing:.06em;z-index:2}
.reel-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.35),transparent 28%,transparent 72%,rgba(0,0,0,.35)),linear-gradient(0deg,rgba(0,0,0,.28),transparent 45%);pointer-events:none}
.reel-frame:hover .reel-shot img{transform:scale(1.018);filter:grayscale(.28) brightness(.78)}
.reel-play{z-index:3;width:174px;height:88px}

@media(max-width:820px){
  .hero{padding-top:calc(var(--header-height) + 54px)}
  .studio-showcase-head{grid-template-columns:1fr;gap:12px}
  .studio-gallery{grid-template-columns:1fr}
  .studio-media{height:auto;min-height:320px;aspect-ratio:4/3}
  .reel-frame{aspect-ratio:16/9}
  .reel-mosaic{grid-template-columns:1.05fr .95fr}
  .reel-shot-3{display:none}
}
