.navbar-scroll{position:fixed;top:0;left:0;width:100%;z-index:50;transition:background-color .5s ease,backdrop-filter .5s ease,border-color .5s ease,padding .5s ease}@supports (animation-timeline: scroll()){.navbar-scroll{animation:navbar-scroll-state linear;animation-timeline:scroll();animation-range:0px 50px}@keyframes navbar-scroll-state{0%{background-color:transparent;padding-top:.75rem;padding-bottom:.75rem}to{background-color:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-gold);padding-top:.5rem;padding-bottom:.5rem}}@media(min-width:640px){@keyframes navbar-scroll-state{0%{background-color:transparent;padding-top:1rem;padding-bottom:1rem}to{background-color:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-gold);padding-top:.75rem;padding-bottom:.75rem}}}}@supports not (animation-timeline: scroll()){.navbar-scroll{--navbar-bg: transparent;--navbar-backdrop: none;--navbar-border: transparent;--navbar-padding-y: .75rem;background-color:var(--navbar-bg);backdrop-filter:var(--navbar-backdrop);-webkit-backdrop-filter:var(--navbar-backdrop);border-color:var(--navbar-border);padding-top:var(--navbar-padding-y);padding-bottom:var(--navbar-padding-y)}@media(min-width:640px){.navbar-scroll{--navbar-padding-y: 1rem}}.navbar-scroll[data-scrolled=true]{--navbar-bg: var(--bg-glass);--navbar-backdrop: blur(20px);--navbar-border: var(--border-gold);--navbar-padding-y: .5rem}@media(min-width:640px){.navbar-scroll[data-scrolled=true]{--navbar-padding-y: .75rem}}}.navbar-scroll,.navbar-scroll[data-scrolled]{transition:background-color .5s cubic-bezier(.4,0,.2,1),backdrop-filter .5s cubic-bezier(.4,0,.2,1),border-color .5s cubic-bezier(.4,0,.2,1),padding-top .5s cubic-bezier(.4,0,.2,1),padding-bottom .5s cubic-bezier(.4,0,.2,1)}@supports (animation-timeline: scroll()){.navbar-scroll{will-change:transform;transform:translateZ(0)}}@supports not (animation-timeline: scroll()){.navbar-scroll[data-scrolled=true]{will-change:transform;transform:translateZ(0)}}.video-letter-wrapper{position:relative;display:inline-block;width:100%;height:100%;cursor:pointer;user-select:none;animation:fadeInUp .8s ease-out}.letter-svg{display:block;overflow:visible;width:100%;height:100%}.letter-text{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:900;font-size:250px;fill:#000;stroke:none}.letter-video-container{position:relative;width:100%;height:100%;overflow:hidden}.letter-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s ease-in-out,transform .3s ease-out,filter .3s ease-out}.letter-fallback{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s ease-in-out}.video-letter-wrapper:hover .letter-video{transform:scale(1.05);filter:brightness(1.15)}.video-letter-wrapper:hover{transform:translateY(-5px);transition:transform .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.letter-text{font-size:200px}}@media(max-width:768px){.letter-text{font-size:150px}.video-letter-wrapper:hover .letter-video{transform:scale(1.02)}.video-letter-wrapper:hover{transform:none}}@media(max-width:480px){.letter-text{font-size:120px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.video-letter-wrapper:focus-visible{outline:2px solid #D4AF37;outline-offset:4px;border-radius:4px}@media(prefers-reduced-motion:reduce){.letter-video{display:none}.letter-fallback{opacity:1!important}.video-letter-wrapper{animation:none}.video-letter-wrapper:hover,.video-letter-wrapper:hover .letter-video{transform:none;filter:none;transition:none}}.letter-video,.letter-fallback,.video-letter-wrapper{will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden}noscript .letter-video{display:none}noscript .letter-fallback{opacity:1!important}.hero-content{transform:scale(calc(1 + (var(--scroll-y, 0px) * .015 / 1px)));will-change:transform}.hero-subtitle,.hero-description,.hero-scroll-indicator{opacity:calc(1 - var(--scroll-y, 0px) / 400px);will-change:opacity}.hero-description{filter:blur(calc(var(--scroll-y, 0px) / 50));will-change:filter}.hero-ambient-background{opacity:calc(var(--scroll-y, 0px) / 400px);will-change:opacity}.admin-dashboard{display:flex;min-height:calc(100vh - 80px);background:#0a0a0a;color:#fff}.admin-sidebar{width:280px;min-width:280px;background:#111;border-right:1px solid #333;overflow-y:auto;padding:1rem}.city-selector h3{margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #333}.city-list{list-style:none;padding:0;margin:0}.city-item{display:flex;justify-content:space-between;padding:.75rem;cursor:pointer;border-radius:4px;transition:background .2s}.city-item:hover{background:#222}.city-item.selected{background:#2563eb}.city-count{color:#888;font-size:.875rem}.admin-content{flex:1;padding:1.5rem;overflow-y:auto}.image-grid-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.image-grid-content{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.image-grid-placeholder{display:flex;align-items:center;justify-content:center;height:300px;color:#666}.image-thumbnail{background:#1a1a1a;border-radius:8px;overflow:hidden;border:2px solid transparent;transition:border-color .2s}.image-thumbnail.is-main{border-color:#fbbf24}.image-thumbnail.in-gallery{border-color:#3b82f6}.thumbnail-image img{width:100%;height:150px;object-fit:cover}.thumbnail-image .main-indicator{position:absolute;top:5px;right:5px;color:#fbbf24;font-size:20px;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.thumbnail-actions{display:flex;justify-content:space-between;padding:.5rem;background:#111}.set-main-btn{background:none;border:none;color:#888;cursor:pointer;font-size:.75rem}.set-main-btn.active{color:#fbbf24}.gallery-toggle{display:flex;align-items:center;gap:.375rem;cursor:pointer;font-size:.75rem;color:#888;user-select:none}.gallery-toggle:hover{color:#fff}.gallery-toggle input[type=checkbox]{width:14px;height:14px;accent-color:#3b82f6;cursor:pointer}.gallery-toggle span{transition:color .2s}.image-thumbnail.in-gallery .gallery-toggle{color:#3b82f6}.image-thumbnail.in-gallery .gallery-toggle input[type=checkbox]{background-color:#3b82f6}.no-images{grid-column:1 / -1;text-align:center;color:#666;padding:2rem}.upload-dropzone{border:2px dashed #444;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .2s;margin-bottom:1rem}.upload-dropzone:hover{border-color:#2563eb;background:#2563eb1a}.upload-dropzone.dragging{border-color:#2563eb;background:#2563eb33}.upload-dropzone.disabled{opacity:.5;cursor:not-allowed}.dropzone-label{cursor:pointer;display:block}.dropzone-icon{font-size:2rem;margin-bottom:.5rem}.dropzone-subtext{color:#666;font-size:.875rem}.upload-progress{background:#1a1a1a;border:1px solid #2563eb;border-radius:8px;padding:1rem;margin-bottom:1rem}.upload-progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.upload-filename{font-size:.875rem;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:.5rem}.upload-cancel{background:none;border:none;color:#ef4444;cursor:pointer;font-size:.75rem;padding:.25rem .5rem;flex-shrink:0}.upload-cancel:hover{text-decoration:underline}.upload-progress-bar{height:8px;background:#333;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.upload-progress-fill{height:100%;background:linear-gradient(90deg,#2563eb,#3b82f6);transition:width .3s ease}.upload-progress-text{font-size:.75rem;color:#888}.upload-error{background:#ef44441a;border:1px solid #ef4444;border-radius:8px;padding:1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.error-icon{font-size:1rem;color:#ef4444;font-weight:700;flex-shrink:0}.error-message{flex:1;font-size:.875rem;color:#ef4444}.error-dismiss{background:none;border:1px solid #ef4444;color:#ef4444;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;cursor:pointer;flex-shrink:0}.error-dismiss:hover{background:#ef4444;color:#fff}.save-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#333;border:none;border-radius:6px;color:#888;font-size:.875rem;cursor:not-allowed;transition:all .2s}.save-button.has-changes{background:#2563eb;color:#fff;cursor:pointer}.save-button.has-changes:hover{background:#1d4ed8}.save-button:disabled{opacity:.6;cursor:not-allowed}.save-button.loading{background:#2563eb;color:#fff}.spinner{width:14px;height:14px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-toolbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid #333;margin-bottom:1rem}.dashboard-toolbar h2{margin:0;font-size:1.25rem;font-weight:600}.image-preview-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.image-preview-modal{background:#1a1a1a;border-radius:12px;max-width:90vw;max-height:90vh;overflow:hidden;position:relative}.preview-close{position:absolute;top:10px;right:10px;background:#00000080;border:none;color:#fff;font-size:1.5rem;width:36px;height:36px;border-radius:50%;cursor:pointer;z-index:10}.preview-close:hover{background:#fff3}.preview-image-container img{max-width:100%;max-height:70vh;object-fit:contain}.preview-info{padding:1rem;border-top:1px solid #333}.preview-filename{margin:0 0 .5rem;font-size:.875rem;color:#ccc}.preview-badges{display:flex;gap:.5rem}.badge{padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:500}.badge-main{background:#fbbf24;color:#000}.badge-gallery{background:#3b82f6;color:#fff}.selection-preview{background:#1a1a1a;border-radius:8px;padding:1rem;margin-top:1rem}.selection-preview h4{margin:0 0 1rem;font-size:.875rem;text-transform:uppercase;color:#888}.preview-main h5,.preview-gallery h5{margin:0 0 .5rem;font-size:.75rem;color:#666}.preview-main-image{border-radius:8px;overflow:hidden;margin-bottom:1rem}.preview-main-image img{width:100%;height:150px;object-fit:cover}.preview-placeholder{height:150px;background:#222;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#666;margin-bottom:1rem}.preview-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.preview-gallery-item{aspect-ratio:1;border-radius:4px;overflow:hidden;position:relative}.preview-gallery-item img{width:100%;height:100%;object-fit:cover}.preview-gallery-item.is-main{border:2px solid #fbbf24}.order-badge{position:absolute;bottom:2px;right:2px;background:#000000b3;color:#fff;font-size:.625rem;padding:.125rem .25rem;border-radius:2px}.preview-empty{color:#666;font-size:.875rem;text-align:center;padding:1rem}.preview-summary{margin-top:1rem;padding-top:1rem;border-top:1px solid #333}.preview-summary p{margin:0;font-size:.875rem;color:#ccc}.image-grid-content>div{cursor:grab}.image-grid-content>div:active{cursor:grabbing}.image-grid-content>div[style*="opacity: 0.5"]{cursor:grabbing}.dashboard-empty{display:flex;align-items:center;justify-content:center;height:300px;color:#666;font-size:1rem}.confirm-dialog-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1001}.confirm-dialog{background:#1a1a1a;border-radius:12px;padding:1.5rem;max-width:400px;width:90%;box-shadow:0 20px 60px #00000080}.confirm-dialog h3{margin:0 0 1rem;font-size:1.25rem;color:#fff}.confirm-dialog p{margin:0 0 1.5rem;color:#aaa;line-height:1.6}.confirm-dialog p strong{color:#fff}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem}.btn-cancel{padding:.5rem 1rem;background:#333;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:background .2s}.btn-cancel:hover{background:#444}.btn-confirm{padding:.5rem 1rem;background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:background .2s}.btn-confirm:hover{background:#1d4ed8}.btn-confirm:disabled{opacity:.5;cursor:not-allowed}.toast{position:fixed;bottom:20px;right:20px;padding:.75rem 1.25rem;border-radius:8px;font-size:.875rem;z-index:1002;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{background:#059669;color:#fff}.toast-error{background:#dc2626;color:#fff}
