@font-face{
  font-family:'SiteMontserrat';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('/fonts/Montserrat[wght].woff2') format('woff2');
}

/* Shared portfolio header navigation. Page families keep their existing header
   positioning and scroll behavior; only the navigation visibility and states
   are normalized here. */
.site-primary{
  height:52px;display:flex;align-items:center;gap:clamp(22px,2vw,34px);
  border-top:1px solid rgba(255,255,255,.4);white-space:nowrap;
  font-family:'Manrope','Inter',system-ui,sans-serif;font-size:clamp(14px,1.111vw,16px);
  font-weight:400;letter-spacing:0;line-height:24px;pointer-events:auto;
}
.site-primary-link{
  position:relative;height:100%;display:inline-flex;align-items:center;color:inherit;
  text-decoration:none;white-space:nowrap;transition:opacity .25s ease;
}
.site-primary-link::after{
  content:'';position:absolute;right:0;bottom:9px;left:0;height:1px;background:currentColor;
  opacity:.9;transform:scaleX(0);transform-origin:right;
  transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .25s ease;
}
.site-primary-link:hover{opacity:.68}
.site-primary-link:hover::after{transform:scaleX(1);transform-origin:left}
.site-primary-link[aria-current='page']{opacity:1;font-weight:500}
.site-primary-link[aria-current='page']::after{opacity:.52;transform:scaleX(1)}
.site-primary-link[aria-current='page']:hover::after{opacity:1}

.hd-logo:focus-visible,.rhd-logo:focus-visible,.brand:focus-visible,
.site-primary-link:focus-visible,.hd-menu:focus-visible,.rhd-menu:focus-visible,
.site-menu-button:focus-visible,.ov-close:focus-visible,.rov-close:focus-visible,
.site-menu-close:focus-visible,.ov-row:focus-visible,.rov-row:focus-visible,
.site-menu-row:focus-visible{
  outline:1px solid currentColor;outline-offset:4px;border-radius:2px;
}

/* Main and listing pages use the existing 820px layout breakpoint. */
.hd .hd-menu{display:none}
@media (max-width:820px){
  .hd .site-primary{display:none}
  .hd .hd-menu{display:flex}
}

/* Standard and standalone project pages use the existing 760px breakpoint. */
.rhd .rhd-menu{display:none}
.rhd .site-primary{pointer-events:auto}
.rhd + .rov{
  top:0;right:0;bottom:0;left:0;display:block;padding:0;box-shadow:none;
  transform:none;pointer-events:none;
}
.rhd + .rov.open{transform:none;pointer-events:auto}
@media (max-width:760px){
  .rhd .site-primary{display:none}
  .rhd .rhd-menu{display:flex}
}

/* Restrained active treatment inside the existing mobile overlays. */
.ov-row[aria-current='page'] .ov-txt,
.rov-row[aria-current='page'] .rov-txt,
.site-menu-row[aria-current='page'] .site-menu-txt{
  font-weight:500;
}
.rov-row[aria-current='page'] .rov-num,
.site-menu-row[aria-current='page'] .site-menu-num{
  color:rgba(255,255,255,.72);
}
.ov-row[aria-current='page'] .ov-num{color:rgba(11,5,36,.72)} /* .ov는 라이트 배경(#f8f8f8) */

/* Fallback menu shell for pages without one of the existing overlays. */
.site-menu-button{
  height:52px;min-width:96px;border-top:1px solid rgba(255,255,255,.4);
  background:none;border-left:0;border-right:0;border-bottom:0;color:inherit;cursor:pointer;
  font-family:'Manrope','Inter',system-ui,sans-serif;font-size:clamp(14px,1.111vw,16px);
  align-items:center;justify-content:flex-start;position:relative;
}
.site-menu{
  position:fixed;inset:0;z-index:90;background:#0A0A0C;color:#fff;
  visibility:hidden;opacity:0;transition:opacity .45s cubic-bezier(.22,1,.36,1),visibility .45s;
}
.site-menu.open{visibility:visible;opacity:1}
.site-menu a{color:inherit;text-decoration:none}
.site-menu-close{
  position:absolute;top:11px;right:clamp(12px,1.1vw,22px);height:52px;width:52px;
  background:none;border:0;color:inherit;cursor:pointer;
}
.site-menu-list{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}
.site-menu-row{display:block;border-top:1px solid rgba(255,255,255,.14);position:relative;overflow:hidden}
.site-menu-row:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
.site-menu-row-in{display:flex;align-items:baseline;justify-content:center;gap:14px;height:90px}
.site-menu-num{
  font-style:normal;font-size:11px;letter-spacing:.06em;color:rgba(255,255,255,.35);
  font-family:'Manrope','Inter',system-ui,sans-serif;
}
.site-menu-txt{
  font-size:clamp(30px,3.33vw,48px);line-height:1.1;font-weight:300;letter-spacing:-.03em;
  font-family:'Manrope','Inter',system-ui,sans-serif;
  transition:transform .4s cubic-bezier(.22,1,.36,1);
}
.site-menu-row:hover .site-menu-txt{transform:translateX(14px)}

@media (prefers-reduced-motion:reduce){
  .site-primary-link,.site-primary-link::after,
  .site-menu,.site-menu-txt{transition:none}
}
