@font-face {
  font-family:Montserrat;
  src:url('fonts/montserrat-latin.woff') format('woff');
  font-weight:100 900;
  font-display:swap
}
@font-face {
  font-family:'Open Sans';
  src:url('fonts/open-sans-400.woff') format('woff');
  font-weight:400;
  font-display:swap
}
@font-face {
  font-family:'Open Sans';
  src:url('fonts/open-sans-600.woff') format('woff');
  font-weight:600;
  font-display:swap
}
@font-face {
  font-family:'Open Sans';
  src:url('fonts/open-sans-700.woff') format('woff');
  font-weight:700;
  font-display:swap
}
:root {
  --navy:#071426;
  --panel:#0e2036;
  --blue:#58baff;
  --text:#eef5ff;
  --muted:#b3c2d5;
  --line:#263b53
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px
}
body {
  margin:0;
  background:var(--navy);
  color:var(--text);
  font:16px/1.75 'Open Sans',Arial,sans-serif
}
h1,h2,h3,.brand {
  font-family:Montserrat,Arial,sans-serif;
  line-height:1.16
}
h1 {
  font-size:clamp(40px,5.3vw,76px);
  letter-spacing:-.045em;
  margin:24px 0
}
h2 {
  font-size:clamp(30px,3vw,44px);
  letter-spacing:-.035em;
  margin:12px 0 26px
}
h3 {
  font-size:21px;
  margin:18px 0 12px
}
p {
  color:var(--muted);
  margin:0 0 22px
}
a {
  color:inherit;
  text-decoration:none
}
a:hover {
  color:var(--blue)
}
button,input,select,textarea {
  font:inherit
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid var(--blue);
  outline-offset:5px
}
header {
  border-bottom:1px solid var(--line);
  background:#071426f5;
  position:relative;
  z-index:5
}
.header-inner {
  max-width:1400px;
  padding:23px 4%;
  margin:auto;
  display:flex;
  align-items:center;
  gap:36px
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:27px;
  font-weight:800;
  letter-spacing:.03em;
  flex-shrink:0
}
.brand-sub {
  display:block;
  font-size:9px;
  letter-spacing:.25em;
  margin-top:5px
}
.brand-mark {
  border:2px solid var(--blue);
  border-radius:8px;
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  color:var(--blue);
  position:relative
}
.brand-mark span {
  position:absolute;
  font-size:16px;
  right:-5px;
  top:-9px;
  background:var(--navy)
}
nav {
  display:flex;
  gap:20px;
  align-items:center;
  margin-left:auto
}
nav a {
  font-size:12px;
  line-height:1.4;
  font-weight:600
}
nav a[aria-current] {
  color:var(--blue)
}
nav a:last-child {
  border:1px solid #5382ac;
  padding:10px 16px;
  border-radius:5px
}
.section,.hero,.focus-strip {
  max-width:1280px;
  margin:auto;
  padding:88px 5%
}
.hero {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:35px;
  padding-top:90px;
  padding-bottom:80px;
  overflow:hidden
}
.eyebrow {
  color:var(--blue);
  font-size:11px;
  letter-spacing:.16em;
  font-weight:700;
  margin:0 0 18px
}
.status-dot {
  display:inline-block;
  background:var(--blue);
  width:7px;
  height:7px;
  border-radius:50%;
  margin-right:8px
}
em {
  font-style:normal;
  color:var(--blue)
}
.lead {
  font-size:18px;
  line-height:1.85;
  max-width:720px
}
.actions {
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
  margin-top:30px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  background:var(--blue);
  color:#061627;
  border:0;
  padding:16px 22px;
  border-radius:5px;
  font-weight:700;
  font-size:13px;
  cursor:pointer
}
.button:hover {
  background:#9bd6ff;
  color:#061627
}
.text-link {
  font-size:14px;
  font-weight:700;
  color:var(--blue)
}
.micro {
  font-size:12px;
  margin:20px 0 0
}
.tech-art {
  position:relative;
  min-height:410px;
  display:grid;
  place-items:center;
  background:radial-gradient(ellipse,#12558a44,transparent 68%)
}
.orbit {
  position:absolute;
  border:1px solid #2973a26b;
  border-radius:50%;
  width:330px;
  height:330px;
  transform:rotate(-30deg) scaleY(.65)
}
.orbit-two {
  transform:rotate(50deg) scaleY(.7);
  width:400px;
  height:400px
}
.grid-plane {
  position:absolute;
  inset:12%;
  background-image:linear-gradient(#367a9c24 1px,transparent 1px),linear-gradient(90deg,#367a9c24 1px,transparent 1px);
  background-size:30px 30px;
  transform:perspective(500px) rotateX(45deg) rotateZ(-25deg);
  border:1px solid #258ab13b
}
.core {
  position:relative;
  background:linear-gradient(140deg,#1a4568,#10213a);
  border:1px solid #68caff;
  box-shadow:0 0 80px #37a8ff30,inset 0 0 35px #4bbdff18;
  border-radius:24px;
  padding:38px 27px;
  font:800 49px Montserrat,Arial;
  transform:rotate(-7deg)
}
.core span {
  display:block;
  font:8px 'Open Sans',Arial;
  letter-spacing:.17em;
  color:var(--blue);
  margin-top:12px
}
.art-tag {
  position:absolute;
  background:#0d2439;
  border:1px solid #356584;
  padding:8px 13px;
  font-size:9px;
  letter-spacing:.15em;
  border-radius:5px
}
.tag-one {
  top:45px;
  left:35px
}
.tag-two {
  right:0;
  top:150px
}
.tag-three {
  bottom:35px;
  left:30px
}
.node {
  position:absolute;
  width:9px;
  height:9px;
  background:#70d4ff;
  box-shadow:0 0 20px var(--blue);
  border-radius:50%
}
.node-one {
  top:85px;
  right:65px
}
.node-two {
  bottom:80px;
  right:80px
}
.focus-strip {
  padding-top:24px;
  padding-bottom:24px;
  border-block:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px
}
.focus-strip span {
  font-size:10px;
  color:var(--muted);
  letter-spacing:.12em
}
.focus-strip p {
  margin:0;
  font-size:14px;
  color:#e0eaf5
}
.section-heading {
  display:flex;
  justify-content:space-between;
  gap:50px;
  align-items:end;
  margin-bottom:32px
}
.section-heading>p {
  max-width:360px
}
.service-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px
}
.service-card,.card {
  background:linear-gradient(130deg,#12273e,#0c1c30);
  border:1px solid var(--line);
  border-radius:9px;
  padding:32px;
  position:relative
}
.service-card {
  transition:transform .2s,border-color .2s
}
.service-card:hover {
  transform:translateY(-4px);
  border-color:var(--blue)
}
.service-card p {
  font-size:14px
}
.service-icon {
  font-size:30px;
  color:var(--blue)
}
.card-arrow {
  position:absolute;
  right:28px;
  color:var(--blue)
}
.learn {
  font-size:12px;
  font-weight:700;
  color:var(--blue)
}
.approach {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  border-top:1px solid var(--line)
}
.steps {
  padding:0;
  margin:0;
  list-style:none
}
.steps li {
  display:flex;
  gap:25px;
  padding:14px 0;
  border-bottom:1px solid var(--line)
}
.steps li>span {
  color:var(--blue);
  padding-top:18px;
  font-size:12px
}
.steps p {
  font-size:14px
}
.government {
  background:linear-gradient(110deg,#122e49,#0b1c30);
  border:1px solid var(--line);
  border-radius:10px
}
.government p {
  max-width:600px
}
.cta {
  display:flex;
  align-items:center;
  gap:60px;
  justify-content:space-between
}
.cta h2 {
  font-size:34px
}
.cta>div {
  max-width:600px
}
.cta .button {
  flex-shrink:0
}
footer {
  border-top:1px solid var(--line);
  padding:45px max(5%,calc((100vw - 1150px)/2));
  background:#050f1d
}
.footer-top,.footer-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px
}
.footer-top p {
  font-size:13px;
  margin:0
}
.footer-top>a:last-child {
  font-size:13px;
  color:var(--blue)
}
.footer-bottom {
  border-top:1px solid var(--line);
  padding-top:25px;
  margin-top:35px;
  font-size:11px
}
.footer-bottom p {
  margin:0
}
.page-hero {
  background:radial-gradient(ellipse at top right,#143d5d55,transparent 65%);
  max-width:none;
  padding-left:max(5%,calc((100vw - 1150px)/2));
  padding-right:max(5%,calc((100vw - 1150px)/2));
  border-bottom:1px solid var(--line)
}
.page-hero h1 {
  max-width:1000px
}
.cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:40px
}
.card p {
  font-size:14px
}
.card-number {
  font-size:12px;
  color:var(--blue)
}
.note {
  background:var(--panel);
  border-block:1px solid var(--line);
  max-width:1152px;
  border-radius:8px
}
.note p {
  max-width:800px
}
.values {
  padding:15px 35px;
  border-left:2px solid var(--blue)
}
.contact-layout {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:65px
}
.check-list {
  padding-left:22px;
  color:var(--muted)
}
.check-list li {
  padding:5px 0
}
.notice {
  margin-top:35px;
  padding:24px;
  border-left:3px solid var(--blue);
  background:var(--panel)
}
.notice h3 {
  font-size:18px
}
.notice p {
  font-size:14px;
  margin:0
}
form {
  padding:32px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:10px
}
form h2 {
  font-size:25px
}
.form-status {
  font-size:12px;
  color:#d0e7ff;
  background:#1c3650;
  padding:10px;
  border-radius:4px
}
fieldset {
  border:0;
  padding:0;
  margin:0;
  min-width:0
}
label {
  display:block;
  font-size:13px;
  font-weight:600;
  margin-bottom:18px
}
label span {
  font-weight:400;
  font-size:11px
}
.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px
}
input,select,textarea {
  display:block;
  width:100%;
  border:1px solid #496078;
  border-radius:4px;
  background:#09182b;
  color:var(--text);
  padding:11px;
  margin-top:8px
}
fieldset:disabled input,fieldset:disabled select,fieldset:disabled textarea {
  opacity:.7
}
.consent {
  display:block;
  font-weight:400;
  font-size:12px;
  margin-top:20px
}
.consent input {
  display:inline-block;
  width:auto;
  margin-right:8px
}
.consent a {
  text-decoration:underline
}
.button:disabled {
  background:#45617a;
  color:#e3edf5;
  cursor:not-allowed
}
.prose {
  max-width:950px
}
.skip {
  position:absolute;
  top:-100px;
  left:15px;
  z-index:20;
  background:white;
  color:#071426;
  padding:12px
}
.skip:focus {
  top:10px
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.menu-toggle {
  background:transparent;
  color:var(--text);
  border:1px solid var(--line);
  border-radius:4px;
  padding:9px 14px;
  margin-left:auto
}
.menu-toggle[hidden] {
  display:none
}
@media(max-width:1150px) {
  .header-inner {
  flex-wrap:wrap;
  gap:20px
}
nav {
  width:100%;
  justify-content:space-between;
  gap:12px
}
.cta {
  flex-direction:column;
  align-items:flex-start;
  gap:20px
}

}
@media(max-width:760px) {
  .section,.hero {
  padding:55px 6%
}
.hero {
  grid-template-columns:1fr;
  gap:10px
}
.hero h1 {
  font-size:49px
}
.tech-art {
  min-height:330px;
  max-width:420px;
  width:100%;
  margin:auto
}
.orbit {
  width:260px;
  height:260px
}
.orbit-two {
  width:310px;
  height:310px
}
.core {
  font-size:38px
}
.tag-one {
  top:20px
}
.tag-three {
  bottom:15px
}
.focus-strip {
  flex-wrap:wrap;
  padding:22px 6%;
  gap:12px 20px
}
.focus-strip span {
  width:100%
}
.focus-strip p {
  font-size:12px
}
.section-heading {
  display:block
}
.service-grid,.cards,.approach,.contact-layout {
  grid-template-columns:1fr;
  gap:20px
}
.approach {
  gap:35px
}
.service-card,.card {
  padding:25px
}
.government {
  border-radius:0
}
.footer-top,.footer-bottom {
  align-items:flex-start;
  flex-direction:column
}
.page-hero h1 {
  font-size:42px;
  overflow-wrap:break-word
}
.form-row {
  grid-template-columns:1fr;
  gap:0
}
form {
  padding:22px
}
.header-inner {
  padding:17px 6%
}
.menu-toggle:not([hidden]) {
  display:block
}
nav {
  flex-direction:column;
  align-items:stretch;
  gap:0
}
nav a {
  padding:12px 0;
  font-size:14px
}
nav a:last-child {
  margin-top:8px
}
nav[data-collapsed="true"] {
  display:none
}
.cta .button {
  white-space:normal;
  font-size:12px
}
.values {
  padding-left:25px
}
.actions {
  gap:20px
}

}
@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto
}
*,*::before,*::after {
  transition:none!important
}

}


.card-arrow,.button span,.brand-mark span {
  font-family:Arial,sans-serif
}


/* Business pathways and verified contact channels */
h1,h2,h3 {
  font-weight:600
}
.pathways {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  border-top:1px solid var(--line)
}
.pathways h2 {
  font-size:32px
}
.direct-contact {
  margin:30px 0
}
.direct-contact a,.footer-contact a {
  color:var(--blue);
  overflow-wrap:anywhere
}
.direct-contact p {
  font-size:14px
}
.qualification-facts {
  margin:0;
  font-size:14px
}
.qualification-facts dt {
  margin-top:20px;
  font-weight:700
}
.qualification-facts dd {
  margin:4px 0 0;
  color:var(--muted);
  overflow-wrap:anywhere
}
.qualification-facts a {
  color:var(--blue)
}
.footer-contact {
  display:flex;
  flex-wrap:wrap;
  gap:16px 30px;
  font-size:13px;
  border-top:1px solid var(--line);
  padding-top:25px;
  margin-top:30px
}
.footer-contact span {
  color:var(--muted)
}
.footer-bottom {
  margin-top:25px
}
#consultation {
  scroll-margin-top:30px
}
@media(max-width:760px) {
  .pathways {
  grid-template-columns:1fr;
  gap:35px
}
.footer-contact {
  flex-direction:column;
  gap:10px
}

}

