/* ----------------------------------------------------------------
   TinTin Technologies — additions on top of the base theme (style.css).
   Keeps the existing palette: blue RGB(15, 0, 216), green RGB(0, 255, 12).
------------------------------------------------------------------- */

/* longer submenus (Services has 7 links) */
.mil-main-menu ul li.mil-has-children ul.mil-active {
  max-height: 420px;
}

/* services grid with more than 4 cards: keep the vertical rules on every row */
@media screen and (min-width: 992px) {
  .mil-services-grid.tt-grid-3 .mil-services-grid-item:nth-child(3n+1) {
    border-left: solid 1px rgba(255, 255, 255, 0.1);
  }
  .mil-services-grid.tt-grid-3 .mil-services-grid-item {
    border-bottom: solid 1px rgba(255, 255, 255, 0.1);
  }
  .mil-services-grid.tt-grid-3 .mil-services-grid-item:nth-last-child(-n+3) {
    border-bottom: none;
  }
}

/* SEO: keyword H1 shown as a small eyebrow above the hero slogan */
.mil-banner h1.tt-eyebrow {
  font-size: 13px;
  line-height: 170%;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
  max-width: 640px;
}
@media screen and (max-width: 768px) {
  .mil-banner h1.tt-eyebrow {
    font-size: 11px;
  }
}

/* SEO: heading that is read by search engines and screen readers but not shown */
.tt-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* footer legal links */
.tt-legal {
  margin-top: 15px;
  font-size: 13px;
}
.tt-legal a {
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.tt-legal a:hover {
  color: rgb(255, 255, 255);
}
.tt-legal .tt-sep {
  margin: 0 6px;
  color: rgba(255, 255, 255, 0.4);
}

/* linked items inside service lists (project pages) */
.mil-service-list.tt-link-list li a {
  color: inherit;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-service-list.tt-link-list li a:hover {
  color: RGB(15, 0, 216);
}

/* website screenshots: always show the top of the page */
.mil-portfolio-item .mil-cover-frame .mil-cover img.tt-top,
.mil-image-frame > img.tt-top {
  -o-object-position: top center;
     object-position: top center;
}

/* client logo strip */
.mil-partner-frame.tt-client {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 70px;
}
.mil-partner-frame.tt-client img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 56px;
  -o-object-fit: contain;
     object-fit: contain;
  filter: grayscale(1);
  opacity: 0.6;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-partner-frame.tt-client:hover img {
  filter: none;
  opacity: 1;
}

/* project page */
.tt-project-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 30px;
  margin-top: 60px;
}
.tt-delivered {
  margin: 0;
  padding: 0;
}
.tt-quote-name {
  display: block;
  margin-top: 20px;
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* article / legal text */
.tt-article ul {
  padding-left: 20px;
}
.tt-article ul li {
  margin-bottom: 10px;
  line-height: 170%;
}
.tt-article h5 {
  margin-top: 0;
}

/* contact details row */
.tt-contact-card {
  padding: 40px;
  height: 100%;
  background-color: rgb(242, 242, 242);
  border-bottom: solid 4px RGB(15, 0, 216);
}
.tt-contact-card a {
  color: rgb(0, 0, 0);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.tt-contact-card a:hover {
  color: RGB(15, 0, 216);
}
.tt-contact-card i {
  font-size: 22px;
  color: RGB(15, 0, 216);
}

/* forms */
.tt-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}
select.tt-select {
  width: 100%;
  height: 70px;
  padding: 0 30px;
  margin-bottom: 30px;
  border: none;
  border-radius: 0;
  background-color: rgb(242, 242, 242);
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  color: rgb(0, 0, 0);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.tt-form-status {
  min-height: 0;
  margin-top: 15px;
  font-size: 14px;
}
.tt-form-status.tt-ok {
  color: RGB(0, 170, 10);
}
.tt-form-status.tt-error {
  color: rgb(220, 40, 40);
}
.mil-dark-bg .tt-form-status.tt-ok {
  color: RGB(0, 255, 12);
}
.tt-form.tt-sending button {
  opacity: 0.5;
  pointer-events: none;
}

/* founder portrait (photo instead of a cut-out) */
.mil-portrait-frame img.tt-portrait-photo {
  -o-object-fit: cover;
     object-fit: cover;
  max-height: 70vh;
}

/* counters on the about page */
.tt-stat {
  font-size: 64px;
  font-weight: 500;
  line-height: 100%;
  color: RGB(15, 0, 216);
}
@media screen and (max-width: 768px) {
  .tt-stat {
    font-size: 48px;
  }
}
