.overlay-menu{position:fixed;inset:0;z-index:var(--z-modal, 2000);background-color:var(--color-bg);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .45s cubic-bezier(.77,0,.175,1),visibility .45s cubic-bezier(.77,0,.175,1);will-change:opacity,visibility}.overlay-menu--open{opacity:1;visibility:visible}.overlay-menu__close{position:absolute;top:24px;right:var(--space-xl);width:80px;height:80px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:10px;background:none;border:none;z-index:10}.close-line{position:absolute;display:block;width:72px;height:6px;background-color:#fff;border-radius:2px;transition:transform .3s ease}.close-line:first-child{transform:rotate(45deg)}.close-line:last-child{transform:rotate(-45deg)}.overlay-menu__close:hover .close-line:first-child{transform:rotate(45deg) scaleX(.8)}.overlay-menu__close:hover .close-line:last-child{transform:rotate(-45deg) scaleX(.8)}.overlay-menu__nav{text-align:center}.overlay-menu__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.1em}.overlay-menu__item{overflow:hidden;transform:translateY(60px);opacity:0;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .55s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--item-index) * .07s + .1s)}.overlay-menu--open .overlay-menu__item{transform:translateY(0);opacity:1}.overlay-menu__link{display:block;font-family:var(--font-primary, "Inter", sans-serif);font-weight:900;font-size:clamp(3.5rem,9vw,7rem);line-height:.9em;letter-spacing:-.05em;text-transform:lowercase;color:#fff;text-decoration:none;cursor:pointer;transition:opacity .2s ease,letter-spacing .3s ease;-webkit-font-smoothing:antialiased}.overlay-menu__link:hover{opacity:.6;letter-spacing:-.03em}.overlay-sidebar-position{position:absolute;right:calc(var(--space-xl) + 14px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:32px}@media(max-width:768px){.overlay-menu__close{top:14px;right:var(--space-md);width:60px;height:60px}.close-line{width:42px;height:3px;border-radius:1px}.overlay-sidebar-position{right:calc(var(--space-md) + 14px)}}.site-header{position:fixed;top:0;left:0;width:100%;padding:1.5rem var(--space-xl);display:flex;justify-content:space-between;align-items:center;z-index:1000;pointer-events:none}.logo-container,.hamburger-menu{pointer-events:auto}.logo-container{display:flex;align-items:center;gap:8px;cursor:pointer}.logo-circles{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:0px;width:86px;height:86px}.circle{background-color:var(--color-primary);border-radius:50%;width:100%;height:100%}.logo-text-image{height:80px;width:auto;object-fit:contain}.logo-container:hover .logo-circles{transform:rotate(90deg);transition:transform .4s ease-in-out}.logo-circles{transition:transform .4s ease-in-out}.hamburger-menu{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:80px;height:80px;padding:10px;transition:opacity .3s}.hamburger-menu:hover{opacity:.7}.hamburger-menu .line{display:block;width:72px;height:6px;border-radius:2px;background-color:var(--color-primary);transition:transform .3s,width .3s}.hamburger-menu:hover .line:nth-child(2){width:32px;transform:translate(10px)}@media(max-width:768px){.site-header{padding:1rem var(--space-md)}.logo-circles{width:60px;height:60px}.logo-text-image{height:56px}.logo-container{gap:6px}.hamburger-menu{gap:7px;width:60px;height:60px}.hamburger-menu .line{width:36px;height:3px;border-radius:0}.hamburger-menu:hover .line:nth-child(2){width:16px;transform:translate(5px)}}.video-carousel{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden;background-color:var(--color-bg)}.carousel-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease-in-out;z-index:1}.carousel-video.active{opacity:1;z-index:1}.carousel-video.fade-in{opacity:1;z-index:2}.carousel-video.fade-out{opacity:1;z-index:1}.carousel-video.hidden{opacity:0;z-index:-1;pointer-events:none;visibility:hidden}.carousel-controls{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:10px}.carousel-dot{position:relative;width:36px;height:3px;border-radius:2px;cursor:pointer;overflow:hidden;background:#ffffff47;border:none;padding:0;transition:background .3s ease,transform .3s ease}.carousel-dot.active{background:#ffffff59;transform:scaleY(1.4)}.carousel-dot:hover:not(.active){background:#ffffff80}.dot-progress{position:absolute;inset:0;background:#fff;transform-origin:left center;transition:transform .05s linear;border-radius:inherit}@media(max-width:768px){.carousel-arrow{width:40px;height:40px}.carousel-arrow-left{left:1rem}.carousel-arrow-right{right:1rem}.carousel-dot{width:24px}}.loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--color-bg);display:flex;justify-content:center;align-items:center;z-index:9999}.loading-logo-container{width:120px;height:120px}.loading-logo-circles{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:0px;width:100%;height:100%;animation:loading-spin 2s linear infinite}.loading-logo-circles .circle{background-color:var(--color-primary, #ffffff);border-radius:50%;width:100%;height:100%}@keyframes loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-screen.inline{position:relative;width:100%;height:auto;min-height:200px;background-color:transparent;padding:2rem}.loading-screen.inline .loading-logo-container{width:60px;height:60px}.loading-screen.theme-admin{background-color:#f5f5f7}.loading-screen.theme-admin .loading-logo-circles .circle{background-color:var(--color-bg, #0000ff)}.home-container{position:fixed;inset:0;overflow:hidden;isolation:isolate}.hero-text-container{position:absolute;bottom:calc(var(--space-xl) + 2rem);left:calc(var(--space-xl) + 4vw);max-width:65vw;z-index:10;pointer-events:none}.hero-text-animate{font-size:var(--text-hero);line-height:1em;letter-spacing:-.05em;font-weight:800;animation:fadeInUp 1s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.hero-text-container{max-width:75vw}}@media(max-width:768px){.hero-text-container{left:var(--space-md);bottom:var(--space-xl);max-width:calc(100vw - var(--space-md) * 2 - 60px)}}.admin-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f5f5f7;color:#1d1d1f;font-family:var(--font-primary)}.login-card{background:#fff;padding:3rem;border-radius:16px;box-shadow:0 10px 30px #0000000d;width:100%;max-width:400px}.admin-logo{font-size:1.5rem;font-weight:900;letter-spacing:-.05em;margin-bottom:2rem;display:flex;align-items:center;gap:8px;line-height:.9}.admin-logo-circles{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:0;width:40px;height:40px;flex-shrink:0}.admin-circle{background-color:#1d1d1f;border-radius:50%;width:100%;height:100%}.admin-badge{background:var(--color-bg);color:#fff;font-size:.7rem;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:normal;font-weight:600}.admin-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.85rem;font-weight:600;color:#86868b}.form-group input,.form-group textarea{padding:.8rem 1rem;border:1px solid #d2d2d7;border-radius:8px;font-family:inherit;font-size:1rem;background-color:#fbfbfd;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.admin-btn{padding:.8rem 1.5rem;border-radius:8px;font-weight:600;font-size:.95rem;transition:all .2s}.admin-btn.primary{background-color:#06c;color:#fff}.admin-btn.primary:hover:not(:disabled){background-color:#05a}.admin-btn:disabled{opacity:.6;cursor:not-allowed}.admin-card>.admin-btn{align-self:flex-end;margin-top:1rem}.admin-btn.danger{background-color:#ff3b30;color:#fff;border:none}.admin-btn.danger:hover:not(:disabled){background-color:#e6352b}.admin-layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background-color:#f5f5f7;color:#1d1d1f}.admin-sidebar{background:#fff;border-right:1px solid #e5e5ea;padding:2rem;display:flex;flex-direction:column}.admin-nav-links{list-style:none;margin-top:2rem}.admin-nav-links li{padding:.75rem 1rem;margin-bottom:.5rem;border-radius:8px;color:#515154;font-weight:500;cursor:pointer}.admin-nav-links li.active{background:#f0f4f8;color:#06c;font-weight:600}.admin-nav-links li.logout-nav-item{margin-top:2rem;color:#ff3b30;font-weight:600}.admin-nav-links li.logout-nav-item:hover{background:#fff1f0}.admin-main{padding:3rem 4rem;max-width:1200px}.admin-header h1{font-size:2rem;margin-bottom:.5rem}.subtitle{color:#86868b;margin-bottom:2rem}.reorder-hint{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#06c;background:#0066cc0d;padding:8px 12px;border-radius:6px;margin-bottom:1.5rem;width:fit-content}.reorder-hint svg{flex-shrink:0}.admin-card{background:#fff;padding:2rem;border-radius:16px;border:1px solid #e5e5ea;margin-bottom:2rem;display:flex;flex-direction:column}.admin-card h2{font-size:1.2rem;margin-bottom:1.5rem;border-bottom:1px solid #e5e5ea;padding-bottom:1rem}.card-header-flex{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e5ea;margin-bottom:1.5rem;padding-bottom:1rem}.card-header-flex h2{border-bottom:none;margin-bottom:0;padding-bottom:0}.status-badge{background:#e8f5e9;color:#2e7d32;padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:600}.help-text{font-size:.85rem;color:#86868b;margin-top:.5rem}.mb-4{margin-bottom:1.5rem}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;padding:16px;border-radius:12px;transition:background .2s}.video-grid.drag-active-grid{background:#f5f5f7}.video-grid.drag-active-grid .video-upload-slot{outline:1.5px dashed #b5b5ba;outline-offset:-1.5px;border-radius:12px;background:#fff}.video-upload-slot{display:flex;flex-direction:column;gap:.75rem;transition:transform .2s ease,opacity .2s ease}.video-preview{position:relative;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden}.video-upload-slot[draggable=true]{cursor:grab}.video-upload-slot[draggable=true]:active{cursor:grabbing}.video-upload-slot.dragging{opacity:.4;transform:scale(.95)}.video-preview.placeholder{background:#f5f5f7;border:2px dashed #d2d2d7;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:border-color .2s,background-color .2s;color:#86868b;padding:1rem;min-height:200px}.video-preview-dual{display:flex;flex-direction:column;gap:12px;width:100%;position:relative;border-radius:12px;background:transparent;padding:0;box-sizing:border-box}.dual-placeholder{padding-top:2rem}.dual-upload-options{display:flex;flex-direction:row;gap:16px;width:100%}.dual-upload-options .upload-prompt{flex:1;background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 8px #0000000d}.dual-preview-item{display:flex;flex-direction:column;width:100%;gap:8px;position:relative;background:#f5f5f7;padding:10px;border-radius:12px;box-sizing:border-box}.desktop-preview{aspect-ratio:16 / 9}.mobile-preview{aspect-ratio:9 / 16}.dual-preview-item video{border-radius:8px;background:#000}.item-labels{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;font-weight:600;color:#1d1d1f}.compact{gap:4px;font-size:.8rem}.icon-btn.danger{background:none;border:none;color:#ff3b30;cursor:pointer;padding:0 4px;font-size:1rem}.icon-btn.danger:hover{transform:scale(1.1)}.video-preview.placeholder:hover{border-color:#06c;background-color:#f0f4f8;color:#06c}.slot-number{position:absolute;top:8px;left:8px;background:#0000001a;color:#1d1d1f;width:24px;height:24px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}.upload-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.9rem;font-weight:500}.slot-actions{display:flex;justify-content:space-between}.text-btn{color:#06c;font-size:.85rem;font-weight:600}.text-btn:hover{text-decoration:underline}.header-with-btn{display:flex;justify-content:space-between;align-items:flex-start}.project-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-top:1rem;padding:16px;border-radius:12px;transition:background .2s}.project-list-grid.drag-active-grid{background:#f5f5f7}.project-list-grid.drag-active-grid .project-item-card{outline:1.5px dashed #b5b5ba;outline-offset:-1.5px}.project-item-card{background:#fff;border-radius:16px;overflow:hidden;border:1px solid #e5e5ea;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.project-item-card:hover{transform:translateY(-4px);box-shadow:0 10px 20px #0000000d}.project-item-card[draggable]{cursor:grab}.project-item-card[draggable]:active{cursor:grabbing}.project-item-card.dragging{opacity:.4;transform:scale(.95);box-shadow:0 0 0 2px #06c}.project-item-thumb{position:relative;aspect-ratio:16 / 9;background:#f5f5f7}.project-item-thumb img{width:100%;height:100%;object-fit:cover}.project-item-overlay{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;gap:1rem;opacity:0;transition:opacity .2s}.project-item-thumb:hover .project-item-overlay{opacity:1}.project-item-overlay button{background:#fff;color:#1d1d1f;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:600;font-size:.85rem;cursor:pointer}.project-item-overlay button.danger{background:#ff3b30;color:#fff}.project-item-info{padding:1.25rem}.project-item-info h3{font-size:1.1rem;margin-bottom:.25rem}.project-item-info p{color:#86868b;font-size:.9rem;margin-bottom:.75rem}.order-tag{font-size:.75rem;background:#f5f5f7;padding:2px 8px;border-radius:4px;color:#86868b;font-weight:600}.admin-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-modal{background:#fff;width:100%;max-width:600px;border-radius:20px;overflow:hidden;box-shadow:0 20px 40px #0003}.modal-header{padding:1.5rem 2rem;border-bottom:1px solid #e5e5ea;display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:1.25rem;margin:0}.close-modal{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#86868b}.modal-body{padding:2rem;max-height:70vh;overflow-y:auto}.modal-footer{padding:1.5rem 2rem;border-top:1px solid #e5e5ea;display:flex;justify-content:flex-end;gap:1rem;background:#f9f9f9}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.media-upload-box{display:flex;flex-direction:column;height:100%}.media-upload-box>label:first-child{display:block;margin-bottom:.5rem}.media-preview-container{position:relative;aspect-ratio:16 / 9;background:#f5f5f7;border:2px dashed #d2d2d7;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center}.mobile-preview-container{aspect-ratio:9 / 16;max-height:400px;margin-right:auto}.text-btn{background:none;border:none;padding:.5rem 1rem;cursor:pointer;transition:opacity .2s ease}.text-btn:hover{opacity:.7}.text-btn.danger{color:#ff3b30}.media-preview-container img,.media-preview-container video{width:100%;height:100%;object-fit:cover}.media-placeholder{color:#86868b;font-weight:500}.media-preview-container.drag-active{border-color:#06c;background:#f0f4f8}.media-preview-container.drag-active .upload-overlay{opacity:1;background:#0066cc8c}.upload-format-hint{font-size:.78rem;color:#aeaeb2;margin-top:6px}.upload-overlay{position:absolute;inset:0;background:transparent;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s,background .2s}.upload-overlay:hover,.upload-overlay.is-uploading{opacity:1;background:#0009}.media-upload-box .upload-overlay{display:flex;margin-bottom:0}.upload-icon-btn{background:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#1d1d1f;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;transition:transform .2s,background .2s}.upload-overlay:hover .upload-icon-btn{transform:scale(1.1);background:#fff}.upload-text{color:#fff;font-size:.95rem;font-weight:600;letter-spacing:.02em;text-shadow:0 2px 4px rgba(0,0,0,.3)}.upload-loading-badge{background:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#1d1d1f;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600;box-shadow:0 4px 12px #00000026}.empty-state{grid-column:1 / -1;text-align:center;padding:4rem;background:#fff;border-radius:16px;border:1px dashed #d2d2d7;color:#86868b}.global-upload-toasts{position:fixed;bottom:2rem;right:2rem;display:flex;flex-direction:column;gap:1rem;z-index:9999}.upload-toast{background:#fff;padding:1rem;border-radius:12px;box-shadow:0 10px 30px #0000001a;width:320px;border:1px solid #e5e5ea;display:flex;flex-direction:column;gap:.5rem;animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.toast-info{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;font-weight:600}.toast-filename{color:#1d1d1f}.toast-percent{color:#06c}.toast-progress-bg{width:100%;height:6px;background:#f5f5f7;border-radius:3px;overflow:hidden}.toast-progress-fill{height:100%;background:#06c;transition:width .3s ease}.toast-cancel-btn{align-self:flex-end;font-size:.8rem;color:#ff3b30;cursor:pointer;background:none;border:none;padding:0;margin-top:.25rem}.toast-cancel-btn:hover{text-decoration:underline}.notification-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.notification-toast{background:#1e1e1ed9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);color:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 4px 15px #0000004d;display:flex;align-items:center;gap:12px;pointer-events:auto;animation:slideInRight .3s ease-out forwards;cursor:default;min-width:250px;max-width:350px}.notification-toast.success{border-left:4px solid #4ade80}.notification-toast.error{border-left:4px solid #ef4444}.notification-toast.warning{border-left:4px solid #f59e0b}.notification-toast.info{border-left:4px solid #3b82f6}.notification-toast.exiting{animation:fadeOutUp .3s ease-in forwards}.notification-message{flex-grow:1;font-size:14px;font-weight:500;line-height:1.4}.notification-close{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:18px;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s}.notification-close:hover{color:#fff}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOutUp{0%{transform:translateY(0);opacity:1}to{transform:translateY(-20px);opacity:0}}.confirm-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out forwards}.confirm-dialog{background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;width:90%;max-width:400px;box-shadow:0 10px 30px #00000080;color:#fff;text-align:center;animation:scaleIn .2s ease-out forwards}.confirm-dialog h3{margin:0 0 12px;font-size:18px;font-weight:600}.confirm-dialog p{margin:0 0 24px;font-size:15px;color:#fffc;line-height:1.5}.confirm-actions{display:flex;gap:12px;justify-content:stretch}.confirm-btn{flex:1;padding:10px 16px;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer;transition:background .2s,transform .1s;border:none}.confirm-btn:active{transform:scale(.98)}.confirm-btn.cancel{background:#ffffff1a;color:#fff}.confirm-btn.cancel:hover{background:#fff3}.confirm-btn.confirm{background:#ef4444;color:#fff}.confirm-btn.confirm:hover{background:#dc2626}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.videos-container{width:100%;min-height:100vh;background:var(--color-bg)}.videos-grid{display:grid;grid-template-columns:1fr;width:100%;gap:0}.project-card{position:relative;width:100%;aspect-ratio:4 / 3;cursor:pointer;overflow:hidden;background:linear-gradient(90deg,#05052e 25%,#0d1155,#05052e 75%);background-size:200% 100%;animation:card-shimmer 1.4s ease-in-out infinite;max-height:80vh}.project-thumbnail{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,1,.3,1),filter .5s ease,opacity .4s ease;filter:brightness(.78);opacity:0}.project-thumbnail.loaded{opacity:1;animation:none}@media(hover:hover){.project-card:hover .project-thumbnail{transform:scale(1.08);filter:brightness(.7)}}.project-overlay{position:absolute;inset:0;padding:clamp(1rem,3vw,2.5rem);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;background:linear-gradient(to top,#000000bf,#0000000d 65%);color:#fff}@media(hover:hover){.project-card:hover .project-overlay{background:linear-gradient(to top,#000000d9,#0000001a 65%)}}@media(min-width:768px){.videos-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.videos-grid{grid-template-columns:repeat(3,1fr)}.project-card{aspect-ratio:4 / 3;max-height:calc(100vh - 100px)}}.videos-loading{display:flex;align-items:center;justify-content:center;height:100vh;color:#fff;font-size:1.2rem;background:var(--color-bg)}.video-detail-container{width:100%;height:100vh;height:100dvh;background:var(--color-bg);position:fixed;inset:0;display:flex;flex-direction:column;overflow:hidden;z-index:2000}.close-btn{position:absolute;top:2rem;right:2rem;z-index:100;width:48px;height:48px;background:#00000080;border:none;border-radius:50%;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background .3s,opacity 1s ease-in-out,visibility 1s}.close-btn:hover{background:#fff3}.close-btn .close-line{width:22px;height:2px;background:#fff;display:block;position:absolute;border-radius:1px}.close-btn .close-line:nth-child(1){transform:rotate(45deg)}.close-btn .close-line:nth-child(2){transform:rotate(-45deg)}.video-wrapper{flex-grow:1;width:100%;height:100%;position:relative;cursor:pointer;overflow:hidden}.full-video{width:100%;height:100%;object-fit:cover;border:none}.youtube-iframe{background:#000;position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%);pointer-events:none}@media(min-aspect-ratio:16/9){.youtube-iframe{height:56.25vw;width:100%}}@media(max-aspect-ratio:16/9){.youtube-iframe{width:177.78vh;width:177.78dvh;height:100%}}.youtube-iframe.hidden{opacity:0;visibility:hidden}.youtube-iframe.visible{opacity:1;visibility:visible}.video-wrapper.is-youtube{cursor:default}.play-overlay.hidden{display:none}.play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0003}.play-button{width:100px;height:100px;background:#fff3;border:2px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .2s,background .2s}.play-overlay:hover .play-button{transform:scale(1.1);background:#ffffff4d}.buffering-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0000004d;z-index:21}.buffering-spinner{width:60px;height:60px}.video-meta{position:absolute;bottom:max(2rem,env(safe-area-inset-bottom) + 1rem);left:max(2rem,env(safe-area-inset-left));right:max(2rem,env(safe-area-inset-right));color:#fff;z-index:50;pointer-events:none;transition:opacity 1s ease-in-out,visibility 1s}.info-hidden{opacity:0;visibility:hidden}.video-meta h2{display:flex;flex-wrap:wrap;align-items:center;font-size:clamp(2rem,3.5vw,3rem);font-weight:800;margin:0;line-height:1.1;letter-spacing:-.05em}.video-meta h2 span{word-break:break-word}.video-meta p{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:600;margin:.5rem 0 0;opacity:.9;letter-spacing:-.05em}.video-detail-loading{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);color:#fff;font-size:1.2rem}@media(max-width:1024px){.meta-dot-logo{width:22px;height:22px}}@media(max-width:768px){.video-meta h2{font-size:1.8rem}.meta-dot-logo{width:18px;height:18px}.play-button{width:80px;height:80px}}.photos-container{width:100%;min-height:100vh;background:var(--color-bg)}.photos-grid{display:grid;grid-template-columns:1fr;width:100%;gap:0}.project-card{position:relative;width:100%;aspect-ratio:4 / 3;cursor:pointer;overflow:hidden;background:linear-gradient(90deg,#05052e 25%,#0d1155,#05052e 75%);background-size:200% 100%;animation:card-shimmer 1.4s ease-in-out infinite}.project-thumbnail{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,1,.3,1),opacity .4s ease;opacity:0}.project-thumbnail.loaded{opacity:1}.project-card.loaded{animation:none;background:transparent}@media(hover:hover){.project-card:hover .project-thumbnail{transform:scale(1.08)}}.project-overlay{position:absolute;inset:0;padding:2rem;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;background:linear-gradient(to top,#000000b3,#0000 50%);color:#fff;transition:background-color .5s ease}@media(hover:hover){.project-card:hover .project-overlay{background:linear-gradient(to top,#000c,#0000 50%)}}.project-text{width:100%}.project-title{font-size:clamp(1.5rem,2.5vw,2.4rem);font-weight:700;line-height:1.1;margin:0;letter-spacing:-.08em}.project-brand{font-size:clamp(1rem,1.2vw,1.3rem);font-weight:600;margin-top:.2rem;letter-spacing:-.08em;opacity:.9}@media(min-width:768px){.photos-grid{grid-template-columns:repeat(2,1fr)}.project-card{aspect-ratio:3 / 4}}@media(min-width:1200px){.photos-grid{grid-template-columns:repeat(3,1fr)}.project-card{aspect-ratio:3 / 4}}@keyframes card-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.photo-detail-container{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:var(--color-bg);z-index:9999;overflow:hidden;color:#fff}.gallery-close-btn{position:absolute;top:2rem;right:2rem;width:40px;height:40px;background:#00000080;border:none;border-radius:50%;cursor:pointer;z-index:10001;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background .3s}.gallery-close-btn:hover{background:#fff3}.gallery-close-btn .close-line{width:20px;height:2px;background:#fff;display:block;position:absolute;border-radius:1px}.gallery-close-btn .close-line:nth-child(1){transform:rotate(45deg)}.gallery-close-btn .close-line:nth-child(2){transform:rotate(-45deg)}.gallery-info-overlay{position:absolute;bottom:max(2rem,env(safe-area-inset-bottom) + 1rem);left:max(2rem,env(safe-area-inset-left));right:max(2rem,env(safe-area-inset-right));color:#fff;z-index:10000;pointer-events:none;transition:opacity 1s ease-in-out,visibility 1s}.gallery-info-overlay h2{display:flex;flex-wrap:wrap;align-items:center;font-size:clamp(2rem,3.5vw,3rem);font-weight:800;margin:0;line-height:1.1;letter-spacing:-.05em}.gallery-info-overlay h2 span{word-break:break-word}.meta-dot-logo{opacity:.9;margin:0 .8rem}.gallery-info-overlay p{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:600;margin:.5rem 0 0;opacity:.9;letter-spacing:-.05em}.gallery-carousel{display:flex;width:100vw;height:100vh;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}.gallery-carousel::-webkit-scrollbar{display:none}.gallery-slide{flex:0 0 100vw;height:100vh;scroll-snap-align:center;display:flex;align-items:center;justify-content:center;padding:2rem}.gallery-image{max-width:100%;max-height:100%;object-fit:contain}.gallery-no-images{color:#ffffff80;font-size:1.2rem}.gallery-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#0006;color:#fff;border:none;width:50px;height:80px;font-size:24px;cursor:pointer;z-index:10000;transition:background .3s,transform .2s;display:flex;align-items:center;justify-content:center}.gallery-nav-btn:hover{background:#ffffff1a}.swipe-indicator{display:none}.gallery-nav-btn:active{transform:translateY(-50%) scale(.95)}.gallery-nav-btn.prev{left:1rem;border-radius:4px}.gallery-nav-btn.next{right:1rem;border-radius:4px}@media(max-width:768px){.gallery-nav-btn{display:none}.gallery-slide{padding:0}.gallery-info-overlay{bottom:max(3rem,env(safe-area-inset-bottom) + 2rem);left:max(1.5rem,env(safe-area-inset-left));right:max(1.5rem,env(safe-area-inset-right))}.gallery-info-overlay h2{font-size:1.8rem}.meta-dot-logo{width:18px;height:18px}.gallery-close-btn{top:1.5rem;right:1.5rem}.swipe-indicator{position:absolute;bottom:50%;left:50%;transform:translate(-50%,50%);z-index:10005;display:flex;flex-direction:column;align-items:center;color:#ffffffe6;pointer-events:none;animation:fadeOutSlowly 5s forwards}.swipe-icon{width:50px;height:50px;border-radius:50%;background:#00000080;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;animation:swipeHint 2s infinite ease-in-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.swipe-indicator span{font-size:.9rem;font-weight:600;letter-spacing:.05em}@keyframes swipeHint{0%{transform:translate(15px);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translate(-15px);opacity:0}}@keyframes fadeOutSlowly{0%,70%{opacity:1}to{opacity:0;visibility:hidden}}}.bg-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;width:90vmin;height:90vmin;max-width:800px;max-height:800px;gap:0;z-index:0;pointer-events:none;animation:bg-logo-spin 60s linear infinite}.bg-logo-circle{background-color:var(--color-primary);border-radius:50%;width:100%;height:100%;opacity:.15}@keyframes bg-logo-spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.about-container{min-height:100vh;width:100%;display:flex;justify-content:flex-start;align-items:center;background-color:var(--color-bg);padding:var(--space-xl) 8%;box-sizing:border-box;position:relative;overflow:hidden}.about-content{max-width:900px;width:100%;text-align:left;padding:3rem 0;position:relative;z-index:1}.about-text{font-size:clamp(1.2rem,3vw + .5rem,2.8rem);line-height:1em;font-weight:700;color:var(--color-text);letter-spacing:-.05em;text-shadow:0 2px 10px rgba(0,0,0,.1)}.contact-container{min-height:100vh;width:100%;display:flex;justify-content:flex-start;align-items:center;background-color:var(--color-bg);padding:var(--space-xl) 8%;box-sizing:border-box;position:relative;overflow:hidden}.contact-content{max-width:900px;width:100%;padding:3rem 5%;position:relative;z-index:1;display:flex;flex-direction:column;gap:2.5rem}.contact-heading{font-size:clamp(2rem,6vw,5rem);font-weight:700;color:var(--color-text);letter-spacing:-.05em;line-height:1;margin:0}.contact-items{display:flex;flex-direction:column;gap:1.5rem}.contact-item{display:flex;flex-direction:column;gap:.25rem;text-decoration:none;color:inherit;padding:.75rem 0;border-radius:0;border:none;border-bottom:1px solid rgba(255,255,255,.3);background:transparent;transition:opacity .2s ease}.contact-item:last-child{border-bottom:none}a.contact-item:hover{opacity:.75}.contact-label{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary);opacity:.85}.contact-value{font-size:clamp(1rem,2.5vw,1.5rem);font-weight:700;color:var(--color-text);letter-spacing:-.02em;line-height:1.3}.social-sidebar{position:fixed;right:calc(var(--space-xl) + 14px);top:25%;transform:translateY(-50%);display:flex;flex-direction:column;gap:32px;z-index:3000;pointer-events:auto;opacity:1;visibility:visible;transition:opacity .45s ease,visibility .45s ease}.social-sidebar--hidden{opacity:0;visibility:hidden;pointer-events:none}body:not(.menu-open) .social-sidebar--hidden{transition:none}body.menu-open .social-sidebar--hidden{opacity:1;visibility:visible;pointer-events:auto}.social-icon{display:flex;align-items:center;justify-content:center;color:var(--color-primary);opacity:1;transition:transform .3s ease,opacity .3s ease;width:32px;height:32px}.social-icon:hover{transform:scale(1.2);opacity:.8}@media(max-width:768px){.social-sidebar{right:calc(var(--space-md) + 14px)}}@font-face{font-family:Be Vietnam Pro;src:url(/assets/BeVietnamPro-Regular-D77_wdhb.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Be Vietnam Pro;src:url(/assets/BeVietnamPro-Italic-BkCsmqCE.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Be Vietnam Pro;src:url(/assets/BeVietnamPro-Medium-CM1UDfyW.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Be Vietnam Pro;src:url(/assets/BeVietnamPro-Bold-JtaKirW9.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Be Vietnam Pro;src:url(/assets/BeVietnamPro-ExtraBold-CQuoaTiQ.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Be Vietnam Pro;src:url(/assets/BeVietnamPro-Black-C_fQtnAF.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}:root{--color-bg: #0000ff;--color-text: #ffffff;--color-primary: #ffffff;--color-accent: #f0f0f0;--font-primary: "Be Vietnam Pro", system-ui, -apple-system, sans-serif;--text-base: 16px;--text-hero: clamp(1.15rem, 3.2vw + .8rem, 3.4rem);--line-height-base: 1.5;--line-height-hero: 1.1;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 4rem;--z-background: -10;--z-base: 1;--z-overlay: 100;--z-header: 1000;--z-modal: 2000}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100vh;width:100%;overflow-x:hidden;font-family:var(--font-primary);background-color:var(--color-bg);color:var(--color-text);letter-spacing:-.05em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:800;line-height:var(--line-height-hero);letter-spacing:-.02em}p{line-height:var(--line-height-base)}a{color:inherit;text-decoration:none;transition:opacity .2s ease}a:hover{opacity:.8}button{font-family:inherit;cursor:pointer;border:none;background:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
