/* LumaDoom: shared navigation */
.lumadoom-header{position:relative;z-index:1000;display:grid;grid-template-columns:64px 1fr 64px;align-items:center;gap:24px;width:100%;min-height:88px;padding:16px clamp(20px,4vw,64px);box-sizing:border-box;background:transparent;color:#171717;border:0;box-shadow:none}
.lumadoom-brand{display:flex;width:56px;align-items:center}
.lumadoom-brand img{display:block;width:48px;height:58px;object-fit:contain}
.lumadoom-menu{display:flex;justify-self:center;justify-content:center;align-items:center;gap:clamp(14px,1.8vw,30px)}
.lumadoom-menu a{position:relative;display:block;padding:12px 0;color:inherit;background:transparent;text-decoration:none;font:500 14px/1.4 Arial,sans-serif;white-space:nowrap}
.lumadoom-menu a:after{content:"";position:absolute;bottom:5px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}
.lumadoom-menu a:hover:after,.lumadoom-menu a.is-active:after{transform:scaleX(1)}
.lumadoom-menu-toggle{display:none;align-items:center;gap:12px;padding:12px 0;border:0;background:transparent;color:inherit;font:500 16px Arial,sans-serif;cursor:pointer}
.lumadoom-menu-icon{font-size:24px;line-height:1}
.lumadoom-menu a:focus-visible,.lumadoom-menu-toggle:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.lumadoom-header-blog{background:#050505;color:#f5f5f5}
/* Solid section backgrounds, with no gradient effects. */
.lumadoom-team{background:#050505;color:#f5f5f5;--swatch--dark:#050505;--swatch--light:#f5f5f5;--_theme---background:#050505;--_theme---text:#f5f5f5}
.lumadoom-team .g_heading,.lumadoom-team .c-title-4{color:#f5f5f5}
.blog_section{background:#050505;color:#f5f5f5;--_theme---background:#101010;--_theme---text:#f5f5f5}
.blog_section .g_heading{color:#f5f5f5}
.lumadoom-footer-divider{display:block;height:0;border:0;border-top:1px solid #ffffff80;width:100%;margin:0}
/* Landing video and logo overlay */
.lumadoom-header-landing{position:absolute;inset:0 0 auto;background:transparent;color:#fff}
.lumadoom-video-bg{overflow:hidden;background:#171414}
.lumadoom-video-bg video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.landing-page .hero-content-wrap{pointer-events:none;color:#fff}
.landing-page .hero-content-wrap a{pointer-events:auto}
@media(max-width:991px){
.lumadoom-header{grid-template-columns:1fr auto;gap:12px;min-height:78px;padding:12px 20px}
.lumadoom-brand img{width:46px;height:54px}
.lumadoom-menu-toggle{display:flex;grid-column:2;grid-row:1}
.lumadoom-menu{display:none;grid-column:1/-1;justify-self:stretch;align-items:center;width:100%;padding:8px 0 16px;text-align:center;max-height:calc(100svh - 110px);overflow:auto;gap:0}
.lumadoom-header.is-menu-open .lumadoom-menu{display:flex;flex-direction:column}
.lumadoom-menu a{font-size:18px;padding:12px 0;white-space:normal}
}
@media(prefers-reduced-motion:reduce){.lumadoom-menu a:after{transition:none}}
/* Compact landing: one viewport, no outer bands or card margins. */
html:has(body.landing-page){margin:0;padding:0;background:#171414}
body.landing-page{margin:0!important;padding:0!important;background:#171414;overflow-x:hidden}
.landing-page .page-wrapper,.landing-page .page-main{margin:0!important;padding:0!important;min-height:0!important}
.landing-page .hero-embed.index{height:100svh!important;min-height:0!important;margin:0!important;background:#171414;overflow:hidden}
.landing-page .lumadoom-video-bg{background:#171414}
.landing-page .lumadoom-video-bg video{width:74%;height:82%;left:24%;top:8%;object-fit:contain}
.landing-page .case-chain{height:auto!important;min-height:0!important;margin:0!important;bottom:12px;right:12px;padding:0}
.landing-page .case-chain-collection-list-item{height:auto!important;min-height:0!important;margin:0!important;transform:none!important}
.landing-page .case-child-wrap{height:auto!important;min-height:0!important;transform:none!important;opacity:1!important}
@media(max-width:767px){
.landing-page .hero-embed.index{display:flex;flex-direction:column;justify-content:flex-end;gap:12px;padding:76px 25px 12px!important;box-sizing:border-box}
.landing-page .lumadoom-header-landing{padding:10px 18px;min-height:68px}
.landing-page .lumadoom-header-landing img{width:38px;height:46px}
.landing-page .lumadoom-video-bg{position:relative;inset:auto;flex:1 1 0;min-height:80px;width:100%;height:auto}
.landing-page .lumadoom-video-bg video{width:100%;height:100%;top:0;left:0;object-fit:contain}
.landing-page .lumadoom-video-bg:after{display:none}
.landing-page .hero-content-wrap{position:relative;inset:auto;width:100%;height:auto;flex:0 0 auto;margin:0;padding:0}
.landing-page .hero-content{max-width:none;text-align:center}
.landing-page .hero-content h1{font-size:clamp(22px,5.8vw,32px)!important;line-height:1.5!important;margin:0 0 8px!important}
.landing-page .hero-content .row{display:block}.landing-page .hero-content .custom-max{display:none}
.landing-page #hero-text{font-size:12px!important;line-height:1.35!important;max-width:40ch!important;margin:0 auto!important}
.landing-page .case-chain{position:relative!important;inset:auto!important;width:100%;max-width:none;flex:0 0 auto}
.landing-page .case-chain-collection,.landing-page .case-chain-collection-list{height:auto!important;overflow:visible!important}
.landing-page .case-child-wrap{display:block;padding:12px;border-radius:14px}
.landing-page .case-child-wrap .container{padding:0!important}
.landing-page .case-child-wrap .row{display:flex;flex-wrap:nowrap;gap:12px;margin:0}
.landing-page .case-child-wrap .col{padding:0;min-width:0}
.landing-page .thumb-media{width:72px!important;height:72px!important}
.landing-page .case-child-wrap .col.custom{flex:1}
.landing-page .case-child-wrap .paragraph{font-size:13px!important;line-height:1.25!important;padding-right:18px;}
.landing-page .case-child-wrap .paragraph-sm{font-size:12px!important;line-height:1.3!important;max-width:none}
.landing-page .case-icon{width:16px;right:0;top:0}
}
@media(max-width:767px) and (max-height:650px){.landing-page .hero-embed.index{gap:8px;padding-top:58px!important}.landing-page .hero-content h1{font-size:21px!important}.landing-page #hero-text{font-size:11px!important}.landing-page .case-child-wrap{padding:10px}.landing-page .case-child-wrap .paragraph-sm{font-size:11px!important}}

/* Compact footer rhythm: links, divider, then contact details. */
.footer .footer_layout{gap:32px;row-gap:100px;min-height:0;height:auto;justify-content:flex-start}
.footer.u-theme-dark{padding-top:56px;padding-bottom:40px;min-height:0;height:auto}
.footer .footer_bottom{margin-top:0;padding-top:0}
.footer .footer_credit_label{margin-bottom:12px}
@media(max-width:767px){.footer .footer_layout{gap:24px;row-gap:40px}.footer.u-theme-dark{padding-top:40px;padding-bottom:0px}}

/* Local portfolio films preserve their full portrait framing. */
.lumadoom-video-hero .lumadoom-project-video{display:block;width:100%;height:100%;object-fit:cover;background:#080808;border-radius:inherit}
@media(max-width:767px){
.lumadoom-video-hero .hero_scroll,.lumadoom-video-hero .hero_sticky{height:auto!important;min-height:0!important;position:relative!important;inset:auto!important}
.lumadoom-video-hero .hero_container{display:flex;flex-direction:column;padding:28px 20px 40px;gap:24px}
.lumadoom-video-hero .hero_layout{order:0;position:relative;inset:auto;padding:0;height:auto;min-height:0}
.lumadoom-video-hero .hero_content{padding:0}
.lumadoom-video-hero h1{font-size:clamp(26px,7vw,40px);line-height:1.15}
.lumadoom-video-hero .hero_visual_container{order:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;position:relative;inset:auto;width:100%;height:auto}
.lumadoom-video-hero .hero_visual_image{position:relative!important;inset:auto!important;transform:none!important;translate:none!important;rotate:none!important;width:100%!important;height:auto!important;aspect-ratio:3/4;margin:0!important;opacity:1!important;filter:none!important}
.lumadoom-video-hero .hero_visual_image.is-6,.lumadoom-video-hero .hero_scroll_target{display:none!important}
.lumadoom-video-hero .hero_visual_collection,.lumadoom-video-hero .hero_visual_list,.lumadoom-video-hero .hero_visual_item{width:100%;height:100%}
}

/* Match the new logo film canvas without visible video boundaries. */
body.landing-page,.landing-page .hero-embed.index,.landing-page .lumadoom-video-bg{background:#000}
/* Typography and stable service cards */
:root{--lumadoom-font-title:'Cormorant Garamond',Georgia,serif;--lumadoom-font-body:'Inter',Arial,sans-serif;--_typography---fonts--primary-font:var(--lumadoom-font-body);--_typography---fonts--secondary-font:var(--lumadoom-font-title)}
body,p,a,button,input,textarea,select{font-family:var(--lumadoom-font-body)}
h1,h2,.u-font-secondary,.lumadoom-section-title{font-family:var(--lumadoom-font-title);font-weight:600;letter-spacing:-.025em;line-height:1.12}
p{line-height:1.55}img,video{max-width:100%}.lumadoom-menu a{font-family:var(--lumadoom-font-body)}
.lumadoom-section-title{font-size:clamp(38px,5vw,68px);margin:0 0 36px}
.lumadoom-team,.blog_section{background:#050505;color:#f4f4f4}
.lumadoom-team img{width:100%;object-fit:cover}.blog_section img{width:100%;height:auto;object-fit:cover}
.lumadoom-reveal.is-revealed{animation:lumadoom-enter .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes lumadoom-enter{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}
@media(max-width:767px){.lumadoom-video-hero .lumadoom-project-video{object-fit:contain}.featured_project video{object-fit:contain!important;background:#080808}.lumadoom-team img{height:auto}.side_label{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lumadoom-reveal.is-revealed{animation:none}}

/* Keep the services composition; give media and type room to breathe. */
#services .service_visual_left{width:46%;gap:20px;align-items:flex-start;opacity:0;visibility:hidden;transition:opacity .25s ease;}
#services .service_item.is-active .service_visual_left{opacity:1;visibility:visible;}
#services .service_visual_image.u-visual-wrap{flex:0 0 clamp(120px,12vw,190px);width:clamp(120px,12vw,190px);max-width:none;aspect-ratio:4/3;min-height:100px;border-radius:8px;}
#services .service_visual_image .g_img{object-fit:contain;object-position:center;}
#services .service_visual_text_wrap{flex:1;min-width:0;max-width:32ch;overflow:visible;}
#services .service_visual_text{visibility:visible!important;height:auto!important;overflow:visible!important;}
#services .service_visual_text p{margin:0;line-height:1.5;font-size:clamp(15px,1.1vw,18px);overflow-wrap:normal;}
#services .service_visual_text div{overflow:visible!important;transform:none!important;}
#services .service_visual_text_wrap{height:auto!important;}
.g_img_about{display:block;height:auto!important;max-height:none!important;object-fit:contain!important;align-self:start;}
.footer .main_nav_links,.footer .main_nav_link_txt{overflow:visible!important;height:auto!important;line-height:1.22;padding-block:.08em;}
.footer .main_nav_links{transition:color .25s ease,translate .25s ease;}
@media(hover:hover){.footer .main_nav_links:hover{color:#c8c8c8;translate:8px 0;}.g_img_about{transition:filter .35s ease;}.g_img_about:hover{filter:brightness(1.04);}.service_visual_image img{transition:filter .3s ease;}.service_item:hover .service_visual_image img{filter:brightness(1.06);}}
@media(max-width:991px){#services .service_visual_left{gap:12px;}#services .service_visual_image.u-visual-wrap{flex-basis:120px;width:120px;}}
@media(max-width:767px){#services .service_item{display:flex;flex-direction:column;align-items:stretch;gap:16px;padding-block:24px;height:auto;min-height:0;}#services .service_visual_left{position:relative;width:100%;opacity:1;visibility:visible;order:2;}#services .service_visual_image.u-visual-wrap{flex-basis:clamp(130px,36vw,180px);width:clamp(130px,36vw,180px);min-height:100px;}#services .service_visual_text_wrap{max-width:none;}#services .service_text_bold,#services .service_texts_right{display:none;}#services .service_texts{position:relative;left:auto;overflow:visible;order:1;}#services [data-service-hover="text-main"] div{transform:none!important;visibility:visible!important;}#services [data-service-hover="visual"]{clip-path:none!important;}.footer .main_nav_link_txt{font-size:clamp(30px,8vw,54px);}.g_img_about{width:100%;}}
@media(prefers-reduced-motion:reduce){.footer .main_nav_links,.g_img_about,.service_visual_image img{transition:none!important;}}

.lumadoom-footer-menu{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin:0;padding:0;list-style:none;}.lumadoom-footer-menu li{margin:0;padding:0;max-width:100%;}.lumadoom-footer-link{display:block;font-family:var(--lumadoom-font-title),serif;font-size:clamp(36px,4.4vw,72px);font-weight:500;line-height:1.15;color:#f5f5f5;text-decoration:none;padding:.08em 0;transition:color .25s ease,transform .25s ease;}.lumadoom-footer-link:hover{color:#c8c8c8;transform:translateX(6px);}.lumadoom-footer-link:focus-visible{outline:1px solid currentColor;outline-offset:5px;}@media(max-width:767px){.lumadoom-footer-menu{gap:16px;}.lumadoom-footer-link{font-size:clamp(30px,7vw,48px);}}@media(prefers-reduced-motion:reduce){.lumadoom-footer-link{transition:none;}}

/* Local landing-card video and uncropped, rounded service imagery. */
.landing-page .thumb-media,.landing-page .thumb-media-embed{border-radius:12px!important;overflow:hidden!important;}
.lumadoom-card-video{display:block;width:100%;height:100%;object-fit:cover;background:#111;border-radius:12px;}
.landing-page .thumb-media-embed{width:100%;height:100%;}
#services .service_visual_image.u-visual-wrap,#services .service_visual_image figure,#services .service_visual_image img{border-radius:12px!important;}
#services .service_visual_image figure{overflow:hidden;}
#services .service_visual_image img{object-fit:cover!important;}

/* Mobile navigation overlays the page instead of pushing the hero down. */
@media(max-width:991px){
.lumadoom-header{height:80px;min-height:80px;overflow:visible;}
.lumadoom-menu-toggle{width:44px;height:44px;padding:8px;justify-content:center;z-index:2;}
.lumadoom-menu-icon{font:400 30px/1 Arial,sans-serif;}
.lumadoom-header .lumadoom-menu{position:absolute;top:100%;left:0;right:0;grid-column:auto;background:#fff;color:#171717;max-height:calc(100svh - 80px);height:auto;overflow-y:auto;padding:16px 24px 24px;box-shadow:0 12px 18px #0000000a;gap:2px;}
.lumadoom-header-blog .lumadoom-menu{background:#050505;color:#f5f5f5;}
.lumadoom-header .lumadoom-menu a{font-size:17px;line-height:1.4;padding:10px 0;}
}
@media(max-width:767px){
.lumadoom-video-hero{height:auto!important;min-height:0!important;overflow:visible!important;}
.lumadoom-video-hero .hero_scroll,.lumadoom-video-hero .hero_sticky{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;transform:none!important;}
.lumadoom-video-hero .hero_container{display:flex!important;flex-direction:column!important;gap:28px!important;padding:40px 20px!important;height:auto!important;min-height:0!important;}
.lumadoom-video-hero .hero_layout{display:block!important;position:relative!important;order:0;transform:none!important;}
.lumadoom-video-hero .hero_content{display:flex!important;flex-direction:column!important;align-items:center;justify-content:flex-start;gap:18px!important;height:auto!important;}
.lumadoom-video-hero h1{font-size:clamp(28px,7.5vw,40px)!important;line-height:1.2!important;margin:0!important;height:auto!important;overflow:visible!important;}
.lumadoom-video-hero h1 div{transform:none!important;translate:none!important;overflow:visible!important;visibility:visible!important;}
.lumadoom-video-hero .hero_typewrite{position:static!important;inset:auto!important;transform:none!important;height:auto!important;opacity:1!important;visibility:visible!important;margin:0!important;}
.lumadoom-video-hero .hero_typewrite p{margin:0!important;font-size:14px;line-height:1.5;}
.lumadoom-video-hero .hero_visual_container{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;position:relative!important;order:1;opacity:1!important;visibility:visible!important;transform:none!important;height:auto!important;gap:12px;}
.lumadoom-video-hero .hero_visual_image:not(.is-6){display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;aspect-ratio:3/4;width:100%!important;height:auto!important;min-width:0!important;transform:none!important;border-radius:12px;overflow:hidden;}
.lumadoom-video-hero .hero_visual_collection,.lumadoom-video-hero .hero_visual_list,.lumadoom-video-hero .hero_visual_item{display:block!important;width:100%!important;height:100%!important;visibility:visible!important;}
.lumadoom-video-hero .hero_visual_image figure{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;}
.lumadoom-video-hero .lumadoom-project-video{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:100%!important;object-fit:contain!important;}
}

/* Right-side mobile navigation drawer. */
@media(max-width:991px){
html.lumadoom-navigation-open{overflow:hidden;}
.lumadoom-header .lumadoom-menu{display:flex!important;flex-direction:column;justify-content:center;position:fixed;top:80px;bottom:0;left:auto;right:0;width:min(100%,440px);height:calc(100dvh - 80px);max-height:none;box-sizing:border-box;padding:24px;transform:translateX(102%);visibility:hidden;pointer-events:none;transition:transform .35s cubic-bezier(.22,1,.36,1),visibility .35s;overflow-y:auto;}
.lumadoom-header.is-menu-open .lumadoom-menu{transform:translateX(0);visibility:visible;pointer-events:auto;}
.lumadoom-menu-toggle{border:0!important;box-shadow:none!important;outline-offset:3px;}
.lumadoom-header.is-menu-open{position:sticky;top:0;background:#fff;}
.lumadoom-header-blog.is-menu-open{background:#050505;}
}
@media(max-width:767px){
.lumadoom-video-hero .hero_visual_container{grid-template-columns:minmax(0,1fr)!important;width:100%!important;}
.lumadoom-video-hero .hero_visual_image:not(.is-6){width:100%!important;max-width:none!important;aspect-ratio:16/9!important;border-radius:12px;}
.lumadoom-video-hero .lumadoom-project-video{width:100%!important;height:100%!important;object-fit:contain!important;}
}
@media(prefers-reduced-motion:reduce){.lumadoom-header .lumadoom-menu{transition:none!important;}}

/* Reset desktop grid placement so each mobile video occupies one full row. */
@media(max-width:767px){
.lumadoom-video-hero .hero_visual_container{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:20px!important;width:100%!important;max-width:100%!important;grid-template-columns:none!important;}
.lumadoom-video-hero .hero_visual_container .hero_visual_image.u-visual-wrap:not(.is-6){grid-area:auto!important;grid-column:auto!important;grid-row:auto!important;flex:0 0 auto!important;align-self:stretch!important;position:relative!important;inset:auto!important;width:100%!important;min-width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:16/9!important;margin:0!important;transform:none!important;scale:1!important;translate:none!important;}
.lumadoom-video-hero .hero_visual_image .hero_visual_collection,.lumadoom-video-hero .hero_visual_image .hero_visual_list,.lumadoom-video-hero .hero_visual_image .hero_visual_item{position:static!important;width:100%!important;max-width:none!important;height:100%!important;}
.lumadoom-video-hero .hero_visual_image video{display:block!important;width:100%!important;max-width:none!important;height:100%!important;object-fit:contain!important;}
}

/* Native mobile scrolling; desktop pinned animation is disabled below 768px. */
@media(max-width:767px){
html:not(.lumadoom-navigation-open),html:not(.lumadoom-navigation-open) body{overflow-y:auto!important;height:auto!important;touch-action:pan-y;}
html:not(.lumadoom-navigation-open).lenis-stopped{overflow-y:auto!important;}
.lumadoom-video-hero .hero_scroll,.lumadoom-video-hero .hero_sticky{height:auto!important;min-height:0!important;max-height:none!important;position:relative!important;overflow:visible!important;top:auto!important;}
.lumadoom-video-hero .hero_layout,.lumadoom-video-hero .hero_content{position:relative!important;inset:auto!important;opacity:1!important;visibility:visible!important;transform:none!important;height:auto!important;max-height:none!important;overflow:visible!important;}
.lumadoom-video-hero .hero_layout{width:100%!important;flex-shrink:0;order:0!important;}
.lumadoom-video-hero [data-loader],.lumadoom-video-hero h1,.lumadoom-video-hero h1 *,.lumadoom-video-hero .hero_typewrite,.lumadoom-video-hero .hero_typewrite *{opacity:1!important;visibility:visible!important;transform:none!important;clip-path:none!important;}
.lumadoom-video-hero .hero_container{height:auto!important;overflow:visible!important;}
.lumadoom-video-hero .hero_content{padding:12px 0 8px!important;}
.lumadoom-video-hero .hero_visual_container{order:1!important;}
.lumadoom-video-hero video{touch-action:pan-y;}
}

/* Independent mobile document flow avoids desktop animation positioning. */
.lumadoom-mobile-intro{display:none;}
@media(max-width:767px){
body .lumadoom-video-hero{display:none!important;}
body .lumadoom-mobile-intro{display:block;position:relative;height:auto;min-height:0;padding:36px 20px 48px;background:#fff;color:#111;box-sizing:border-box;overflow:visible;}
.lumadoom-mobile-intro-copy{position:static;margin:0 0 30px;text-align:center;}
.lumadoom-mobile-intro-copy h1{position:static;display:block;font-family:var(--lumadoom-font-title),serif;font-size:clamp(28px,7.5vw,40px);line-height:1.2;margin:0 0 18px;padding:0;opacity:1;visibility:visible;}
.lumadoom-mobile-intro-copy p{position:static;font-size:14px;line-height:1.5;margin:0;}
.lumadoom-mobile-films{display:flex;flex-direction:column;gap:22px;position:static;}
.lumadoom-mobile-film-frame{position:relative;display:block;width:100%;height:auto;aspect-ratio:16/9;flex:none;margin:0;border-radius:12px;overflow:hidden;background:#080808;}
.lumadoom-mobile-film-frame .lumadoom-mobile-film{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;transform:none;}
}

@media(max-width:991px){
html:not(.lumadoom-navigation-open),html:not(.lumadoom-navigation-open) body{height:auto!important;overflow-y:visible!important;scroll-behavior:auto!important;touch-action:pan-y pinch-zoom!important;}
html:not(.lumadoom-navigation-open){overflow-y:auto!important;}
html.lumadoom-navigation-open{overflow:hidden!important;}
html.lumadoom-navigation-open body{overflow:hidden!important;}
body:not(.landing-page) .page-wrapper,body:not(.landing-page) .page-main{height:auto!important;overflow:visible!important;touch-action:pan-y pinch-zoom;}
.lumadoom-mobile-intro video{pointer-events:none;}
.lumadoom-menu{touch-action:pan-y;overscroll-behavior:contain;}
}

@media(max-width:767px){body #services.home_service{display:block!important;}}
