*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f2efe8;color:#181714;font-family:"Noto Sans KR",sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:#171613;color:#fff}.site-header{position:fixed;top:0;left:0;right:0;height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 3.2vw;z-index:30;color:#fff;mix-blend-mode:difference}.brand{display:flex;align-items:baseline;gap:10px;width:max-content}.brand-en{font-family:"DM Serif Display",serif;font-size:30px;letter-spacing:.04em}.brand-ko{font-size:10px;letter-spacing:.08em;opacity:.72}.desktop-nav{display:flex;gap:34px;font-size:10px;letter-spacing:.16em}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:currentColor;transition:.25s}.desktop-nav a:hover:after{right:0}.header-actions{justify-self:end;display:flex;align-items:center;gap:18px}.booking-link{border:1px solid currentColor;border-radius:999px;padding:10px 15px;font-size:10px;letter-spacing:.12em}.menu-btn{width:38px;height:38px;border:0;background:none;color:inherit;display:grid;align-content:center;gap:6px;cursor:pointer;padding:8px}.menu-btn span{display:block;width:22px;height:1px;background:currentColor;margin:auto}.hero{position:relative;min-height:100svh;background:#11100e;color:#fff;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.88);animation:heroIn 1.2s ease both}.hero-placeholder{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 72% 26%,#6f6556 0,transparent 25%),radial-gradient(circle at 20% 80%,#4b433a 0,transparent 28%),linear-gradient(128deg,#292620,#0f0f0e 72%)}.hero-placeholder-mark{font-family:"DM Serif Display",serif;font-size:42vw;line-height:1;color:rgba(255,255,255,.035);transform:translateY(-2vw)}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.56) 0%,rgba(0,0,0,.08) 68%),linear-gradient(0deg,rgba(0,0,0,.4),transparent 42%);pointer-events:none}.hero-top-note{position:absolute;top:112px;left:7vw;right:7vw;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.2em;opacity:.67}.hero-copy{position:absolute;left:7vw;bottom:11vh;z-index:2;max-width:1100px}.eyebrow{margin:0 0 20px;font-size:10px;letter-spacing:.2em;font-weight:600}.eyebrow.light{color:rgba(255,255,255,.7)}.hero h1{font-family:"DM Serif Display","Noto Sans KR",serif;font-weight:400;font-size:clamp(50px,7.4vw,116px);line-height:.96;letter-spacing:-.035em;margin:0}.hero h1 em,.studio-title h2 em,.contact-section h2 em{font-weight:400;font-style:italic;opacity:.84}.hero-desc{margin:28px 0 0;font-size:13px;letter-spacing:.02em;color:rgba(255,255,255,.7)}.hero-links{display:flex;gap:26px;margin-top:34px}.hero-cta{font-size:11px;letter-spacing:.12em;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:7px}.hero-cta span{margin-left:18px}.hero-cta.subtle{opacity:.66}.scroll-note{position:absolute;right:3.2vw;bottom:10vh;writing-mode:vertical-rl;font-size:8px;letter-spacing:.2em;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.55)}.scroll-note span{display:block;width:1px;height:48px;background:rgba(255,255,255,.4)}@keyframes heroIn{from{opacity:.35;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}.intro-band{min-height:280px;padding:74px 7vw;display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:30px;border-bottom:1px solid #d7d1c7}.intro-band p,.intro-band span{font-size:9px;letter-spacing:.16em;color:#777168}.intro-band strong{font-family:"DM Serif Display","Noto Sans KR",serif;font-weight:400;font-size:clamp(28px,3.1vw,48px);line-height:1.25}.section{position:relative;padding:150px 7vw}.section-number{position:absolute;top:42px;right:3.2vw;font-family:"DM Serif Display",serif;font-size:12px}.section-head{display:grid;grid-template-columns:1.3fr .7fr;gap:10vw;align-items:end;margin-bottom:66px}.section-head h2,.studio-title h2,.location-main h2,.contact-section h2{font-family:"DM Serif Display","Noto Sans KR",serif;font-size:clamp(48px,5.5vw,82px);font-weight:400;letter-spacing:-.035em;line-height:1.02;margin:0}.section-description{max-width:440px;font-size:13px;line-height:2;color:#6f6a61;margin:0 0 4px}.service-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.service-card{position:relative;min-height:510px;overflow:hidden;background:#d8d3c9;cursor:pointer}.service-card:nth-child(4n+1),.service-card:nth-child(4n+4){grid-column:span 7}.service-card:nth-child(4n+2),.service-card:nth-child(4n+3){grid-column:span 5}.service-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.service-card:hover img{transform:scale(1.025);filter:saturate(.88)}.service-card .placeholder{position:absolute;inset:0}.service-overlay{position:absolute;inset:auto 0 0;padding:90px 26px 24px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.62))}.service-overlay small{display:block;font-size:9px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:7px;opacity:.72}.service-overlay strong{font-family:"DM Serif Display","Noto Sans KR",serif;font-weight:400;font-size:32px}.works-section{padding-top:160px;background:#e8e4dc}.work-head{align-items:end}.work-controls{align-self:end}.work-controls>p{font-size:11px;line-height:1.8;color:#797268;max-width:360px;margin:0 0 26px}.filter-chips{display:flex;gap:7px;flex-wrap:wrap}.chip{border:1px solid #c5bfb5;border-radius:999px;background:transparent;padding:9px 13px;cursor:pointer;font-size:9px;letter-spacing:.08em;transition:.2s}.chip:hover,.chip.active{background:#181714;color:white;border-color:#181714}.gallery{columns:3 300px;column-gap:15px}.gallery-item{break-inside:avoid;margin:0 0 15px;position:relative;overflow:hidden;background:#d5d0c7;cursor:pointer}.gallery-item img{width:100%;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.gallery-item:hover img{transform:scale(1.018);filter:saturate(.85)}.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:70px 17px 16px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.58));opacity:0;transition:opacity .25s}.gallery-item:hover .gallery-caption{opacity:1}.gallery-caption small{display:block;letter-spacing:.15em;font-size:8px;text-transform:uppercase;margin-bottom:4px}.gallery-caption strong{font-size:12px;font-weight:500}.empty-state{padding:130px 0;text-align:center;border-top:1px solid #ccc5ba;border-bottom:1px solid #ccc5ba}.empty-state span{display:block;font-size:9px;letter-spacing:.18em;color:#8b857d}.empty-state strong{display:block;margin-top:14px;font-family:"DM Serif Display","Noto Sans KR",serif;font-size:28px;font-weight:400}.studio-section{position:relative;padding:160px 7vw;background:#171613;color:#f2efe8;display:grid;grid-template-columns:1.1fr .9fr;gap:11vw}.studio-title .section-number{position:static;display:block;margin-bottom:64px}.light-number{color:rgba(255,255,255,.5)}.studio-copy{align-self:end;padding-top:120px}.studio-lead{font-family:"DM Serif Display","Noto Sans KR",serif;font-size:clamp(25px,2.4vw,38px)!important;line-height:1.45!important;color:#fff!important;letter-spacing:-.02em}.studio-copy>p{font-size:13px;line-height:2;color:#aaa49a}.studio-facts{margin:58px 0 0;border-top:1px solid #3e3b36}.studio-facts div{display:grid;grid-template-columns:130px 1fr;padding:16px 0;border-bottom:1px solid #3e3b36}.studio-facts dt{font-size:8px;letter-spacing:.18em;color:#77736c}.studio-facts dd{margin:0;font-size:12px}.location-section{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;min-height:720px;background:#f2efe8}.location-main{padding:150px 7vw;position:relative}.location-main .section-number{right:auto;left:7vw;top:42px}.location-main address{font-style:normal;margin-top:46px;font-size:18px;line-height:1.8}.location-main address span{font-size:12px;color:#79736a}.location-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:32px}.round-button{display:inline-block;border:1px solid #bdb7ad;border-radius:999px;padding:13px 17px;font-size:10px;letter-spacing:.06em}.round-button.dark{background:#181714;color:#fff;border-color:#181714}.location-card{position:relative;overflow:hidden;background:#d8d1c4;min-height:720px}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(50,46,40,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(50,46,40,.07) 1px,transparent 1px);background-size:42px 42px}.map-road{position:absolute;background:#eeeae2;border:1px solid #c8c0b3}.road-a{width:130%;height:74px;left:-12%;top:46%;transform:rotate(-18deg)}.road-b{width:86px;height:130%;left:52%;top:-15%;transform:rotate(11deg)}.map-pin{position:absolute;left:54%;top:47%;transform:translate(-50%,-50%);display:grid;justify-items:center;z-index:2}.map-pin>span{display:grid;place-items:center;width:72px;height:72px;border-radius:50% 50% 50% 0;background:#181714;color:#fff;font-family:"DM Serif Display",serif;font-size:29px;transform:rotate(-45deg);box-shadow:0 10px 28px rgba(0,0,0,.18)}.map-pin>span::first-letter{transform:rotate(45deg)}.map-pin strong{margin-top:23px;font-size:9px;letter-spacing:.18em}.map-pin small{margin-top:5px;font-size:8px;letter-spacing:.16em;color:#70695f}.map-caption{position:absolute;left:25px;right:25px;bottom:22px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.15em;color:#6b655c}.contact-section{padding:150px 7vw;text-align:center;border-top:1px solid #d8d2c8}.contact-copy{margin:30px auto 50px;font-size:12px;color:#746e65}.contact-phone{width:min(760px,100%);margin:auto;padding:24px 0;border-top:1px solid #bdb7ae;border-bottom:1px solid #bdb7ae;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.contact-phone span{justify-self:start;font-size:8px;letter-spacing:.18em}.contact-phone strong{font-family:"DM Serif Display",serif;font-size:clamp(28px,4vw,52px);font-weight:400}.contact-phone i{justify-self:end;font-style:normal;font-size:22px}.site-footer{background:#11100e;color:#d8d4cc;padding:82px 5vw 30px}.footer-brand{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #35332f;padding-bottom:28px}.footer-brand strong{font-family:"DM Serif Display",serif;font-size:clamp(42px,8vw,110px);font-weight:400;line-height:.8;color:#f3efe7}.footer-brand span{font-size:9px;letter-spacing:.14em;color:#77736d}.footer-info{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:52px 0 70px}.footer-label{font-size:8px!important;letter-spacing:.18em;color:#77736d!important;margin-bottom:15px!important}.footer-info p{margin:0;font-size:11px;line-height:1.9;color:#aaa59c}.footer-bottom{border-top:1px solid #35332f;padding-top:20px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em;color:#6f6a63}.drawer{position:fixed;inset:0 0 0 auto;width:min(500px,100%);background:#11100e;color:white;z-index:60;transform:translateX(100%);transition:.35s cubic-bezier(.65,0,.35,1);padding:40px}.drawer.open{transform:translateX(0)}.drawer-close{position:absolute;right:29px;top:23px;border:0;background:none;color:#fff;font-size:34px;cursor:pointer;font-weight:300}.drawer-inner{padding-top:90px}.drawer-nav{display:flex;flex-direction:column}.drawer-nav a{font-family:"DM Serif Display","Noto Sans KR",serif;font-size:40px;padding:7px 0;line-height:1.12}.drawer-rule{height:1px;background:#383631;margin:44px 0 24px}.drawer-sub{display:flex;gap:24px;font-size:9px;letter-spacing:.15em}.drawer-address{position:absolute;bottom:38px;left:40px;font-size:10px;line-height:1.8;color:#77736d}.mobile-booking{display:none}@media(max-width:900px){.desktop-nav{display:none}.site-header{grid-template-columns:1fr 1fr}.intro-band{grid-template-columns:1fr}.intro-band span{display:none}.section-head{grid-template-columns:1fr;gap:32px}.location-section{grid-template-columns:1fr}.location-card{min-height:520px}.studio-section{grid-template-columns:1fr;gap:30px}.studio-copy{padding-top:30px}}@media(max-width:760px){.site-header{height:66px;padding:0 18px}.brand-en{font-size:24px}.brand-ko,.booking-link{display:none}.hero-top-note{top:84px;left:20px;right:20px}.hero-copy{left:20px;right:20px;bottom:110px}.hero h1{font-size:clamp(46px,13.6vw,64px);line-height:1.02}.hero-desc{font-size:11px;line-height:1.7}.scroll-note{display:none}.intro-band{min-height:auto;padding:65px 20px}.intro-band strong{font-size:29px}.section{padding:105px 18px}.section-number{top:27px;right:18px}.section-head{margin-bottom:38px}.section-head h2,.studio-title h2,.location-main h2,.contact-section h2{font-size:46px}.section-description{font-size:12px}.service-grid{grid-template-columns:1fr;gap:9px}.service-card,.service-card:nth-child(n){grid-column:auto;min-height:370px}.work-controls>p{display:none}.gallery{columns:2 145px;column-gap:7px}.gallery-item{margin-bottom:7px}.gallery-caption{opacity:1;padding:40px 10px 10px}.studio-section{padding:110px 20px}.studio-title .section-number{margin-bottom:48px}.studio-copy{padding-top:20px}.studio-facts div{grid-template-columns:110px 1fr}.location-main{padding:110px 20px}.location-main .section-number{left:20px;top:28px}.location-card{min-height:430px}.contact-section{padding:110px 20px 140px}.contact-phone{grid-template-columns:1fr auto}.contact-phone span{display:none}.contact-phone strong{justify-self:start;font-size:31px}.site-footer{padding:68px 20px 100px}.footer-brand{display:block}.footer-brand strong{font-size:56px}.footer-brand span{display:block;margin-top:18px}.footer-info{grid-template-columns:1fr;gap:30px;padding:42px 0 50px}.footer-bottom{display:block;line-height:2}.mobile-booking{display:flex;position:fixed;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));z-index:40;background:#f5f1e9;color:#171613;border:1px solid #c8c1b7;border-radius:999px;padding:13px 18px;align-items:center;justify-content:space-between;box-shadow:0 10px 35px rgba(0,0,0,.18)}.mobile-booking span{font-size:10px}.mobile-booking strong{font-size:12px;letter-spacing:.04em}.drawer{padding:26px 24px}.drawer-address{left:24px;bottom:28px}}
/* Leaflet location map */
/* Leaflet core layout fallback: 외부 Leaflet CSS가 차단돼도 지도가 깨지지 않게 유지 */
.leaflet-container{overflow:hidden;outline:0;-webkit-tap-highlight-color:transparent}
.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}
.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}
.leaflet-pane{z-index:400}
.leaflet-tile-pane{z-index:200}
.leaflet-overlay-pane{z-index:400}
.leaflet-shadow-pane{z-index:500}
.leaflet-marker-pane{z-index:600}
.leaflet-tooltip-pane{z-index:650}
.leaflet-popup-pane{z-index:700}
.leaflet-map-pane canvas{z-index:100}
.leaflet-map-pane svg{z-index:200}
.leaflet-tile{visibility:hidden;user-select:none;-webkit-user-drag:none}
.leaflet-tile-loaded{visibility:inherit}
.leaflet-zoom-box{z-index:800}
.leaflet-control{position:relative;z-index:800;pointer-events:auto;float:left;clear:both}
.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}
.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}
.leaflet-right .leaflet-control{float:right}
.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}
.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}
.leaflet-control-zoom a{display:block;text-align:center;text-decoration:none}
.leaflet-control-attribution{margin:0;background:rgba(255,255,255,.8)}
.leaflet-control-attribution a{text-decoration:none}
.leaflet-zoom-animated{transform-origin:0 0}
.leaflet-interactive{cursor:pointer}
.leaflet-grab{cursor:grab}.leaflet-dragging .leaflet-grab{cursor:grabbing}
.studio-map{position:absolute;inset:0;z-index:1;background:#d8d1c4}
.studio-map .leaflet-tile{width:256px!important;height:256px!important;max-width:none!important;max-height:none!important}
.studio-map .leaflet-tile-pane{filter:grayscale(1) sepia(.13) saturate(.55) contrast(.88) brightness(1.04)}
.studio-map .leaflet-control-zoom{margin:18px 18px 0 0;border:0;box-shadow:0 5px 20px rgba(24,23,20,.12)}
.studio-map .leaflet-control-zoom a{width:36px;height:36px;line-height:34px;background:#f2efe8;color:#181714;border-color:#d5cec3;font:300 20px/34px "Noto Sans KR",sans-serif}
.studio-map .leaflet-control-attribution{padding:3px 7px;background:rgba(242,239,232,.82);color:#746e65;font-size:8px}
.studio-map .leaflet-control-attribution a{color:inherit}
.yun-map-marker{background:transparent;border:0}
.yun-marker{display:grid;justify-items:center;width:132px;transform:translateX(-30px);filter:drop-shadow(0 10px 14px rgba(24,23,20,.2))}
.yun-marker-pin{display:grid;place-items:center;width:64px;height:64px;border-radius:50% 50% 50% 0;background:#181714;color:#fff;transform:rotate(-45deg)}
.yun-marker-pin b{font-family:"DM Serif Display",serif;font-size:27px;font-weight:400;line-height:1;transform:rotate(45deg)}
.yun-marker-label{margin-top:19px;padding:5px 8px;background:rgba(242,239,232,.86);color:#181714;font-size:8px;font-weight:600;letter-spacing:.16em;white-space:nowrap}
.yun-marker-label small{display:block;margin-top:4px;color:#70695f;font-size:7px;font-weight:400;letter-spacing:.15em;text-align:center}
.map-caption{z-index:400;pointer-events:none}
@media(max-width:900px){.studio-map .leaflet-control-zoom{display:none}}
@media(max-width:760px){.location-card{min-height:56svh}.yun-marker{transform:translateX(-34px) scale(.9)}}


/* Photo lightbox */
body.lightbox-open {
  overflow: hidden;
}

.photo-thumb[role="button"],
.gallery-item[role="button"] {
  cursor: zoom-in;
}

.photo-thumb[role="button"]:focus-visible,
.gallery-item[role="button"]:focus-visible {
  outline: 3px solid #b68b54;
  outline-offset: 3px;
}

.photo-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  grid-template-columns: minmax(48px, 1fr) minmax(0, 1200px) minmax(48px, 1fr);
  align-items: center;
  padding: clamp(16px, 3vw, 42px);
  background: rgba(8, 8, 8, .94);
  color: #fff;
  backdrop-filter: blur(10px);
}

.photo-lightbox[hidden] {
  display: none;
}

.lightbox-figure {
  grid-column: 2;
  display: grid;
  place-items: center;
  gap: 16px;
  width: 100%;
  max-height: calc(100vh - 64px);
  margin: 0;
}

.lightbox-image {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 150px);
  object-fit: contain;
  border-radius: 2px;
  box-shadow: 0 22px 70px rgba(0, 0, 0, .45);
}

.lightbox-caption {
  display: grid;
  gap: 4px;
  width: min(100%, 760px);
  min-height: 24px;
  text-align: center;
}

.lightbox-caption small {
  color: #c5a77e;
  font-size: 11px;
  letter-spacing: .16em;
}

.lightbox-caption strong {
  font-size: clamp(16px, 2vw, 22px);
}

.lightbox-caption span {
  color: rgba(255, 255, 255, .68);
  font-size: 13px;
}

.lightbox-close,
.lightbox-nav {
  position: absolute;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, .1);
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}

.lightbox-close:hover,
.lightbox-nav:hover {
  background: rgba(255, 255, 255, .22);
  transform: scale(1.05);
}

.lightbox-close {
  top: max(16px, env(safe-area-inset-top));
  right: max(16px, env(safe-area-inset-right));
  width: 46px;
  height: 46px;
  font-size: 30px;
  line-height: 1;
}

.lightbox-nav {
  top: 50%;
  width: 52px;
  height: 52px;
  margin-top: -26px;
  font-size: 42px;
  line-height: 42px;
}

.lightbox-prev {
  left: max(16px, env(safe-area-inset-left));
}

.lightbox-next {
  right: max(16px, env(safe-area-inset-right));
}

@media (max-width: 700px) {
  .photo-lightbox {
    display: flex;
    padding: 64px 12px 24px;
  }

  .lightbox-figure {
    align-self: center;
    max-height: 100%;
  }

  .lightbox-image {
    max-height: calc(100vh - 180px);
  }

  .lightbox-nav {
    top: auto;
    bottom: max(18px, env(safe-area-inset-bottom));
    width: 46px;
    height: 46px;
    margin: 0;
    font-size: 36px;
  }

  .lightbox-prev {
    left: 18px;
  }

  .lightbox-next {
    right: 18px;
  }

  .lightbox-caption {
    padding: 0 52px;
  }
}
