/* Shared accessibility and responsive rules, loaded after page-specific styles. */
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-padding-top: 110px; }
body { margin: 0; }
.header { position: sticky; top: 0; width: 100%; background: var(--soft-cream); box-shadow: 0 2px 10px rgba(10,31,68,.08); }
.header .navbar { position: relative; max-width: 1440px; margin-inline: auto; }
.header .mobile-menu.show { max-height: calc(100vh - 160px); max-height: calc(100dvh - 160px); overflow-y: auto; overscroll-behavior: contain; }
.nav-item.services-menu-item { display: flex; align-items: center; }
.nav-submenu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 28px; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--deep-navy); }
.nav-submenu-toggle .dropdown-arrow { margin: 0; }
.mobile-nav-item.services-menu-item { display: grid; grid-template-columns: minmax(0,1fr) 48px; align-items: center; }
.mobile-nav-item.services-menu-item .nav-submenu-toggle { width: 48px; min-height: 54px; }
.mobile-nav-item.services-menu-item .mobile-dropdown-content { grid-column: 1 / -1; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: default; opacity: .65; }
img { max-width: 100%; }
button.nav-link, .mobile-dropdown-toggle { border: 0; background: transparent; text-align: left; }
.nav-menu .nav-link { font-weight: 600; }
.nav-item.dropdown .dropdown-menu { pointer-events: none; }
.nav-item.dropdown.is-open .dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.nav-link, .dropdown-item, .mobile-dropdown-toggle, .mobile-dropdown-item, .lang-btn, .linklike { min-height: 44px; }
.mobile-dropdown-content { display: none; }
.mobile-dropdown-content.show { display: block; max-height: none; }
main .contact-btn { display: inline-flex; margin-left: 0; padding: 12px 20px; align-items: center; }
.evidence-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.evidence-heading { color: #fff; margin-bottom: 32px; font-size: clamp(26px,4vw,40px); }
.evidence-card { background: #fff; color: #182d40; padding: 28px; border-radius: 8px; }
.evidence-card h3 { font-size: 23px; margin-bottom: 16px; }
.evidence-card p, .evidence-card li { line-height: 1.75; }
.evidence-card a { color: #14516a; text-decoration: underline; }
.evidence-card ol { padding-left: 24px; }
.linklike { color: inherit; background: transparent; border: 0; text-align: left; padding: 0; text-decoration: underline; }
:focus-visible { outline: 3px solid #ab692b !important; outline-offset: 4px; }
.skip-link { position: fixed; left: 12px; top: -100px; z-index: 100000; background: #fff; color: #143627; padding: 14px 22px; }
.skip-link:focus { top: 12px; }
main:focus { outline: none; }
.form-verification { margin: 16px 0; max-width: 100%; min-width: 0; }
.verification-note, .verification-status { font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.verification-note { margin: 8px 0; color: #40566a; }
.verification-status { margin: 12px 0; padding: 12px; background: #edf3ed; color: #182d40; }
.verification-status[hidden] { display: none; }
.verification-status[role=alert] { border-left: 3px solid #9b2929; }
.honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.form-errors { border: 2px solid #9d2424; border-radius: 8px; padding: 18px; margin: 0 0 24px; background: #fff6f5; color: #711919; }
.form-errors h2 { font-size: 1.2rem; margin-bottom: 10px; }
.form-errors ul { padding-left: 22px; }
.form-errors a { color: inherit; }
.form-input[aria-invalid=true] { border-color: #9d2424; }
.dialog-close { float: right; min-width: 44px; min-height: 44px; background: #fff; border: 1px solid #777; border-radius: 6px; font-size: 24px; }
#cookie-modal { overflow-y: auto; padding: 24px; }
#cookie-form { max-height: calc(100dvh - 48px); overflow-y: auto; }
#cookie-modal fieldset { border: 0; padding: 18px 0; }
#cookie-modal label { min-height: 44px; display: flex; align-items: center; gap: 10px; }
#cookie-modal input { width: 20px; height: 20px; }
#cookie-modal .actions, #cookie-banner .actions { flex-wrap: wrap; }
#cookie-modal button, #cookie-banner button { min-height: 44px; white-space: normal; }
#cookie-banner .actions button#cb-accept, #cookie-modal .actions button#cp-accept-all { background-color: #206c63; border-color: #206c63; }
#cookie-banner { max-height: 55dvh; overflow: auto; }
.consent-error { color: #8d2424; margin-top: 8px; }
.consent-error:empty { display: none; }
.discover-link, .team-discover-link { max-width: 100%; white-space: normal !important; min-height: 44px; }
.discover-link .text, .team-discover-link .text { white-space: normal !important; overflow-wrap: anywhere; }
.discover-link .arrow, .team-discover-link .arrow { flex: 0 0 auto; }
.service-tags { flex-wrap: wrap; }
.service-tag { white-space: normal; }
.hero-content, .contact-button, .footer-section, .service-content, .left-content, .right-content { min-width: 0; max-width: 100%; }
.hero-content h1 { overflow-wrap: anywhere; }
html[lang=hy] body, html[lang=hy] button, html[lang=hy] input, html[lang=hy] textarea, html[lang=hy] h1, html[lang=hy] h2, html[lang=hy] h3, html[lang=hy] p, html[lang=hy] a { font-family: 'Noto Sans Armenian', Inter, sans-serif; }
/* A concise, photo-free introduction to the three service areas. */
.home-services { padding: clamp(48px, 5vw, 72px) 0; background: #faf9f7; color: #182d40; }
.home-services__intro { margin-bottom: 36px; }
.home-services__intro h2 { margin: 0; font-size: clamp(30px, 3.5vw, 46px); line-height: 1.25; }
.home-services__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.home-services__item { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; border-top: 2px solid #d4af37; padding-top: 24px; }
.home-services__number { margin-bottom: 16px; color: #526273; font-size: 15px; font-weight: 600; }
.home-services__item h3 { margin: 0 0 16px; font-size: clamp(21px, 1.85vw, 26px); line-height: 1.4; text-wrap: balance; }
.home-services__item p { margin: 0 0 20px; font-size: 17px; line-height: 1.75; }
.home-services__link { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; max-width: 100%; margin-top: auto; padding: 8px 0; color: #182d40; font-size: 16px; font-weight: 600; line-height: 1.5; text-decoration: underline; text-underline-offset: 5px; }
.home-services__link span:first-child { min-width: 0; }
.home-services__link span[aria-hidden] { flex-shrink: 0; font-size: 24px; }
.home-services__link:hover { color: #14516a; text-decoration-thickness: 2px; }
.home-services__specialist { margin: 32px 0 0; padding-top: 24px; border-top: 1px solid #d5dadd; font-size: 16px; line-height: 1.75; color: #40566a; }
@media(max-width: 900px) {
  .home-services__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .home-services__item { padding-top: 20px; }
  .home-services__number { margin-bottom: 12px; }
}
.simple-page { padding: 145px 24px 80px; max-width: 900px; margin: auto; min-height: 65vh; }
.simple-page h1 { font-size: clamp(30px, 5vw, 48px); margin-bottom: 24px; line-height: 1.2; }
.simple-page p { line-height: 1.8; margin-bottom: 20px; }
.simple-page form { margin: 30px 0; }
.simple-page label { display: block; margin: 20px 0 8px; }
.simple-page input:not([type=checkbox]):not([type=hidden]), .simple-page textarea, .simple-page select { width: 100%; padding: 12px; min-height: 48px; border: 1px solid #7b8a80; border-radius: 6px; background: white; }
.simple-page textarea { min-height: 140px; }
.simple-page .consent-label { display: flex; align-items: start; gap: 12px; }
.simple-page .consent-label input { margin-top: 6px; width: 20px; height: 20px; flex-shrink: 0; }
.simple-page button[type=submit] { margin-top: 18px; }
.article-table-container { overflow-x: auto; max-width: 100%; }
.article-body { overflow-wrap: anywhere; }
.article-body img { height: auto; }
.article-body > p { line-height: 1.8; margin: 0 0 1.25rem; text-align: left; }
.article-body .image-caption { margin: 16px auto 24px; max-width: 90%; font-size: 14px; line-height: 1.65; color: #40566a; text-align: left; }
.article-body h3.article-section-header { font-size: 1.2rem; border-bottom: 0; padding-bottom: 0; }
.article-body .article-table-container { margin: 24px 0; overflow-wrap: normal; }
.article-body .article-table-container:has(th:nth-child(6)) table { min-width: 680px; }
.article-body caption { caption-side: bottom; padding: 16px 0; text-align: left; color: #40566a; font-size: 14px; line-height: 1.65; }
.article-body .article-report-hero { width: 100%; border-radius: 8px; box-shadow: none; cursor: default; }
.article-body .article-report-hero:hover { transform: none; }
.article-chart-scroll { width: 90%; margin: 0 auto; overflow-x: auto; }
.article-chart-scroll .article-inline-image { display: block; width: 100%; min-width: 680px; max-width: none; box-shadow: none; cursor: default; }
.article-chart-scroll .article-inline-image:hover { transform: none; }
.article-chart-hint { display: none; }
.article-chart-open { display: block; width: 100%; min-width: 680px; padding: 0; border: 0; background: #fff; }
.article-chart-open .article-inline-image { cursor: zoom-in; }
.article-viewer-open { overflow: hidden; }
.article-image-viewer { width: min(1600px, 94vw); height: 92vh; height: 92dvh; max-width: none; max-height: none; margin: auto; padding: 0; border: 1px solid #d5dadd; border-radius: 12px; background: #fff; color: #182d40; box-shadow: 0 20px 80px #0005; }
.article-image-viewer[open] { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) auto; }
.article-image-viewer::backdrop { background: rgba(8, 24, 40, .8); }
.article-viewer-toolbar { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 20px; border-bottom: 1px solid #d5dadd; }
.article-viewer-toolbar h2 { margin: 0; font-size: 20px; line-height: 1.3; }
.article-viewer-controls { display: flex; gap: 8px; flex-shrink: 0; }
.article-viewer-controls button { min-width: 44px; min-height: 44px; padding: 8px 12px; border: 1px solid #ccd4db; border-radius: 6px; background: #f5f6f7; color: #182d40; font-size: 16px; }
.article-viewer-controls [data-viewer="close"] { background: #d4af37; border-color: #d4af37; font-weight: 600; }
.article-viewer-stage { min-width: 0; min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.article-viewer-canvas { display: flex; align-items: center; justify-content: center; width: max-content; min-width: 100%; min-height: 100%; padding: 16px; }
.article-viewer-image { display: block; flex: none; height: auto; max-width: none; }
.article-viewer-caption { min-width: 0; margin: 0; padding: 16px 20px; max-height: 20vh; overflow-y: auto; overflow-wrap: anywhere; border-top: 1px solid #d5dadd; font-size: 14px; line-height: 1.6; color: #40566a; }
@media(max-width: 600px) {
  .article-image-viewer { width: 96vw; height: 96vh; height: 96dvh; border-radius: 8px; }
  .article-viewer-toolbar { flex-wrap: wrap; padding: 12px; gap: 8px; }
  .article-viewer-toolbar h2 { width: 100%; font-size: 18px; }
  .article-viewer-controls { width: 100%; gap: 6px; }
  .article-viewer-controls [data-viewer="close"] { margin-left: auto; }
  .article-viewer-caption { padding: 12px; }
}
@media(max-width: 380px) {
  /* Armenian Fit and Close labels need more room than one narrow row allows. */
  .article-viewer-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-viewer-controls [data-viewer="close"] { margin-left: 0; }
}
@media(max-width: 800px) {
  .article-chart-scroll { width: 100%; }
  .article-chart-hint { display: block; margin: 0 0 12px; color: #40566a; font-size: 14px; text-align: left; }
}
.blog-image { display: block; object-fit: cover; background: #edf0f2; }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.blog-grid .blog-card { min-width: 0; max-width: none; width: auto; height: 33.75rem; }
/* Keep every preview the size of the compact English cards, including after
   pagination or a language change. Full titles and summaries remain in the article. */
.blog-grid .blog-image { flex: 0 0 12.5rem; height: 12.5rem; }
.blog-grid .blog-content {
  min-height: 0;
  display: grid;
  grid-template-rows: 5.25rem 2.25rem minmax(0, 1fr) 2.75rem;
  gap: .75rem;
  padding: 1.5rem;
}
.blog-grid .blog-title, .blog-grid .blog-excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
}
.blog-grid .blog-title { font-size: .9375rem; line-height: 1.4; -webkit-line-clamp: 4; }
.blog-grid .blog-excerpt { font-size: 1rem; line-height: 1.6; -webkit-line-clamp: 3; align-self: start; }
.blog-grid .blog-meta { flex-wrap: wrap; align-content: start; gap: 0 5px; margin: 0; font-size: .75rem; line-height: 1.5; }
.blog-grid .blog-meta time { white-space: nowrap; }
.blog-grid .view-profile-btns { min-width: 0; justify-content: space-between; gap: .5rem; padding-bottom: 0; }
.blog-grid .team-discover-link { min-width: 0; padding-right: 0; padding-block: 0; margin-top: 0; line-height: 1.35; }
.blog-grid .pdf-download-btn { position: static; flex: 0 0 44px; min-height: 44px; padding: 0; }
.blog-title, .blog-excerpt { text-align: left; }
@media(max-width: 992px) { .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width: 768px) { .blog-grid { grid-template-columns: minmax(0, 1fr); max-width: 400px; margin-inline: auto; } }
.slider-dot, button.dot { min-width: 24px; min-height: 24px; border: 3px solid white; }
/* Hidden photos load on selection; script.js decodes before replacing the
   active slide, so slow connections keep the current photo visible. */
.slider-slide:not(.active) { display: none; }
.values-grid, .team-grid { scroll-snap-type: x proximity; }
.value-card, .team-card { scroll-snap-align: start; }
.blog-results-status { min-height: 1.5em; margin: 18px 0; color: #fff; }
.blog-title a, .blog-title a:visited { color: #182d40; }
.blog-title a:hover, .blog-title a:focus-visible { color: #14516a; }
#researchHeading { color: #fff; background: none; -webkit-text-fill-color: #fff; }
@media(max-width: 767px) {
  /* Keep long Armenian words intact at phone widths. */
  html[lang=hy] #researchHeading { display: block; font-size: clamp(22px, 6vw, 36px); line-height: 1.35; text-wrap: balance; }
}
.pagination-controls { display: flex; flex-direction: column; gap: 14px; align-items: center; padding: 32px 0; color: #fff; }
.pagination-summary { margin: 0; font-weight: 600; line-height: 1.5; }
.pagination-buttons { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.pagination-pages { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.pagination-controls button { min-width: 44px; min-height: 44px; padding: 10px 14px; border: 2px solid #fff; border-radius: 6px; background: #fff; color: #182d40; font-weight: 600; line-height: 1.4; }
.pagination-controls button:hover:not(:disabled), .pagination-controls button[aria-current=page] { background: #d4af37; border-color: #d4af37; color: #071829; }
.pagination-controls button:disabled { background: #2b3850; color: #c4ccda; border-color: #64728a; cursor: default; opacity: 1; }
.pagination-controls button:focus-visible { outline-color: #fff !important; }
.pagination-gap { padding: 0 4px; }
@media(max-width: 520px) {
  .pagination-buttons { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); width: 100%; max-width: 360px; }
  .pagination-pages { grid-row: 2; grid-column: 1 / -1; }
  #previousPage { grid-row: 1; grid-column: 1; }
  #nextPage { grid-row: 1; grid-column: 2; }
}
@media(max-width: 767px) {
  .container { max-width: 100%; }
  .hero-section .container { padding-left: 20px; padding-right: 20px; }
  .hero-content h1 { font-size: clamp(28px, 7.8vw, 42px) !important; line-height: 1.25; }
  .service-tags { gap: 8px; }
  .service-tag { padding: 8px 10px; font-size: 12px; }
  .discover-link, .team-discover-link { gap: 10px; font-size: 15px; }
  .mobile-menu.show { max-height: calc(100dvh - 90px); overflow-y: auto; }
  .mobile-dropdown-toggle { width: 100%; }
  .value-card, .team-card { max-width: calc(100vw - 48px); }
  .team-member { min-width: min(270px, calc(100vw - 50px)); max-width: calc(100vw - 50px); }
  .evidence-grid { grid-template-columns: minmax(0,1fr); }
  .simple-page { padding-top: 125px; }
  #cookie-modal { padding: 12px; }
  #cookie-form { max-height: calc(100dvh - 24px); width: 100%; }
  .footer-content { min-width: 0; }
}
@media(prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
.footer-content { grid-template-columns: minmax(180px,.8fr) minmax(230px,1.1fr) minmax(210px,1fr) minmax(230px,1.1fr); }
.footer-bottom, .footer-bottom .copyright { opacity: 1; color: #4a5568; }
#industry-research .section-label, #consulting .section-label { color: #7a5d10; }
.contact-info-wrapper .directions-link { color: #206c63; }
.footer .company-section .social-links { margin-top: 12px; justify-content: flex-start; }
@media(max-width: 768px) { .footer .company-section .social-links { justify-content: center; } }
.newsletter-form, .newsletter-wrapper, .newsletter-input, .form-disclaimer { width: 100%; max-width: 100%; min-width: 0; }
@media(max-width: 1000px) { .footer-content { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width: 600px) { .footer-content { grid-template-columns: minmax(0,1fr); } }
main h1, main h2, main h3, .services-card-content { overflow-wrap: anywhere; }
.services-contact-info-section, .contact-image-section, .services-hero-text, .analysis-card-content, .services-card-content { min-width: 0; max-width: 100%; }
@media(max-width: 600px) {
  .contact-content > *, .service-card1 { min-width: 0; max-width: 100%; }
  .services-card-content { left: 20px; right: 20px; width: auto; padding-left: 12px; padding-right: 12px; }
  .title { font-size: 30px; }
}
.breadcrumb { flex-wrap: wrap; overflow-wrap: anywhere; }
.breadcrumb > * { min-width: 0; max-width: 100%; }
#articleBreadcrumb { overflow-wrap: anywhere; }
#resourcesPage.hidden, #articlePage.hidden { display: none !important; }
.article-body-loading { min-height: 60vh; }
/* Preserve the production photo layout without letting intrinsic text widths
   squeeze the introduction. Descriptions also work without mouse hover. */
#industry-research { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
#industry-research .fixed-panel { width: auto; min-width: 0; }
#industry-research .scrolling-content { min-width: 0; width: 100%; }
#industry-research .services-grid1 { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#industry-research .title, #industry-research .services-card-title,
#industry-research .discover-link .text { overflow-wrap: break-word; }
#industry-research .service-card1 {
  --card-gutter: 30px; min-width: 0; min-height: 488px; height: auto; padding: var(--card-gutter);
  background-image: var(--service-image);
  background-image: image-set(var(--service-image) 1x, var(--service-image-2x) 2x);
}
#industry-research .service-card1:not(:first-child) { background-color: rgba(0,0,0,.2); background-blend-mode: darken; }
#industry-research .service-card1:focus-visible { outline: 3px solid #d4af37 !important; outline-offset: -5px; }
#industry-research .services-card-overlay { display: none; }
#industry-research .service-card1::before {
  inset: var(--card-gutter); width: auto; height: auto; transform: none;
  background: linear-gradient(180deg, rgba(7,24,41,.58) 0%, rgba(7,24,41,.58) 55%, rgba(7,24,41,.12) 100%);
}
#industry-research .service-card1 .services-card-content {
  position: relative; inset: auto; width: 100%; height: auto; min-height: 428px;
  padding: 90px 30px 30px; background: transparent; color: #fff;
  display: flex; flex-direction: column; flex: 1; transform: none;
}
#industry-research .services-card-content p:not([class]) {
  height: auto; min-height: 150px; opacity: 0; transform: none;
}
#industry-research .service-card1:hover::before,
#industry-research .service-card1:focus-within::before { background: rgba(7,24,41,.8); }
#industry-research .service-card1:hover .services-card-content p:not([class]),
#industry-research .service-card1:focus-within .services-card-content p:not([class]) { opacity: 1; }
@media(max-width: 1200px) {
  #industry-research .service-card1 { --card-gutter: 20px; }
  #industry-research .service-card1 .services-card-content { padding: 60px 20px 30px; }
}
@media(max-width: 992px) {
  #industry-research, #industry-research .services-grid1 { grid-template-columns: minmax(0, 1fr); }
  #industry-research .service-card1 .services-card-content { padding: 32px 20px; }
}
@media(max-width: 992px), (hover: none), (any-pointer: coarse) {
  #industry-research .service-card1::before { background: rgba(7,24,41,.8); }
  #industry-research .services-card-content p:not([class]) { opacity: 1; }
}
.staging-notice { padding: 10px 16px; background: #fff2cc; color: #493500; text-align: center; font: 500 14px/1.5 Inter, sans-serif; }

/* Content positioning: keep the new actions and deliverables readable. */
.hero-actions { flex-wrap: wrap; align-items: center; gap: 20px 32px; }
.service-deliverables { margin: 0 0 32px; color: #40566a; font-size: 16px; line-height: 1.7; }
.service-deliverables strong { color: #071829; }
#data-science .section-description, #consulting .section-description { padding-bottom: 20px; }
#data-science .section-header { max-width: 1100px; }
#data-science .section-description { max-width: 75ch; color: #40566a; line-height: 1.75; }
#data-science .section-label { color: #7a5d10; }
#data-science .title { color: #182d40; }
.data-science-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.data-science-card { min-width: 0; background: #fff; box-shadow: 0 4px 16px rgba(10,31,68,.08); }
.data-science-card__photo { height: 200px; overflow: hidden; border-bottom: 3px solid #d4af37; }
.data-science-card__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 60%; transition: transform .35s ease; }
.data-science-card:nth-child(2) .data-science-card__photo { background: #000; }
.data-science-card:nth-child(2) img { object-fit: contain; object-position: center; }
.data-science-card:nth-child(3) img { object-position: center bottom; }
.data-science-card__content { padding: 26px 28px 30px; }
.data-science-card h3 { margin: 0 0 16px; color: #182d40; font-size: 19px; line-height: 1.4; }
.data-science-card p { margin: 0; color: #40566a; font-size: 16px; line-height: 1.7; }
.data-science-action { display: flex; justify-content: center; margin-top: 36px; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .data-science-card:hover .data-science-card__photo img { transform: scale(1.035); }
}
@media (max-width: 1100px) {
  .data-science-grid { gap: 20px; }
  .data-science-card__content { padding: 24px 20px; }
}
@media (max-width: 900px) {
  .data-science-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (min-width: 601px) and (max-width: 900px) {
  .data-science-card { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
  .data-science-card__photo { height: 100%; min-height: 220px; border-bottom: 0; border-right: 3px solid #d4af37; }
}
@media (max-width: 479px) {
  .data-science-card__photo { height: 180px; }
  .data-science-action .primary-action { width: 100%; }
}
#consulting .analysis-card-content p { overflow-wrap: anywhere; }
@media(max-width: 479px) {
  #consulting .analysis-card { display: block; }
  #consulting .card-number { margin-bottom: 12px; }
}
.service-anchor { display: block; height: 0; }

/* Editorial company profile: readable copy, a local photograph, quiet dividers. */
.about-profile { padding: clamp(56px, 6vw, 88px) 0; background: #faf9f7; color: #182d40; }
.about-profile__main { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: start; gap: clamp(32px, 4.5vw, 64px); }
.about-profile__intro::before { content: ''; display: block; width: 76px; height: 2px; margin-bottom: 26px; background: #d4af37; }
.about-profile h2 { margin: 0 0 30px; font-size: clamp(36px, 4.4vw, 60px); line-height: 1.18; color: #182d40; }
.about-profile__paragraph { margin: 0 0 22px; font-size: 18px; line-height: 1.75; font-weight: 400; text-align: left; }
.about-profile__paragraph:last-child { margin-bottom: 0; }
.about-profile__lead { font-size: 21px; line-height: 1.6; font-weight: 500; }
.about-profile__photo { margin: 0; min-width: 0; }
.about-profile__photo img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1.12; object-fit: cover; object-position: center; border-radius: 6px; }
.about-profile__photo figcaption { margin-top: 12px; font-size: 14px; line-height: 1.6; text-align: right; color: #40566a; }
.about-profile__principles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin-top: 48px; padding-top: 32px; border-top: 1px solid #d4af37; }
.about-profile__principle { display: flex; align-items: start; gap: 20px; min-width: 0; }
.about-profile__principle + .about-profile__principle { padding-left: 32px; border-left: 1px solid #d4af37; }
.about-profile__principle > div { min-width: 0; }
.about-profile__principle h3 { margin: 0 0 12px; font-size: clamp(22px, 2vw, 26px); line-height: 1.3; color: #182d40; }
.about-profile__principle p { font-size: 17px; line-height: 1.75; font-weight: 400; text-align: left; }
.about-profile__icon { flex: 0 0 42px; width: 42px; height: 42px; color: #d4af37; }
@media(max-width: 959px) {
  .about-profile__main { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .about-profile__photo img { aspect-ratio: 5 / 4; max-height: 480px; object-position: center 42%; }
}
@media(max-width: 767px) {
  .about-profile__paragraph { font-size: 17px; line-height: 1.75; }
  .about-profile__lead { font-size: 19px; line-height: 1.65; }
  .about-profile__principles { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-top: 32px; padding-top: 28px; }
  .about-profile__principle { display: block; position: relative; }
  .about-profile__principle h3 { min-height: 32px; padding-left: 48px; margin-bottom: 16px; }
  .about-profile__principle + .about-profile__principle { padding: 28px 0 0; border-left: 0; border-top: 1px solid #d4af37; }
  .about-profile__icon { position: absolute; top: 0; left: 0; width: 32px; height: 32px; }
  .about-profile__principle + .about-profile__principle .about-profile__icon { top: 28px; }
}

/* Client evidence: spacing and heading accents. */
.client-evidence { padding: clamp(56px, 6vw, 88px) 0; }
.client-evidence__heading { margin: 0 0 48px; font-size: clamp(32px, 3.5vw, 50px); line-height: 1.25; }
.client-evidence__heading::before { content: ''; display: block; width: 76px; height: 2px; margin-bottom: 26px; background: #d4af37; }

/* Client evidence: one featured benefit, supporting rows, and clear next steps. */
.client-evidence { background: #faf9f7; color: #182d40; }
.client-evidence__heading { max-width: 1050px; color: #182d40; }
.client-evidence__benefits { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 36px; align-items: stretch; }
.client-evidence__feature { min-width: 0; padding: clamp(28px, 3vw, 44px); background: #182d40; color: #faf9f7; }
.benefit-icon { display: block; flex: 0 0 44px; width: 44px; height: 44px; color: #d4af37; }
.benefit-icon--feature { width: 64px; height: 64px; margin-bottom: 32px; }
.client-evidence__feature h3 { margin: 0 0 24px; font-size: clamp(26px, 2.3vw, 32px); line-height: 1.35; color: #faf9f7; }
.client-evidence__feature p { font-size: 20px; line-height: 1.7; }
.client-evidence__supporting { display: flex; flex-direction: column; min-width: 0; }
.client-evidence__benefit { display: flex; align-items: start; gap: 20px; padding-bottom: 28px; }
.client-evidence__benefit + .client-evidence__benefit { border-top: 1px solid #d4af37; padding-top: 28px; }
.client-evidence__benefit:last-child { padding-bottom: 0; }
.client-evidence__benefit > div { min-width: 0; }
.client-evidence__benefit h3 { margin: 0 0 12px; font-size: clamp(22px, 2vw, 26px); line-height: 1.35; color: #182d40; }
.client-evidence__benefit p { font-size: 17px; line-height: 1.75; }
.engagement-process { margin-top: 48px; }
.engagement-process h3 { margin: 0 0 24px; font-size: clamp(24px, 2.5vw, 32px); line-height: 1.35; color: #182d40; }
.engagement-process__steps { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 0; padding: 0; }
.engagement-process__steps li { min-width: 0; }
.engagement-process__number { display: flex; align-items: center; gap: 22px; margin-bottom: 16px; color: #95751a; font: 600 30px/1.2 Inter, sans-serif; font-variant-numeric: tabular-nums; }
.engagement-process__number::after { content: ''; height: 1px; flex: 1; background: #d4af37; }
.engagement-process__steps p { font-size: 17px; line-height: 1.75; }
@media(max-width: 959px) {
  .client-evidence__benefits { grid-template-columns: minmax(0, 1fr); }
  .engagement-process__steps { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media(max-width: 767px) {
  .client-evidence__heading { margin-bottom: 32px; }
  .client-evidence__heading { font-size: clamp(28px, 7.6vw, 36px); }
  .client-evidence__feature { padding: 28px 20px; }
  .benefit-icon--feature { width: 48px; height: 48px; margin-bottom: 24px; }
  .client-evidence__feature p { font-size: 18px; }
  .client-evidence__benefit { display: block; position: relative; }
  .client-evidence__benefit .benefit-icon { position: absolute; top: 0; left: 0; width: 32px; height: 32px; }
  .client-evidence__benefit + .client-evidence__benefit .benefit-icon { top: 28px; }
  .client-evidence__benefit h3 { min-height: 32px; padding-left: 48px; margin-bottom: 16px; }
  .engagement-process { margin-top: 36px; }
}

/* Photo-led hero: keep a quiet, high-contrast reading area over the city image. */
/* Match the responsive preloads in _meta.html; high-density screens retain the full image. */
@media (max-width: 1279.98px) and (max-resolution: 1dppx) {
  .hero-section {
    background-image: url('../images/background-images/hero_section_background-enhanced-1280.webp?v=20261013-hero1');
  }
  .services-hero {
    background-image: url('../images/background-images/services-bg-enhanced-1280.webp?v=20261013-hero1');
  }
  .intro.hero-shaded {
    background-image: url('../images/background-images/career-background-enhanced-1280.webp?v=20261013-hero1');
  }
}
.hero-section.hero-readable { background-color: #0b2338; min-height: 0; padding: clamp(36px, 4vw, 56px) 0; }
/* Share the homepage's intrinsic height without fixed sizes or JavaScript.
   The inert, invisible reference occupies the same grid cell as the real copy. */
.hero-shaded.hero-home-sized { display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; min-height: 0; padding: 0; }
.hero-home-sized > .hero-home-reference,
.hero-home-sized > .hero-page-content { grid-area: 1 / 1; min-width: 0; }
.hero-home-reference.hero-section.hero-readable { visibility: hidden; pointer-events: none; user-select: none; background: none; }
.hero-home-reference::before { display: none; }
.hero-home-sized > .hero-page-content { align-self: center; padding-block: clamp(36px, 4vw, 56px); }
.hero-shaded { position: relative; isolation: isolate; background-color: #0b2338; color: #faf9f7; }
.hero-shaded::before {
  content: ''; position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(90deg, rgba(8,29,47,.90) 0%, rgba(8,29,47,.87) 35%, rgba(8,29,47,.79) 57%, rgba(8,29,47,.55) 78%, rgba(8,29,47,.40) 100%);
  pointer-events: none;
}
.hero-shaded > .container { position: relative; z-index: 1; }
.hero-shaded h1 { text-shadow: none; }
.hero-shaded .breadcrumb, .hero-shaded .breadcrumb a { color: #faf9f7; }
.hero-shaded .breadcrumb a:hover { color: #e2c25a; }
.hero-shaded a:focus-visible { outline-color: #faf9f7 !important; }
.hero-readable .hero-content { max-width: 100%; text-align: left; color: #faf9f7; }
.hero-readable .service-tags { gap: 10px; margin-bottom: 28px; }
.hero-readable .service-tag { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; padding: 8px 16px; background: #30485b; color: #faf9f7; font-size: 13px; line-height: 1.5; backdrop-filter: none; }
.hero-readable .service-tag:hover { background: #405a70; box-shadow: none; transform: none; }
.hero-readable .hero-content h1 { max-width: 1180px; margin: 0 0 30px; font-size: clamp(36px, 3.6vw, 52px); font-weight: 700; line-height: 1.22; color: #faf9f7; text-shadow: none; text-wrap: balance; }
.hero-readable .hero-description { max-width: 720px; }
.hero-readable .hero-description::before { content: ''; display: block; width: 72px; height: 3px; background: #d4af37; margin-bottom: 28px; }
.hero-readable .hero-description p { max-width: none; padding: 0; margin: 0; font-size: 21px; font-weight: 400; line-height: 1.7; color: #faf9f7; text-align: left; text-shadow: none; }
.hero-readable .hero-actions { margin-top: 34px; gap: 20px 32px; }
.primary-action { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 56px; max-width: 100%; padding: 15px 22px; background: #d4af37; color: #0b2338; border: 2px solid #d4af37; border-radius: 6px; font-size: 17px; font-weight: 600; line-height: 1.5; text-decoration: none; text-align: left; }
.primary-action span:not([aria-hidden]) { min-width: 0; overflow-wrap: anywhere; }
.primary-action span[aria-hidden] { order: 1; flex-shrink: 0; font-size: 26px; line-height: 1; }
.primary-action:hover { background: #e2c25a; border-color: #e2c25a; color: #0b2338; }
.primary-action:focus-visible { outline: 3px solid #0b2338 !important; outline-offset: 4px; }
.hero-shaded .primary-action:focus-visible { outline-color: #faf9f7 !important; }
.hero-readable a:focus-visible { outline-color: #faf9f7 !important; }
@media(max-width: 1199px) {
  .hero-shaded::before { background: linear-gradient(90deg, rgba(8,29,47,.90), rgba(8,29,47,.79)); }
}
@media(max-width: 767px) {
  .hero-section.hero-readable { padding: 32px 0 40px; }
  .hero-home-sized > .hero-page-content { padding-block: 32px 40px; }
  .hero-readable .service-tags { justify-content: flex-start; gap: 8px; margin-bottom: 26px; }
  .hero-readable .service-tag { font-size: 12px; padding: 8px 12px; }
  .hero-readable .hero-content h1 { font-size: clamp(27px, 7.2vw, 40px) !important; line-height: 1.3; margin-bottom: 26px; }
  .hero-readable .hero-description::before { width: 56px; margin-bottom: 24px; }
  .hero-readable .hero-description p { font-size: 18px; line-height: 1.75; }
  .hero-readable .hero-actions { flex-direction: column; align-items: flex-start; margin-top: 28px; gap: 18px; }
  .primary-action { font-size: 16px; padding: 14px 18px; gap: 14px; }
}
@media(max-width: 374px) {
  html[lang=hy] .hero-readable .hero-content h1 { font-size: 24px !important; }
}
