/* Section refinements keep the existing content rails and palette. */
.strategy-proof-number .strategy-over { font-size: .34em; letter-spacing: -.025em; vertical-align: baseline; font-weight: 600; }
.strategy-cell-illustration { width: 100%; height: 130px; flex: 0 0 130px; margin: 0 0 22px; }
#perspective .strategy-proof-grid { grid-auto-rows: 1fr; }
#perspective .strategy-proof-grid > .rail-cell { gap: 10px; }
#perspective .strategy-proof-grid .card-cues { margin-top: auto; padding-top: 12px; }
#perspective .strategy-proof-grid .strategy-index { margin-bottom: 0; }
/* Execution introduction and process grid share the same content edges. */
#approach .execution-intro {
  max-width: none; width: 100%; margin: 32px 0 0;
  padding: 26px 32px; border: 1px solid #e2e8f3; border-radius: 16px;
  display: grid; grid-template-columns: minmax(200px,.8fr) minmax(0,1.5fr); gap: 30px; align-items: center;
}
.execution-intro-art { min-width: 0; height: 166px; }
.execution-intro-copy { min-width: 0; }
#expertise .expertise-intro .heading { font-size: clamp(32px, 3.8vw, 49px); line-height: 1.12; }
#expertise .expertise-connector { max-width: 520px; }
#expertise .expertise-connector > svg { height: auto; }
/* Visible dark card boundaries with generous space inside each surface. */
#work.section .proof { gap: 24px; align-items: stretch; }
#work.section .proof > article {
  padding: 24px; border: 1px solid #314366; border-radius: 12px;
  background: #111e40; gap: 14px; overflow: hidden;
  transition: border-color 300ms ease, background-color 300ms ease;
}
#work.section .proof > article:hover { border-color: #637aa4; background: #142347; }
#work.section .proof > article > .product-illustration {
  height: 200px; margin: -8px -8px 6px; width: calc(100% + 16px);
  border: 0; border-radius: 8px; background: transparent;
}
#work.section .proof > article > small { margin-top: auto; padding-top: 14px; }
#work .work-subsection-divider {
  position: relative; height: 1px; margin: 64px 0 0;
  background: repeating-linear-gradient(90deg,#394b70 0 3px,transparent 3px 9px);
}
#work .work-subsection-divider::before,
#work .work-subsection-divider::after {
  content: ''; position: absolute; width: 14px; height: 14px;
  top: -6px; border: 1px solid #4b5d7f; border-radius: 3px; background: #0e1736;
}
#work .work-subsection-divider::before { left: -7px; }
#work .work-subsection-divider::after { right: -7px; }
#work .decision-trail { margin-top: 52px; }
#work .decision-trail-grid { gap: 38px 32px; }
#work .decision-trail-grid .judgment-icon { flex: none; display: block; margin-bottom: 10px; }
/* Balanced leadership header, compact metric band, then four equal team cells. */
#leadership .leadership-header {
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center;
}
#leadership .leadership-header .heading { font-size: clamp(32px, 3.8vw, 48px); margin-bottom: 0; }
#leadership .leadership-header .sub { margin: 0; font-size: 16px; line-height: 1.65; }
#leadership .leadership-feature { max-width: none; width: 100%; margin: 32px 0; }
.leadership-metrics { display: flex; gap: 48px; align-items: center; justify-content: space-between; padding: 24px 0; border-top: 1px solid var(--surface-border); }
#leadership .leadership-big { gap: 20px; }
#leadership .leadership-big .big-number { font-size: clamp(40px, 4.5vw, 60px); }
.leadership-squads { display: flex; gap: 18px; align-items: center; }
.leadership-squads strong { color: var(--accent); font: 700 54px / 1 Manrope, sans-serif; letter-spacing: -.06em; }
.leadership-squads > span { color: #647083; font: 600 10px / 1.7 Manrope,sans-serif; letter-spacing: .07em; }
#leadership .talent-track { gap: 10px; animation-duration: 45s; }
#leadership .talent-track span { display: inline-flex; gap: 8px; align-items: center; background: #f4f5f7; border: 1px solid #e3e6ea; color: #747b85; border-radius: 6px; padding: 11px 14px; }
.talent-icon { width: 15px; height: 15px; fill: none; stroke-width: 1.5; color: #8b929c; }
.talent-duplicate { display: flex; gap: 10px; }
#leadership .leadership-team-grid { grid-auto-rows: 1fr; }
#leadership .leadership-team-grid > .group { display: flex; flex-direction: column; gap: 18px; min-height: 214px; }
#leadership .group .icon-heading { display: flex; align-items: center; flex-wrap: nowrap; gap: 10px; }
#leadership .group .icon-heading > span { flex: 1; }
#leadership .group p { font-size: 15px; line-height: 1.55; margin: 0; }
#toolkit .tools-grid { grid-auto-rows: 1fr; }
#toolkit .tools-grid .tool { display: flex; flex-direction: column; gap: 14px; }
#toolkit .tools-grid .tool p { font-size: 15px; line-height: 1.5; margin: 0; }
/* Stable padding removes the abrupt text jump; only the arrow moves. */
#contact .contact-links > a,
#contact .contact-links > a:hover { padding: 24px 32px !important; gap: 24px; }
#contact .contact-links > a { transition: background-color 300ms ease, color 300ms ease !important; }
#contact .contact-links > a > span:last-child { display: inline-flex; flex: none; transition: transform 300ms cubic-bezier(.22,.61,.36,1); }
#contact .contact-links > a:hover > span:last-child { transform: translate(3px,-3px); }
/* Corner squares must occlude their divider, not sit underneath it. */
main > .stats { z-index: 4; }
.stats .stat::before, .stats .stat::after, .stats .stat-grid::after { background-color: #fff; opacity: 1; }
/* One-pixel shared borders at every responsive breakpoint. */
#product-teams .team-summary-list > .rail-cell { border: 0; }
#product-teams .team-summary-list > .rail-cell + .rail-cell { border-top: 1px solid var(--surface-border); }
@media (min-width:768px) and (max-width:1023px) {
  #product-teams .team-summary-list > .rail-cell:nth-child(-n+2) { border-top: 0; }
  #product-teams .team-summary-list > .rail-cell:nth-child(even) { border-left: 1px solid var(--surface-border); }
}
@media (min-width:1024px) {
  #product-teams .team-summary-list > .rail-cell + .rail-cell { border-top: 0; border-left: 1px solid var(--surface-border); }
}
@media (max-width:767px) {
  #leadership .leadership-header { grid-template-columns: 1fr; gap: 22px; }
  .leadership-metrics { align-items: flex-start; gap: 24px; }
  #leadership .leadership-big { display: block; }
  #leadership .leadership-big > span { display: block; }
  .leadership-squads { display: block; }
  .leadership-squads > span { display: block; margin-top: 8px; }
  #approach .execution-intro { grid-template-columns: 1fr; padding: 24px; gap: 20px; }
  .execution-intro-art { height: 140px; }
  #contact .contact-links > a, #contact .contact-links > a:hover { padding: 24px !important; }
}
@media (prefers-reduced-motion:reduce) { #leadership .talent-track { animation: none; } }
/* The hero and all two-color section headlines share these motion values. */
.headline-word { display: inline-block; }
.headline-entering .headline-word { opacity: 0; filter: blur(8px); transform: translateY(32px); }
.headline-entering.headline-ready .headline-word {
  opacity: 1; filter: none; transform: none;
  transition: opacity .6s, transform .8s cubic-bezier(.2,0,0,1), filter .6s;
  transition-delay: calc(var(--i,0) * .12s);
}
#expertise .card .feature-card-meta { margin-bottom: 6px; }
#expertise .card .expertise-illustration { margin-bottom: 10px; }
.execution-card-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
#approach .execution-card-head .feature-card-title { flex: 1; min-width: 0; margin: 0; font-size: 16px; flex-wrap: nowrap; }
#approach .execution-card-head .feature-card-title > span { flex: 1; min-width: 0; }
#approach .execution-card-head .feature-card-meta { flex: none; margin: 0; min-height: 0; }
#approach .execution-card-head .feature-card-label { white-space: nowrap; }
@media (prefers-reduced-motion:reduce) {
  .headline-entering .headline-word { opacity: 1; filter: none; transform: none; }
}
#work.section .proof { grid-auto-rows: 1fr; }
#work.section .proof > article { display: flex; flex-direction: column; min-height: 0; }
#work.section .proof > article > h3 { min-height: 2.4em; }
#work.section .proof > article > p { min-height: 8em; margin-bottom: 0; }
#work.section .proof > article > small { margin-block-start: auto; margin-block-end: 0; padding-top: 18px; }
#work .work-subsection-divider {
  --divider-bleed: max(16px, calc(100% / 18));
  width: calc(100% + 2 * var(--divider-bleed));
  margin-inline: calc(-1 * var(--divider-bleed));
}
#work .decision-trail-grid .judgment-icon { width: 44px; height: 44px; margin-bottom: 14px; }
#contact .contact-links > a { justify-content: flex-start; gap: 8px; }
#contact .contact-links > a > span:last-child { margin-left: 0; }
/* Six tags form two balanced rows; mobile uses three balanced rows. */
#validation .two-pass-grid .pass-tags {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px;
}
#validation .two-pass-grid .pass-tags > span { text-align: center; display: flex; align-items: center; justify-content: center; margin: 0; min-width: 0; }
@media (max-width:700px) { #validation .two-pass-grid .pass-tags { grid-template-columns: repeat(2,minmax(0,1fr)); } }
#approach .execution-intro-art { height: 210px; }
#approach .execution-card .card-cues li { color: #737373; }
#approach .execution-card .card-cues svg { color: #737373; }
#perspective .strategy-proof-lead { display: flex; flex-direction: column; }
#perspective .strategy-proof-lead .strategy-industries { margin-top: auto; padding-top: 32px; }
.industry-cloud { margin-top: 14px; display: grid; gap: 10px; }
.industry-marquee { overflow: hidden; mask-image: linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.industry-track,.industry-duplicate { display: flex; gap: 8px; width: max-content; }
.industry-track { animation: talentScroll 42s linear infinite; }
.industry-marquee:nth-child(2) .industry-track { animation-direction: reverse; animation-duration: 48s; }
#perspective .industry-track span { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; color: #6b7686; background: #f4f6fa; border: 1px solid #e2e7ef; border-radius: 6px; padding: 10px 12px; font: 500 11px / 1.3 'DM Sans',Arial,sans-serif; }
.industry-track svg { color: #939eaf; fill: none; stroke-width: 1.5; flex: none; }
@media (prefers-reduced-motion:reduce) { .industry-track { animation: none; } }
/* Greptile example-card entrance, separate from the hero headline motion. */
.card-entrance { opacity: 0; transform: translateY(24px) scale(.95); }
.card-entrance.card-arrived {
  opacity: 1; transform: none;
  transition: opacity 200ms ease-out var(--card-delay,.1s), transform 200ms ease-out var(--card-delay,.1s);
}
@media (prefers-reduced-motion:reduce) {
  .card-entrance { opacity: 1; transform: none; transition: none; }
}
/* Preserve the entrance transition over each component's hover-only transition. */
.card-entrance.card-arrived {
  transition: opacity 200ms ease-out var(--card-delay,.1s), transform 200ms ease-out var(--card-delay,.1s), border-color 300ms ease, background-color 300ms ease !important;
}
#validation.section .validation-grid > .validation-card { display: flex; flex-direction: column; }
#validation.section .validation-grid > .validation-card > .card-cues { margin-block-start: auto; margin-block-end: 0; padding-block-start: 18px; }
@media (prefers-reduced-motion:reduce) { .card-entrance.card-arrived { transition: none !important; } }
