body.modal-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
.projects-loading { color: var(--muted); padding: 80px 0 140px; }
.project-open { display: block; width: 100%; padding: 0; border: 0; color: inherit; text-align: left; cursor: pointer; background: transparent; }
.project-open video { width: 100%; height: 100%; object-fit: cover; }
.contact-actions > a, .contact-actions > button { display: grid; grid-template-columns: 120px 1fr auto; align-items: center; width: 100%; gap: 18px; padding: 19px 0; border: 0; border-top: 1px solid var(--line); color: inherit; text-align: left; cursor: pointer; background: transparent; transition: color .2s, padding .2s; }
.contact-actions > button { border-bottom: 1px solid var(--line); }
.contact-actions > a:hover, .contact-actions > button:hover { color: var(--acid); padding-left: 7px; padding-right: 7px; }
.contact-actions span { color: var(--muted); font-size: .58rem; letter-spacing: .14em; }
.contact-actions strong { font-size: clamp(.75rem,1.2vw,1rem); font-weight: 400; letter-spacing: .06em; }
.contact-actions b { font-size: 1rem; font-weight: 400; }
.instagram-row { display: grid; grid-template-columns: 120px 1fr; align-items: start; gap: 18px; padding: 19px 0; border-top: 1px solid var(--line); }
.instagram-row > span { padding-top: 3px; }
.instagram-accounts { display: grid; gap: 14px; }
.instagram-accounts a { display: flex; align-items: center; justify-content: space-between; padding: 0; border: 0; color: inherit; transition: color .2s; }
.instagram-accounts a:hover { color: var(--acid); }
.project-modal[hidden], .inquiry-modal[hidden] { display: none; }
.project-modal, .inquiry-modal { position: fixed; z-index: 200; inset: 0; display: grid; place-items: center; padding: clamp(12px,3vw,46px); }
.modal-backdrop { position: absolute; inset: 0; border: 0; cursor: zoom-out; background: rgba(0,0,0,.9); backdrop-filter: blur(15px); }
.project-modal-panel { position: relative; display: grid; grid-template-columns: minmax(0,1.65fr) minmax(310px,.72fr); width: min(1480px,100%); max-height: calc(100svh - 34px); overflow: auto; background: #0b0b0b; box-shadow: 0 30px 110px rgba(0,0,0,.7); }
.modal-close { position: absolute; z-index: 4; top: 18px; right: 18px; display: grid; place-items: center; width: 45px; height: 45px; padding: 0; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; color: #fff; cursor: pointer; background: rgba(0,0,0,.35); font-size: 1.55rem; }
.modal-gallery { position: relative; min-height: min(75svh,830px); background: #020202; }
#modal-media, #modal-media img, #modal-media video { width: 100%; height: 100%; min-height: inherit; object-fit: contain; }
.modal-prev, .modal-next { position: absolute; top: 50%; display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; color: #fff; cursor: pointer; background: rgba(0,0,0,.35); transform: translateY(-50%); }
.modal-prev { left: 20px; }.modal-next { right: 20px; }
#modal-count { position: absolute; right: 22px; bottom: 18px; font-size: .62rem; letter-spacing: .18em; }
.modal-info { display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(50px,5vw,88px) clamp(28px,3.4vw,58px); }
#modal-type { color: var(--acid); font-size: .62rem; letter-spacing: .16em; }
.modal-info h2 { margin: 25px 0; font-size: clamp(2.4rem,3.6vw,4.8rem); font-weight: 500; line-height: .95; letter-spacing: -.06em; }
#modal-description { color: var(--muted); font-family: 'Noto Sans KR',sans-serif; line-height: 1.9; white-space: pre-line; }
#modal-description a { color: #fff; text-decoration: underline; text-decoration-color: var(--acid); text-underline-offset: 4px; transition: color .2s; }
#modal-description a:hover { color: var(--acid); }
#modal-dots { display: flex; gap: 8px; margin-top: 40px; }
#modal-dots button { width: 28px; height: 2px; padding: 0; border: 0; cursor: pointer; background: #4a4a4a; }
#modal-dots button.active { background: var(--acid); }
#modal-tools { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }
#modal-tools[hidden] { display: none; }
#modal-tools span { padding: 8px 12px; border: 1px solid #4a4d49; border-radius: 7px; color: #d8dad5; background: rgba(255,255,255,.045); font-family: Arial,sans-serif; font-size: .68rem; letter-spacing: .035em; line-height: 1; }
.inquiry-panel { position: relative; display: grid; grid-template-columns: minmax(310px,.75fr) minmax(520px,1.25fr); gap: clamp(45px,7vw,120px); width: min(1280px,100%); max-height: calc(100svh - 34px); overflow: auto; padding: clamp(50px,6vw,96px); background: #0b0b0b; box-shadow: 0 30px 110px rgba(0,0,0,.7); }
.inquiry-heading>p { color: var(--acid); font-size: .62rem; letter-spacing: .18em; }
.inquiry-heading h2 { margin: 32px 0; font-family: 'Noto Sans KR',sans-serif; font-size: clamp(2.8rem,5.5vw,6rem); font-weight: 400; line-height: 1.05; letter-spacing: -.06em; }
.inquiry-heading span { color: var(--muted); font-family: 'Noto Sans KR',sans-serif; line-height: 1.8; }
.inquiry-panel form { align-self: end; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 22px; }
.inquiry-panel label { display: grid; gap: 8px; color: var(--muted); font-size: .66rem; letter-spacing: .08em; }
.inquiry-panel input, .inquiry-panel select, .inquiry-panel textarea { width: 100%; border: 0; border-bottom: 1px solid var(--line); outline: 0; color: #fff; background: transparent; }
.inquiry-panel input, .inquiry-panel select { height: 43px; }.inquiry-panel select option { color: #111; }.inquiry-panel textarea { padding: 12px 0; resize: vertical; }
.form-message { margin-top: 28px; }.form-consent { display: flex!important; align-items: center; margin-top: 20px; }.form-consent input { width: 15px; height: 15px; }
.form-submit { display: flex; justify-content: space-between; width: 100%; margin-top: 28px; padding: 20px 0; border: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: #fff; cursor: pointer; background: transparent; }
#form-status { min-height: 22px; color: var(--acid); font-size: .75rem; }
@media(max-width:760px){.contact-actions>a,.contact-actions>button{grid-template-columns:88px 1fr auto}.instagram-row{grid-template-columns:88px 1fr}.project-modal-panel,.inquiry-panel{grid-template-columns:1fr}.modal-gallery{min-height:48svh}.modal-info{min-height:310px}.inquiry-panel{gap:40px;padding:60px 24px 34px}.form-grid{grid-template-columns:1fr}}
