/* DM MEDIA PRODUCTION v1.4 — Unified sitewide navigation, equal spacing, editorial motion. */
:root{--dm-bar-height:34px;--dm-nav-height:78px;--dm-header-total:112px;--dm-page-gutter:clamp(22px,4.25vw,76px);--dm-content-max:1380px}
html{scroll-padding-top:calc(var(--dm-header-total) + 16px)}
body{overflow-x:clip}
body .container,body.home .dm-home .container{width:min(calc(100% - (2 * var(--dm-page-gutter))),var(--dm-content-max));max-width:var(--dm-content-max);margin-inline:auto}
/* SINGLE shared header on home, inner and legal pages; never changes height at scroll. */
body .site-header.dm-unified-header,body.home .site-header.dm-unified-header,body .site-header.dm-unified-header.is-scrolled,body.home .site-header.dm-unified-header.is-scrolled{position:fixed;z-index:80;inset:0 0 auto;height:var(--dm-header-total);background:rgba(6,10,19,.94);border-bottom:1px solid rgba(159,178,218,.19);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);transition:background-color .25s,border-color .25s;box-shadow:0 8px 30px rgba(1,3,11,.17)}
body .site-header.dm-unified-header.is-scrolled{background:rgba(4,8,17,.985);border-color:rgba(117,137,192,.25)}
.dm-unified-topbar{height:var(--dm-bar-height);background:linear-gradient(100deg,rgba(6,18,49,.9),rgba(20,10,32,.96));border-bottom:1px solid rgba(255,255,255,.09);color:#d1daec;font-size:10px;letter-spacing:.08em;line-height:1}
.dm-topbar-inner{height:100%;display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:16px;align-items:center}
.dm-topbar-location{display:flex;gap:9px;align-items:center;white-space:nowrap;font-weight:700;color:#dce7ff;font-size:10px}
.dm-availability-dot{width:6px;height:6px;display:inline-block;flex-shrink:0;border-radius:50%;background:#32dba9;box-shadow:0 0 0 3px rgba(50,219,169,.13)}
.dm-location-mobile{display:none}
.dm-topbar-message{display:block;text-align:center;white-space:nowrap;font-size:9px;font-weight:800;letter-spacing:.18em;color:#c9d8f6}
.dm-topbar-message b{color:#ff2d9b;padding:0 5px}.dm-topbar-message-detail{color:#929fb6;font-weight:500;letter-spacing:.09em}
.dm-topbar-actions{display:flex;align-items:center;gap:21px;justify-content:flex-end}.dm-topbar-email{color:#b3caef;text-transform:none;white-space:nowrap;font-weight:600}.dm-topbar-email:hover{color:#fff}
.dm-topbar-project{color:#ffb36c;white-space:nowrap;font-weight:800}.dm-topbar-project span{font-size:14px}.dm-topbar-project:hover{color:#fff}
.dm-navigation-shell{height:var(--dm-nav-height)}
body .site-header.dm-unified-header .nav-wrap,body.home .site-header.dm-unified-header .nav-wrap,body.home .site-header.dm-unified-header.is-scrolled .nav-wrap{height:var(--dm-nav-height);min-height:0;display:flex;gap:clamp(15px,2vw,38px);align-items:center;justify-content:space-between}
.dm-unified-brand.brand{min-width:0;gap:9px;flex:0 0 auto}
.dm-unified-brand .brand-symbol{width:63px;height:42px;object-fit:contain;mix-blend-mode:normal}
.dm-unified-brand .brand-wordmark strong{font-weight:700;font-size:18px;letter-spacing:-.035em}.dm-unified-brand .brand-wordmark small{font-size:9px;letter-spacing:.39em}
.dm-unified-brand .brand-custom{max-width:205px;width:auto;height:51px;object-fit:contain}
.dm-unified-header .primary-navigation{margin-left:auto;min-width:0}
.dm-unified-header .nav-links{gap:clamp(14px,1.6vw,29px);align-items:center}
.dm-unified-header .nav-links li{position:relative}
.dm-unified-header .nav-links a{font-size:13px;font-weight:700;letter-spacing:.005em;color:#d6d9e7;display:inline-flex;align-items:center;min-height:48px;position:relative;transition:color .2s}
.dm-unified-header .nav-links a:hover,.dm-unified-header .nav-links .current-menu-item>a,.dm-unified-header .nav-links a[aria-current=page]{color:#fff}
.dm-unified-header .nav-links a:after,.dm-unified-header .nav-links .current-menu-item>a:after,.dm-unified-header .nav-links a[aria-current=page]:after{content:'';position:absolute;display:block;left:0;right:0;bottom:6px;height:2px;width:100%;margin:0;background:linear-gradient(90deg,#0a3dff,#ff2d9b,#ff8a00);border-radius:4px;transform:scaleX(0);transform-origin:center;transition:transform .25s ease}
.dm-unified-header .nav-links a:hover:after,.dm-unified-header .nav-links .current-menu-item>a:after,.dm-unified-header .nav-links a[aria-current=page]:after{transform:scaleX(1)}
body .site-header.dm-unified-header .header-cta,body.home .site-header.dm-unified-header .header-cta{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:18px;height:45px;min-height:45px;margin:0;padding:0 20px;border:1px solid rgba(255,255,255,.17);border-radius:99px;background:linear-gradient(105deg,#ec0b9d,#ff5484 53%,#ff8a00);font-weight:800;letter-spacing:0;color:white;font-size:12px;box-shadow:0 5px 22px rgba(253,34,151,.19);transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
body .site-header.dm-unified-header .header-cta:hover{transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 10px 32px rgba(253,34,151,.32)}
.dm-cta-arrow{font-size:19px;line-height:1}
.dm-scroll-progress{position:absolute;bottom:-2px;left:0;width:100%;height:2px;overflow:hidden;pointer-events:none}
.dm-scroll-progress>span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#0a3dff,#ff2d9b,#ff8a00);transform:scaleX(0);transform-origin:left;will-change:transform}
body .site-header.dm-unified-header .menu-toggle{display:none}
/* Balanced whitespace on EVERY page while maintaining full-bleed backgrounds. */
.dm-section,.section{padding-block:clamp(76px,7.5vw,120px)}
.dm-section>.container,.section>.container,.dm-cta-layout,.dm-process-flow>.container{min-width:0}
.dm-split,.dm-team-layout{gap:clamp(24px,4vw,76px)}
.dm-vision-grid{gap:clamp(22px,3vw,50px)}
.dm-section-heading{gap:clamp(20px,3.5vw,50px)}
.dm-process-step-text{padding-inline:clamp(22px,4vw,56px)}
.dm-service-overlay{padding:clamp(20px,2.3vw,33px)}
.dm-team-grid{gap:clamp(8px,1vw,16px)}
.contact-grid{grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:clamp(32px,5vw,84px)}
.footer-grid{gap:clamp(30px,4vw,70px)}
.dm-inner-hero{padding-top:calc(var(--dm-header-total) + 82px)}
.dm-home-hero{padding-top:calc(var(--dm-header-total) + 65px)}
.inner-hero{padding-top:calc(var(--dm-header-total) + 85px)}
.legal-hero{padding-top:calc(var(--dm-header-total) + 84px)}
.dmmp-atelier #content{min-width:0}
.dmmp-atelier address{font-style:normal;line-height:1.8}
/* Animation: progressive enhancement; distinct visual language by page. */
html:not(.dm-motion-enabled) .reveal{opacity:1;transform:none}
html.dm-motion-enabled .reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity .72s ease,transform .82s cubic-bezier(.2,.7,.2,1)}
html.dm-motion-enabled .reveal.is-visible{opacity:1;transform:none}
html.dm-motion-enabled .dm-motion-about .reveal{transform:translate3d(-26px,8px,0);transition-duration:.9s}
html.dm-motion-enabled .dm-motion-about .reveal.is-visible{transform:none}
html.dm-motion-enabled .dm-motion-services .reveal{transform:translate3d(0,20px,0) scale(.965);transition-duration:.75s}
html.dm-motion-enabled .dm-motion-services .reveal.is-visible{transform:none}
html.dm-motion-enabled .dm-motion-process .reveal{transform:translate3d(-38px,0,0);transition-duration:.92s}
html.dm-motion-enabled .dm-motion-process .dm-process-step:nth-child(even).reveal{transform:translate3d(38px,0,0)}
html.dm-motion-enabled .dm-motion-process .reveal.is-visible{transform:none}
html.dm-motion-enabled .dm-motion-contact .reveal{transform:translate3d(0,33px,0);transition-duration:.88s}
html.dm-motion-enabled .dm-motion-contact .reveal.is-visible{transform:none}
html.dm-motion-enabled .dm-motion-legal .reveal{transform:translate3d(0,14px,0);transition-duration:.55s}
html.dm-motion-enabled .dm-motion-legal .reveal.is-visible{transform:none}
.dm-motion-home .dm-home-hero-content{animation:dmHeroArrival .85s ease-out both}
.dm-motion-about .dm-inner-hero-body{animation:dmAboutArrival .9s ease-out both}
.dm-motion-services .dm-inner-hero-body{animation:dmServiceArrival .85s ease-out both}
.dm-motion-process .dm-inner-hero-body{animation:dmProcessArrival 1s ease-out both}
@keyframes dmHeroArrival{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes dmAboutArrival{from{opacity:0;transform:translateX(-22px)}to{opacity:1;transform:none}}
@keyframes dmServiceArrival{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
@keyframes dmProcessArrival{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@media(max-width:1190px){.dm-topbar-message-detail{display:none}.dm-unified-brand .brand-wordmark strong{font-size:16px}.dm-unified-header .nav-links{gap:14px}.dm-unified-header .nav-links a{font-size:12px}.dm-unified-brand .brand-symbol{width:52px}.dm-unified-header .header-cta{padding-inline:15px!important}}
@media(max-width:980px){
 :root{--dm-bar-height:32px;--dm-nav-height:70px;--dm-header-total:102px;--dm-page-gutter:clamp(20px,4vw,38px)}
 .dm-topbar-inner{display:flex;justify-content:space-between}
 .dm-topbar-message{display:none}
 .dm-topbar-actions{gap:12px}
 .dm-topbar-email{font-size:10px}
 .dm-topbar-project{display:none}
 body .site-header.dm-unified-header .menu-toggle{display:flex;flex:0 0 44px;height:44px;align-items:center;justify-content:center;gap:7px;padding:10px;margin:0;border:1px solid rgba(255,255,255,.17);border-radius:12px;background:rgba(255,255,255,.045)}
 .dm-unified-header .primary-navigation{position:absolute;top:100%;left:0;right:0;margin:0;background:#050914;border-top:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.18);max-height:calc(100dvh - var(--dm-header-total));overflow-y:auto;overscroll-behavior:contain;visibility:hidden;opacity:0;transform:translateY(-12px);pointer-events:none;z-index:65;box-shadow:0 25px 55px rgba(0,0,0,.45)}
 .menu-open .dm-unified-header .primary-navigation{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}
 .dm-unified-header .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px var(--dm-page-gutter) 24px}
 .dm-unified-header .nav-links li{width:100%;border-bottom:1px solid rgba(255,255,255,.09)}
 .dm-unified-header .nav-links a{display:flex;min-height:60px;padding:12px 2px;width:100%;font-size:19px;letter-spacing:-.02em}
 .dm-unified-header .nav-links a:after{bottom:8px;right:auto;width:44px}
 .dm-unified-header .nav-links li:last-child{border-bottom:0}
 body .site-header.dm-unified-header .nav-wrap{gap:12px}
 body .site-header.dm-unified-header .header-cta{margin-left:auto}
 .dm-inner-hero{padding-top:calc(var(--dm-header-total) + 65px)}
 .dm-home-hero{padding-top:calc(var(--dm-header-total) + 45px)}
 .dm-process-step-text{padding:30px}
 .dm-section{padding-block:78px}
}
@media(max-width:600px){
 :root{--dm-bar-height:32px;--dm-nav-height:64px;--dm-header-total:96px;--dm-page-gutter:20px}
 .dm-location-desktop{display:none}.dm-location-mobile{display:inline}
 .dm-topbar-location{font-size:10px;letter-spacing:.08em}
 .dm-topbar-email{font-size:10px}
 .dm-unified-brand .brand-symbol{width:44px;height:35px}
 .dm-unified-brand .brand-wordmark strong{font-size:14px}.dm-unified-brand .brand-wordmark small{font-size:7px;letter-spacing:.31em}
 .dm-unified-brand .brand-custom{max-width:140px;height:41px}
 body .site-header.dm-unified-header .header-cta,body.home .site-header.dm-unified-header .header-cta{min-height:38px;height:38px;padding-inline:13px;font-size:11px;gap:8px}
 .dm-unified-header .dm-cta-arrow{font-size:15px}
 .dm-split,.dm-team-layout,.dm-process-step,.contact-grid{gap:25px}
 .dm-section{padding-block:63px}
 .dm-service-overlay{padding:22px}
 .contact-grid{grid-template-columns:1fr}
 .dm-cta-section{padding-block:55px}
 .dm-inner-hero{padding-top:calc(var(--dm-header-total) + 56px);min-height:500px}
 .dm-home-hero{padding-top:calc(var(--dm-header-total) + 30px)}
 .inner-hero{padding-top:calc(var(--dm-header-total) + 54px)}
 .legal-hero{padding-top:calc(var(--dm-header-total) + 55px)}
}
@media(max-width:390px){.dm-topbar-email{font-size:9px}.dm-unified-brand .brand-symbol{width:34px}.dm-unified-brand .brand-wordmark strong{font-size:12px}.dm-unified-brand .brand-wordmark small{font-size:6px}.dm-unified-header .header-cta span:first-child{font-size:10px}.dm-unified-header .brand-custom{max-width:107px}}
@media(prefers-reduced-motion:reduce){html.dm-motion-enabled .reveal,.reveal,.dm-motion-home .dm-home-hero-content,.dm-motion-about .dm-inner-hero-body,.dm-motion-services .dm-inner-hero-body,.dm-motion-process .dm-inner-hero-body{animation:none!important;opacity:1!important;transform:none!important;transition:none!important}.dm-unified-header *, .dm-scroll-progress *{transition:none!important}}

/* WordPress admin-bar compatibility on authenticated desktop and mobile sessions. */
body.admin-bar .site-header.dm-unified-header,body.admin-bar.home .site-header.dm-unified-header{top:32px}
@media(max-width:782px){body.admin-bar .site-header.dm-unified-header,body.admin-bar.home .site-header.dm-unified-header{top:46px}}
/* Home sections now share the exact same centered horizontal alignment as inner pages. */
body.home .dm-home-about{width:min(calc(100% - (2 * var(--dm-page-gutter))),var(--dm-content-max));margin-inline:auto;border:1px solid rgba(255,255,255,.11);border-radius:12px;overflow:hidden}
html.dm-motion-enabled .dm-motion-home .reveal{transform:translate3d(0,26px,0) scale(.985);transition-delay:calc(var(--dm-stagger-index, 0) * 55ms)}
html.dm-motion-enabled .dm-motion-home .reveal.is-visible{transform:none}
@media(max-width:390px){body .dm-unified-header .header-cta span:first-child{display:none}body .site-header.dm-unified-header .header-cta,body.home .site-header.dm-unified-header .header-cta{min-width:40px;padding:0 10px;justify-content:center}}
