/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base,components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.text-secondary{color:var(--text-secondary)}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}@font-face{font-family:ITCGaramond;src:url(../fonts/ITCGaramondStd-Book.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:KakaoBig;src:url(../fonts/KakaoBigSans-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:KakaoSmall;src:url(../fonts/KakaoSmallSans-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--font-logo:"ITCGaramond", "Georgia", serif;--font-serif:"KakaoBig", -apple-system, sans-serif;--font-sans:"KakaoSmall", system-ui, sans-serif;--bg-primary:#fff;--bg-secondary:#fafafa;--text-primary:#000;--text-secondary:#333;--text-muted:#6e6e6e;--accent:#000;--accent-light:#f0f0f0;--border-color:#00000014;--border-focus:#0000004d;--glass-bg:#ffffffe0;--glass-blur:blur(16px);--viewport-stable:100vh;--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:3rem;--space-xl:5rem;--space-xxl:8rem;--gutter:clamp(24px, 5vw, 80px);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--transition-smooth:all .6s cubic-bezier(.16, 1, .3, 1);--transition-fast:all .25s ease;--transition-theme:background-color .5s ease, color .5s ease, border-color .5s ease, fill .5s ease;--max-width:1400px;--header-height:72px}.dark-mode{--bg-primary:#1a1a1a;--bg-secondary:#242424;--text-primary:#f0f0f0;--text-secondary:#bbb;--text-muted:#a3a3a3;--accent:#f0f0f0;--accent-light:#2a2a2a;--border-color:#ffffff14;--border-focus:#ffffff40;--glass-bg:#1a1a1ae0}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);transition:var(--transition-theme);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.dark-mode .nav-logo,.dark-mode .logo-split img{filter:invert()}.nav-bar{padding:.55rem var(--gutter);z-index:100;-webkit-backdrop-filter:blur(16px);background-color:var(--glass-bg);transition:var(--transition-theme);justify-content:center;align-items:baseline;display:flex;position:fixed;top:0;left:0;right:0}.delayed-reveal{pointer-events:none;transition:opacity .3s ease-out;opacity:0!important}.delayed-reveal.revealed{pointer-events:auto;opacity:1!important}.nav-link{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);white-space:nowrap;padding:4px 1.4rem;font-size:.7rem;font-weight:400;text-decoration:none;transition:color .3s}.nav-link:hover,.nav-link.active{color:var(--text-primary)}.nav-home{font-family:var(--font-logo);letter-spacing:.02em;color:var(--text-muted);white-space:nowrap;opacity:0;max-width:0;transition:max-width .6s var(--ease-out-expo), opacity .5s ease, padding .6s var(--ease-out-expo), color .3s ease;padding:4px 0;font-size:.92rem;font-weight:400;text-decoration:none;overflow:hidden}.nav-home:hover{color:var(--text-primary)}.nav-home.visible{opacity:1;max-width:100px;padding:4px 1.4rem}.theme-toggle{border:1px solid var(--border-color);background:var(--bg-primary);cursor:pointer;z-index:100;width:36px;height:36px;transition:var(--transition-theme), transform .3s ease;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;bottom:24px;left:24px}.theme-toggle:hover{border-color:var(--border-focus);transform:scale(1.08)}.theme-toggle svg{fill:none;width:14px;height:14px;stroke:var(--text-muted);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s ease, transform .5s var(--ease-out-expo)}.theme-toggle:hover svg{stroke:var(--text-primary)}.icon-sun{display:none}.icon-moon,.dark-mode .icon-sun{display:block}.dark-mode .icon-moon{display:none}.animate-fade-in{animation:1.4s cubic-bezier(.25,1,.5,1) forwards pageReveal}@keyframes pageReveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:10ms!important;animation-duration:10ms!important;animation-delay:0s!important}}.hamburger-btn,.nav-overlay,.mobile-header-bar{display:none}@media (max-width:767px){:root{--viewport-stable:100svh}.mobile-header-bar{z-index:997;pointer-events:none;background:var(--glass-bg);height:72px;-webkit-backdrop-filter:var(--glass-blur);box-shadow:none;border-bottom:0;transition:background-color .5s,border-color .5s,opacity .4s;display:block;position:fixed;top:0;left:0;right:0}.nav-overlay{-webkit-backdrop-filter:blur(8px);z-index:998;opacity:0;pointer-events:none;background-color:#0000008c;transition:opacity .5s;display:block;position:fixed;inset:0}.nav-open .nav-overlay{opacity:1;pointer-events:auto}.hamburger-btn{cursor:pointer;z-index:1000;touch-action:manipulation;pointer-events:auto;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:0;transition:transform .3s;display:flex;position:fixed;top:20px;right:20px}.burger-line{background-color:var(--text-primary);width:20px;height:1.5px;transition:all .3s cubic-bezier(.16,1,.3,1);display:block}.nav-open .line-1{transform:translateY(6.5px)rotate(45deg)}.nav-open .line-2{opacity:0;transform:scaleX(0)}.nav-open .line-3{transform:translateY(-6.5px)rotate(-45deg)}.nav-open .burger-line{background-color:#fff}.nav-bar{width:100%;height:var(--viewport-stable);padding:100px 32px var(--space-md) var(--space-md);justify-content:flex-start;align-items:flex-end;gap:var(--space-md);box-shadow:none;z-index:999;background-color:#0000;border-left:none;flex-direction:column;transition:opacity .5s;position:fixed;inset:0;transform:none;-webkit-backdrop-filter:none!important;opacity:0!important;pointer-events:none!important}.nav-open .nav-bar{opacity:1!important;pointer-events:auto!important}.nav-link{text-align:right;color:#ffffffb3;opacity:0;width:auto;transition:opacity .5s var(--ease-out-expo), transform .5s var(--ease-out-expo), color .3s ease;border-bottom:none;font-size:1.15rem;transform:translateY(-20px);padding:var(--space-xs) 0!important;position:relative!important}.nav-link:hover,.nav-link.active{color:#fff!important}.nav-home{width:auto;margin-bottom:var(--space-sm);text-align:right;color:#ffffffb3;transition:opacity .5s var(--ease-out-expo), transform .5s var(--ease-out-expo), color .3s ease;border-bottom:none;font-size:1.7rem;overflow:visible;transform:translateY(-20px);opacity:0!important;max-width:none!important;padding:var(--space-xs) 0!important;position:relative!important}.nav-home.visible{padding:var(--space-xs) 0!important}.nav-open .nav-bar .nav-home,.nav-open .nav-bar .nav-link{transition-delay:calc(.1s + var(--nav-idx) * 80ms);transform:translateY(0);opacity:1!important}.nav-open .nav-bar .nav-link.active,.nav-open .nav-bar .nav-home.active{color:#fff!important;transform:translate(-16px)!important}.nav-open .nav-bar .nav-link.active:after,.nav-open .nav-bar .nav-home.active:after{content:"•";color:#fff;font-size:8px;position:absolute;top:50%;right:-14px;transform:translateY(-50%)}}.subpage-transition-overlay{width:100vw;height:100vh;height:var(--viewport-stable);background-color:var(--bg-primary);z-index:9999;opacity:1;transition:opacity .6s var(--ease-out-expo);pointer-events:auto;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.subpage-transition-title{font-family:var(--font-serif);text-transform:uppercase;letter-spacing:.25em;color:var(--text-primary);opacity:0;transition:opacity .6s var(--ease-out-expo), transform .6s var(--ease-out-expo);text-align:center;font-size:.85rem;font-weight:700;transform:translateY(12px)}.subpage-transition-overlay.active .subpage-transition-title{opacity:1;transform:translateY(0)}.subpage-transition-overlay.fade-out{opacity:0;pointer-events:none}.subpage-transition-overlay.fade-out .subpage-transition-title{opacity:0;transform:translateY(-16px)}.reveal-item{transition:opacity .8s var(--ease-out-expo), transform .8s var(--ease-out-expo);opacity:0!important;transform:translateY(20px)!important}.reveal-active .reveal-item,.reveal-item.revealed{opacity:1!important;transform:translateY(0)!important}html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}body{flex-direction:column!important;min-height:100vh!important;padding-bottom:0!important;display:flex!important}.page-container,.container,.contact-wrap,.about-content{flex-direction:column!important;flex-grow:1!important;width:100%!important;display:flex!important}footer,.site-footer,.about-footer,.gallery-footer,.contact-footer{width:100%!important;max-width:var(--max-width)!important;z-index:10!important;border-top:1px solid var(--border-color)!important;height:auto!important;padding:var(--space-lg) var(--gutter)!important;font-family:var(--font-sans)!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--text-muted)!important;transition:var(--transition-theme)!important;background-color:#0000!important;justify-content:flex-end!important;align-items:center!important;margin:0 auto!important;font-size:.55rem!important;display:flex!important;position:relative!important;bottom:auto!important;left:auto!important}footer span,.site-footer span,.about-footer span,.gallery-footer span,.contact-footer span{color:var(--text-muted)!important}.reveal{opacity:0;will-change:transform, opacity;transition:opacity 1.4s cubic-bezier(.25,1,.5,1),transform 1.4s cubic-bezier(.25,1,.5,1);transform:translateY(12px)}.reveal.reveal-left{transform:translate(-12px)}.reveal.reveal-right{transform:translate(12px)}.reveal.active{opacity:1;transform:translate(0)scale(1)}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}.delay-4{transition-delay:.4s}.hover-underline{position:relative}.hover-underline:after{content:"";background-color:var(--accent);transform-origin:100% 100%;width:100%;height:1px;transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.hover-underline:hover:after{transform-origin:0 100%;transform:scaleX(1)}.zoom-frame{position:relative;overflow:hidden}.zoom-frame img{transition:transform 1.8s cubic-bezier(.16,1,.3,1)}.zoom-frame:hover img{transform:scale(1.05)}@keyframes subtleFloat{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}.animate-float{animation:6s ease-in-out infinite subtleFloat}@keyframes elegantFade{0%{opacity:0}to{opacity:1}}.animate-fade{animation:1.5s cubic-bezier(.16,1,.3,1) forwards elegantFade}.grid-collapse-wrapper{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .6s cubic-bezier(.16,1,.3,1),opacity .6s cubic-bezier(.16,1,.3,1);display:grid;overflow:hidden}.grid-collapse-wrapper.active{opacity:1;grid-template-rows:1fr}.grid-collapse-content{min-height:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}