.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)}}.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}
