:root {
  --intor-accent: #a84b18;
  --intor-accent-dark: #6f2b0d;
  color-scheme: only light;
}

html { color-scheme: only light; }

/* There is one responsive site, not separately persisted mobile/desktop modes. */
.desktop-view-toggle,
.mobile-view-toggle { display: none !important; }

/* Keep the trust block stable in browsers that force an automatic dark mode. */
.partner-section {
  background: linear-gradient(#f4efe7, #f4efe7) !important;
  color: #1c1814 !important;
  forced-color-adjust: none;
}
.partner-section .partner-profile {
  background: linear-gradient(#fbf8f2, #fbf8f2) !important;
  color: #1c1814 !important;
}
.partner-section .partner-logo-mount {
  background: linear-gradient(#201c18, #201c18) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  height: 106px !important;
  padding: 20px 22px !important;
}
.partner-section .partner-logo-mount.gpm img,
.partner-section .partner-logo-mount.ingrad img,
.partner-section .partner-logo-mount.perekrestok img,
.partner-section .partner-logo-mount.workki img {
  filter: none !important;
}
.partner-section .partner-logo-mount .partner-wordmark {
  color: #f2dfbd !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 1.12rem !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}
.partner-section .partner-profile h3 { display: none !important; }
.partner-section .partner-profile p {
  margin: 0 !important;
  color: #5d5146 !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: .88rem !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}
.partner-section .partner-category {
  margin: 0 !important;
  color: #8a5d2e !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: .76rem !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

/* Editorial, blueprint-inspired partner cards. */
.partner-section .partner-profiles {
  counter-reset: intor-partner;
  gap: 24px !important;
}
.partner-section .partner-profiles > li {
  counter-increment: intor-partner;
}
.partner-section .partner-profile {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  gap: 14px !important;
  padding: 0 24px 26px !important;
  border: 1px solid rgba(126, 82, 43, .24);
  border-radius: 3px;
  background: linear-gradient(145deg, #fffaf2 0%, #f3e8d7 100%) !important;
  box-shadow: 0 18px 42px rgba(68, 43, 25, .08);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.partner-section .partner-profile::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .32;
  background-image:
    linear-gradient(rgba(126, 82, 43, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126, 82, 43, .08) 1px, transparent 1px);
  background-size: 34px 34px;
  pointer-events: none;
}
.partner-section .partner-profile:hover {
  transform: translateY(-4px);
  border-color: rgba(126, 82, 43, .52);
  box-shadow: 0 22px 48px rgba(68, 43, 25, .14);
}
.partner-section .partner-logo-mount {
  position: relative;
  z-index: 1;
  width: calc(100% + 48px) !important;
  height: 98px !important;
  margin: 0 -24px 4px !important;
  padding: 22px 24px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(126, 82, 43, .24) !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 88% 10%, rgba(181, 116, 59, .2), transparent 35%),
    linear-gradient(135deg, #ead6b7 0%, #f6ead7 55%, #dfc39a 100%) !important;
}
.partner-section .partner-logo-mount.ingrad,
.partner-section .partner-logo-mount.perekrestok,
.partner-section .partner-logo-mount.gpm,
.partner-section .partner-logo-mount.workki {
  background:
    radial-gradient(circle at 88% 10%, rgba(181, 116, 59, .2), transparent 35%),
    linear-gradient(135deg, #ead6b7 0%, #f6ead7 55%, #dfc39a 100%) !important;
}
.partner-section .partner-logo-mount::before {
  content: "0" counter(intor-partner);
  flex: 0 0 auto;
  margin-right: 18px;
  color: #9a6334;
  font: 700 .7rem/1 Manrope, Arial, sans-serif;
  letter-spacing: .12em;
}
.partner-section .partner-logo-mount::after {
  content: "↗";
  flex: 0 0 auto;
  margin-left: auto;
  color: #86552e;
  font: 400 1.15rem/1 Manrope, Arial, sans-serif;
}
.partner-section .partner-logo-mount .partner-wordmark {
  color: #3b2a1d !important;
  font-size: 1.02rem !important;
  letter-spacing: .035em !important;
}
.partner-section .partner-category {
  align-self: flex-start;
  position: relative;
  z-index: 1;
  padding: 6px 9px;
  border: 1px solid rgba(138, 93, 46, .22);
  border-radius: 999px;
  background: rgba(255, 250, 242, .72);
}
.partner-section .partner-profile p {
  position: relative;
  z-index: 1;
}

/* Smaller hero asset: same composition, substantially lighter download. */
.redesign-hero::before {
  background-image: linear-gradient(90deg, rgba(13, 8, 5, .74), rgba(13, 8, 5, .2)), url("/assets/site-media/hero-architecture-optimized.jpg") !important;
  background-position: center !important;
  background-size: cover !important;
}

.mobile-contact-compact { display: none; }

.catalog-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
  padding: 0;
  border: 0;
}
.catalog-filter legend {
  width: 100%;
  margin-bottom: 7px;
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted, #756d66);
}
.catalog-filter button,
.contact-mode button {
  min-height: 42px;
  border: 1px solid rgba(110, 78, 57, .28);
  border-radius: 999px;
  padding: 9px 15px;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.catalog-filter button:hover,
.catalog-filter button:focus-visible,
.catalog-filter button.is-active,
.contact-mode button:hover,
.contact-mode button:focus-visible,
.contact-mode button.is-active {
  color: #fff;
  border-color: var(--intor-accent);
  background: var(--intor-accent);
}
.catalog [hidden] { display: none !important; }

.case-facts {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 14px;
  margin-top: 14px;
  padding-top: 13px;
  border-top: 1px solid rgba(170, 126, 88, .25);
  font-size: .82rem;
  line-height: 1.4;
}
.case-facts strong { color: #b76534; }
.case-facts p { margin: 0; }

.article-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 0 0 28px;
  padding: 14px 0;
  border-top: 1px solid rgba(130, 98, 74, .22);
  border-bottom: 1px solid rgba(130, 98, 74, .22);
  color: var(--muted, #746c65);
  font-size: .86rem;
}
.article-related {
  margin-top: 54px;
  padding: 28px;
  border: 1px solid rgba(130, 98, 74, .25);
  background: rgba(166, 112, 72, .06);
}
.article-related h2 { margin-top: 0; }
.article-related-links { display: grid; gap: 10px; }
.article-related-links a {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(130, 98, 74, .2);
}

.contact-mode {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
  padding: 0;
  border: 0;
}
.contact-mode legend {
  width: 100%;
  margin-bottom: 5px;
  font-weight: 600;
}
.contact-response-note {
  margin: 8px 0 18px;
  color: var(--muted, #746c65);
  font-size: .88rem;
}

/* Prevent legal tables from stretching the complete mobile page. */
.reading-layout,
.reading-layout > *,
.reading,
.toc { min-width: 0; max-width: 100%; }
.reading .legal-table,
.reading .table-wrap {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 760px) {
  .redesign-hero::before {
    background-image: linear-gradient(180deg, rgba(10, 7, 5, .75), rgba(10, 7, 5, .94)), url("/assets/site-media/hero-architecture-optimized.jpg") !important;
    background-position: 63% center !important;
  }
  .contact-topbar { display: none !important; }
  .site-header { grid-template-columns: minmax(120px, 1fr) auto auto !important; }
  .mobile-contact-compact {
    display: inline-flex;
    grid-column: 2;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 8px 12px;
    border: 1px solid rgba(180, 123, 80, .55);
    color: inherit;
    font-size: .78rem;
    text-decoration: none;
  }
  .menu-toggle { grid-column: 3 !important; min-width: 44px; min-height: 44px; }
  .mobile-bar { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  .mobile-bar a {
    min-width: 0;
    padding-inline: 2px !important;
    font-size: clamp(.66rem, 3vw, .78rem) !important;
  }
  .mobile-bar a > span { font-size: 1.25rem; }
  .mobile-bar .mobile-call {
    background: linear-gradient(180deg, var(--intor-accent), var(--intor-accent-dark)) !important;
  }
  .catalog-filter {
    flex-wrap: nowrap;
    margin-inline: calc(var(--page-pad, 20px) * -1);
    padding-inline: var(--page-pad, 20px);
    overflow-x: auto;
    scrollbar-width: none;
  }
  .catalog-filter::-webkit-scrollbar { display: none; }
  .catalog-filter legend { display: none; }
  .catalog-filter button { flex: 0 0 auto; min-height: 44px; }
  .case-facts { grid-template-columns: 1fr; }
  .article-related { padding: 20px; }
  .footer a { min-height: 44px; display: inline-flex; align-items: center; }

  /* Partner marks have very different source proportions; tune the three
     narrow marks independently so they read as one consistent mobile set. */
}

@media (prefers-reduced-motion: reduce) {
  .catalog-filter button,
  .contact-mode button { transition: none !important; }
}
