/* Dysonsphere Limited brand layer over the Industry theme.
   Colours are taken from the company logo. */
:root {
  --ds-navy: #0d1b2a;
  --ds-navy-2: #15263a;
  --ds-slate: #415a77;
  --ds-amber: #f4a62a;
  --ds-amber-light: #ffd27a;
  --ds-ink: #1b2430;
  --ds-muted: #5b6573;
  --ds-paper: #f5f6f8;
}

body { color: var(--ds-muted); }
h1, h2, h3, h4, h5, h6 { color: var(--ds-ink); }

/* Header */
.header-top { background-color: var(--ds-navy); }
.header-top .ds-tagline {
  color: #c9d3e0; text-transform: uppercase; letter-spacing: 2px; font-size: 11px;
}
.header-top a { color: #fff; }
.header-top a:hover { color: var(--ds-amber); }
#header .main-menu { padding: 14px 0; }
#header #logo img { height: 46px; width: auto; }
@media (max-width: 768px) {
  #header #logo img { height: 36px; max-height: 36px; }
}
@media (max-width: 991px) {
  #header #logo { margin-left: 0; padding-left: 16px; }
  .banner-content .primary-btn { margin: 6px 4px; }
  .banner-content .ml-2 { margin-left: 4px !important; }
}
.nav-menu a { color: var(--ds-ink); }
.nav-menu .menu-active a, .nav-menu a:hover { color: var(--ds-amber); }

/* Overlays: navy instead of flat black, so photos sit in the brand palette */
.banner-area .overlay { background: var(--ds-navy); opacity: .78; }
.faq-area .overlay-bg { background: rgba(13, 27, 42, .82); }
.banner-content h6 { color: var(--ds-amber); letter-spacing: 3px; }
.banner-content h1 { max-width: 900px; margin-left: auto; margin-right: auto; }
.banner-content p { max-width: 760px; margin: 0 auto 30px; font-size: 16px; line-height: 1.75; }

/* Industrial edge: square buttons and a hazard-stripe rule */
.primary-btn, .genric-btn.primary { border-radius: 0; letter-spacing: 1px; }
.primary-btn:hover { background-color: var(--ds-navy); color: #fff; }
.primary-btn.ds-ghost { background: transparent; border: 2px solid #fff; line-height: 38px; }
.primary-btn.ds-ghost:hover { background: var(--ds-amber); border-color: var(--ds-amber); }
.ds-stripe {
  height: 6px;
  background: repeating-linear-gradient(-45deg, var(--ds-amber) 0 14px, var(--ds-navy) 14px 28px);
}
.ds-eyebrow {
  display: inline-block; color: var(--ds-amber); font-size: 12px; font-weight: 600;
  letter-spacing: 3px; text-transform: uppercase; margin-bottom: 12px;
}

/* Capability cards */
.single-cat { padding: 10px 18px; }
.single-cat h4 { margin-top: 23px; }
.single-cat ul { text-align: left; margin-top: 14px; padding-left: 0; list-style: none; }
.single-cat ul li { padding: 4px 0 4px 18px; position: relative; font-size: 14px; }
.single-cat ul li:before {
  content: ""; position: absolute; left: 0; top: 12px; width: 8px; height: 2px; background: var(--ds-amber);
}

/* About block: replace the quote form with a facts panel */
.home-about-left h1 { margin-bottom: 18px; }
.ds-facts {
  background: var(--ds-navy); color: #c9d3e0; padding: 34px 30px; border-top: 4px solid var(--ds-amber);
}
.ds-facts h4 { color: #fff; margin-bottom: 18px; }
.ds-facts dl { margin: 0; }
.ds-facts dt { color: var(--ds-amber); font-weight: 500; font-size: 13px; text-transform: uppercase; letter-spacing: 1.5px; }
.ds-facts dd { margin: 2px 0 16px; color: #e6ebf1; font-size: 14px; line-height: 1.6; }
.ds-facts dd:last-child { margin-bottom: 0; }

/* Sector cards */
.single-service .thumb img { width: 100%; height: 230px; object-fit: cover; }
.single-service h4 { margin-top: 20px; }

/* Key figures band */
.single-faq h5 { color: #fff; }
.single-faq h5 small { font-size: 12px; font-weight: 500; margin-left: 2px; }
.single-faq p { color: #e6ebf1; font-size: 16px; line-height: 1.45; padding-left: 8px; padding-right: 8px; }
.single-faq .ds-note { display: block; color: #b9c6d6; font-size: 12.5px; margin-top: 8px; line-height: 1.5; }

/* Publications */
.publications-area { background: var(--ds-paper); }
.ds-doc {
  background: #fff; border: 1px solid #e3e7ec; display: flex; height: 100%;
  transition: box-shadow .25s ease, transform .25s ease;
}
.ds-doc:hover { box-shadow: 0 18px 40px rgba(13, 27, 42, .12); transform: translateY(-2px); }
.ds-doc .cover {
  flex: 0 0 170px; background: var(--ds-navy); padding: 16px; display: flex; align-items: center; justify-content: center;
}
.ds-doc .cover img { width: 100%; height: auto; box-shadow: 0 6px 18px rgba(0, 0, 0, .35); }
.ds-doc .body { padding: 26px 26px 22px; display: flex; flex-direction: column; }
.ds-doc .kind { color: var(--ds-amber); font-size: 11px; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase; }
.ds-doc h4 { margin: 8px 0 10px; line-height: 1.35; }
.ds-doc p { font-size: 14px; line-height: 1.7; margin-bottom: 14px; }
.ds-doc .meta { font-size: 12.5px; color: #7a8594; border-top: 1px solid #edf0f3; padding-top: 12px; margin-top: auto; }
.ds-doc .meta span { margin-right: 14px; white-space: nowrap; }
.ds-doc .primary-btn { margin-top: 16px; align-self: flex-start; }
.ds-doc .primary-btn .fa { margin-right: 8px; }
.ds-copy { font-size: 12.5px; color: #7a8594; margin-top: 26px; text-align: center; }
@media (max-width: 575.98px) {
  .ds-doc { flex-direction: column; }
  .ds-doc .cover { flex-basis: auto; padding: 22px; }
  .ds-doc .cover img { width: 150px; }
}

/* Contact */
.contact-area .form-control { border-radius: 0; border: 1px solid #dfe3e8; margin-bottom: 18px; }
.contact-area textarea.form-control { height: 156px; }
.contact-area .alert-msg { color: var(--ds-ink); margin-top: 12px; }
.ds-contact-note p { margin-bottom: 14px; line-height: 1.75; }

/* Footer */
.footer-area { background-color: var(--ds-navy); }
.footer-area .footer-logo { height: 44px; width: auto; max-width: 100%; margin-bottom: 22px; }
.footer-area p, .footer-area li { color: #9fb0c4; }
.footer-area ul { list-style: none; padding: 0; }
.footer-area ul li { padding: 3px 0; }
.footer-area ul a { color: #c9d3e0; }
.footer-area ul a:hover { color: var(--ds-amber); }
.footer-area .footer-text { font-size: 12.5px; }
.footer-area .footer-text a { color: #c9d3e0; }
