/*
Theme Name: DT PHP 8.4
Description: Lightweight compatibility theme for the DT WordPress migration.
Version: 1.0.0
Requires at least: 6.7
Requires PHP: 8.3
Text Domain: dt-php84
*/

:root {
  --dt-blue: #245f91;
  --dt-dark: #173247;
  --dt-light: #f5f7f9;
  --dt-red: #a9282e;
  --dt-width: 1170px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: #30343a; background: #fff; font: 16px/1.65 Arial, Helvetica, sans-serif; }
a { color: var(--dt-blue); }
img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute; left: -9999px; }
.dt-wrap { width: min(calc(100% - 40px), var(--dt-width)); margin: 0 auto; }

.dt-header { background: #fff; border-bottom: 1px solid #e7e9eb; }
.dt-header-inner { min-height: 112px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.dt-logo img { width: 300px; max-height: 86px; object-fit: contain; object-position: left center; }
.dt-nav ul { display: flex; align-items: center; gap: 30px; margin: 0; padding: 0; list-style: none; }
.dt-nav li { position: relative; }
.dt-nav a { color: #263746; font-weight: 600; text-decoration: none; }
.dt-nav a:hover, .dt-nav .current-menu-item > a { color: var(--dt-blue); }
.dt-nav .sub-menu { display: none; position: absolute; z-index: 5; top: 100%; left: 0; min-width: 240px; padding: 14px; background: #fff; box-shadow: 0 8px 24px rgb(0 0 0 / 14%); }
.dt-nav li:hover > .sub-menu, .dt-nav li:focus-within > .sub-menu { display: grid; gap: 8px; }
.dt-nav .menu-item-613 > a { padding: 12px 22px; color: #fff; background: var(--dt-blue); }

.dt-hero { min-height: 520px; display: grid; place-items: end center; padding: 0 20px 26px; background: #eef2f4 url('../../uploads/2017/07/dimensional-thinking-staffing-slider-2.jpg') center/cover no-repeat; }
.dt-hero-actions { display: flex; gap: 16px; }
.dt-button { display: inline-block; min-width: 185px; padding: 16px 24px; color: #fff; background: var(--dt-blue); font-weight: 700; text-align: center; text-decoration: none; }
.dt-button:hover { background: var(--dt-dark); color: #fff; }

.dt-main { min-height: 50vh; padding: 58px 0 80px; }
.home .dt-main { padding-top: 54px; }
.dt-page-title { margin: 0 0 32px; color: var(--dt-dark); font-size: clamp(2rem, 5vw, 3.1rem); line-height: 1.15; }
.dt-entry > :first-child { margin-top: 0; }
.dt-entry h2, .dt-entry h3 { color: var(--dt-dark); line-height: 1.25; }
.dt-entry input, .dt-entry textarea, .dt-entry select { max-width: 100%; padding: 12px; border: 1px solid #bac3ca; border-radius: 2px; }
.dt-entry button, .dt-entry input[type='submit'] { padding: 13px 24px; border: 0; color: #fff; background: var(--dt-blue); font-weight: 700; cursor: pointer; }

.dt-footer { padding: 42px 0 24px; color: #dce5eb; background: var(--dt-dark); }
.dt-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 42px; }
.dt-footer h2 { margin-top: 0; color: #fff; font-size: 1rem; letter-spacing: .08em; text-transform: uppercase; }
.dt-footer a { color: #fff; }
.dt-footer-logo { width: 210px; padding: 10px; background: #fff; }
.dt-copyright { margin-top: 34px; padding-top: 20px; border-top: 1px solid rgb(255 255 255 / 16%); font-size: .9rem; }

@media (max-width: 850px) {
  .dt-header-inner { min-height: auto; padding: 18px 0; align-items: flex-start; flex-direction: column; }
  .dt-logo img { width: 240px; }
  .dt-nav ul { flex-wrap: wrap; gap: 12px 20px; }
  .dt-nav .sub-menu { position: static; box-shadow: none; }
  .dt-hero { min-height: 360px; }
  .dt-footer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .dt-wrap { width: min(calc(100% - 24px), var(--dt-width)); }
  .dt-hero-actions { width: 100%; flex-direction: column; }
  .dt-button { width: 100%; }
}
