/* Dominion Company SA — static-site additions on top of the design system. */
@keyframes dom-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
body { margin: 0; overflow-x: hidden; }
.dom-page { animation: dom-rise 420ms cubic-bezier(.2,.7,.3,1) both; }
.dom-menu { display: none; top: 30px !important; }
.dom-menu-wrap:hover .dom-menu,
.dom-menu-wrap:focus-within .dom-menu { display: block; }
/* Bridge the gap between the SERVICES link and the panel, so the pointer
   never leaves the hover area on its way down. */
.dom-menu-wrap::after {
  content: "";
  position: absolute;
  left: -18px;
  width: 268px;
  top: 100%;
  height: 36px;
}
.seg a.seg-opt { color: var(--color-text); }
.seg a.seg-opt[aria-current="true"] {
  background: var(--color-accent);
  color: #fff;
}
@media (max-width: 900px) {
  main section > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  main div[style*="repeat(4, 1fr)"] { grid-template-columns: repeat(2, 1fr) !important; }
  main div[style*="repeat(6, 1fr)"] { grid-template-columns: repeat(3, 1fr) !important; }
  main div[style*="repeat(3, 1fr)"] { grid-template-columns: 1fr !important; }
  footer div[style*="1.5fr"] { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 560px) {
  main div[style*="repeat(2, minmax(0, 1fr))"] { grid-template-columns: 1fr !important; }
  main div[style*="repeat(4, 1fr)"],
  main div[style*="repeat(6, 1fr)"] { grid-template-columns: 1fr 1fr !important; }
  footer div[style*="1.5fr"] { grid-template-columns: 1fr !important; }
}
