*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #fff5dc;--color-surface: #c5cfc6;--color-text: #2c2c2c;--color-slate: #44607c;--color-text-light: rgba(255, 255, 255, .9);--color-overlay: rgba(0, 0, 0, .4);--font-display: "Caveat", cursive;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--header-height: 80px;--header-total-height: 140px;--content-max-width: 1525px;--content-padding: 24px;--transition-speed: .2s}html{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{min-height:100dvh}.no-scroll{overflow:hidden}img{display:block;max-width:100%;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}a{color:inherit;text-decoration:none}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background-color:var(--color-bg);transition:transform var(--transition-speed) ease;will-change:transform;padding:35px 0 8px}.site-header.hidden{transform:translateY(-100%)}.site-header__title{display:flex;align-items:center;justify-content:center;height:100%}.site-header__name{display:flex;align-items:center}.site-header__logo{height:100px;width:auto;display:block}.site-header__nav{max-width:calc(var(--content-max-width) - 30px);margin:-25px auto 0;padding:0 var(--content-padding);display:flex;justify-content:flex-end;gap:15px}.site-header__nav a{font-family:var(--font-display);font-size:1.5rem;color:var(--color-slate);transition:color .2s ease}.site-header__nav a:hover{color:#2f4557}.nav-toggle{display:none}.gallery-page{padding-top:var(--header-total-height);padding-bottom:var(--header-total-height);background-color:var(--color-bg);min-height:100dvh}.gallery-grid{display:flex;flex-wrap:wrap;gap:16px;padding:var(--content-padding);max-width:var(--content-max-width);margin:0 auto;justify-content:center}.gallery-item{display:block;height:280px;cursor:pointer;border-radius:2px;flex-shrink:0}.gallery-item{transition:transform .3s ease,filter .3s ease}.gallery-item img{height:100%;width:auto;display:block;object-fit:contain}.gallery-item:hover,.gallery-item:focus-visible{transform:scale(1.04);filter:drop-shadow(0 8px 12px rgba(0,0,0,.15)) drop-shadow(0 3px 6px rgba(0,0,0,.1))}.gallery-item:focus-visible{outline:3px solid var(--color-text);outline-offset:2px}.artwork-view{position:fixed;inset:0;background-color:var(--color-bg);flex-direction:column;z-index:150;display:none}.artwork-view.open{display:flex}.artwork-view:focus,.artwork-view:focus-visible{outline:none}.artwork-view__image-wrapper{display:flex;flex-direction:column;align-items:center}.artwork-view__image{max-height:70vh;width:auto}.controls-item{opacity:0;transition:opacity .3s ease;pointer-events:none}.controls-item.visible{opacity:1;pointer-events:auto}.artwork-view__nav{position:fixed;top:50%;transform:translateY(-50%);z-index:60;background:none;border:none;cursor:pointer;padding:24px;color:#00000080;font-size:3.5rem;line-height:1;transition:color .2s ease,opacity .3s ease}.artwork-view__nav,.artwork-view__close{font-family:Arial,sans-serif}.artwork-view__nav:hover{color:#000c}.artwork-view__nav:focus-visible{outline:2px solid var(--color-text);outline-offset:2px;color:#000c}.artwork-view__nav--prev{left:8px}.artwork-view__nav--next{right:8px}.artwork-view__close{position:fixed;top:20px;left:20px;z-index:70;padding:8px;background:none;border:none;cursor:pointer;color:#00000080;font-size:2.5rem;line-height:1;transition:color .2s ease}.artwork-view__close:hover{color:#000c}.artwork-view__close:focus-visible{outline:2px solid var(--color-text);outline-offset:2px;color:#000c}.artwork-view__content{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:24px}.artwork-view__content-inner{display:flex;align-items:center;gap:40px}.artwork-view__details{overflow:hidden;display:flex;flex-direction:column;justify-content:center;flex-shrink:0;width:200px;opacity:0;animation:details-reveal .5s cubic-bezier(.4,0,.2,1) .35s forwards}.artwork-view__details.no-reveal{animation:none;opacity:1}@keyframes details-reveal{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.details__title{font-family:var(--font-body);font-size:1.15rem;font-weight:400;margin-bottom:20px;color:var(--color-text);white-space:nowrap}.details__meta{display:flex;flex-direction:column;gap:4px}.details__meta p{font-family:var(--font-body);font-size:.9rem;color:var(--color-text);line-height:1.5;white-space:nowrap}.artwork-view__image{cursor:zoom-in}.fullscreen-overlay{position:fixed;inset:0;z-index:200;background:#000000eb;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}.fullscreen-overlay.open{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .3s ease}.fullscreen-overlay__image{max-width:95vw;max-height:95vh;object-fit:contain}.fullscreen-overlay__close{position:absolute;top:24px;left:24px;background:none;border:2px solid rgba(255,255,255,.4);border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#ffffffb3;transition:color .2s ease,border-color .2s ease}.fullscreen-overlay__close:hover{color:#fff;border-color:#ffffffb3}.fullscreen-morph::view-transition-group(*){animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1)}.fullscreen-morph::view-transition-old(root),.fullscreen-morph::view-transition-new(root){animation-duration:.25s}.fullscreen-morph::view-transition-image-pair(*){isolation:auto}.fullscreen-morph::view-transition-old(*),.fullscreen-morph::view-transition-new(*){animation:none;mix-blend-mode:normal}.fullscreen-overlay__hint{position:absolute;bottom:24px;left:50%;transform:translate(-50%);color:#ffffffa6;font-size:.85rem;font-family:var(--font-body)}.about-section{background-color:var(--color-slate);color:var(--color-bg);padding:120px 24px;min-height:100dvh;display:flex;align-items:center}.about-content{display:flex;gap:48px;max-width:1000px;margin:0 auto;align-items:flex-start}.about-photo{flex-shrink:0;width:340px}.about-photo img{width:100%;height:auto;display:block}.about-text{flex:1}.about-text h2{font-family:var(--font-body);font-size:1.25rem;font-weight:400;margin-bottom:20px;color:var(--color-bg)}.about-text p{font-size:.95rem;line-height:1.7;margin-bottom:16px;color:var(--color-bg);opacity:.92}.about-sign{margin-top:24px;font-style:italic;opacity:1}.about-reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.about-reveal.revealed{opacity:1;transform:translateY(0)}.about-text.about-reveal{transition-delay:.2s}.site-header.header--inverted{background-color:var(--color-slate)}.site-header.header--inverted .site-header__logo{filter:brightness(0) invert(1)}.site-header.header--inverted .site-header__name,.site-header.header--inverted .site-header__nav a{color:var(--color-bg)}@media(max-width:700px){.about-section{padding:80px 16px}.about-content{flex-direction:column;gap:32px}.about-photo{width:100%;max-width:340px}}@media(max-width:700px){:root{--header-total-height: 96px}.site-header{padding:16px 0 8px}.site-header__logo{height:56px}.nav-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;position:absolute;top:50%;right:12px;transform:translateY(-50%);width:44px;height:44px;background:none;border:none;cursor:pointer;color:var(--color-slate)}.nav-toggle span{display:block;width:22px;height:2px;border-radius:1px;background-color:currentColor}.site-header.header--inverted .nav-toggle{color:var(--color-bg)}.site-header__nav{display:none}.site-header.open .site-header__nav{display:flex;position:absolute;top:100%;right:12px;flex-direction:column;gap:0;max-width:none;min-width:170px;margin:0;padding:8px 0;background-color:var(--color-bg);border-radius:2px;box-shadow:0 6px 20px #0000002e}.site-header.open .site-header__nav a{padding:10px 24px}.site-header.header--inverted .site-header__nav{background-color:var(--color-slate)}.artwork-view__content{overflow-y:auto}.artwork-view__content-inner{flex-direction:column;gap:20px;align-items:center}.artwork-view__details{width:auto;max-width:90vw}.details__title,.details__meta p{white-space:normal}.artwork-view__image{max-height:62dvh;max-width:calc(100vw - 32px)}}@media(max-width:600px){.gallery-grid{gap:10px;padding:12px}.gallery-item{height:200px}.artwork-view__nav{padding:12px;font-size:1.5rem}.artwork-view__image-wrapper{padding:12px}}@media(min-width:1200px){.gallery-grid{gap:20px;padding:32px}.gallery-item{height:340px}}.artwork-morph::view-transition-group(*){animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1)}.artwork-morph::view-transition-old(root),.artwork-morph::view-transition-new(root){animation-duration:.25s}.artwork-morph::view-transition-image-pair(*){isolation:auto}.artwork-morph::view-transition-old(*),.artwork-morph::view-transition-new(*){animation:none;mix-blend-mode:normal}@keyframes slide-out-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slide-out-right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}.artwork-view__close{view-transition-name:artwork-close}.artwork-view__nav--prev{view-transition-name:artwork-nav-prev}.artwork-view__nav--next{view-transition-name:artwork-nav-next}::view-transition-old(artwork-close),::view-transition-new(artwork-close),::view-transition-old(artwork-nav-prev),::view-transition-new(artwork-nav-prev),::view-transition-old(artwork-nav-next),::view-transition-new(artwork-nav-next){animation:none}.artwork-slide-next::view-transition-old(root){animation:.5s cubic-bezier(.4,0,.2,1) both slide-out-left}.artwork-slide-next::view-transition-new(root){animation:.5s cubic-bezier(.4,0,.2,1) both slide-in-right}.artwork-slide-prev::view-transition-old(root){animation:.5s cubic-bezier(.4,0,.2,1) both slide-out-right}.artwork-slide-prev::view-transition-new(root){animation:.5s cubic-bezier(.4,0,.2,1) both slide-in-left}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
