/* One rhythm from brand to navigation, content and footer. */
:root{--dgm-cycle:8.4s;--dgm-interaction:200ms}
.dgm-footer-field{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.75}.footer>.container{position:relative;z-index:1}
.header{background:#f9fcffb8}.footer{position:relative;background:#f6faffc9;border-top:1px solid #bfd8ef;overflow:hidden}
.header::after,.footer::before{animation-duration:var(--dgm-cycle)}
.footer::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,#65a9d775,#b3eaff,#367fbc,transparent);background-size:230% 100%;animation:dgm-header-light var(--dgm-cycle) ease-in-out infinite;pointer-events:none}
.header .brand,.footer .brand{position:relative;isolation:isolate;border-radius:12px}
.header .brand::before,.footer .brand::before{content:"";position:absolute;inset:-8px -12px;z-index:-1;border-radius:20px;background:radial-gradient(ellipse,#83c6f044,transparent 70%);animation:dgm-brand-energy var(--dgm-cycle) ease-in-out infinite;pointer-events:none}
.header .brand::after,.footer .brand::after{content:"";position:absolute;bottom:-5px;left:4%;width:35%;height:1px;background:linear-gradient(90deg,transparent,#3a98d7,transparent);animation:dgm-brand-scan var(--dgm-cycle) ease-in-out infinite;pointer-events:none}
.header .brand img,.footer .brand img{animation:dgm-brand-breathe var(--dgm-cycle) ease-in-out infinite;transform-origin:left center}
.header #navigation>a:not(.nav-contact),.header #navigation .nav-dropdown>summary{position:relative}
.header #navigation>a:not(.nav-contact)::after,.header #navigation .nav-dropdown>summary::after{content:"";position:absolute;bottom:5px;left:18%;right:18%;height:1px;background:linear-gradient(90deg,transparent,#65b4e5,transparent);opacity:0;transform:scaleX(.3);transition:opacity var(--dgm-interaction),transform var(--dgm-interaction);pointer-events:none}
.header #navigation .dgm-frequency::after{opacity:1!important;transform:scaleX(1)!important}
.header #navigation .dgm-frequency{box-shadow:inset 0 -12px 18px -18px #2686c9}
.expertise-card{border-radius:20px;box-shadow:inset 0 1px 0 #fff,0 8px 30px #174c7310;transition:border-color var(--dgm-interaction),box-shadow var(--dgm-interaction),transform var(--dgm-interaction)}
.expertise-card:not(.expertise-call)::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle 190px at var(--local-x,50%) var(--local-y,20%),#73b8e51c,transparent);opacity:0;transition:opacity var(--dgm-interaction)}
.expertise-card:hover::after,.expertise-card:focus-within::after{opacity:1}
.expertise-card:hover,.expertise-card:focus-within{border-color:#75aad1;box-shadow:inset 0 1px 0 #fff,0 14px 32px #174c7320}
.expertise-card .service-icon{box-shadow:inset 0 1px 0 #fff,0 6px 16px #4f94ce14;transition:transform var(--dgm-interaction),box-shadow var(--dgm-interaction)}
.expertise-card:hover .service-icon{transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff,0 6px 20px #4f94ce35}
.expertise-card a:not(.button),.expertise-card a:not(.button):visited,.expertise-card a:not(.button):active{color:#245c91}
.expertise-card h3 a,.expertise-card h3 a:visited,.expertise-card h3 a:active{color:#173b60}
.expertise-card .text-link:hover{color:#146aa6}
.expertise-card.expertise-call,.expertise-card.expertise-call:hover,.expertise-card.expertise-call:focus-within{background:radial-gradient(ellipse at 100% 0,#397eaf,#17486f 65%,#103553);color:#fff;border-color:#3173a7;box-shadow:inset 0 1px 0 #bde2ff44,0 14px 35px #163e6422}
.expertise-call h3{color:#fff}.expertise-call p,.expertise-call .eyebrow{color:#d6e9fa}
.expertise-call .button,.expertise-call .button:visited,.expertise-call .button:active{background:#fff;color:#16456c;border-color:#fff}
.expertise-call .button:hover{background:#e5f3ff;color:#123f64}
.button.primary,.button.primary:visited,.button.primary:active{background:#174b76;color:#fff;border-color:#174b76}
.button.primary:hover{background:#21638e;color:#fff;border-color:#21638e}
.header .mega-service-grid a:active,.header .mega-service-grid a:focus-visible{background:#e9f3fc;color:#173b60}
.dgm-pointer{position:fixed;left:0;top:0;width:26px;height:26px;margin:-13px 0 0 -13px;border:1px solid #4c9bce88;border-radius:50%;pointer-events:none;z-index:80;opacity:0;box-shadow:0 0 18px #64baf02e;transition:width 160ms,height 160ms,margin 160ms,opacity 160ms,border-color 160ms;will-change:transform}
.dgm-pointer.is-visible{opacity:1}.dgm-pointer.is-link{width:40px;height:40px;margin:-20px 0 0 -20px;border-color:#3287be;background:#b5dfff14}
.dgm-pointer.is-pressed{width:20px;height:20px;margin:-10px 0 0 -10px}
@keyframes dgm-brand-energy{0%,100%{opacity:.35;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}
@keyframes dgm-brand-scan{0%,100%{transform:translateX(0);opacity:.25}50%{transform:translateX(160%);opacity:.9}}
@keyframes dgm-brand-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}
@media(hover:none),(pointer:coarse){.dgm-pointer{display:none}}
@media(prefers-reduced-motion:reduce){.header .brand img,.footer .brand img,.header .brand::before,.footer .brand::before,.header .brand::after,.footer .brand::after,.footer::before{animation:none}.dgm-pointer{display:none}.expertise-card,.expertise-card .service-icon{transition:none}.expertise-card:hover .service-icon{transform:none}}
@media(prefers-reduced-transparency:reduce){.header,.footer{background:#f6faff}}
.dgm-page-hidden .brand *,.dgm-page-hidden .brand::before,.dgm-page-hidden .brand::after,.dgm-page-hidden .footer::before{animation-play-state:paused}
/* Keep the outgoing surface present so navigation does not flash white. */
::view-transition-old(root){animation:none}
