.page-enter{opacity:0}.page-enter-active{opacity:1;transition:opacity .3s ease-in}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .3s ease-out}.footer{background:#fafafa;border-top:1px solid #eee;padding:2.5rem 2rem;margin-top:auto}.footer-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem 2.5rem}.footer-link{display:inline-flex;align-items:center;gap:.5rem;font-family:Georgia,serif;font-size:.85rem;color:#666;text-decoration:none;transition:color .2s ease}.footer-link:hover{color:#333}.footer-icon{width:18px;height:18px;flex-shrink:0}.footer-copyright{font-family:Georgia,serif;font-size:.8rem;color:#999;margin:0;text-align:center}@media(max-width:600px){.footer{padding:2rem 1.5rem}.footer-links{flex-direction:column;align-items:center;gap:1rem}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.5rem 3rem}.navbar-container{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.navbar-logo{font-family:Georgia,serif;font-size:1.25rem;font-weight:400;color:#333;text-decoration:none;letter-spacing:.02em;transition:opacity .3s ease}.navbar-logo:hover{opacity:.7}.navbar-menu{display:flex;list-style:none;gap:2.5rem;margin:0;padding:0}.navbar-item{position:relative}.navbar-link{font-family:Georgia,serif;font-size:.9rem;color:#666;text-decoration:none;letter-spacing:.02em;cursor:pointer;padding-bottom:.5rem;position:relative;transition:color .3s ease}.navbar-link:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:#333;transform:scaleX(0);transform-origin:right;transition:transform .3s ease}.navbar-link:hover,.navbar-link.active{color:#333}.navbar-link:hover:after,.navbar-link.active:after{transform:scaleX(1);transform-origin:left}.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:50%;transform:translate(-50%);background:#fff;list-style:none;padding:1rem 0;margin:.5rem 0 0;min-width:200px;box-shadow:0 4px 20px #00000014;opacity:0;visibility:hidden;transition:all .3s ease}.dropdown-menu.open{opacity:1;visibility:visible}.dropdown-item{padding:0}.dropdown-item a{display:block;padding:.6rem 1.5rem;font-family:Georgia,serif;font-size:.85rem;color:#666;text-decoration:none;transition:all .2s ease}.dropdown-item a:hover{color:#333;background:#f9f9f9}@media(max-width:768px){.navbar{padding:1rem 1.5rem}.navbar-menu{gap:1.5rem}.navbar-link{font-size:.8rem}.navbar-logo{font-size:1rem}}.layout{min-height:100vh;display:flex;flex-direction:column}.main-content{padding-top:80px;flex:1}.about-page{max-width:1400px;margin:0 auto;padding:4rem 3rem}.about-container{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:start}.about-image-section{position:sticky;top:100px}.about-profile-image{width:100%;max-width:500px;height:auto;display:block}.about-content-section{padding:1rem 0}.about-title{font-family:Georgia,serif;font-size:2rem;font-weight:400;color:#333;margin:0 0 2rem;letter-spacing:.1em;text-transform:uppercase}.about-text{font-family:Georgia,serif;font-size:1rem;color:#555;line-height:1.8;margin-bottom:3rem}.about-text p{margin:0 0 1.5rem}.about-text p:last-child{margin-bottom:0}.about-contact{padding-top:2rem;border-top:1px solid #eee}.contact-title{font-family:Georgia,serif;font-size:.9rem;font-weight:400;color:#333;margin:0 0 1rem;letter-spacing:.1em;text-transform:uppercase}.contact-links{display:flex;flex-direction:column;gap:.8rem}.contact-link{font-family:Georgia,serif;font-size:.9rem;color:#666;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:color .3s ease}.contact-link:hover{color:#333}.contact-icon{font-size:1rem;opacity:.7}@media(max-width:900px){.about-page{padding:2rem 1.5rem}.about-container{grid-template-columns:1fr;gap:2rem}.about-image-section{position:relative;top:0}.about-profile-image{max-width:100%}.about-title{font-size:1.5rem}}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:220px;background:#fafafa;padding:2rem 1.5rem;display:flex;flex-direction:column;border-right:1px solid #eee;position:fixed;top:0;left:0;height:100vh;overflow-y:auto}.admin-title{font-family:Georgia,serif;font-size:1.1rem;font-weight:400;color:#333;margin:0 0 2rem;letter-spacing:.02em}.admin-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.nav-link{display:block;padding:.7rem 1rem;font-family:Georgia,serif;font-size:.85rem;color:#666;text-decoration:none;transition:all .2s ease;border-radius:4px}.nav-link:hover{background:#f0f0f0;color:#333}.nav-link.active{background:#333;color:#fff}.logout-button{padding:.7rem 1rem;font-family:Georgia,serif;font-size:.8rem;color:#c53030;background:none;border:1px solid #c53030;cursor:pointer;transition:all .2s ease;margin-top:auto}.logout-button:hover{background:#c53030;color:#fff}.admin-content{flex:1;padding:2rem 3rem;max-width:900px;margin-left:220px}@media(max-width:900px){.admin-layout{flex-direction:column}.admin-sidebar{width:100%;height:auto;position:relative;flex-direction:row;flex-wrap:wrap;gap:.5rem;padding:1rem;align-items:center}.admin-title{margin:0 auto 0 0}.admin-nav{flex-direction:row;flex-wrap:wrap;gap:.5rem;order:3;width:100%;margin-top:1rem}.logout-button{margin-top:0;order:2}.admin-content{padding:1.5rem;margin-left:0}}.image-upload-container{width:100%}.upload-label{display:block;font-family:Georgia,serif;font-size:.85rem;color:#666;margin-bottom:.5rem}.upload-zone{position:relative;width:100%;min-height:200px;border:2px dashed #ddd;border-radius:4px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;background:#fafafa}.upload-zone:hover{border-color:#999;background:#f5f5f5}.upload-zone.dragging{border-color:#333;background:#f0f0f0;transform:scale(1.01)}.upload-zone.uploading{pointer-events:none;opacity:.7}.upload-zone.has-preview{border-style:solid;border-color:#ddd}.file-input{display:none}.upload-placeholder{text-align:center;padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.upload-icon{color:#999;margin-bottom:1rem;display:flex;justify-content:center}.upload-zone:hover .upload-icon,.upload-zone.dragging .upload-icon{color:#666}.upload-text{margin:0;display:flex;flex-direction:column;align-items:center;gap:.3rem}.upload-primary{font-family:Georgia,serif;font-size:.95rem;color:#555}.upload-secondary{font-family:Georgia,serif;font-size:.85rem;color:#999}.upload-hint{display:block;margin-top:1rem;font-family:Georgia,serif;font-size:.75rem;color:#bbb}.upload-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#666;font-family:Georgia,serif;font-size:.9rem}.spinner{width:32px;height:32px;border:2px solid #eee;border-top-color:#333;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.preview-container{position:relative;width:100%;height:100%;min-height:200px;display:flex;align-items:center;justify-content:center}.preview-image{max-width:100%;max-height:300px;object-fit:contain}.preview-overlay{position:absolute;inset:0;background:#00000080;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;opacity:0;transition:opacity .3s ease}.preview-container:hover .preview-overlay{opacity:1}.remove-btn{padding:.5rem 1rem;font-family:Georgia,serif;font-size:.85rem;color:#fff;background:#c53030e6;border:none;cursor:pointer;transition:background .2s ease}.remove-btn:hover{background:#c53030}.change-hint{font-family:Georgia,serif;font-size:.8rem;color:#fffc}.upload-error{margin:.5rem 0 0;font-family:Georgia,serif;font-size:.8rem;color:#c53030}.editor-page{max-width:800px}.editor-title{font-size:1.5rem;font-weight:300;letter-spacing:.1em;margin-bottom:2rem;color:#333}.editor-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid #eee}.editor-section:last-of-type{border-bottom:none}.editor-section h3{font-size:.9rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1rem;color:#666}.section-description{font-size:.85rem;color:#888;margin-bottom:1rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.85rem;color:#666;margin-bottom:.5rem;font-weight:400}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem;font-family:inherit;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#999}.form-group textarea{resize:vertical;min-height:100px}.form-group small{display:block;margin-top:.5rem;font-size:.8rem;color:#888}.toggle-group{margin-bottom:.75rem}.toggle-label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:#333}.toggle-label span{font-size:.95rem;color:#444}.save-button{background:#333;color:#fff;border:none;padding:.85rem 2rem;font-size:.9rem;font-weight:500;letter-spacing:.05em;cursor:pointer;transition:background .2s ease;margin-top:1rem}.save-button:hover{background:#555}.color-picker-container{display:flex;gap:.75rem;align-items:center;margin-bottom:.75rem}.color-input{width:50px!important;height:40px;padding:2px!important;border:1px solid #ddd;border-radius:4px;cursor:pointer}.color-text-input{width:120px!important;font-family:monospace}.color-presets{display:flex;gap:.5rem;flex-wrap:wrap}.color-preset{width:32px;height:32px;border:2px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s ease}.color-preset:hover{transform:scale(1.1);border-color:#999}.color-preset.active{border-color:#333;box-shadow:0 0 0 2px #fff,0 0 0 4px #333}.favicon-upload-container{max-width:200px}.favicon-upload-container .upload-zone{aspect-ratio:1;min-height:120px}.favicon-preview{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:.75rem;background:#f5f5f5;border-radius:4px}.favicon-preview span{font-size:.85rem;color:#666}.favicon-preview-img{width:32px;height:32px;object-fit:contain;border:1px solid #ddd;border-radius:4px}.section-hint{font-size:.8rem;color:#888;margin:0 0 .75rem}.profile-upload-container{max-width:300px}.profile-upload-container .upload-zone{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.exhibition-image-upload{max-width:100%}.exhibition-image-upload .upload-zone{min-height:200px}.gallery-grid-editor{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.gallery-item-card{background:#fafafa;border:1px solid #eee;border-radius:6px;overflow:hidden}.gallery-item-image{aspect-ratio:1;background:#f0f0f0;overflow:hidden}.gallery-item-image img{width:100%;height:100%;object-fit:cover}.gallery-item-image .upload-zone{height:100%;border:none;border-radius:0}.gallery-item-details{padding:1rem}.gallery-item-details input{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.85rem;margin-bottom:.5rem}.gallery-item-actions{padding:.75rem 1rem;border-top:1px solid #eee;display:flex;justify-content:flex-end}.delete-btn{background:transparent;color:#c44;border:1px solid #c44;padding:.4rem 1rem;font-size:.8rem;cursor:pointer;border-radius:4px;transition:all .2s ease}.delete-btn:hover{background:#c44;color:#fff}.add-item-btn{background:transparent;border:2px dashed #ccc;padding:1rem 2rem;font-size:.9rem;color:#666;cursor:pointer;width:100%;transition:all .2s ease;border-radius:6px}.add-item-btn:hover{border-color:#999;color:#333}.exhibitions-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.exhibition-card{background:#fafafa;border:1px solid #eee;border-radius:6px;padding:1.5rem}.exhibition-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.exhibition-card-title{font-size:1rem;font-weight:500;color:#333}.exhibition-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.exhibition-fields .form-group{margin-bottom:0}.exhibition-image-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #eee}.exhibition-image-section h4{font-size:.85rem;color:#666;margin-bottom:.75rem;font-weight:400}.exhibitions-editor{padding:2rem 3rem;max-width:1000px;margin:0 auto}.editor-header{margin-bottom:2rem}.back-button{display:inline-block;font-family:Georgia,serif;font-size:.85rem;color:#666;text-decoration:none;margin-bottom:1rem;transition:color .2s}.editor-header h2{font-family:Georgia,serif;font-size:1.75rem;font-weight:400;color:#333;margin:0}.editor-section{background:#fafafa;padding:2rem;margin-bottom:2rem;border:1px solid #eee}.editor-section h3{font-family:Georgia,serif;font-size:1.1rem;font-weight:400;color:#333;margin:0 0 1.5rem}.add-form,.edit-form{display:flex;flex-direction:column;gap:1rem}.form-row .form-group.small,.form-row .small-input{flex:0 0 100px}.form-group label{font-family:Georgia,serif;font-size:.85rem;color:#666}.form-group input,.form-group textarea{padding:.75rem;font-family:Georgia,serif;font-size:.9rem;border:1px solid #ddd;outline:none;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:#333}.form-group textarea{resize:vertical;min-height:80px}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.5rem}.image-preview-small{position:relative;aspect-ratio:4/3;background:#f0f0f0;overflow:hidden;border-radius:4px}.image-preview-small img{width:100%;height:100%;object-fit:cover}.remove-image-btn{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:#c53030e6;color:#fff;border:none;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.image-preview-small:hover .remove-image-btn{opacity:1}.add-image-zone{min-height:160px;overflow:hidden}.add-image-zone .upload-zone{min-height:160px;aspect-ratio:4/3;overflow:hidden}.add-image-zone .upload-placeholder{padding:1rem}.add-image-zone .upload-hint{display:none}.add-image-zone.small .upload-zone{min-height:140px}.add-image-zone.small .upload-placeholder{padding:.75rem}.add-btn{padding:.8rem 2rem;font-family:Georgia,serif;font-size:.9rem;color:#fff;background:#333;border:none;cursor:pointer;transition:background .2s;align-self:flex-start}.add-btn:hover{background:#555}.exhibitions-list{display:flex;flex-direction:column;gap:1rem}.exhibition-row{display:flex;gap:1.5rem;padding:1.5rem;background:#fff;border:1px solid #eee}.order-btn{width:28px;height:28px;border:1px solid #ddd;background:#fff;cursor:pointer;font-size:14px;transition:all .2s}.order-btn:hover:not(:disabled){background:#f0f0f0;border-color:#999}.order-number{font-family:Georgia,serif;font-size:.85rem;color:#999}.exhibition-info{flex:1}.exhibition-info h4{font-family:Georgia,serif;font-size:1.1rem;font-weight:400;color:#333;margin:0 0 .3rem}.exhibition-meta{font-family:Georgia,serif;font-size:.85rem;color:#888;margin:0 0 .5rem}.exhibition-desc{font-family:Georgia,serif;font-size:.9rem;color:#666;margin:0;line-height:1.5}.exhibition-thumbs{display:flex;gap:.5rem;margin-top:1rem;align-items:center}.exhibition-thumbs img{width:50px;height:50px;object-fit:cover}.more-images{font-family:Georgia,serif;font-size:.8rem;color:#999}.edit-btn,.delete-btn,.save-btn,.cancel-btn{padding:.5rem 1rem;font-family:Georgia,serif;font-size:.8rem;border:none;cursor:pointer;transition:all .2s}.edit-btn{background:#f0f0f0;color:#333}.edit-btn:hover{background:#e0e0e0}.delete-btn{background:none;color:#c53030;border:1px solid #c53030}.delete-btn:hover{background:#c53030;color:#fff}.save-btn{background:#333;color:#fff}.save-btn:hover{background:#555}.cancel-btn{background:#f0f0f0;color:#666}.cancel-btn:hover{background:#e0e0e0}.edit-actions{display:flex;gap:.5rem;margin-top:1rem}.edit-images{margin-top:1rem}.edit-images label{display:block;font-family:Georgia,serif;font-size:.85rem;color:#666;margin-bottom:.5rem}.save-success{position:fixed;top:100px;right:2rem;background:#48bb78;color:#fff;padding:1rem 1.5rem;border-radius:4px;font-family:Georgia,serif;font-size:.9rem;transform:translate(150%);transition:transform .3s ease;z-index:1000;box-shadow:0 4px 15px #48bb784d}.save-success.show{transform:translate(0)}.save-success-content{display:flex;align-items:center;gap:.5rem}.save-checkmark{font-size:1.2rem}@media(max-width:768px){.exhibitions-editor{padding:1.5rem}.form-row{flex-direction:column}.form-row .form-group.small,.form-row .small-input{flex:1}.exhibition-row{flex-direction:column}.item-order,.item-actions{flex-direction:row}}.gallery-editor{max-width:1000px;margin:0 auto;padding:2rem}.editor-header{display:flex;align-items:center;gap:2rem;margin-bottom:2rem}.editor-header h2{font-family:Georgia,serif;font-size:1.5rem;font-weight:400;color:#333;margin:0}.back-button{font-family:Georgia,serif;font-size:.9rem;color:#666;text-decoration:none;transition:color .2s ease}.back-button:hover{color:#333}.editor-section{background:#fafafa;padding:1.5rem;margin-bottom:2rem;border:1px solid #eee}.editor-section h3{font-family:Georgia,serif;font-size:1.1rem;font-weight:400;color:#333;margin:0 0 1rem}.inline-edit{display:flex;gap:1rem}.inline-edit input{flex:1;padding:.6rem 1rem;font-family:Georgia,serif;font-size:.9rem;border:1px solid #ddd;outline:none}.inline-edit input:focus{border-color:#333}.add-item-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.form-row .form-group.small{flex:0 0 150px}.image-upload-field{flex:0 0 280px!important}.form-group-stack{flex:1;display:flex;flex-direction:column;gap:1rem}.form-group label{display:block;font-family:Georgia,serif;font-size:.8rem;color:#666;margin-bottom:.3rem}.form-group input,.form-group select{width:100%;padding:.6rem .8rem;font-family:Georgia,serif;font-size:.9rem;border:1px solid #ddd;outline:none;box-sizing:border-box}.form-group input:focus,.form-group select:focus{border-color:#333}.add-btn,.save-btn{padding:.6rem 1.5rem;font-family:Georgia,serif;font-size:.85rem;color:#fff;background:#333;border:none;cursor:pointer;transition:background .2s ease;align-self:flex-start}.add-btn:hover,.save-btn:hover{background:#555}.cancel-btn{padding:.6rem 1.5rem;font-family:Georgia,serif;font-size:.85rem;color:#666;background:#fff;border:1px solid #ddd;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{border-color:#333;color:#333}.items-list{display:flex;flex-direction:column;gap:1rem}.item-row{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:1px solid #eee}.item-order{display:flex;flex-direction:column;align-items:center;gap:.3rem}.order-btn{width:28px;height:28px;font-size:.9rem;background:#f0f0f0;border:none;cursor:pointer;transition:background .2s ease}.order-btn:hover:not(:disabled){background:#333;color:#fff}.order-btn:disabled{opacity:.3;cursor:not-allowed}.order-number{font-family:Georgia,serif;font-size:.85rem;color:#666}.item-preview{width:80px;height:60px;overflow:hidden;background:#f0f0f0}.item-preview img{width:100%;height:100%;object-fit:cover}.item-info{flex:1}.item-info h4{font-family:Georgia,serif;font-size:.95rem;font-weight:400;color:#333;margin:0 0 .3rem}.item-info p{font-family:Georgia,serif;font-size:.8rem;color:#888;margin:0 0 .3rem}.item-size{font-family:Georgia,serif;font-size:.7rem;color:#aaa;text-transform:uppercase;letter-spacing:.05em}.edit-form{display:flex;flex-direction:column;gap:.5rem}.edit-form input,.edit-form select{padding:.5rem .8rem;font-family:Georgia,serif;font-size:.85rem;border:1px solid #ddd;outline:none}.edit-actions{display:flex;gap:.5rem;margin-top:.5rem}.item-actions{display:flex;flex-direction:column;gap:.5rem}.edit-btn{padding:.5rem 1rem;font-family:Georgia,serif;font-size:.8rem;color:#666;background:#fff;border:1px solid #ddd;cursor:pointer;transition:all .2s ease}.edit-btn:hover{border-color:#333;color:#333}.delete-btn{padding:.5rem 1rem;font-family:Georgia,serif;font-size:.8rem;color:#c53030;background:#fff;border:1px solid #fed7d7;cursor:pointer;transition:all .2s ease}.delete-btn:hover{background:#c53030;color:#fff;border-color:#c53030}.edit-image-upload{margin-bottom:.5rem}.edit-image-upload .upload-zone{min-height:120px}@media(max-width:768px){.gallery-editor{padding:1rem}.form-row{flex-direction:column}.form-row .form-group.small{flex:1}.image-upload-field{flex:1!important}.item-row{flex-wrap:wrap}.item-actions{flex-direction:row;width:100%;margin-top:.5rem}}.item-description-preview{font-size:.85rem;color:#666;margin-top:.25rem;font-style:italic}.login-page{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:2rem}.login-container{width:100%;max-width:400px;padding:3rem;background:#fff;box-shadow:0 4px 30px #00000014}.login-container.success{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.login-title{font-family:Georgia,serif;font-size:1.5rem;font-weight:400;color:#333;margin:0 0 2rem;text-align:center}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-family:Georgia,serif;font-size:.85rem;color:#666;letter-spacing:.02em}.form-group input{padding:.8rem 1rem;font-family:Georgia,serif;font-size:.95rem;border:1px solid #ddd;outline:none;transition:border-color .3s ease}.form-group input:focus{border-color:#333}.error-message{font-family:Georgia,serif;font-size:.85rem;color:#c53030;margin:0;text-align:center}.login-button{padding:1rem;font-family:Georgia,serif;font-size:.9rem;color:#fff;background:#333;border:none;cursor:pointer;transition:background .3s ease;letter-spacing:.05em}.login-button:hover{background:#555}.login-hint{font-family:Georgia,serif;font-size:.75rem;color:#999;text-align:center;margin-top:1.5rem}.success-animation{text-align:center}.success-checkmark{width:80px;height:80px;margin:0 auto 1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#48bb78;animation:scale-in .5s ease forwards}.check-icon{width:40px;height:40px;position:relative;transform:rotate(45deg)}.icon-line{position:absolute;background:#fff;border-radius:2px}.line-tip{width:4px;height:15px;left:12px;bottom:8px;animation:line-tip .3s ease .2s forwards;transform:scaleY(0);transform-origin:bottom}.line-long{width:4px;height:30px;right:12px;bottom:8px;animation:line-long .3s ease .4s forwards;transform:scaleY(0);transform-origin:bottom}.success-text{font-family:Georgia,serif;font-size:1.1rem;color:#333;animation:fade-in .3s ease .6s forwards;opacity:0}@keyframes scale-in{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes line-tip{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes line-long{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.contact-page{max-width:800px;margin:0 auto;padding:4rem 2rem}.contact-title{font-family:Georgia,serif;font-size:2rem;font-weight:400;color:#333;margin:0 0 2rem;letter-spacing:.1em;text-transform:uppercase}.contact-text{font-family:Georgia,serif;font-size:1rem;color:#555;line-height:1.8;margin-bottom:3rem}.contact-text p{margin:0 0 1.5rem}.contact-text p:last-child{margin-bottom:0}.contact-info{display:flex;flex-direction:column;gap:1.25rem;padding-top:2rem;border-top:1px solid #eee}.contact-item{display:inline-flex;align-items:center;gap:.75rem;font-family:Georgia,serif;font-size:1rem;color:#555;text-decoration:none;transition:color .2s ease}.contact-item:hover{color:#333}.contact-icon{width:22px;height:22px;flex-shrink:0;opacity:.7}.contact-item:hover .contact-icon{opacity:1}@media(max-width:768px){.contact-page{padding:2rem 1.5rem}.contact-title{font-size:1.5rem;margin-bottom:1.5rem}}.exhibition-page{max-width:1000px;margin:0 auto;padding:4rem 2rem}.exhibition-not-found{text-align:center;padding:4rem 0}.exhibition-not-found h1{font-family:Georgia,serif;font-weight:400;color:#333;margin-bottom:2rem}.exhibition-header{margin-bottom:3rem}.exhibition-title{font-family:Georgia,serif;font-size:2.5rem;font-weight:400;color:#333;margin:0 0 1rem;letter-spacing:.02em}.exhibition-meta{display:flex;gap:1.5rem;font-family:Georgia,serif;font-size:.95rem;color:#888}.exhibition-meta span{position:relative}.exhibition-meta span:not(:last-child):after{content:"·";position:absolute;right:-.9rem;color:#ccc}.exhibition-content{margin-bottom:3rem}.exhibition-description{font-family:Georgia,serif;font-size:1.1rem;color:#555;line-height:1.8;margin-bottom:3rem}.exhibition-images{display:grid;grid-template-columns:1fr;gap:2rem}.exhibition-image-wrapper{overflow:hidden;background:#f5f5f5}.exhibition-image{width:100%;height:auto;display:block}.back-link{display:inline-block;font-family:Georgia,serif;font-size:.9rem;color:#666;text-decoration:none;transition:color .3s ease;padding-top:2rem;border-top:1px solid #eee}.back-link:hover{color:#333}@media(max-width:768px){.exhibition-page{padding:2rem 1.5rem}.exhibition-title{font-size:1.75rem}.exhibition-meta{flex-direction:column;gap:.3rem}.exhibition-meta span:after{display:none}}.gallery-page{max-width:1200px;margin:0 auto;padding:4rem 2rem}.gallery-title{font-family:Georgia,serif;font-size:2rem;font-weight:400;color:#333;margin-bottom:3rem;letter-spacing:.1em;text-transform:uppercase}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem;align-items:start}.gallery-item{position:relative}.gallery-image-wrapper{overflow:hidden;background:#f5f5f5}.gallery-image{width:100%;height:auto;display:block;transition:transform .6s ease,opacity .4s ease;opacity:0}.gallery-image.loaded,.gallery-image{opacity:1}.gallery-item:hover .gallery-image{transform:scale(1.02)}.gallery-caption{margin-top:1rem;padding:.5rem 0}.gallery-item-title{font-family:Georgia,serif;font-size:1rem;font-weight:400;color:#333;margin:0 0 .3rem;font-style:italic}.gallery-item-caption{font-family:Georgia,serif;font-size:.85rem;color:#888;margin:0 0 .5rem;line-height:1.5}.gallery-item-description{font-family:Georgia,serif;font-size:.9rem;color:#555;margin:0;line-height:1.6}@media(max-width:768px){.gallery-page{padding:2rem 1.5rem}.gallery-grid{grid-template-columns:1fr;gap:2rem}.gallery-title{font-size:1.5rem;margin-bottom:2rem}}.home-page{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.home-background{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.15;pointer-events:none}.home-hero{text-align:center;padding:2rem;position:relative;z-index:1}.home-title{font-family:Georgia,serif;font-size:3.5rem;font-weight:400;color:#333;margin:0 0 1rem;letter-spacing:.02em}.home-subtitle{font-family:Georgia,serif;font-size:1.1rem;color:#888;margin:0 0 2.5rem;font-style:italic}.home-cta{display:inline-block;font-family:Georgia,serif;font-size:.9rem;color:#333;text-decoration:none;padding:.8rem 2rem;border:1px solid #333;transition:all .3s ease;letter-spacing:.05em}.home-cta:hover{background:#333;color:#fff}@media(max-width:768px){.home-title{font-size:2rem}.home-subtitle{font-size:.95rem}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Georgia,Times New Roman,serif;line-height:1.6;color:#333;background-color:#fff;min-height:100vh}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:400;letter-spacing:.02em}a{color:inherit;text-decoration:none}html{scroll-behavior:smooth}::selection{background:#0000001a}:focus-visible{outline:2px solid #333;outline-offset:2px}