.arrow-icon {
  display:inline-block;
  width:14px;
  height:14px;
  vertical-align:middle;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}

.consultation-card {
  padding:32px;
  background:linear-gradient(130deg,#122b44,#0c1c30);
  border:1px solid var(--line);
  border-radius:10px;
  align-self:start;
}
.consultation-actions {
  display:flex;
  flex-direction:column;
  gap:14px;
  margin:28px 0 18px;
}
.button-outline {
  background:transparent;
  color:var(--blue);
  border:1px solid var(--blue);
}
.contact-address a {
  color:var(--blue);
  overflow-wrap:anywhere;
}
.privacy-link {
  display:inline-block;
  margin-top:22px;
  font-size:12px;
}
[hidden] {
  display:none!important;
}
@media(max-width:760px) {
  .consultation-card { padding:24px; }
}

/* Transparent artwork. Recolor only the lettering; preserve icon colors.
   Set data-logo-theme="light" on the link/container for a light surface. */
.logo-window {
  display:block;
  width:200px;
  height:82px;
  overflow:hidden;
  position:relative;
  flex-shrink:0;
  background:transparent;
}
.logo-window img {
  position:absolute;
  width:220px;
  height:auto;
  max-width:none;
  left:-9px;
  top:-8px;
}
.logo-symbol { clip-path:inset(0 57% 0 0); }
.logo-wordmark {
  position:absolute;
  width:220px;
  height:100.5714px;
  left:-9px;
  top:-8px;
  clip-path:inset(0 0 0 43%);
  background-color:var(--logo-wordmark-color,#fff);
  -webkit-mask:url('branding/dmis-logo-transparent.png') center / 100% 100% no-repeat;
  mask:url('branding/dmis-logo-transparent.png') center / 100% 100% no-repeat;
  forced-color-adjust:none;
}
[data-logo-theme="light"] { --logo-wordmark-color:#071426; }
[data-logo-theme="dark"] { --logo-wordmark-color:#fff; }
:root { color-scheme:dark; }
.technology-section { border-top:1px solid var(--line); }
.technology-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:22px; }
.technology-card { padding:28px;border:1px solid var(--line);border-radius:9px;background:var(--panel); }
.technology-name { color:var(--blue);font:600 30px Montserrat,Arial,sans-serif;letter-spacing:-.02em;margin:0 0 30px; }
.technology-card h3 { font-size:18px; }
.technology-card p:not(.technology-name) { font-size:14px; }
@media(max-width:760px) {
  .technology-grid { grid-template-columns:1fr; }
  .header-inner { gap:14px; }
}

.credentials-section { border-top:1px solid var(--line); }
.credential-card { border:1px solid var(--line);border-radius:9px;padding:22px;background:var(--panel); }
.credential-card h3 { font-size:19px; }
.credential-card p { font-size:14px; }
.badge-frame { display:flex;align-items:center;justify-content:center;min-height:155px;background:#f5f5f5;border-radius:5px; }
.badge-window { display:block;overflow:hidden;position:relative;flex-shrink:0; }
.badge-window img { position:absolute;max-width:none; }
.badge-microsoft { width:224px;height:80px; }
.badge-microsoft img { width:413.7px;height:896px;left:-49px;top:-413px; }
.badge-dell { width:156px;height:118px; }
.badge-dell img { width:354.6px;height:768px;left:-43.2px;top:-438.6px; }
.badge-mdot { width:204px;height:122px; }
.badge-mdot img { width:472.8px;height:1024px;left:-144px;top:-761.6px; }
@media(min-width:761px) and (max-width:1000px) {
  .technology-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
