/* Hantech Innovations — global design system */
:root {
  --color-primary: #0d1b2a;
  --color-accent: #c94f00;
  --color-accent-bright: #ff8a38;
  --color-dark: #14253a;
  --color-bg: #ffffff;
  --color-bg-soft: #f6f8fb;
  --color-border: #d8e0e9;
  --color-text: #556170;
  --color-text-muted: #687484;
  --color-heading: #0d1b2a;
  --color-white: #ffffff;
  --color-accent-soft: #fff5ed;
  --color-border-strong: #cbd2dc;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --section-space-xl: clamp(4.5rem, 7vw, 6.75rem);
  --section-space-lg: clamp(4rem, 6vw, 5.75rem);
  --section-space-md: clamp(3rem, 5vw, 4.5rem);
  --section-space-sm: clamp(2rem, 3vw, 3rem);
  --section-spacing: var(--section-space-xl);
  --transition-speed: 220ms;
  --shadow-sm: 0 2px 4px rgba(13, 27, 42, 0.035), 0 10px 24px rgba(13, 27, 42, 0.065);
  --shadow-md: 0 4px 8px rgba(13, 27, 42, 0.04), 0 18px 42px rgba(13, 27, 42, 0.085);
  --shadow-hover: 0 7px 14px rgba(13, 27, 42, 0.055), 0 22px 44px rgba(13, 27, 42, 0.11);
  --surface-shadow: var(--shadow-md);
  --dark-muted: #aeb9c6;
  --control-height: 50px;
  --max-content-width: 1280px;
  --header-height: 82px;
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 1rem); }
body {
  margin: 0;
  color: var(--color-text);
  background: var(--color-bg);
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }
a { color: var(--color-primary); text-underline-offset: 0.2em; }
a:hover { color: var(--color-accent); }
h1, h2, h3, h4, h5, h6 { margin-top: 0; color: var(--color-heading); line-height: 1.16; }
h1, h2 { font-weight: 700; letter-spacing: -0.035em; }
h3, h4, h5, h6 { font-weight: 600; }
p:last-child { margin-bottom: 0; }
::selection { color: var(--color-white); background: var(--color-accent); }
:focus-visible { outline: 3px solid rgba(255, 106, 0, 0.42); outline-offset: 3px; }

.skip-link {
  position: fixed;
  z-index: 1100;
  top: 0.75rem;
  left: 0.75rem;
  padding: 0.65rem 1rem;
  color: var(--color-white);
  background: var(--color-primary);
  border-radius: var(--radius-sm);
  transform: translateY(-150%);
  transition: transform var(--transition-speed) ease;
}
.skip-link:focus { color: var(--color-white); transform: translateY(0); }
.container { max-width: var(--max-content-width); }
main, main > section, .container, .row > *, .footer-column { min-width: 0; }
.service-breadcrumb li, .dropdown-item, .footer-link, .contact-service-links a { overflow-wrap: anywhere; }
.section-label {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 1rem;
  color: var(--color-accent);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
}
.section-label::before { width: 1.75rem; height: 2px; content: ""; background: currentColor; }
.section-title { max-width: 800px; margin-bottom: 1.25rem; font-size: clamp(2rem, 3.6vw, 3.2rem); line-height: 1.1; }
.section-description { max-width: 720px; margin-bottom: 0; font-size: clamp(1rem, 1.3vw, 1.125rem); }

/* Site header and navigation */
.site-header {
  min-height: var(--header-height);
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--color-border);
  transition: min-height var(--transition-speed) ease, background-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;
  backdrop-filter: saturate(150%) blur(12px);
  -webkit-backdrop-filter: saturate(150%) blur(12px);
}
.site-navbar {
  min-height: var(--header-height);
  padding-block: 0.75rem;
  transition: min-height var(--transition-speed) ease, padding var(--transition-speed) ease;
}
.site-header.header-scrolled {
  min-height: 74px;
  background: rgba(255, 255, 255, 0.985);
  box-shadow: 0 8px 24px rgba(13, 27, 42, 0.07);
}
body[data-page="home"] .site-header.header-scrolled { background: rgba(255, 255, 255, 0.9); border-bottom-color: rgba(203, 210, 220, 0.82); box-shadow: 0 10px 30px rgba(13, 27, 42, 0.09); backdrop-filter: saturate(170%) blur(18px); -webkit-backdrop-filter: saturate(170%) blur(18px); }
.site-header.header-scrolled .site-navbar { min-height: 74px; padding-block: 0.5rem; }
.site-header .navbar-brand { display: inline-flex; align-items: center; flex-shrink: 0; margin-right: clamp(1.5rem, 4vw, 3.5rem); padding-block: 0; }
.site-header .brand-logo { width: auto; max-width: 210px; max-height: 46px; object-fit: contain; object-position: left center; transition: max-height var(--transition-speed) ease; }
.site-header.header-scrolled .brand-logo { max-height: 41px; }
.site-header .navbar-toggler { width: 44px; height: 44px; padding: 0; color: var(--color-primary); background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm); font-size: 1.45rem; }
.site-header .navbar-toggler:hover { color: var(--color-accent); border-color: rgba(255, 106, 0, 0.45); }
.site-header .navbar-toggler:focus { box-shadow: 0 0 0 0.22rem rgba(255, 106, 0, 0.18); }
.main-nav { align-items: center; gap: clamp(0.15rem, 1vw, 0.65rem); }
.site-header .nav-link-custom { position: relative; min-height: 44px; display: inline-flex; align-items: center; padding: 0.65rem 0.72rem !important; color: var(--color-primary); font-size: 0.9rem; font-weight: 600; text-decoration: none; transition: color var(--transition-speed) ease; }
.site-header .nav-link-custom::after { position: absolute; right: 0.72rem; bottom: 0.3rem; left: 0.72rem; height: 2px; content: ""; background: var(--color-accent); border-radius: 2px; opacity: 0; transform: scaleX(0.45); transition: opacity var(--transition-speed) ease, transform var(--transition-speed) ease; }
.site-header .nav-link-custom:hover, .site-header .nav-link-custom:focus, .site-header .nav-link-custom.active { color: var(--color-accent); }
.site-header .nav-link-custom.active::after { opacity: 1; transform: scaleX(1); }
.services-dropdown > .d-flex { position: relative; }
.services-dropdown-toggle { width: 28px; min-height: 44px; margin-left: -0.45rem; padding: 0; color: var(--color-primary); background: transparent; border: 0; border-radius: 4px; }
.services-dropdown-toggle::after { margin-left: 0; vertical-align: 0.18em; }
.services-dropdown-toggle:hover, .services-dropdown-toggle:focus, .services-dropdown.show .services-dropdown-toggle { color: var(--color-accent); }
.services-dropdown-toggle:focus-visible { outline: 3px solid rgba(255, 106, 0, 0.32); outline-offset: 1px; }
.services-dropdown .dropdown-menu { min-width: 360px; margin-top: 0.55rem; padding: 0.65rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm); box-shadow: 0 18px 42px rgba(13, 27, 42, 0.11); }
.services-dropdown .dropdown-item { display: flex; align-items: center; min-height: 42px; padding: 0.65rem 0.8rem; color: var(--color-primary); font-size: 0.86rem; font-weight: 500; white-space: normal; border-radius: 5px; transition: color var(--transition-speed) ease, background-color var(--transition-speed) ease, padding-left var(--transition-speed) ease; }
.services-dropdown .dropdown-item::before { width: 4px; height: 4px; margin-right: 0.65rem; content: ""; background: var(--color-accent); border-radius: 50%; opacity: 0; transition: opacity var(--transition-speed) ease; }
.services-dropdown .dropdown-item:hover, .services-dropdown .dropdown-item:focus, .services-dropdown .dropdown-item.active { color: var(--color-primary); background: var(--color-accent-soft); padding-left: 0.95rem; }
.services-dropdown .dropdown-item:hover::before, .services-dropdown .dropdown-item:focus::before, .services-dropdown .dropdown-item.active::before { opacity: 1; }
.header-cta { min-height: 42px; margin-left: clamp(0.5rem, 1.2vw, 1rem); padding: 0.62rem 1.1rem; white-space: nowrap; }

.btn-hantech-primary, .btn-hantech-outline, .btn-hantech-dark {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0.72rem 1.35rem;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: color var(--transition-speed) ease, background-color var(--transition-speed) ease, border-color var(--transition-speed) ease, transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease;
}
.btn-hantech-primary { color: var(--color-white); background: var(--color-accent); }
.btn-hantech-primary:hover { color: var(--color-white); background: #a94300; box-shadow: 0 9px 20px rgba(201, 79, 0, 0.22); transform: translateY(-1px); }
.btn-hantech-outline { color: var(--color-primary); background: transparent; border-color: var(--color-primary); }
.btn-hantech-outline:hover { color: var(--color-white); background: var(--color-primary); }
.btn-hantech-dark { color: var(--color-white); background: var(--color-primary); }
.btn-hantech-dark:hover { color: var(--color-white); background: var(--color-dark); box-shadow: 0 9px 20px rgba(13,27,42,0.17); transform: translateY(-1px); }
.btn-hantech-primary:focus-visible, .btn-hantech-outline:focus-visible, .btn-hantech-dark:focus-visible { outline: 3px solid rgba(255, 106, 0, 0.42); outline-offset: 3px; }
.btn-hantech-primary:disabled, .btn-hantech-outline:disabled, .btn-hantech-dark:disabled, [class*="btn-hantech-"][aria-disabled="true"] { cursor: not-allowed; opacity: 0.58; transform: none; box-shadow: none; }

/* Homepage hero */
.hero-section {
  --hero-accent: #ff8a38;
  --hero-glow-x: 84%;
  --hero-glow-y: 36%;
  position: relative;
  display: flex;
  min-height: calc(720px - var(--header-height));
  align-items: center;
  padding-block: clamp(4.75rem, 8vw, 7rem);
  overflow: hidden;
  background: radial-gradient(circle at 86% 38%, rgba(255, 138, 56, 0.1), transparent 28%), linear-gradient(118deg, #091725 0%, var(--color-primary) 54%, #142b45 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.hero-section::before {
  position: absolute;
  z-index: 0;
  top: var(--hero-glow-y);
  left: var(--hero-glow-x);
  width: min(48vw, 680px);
  aspect-ratio: 1;
  content: "";
  pointer-events: none;
  background: radial-gradient(circle, rgba(255, 138, 56, 0.17) 0%, rgba(255, 138, 56, 0.075) 30%, transparent 69%);
  filter: blur(8px);
  opacity: 0.88;
  transform: translate(-50%, -50%);
  transition: top 900ms cubic-bezier(0.2, 0.7, 0.2, 1), left 900ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
.hero-background-pattern {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.2), #000 100%);
  mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.2), #000 100%);
}
.hero-content { position: relative; z-index: 1; max-width: 720px; padding-right: clamp(0rem, 4vw, 3rem); }
.hero-eyebrow { margin-bottom: 1.35rem; color: var(--hero-accent); }
.hero-title { margin-bottom: 1.55rem; color: var(--color-white); font-size: clamp(3rem, 5.45vw, 4.65rem); line-height: 1.03; letter-spacing: -0.055em; }
.hero-title > span { display: block; }
.hero-title-accent { color: var(--hero-accent); }
.hero-description { max-width: 610px; margin-bottom: 2rem; color: #c4ceda; font-size: clamp(1.05rem, 1.4vw, 1.18rem); line-height: 1.72; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.85rem; }
.hero-actions .btn-hantech-primary, .hero-actions .btn-hantech-outline { min-height: 52px; padding-inline: 1.45rem; }
.hero-actions .btn-hantech-outline { color: var(--color-white); border-color: rgba(255, 255, 255, 0.7); }
.hero-actions .btn-hantech-outline:hover { color: var(--color-primary); background: var(--color-white); border-color: var(--color-white); }
.hero-support { display: flex; max-width: 580px; align-items: flex-start; gap: 0.75rem; margin-top: 1.75rem; color: #aeb9c6; font-size: 0.83rem; font-weight: 500; line-height: 1.55; }
.hero-support > span { width: 28px; height: 2px; flex: 0 0 28px; margin-top: 0.63rem; background: var(--hero-accent); }

.hero-visual {
  position: relative;
  width: min(100%, 520px);
  aspect-ratio: 1 / 1.03;
  margin-left: auto;
  isolation: isolate;
}
.hero-visual::before {
  position: absolute;
  z-index: -2;
  inset: 8% 4% 6% 7%;
  content: "";
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius-lg);
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.2);
}
.hero-visual::after {
  display: none;
  content: "";
}
.hero-visual-grid {
  position: absolute;
  z-index: -1;
  inset: 8% 4% 6% 7%;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.18) 1px, transparent 1.5px);
  background-position: 12px 12px;
  background-size: 24px 24px;
  opacity: 0.21;
  -webkit-mask-image: linear-gradient(145deg, #000, transparent 68%);
  mask-image: linear-gradient(145deg, #000, transparent 68%);
}
.hero-core {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  display: grid;
  width: 150px;
  height: 150px;
  place-items: center;
  padding: 1rem;
  background: var(--color-white);
  border: 1px solid rgba(255, 138, 56, 0.4);
  border-radius: var(--radius-md);
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.035), 0 24px 52px rgba(0, 0, 0, 0.24);
  transform: translate(-50%, -50%);
}
.hero-core::before { position: absolute; top: -1px; left: 22%; width: 56%; height: 3px; content: ""; background: var(--hero-accent); }
.hero-core img { width: 76px; height: 76px; object-fit: cover; border-radius: var(--radius-sm); }
.hero-core span { color: var(--color-primary); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.14em; }
.hero-node {
  position: absolute;
  z-index: 4;
  display: flex;
  width: 172px;
  min-height: 72px;
  align-items: center;
  gap: 0.8rem;
  padding: 0.9rem 1rem;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  box-shadow: 0 13px 30px rgba(13, 27, 42, 0.09);
  will-change: transform;
}
.hero-node i { display: grid; width: 35px; height: 35px; flex: 0 0 35px; place-items: center; color: var(--color-accent); background: #fff3ea; border-radius: 6px; font-size: 1rem; }
.hero-node span, .hero-node small { display: block; }
.hero-node span { color: var(--color-primary); font-size: 0.88rem; font-weight: 700; line-height: 1.25; }
.hero-node small { margin-top: 0.2rem; color: #7a8491; font-size: 0.66rem; font-weight: 500; line-height: 1.25; }
.hero-node-tech { top: 5%; left: 1%; }
.hero-node-talent { top: 35%; right: -4%; }
.hero-node-transform { bottom: 5%; left: 7%; }
.hero-node-tech { animation: hero-node-float 7.2s ease-in-out infinite; }
.hero-node-talent { animation: hero-node-float 7.8s 900ms ease-in-out infinite; }
.hero-node-transform { animation: hero-node-float 7.5s 1.8s ease-in-out infinite; }
.hero-connector { position: absolute; z-index: 1; top: 50%; left: 50%; width: 31%; height: 1px; overflow: visible; background: linear-gradient(90deg, rgba(255, 255, 255, 0.16), rgba(255, 138, 56, 0.72), rgba(255, 255, 255, 0.16)); background-size: 220% 100%; transform-origin: left center; animation: hero-connector-flow 3.8s linear infinite; }
.hero-connector::before { position: absolute; top: -3px; left: 12%; width: 7px; height: 7px; content: ""; background: var(--hero-accent); border: 2px solid var(--color-white); border-radius: 50%; box-shadow: 0 0 0 1px rgba(255, 138, 56, 0.25), 0 0 12px rgba(255, 138, 56, 0.62); animation: hero-signal-travel 3.8s ease-in-out infinite; }
.hero-connector-tech { width: 46%; transform: rotate(231deg); }
.hero-connector-talent { width: 41%; transform: rotate(-13deg); animation-delay: 1.15s; }
.hero-connector-transform { width: 46%; transform: rotate(124deg); animation-delay: 2.3s; }
.hero-connector-talent::before { animation-delay: 1.15s; }
.hero-connector-transform::before { animation-delay: 2.3s; }
.hero-visual-index { position: absolute; right: 5%; bottom: 7%; padding: 0.28rem 0.5rem; color: #aeb9c6; background: rgba(9, 23, 37, 0.66); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 4px; font-size: 0.56rem; font-weight: 600; letter-spacing: 0.11em; line-height: 1.3; text-transform: uppercase; }
.reveal-delay-1 { transition-delay: 80ms; }
.reveal-delay-2 { transition-delay: 160ms; }
.reveal-delay-3 { transition-delay: 240ms; }

@keyframes hero-node-float {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -3px, 0); }
}
@keyframes hero-connector-flow {
  from { background-position: 100% 0; }
  to { background-position: -120% 0; }
}
@keyframes hero-signal-travel {
  0% { left: 10%; opacity: 0; }
  18%, 82% { opacity: 1; }
  100% { left: 90%; opacity: 0; }
}

/* Core capability pillars */
.editorial-image-section { padding-block: var(--section-space-lg); background: var(--color-white); border-bottom: 1px solid var(--color-border); }
.editorial-image-home { background: var(--color-bg-soft); }
.editorial-image-layout { position: relative; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.72fr); align-items: center; }
.editorial-image-reverse { grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.55fr); }
.editorial-image-reverse .editorial-image-frame { grid-column: 2; }
.editorial-image-reverse .editorial-image-copy { grid-column: 1; grid-row: 1; margin: 0 -2.25rem 0 0; }
.editorial-image-frame { position: relative; min-height: clamp(360px, 40vw, 520px); margin: 0; overflow: hidden; background: var(--color-bg-soft); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-md); }
.editorial-image-frame::after { position: absolute; inset: 0; content: ""; pointer-events: none; background: linear-gradient(135deg, rgba(13, 27, 42, 0.06), transparent 45%); }
.editorial-image-frame img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; object-position: center; transition: transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1); }
.editorial-image-layout:hover .editorial-image-frame img { transform: scale(1.025); }
.editorial-image-copy { position: relative; z-index: 2; margin-left: -2.25rem; padding: clamp(1.6rem, 3.5vw, 2.5rem); background: rgba(255, 255, 255, 0.97); border: 1px solid var(--color-border); border-top: 3px solid var(--color-accent); border-radius: var(--radius-sm); box-shadow: var(--shadow-md); }
.editorial-image-copy h2 { margin-bottom: 1rem; font-size: clamp(1.55rem, 2.6vw, 2.25rem); line-height: 1.16; letter-spacing: -0.035em; }
.editorial-image-copy p { margin-bottom: 0; font-size: 0.9rem; line-height: 1.75; }
.editorial-image-link { display: inline-flex; min-height: 42px; align-items: center; gap: 0.5rem; margin-top: 1.25rem; color: var(--color-primary); font-size: 0.8rem; font-weight: 700; text-decoration: none; }
.editorial-image-link i { color: var(--color-accent); transition: transform var(--transition-speed) ease; }
.editorial-image-link:hover i, .editorial-image-link:focus i { transform: translateX(4px); }

.capabilities-section {
  position: relative;
  padding-block: var(--section-spacing);
  background: var(--color-bg-soft);
  border-bottom: 1px solid var(--color-border);
}
.capabilities-intro { display: grid; max-width: 920px; margin-bottom: clamp(2.75rem, 5vw, 4.25rem); }
.capabilities-intro .section-description { max-width: 800px; }
.capability-grid > [class*="col-"] { display: flex; }
.capability-card {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 540px;
  flex-direction: column;
  padding: clamp(1.65rem, 2.8vw, 2.25rem);
  overflow: hidden;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  box-shadow: 0 10px 28px rgba(13, 27, 42, 0.045);
  transition: transform var(--transition-speed) ease, border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;
}
.capability-card::before {
  position: absolute;
  top: -1px;
  left: clamp(1.65rem, 2.8vw, 2.25rem);
  width: 52px;
  height: 3px;
  content: "";
  background: var(--color-accent);
}
.capability-card:hover { border-color: var(--color-border-strong); box-shadow: var(--shadow-hover); transform: translateY(-4px); }
.capability-card-top { display: flex; min-height: 72px; align-items: flex-start; justify-content: space-between; margin-bottom: 1.7rem; }
.capability-number { color: #929ca8; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.16em; }
.capability-icon { display: grid; width: 46px; height: 46px; place-items: center; color: var(--color-accent); background: var(--color-accent-soft); border: 1px solid #ffe3cf; border-radius: var(--radius-sm); font-size: 1.15rem; }
.capability-title { margin-bottom: 1rem; font-size: clamp(1.55rem, 2.2vw, 2rem); letter-spacing: -0.025em; }
.capability-description { min-height: 126px; margin-bottom: 1.45rem; color: var(--color-text); font-size: 0.94rem; line-height: 1.7; }
.capability-list { display: grid; gap: 0.68rem; margin: 0 0 2rem; padding: 1.45rem 0 0; list-style: none; border-top: 1px solid var(--color-border); }
.capability-list-item { position: relative; padding-left: 1rem; color: var(--color-primary); font-size: 0.84rem; font-weight: 600; line-height: 1.5; }
.capability-list-item::before { position: absolute; top: 0.58em; left: 0; width: 5px; height: 5px; content: ""; background: var(--color-accent); border-radius: 50%; }
.pillar-link { display: inline-flex; width: fit-content; align-items: center; gap: 0.5rem; margin-top: auto; color: var(--color-primary); font-size: 0.86rem; font-weight: 700; text-decoration: none; }
.pillar-link i { color: var(--color-accent); transition: transform var(--transition-speed) ease; }
.pillar-link:hover, .pillar-link:focus { color: var(--color-accent); }
.pillar-link:hover i, .pillar-link:focus i { transform: translateX(4px); }

/* Homepage services overview */
.services-overview-section { padding-block: var(--section-spacing); background: var(--color-white); }
.services-overview-intro { max-width: 930px; margin-bottom: clamp(2.75rem, 5vw, 4.25rem); }
.services-overview-intro .section-description { max-width: 810px; }
.services-grid > [class*="col-"] { display: flex; }
.service-overview-card {
  position: relative;
  display: flex;
  width: 100%;
  flex-direction: column;
  padding: clamp(1.6rem, 2.5vw, 2rem);
  overflow: hidden;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  box-shadow: 0 8px 24px rgba(13, 27, 42, 0.04);
  transition: transform var(--transition-speed) ease, border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;
}
.service-overview-card::before { position: absolute; top: -1px; left: 0; width: 0; height: 3px; content: ""; background: var(--color-accent); transition: width 280ms ease; }
.service-overview-card:hover { border-color: var(--color-border-strong); box-shadow: var(--shadow-hover); transform: translateY(-4px); }
.service-overview-card:hover::before { width: 100%; }
.service-card-meta { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 1.55rem; }
.service-card-number { color: #929ca8; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.16em; }
.service-card-icon { display: grid; width: 42px; height: 42px; place-items: center; color: var(--color-accent); background: var(--color-accent-soft); border: 1px solid #ffe3cf; border-radius: var(--radius-sm); font-size: 1.05rem; }
.service-card-title { min-height: 58px; margin-bottom: 0.95rem; font-size: clamp(1.2rem, 1.55vw, 1.45rem); line-height: 1.3; letter-spacing: -0.02em; }
.service-card-description { margin-bottom: 1.4rem; color: var(--color-text); font-size: 0.88rem; line-height: 1.7; }
.service-feature-list { display: grid; gap: 0.6rem; margin: 0 0 1.75rem; padding: 1.35rem 0 0; list-style: none; border-top: 1px solid var(--color-border); }
.service-feature-item { position: relative; padding-left: 1rem; color: var(--color-primary); font-size: 0.8rem; font-weight: 600; line-height: 1.45; }
.service-feature-item::before { position: absolute; top: 0.55em; left: 0; width: 4px; height: 4px; content: ""; background: var(--color-accent); border-radius: 50%; }
.service-card-link { display: inline-flex; width: fit-content; min-height: 38px; align-items: center; gap: 0.5rem; margin-top: auto; color: var(--color-primary); font-size: 0.83rem; font-weight: 700; text-decoration: none; }
.service-card-link i { color: var(--color-accent); transition: transform var(--transition-speed) ease; }
.service-card-link:hover, .service-card-link:focus { color: var(--color-accent); }
.service-card-link:hover i, .service-card-link:focus i { transform: translateX(4px); }
.services-bottom-cta { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: clamp(2.75rem, 5vw, 4.25rem); padding: 1.5rem 1.75rem; background: var(--color-bg-soft); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.services-bottom-cta p { margin: 0; color: var(--color-primary); font-size: clamp(1rem, 1.6vw, 1.2rem); font-weight: 700; }
.services-bottom-actions { display: flex; flex-shrink: 0; align-items: center; gap: 1.25rem; }
.services-contact-link { display: inline-flex; min-height: 44px; align-items: center; gap: 0.45rem; color: var(--color-primary); font-size: 0.86rem; font-weight: 700; text-decoration: none; }
.services-contact-link i { color: var(--color-accent); transition: transform var(--transition-speed) ease; }
.services-contact-link:hover, .services-contact-link:focus { color: var(--color-accent); }
.services-contact-link:hover i, .services-contact-link:focus i { transform: translate(2px, -2px); }

/* Why Hantech */
.why-hantech-section {
  position: relative;
  padding-block: var(--section-spacing);
  overflow: hidden;
  color: #b9c4d1;
  background: var(--color-primary);
}
.why-hantech-section::before { position: absolute; top: 0; right: 7%; width: 1px; height: 100%; content: ""; background: rgba(255, 255, 255, 0.055); }
.why-hantech-section .section-title { max-width: 580px; color: var(--color-white); }
.why-hantech-section .section-description { max-width: 570px; color: #b9c4d1; }
.why-hantech-content { padding-right: clamp(0rem, 3vw, 2.5rem); }
.why-hantech-link { display: inline-flex; min-height: 44px; align-items: center; gap: 0.55rem; margin-top: 1.65rem; color: var(--color-white); font-size: 0.86rem; font-weight: 700; text-decoration: none; }
.why-hantech-link i { color: var(--color-accent); transition: transform var(--transition-speed) ease; }
.why-hantech-link:hover, .why-hantech-link:focus { color: var(--color-accent); }
.why-hantech-link:hover i, .why-hantech-link:focus i { transform: translateX(4px); }
.why-hantech-visual { max-width: 540px; margin-top: clamp(2.5rem, 5vw, 4rem); padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: var(--radius-sm); }
.impact-equation { display: grid; }
.impact-item { display: flex; min-height: 48px; align-items: center; gap: 0.85rem; padding-inline: 0.3rem; }
.impact-item > span { display: grid; width: 34px; height: 34px; place-items: center; color: var(--color-accent); border: 1px solid rgba(255, 106, 0, 0.38); border-radius: 6px; font-size: 0.9rem; }
.impact-item strong { color: var(--color-white); font-size: 0.88rem; font-weight: 600; letter-spacing: 0.02em; }
.impact-operator { width: 34px; margin-block: 0.05rem; color: var(--color-accent); font-size: 0.9rem; font-weight: 600; line-height: 1; text-align: center; }
.impact-flow { display: flex; height: 52px; align-items: center; padding-left: 16px; color: var(--color-accent); }
.impact-flow span { width: 1px; height: 100%; background: rgba(255, 255, 255, 0.18); }
.impact-flow i { margin-left: -6px; margin-top: 42px; padding: 0 2px; background: var(--color-primary); font-size: 0.8rem; }
.impact-result { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.2rem; border: 1px solid rgba(255, 106, 0, 0.5); border-radius: 6px; }
.impact-result small { color: #9da9b7; font-size: 0.67rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.impact-result strong { color: var(--color-accent); font-size: 1rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.differentiators-list { padding-left: clamp(0rem, 3vw, 2rem); border-top: 1px solid rgba(255, 255, 255, 0.12); }
.differentiator-item { position: relative; display: grid; grid-template-columns: 48px 1fr; gap: clamp(1rem, 2vw, 1.5rem); padding-block: clamp(1.65rem, 3vw, 2.15rem); border-bottom: 1px solid rgba(255, 255, 255, 0.12); transition: transform var(--transition-speed) ease, border-color var(--transition-speed) ease; }
.differentiator-item::before { position: absolute; top: 25%; bottom: 25%; left: -1px; width: 2px; content: ""; background: var(--color-accent); opacity: 0; transition: opacity var(--transition-speed) ease; }
.differentiator-item:hover { border-color: rgba(255, 255, 255, 0.19); transform: translateX(3px); }
.differentiator-item:hover::before { opacity: 1; }
.differentiator-icon { display: grid; width: 44px; height: 44px; place-items: center; color: var(--color-accent); border: 1px solid rgba(255, 106, 0, 0.36); border-radius: var(--radius-sm); font-size: 1rem; }
.differentiator-title { margin-bottom: 0.55rem; color: var(--color-white); font-size: clamp(1.1rem, 1.55vw, 1.32rem); letter-spacing: -0.015em; }
.differentiator-content p { max-width: 650px; margin: 0; color: var(--dark-muted); font-size: 0.88rem; line-height: 1.72; }

/* Homepage final CTA */
.final-cta-section { position: relative; padding-block: var(--section-space-lg); overflow: hidden; background: var(--color-bg-soft); border-bottom: 1px solid var(--color-border); }
.final-cta-content { max-width: 900px; margin-inline: auto; text-align: center; }
.final-cta-content .section-label { justify-content: center; }
.final-cta-content .section-title { max-width: 880px; margin-inline: auto; }
.final-cta-content .section-description { max-width: 750px; margin-inline: auto; }
.final-cta-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.85rem; margin-top: 2rem; }
.final-cta-actions .btn-hantech-primary, .final-cta-actions .btn-hantech-outline { min-height: 52px; padding-inline: 1.45rem; }
.final-cta-support { display: flex; align-items: center; justify-content: center; gap: 0.7rem; margin-top: 1.6rem; color: #6f7a88; font-size: 0.82rem; font-weight: 500; }
.final-cta-support > span { width: 24px; height: 2px; background: var(--color-accent); }
.final-cta-geometry { position: absolute; inset: 0; pointer-events: none; }
.final-cta-geometry::before { position: absolute; top: 12%; left: 6%; width: 100px; height: 100px; content: ""; border-top: 1px solid rgba(13, 27, 42, 0.11); border-left: 1px solid rgba(13, 27, 42, 0.11); }
.final-cta-geometry::after { position: absolute; right: 5%; bottom: 13%; width: 84px; height: 84px; content: ""; border-right: 1px solid rgba(255, 106, 0, 0.28); border-bottom: 1px solid rgba(255, 106, 0, 0.28); }
.final-cta-geometry span { position: absolute; width: 5px; height: 5px; background: var(--color-accent); border-radius: 50%; opacity: 0.6; }
.final-cta-geometry span:nth-child(1) { top: 18%; left: 12%; }
.final-cta-geometry span:nth-child(2) { top: 28%; right: 11%; }
.final-cta-geometry span:nth-child(3) { right: 18%; bottom: 18%; }

/* About page */
.about-hero-section { position: relative; min-height: 640px; display: flex; align-items: center; padding-block: var(--section-space-lg); overflow: hidden; background: var(--color-bg-soft); border-bottom: 1px solid var(--color-border); }
.about-hero-pattern { position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(90deg, transparent 0 74%, rgba(13, 27, 42, 0.035) 74% 74.15%, transparent 74.15%), linear-gradient(rgba(13, 27, 42, 0.025) 1px, transparent 1px); background-size: 100% 100%, 100% 42px; }
.about-hero-content { max-width: 760px; padding-right: clamp(0rem, 3vw, 2.5rem); }
.about-hero-title { max-width: 800px; margin-bottom: 1.5rem; font-size: clamp(2.65rem, 4.7vw, 4.1rem); line-height: 1.06; letter-spacing: -0.052em; }
.about-hero-description { max-width: 670px; margin-bottom: 2rem; font-size: clamp(1.03rem, 1.4vw, 1.16rem); line-height: 1.72; }
.about-hero-actions { display: flex; flex-wrap: wrap; gap: 0.85rem; }
.about-hero-actions .btn-hantech-primary, .about-hero-actions .btn-hantech-outline { min-height: 52px; }
.about-hero-visual { position: relative; min-height: 450px; padding: 3.2rem 2rem; background: rgba(255, 255, 255, 0.82); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: 0 24px 58px rgba(13, 27, 42, 0.08); }
.about-hero-visual::before { position: absolute; top: -1px; right: 13%; width: 74px; height: 3px; content: ""; background: var(--color-accent); }
.about-hero-axis { position: absolute; top: 16%; bottom: 18%; left: 50%; width: 1px; background: #d3d9e1; }
.about-hero-pillar { position: relative; z-index: 1; display: grid; grid-template-columns: 30px 38px 1fr; width: 78%; min-height: 68px; align-items: center; gap: 0.7rem; margin-bottom: 2rem; padding: 0.8rem 1rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm); box-shadow: 0 10px 24px rgba(13, 27, 42, 0.06); }
.about-hero-pillar::after { position: absolute; top: 50%; right: -25%; width: 25%; height: 1px; content: ""; background: #d3d9e1; }
.about-hero-pillar > span { color: #98a1ad; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; }
.about-hero-pillar i { display: grid; width: 34px; height: 34px; place-items: center; color: var(--color-accent); background: var(--color-accent-soft); border-radius: 6px; font-size: 0.88rem; }
.about-hero-pillar strong { color: var(--color-primary); font-size: 0.86rem; font-weight: 700; }
.about-hero-pillar-tech { margin-left: 0; }
.about-hero-pillar-talent { margin-left: 18%; }
.about-hero-pillar-transform { margin-left: 7%; }
.about-hero-pillar-talent::after { right: auto; left: -23%; width: 23%; }
.about-hero-visual-label { position: absolute; right: 1.25rem; bottom: 1.1rem; margin: 0; color: #8a95a2; font-size: 0.6rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }

.about-who-section { padding-block: var(--section-spacing); background: var(--color-white); }
.about-who-content { max-width: 650px; padding-right: clamp(0rem, 3vw, 2rem); }
.about-who-content > p { max-width: 620px; font-size: 0.97rem; line-height: 1.82; }
.about-who-content > p + p { margin-top: 1.1rem; }
.who-capability-map { position: relative; min-height: 440px; padding: 3rem; background: var(--color-bg-soft); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.who-capability-map::before { position: absolute; top: 15%; bottom: 22%; left: 50%; width: 1px; content: ""; background: #cfd6df; }
.who-map-item { position: relative; z-index: 1; display: grid; grid-template-columns: 38px 1fr; width: 72%; min-height: 74px; align-items: center; column-gap: 0.8rem; padding: 0.85rem 1rem; background: var(--color-white); border: 1px solid var(--color-border); box-shadow: 0 9px 22px rgba(13, 27, 42, 0.055); }
.who-map-item > span { grid-row: 1 / span 2; display: grid; width: 36px; height: 36px; place-items: center; color: var(--color-accent); border: 1px solid #ffd9bd; border-radius: 6px; }
.who-map-item strong { align-self: end; color: var(--color-primary); font-size: 0.86rem; }
.who-map-item small { align-self: start; color: #7d8794; font-size: 0.64rem; }
.who-map-tech { margin-left: 0; }
.who-map-talent { margin: 1.4rem 0 1.4rem auto; }
.who-map-transform { margin-left: 8%; }
.who-map-result { position: absolute; right: 2rem; bottom: 1.7rem; display: grid; min-width: 190px; padding: 0.85rem 1rem; background: var(--color-primary); border-left: 3px solid var(--color-accent); }
.who-map-result small { color: #9eabb9; font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; }
.who-map-result strong { color: var(--color-white); font-size: 0.88rem; }

.about-capability-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.about-section-intro { max-width: 900px; margin-bottom: clamp(2.75rem, 5vw, 4.25rem); }
.capability-model-list { display: grid; gap: 1rem; }
.capability-model-row { position: relative; display: grid; grid-template-columns: minmax(150px, 0.7fr) 1.25fr 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--color-white); border: 1px solid var(--color-border); border-left: 3px solid var(--color-primary); transition: border-color var(--transition-speed) ease, transform var(--transition-speed) ease; }
.capability-model-row:nth-child(1) { width: 92%; }
.capability-model-row:nth-child(2) { width: 92%; margin-left: 4%; }
.capability-model-row:nth-child(3) { width: 92%; margin-left: 8%; }
.capability-model-row:hover { border-left-color: var(--color-accent); transform: translateX(3px); }
.capability-model-heading span { display: block; margin-bottom: 0.55rem; color: var(--color-accent); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.14em; }
.capability-model-heading h3 { margin: 0; font-size: clamp(1.25rem, 2vw, 1.65rem); }
.capability-model-row > p { margin: 0; font-size: 0.88rem; line-height: 1.72; }
.capability-model-row ul { display: grid; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.capability-model-row li { position: relative; padding-left: 0.9rem; color: var(--color-primary); font-size: 0.78rem; font-weight: 600; line-height: 1.45; }
.capability-model-row li::before { position: absolute; top: 0.55em; left: 0; width: 4px; height: 4px; content: ""; background: var(--color-accent); border-radius: 50%; }

.about-approach-section { padding-block: var(--section-spacing); background: var(--color-white); }
.about-process { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; }
.about-process::before { position: absolute; top: 28px; right: 10%; left: 10%; height: 1px; content: ""; background: var(--color-border); }
.about-process-step { position: relative; z-index: 1; padding: 0 clamp(1rem, 2.5vw, 2rem); border-left: 1px solid var(--color-border); }
.about-process-step:first-child { padding-left: 0; border-left: 0; }
.process-step-marker { display: flex; height: 56px; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; padding-inline: 0.85rem; color: var(--color-accent); background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.process-step-marker span { color: #89939f; font-size: 0.66rem; font-weight: 700; letter-spacing: 0.12em; }
.process-step-marker i { font-size: 1rem; }
.about-process-step h3 { margin-bottom: 0.7rem; font-size: 1.15rem; }
.about-process-step p { margin: 0; font-size: 0.82rem; line-height: 1.7; }

.about-principles-section { padding-block: var(--section-spacing); color: var(--dark-muted); background: var(--color-primary); }
.about-principles-section .section-title { color: var(--color-white); }
.principles-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(255, 255, 255, 0.12); }
.principle-item { display: grid; grid-template-columns: 42px 1fr; gap: 1.15rem; padding: clamp(1.5rem, 3vw, 2rem); border-right: 1px solid rgba(255, 255, 255, 0.12); border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.principle-item:nth-child(even) { border-right: 0; }
.principle-item:last-child { grid-column: 1 / -1; border-right: 0; }
.principle-item > span { display: grid; width: 40px; height: 40px; place-items: center; color: var(--color-accent); border: 1px solid rgba(255, 106, 0, 0.36); border-radius: var(--radius-sm); }
.principle-item h3 { margin-bottom: 0.5rem; color: var(--color-white); font-size: 1rem; }
.principle-item p { max-width: 620px; margin: 0; color: var(--dark-muted); font-size: 0.82rem; line-height: 1.68; }

.about-model-section { padding-block: var(--section-spacing); background: var(--color-white); }
.about-model-intro { max-width: 900px; margin-inline: auto; text-align: center; }
.about-model-intro .section-title, .about-model-intro .section-description { margin-inline: auto; }
.about-model-intro .section-description { max-width: 830px; }
.about-model-equation { display: grid; grid-template-columns: 1fr auto 1fr auto 1.15fr auto 1.5fr; align-items: center; gap: clamp(0.6rem, 1.4vw, 1.2rem); margin-top: clamp(2.75rem, 5vw, 4.25rem); padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--color-bg-soft); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.about-model-input { display: grid; min-height: 110px; place-items: center; align-content: center; gap: 0.6rem; background: var(--color-white); border: 1px solid var(--color-border); }
.about-model-input i { color: var(--color-accent); font-size: 1.15rem; }
.about-model-input span { color: var(--color-primary); font-size: 0.77rem; font-weight: 700; }
.about-model-operator, .about-model-arrow { color: var(--color-accent); font-weight: 700; text-align: center; }
.about-model-arrow { font-size: 1.25rem; }
.about-model-result { display: grid; min-height: 110px; place-content: center; padding: 1rem; color: var(--color-white); background: var(--color-primary); border-left: 3px solid var(--color-accent); }
.about-model-result small { color: var(--dark-muted); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.about-model-result strong { max-width: 190px; font-size: 0.95rem; line-height: 1.35; }
.about-model-support { max-width: 780px; margin: 2rem auto 0; text-align: center; font-size: 0.92rem; line-height: 1.75; }
.about-page-cta { border-top: 1px solid var(--color-border); }

/* Services page */
.services-hero-section { position: relative; display: flex; min-height: 650px; align-items: center; padding-block: var(--section-space-lg); overflow: hidden; background: var(--color-bg-soft); border-bottom: 1px solid var(--color-border); }
.services-hero-pattern { position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(circle, rgba(13, 27, 42, 0.08) 1px, transparent 1.4px); background-position: right top; background-size: 26px 26px; opacity: 0.28; -webkit-mask-image: linear-gradient(90deg, transparent 45%, #000); mask-image: linear-gradient(90deg, transparent 45%, #000); }
.services-hero-content { max-width: 780px; padding-right: clamp(0rem, 3vw, 2.5rem); }
.services-hero-title { max-width: 820px; margin-bottom: 1.5rem; font-size: clamp(2.65rem, 4.7vw, 4.1rem); line-height: 1.06; letter-spacing: -0.052em; }
.services-hero-description { max-width: 690px; margin-bottom: 2rem; font-size: clamp(1.02rem, 1.4vw, 1.15rem); line-height: 1.72; }
.services-hero-actions { display: flex; flex-wrap: wrap; gap: 0.85rem; }
.services-hero-actions .btn-hantech-primary, .services-hero-actions .btn-hantech-outline { min-height: 52px; }
.services-hero-ecosystem { position: relative; min-height: 480px; padding: 2rem; background: rgba(255, 255, 255, 0.84); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: 0 24px 58px rgba(13, 27, 42, 0.08); }
.services-hero-ecosystem::before { position: absolute; top: 14%; bottom: 22%; left: 50%; width: 1px; content: ""; background: #d4dae2; }
.ecosystem-pillar { position: relative; z-index: 1; width: 78%; padding: 0.9rem 1rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm); box-shadow: 0 10px 25px rgba(13, 27, 42, 0.055); }
.ecosystem-pillar + .ecosystem-pillar { margin-top: 1.15rem; }
.ecosystem-technology { margin-left: 0; }
.ecosystem-talent { margin-left: 20%; }
.ecosystem-transform { margin-left: 8%; }
.ecosystem-pillar-title { display: flex; align-items: center; gap: 0.65rem; padding-bottom: 0.65rem; border-bottom: 1px solid var(--color-border); }
.ecosystem-pillar-title i { color: var(--color-accent); }
.ecosystem-pillar-title span { color: var(--color-primary); font-size: 0.82rem; font-weight: 700; }
.ecosystem-pillar ul { display: flex; flex-wrap: wrap; gap: 0.35rem 0.7rem; margin: 0.65rem 0 0; padding: 0; list-style: none; }
.ecosystem-pillar li { color: #6e7987; font-size: 0.62rem; font-weight: 600; }
.ecosystem-core { position: absolute; right: 1.4rem; bottom: 1.25rem; display: grid; min-width: 155px; padding: 0.8rem 1rem; background: var(--color-primary); border-left: 3px solid var(--color-accent); }
.ecosystem-core span { color: var(--color-white); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; }
.ecosystem-core small { color: var(--dark-muted); font-size: 0.58rem; }

.service-capabilities-section { padding-block: var(--section-spacing); background: var(--color-white); }
.services-page-intro { max-width: 920px; margin-bottom: clamp(2.75rem, 5vw, 4.25rem); }
.service-pillar-map { display: grid; gap: 1.5rem; }
.service-pillar-group { height: 100%; padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--color-bg-soft); border: 1px solid var(--color-border); border-top: 3px solid var(--color-primary); scroll-margin-top: calc(var(--header-height) + 1.5rem); }
.service-pillar-technology { display: grid; grid-template-columns: minmax(220px, 0.75fr) 2fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.service-pillar-heading { display: grid; grid-template-columns: 26px 42px 1fr; align-items: center; gap: 0.75rem; }
.service-pillar-heading > span { color: #929ca8; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.12em; }
.service-pillar-heading > i { display: grid; width: 40px; height: 40px; place-items: center; color: var(--color-accent); background: var(--color-white); border: 1px solid #ffe0ca; border-radius: var(--radius-sm); }
.service-pillar-heading small, .service-pillar-heading h3 { display: block; }
.service-pillar-heading small { color: #87919d; font-size: 0.58rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.service-pillar-heading h3 { margin: 0.15rem 0 0; font-size: clamp(1.15rem, 2vw, 1.45rem); }
.service-pillar-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; }
.service-pillar-links a { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.7rem 0.85rem; color: var(--color-primary); background: var(--color-white); border: 1px solid var(--color-border); border-radius: 6px; font-size: 0.78rem; font-weight: 700; text-decoration: none; transition: color var(--transition-speed) ease, border-color var(--transition-speed) ease; }
.service-pillar-links a i { color: var(--color-accent); }
.service-pillar-links a:hover, .service-pillar-links a:focus { color: var(--color-accent); border-color: rgba(255, 106, 0, 0.45); }
.service-pillar-group:not(.service-pillar-technology) .service-pillar-links { grid-template-columns: 1fr; margin-top: 1.5rem; }

.core-services-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.service-editorial-list { background: var(--color-white); border: 1px solid var(--color-border); }
.service-editorial-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); }
.service-editorial-row + .service-editorial-row { border-top: 1px solid var(--color-border); }
.service-editorial-heading, .service-vertical-details { padding: clamp(1.75rem, 4vw, 3rem); }
.service-editorial-heading { position: relative; border-right: 1px solid var(--color-border); }
.service-editorial-row.is-reversed .service-editorial-heading { grid-column: 2; grid-row: 1; border-right: 0; border-left: 1px solid var(--color-border); }
.service-editorial-row.is-reversed .service-vertical-details { grid-column: 1; grid-row: 1; }
.service-vertical-number { display: inline-block; margin-right: 0.75rem; color: #909aa7; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.14em; vertical-align: middle; }
.service-vertical-icon { display: inline-grid; width: 42px; height: 42px; place-items: center; color: var(--color-accent); background: var(--color-accent-soft); border: 1px solid #ffe1ca; border-radius: var(--radius-sm); font-size: 1rem; vertical-align: middle; }
.service-editorial-heading h3 { max-width: 480px; margin: 1.5rem 0 0.9rem; font-size: clamp(1.45rem, 2.3vw, 2rem); }
.service-editorial-heading p { max-width: 540px; margin-bottom: 1.35rem; font-size: 0.9rem; line-height: 1.75; }
.service-vertical-link { display: inline-flex; min-height: 42px; align-items: center; gap: 0.5rem; color: var(--color-primary); font-size: 0.82rem; font-weight: 700; text-decoration: none; }
.service-vertical-link i { color: var(--color-accent); transition: transform var(--transition-speed) ease; }
.service-vertical-link:hover, .service-vertical-link:focus { color: var(--color-accent); }
.service-vertical-link:hover i, .service-vertical-link:focus i { transform: translateX(4px); }
.service-vertical-details { background: #fbfcfd; }
.service-vertical-details h4 { margin-bottom: 1.1rem; color: #76818e; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.service-detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.service-detail-list li, .service-group li { position: relative; padding-left: 0.95rem; color: var(--color-primary); font-size: 0.79rem; font-weight: 600; line-height: 1.48; }
.service-detail-list li::before, .service-group li::before { position: absolute; top: 0.55em; left: 0; width: 4px; height: 4px; content: ""; background: var(--color-accent); border-radius: 50%; }
.service-expanded-block { margin-top: clamp(2rem, 4vw, 3rem); padding: clamp(1.75rem, 4vw, 3rem); background: var(--color-white); border: 1px solid var(--color-border); border-left: 3px solid var(--color-primary); }
.service-expanded-consulting { border-left-color: var(--color-accent); }
.service-expanded-intro { display: grid; grid-template-columns: 90px 1fr; gap: clamp(1.5rem, 3vw, 2.5rem); max-width: 900px; margin-bottom: clamp(2rem, 4vw, 3rem); }
.service-expanded-intro .service-vertical-number { display: block; margin: 0 0 0.75rem; }
.service-expanded-intro h3 { margin-bottom: 0.85rem; font-size: clamp(1.55rem, 2.6vw, 2.15rem); }
.service-expanded-intro p { max-width: 750px; margin-bottom: 1rem; font-size: 0.91rem; line-height: 1.72; }
.service-group-grid { padding-top: 1.5rem; border-top: 1px solid var(--color-border); }
.service-group { height: 100%; padding: 1.35rem; background: var(--color-bg-soft); border-top: 2px solid var(--color-primary); }
.service-group h4 { margin-bottom: 1rem; font-size: 0.92rem; }
.service-group ul { display: grid; gap: 0.55rem; margin: 0; padding: 0; list-style: none; }
.service-group li { font-size: 0.74rem; }

.service-engagement-section { padding-block: var(--section-spacing); background: var(--color-white); }
.engagement-models { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.engagement-item { padding: clamp(1.5rem, 3vw, 2.25rem); border-left: 1px solid var(--color-border); }
.engagement-item:first-child { border-left: 0; }
.engagement-item > span { display: block; margin-bottom: 2.25rem; color: var(--color-accent); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.14em; }
.engagement-item h3 { margin-bottom: 0.7rem; font-size: 1.05rem; }
.engagement-item p { margin: 0; font-size: 0.79rem; line-height: 1.68; }

.connected-services-section { padding-block: var(--section-spacing); color: var(--dark-muted); background: var(--color-primary); }
.connected-services-content .section-title { color: var(--color-white); }
.connected-services-content > p { max-width: 620px; font-size: 0.91rem; line-height: 1.78; }
.connected-services-support { padding-left: 1rem; color: var(--color-white); border-left: 2px solid var(--color-accent); font-weight: 600; }
.connected-services-visual { display: grid; grid-template-columns: 1fr auto 1fr auto 1.2fr; align-items: center; gap: 0.65rem; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid rgba(255, 255, 255, 0.13); }
.connected-node { display: grid; min-height: 92px; place-items: center; align-content: center; gap: 0.5rem; border: 1px solid rgba(255, 255, 255, 0.13); }
.connected-node i { color: var(--color-accent); }
.connected-node span { color: var(--color-white); font-size: 0.7rem; font-weight: 700; }
.connected-arrow { color: var(--color-accent); font-size: 0.85rem; }
.connected-result { grid-column: 1 / -1; display: grid; margin-top: 0.6rem; padding: 1rem; text-align: center; border: 1px solid rgba(255, 106, 0, 0.5); }
.connected-result small { color: #9da9b7; font-size: 0.58rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.connected-result strong { color: var(--color-accent); font-size: 0.95rem; }
.services-page-cta { border-top: 1px solid var(--color-border); }

/* IT Consulting detail page */
.service-detail-hero { position: relative; min-height: 690px; padding-block: 1.35rem var(--section-space-lg); overflow: hidden; background: var(--color-bg-soft); border-bottom: 1px solid var(--color-border); }
.service-detail-pattern { position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(13, 27, 42, 0.026) 1px, transparent 1px), linear-gradient(90deg, rgba(13, 27, 42, 0.026) 1px, transparent 1px); background-size: 44px 44px; -webkit-mask-image: linear-gradient(90deg, transparent 28%, #000 100%); mask-image: linear-gradient(90deg, transparent 28%, #000 100%); }
.service-breadcrumb { margin-bottom: clamp(2.5rem, 4.5vw, 4rem); }
.service-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.service-breadcrumb li { display: inline-flex; align-items: center; gap: 0.5rem; color: #7d8794; font-size: 0.72rem; font-weight: 600; }
.service-breadcrumb li + li::before { content: "/"; color: #adb5bf; }
.service-breadcrumb a { color: var(--color-primary); text-decoration: none; }
.service-breadcrumb a:hover, .service-breadcrumb a:focus { color: var(--color-accent); }
.service-detail-hero-content { max-width: 770px; padding-right: clamp(0rem, 3vw, 2.5rem); }
.service-detail-title { max-width: 800px; margin-bottom: 1.5rem; font-size: clamp(2.65rem, 4.7vw, 4.1rem); line-height: 1.06; letter-spacing: -0.052em; }
.service-detail-description { max-width: 680px; margin-bottom: 2rem; font-size: clamp(1.02rem, 1.4vw, 1.15rem); line-height: 1.72; }
.service-detail-actions { display: flex; flex-wrap: wrap; gap: 0.85rem; }
.service-detail-actions .btn-hantech-primary, .service-detail-actions .btn-hantech-outline { min-height: 52px; }
.service-detail-support { margin-top: 1.45rem; color: #77828f; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.035em; }
.service-detail-support span { margin-inline: 0.35rem; color: var(--color-accent); }
.it-hero-flow { position: relative; min-height: 430px; padding: 2rem; background: rgba(255, 255, 255, 0.86); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: 0 24px 58px rgba(13, 27, 42, 0.08); }
.it-hero-flow::before { position: absolute; top: -1px; right: 14%; width: 70px; height: 3px; content: ""; background: var(--color-accent); }
.it-flow-context, .it-flow-result { display: grid; width: 56%; padding: 0.8rem 1rem; border-left: 3px solid var(--color-accent); }
.it-flow-context { background: var(--color-primary); }
.it-flow-context small, .it-flow-result small { color: #9ba7b5; font-size: 0.57rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.it-flow-context strong { color: var(--color-white); font-size: 0.86rem; }
.it-flow-track { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 0.5rem; margin-block: 3.5rem; }
.it-flow-node { display: grid; min-height: 105px; place-items: center; align-content: center; gap: 0.35rem; background: var(--color-bg-soft); border: 1px solid var(--color-border); }
.it-flow-node > span { color: #9aa4b0; font-size: 0.55rem; font-weight: 700; }
.it-flow-node i { color: var(--color-accent); }
.it-flow-node strong { color: var(--color-primary); font-size: 0.68rem; }
.it-flow-arrow { color: var(--color-accent); font-size: 0.8rem; }
.it-flow-result { margin-left: auto; background: var(--color-accent-soft); border: 1px solid #ffd8bb; border-left: 3px solid var(--color-accent); }
.it-flow-result strong { color: var(--color-primary); font-size: 0.86rem; }

.it-overview-section { padding-block: var(--section-spacing); background: var(--color-white); }
.it-overview-content { max-width: 700px; padding-right: clamp(0rem, 4vw, 3rem); }
.it-overview-content > p { max-width: 650px; font-size: 0.95rem; line-height: 1.82; }
.it-overview-content > p + p { margin-top: 1.1rem; }
.it-outcome-path { max-width: 470px; margin-left: auto; padding: clamp(1.5rem, 3vw, 2rem); background: var(--color-bg-soft); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.it-outcome-path > div { display: grid; justify-items: stretch; }
.it-outcome-path span, .it-outcome-path strong { display: block; padding: 0.75rem 1rem; text-align: center; }
.it-outcome-path span { color: var(--color-primary); background: var(--color-white); border: 1px solid var(--color-border); font-size: 0.78rem; font-weight: 700; }
.it-outcome-path i { padding-block: 0.3rem; color: var(--color-accent); text-align: center; }
.it-outcome-path strong { color: var(--color-white); background: var(--color-primary); border-left: 3px solid var(--color-accent); font-size: 0.82rem; }

.it-capabilities-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.service-detail-intro { max-width: 900px; margin-bottom: clamp(2.75rem, 5vw, 4.25rem); }
.it-capabilities-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.it-capability-item { display: grid; grid-template-columns: 54px 1fr; column-gap: 1.1rem; align-content: start; padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--color-white); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); transition: background-color var(--transition-speed) ease; }
.it-capability-item:hover { background: #fffdfb; }
.it-capability-item > div { grid-row: 1 / span 2; display: grid; justify-items: center; align-content: start; gap: 0.55rem; }
.it-capability-item > div span { color: #8d97a4; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; }
.it-capability-item > div i { display: grid; width: 40px; height: 40px; place-items: center; color: var(--color-accent); background: var(--color-accent-soft); border-radius: var(--radius-sm); }
.it-capability-item h3 { margin-bottom: 0.65rem; font-size: 1.05rem; }
.it-capability-item p { grid-column: 2; margin: 0; font-size: 0.82rem; line-height: 1.7; }
.it-capability-wide { grid-column: 1 / -1; grid-template-columns: 54px minmax(180px, 0.55fr) 1fr; align-items: start; }
.it-capability-wide > div { grid-row: 1; }
.it-capability-wide h3 { margin: 0; }
.it-capability-wide p { grid-column: 3; }

.it-needs-section { padding-block: var(--section-spacing); color: var(--dark-muted); background: var(--color-primary); }
.it-needs-section .section-title { color: var(--color-white); }
.it-needs-intro > p { max-width: 500px; color: var(--dark-muted); font-size: 0.88rem; line-height: 1.75; }
.it-needs-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, 0.12); border-left: 1px solid rgba(255, 255, 255, 0.12); }
.it-needs-list li { display: grid; grid-template-columns: 28px 1fr; min-height: 96px; align-items: center; gap: 0.75rem; padding: 1.1rem; color: var(--color-white); border-right: 1px solid rgba(255, 255, 255, 0.12); border-bottom: 1px solid rgba(255, 255, 255, 0.12); font-size: 0.8rem; font-weight: 600; line-height: 1.5; }
.it-needs-list i { display: grid; width: 26px; height: 26px; place-items: center; color: var(--color-accent); border: 1px solid rgba(255, 106, 0, 0.4); border-radius: 50%; }

.it-approach-section { padding-block: var(--section-spacing); background: var(--color-white); }
.it-approach-timeline { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); margin: 0; padding: 0; list-style: none; }
.it-approach-timeline::before { position: absolute; top: 29px; right: 8%; left: 8%; height: 1px; content: ""; background: var(--color-border); }
.it-approach-step { position: relative; z-index: 1; padding-inline: clamp(0.7rem, 1.6vw, 1.25rem); border-left: 1px solid var(--color-border); }
.it-approach-step:first-child { padding-left: 0; border-left: 0; }
.it-approach-step > div { display: flex; height: 58px; align-items: center; justify-content: space-between; margin-bottom: 1.4rem; padding-inline: 0.7rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.it-approach-step > div span { color: #8b95a1; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; }
.it-approach-step > div i { color: var(--color-accent); }
.it-approach-step h3 { min-height: 42px; margin-bottom: 0.65rem; font-size: 1rem; }
.it-approach-step p { margin: 0; font-size: 0.76rem; line-height: 1.68; }

.it-engagement-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.it-engagement-list { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--color-border); }
.it-engagement-item { display: grid; grid-template-columns: 54px 1fr; gap: 1.15rem; padding: clamp(1.5rem, 3vw, 2.25rem); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.it-engagement-item:nth-child(even) { border-right: 0; }
.it-engagement-item > span { color: var(--color-accent); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.14em; }
.it-engagement-item h3 { margin-bottom: 0.55rem; font-size: 1.05rem; }
.it-engagement-item p { margin: 0; font-size: 0.81rem; line-height: 1.68; }

.related-services-section { padding-block: var(--section-spacing); background: var(--color-white); }
.related-services-grid > [class*="col-"] { display: flex; }
.related-service-item { display: flex; width: 100%; flex-direction: column; padding: 1.5rem; background: var(--color-white); border: 1px solid var(--color-border); border-top: 3px solid var(--color-primary); transition: border-color var(--transition-speed) ease, transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease; }
.related-service-item:hover { border-top-color: var(--color-accent); box-shadow: 0 12px 28px rgba(13, 27, 42, 0.06); transform: translateY(-3px); }
.related-service-item > span { display: grid; width: 40px; height: 40px; place-items: center; margin-bottom: 1.2rem; color: var(--color-accent); background: var(--color-accent-soft); border-radius: var(--radius-sm); }
.related-service-item h3 { min-height: 48px; margin-bottom: 0.75rem; font-size: 1rem; line-height: 1.4; }
.related-service-item p { margin-bottom: 1.25rem; font-size: 0.78rem; line-height: 1.65; }
.related-service-item a { display: inline-flex; width: fit-content; min-height: 38px; align-items: center; gap: 0.45rem; margin-top: auto; color: var(--color-primary); font-size: 0.78rem; font-weight: 700; text-decoration: none; }
.related-service-item a i { color: var(--color-accent); transition: transform var(--transition-speed) ease; }
.related-service-item a:hover, .related-service-item a:focus { color: var(--color-accent); }
.related-service-item a:hover i, .related-service-item a:focus i { transform: translateX(4px); }
.service-detail-cta { border-top: 1px solid var(--color-border); }

/* Software Development detail page */
.software-product-visual { position: relative; min-height: 470px; padding: 1.75rem; background: rgba(255, 255, 255, 0.88); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: 0 24px 58px rgba(13, 27, 42, 0.08); }
.software-product-visual::before { position: absolute; top: -1px; left: 13%; width: 72px; height: 3px; content: ""; background: var(--color-accent); }
.product-window { padding: 0.8rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm); box-shadow: 0 11px 26px rgba(13, 27, 42, 0.065); }
.product-window-bar { display: flex; align-items: center; gap: 0.35rem; padding-bottom: 0.7rem; border-bottom: 1px solid var(--color-border); }
.product-window-bar > span { width: 6px; height: 6px; background: #cfd5dd; border-radius: 50%; }
.product-window-bar > span:first-child { background: var(--color-accent); }
.product-window-bar small { margin-left: auto; color: #8c96a2; font-size: 0.55rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.product-interface { display: grid; grid-template-columns: 24% 1fr; min-height: 126px; margin-top: 0.8rem; background: var(--color-bg-soft); border: 1px solid var(--color-border); }
.product-nav { border-right: 1px solid var(--color-border); background: repeating-linear-gradient(to bottom, var(--color-white) 0 13px, transparent 13px 25px); }
.product-content { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.6rem; align-content: center; padding: 1rem; }
.product-content span { min-height: 34px; background: var(--color-white); border: 1px solid var(--color-border); }
.product-content span:first-child { grid-column: 1 / -1; border-left: 2px solid var(--color-accent); }
.product-layer { position: absolute; display: flex; min-height: 54px; align-items: center; gap: 0.7rem; padding: 0.7rem 0.9rem; background: var(--color-white); border: 1px solid var(--color-border); box-shadow: 0 9px 22px rgba(13, 27, 42, 0.055); }
.product-layer i { color: var(--color-accent); }
.product-layer span { color: var(--color-primary); font-size: 0.7rem; font-weight: 700; }
.product-layer-app { right: 1.75rem; bottom: 137px; width: 48%; }
.product-layer-data { bottom: 65px; left: 1.75rem; width: 49%; }
.product-connector { position: absolute; right: 20%; bottom: 77px; display: grid; justify-items: center; color: var(--color-accent); }
.product-connector span { color: #8a95a2; font-size: 0.55rem; font-weight: 700; letter-spacing: 0.1em; }
.product-user-path { position: absolute; right: 1.75rem; bottom: 1.3rem; left: 1.75rem; display: flex; align-items: center; gap: 0.65rem; padding-top: 0.8rem; border-top: 1px solid var(--color-border); color: var(--color-primary); font-size: 0.63rem; font-weight: 700; }
.product-user-path > i:first-child, .product-user-path > i:last-of-type { color: var(--color-accent); }
.product-user-path strong { margin-left: auto; color: var(--color-accent); }

.software-overview-section { padding-block: var(--section-spacing); background: var(--color-white); }
.software-overview-content { max-width: 700px; padding-right: clamp(0rem, 4vw, 3rem); }
.software-overview-content > p { max-width: 650px; font-size: 0.95rem; line-height: 1.82; }
.software-overview-content > p + p { margin-top: 1.1rem; }
.software-delivery-flow { max-width: 470px; margin-left: auto; padding: clamp(1.5rem, 3vw, 2rem); background: var(--color-bg-soft); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.software-delivery-flow > div { display: grid; }
.software-delivery-flow span, .software-delivery-flow strong { display: block; padding: 0.65rem 0.9rem; text-align: center; }
.software-delivery-flow span { color: var(--color-primary); background: var(--color-white); border: 1px solid var(--color-border); font-size: 0.75rem; font-weight: 700; }
.software-delivery-flow i { padding-block: 0.2rem; color: var(--color-accent); text-align: center; }
.software-delivery-flow strong { color: var(--color-white); background: var(--color-primary); border-left: 3px solid var(--color-accent); font-size: 0.78rem; }

.software-capabilities-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.software-capabilities-list { display: grid; gap: 0.85rem; }
.software-capability-row { display: grid; grid-template-columns: 96px 1fr; gap: clamp(1.25rem, 3vw, 2rem); width: 92%; align-items: center; padding: clamp(1.4rem, 2.8vw, 2rem); background: var(--color-white); border: 1px solid var(--color-border); border-left: 3px solid var(--color-primary); transition: border-color var(--transition-speed) ease, transform var(--transition-speed) ease; }
.software-capability-row:nth-child(even) { margin-left: 8%; }
.software-capability-row:hover { border-left-color: var(--color-accent); transform: translateX(3px); }
.software-capability-meta { display: flex; align-items: center; justify-content: space-between; gap: 0.7rem; }
.software-capability-meta span { color: #8e98a4; font-size: 0.63rem; font-weight: 700; letter-spacing: 0.1em; }
.software-capability-meta i { display: grid; width: 40px; height: 40px; place-items: center; color: var(--color-accent); background: var(--color-accent-soft); border-radius: var(--radius-sm); }
.software-capability-row h3 { margin-bottom: 0.5rem; font-size: 1.05rem; }
.software-capability-row p { max-width: 850px; margin: 0; font-size: 0.82rem; line-height: 1.7; }

.software-solutions-section { padding-block: var(--section-spacing); color: var(--dark-muted); background: var(--color-primary); }
.software-solutions-section .section-title { color: var(--color-white); }
.software-solutions-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255, 255, 255, 0.12); border-left: 1px solid rgba(255, 255, 255, 0.12); }
.software-solution-item { display: grid; grid-template-columns: 38px 1fr; gap: 1rem; padding: clamp(1.4rem, 3vw, 2rem); border-right: 1px solid rgba(255, 255, 255, 0.12); border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.software-solution-item > i { display: grid; width: 36px; height: 36px; place-items: center; color: var(--color-accent); border: 1px solid rgba(255, 106, 0, 0.38); border-radius: var(--radius-sm); }
.software-solution-item h3 { margin-bottom: 0.5rem; color: var(--color-white); font-size: 1rem; }
.software-solution-item p { margin: 0; color: var(--dark-muted); font-size: 0.79rem; line-height: 1.68; }

.software-approach-section { padding-block: var(--section-spacing); background: var(--color-white); }
.software-delivery-timeline { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); margin: 0; padding: 0; list-style: none; }
.software-delivery-timeline::before { position: absolute; top: 27px; right: 7%; left: 7%; height: 1px; content: ""; background: var(--color-border); }
.software-delivery-step { position: relative; z-index: 1; padding-inline: clamp(0.6rem, 1.3vw, 1rem); border-left: 1px solid var(--color-border); }
.software-delivery-step:first-child { padding-left: 0; border-left: 0; }
.software-delivery-step > div { display: flex; height: 54px; align-items: center; justify-content: space-between; margin-bottom: 1.35rem; padding-inline: 0.6rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.software-delivery-step > div span { color: #8c96a2; font-size: 0.58rem; font-weight: 700; }
.software-delivery-step > div i { color: var(--color-accent); }
.software-delivery-step h3 { min-height: 42px; margin-bottom: 0.55rem; font-size: 0.95rem; }
.software-delivery-step p { margin: 0; font-size: 0.73rem; line-height: 1.65; }

.software-product-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.software-product-intro { max-width: 600px; padding-right: clamp(0rem, 3vw, 2rem); }
.software-product-intro > p { font-size: 0.9rem; line-height: 1.76; }
.software-product-principles { border-top: 1px solid var(--color-border); }
.software-product-principle { display: grid; grid-template-columns: 48px 1fr; gap: 1.2rem; padding: clamp(1.35rem, 2.5vw, 1.8rem); border-bottom: 1px solid var(--color-border); transition: transform var(--transition-speed) ease; }
.software-product-principle:hover { transform: translateX(3px); }
.software-product-principle > span { color: var(--color-accent); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.12em; }
.software-product-principle h3 { margin-bottom: 0.4rem; font-size: 1rem; }
.software-product-principle p { margin: 0; font-size: 0.8rem; line-height: 1.65; }

.software-modernization-section { padding-block: var(--section-spacing); background: var(--color-white); }
.software-modernization-intro { max-width: 930px; margin-bottom: clamp(2.75rem, 5vw, 4.25rem); }
.software-modernization-grid > [class*="col-"] { display: flex; }
.software-modernization-grid article { display: grid; grid-template-columns: 42px 1fr; width: 100%; gap: 1.1rem; padding: clamp(1.4rem, 3vw, 2rem); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.software-modernization-grid article > i { display: grid; width: 40px; height: 40px; place-items: center; color: var(--color-accent); background: var(--color-accent-soft); border-radius: var(--radius-sm); }
.software-modernization-grid h3 { margin-bottom: 0.5rem; font-size: 1rem; }
.software-modernization-grid p { margin: 0; font-size: 0.8rem; line-height: 1.68; }
.software-engagement-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }

/* Data, Analytics and BI detail page */
.data-insight-visual { position: relative; min-height: 470px; padding: 1.75rem; background: rgba(255, 255, 255, 0.88); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: 0 24px 58px rgba(13, 27, 42, 0.08); }
.data-insight-visual::before { position: absolute; top: -1px; right: 13%; width: 72px; height: 3px; content: ""; background: var(--color-accent); }
.data-source-stack { display: grid; width: 44%; gap: 0.5rem; }
.data-source-stack small, .data-insight-panel > small { color: #8994a0; font-size: 0.56rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.data-source-stack > span { display: flex; min-height: 40px; align-items: center; gap: 0.6rem; padding: 0.55rem 0.7rem; color: var(--color-primary); background: var(--color-white); border: 1px solid var(--color-border); font-size: 0.68rem; font-weight: 700; }
.data-source-stack i { color: var(--color-accent); }
.data-pipeline { position: absolute; top: 31%; right: 7%; left: 47%; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 0.5rem; color: var(--color-accent); }
.data-pipeline > div { display: grid; gap: 0.45rem; }
.data-pipeline span { padding: 0.55rem; color: var(--color-primary); background: var(--color-accent-soft); border: 1px solid #ffd9bc; font-size: 0.62rem; font-weight: 700; text-align: center; }
.data-insight-panel { position: absolute; right: 1.75rem; bottom: 83px; width: 58%; padding: 0.9rem; background: var(--color-white); border: 1px solid var(--color-border); box-shadow: 0 10px 24px rgba(13, 27, 42, 0.06); }
.insight-chart { display: flex; height: 70px; align-items: end; gap: 0.45rem; margin-block: 0.7rem; padding: 0.6rem; background: var(--color-bg-soft); border-bottom: 1px solid #cfd6df; }
.insight-chart span { width: 18%; background: #9aa9bb; }
.insight-chart span:nth-child(1) { height: 34%; }
.insight-chart span:nth-child(2) { height: 62%; }
.insight-chart span:nth-child(3) { height: 48%; }
.insight-chart span:nth-child(4) { height: 82%; background: var(--color-accent); }
.insight-lines { display: grid; gap: 0.35rem; }
.insight-lines span { height: 5px; background: #e4e8ee; }
.insight-lines span:nth-child(2) { width: 72%; }
.insight-lines span:nth-child(3) { width: 48%; }
.data-decision-output { position: absolute; bottom: 1.3rem; left: 1.75rem; display: grid; width: 52%; padding: 0.75rem 0.9rem; background: var(--color-primary); border-left: 3px solid var(--color-accent); }
.data-decision-output small { color: #9eabb9; font-size: 0.56rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.data-decision-output strong { color: var(--color-white); font-size: 0.78rem; }

.data-overview-section { padding-block: var(--section-spacing); background: var(--color-white); }
.data-overview-content { max-width: 700px; padding-right: clamp(0rem, 4vw, 3rem); }
.data-overview-content > p { max-width: 650px; font-size: 0.95rem; line-height: 1.82; }
.data-overview-content > p + p { margin-top: 1.1rem; }
.data-journey-flow { max-width: 470px; margin-left: auto; padding: clamp(1.5rem, 3vw, 2rem); background: var(--color-bg-soft); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.data-journey-flow > div { display: grid; }
.data-journey-flow span, .data-journey-flow strong { display: block; padding: 0.62rem 0.9rem; text-align: center; }
.data-journey-flow span { color: var(--color-primary); background: var(--color-white); border: 1px solid var(--color-border); font-size: 0.73rem; font-weight: 700; }
.data-journey-flow i { padding-block: 0.18rem; color: var(--color-accent); text-align: center; }
.data-journey-flow strong { color: var(--color-white); background: var(--color-primary); border-left: 3px solid var(--color-accent); font-size: 0.78rem; }

.data-capabilities-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.data-capabilities-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.data-capability-item { display: grid; grid-template-columns: 54px 1fr; column-gap: 1.1rem; align-content: start; padding: clamp(1.5rem, 3vw, 2.2rem); background: var(--color-white); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.data-capability-item > div { grid-row: 1 / span 2; display: grid; justify-items: center; align-content: start; gap: 0.5rem; }
.data-capability-item > div span { color: #8e98a4; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; }
.data-capability-item > div i { display: grid; width: 40px; height: 40px; place-items: center; color: var(--color-accent); background: var(--color-accent-soft); border-radius: var(--radius-sm); }
.data-capability-item h3 { margin-bottom: 0.6rem; font-size: 1.05rem; }
.data-capability-item p { grid-column: 2; margin: 0; font-size: 0.81rem; line-height: 1.68; }

.bi-focus-section { padding-block: var(--section-spacing); color: var(--dark-muted); background: var(--color-primary); }
.bi-focus-section .section-title { color: var(--color-white); }
.bi-focus-section .section-description { max-width: 850px; color: var(--dark-muted); }
.bi-focus-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(255, 255, 255, 0.12); border-left: 1px solid rgba(255, 255, 255, 0.12); }
.bi-focus-item { display: grid; grid-template-columns: 28px 42px 1fr; gap: 0.85rem; align-items: start; padding: clamp(1.4rem, 3vw, 2rem); border-right: 1px solid rgba(255, 255, 255, 0.12); border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.bi-focus-item > span { padding-top: 0.65rem; color: #8f9ba9; font-size: 0.6rem; font-weight: 700; }
.bi-focus-item > i { display: grid; width: 40px; height: 40px; place-items: center; color: var(--color-accent); border: 1px solid rgba(255, 106, 0, 0.38); border-radius: var(--radius-sm); }
.bi-focus-item h3 { margin-bottom: 0.45rem; color: var(--color-white); font-size: 1rem; }
.bi-focus-item p { margin: 0; color: var(--dark-muted); font-size: 0.79rem; line-height: 1.68; }

.power-bi-section { padding-block: var(--section-spacing); background: var(--color-white); }
.power-bi-intro { max-width: 620px; padding-right: clamp(0rem, 3vw, 2rem); }
.power-bi-intro > p { font-size: 0.9rem; line-height: 1.76; }
.power-bi-list { counter-reset: power-bi; border-top: 1px solid var(--color-border); }
.power-bi-item { display: grid; grid-template-columns: 44px 1fr; gap: 1rem; padding: clamp(1.2rem, 2.4vw, 1.65rem); border-bottom: 1px solid var(--color-border); }
.power-bi-item > span { color: var(--color-accent); font-size: 0.64rem; font-weight: 700; letter-spacing: 0.12em; }
.power-bi-item h3 { margin-bottom: 0.35rem; font-size: 0.98rem; }
.power-bi-item p { margin: 0; font-size: 0.79rem; line-height: 1.65; }

.data-integration-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.data-ecosystem-map { display: grid; grid-template-columns: 1fr auto 0.85fr auto 1fr; align-items: center; gap: clamp(0.75rem, 2vw, 1.5rem); padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--color-white); border: 1px solid var(--color-border); }
.data-ecosystem-column { display: grid; gap: 0.55rem; }
.data-ecosystem-column small { margin-bottom: 0.25rem; color: #88939f; font-size: 0.6rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.data-ecosystem-column span { display: flex; min-height: 42px; align-items: center; gap: 0.6rem; padding: 0.6rem 0.75rem; color: var(--color-primary); background: var(--color-bg-soft); border: 1px solid var(--color-border); font-size: 0.72rem; font-weight: 600; }
.data-ecosystem-column i { color: var(--color-accent); }
.data-ecosystem-core { display: grid; min-height: 220px; place-items: center; align-content: center; gap: 0.6rem; padding: 1rem; color: var(--color-white); background: var(--color-primary); border-left: 3px solid var(--color-accent); text-align: center; }
.data-ecosystem-core i { color: var(--color-accent); }
.data-ecosystem-core span { color: #8491a0; font-weight: 700; }
.data-ecosystem-core strong { font-size: 0.78rem; }
.data-ecosystem-arrows { display: grid; gap: 1.5rem; color: var(--color-accent); }

.data-challenges-section { padding-block: var(--section-spacing); background: var(--color-white); }
.data-challenges-intro { max-width: 560px; padding-right: clamp(0rem, 3vw, 2rem); }
.data-challenges-intro > p { font-size: 0.88rem; line-height: 1.75; }
.data-challenges-list { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.data-challenges-list li { display: grid; grid-template-columns: 28px 1fr; min-height: 96px; align-items: center; gap: 0.75rem; padding: 1rem; color: var(--color-primary); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); font-size: 0.78rem; font-weight: 600; line-height: 1.5; }
.data-challenges-list i { display: grid; width: 26px; height: 26px; place-items: center; color: var(--color-accent); border: 1px solid rgba(255, 106, 0, 0.4); border-radius: 50%; }

.data-approach-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.data-approach-timeline { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); margin: 0; padding: 0; list-style: none; }
.data-approach-timeline::before { position: absolute; top: 27px; right: 7%; left: 7%; height: 1px; content: ""; background: #d8dde5; }
.data-approach-step { position: relative; z-index: 1; padding-inline: clamp(0.6rem, 1.3vw, 1rem); border-left: 1px solid var(--color-border); }
.data-approach-step:first-child { padding-left: 0; border-left: 0; }
.data-approach-step > div { display: flex; height: 54px; align-items: center; justify-content: space-between; margin-bottom: 1.35rem; padding-inline: 0.6rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.data-approach-step > div span { color: #8c96a2; font-size: 0.58rem; font-weight: 700; }
.data-approach-step > div i { color: var(--color-accent); }
.data-approach-step h3 { min-height: 42px; margin-bottom: 0.55rem; font-size: 0.95rem; }
.data-approach-step p { margin: 0; font-size: 0.73rem; line-height: 1.65; }
.data-engagement-section { padding-block: var(--section-spacing); background: var(--color-white); }

/* AI and Automation detail page */
.ai-value-visual { position: relative; display: grid; min-height: 500px; place-content: center; justify-items: center; padding: 2rem; background: rgba(255, 255, 255, 0.9); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: 0 24px 58px rgba(13, 27, 42, 0.08); }
.ai-value-visual::before { position: absolute; top: -1px; right: 13%; width: 72px; height: 3px; content: ""; background: var(--color-accent); }
.ai-flow-stage { display: grid; width: min(100%, 270px); gap: 0.2rem; padding: 0.75rem 1rem; background: var(--color-white); border: 1px solid var(--color-border); text-align: center; }
.ai-flow-stage small, .ai-capability-layer > small { color: #8994a0; font-size: 0.55rem; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; }
.ai-flow-stage strong { color: var(--color-primary); font-size: 0.78rem; }
.ai-flow-input { border-top: 2px solid #9ca7b3; }
.ai-flow-outcome { color: var(--color-white); background: var(--color-primary); border-left: 3px solid var(--color-accent); }
.ai-flow-outcome small { color: #9eabb9; }
.ai-flow-outcome strong { color: var(--color-white); }
.ai-flow-arrow { padding-block: 0.35rem; color: var(--color-accent); }
.ai-capability-layer { width: min(100%, 350px); padding: 1rem; background: #fff8f2; border: 1px solid #ffd9bc; text-align: center; }
.ai-capability-layer > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.4rem; margin-top: 0.7rem; }
.ai-capability-layer span { padding: 0.4rem 0.55rem; color: var(--color-primary); background: var(--color-white); border: 1px solid var(--color-border); font-size: 0.61rem; font-weight: 700; }

.ai-overview-section { padding-block: var(--section-spacing); background: var(--color-white); }
.ai-overview-content { max-width: 700px; padding-right: clamp(0rem, 4vw, 3rem); }
.ai-overview-content > p { max-width: 650px; font-size: 0.95rem; line-height: 1.82; }
.ai-overview-content > p + p { margin-top: 1.1rem; }
.ai-journey-flow { max-width: 470px; margin-left: auto; padding: clamp(1.5rem, 3vw, 2rem); background: var(--color-bg-soft); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.ai-journey-flow > div { display: grid; }
.ai-journey-flow span, .ai-journey-flow strong { display: block; padding: 0.62rem 0.9rem; text-align: center; }
.ai-journey-flow span { color: var(--color-primary); background: var(--color-white); border: 1px solid var(--color-border); font-size: 0.73rem; font-weight: 700; }
.ai-journey-flow i { padding-block: 0.18rem; color: var(--color-accent); text-align: center; }
.ai-journey-flow strong { color: var(--color-white); background: var(--color-primary); border-left: 3px solid var(--color-accent); font-size: 0.78rem; }

.ai-capabilities-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.ai-capabilities-list { display: grid; gap: 0.75rem; }
.ai-capability-row { display: grid; grid-template-columns: 110px 1fr; width: 91%; gap: clamp(1.25rem, 3vw, 2.25rem); align-items: center; padding: clamp(1.35rem, 2.7vw, 1.9rem); background: var(--color-white); border: 1px solid var(--color-border); border-left: 3px solid transparent; transition: transform var(--transition-speed) ease, border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease; }
.ai-capability-row:nth-child(even) { margin-left: 9%; }
.ai-capability-row:hover { transform: translateX(4px); border-left-color: var(--color-accent); box-shadow: 0 12px 28px rgba(13, 27, 42, 0.06); }
.ai-capability-meta { display: flex; align-items: center; justify-content: space-between; padding-right: 1rem; border-right: 1px solid var(--color-border); }
.ai-capability-meta span { color: #8e98a4; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.12em; }
.ai-capability-meta i { display: grid; width: 40px; height: 40px; place-items: center; color: var(--color-accent); background: var(--color-accent-soft); border-radius: var(--radius-sm); }
.ai-capability-row h3 { margin-bottom: 0.45rem; font-size: 1.05rem; }
.ai-capability-row p { max-width: 870px; margin: 0; font-size: 0.81rem; line-height: 1.68; }

.ai-use-cases-section { padding-block: var(--section-spacing); color: var(--dark-muted); background: var(--color-primary); }
.ai-use-cases-section .section-title { color: var(--color-white); }
.ai-use-cases-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255, 255, 255, 0.12); border-left: 1px solid rgba(255, 255, 255, 0.12); }
.ai-use-case { padding: clamp(1.5rem, 3vw, 2.2rem); border-right: 1px solid rgba(255, 255, 255, 0.12); border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.ai-use-case > i { display: grid; width: 42px; height: 42px; place-items: center; margin-bottom: 1.5rem; color: var(--color-accent); border: 1px solid rgba(255, 106, 0, 0.38); border-radius: var(--radius-sm); }
.ai-use-case h3 { min-height: 48px; margin-bottom: 0.55rem; color: var(--color-white); font-size: 1rem; }
.ai-use-case p { margin: 0; color: var(--dark-muted); font-size: 0.79rem; line-height: 1.68; }

.gen-ai-section { padding-block: var(--section-spacing); background: var(--color-white); }
.gen-ai-intro { max-width: 620px; padding-right: clamp(0rem, 3vw, 2rem); }
.gen-ai-intro > p { font-size: 0.9rem; line-height: 1.76; }
.gen-ai-list { border-top: 1px solid var(--color-border); }
.gen-ai-item { display: grid; grid-template-columns: 44px 1fr; gap: 1rem; padding: clamp(1.2rem, 2.4vw, 1.65rem); border-bottom: 1px solid var(--color-border); }
.gen-ai-item > span { color: var(--color-accent); font-size: 0.64rem; font-weight: 700; letter-spacing: 0.12em; }
.gen-ai-item h3 { margin-bottom: 0.35rem; font-size: 0.98rem; }
.gen-ai-item p { margin: 0; font-size: 0.79rem; line-height: 1.65; }

.automation-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.automation-flow { display: grid; grid-template-columns: repeat(11, auto); align-items: center; gap: 0.45rem; margin-bottom: clamp(2.5rem, 5vw, 4rem); padding: clamp(1.2rem, 2.5vw, 1.8rem); background: var(--color-white); border: 1px solid var(--color-border); }
.automation-flow span, .automation-flow strong { display: grid; min-height: 68px; place-items: center; padding: 0.6rem; border: 1px solid var(--color-border); font-size: 0.65rem; text-align: center; }
.automation-flow strong { color: var(--color-white); background: var(--color-primary); border-left: 3px solid var(--color-accent); }
.automation-flow > i { color: var(--color-accent); }
.automation-areas-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.automation-area { display: grid; grid-template-columns: 42px 1fr; gap: 1rem; padding: clamp(1.4rem, 3vw, 2rem); background: var(--color-white); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.automation-area > span { color: var(--color-accent); font-size: 0.64rem; font-weight: 700; letter-spacing: 0.12em; }
.automation-area h3 { margin-bottom: 0.45rem; font-size: 1rem; }
.automation-area p { margin: 0; font-size: 0.8rem; line-height: 1.68; }

.conversational-ai-section { padding-block: var(--section-spacing); background: var(--color-white); }
.conversational-ai-section .section-description { max-width: 850px; }
.assistant-principles-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.assistant-principle { display: grid; grid-template-columns: 26px 42px 1fr; gap: 0.85rem; padding: clamp(1.4rem, 3vw, 2rem); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.assistant-principle > span { padding-top: 0.65rem; color: #8e98a4; font-size: 0.6rem; font-weight: 700; }
.assistant-principle > i { display: grid; width: 40px; height: 40px; place-items: center; color: var(--color-accent); background: var(--color-accent-soft); border-radius: var(--radius-sm); }
.assistant-principle h3 { margin-bottom: 0.45rem; font-size: 1rem; }
.assistant-principle p { margin: 0; font-size: 0.79rem; line-height: 1.68; }

.ai-integration-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.ai-architecture { display: grid; grid-template-columns: 1fr auto minmax(180px, 0.28fr); align-items: center; gap: clamp(1rem, 2.5vw, 2rem); margin-bottom: clamp(2.5rem, 5vw, 4rem); padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--color-white); border: 1px solid var(--color-border); }
.ai-architecture-inputs { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: 0.5rem; }
.ai-architecture-inputs span { display: grid; min-height: 82px; place-items: center; gap: 0.35rem; padding: 0.7rem; color: var(--color-primary); background: var(--color-bg-soft); border: 1px solid var(--color-border); font-size: 0.68rem; font-weight: 700; text-align: center; }
.ai-architecture-inputs span i { color: var(--color-accent); font-size: 1rem; }
.ai-architecture-inputs b { color: #8e98a4; font-size: 0.8rem; }
.ai-architecture-arrow { color: var(--color-accent); }
.ai-architecture-output { display: grid; min-height: 120px; place-items: center; gap: 0.5rem; padding: 1rem; color: var(--color-white); background: var(--color-primary); border-left: 3px solid var(--color-accent); font-size: 0.76rem; text-align: center; }
.ai-architecture-output i { color: var(--color-accent); font-size: 1.2rem; }
.ai-integration-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.ai-integration-item { padding: clamp(1.35rem, 2.5vw, 1.8rem); background: var(--color-white); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.ai-integration-item h3 { min-height: 44px; margin-bottom: 0.5rem; font-size: 0.98rem; }
.ai-integration-item p { margin: 0; font-size: 0.78rem; line-height: 1.67; }

.responsible-ai-section { padding-block: var(--section-spacing); color: var(--dark-muted); background: var(--color-primary); }
.responsible-ai-section .section-title { color: var(--color-white); }
.responsible-ai-list { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid rgba(255, 255, 255, 0.12); border-left: 1px solid rgba(255, 255, 255, 0.12); }
.responsible-ai-item { min-height: 220px; padding: clamp(1.35rem, 2.5vw, 1.8rem); border-right: 1px solid rgba(255, 255, 255, 0.12); border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.responsible-ai-item > span { display: block; margin-bottom: 2rem; color: var(--color-accent); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.12em; }
.responsible-ai-item h3 { min-height: 42px; margin-bottom: 0.45rem; color: var(--color-white); font-size: 0.95rem; }
.responsible-ai-item p { margin: 0; color: var(--dark-muted); font-size: 0.76rem; line-height: 1.66; }

.ai-approach-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-bottom: 1px solid var(--color-border); }
.ai-approach-timeline { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); margin: 0; padding: 0; list-style: none; }
.ai-approach-timeline::before { position: absolute; top: 27px; right: 7%; left: 7%; height: 1px; content: ""; background: #d8dde5; }
.ai-approach-step { position: relative; z-index: 1; padding-inline: clamp(0.6rem, 1.3vw, 1rem); border-left: 1px solid var(--color-border); }
.ai-approach-step:first-child { padding-left: 0; border-left: 0; }
.ai-approach-step > div { display: flex; height: 54px; align-items: center; justify-content: space-between; margin-bottom: 1.35rem; padding-inline: 0.6rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.ai-approach-step > div span { color: #8c96a2; font-size: 0.58rem; font-weight: 700; }
.ai-approach-step > div i { color: var(--color-accent); }
.ai-approach-step h3 { min-height: 42px; margin-bottom: 0.55rem; font-size: 0.95rem; }
.ai-approach-step p { margin: 0; font-size: 0.73rem; line-height: 1.65; }
.ai-engagement-section { padding-block: var(--section-spacing); background: var(--color-white); }

/* Talent and Workforce Solutions detail page */
.talent-hero-visual { position: relative; display: grid; min-height: 480px; place-content: center; justify-items: center; padding: 2rem; background: rgba(255, 255, 255, 0.9); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: 0 24px 58px rgba(13, 27, 42, 0.08); }
.talent-hero-visual::before { position: absolute; top: -1px; left: 14%; width: 72px; height: 3px; content: ""; background: var(--color-accent); }
.talent-hero-visual > i { padding-block: 0.4rem; color: var(--color-accent); }
.talent-flow-node { display: grid; width: min(100%, 280px); gap: 0.2rem; padding: 0.8rem 1rem; background: var(--color-white); border: 1px solid var(--color-border); border-left: 3px solid #9ca7b3; text-align: center; }
.talent-flow-node small { color: #8994a0; font-size: 0.55rem; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; }
.talent-flow-node strong { color: var(--color-primary); font-size: 0.8rem; }
.talent-model-paths { display: grid; grid-template-columns: repeat(3, 1fr); width: min(100%, 370px); gap: 0.45rem; padding: 1rem; background: #fff8f2; border: 1px solid #ffd9bc; }
.talent-model-paths span { display: grid; min-height: 54px; place-items: center; padding: 0.5rem; color: var(--color-primary); background: var(--color-white); border: 1px solid var(--color-border); font-size: 0.64rem; font-weight: 700; text-align: center; }
.talent-flow-result { color: var(--color-white); background: var(--color-primary); border-left-color: var(--color-accent); }
.talent-flow-result small { color: #a6b1be; }
.talent-flow-result strong { color: var(--color-white); }

.talent-overview-section { padding-block: var(--section-spacing); background: var(--color-white); }
.talent-overview-content { max-width: 700px; padding-right: clamp(0rem, 4vw, 3rem); }
.talent-overview-content > p { max-width: 650px; font-size: 0.95rem; line-height: 1.82; }
.talent-overview-content > p + p { margin-top: 1.1rem; }
.talent-model-equation { max-width: 480px; margin-left: auto; padding: clamp(1.5rem, 3vw, 2rem); background: var(--color-bg-soft); border: 1px solid var(--color-border); }
.talent-model-equation > div { display: grid; justify-items: stretch; }
.talent-model-equation span, .talent-model-equation strong { padding: 0.65rem 0.85rem; text-align: center; }
.talent-model-equation span { color: var(--color-primary); background: var(--color-white); border: 1px solid var(--color-border); font-size: 0.71rem; font-weight: 700; }
.talent-model-equation b { padding-block: 0.1rem; color: #9aa4af; font-size: 0.7rem; text-align: center; }
.talent-model-equation i { padding-block: 0.3rem; color: var(--color-accent); text-align: center; }
.talent-model-equation strong { color: var(--color-white); background: var(--color-primary); border-left: 3px solid var(--color-accent); font-size: 0.78rem; }

.talent-models-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.talent-model-groups { display: grid; gap: 1rem; }
.talent-model-group { display: grid; grid-template-columns: minmax(360px, 0.9fr) 1.1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: center; padding: clamp(1.6rem, 3.5vw, 2.5rem); background: var(--color-white); border: 1px solid var(--color-border); border-left: 3px solid transparent; transition: border-color var(--transition-speed) ease, transform var(--transition-speed) ease; }
.talent-model-group:nth-child(2) { margin-inline: 3%; }
.talent-model-group:hover { transform: translateX(3px); border-left-color: var(--color-accent); }
.talent-model-heading { display: grid; grid-template-columns: 28px 46px 1fr; gap: 0.9rem; align-items: start; }
.talent-model-heading > span { padding-top: 0.75rem; color: #8994a0; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.12em; }
.talent-model-heading > i { display: grid; width: 44px; height: 44px; place-items: center; color: var(--color-accent); background: var(--color-accent-soft); border-radius: var(--radius-sm); }
.talent-model-heading h3 { margin-bottom: 0.5rem; font-size: 1.08rem; text-transform: uppercase; }
.talent-model-heading p { margin: 0; font-size: 0.8rem; line-height: 1.68; }
.talent-model-group ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.55rem; margin: 0; padding: 0; list-style: none; }
.talent-model-group li { position: relative; padding: 0.65rem 0.7rem 0.65rem 1.65rem; background: var(--color-bg-soft); border: 1px solid var(--color-border); color: var(--color-primary); font-size: 0.71rem; font-weight: 600; }
.talent-model-group li::before { position: absolute; top: 50%; left: 0.65rem; width: 5px; height: 5px; content: ""; background: var(--color-accent); border-radius: 50%; transform: translateY(-50%); }

.it-talent-section { padding-block: var(--section-spacing); background: var(--color-white); }
.it-talent-section .section-description { max-width: 870px; }
.talent-focus-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.talent-focus-item { min-height: 210px; padding: clamp(1.4rem, 3vw, 2rem); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.talent-focus-item > span { display: block; margin-bottom: 2rem; color: var(--color-accent); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.12em; }
.talent-focus-item h3 { min-height: 44px; margin-bottom: 0.45rem; font-size: 1rem; }
.talent-focus-item p { margin: 0; font-size: 0.79rem; line-height: 1.68; }

.non-it-talent-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.non-it-talent-intro { max-width: 620px; padding-right: clamp(0rem, 3vw, 2rem); }
.non-it-talent-intro > p { font-size: 0.9rem; line-height: 1.76; }
.professional-talent-list { border-top: 1px solid var(--color-border); }
.professional-talent-item { display: grid; grid-template-columns: 44px 1fr; gap: 1rem; padding: clamp(1.2rem, 2.4vw, 1.65rem); border-bottom: 1px solid var(--color-border); }
.professional-talent-item > span { color: var(--color-accent); font-size: 0.64rem; font-weight: 700; letter-spacing: 0.12em; }
.professional-talent-item h3 { margin-bottom: 0.35rem; font-size: 0.98rem; }
.professional-talent-item p { margin: 0; font-size: 0.79rem; line-height: 1.65; }

.workforce-augmentation-section { padding-block: var(--section-spacing); color: var(--dark-muted); background: var(--color-primary); }
.workforce-augmentation-section .section-title { color: var(--color-white); }
.workforce-augmentation-section .section-description { max-width: 850px; color: var(--dark-muted); }
.augmentation-models { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid rgba(255, 255, 255, 0.12); border-left: 1px solid rgba(255, 255, 255, 0.12); }
.augmentation-model { min-height: 250px; padding: clamp(1.35rem, 2.5vw, 1.8rem); border-right: 1px solid rgba(255, 255, 255, 0.12); border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.augmentation-model > i { display: grid; width: 40px; height: 40px; place-items: center; margin-bottom: 1rem; color: var(--color-accent); border: 1px solid rgba(255, 106, 0, 0.4); border-radius: var(--radius-sm); }
.augmentation-model > span { display: block; margin-bottom: 1.2rem; color: #8996a5; font-size: 0.6rem; font-weight: 700; }
.augmentation-model h3 { min-height: 64px; margin-bottom: 0.45rem; color: var(--color-white); font-size: 0.94rem; }
.augmentation-model p { margin: 0; color: var(--dark-muted); font-size: 0.75rem; line-height: 1.66; }

.hiring-models-section { padding-block: var(--section-spacing); background: var(--color-white); }
.hiring-comparison { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.hiring-model { display: flex; min-height: 250px; flex-direction: column; padding: clamp(1.4rem, 2.7vw, 2rem); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.hiring-model > span { margin-bottom: 2rem; color: var(--color-accent); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.12em; }
.hiring-model h3 { min-height: 48px; margin-bottom: 1.2rem; font-size: 1rem; }
.hiring-model small { margin-bottom: 0.4rem; color: #8994a0; font-size: 0.58rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.hiring-model p { margin: 0; font-size: 0.79rem; line-height: 1.68; }

.talent-process-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.talent-process-timeline { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); margin: 0; padding: 0; list-style: none; }
.talent-process-timeline::before { position: absolute; top: 27px; right: 7%; left: 7%; height: 1px; content: ""; background: #d8dde5; }
.talent-process-step { position: relative; z-index: 1; padding-inline: clamp(0.6rem, 1.3vw, 1rem); border-left: 1px solid var(--color-border); }
.talent-process-step:first-child { padding-left: 0; border-left: 0; }
.talent-process-step > div { display: flex; height: 54px; align-items: center; justify-content: space-between; margin-bottom: 1.35rem; padding-inline: 0.6rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.talent-process-step > div span { color: #8c96a2; font-size: 0.58rem; font-weight: 700; }
.talent-process-step > div i { color: var(--color-accent); }
.talent-process-step h3 { min-height: 42px; margin-bottom: 0.55rem; font-size: 0.95rem; }
.talent-process-step p { margin: 0; font-size: 0.73rem; line-height: 1.65; }

.workforce-flexibility-section { padding-block: var(--section-spacing); background: var(--color-white); }
.workforce-scenarios-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.workforce-scenario { display: grid; grid-template-columns: 44px 1fr; column-gap: 1rem; align-content: start; padding: clamp(1.4rem, 3vw, 2rem); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.workforce-scenario > i { grid-row: 1 / span 2; display: grid; width: 42px; height: 42px; place-items: center; color: var(--color-accent); background: var(--color-accent-soft); border-radius: var(--radius-sm); }
.workforce-scenario h3 { margin-bottom: 0.45rem; font-size: 1rem; }
.workforce-scenario p { grid-column: 2; margin: 0; font-size: 0.79rem; line-height: 1.68; }

.talent-connections-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-top: 1px solid var(--color-border); }
.talent-connections-section .section-description { max-width: 930px; }
.talent-connection-flow { display: grid; grid-template-columns: 1fr auto minmax(170px, 0.24fr); align-items: center; gap: clamp(1rem, 2.5vw, 2rem); margin-bottom: clamp(2.75rem, 5vw, 4.25rem); padding: clamp(1.4rem, 3vw, 2rem); background: var(--color-white); border: 1px solid var(--color-border); }
.talent-connection-flow > div { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 0.6rem; }
.talent-connection-flow span { display: grid; min-height: 74px; place-items: center; padding: 0.7rem; background: var(--color-bg-soft); border: 1px solid var(--color-border); color: var(--color-primary); font-size: 0.69rem; font-weight: 700; text-align: center; }
.talent-connection-flow b { color: #8f99a5; font-size: 0.75rem; }
.talent-connection-flow > i { color: var(--color-accent); }
.talent-connection-flow > strong { display: grid; min-height: 100px; place-items: center; padding: 1rem; color: var(--color-white); background: var(--color-primary); border-left: 3px solid var(--color-accent); font-size: 0.78rem; text-align: center; }

/* HR, Legal, Compliance and Business Consulting detail page */
.consulting-framework-visual { position: relative; display: grid; min-height: 470px; place-content: center; justify-items: center; padding: 2rem; background: rgba(255, 255, 255, 0.9); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: 0 24px 58px rgba(13, 27, 42, 0.08); }
.consulting-framework-visual::before { position: absolute; top: -1px; right: 14%; width: 72px; height: 3px; content: ""; background: var(--color-accent); }
.consulting-framework-inputs { display: grid; grid-template-columns: 1fr auto 1fr; width: min(100%, 360px); gap: 0.55rem; align-items: center; }
.consulting-framework-inputs span { display: grid; min-height: 86px; place-items: center; gap: 0.35rem; padding: 0.7rem; color: var(--color-primary); background: var(--color-bg-soft); border: 1px solid var(--color-border); font-size: 0.69rem; font-weight: 700; }
.consulting-framework-inputs span i { color: var(--color-accent); font-size: 1.05rem; }
.consulting-framework-inputs b { color: #8d98a4; font-size: 0.7rem; }
.consulting-framework-inputs b:nth-of-type(2) { display: none; }
.consulting-framework-arrow { padding-block: 1rem; color: var(--color-accent); }
.consulting-framework-visual > strong { display: grid; width: min(100%, 300px); gap: 0.25rem; padding: 1rem; color: var(--color-white); background: var(--color-primary); border-left: 3px solid var(--color-accent); font-size: 0.82rem; text-align: center; }
.consulting-framework-visual > strong small { color: #a4afbc; font-size: 0.55rem; letter-spacing: 0.1em; text-transform: uppercase; }

.consulting-overview-section { padding-block: var(--section-spacing); background: var(--color-white); }
.consulting-overview-content { max-width: 700px; padding-right: clamp(0rem, 4vw, 3rem); }
.consulting-overview-content > p { max-width: 650px; font-size: 0.95rem; line-height: 1.82; }
.consulting-overview-content > p + p { margin-top: 1.1rem; }
.consulting-overview-flow { max-width: 470px; margin-left: auto; padding: clamp(1.5rem, 3vw, 2rem); background: var(--color-bg-soft); border: 1px solid var(--color-border); }
.consulting-overview-flow > div { display: grid; }
.consulting-overview-flow span, .consulting-overview-flow strong { padding: 0.68rem 0.9rem; text-align: center; }
.consulting-overview-flow span { color: var(--color-primary); background: var(--color-white); border: 1px solid var(--color-border); font-size: 0.72rem; font-weight: 700; }
.consulting-overview-flow i { padding-block: 0.22rem; color: var(--color-accent); text-align: center; }
.consulting-overview-flow strong { color: var(--color-white); background: var(--color-primary); border-left: 3px solid var(--color-accent); font-size: 0.78rem; }

.consulting-practices-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.consulting-practice-bands { display: grid; gap: 1rem; }
.consulting-practice-band { display: grid; grid-template-columns: minmax(350px, 0.82fr) 1.18fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; padding: clamp(1.6rem, 3.5vw, 2.5rem); background: var(--color-white); border: 1px solid var(--color-border); border-left: 3px solid transparent; transition: transform var(--transition-speed) ease, border-color var(--transition-speed) ease; }
.consulting-practice-band:nth-child(even) { margin-inline: 3%; }
.consulting-practice-band:hover { transform: translateX(3px); border-left-color: var(--color-accent); }
.consulting-practice-heading { display: grid; grid-template-columns: 28px 46px 1fr; gap: 0.9rem; }
.consulting-practice-heading > span { padding-top: 0.75rem; color: #8994a0; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.12em; }
.consulting-practice-heading > i { display: grid; width: 44px; height: 44px; place-items: center; color: var(--color-accent); background: var(--color-accent-soft); border-radius: var(--radius-sm); }
.consulting-practice-heading h3 { margin-bottom: 0.5rem; font-size: 1.05rem; text-transform: uppercase; }
.consulting-practice-heading p { margin: 0; font-size: 0.79rem; line-height: 1.68; }
.consulting-practice-band ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.consulting-practice-band li { position: relative; padding: 0.62rem 0.65rem 0.62rem 1.55rem; background: var(--color-bg-soft); border: 1px solid var(--color-border); color: var(--color-primary); font-size: 0.69rem; font-weight: 600; }
.consulting-practice-band li::before { position: absolute; top: 50%; left: 0.6rem; width: 5px; height: 5px; content: ""; background: var(--color-accent); border-radius: 50%; transform: translateY(-50%); }

.hr-consulting-section { padding-block: var(--section-spacing); background: var(--color-white); }
.hr-consulting-section .section-description { max-width: 880px; }
.hr-focus-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.hr-focus-item { min-height: 215px; padding: clamp(1.35rem, 2.7vw, 1.9rem); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.hr-focus-item > span { display: block; margin-bottom: 1.8rem; color: var(--color-accent); font-size: 0.61rem; font-weight: 700; letter-spacing: 0.12em; }
.hr-focus-item h3 { min-height: 46px; margin-bottom: 0.45rem; font-size: 0.97rem; }
.hr-focus-item p { margin: 0; font-size: 0.77rem; line-height: 1.68; }

.legal-advisory-section { padding-block: var(--section-spacing); color: var(--dark-muted); background: var(--color-primary); }
.legal-advisory-section .section-title { color: var(--color-white); }
.legal-advisory-section .section-description { max-width: 860px; color: var(--dark-muted); }
.legal-advisory-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(255, 255, 255, 0.12); border-left: 1px solid rgba(255, 255, 255, 0.12); }
.legal-advisory-item { display: grid; grid-template-columns: 36px 1fr; gap: 0.85rem; padding: clamp(1.35rem, 2.7vw, 1.9rem); border-right: 1px solid rgba(255, 255, 255, 0.12); border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.legal-advisory-item > span { color: var(--color-accent); font-size: 0.61rem; font-weight: 700; letter-spacing: 0.1em; }
.legal-advisory-item h3 { margin-bottom: 0.4rem; color: var(--color-white); font-size: 0.96rem; }
.legal-advisory-item p { margin: 0; color: var(--dark-muted); font-size: 0.77rem; line-height: 1.67; }
.legal-advisory-note { display: grid; grid-template-columns: 28px 1fr; max-width: 980px; gap: 0.9rem; align-items: start; margin-top: 1.5rem; padding: 1rem 1.15rem; background: rgba(255, 255, 255, 0.045); border: 1px solid rgba(255, 255, 255, 0.13); border-left: 2px solid var(--color-accent); }
.legal-advisory-note i { color: var(--color-accent); }
.legal-advisory-note p { margin: 0; color: var(--dark-muted); font-size: 0.72rem; line-height: 1.66; }

.hr-audits-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-bottom: 1px solid var(--color-border); }
.hr-audits-section .section-description { max-width: 900px; }
.audit-review-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.audit-review-item { display: grid; grid-template-columns: 42px 1fr; gap: 1rem; padding: clamp(1.35rem, 2.7vw, 1.9rem); background: var(--color-white); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.audit-review-item > i { display: grid; width: 40px; height: 40px; place-items: center; color: var(--color-accent); background: var(--color-accent-soft); border-radius: var(--radius-sm); }
.audit-review-item h3 { margin-bottom: 0.4rem; font-size: 0.97rem; }
.audit-review-item p { margin: 0; font-size: 0.77rem; line-height: 1.67; }

.business-consulting-section { padding-block: var(--section-spacing); background: var(--color-white); }
.business-consulting-intro { max-width: 620px; padding-right: clamp(0rem, 3vw, 2rem); }
.business-consulting-intro > p { font-size: 0.9rem; line-height: 1.76; }
.business-consulting-list { border-top: 1px solid var(--color-border); }
.business-consulting-item { display: grid; grid-template-columns: 44px 1fr; gap: 1rem; padding: clamp(1.2rem, 2.4vw, 1.65rem); border-bottom: 1px solid var(--color-border); }
.business-consulting-item > span { color: var(--color-accent); font-size: 0.64rem; font-weight: 700; letter-spacing: 0.12em; }
.business-consulting-item h3 { margin-bottom: 0.35rem; font-size: 0.98rem; }
.business-consulting-item p { margin: 0; font-size: 0.79rem; line-height: 1.65; }

.connected-consulting-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.connected-consulting-section .section-description { max-width: 930px; }
.connected-practices-visual { display: grid; justify-items: center; gap: 1.2rem; padding: clamp(1.5rem, 3vw, 2.3rem); background: var(--color-white); border: 1px solid var(--color-border); }
.connected-practices-visual > div { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; width: 100%; align-items: center; gap: clamp(0.55rem, 1.5vw, 1rem); }
.connected-practices-visual span { display: grid; min-height: 105px; place-items: center; gap: 0.45rem; padding: 0.8rem; color: var(--color-primary); background: var(--color-bg-soft); border: 1px solid var(--color-border); font-size: 0.72rem; font-weight: 700; text-align: center; }
.connected-practices-visual span i { color: var(--color-accent); font-size: 1.05rem; }
.connected-practices-visual > div > i, .connected-practices-visual > i { color: var(--color-accent); }
.connected-practices-visual > strong { min-width: min(100%, 380px); padding: 0.9rem 1.2rem; color: var(--color-white); background: var(--color-primary); border-left: 3px solid var(--color-accent); font-size: 0.79rem; text-align: center; }

.consulting-needs-section { padding-block: var(--section-spacing); color: var(--dark-muted); background: var(--color-primary); }
.consulting-needs-section .section-title { color: var(--color-white); }
.consulting-needs-list { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, 0.12); border-left: 1px solid rgba(255, 255, 255, 0.12); }
.consulting-needs-list li { display: grid; grid-template-columns: 28px 1fr; min-height: 92px; align-items: center; gap: 0.75rem; padding: 1.05rem; color: var(--color-white); border-right: 1px solid rgba(255, 255, 255, 0.12); border-bottom: 1px solid rgba(255, 255, 255, 0.12); font-size: 0.79rem; font-weight: 600; line-height: 1.5; }
.consulting-needs-list i { display: grid; width: 26px; height: 26px; place-items: center; color: var(--color-accent); border: 1px solid rgba(255, 106, 0, 0.4); border-radius: 50%; }

.consulting-approach-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-bottom: 1px solid var(--color-border); }
.consulting-approach-timeline { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); margin: 0; padding: 0; list-style: none; }
.consulting-approach-timeline::before { position: absolute; top: 27px; right: 7%; left: 7%; height: 1px; content: ""; background: #d8dde5; }
.consulting-approach-step { position: relative; z-index: 1; padding-inline: clamp(0.6rem, 1.3vw, 1rem); border-left: 1px solid var(--color-border); }
.consulting-approach-step:first-child { padding-left: 0; border-left: 0; }
.consulting-approach-step > div { display: flex; height: 54px; align-items: center; justify-content: space-between; margin-bottom: 1.35rem; padding-inline: 0.6rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.consulting-approach-step > div span { color: #8c96a2; font-size: 0.58rem; font-weight: 700; }
.consulting-approach-step > div i { color: var(--color-accent); }
.consulting-approach-step h3 { min-height: 42px; margin-bottom: 0.55rem; font-size: 0.95rem; }
.consulting-approach-step p { margin: 0; font-size: 0.73rem; line-height: 1.65; }

.consulting-engagement-section { padding-block: var(--section-spacing); background: var(--color-white); }
.consulting-engagement-list { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--color-border); }
.consulting-engagement-item { display: grid; grid-template-columns: 52px 1fr; gap: 1.1rem; padding: clamp(1.4rem, 3vw, 2rem); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.consulting-engagement-item:nth-child(even) { border-right: 0; }
.consulting-engagement-item:last-child { grid-column: 1 / -1; max-width: 50%; border-right: 1px solid var(--color-border); }
.consulting-engagement-item > span { color: var(--color-accent); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.12em; }
.consulting-engagement-item h3 { margin-bottom: 0.45rem; font-size: 1rem; }
.consulting-engagement-item p { margin: 0; font-size: 0.79rem; line-height: 1.68; }

/* Careers page */
.careers-hero-section { position: relative; min-height: 700px; display: flex; align-items: center; padding-block: var(--section-space-lg); overflow: hidden; background: linear-gradient(120deg, #f5f7f9 0%, #fff 72%); border-bottom: 1px solid var(--color-border); }
.careers-hero-pattern { position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(13, 27, 42, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(13, 27, 42, 0.035) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to right, transparent, #000 55%); }
.careers-hero-content { max-width: 780px; padding-right: clamp(0rem, 4vw, 3rem); }
.careers-hero-title { max-width: 760px; margin-bottom: 1.4rem; font-size: clamp(2.65rem, 4.7vw, 4.1rem); line-height: 1.04; letter-spacing: -0.05em; }
.careers-hero-description { max-width: 680px; margin-bottom: 2rem; font-size: clamp(1rem, 1.35vw, 1.15rem); line-height: 1.75; }
.careers-hero-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.career-capability-visual { position: relative; display: grid; min-height: 500px; place-content: center; padding: 2rem; background: rgba(255, 255, 255, 0.9); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: 0 24px 58px rgba(13, 27, 42, 0.08); }
.career-capability-visual::before { position: absolute; top: -1px; left: 14%; width: 72px; height: 3px; content: ""; background: var(--color-accent); }
.career-growth-path { display: grid; justify-items: center; }
.career-growth-path > span { display: grid; grid-template-columns: 38px 1fr; width: min(100%, 300px); column-gap: 0.8rem; padding: 0.75rem 0.9rem; background: var(--color-white); border: 1px solid var(--color-border); }
.career-growth-path > span i { grid-row: 1 / span 2; display: grid; width: 36px; height: 36px; place-items: center; color: var(--color-accent); background: var(--color-accent-soft); border-radius: var(--radius-sm); }
.career-growth-path small { color: #8994a0; font-size: 0.54rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.career-growth-path > span strong { color: var(--color-primary); font-size: 0.75rem; }
.career-growth-path > i { padding-block: 0.42rem; color: var(--color-accent); }
.career-growth-result { display: grid; width: min(100%, 330px); gap: 0.2rem; padding: 0.9rem 1rem; color: var(--color-white); background: var(--color-primary); border-left: 3px solid var(--color-accent); font-size: 0.8rem; text-align: center; }
.career-growth-result small { color: #a6b1be; }

.career-values-section { padding-block: var(--section-spacing); background: var(--color-white); }
.career-values-list { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.career-value-item { display: grid; grid-template-columns: 28px 42px 1fr; gap: 0.85rem; align-items: start; padding: clamp(1.4rem, 3vw, 2rem); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.career-value-item:last-child { grid-column: 1 / -1; max-width: 50%; }
.career-value-item > span { padding-top: 0.65rem; color: #8d97a3; font-size: 0.6rem; font-weight: 700; }
.career-value-item > i { display: grid; width: 40px; height: 40px; place-items: center; color: var(--color-accent); background: var(--color-accent-soft); border-radius: var(--radius-sm); }
.career-value-item h3 { margin-bottom: 0.4rem; font-size: 1rem; }
.career-value-item p { margin: 0; font-size: 0.79rem; line-height: 1.68; }

.career-domains-section { padding-block: var(--section-spacing); color: var(--dark-muted); background: var(--color-primary); }
.career-domains-section .section-title { color: var(--color-white); }
.career-domains-section .section-description { color: var(--dark-muted); }
.career-domain-groups { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255, 255, 255, 0.12); border-left: 1px solid rgba(255, 255, 255, 0.12); }
.career-domain-group { padding: clamp(1.5rem, 3vw, 2.2rem); border-right: 1px solid rgba(255, 255, 255, 0.12); border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.career-domain-group > div { display: grid; grid-template-columns: 26px 42px 1fr; gap: 0.8rem; align-items: center; margin-bottom: 1.5rem; }
.career-domain-group > div span { color: #8996a5; font-size: 0.6rem; font-weight: 700; }
.career-domain-group > div i { display: grid; width: 40px; height: 40px; place-items: center; color: var(--color-accent); border: 1px solid rgba(255, 106, 0, 0.4); border-radius: var(--radius-sm); }
.career-domain-group h3 { margin: 0; color: var(--color-white); font-size: 1rem; text-transform: uppercase; }
.career-domain-group ul { display: grid; gap: 0.55rem; margin: 0; padding: 0; list-style: none; }
.career-domain-group li { position: relative; padding-left: 1rem; color: var(--dark-muted); font-size: 0.78rem; line-height: 1.5; }
.career-domain-group li::before { position: absolute; top: 0.65em; left: 0; width: 4px; height: 4px; content: ""; background: var(--color-accent); border-radius: 50%; }

.career-principles-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); border-bottom: 1px solid var(--color-border); }
.career-principles-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.career-principle { min-height: 190px; padding: clamp(1.4rem, 3vw, 2rem); background: var(--color-white); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.career-principle > span { display: block; margin-bottom: 1.7rem; color: var(--color-accent); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.12em; }
.career-principle h3 { margin-bottom: 0.45rem; font-size: 1rem; }
.career-principle p { margin: 0; font-size: 0.78rem; line-height: 1.68; }

.career-journey-section { padding-block: var(--section-spacing); background: var(--color-white); }
.career-journey-timeline { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); margin: 0; padding: 0; list-style: none; }
.career-journey-timeline::before { position: absolute; top: 29px; right: 8%; left: 8%; height: 1px; content: ""; background: var(--color-border); }
.career-journey-step { position: relative; z-index: 1; padding-inline: clamp(0.7rem, 1.6vw, 1.25rem); border-left: 1px solid var(--color-border); }
.career-journey-step:first-child { padding-left: 0; border-left: 0; }
.career-journey-step > div { display: flex; height: 58px; align-items: center; justify-content: space-between; margin-bottom: 1.4rem; padding-inline: 0.7rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.career-journey-step > div span { color: #8b95a1; font-size: 0.62rem; font-weight: 700; }
.career-journey-step > div i { color: var(--color-accent); }
.career-journey-step h3 { min-height: 42px; margin-bottom: 0.6rem; font-size: 0.98rem; }
.career-journey-step p { margin: 0; font-size: 0.75rem; line-height: 1.68; }

.career-openings-section { padding-block: var(--section-spacing); scroll-margin-top: var(--header-height); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.career-empty-state { display: grid; grid-template-columns: 64px 1fr auto; gap: clamp(1.25rem, 3vw, 2rem); align-items: center; padding: clamp(1.6rem, 3.5vw, 2.5rem); background: var(--color-white); border: 1px solid var(--color-border); border-left: 3px solid var(--color-accent); }
.career-empty-state > span { display: grid; width: 60px; height: 60px; place-items: center; color: var(--color-accent); background: var(--color-accent-soft); border-radius: var(--radius-sm); font-size: 1.2rem; }
.career-empty-state h3 { margin-bottom: 0.45rem; font-size: 1.15rem; }
.career-empty-state p { max-width: 720px; margin: 0; font-size: 0.84rem; line-height: 1.7; }

.career-application-section { padding-block: var(--section-spacing); scroll-margin-top: var(--header-height); background: var(--color-white); }
.career-application-intro { max-width: 520px; padding-right: clamp(0rem, 3vw, 2rem); }
.career-application-intro > p { font-size: 0.9rem; line-height: 1.76; }
.career-application-note { display: grid; grid-template-columns: 24px 1fr; gap: 0.75rem; margin-top: 1.5rem; padding: 1rem; background: var(--color-bg-soft); border-left: 2px solid var(--color-accent); color: #66717d; font-size: 0.72rem; line-height: 1.6; }
.career-application-note i { color: var(--color-accent); }
.career-form-panel { padding: clamp(1.5rem, 3.5vw, 2.5rem); background: var(--color-bg-soft); border: 1px solid var(--color-border); }
.career-application-form label { display: block; margin-bottom: 0.5rem; color: var(--color-primary); font-size: 0.75rem; font-weight: 700; }
.career-application-form label > span { color: var(--color-accent); }
.career-application-form label small { margin-left: 0.35rem; color: #8994a0; font-size: 0.62rem; font-weight: 500; }
.career-application-form .form-control, .career-application-form .form-select { min-height: var(--control-height); padding: 0.72rem 0.85rem; color: var(--color-primary); background-color: var(--color-white); border: 1px solid var(--color-border-strong); border-radius: var(--radius-sm); font-size: 0.84rem; box-shadow: none; }
.career-application-form textarea.form-control { min-height: 130px; resize: vertical; }
.career-application-form input[type="file"] { max-width: 100%; overflow: hidden; }
.career-application-form .form-control:focus, .career-application-form .form-select:focus { border-color: var(--color-accent); box-shadow: 0 0 0 3px rgba(255, 106, 0, 0.13); }
.career-application-form .form-control:focus-visible, .career-application-form .form-select:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.career-application-form.was-validated .form-control:invalid, .career-application-form.was-validated .form-select:invalid { border-color: #b42318; }
.career-application-form .invalid-feedback { color: #9f1c13; font-size: 0.68rem; }
.career-application-form .form-text { color: #737f8b; font-size: 0.67rem; }
.career-form-submit { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 0.5rem; }
.career-form-submit p { margin: 0; color: #78838e; font-size: 0.67rem; }
.career-form-submit p span { color: var(--color-accent); }
.career-form-status { margin-top: 1.25rem; padding: 1rem; color: var(--color-primary); background: var(--color-accent-soft); border: 1px solid #ffd7b8; border-left: 3px solid var(--color-accent); font-size: 0.78rem; line-height: 1.6; }
.career-form-status:focus { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.careers-final-cta { border-top: 1px solid var(--color-border); }

/* Contact page */
.contact-hero-section { position: relative; min-height: 660px; display: flex; align-items: center; padding-block: var(--section-space-lg); overflow: hidden; background: linear-gradient(120deg, #f5f7f9 0%, #fff 72%); border-bottom: 1px solid var(--color-border); }
.contact-hero-pattern { position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(13, 27, 42, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(13, 27, 42, 0.035) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to right, transparent, #000 55%); }
.contact-hero-content { max-width: 780px; padding-right: clamp(0rem, 4vw, 3rem); }
.contact-hero-title { max-width: 760px; margin-bottom: 1.4rem; font-size: clamp(2.65rem, 4.7vw, 4.1rem); line-height: 1.04; letter-spacing: -0.05em; }
.contact-hero-description { max-width: 670px; margin-bottom: 1.5rem; font-size: clamp(1rem, 1.35vw, 1.15rem); line-height: 1.75; }
.contact-hero-support { margin: 0; color: #66717d; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.04em; }
.contact-hero-support span { margin-inline: 0.35rem; color: var(--color-accent); }
.contact-routing-visual { position: relative; display: grid; min-height: 450px; place-content: center; justify-items: center; padding: 2rem; background: rgba(255, 255, 255, 0.9); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: 0 24px 58px rgba(13, 27, 42, 0.08); }
.contact-routing-visual::before { position: absolute; top: -1px; right: 14%; width: 72px; height: 3px; content: ""; background: var(--color-accent); }
.contact-routing-visual > i { padding-block: 0.5rem; color: var(--color-accent); }
.contact-route-node { display: grid; width: min(100%, 290px); gap: 0.2rem; padding: 0.8rem 1rem; background: var(--color-white); border: 1px solid var(--color-border); text-align: center; }
.contact-route-node small { color: #8994a0; font-size: 0.55rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.contact-route-node strong { color: var(--color-primary); font-size: 0.8rem; }
.contact-route-options { display: grid; grid-template-columns: repeat(3, 1fr); width: min(100%, 370px); gap: 0.45rem; padding: 1rem; background: #fff8f2; border: 1px solid #ffd9bc; }
.contact-route-options span { display: grid; min-height: 64px; place-items: center; gap: 0.25rem; padding: 0.45rem; color: var(--color-primary); background: var(--color-white); border: 1px solid var(--color-border); font-size: 0.61rem; font-weight: 700; text-align: center; }
.contact-route-options i { color: var(--color-accent); }
.contact-route-result { color: var(--color-white); background: var(--color-primary); border-left: 3px solid var(--color-accent); }
.contact-route-result small { color: #a4afbc; }
.contact-route-result strong { color: var(--color-white); }

.contact-intents-section { padding-block: var(--section-spacing); background: var(--color-white); }
.contact-intents-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.contact-intent { display: grid; grid-template-columns: 26px 42px 1fr; gap: 0.85rem; align-items: start; padding: clamp(1.3rem, 2.7vw, 1.8rem); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.contact-intent > span { padding-top: 0.65rem; color: #8d97a3; font-size: 0.6rem; font-weight: 700; }
.contact-intent > i { display: grid; width: 40px; height: 40px; place-items: center; color: var(--color-accent); background: var(--color-accent-soft); border-radius: var(--radius-sm); }
.contact-intent h3 { margin-bottom: 0.4rem; font-size: 0.96rem; }
.contact-intent p { margin: 0; font-size: 0.77rem; line-height: 1.67; }

.contact-form-section { padding-block: var(--section-spacing); scroll-margin-top: var(--header-height); background: var(--color-bg-soft); border-block: 1px solid var(--color-border); }
.contact-form-intro { max-width: 900px; margin-bottom: clamp(2.5rem, 4vw, 3.5rem); }
.contact-form-shell { max-width: 1000px; margin-inline: auto; padding: clamp(1.6rem, 4vw, 3rem); background: var(--color-white); border: 1px solid var(--color-border); border-top: 3px solid var(--color-primary); box-shadow: 0 20px 48px rgba(13, 27, 42, 0.06); }
.contact-enquiry-form label, .contact-enquiry-form legend { display: block; margin-bottom: 0.5rem; color: var(--color-primary); font-size: 0.75rem; font-weight: 700; }
.contact-enquiry-form label > span, .contact-consent label span { color: var(--color-accent); }
.contact-enquiry-form label small, .contact-enquiry-form legend small { margin-left: 0.35rem; color: #8994a0; font-size: 0.62rem; font-weight: 500; }
.contact-enquiry-form .form-control, .contact-enquiry-form .form-select { min-height: var(--control-height); padding: 0.72rem 0.85rem; color: var(--color-primary); background-color: var(--color-white); border: 1px solid var(--color-border-strong); border-radius: var(--radius-sm); font-size: 0.84rem; box-shadow: none; }
.contact-enquiry-form textarea.form-control { min-height: 150px; resize: vertical; }
.contact-enquiry-form .form-control:focus, .contact-enquiry-form .form-select:focus, .contact-enquiry-form .form-check-input:focus { border-color: var(--color-accent); box-shadow: 0 0 0 3px rgba(255, 106, 0, 0.13); }
.contact-enquiry-form .form-control:focus-visible, .contact-enquiry-form .form-select:focus-visible, .contact-enquiry-form .form-check-input:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.contact-enquiry-form.was-validated .form-control:invalid, .contact-enquiry-form.was-validated .form-select:invalid, .contact-enquiry-form.was-validated .form-check-input:invalid { border-color: #b42318; }
.contact-enquiry-form .invalid-feedback { color: #9f1c13; font-size: 0.68rem; }
.contact-enquiry-form .form-text { color: #737f8b; font-size: 0.67rem; }
.contact-preference { margin: 0; padding: 0; border: 0; }
.contact-radio-options { display: flex; flex-wrap: wrap; gap: 0.7rem; }
.contact-radio-options .form-check { min-width: 110px; margin: 0; padding: 0; }
.contact-radio-options .form-check-input { position: absolute; opacity: 0; }
.contact-radio-options .form-check-label { display: flex; min-height: 46px; align-items: center; justify-content: center; margin: 0; padding: 0.65rem 1rem; background: var(--color-white); border: 1px solid var(--color-border-strong); border-radius: var(--radius-sm); cursor: pointer; }
.contact-radio-options .form-check-input:checked + .form-check-label { background: var(--color-accent-soft); border-color: var(--color-accent); }
.contact-radio-options .form-check-input:checked + .form-check-label::before { margin-right: 0.4rem; content: "✓"; color: var(--color-accent); font-weight: 700; }
.contact-radio-options .form-check-input:focus-visible + .form-check-label { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.contact-consent { display: grid; grid-template-columns: 22px 1fr; gap: 0.65rem; align-items: start; margin: 0; padding: 1rem; background: var(--color-bg-soft); border: 1px solid var(--color-border); }
.contact-consent .form-check-input { position: static; width: 18px; height: 18px; margin: 0.05rem 0 0; }
.contact-consent .form-check-input:checked { background-color: var(--color-accent); border-color: var(--color-accent); }
.contact-consent .form-check-label { margin: 0; font-size: 0.72rem; font-weight: 600; line-height: 1.6; }
.contact-consent .invalid-feedback { grid-column: 2; }
.contact-form-submit { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 0.5rem; }
.contact-form-submit p { margin: 0; color: #78838e; font-size: 0.67rem; }
.contact-form-submit p span { color: var(--color-accent); }
.contact-form-status { margin-top: 1.25rem; padding: 1rem; color: var(--color-primary); background: var(--color-accent-soft); border: 1px solid #ffd7b8; border-left: 3px solid var(--color-accent); font-size: 0.78rem; line-height: 1.6; }
.contact-form-status:focus { outline: 2px solid var(--color-primary); outline-offset: 2px; }

.contact-next-section { padding-block: var(--section-spacing); background: var(--color-white); }
.contact-next-process { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; list-style: none; }
.contact-next-process::before { position: absolute; top: 29px; right: 13%; left: 13%; height: 1px; content: ""; background: var(--color-border); }
.contact-next-step { position: relative; z-index: 1; padding-inline: clamp(1rem, 2vw, 1.5rem); border-left: 1px solid var(--color-border); }
.contact-next-step:first-child { padding-left: 0; border-left: 0; }
.contact-next-step > div { display: flex; height: 58px; align-items: center; justify-content: space-between; margin-bottom: 1.4rem; padding-inline: 0.7rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.contact-next-step > div span { color: #8b95a1; font-size: 0.62rem; font-weight: 700; }
.contact-next-step > div i { color: var(--color-accent); }
.contact-next-step h3 { margin-bottom: 0.55rem; font-size: 0.98rem; }
.contact-next-step p { margin: 0; font-size: 0.76rem; line-height: 1.68; }

.contact-details-section { padding-block: var(--section-spacing); color: var(--dark-muted); background: var(--color-primary); }
.contact-details-section .section-title { color: var(--color-white); }
.contact-details-content { max-width: 620px; }
.contact-details-content p { max-width: 560px; color: var(--dark-muted); font-size: 0.88rem; line-height: 1.75; }
.contact-details-placeholder { display: grid; grid-template-columns: 54px 1fr; gap: 1rem; align-items: center; padding: clamp(1.4rem, 3vw, 2rem); background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.13); border-left: 3px solid var(--color-accent); }
.contact-details-placeholder > i { display: grid; width: 50px; height: 50px; place-items: center; color: var(--color-accent); border: 1px solid rgba(255, 106, 0, 0.4); border-radius: var(--radius-sm); }
.contact-details-placeholder h3 { margin-bottom: 0.4rem; color: var(--color-white); font-size: 1rem; }
.contact-details-placeholder p { margin: 0; color: var(--dark-muted); font-size: 0.78rem; }

.contact-shortcuts-section { padding-block: var(--section-spacing); background: var(--color-bg-soft); }
.contact-service-links { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.contact-service-links a { display: grid; grid-template-columns: 36px 1fr 20px; min-height: 74px; gap: 0.8rem; align-items: center; padding: 1rem 1.2rem; color: var(--color-primary); background: var(--color-white); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); font-size: 0.8rem; font-weight: 700; text-decoration: none; transition: color var(--transition-speed) ease, background-color var(--transition-speed) ease; }
.contact-service-links a:hover, .contact-service-links a:focus { color: var(--color-accent); background: #fffdfb; }
.contact-service-links a > span { color: #8d97a3; font-size: 0.6rem; }
.contact-service-links a > i { color: var(--color-accent); transition: transform var(--transition-speed) ease; }
.contact-service-links a:hover > i, .contact-service-links a:focus > i { transform: translateX(4px); }

/* Shared surface, typography and process refinements */
main h1, main h2, main h3, main h4, .footer-link { overflow-wrap: break-word; }
main p, main li { text-wrap: pretty; }
.service-detail-intro, .services-page-intro { max-width: 880px; margin-bottom: var(--section-space-sm); }
.service-detail-description, .about-hero-description, .services-hero-description, .careers-hero-description, .contact-hero-description { max-width: 680px; }
.related-services-grid > *, .career-domain-groups > *, .career-principles-grid > *, .contact-intents-grid > *, .data-capabilities-grid > *, .talent-focus-grid > *, .hr-focus-grid > * { min-width: 0; }
.capability-card, .service-overview-card, .related-service-item { box-shadow: var(--shadow-sm); }
.career-form-panel, .contact-form-shell, .career-empty-state, .about-hero-visual, .services-hero-ecosystem, .career-capability-visual, .contact-routing-visual { box-shadow: var(--surface-shadow); }

/* Surface depth: panels feel distinct while editorial lists stay visually connected. */
.service-pillar-group, .service-expanded-block, .who-capability-map, .about-model-equation, .connected-practices-visual, .services-bottom-cta { box-shadow: var(--shadow-sm); }
.service-editorial-list, .data-capabilities-grid, .talent-focus-grid, .hr-focus-grid, .audit-review-grid, .career-values-list, .career-principles-grid, .contact-intents-grid, .consulting-engagement-list, .contact-service-links { box-shadow: var(--shadow-sm); }

.service-pillar-links a, .contact-service-links a { transition: color var(--transition-speed) ease, background-color var(--transition-speed) ease, border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease, transform var(--transition-speed) ease; }
.service-pillar-links a:hover, .service-pillar-links a:focus-visible, .contact-service-links a:hover, .contact-service-links a:focus-visible { border-color: var(--color-border-strong); box-shadow: var(--shadow-sm); transform: translateY(-2px); }

.capability-icon, .service-card-icon { transition: color var(--transition-speed) ease, background-color var(--transition-speed) ease, border-color var(--transition-speed) ease, transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease; }
.capability-card:hover .capability-icon, .service-overview-card:hover .service-card-icon { color: var(--color-white); background: var(--color-accent); border-color: var(--color-accent); box-shadow: 0 8px 18px rgba(201, 79, 0, 0.2); transform: translateY(-3px) rotate(-3deg); }
.capability-card:hover .pillar-link i, .service-overview-card:hover .service-card-link i { transform: translateX(4px); }

.why-hantech-visual, .principles-grid, .it-needs-list, .software-solutions-grid, .bi-focus-grid, .ai-use-cases-grid, .responsible-ai-list, .augmentation-models, .legal-advisory-grid, .consulting-needs-list, .career-domain-groups { border-color: rgba(255, 255, 255, 0.18); }
.principle-item, .it-needs-list li, .software-solution-item, .bi-focus-item, .ai-use-case, .responsible-ai-item, .augmentation-model, .legal-advisory-item, .consulting-needs-list li, .career-domain-group { background: rgba(255, 255, 255, 0.025); border-color: rgba(255, 255, 255, 0.18); }

.it-approach-step, .software-delivery-step, .data-approach-step, .ai-approach-step, .talent-process-step, .consulting-approach-step, .career-journey-step, .contact-next-step { min-width: 0; }
.it-approach-step > div, .software-delivery-step > div, .data-approach-step > div, .ai-approach-step > div, .talent-process-step > div, .consulting-approach-step > div, .career-journey-step > div, .contact-next-step > div { min-height: 56px; }
.it-approach-step h3, .software-delivery-step h3, .data-approach-step h3, .ai-approach-step h3, .talent-process-step h3, .consulting-approach-step h3, .career-journey-step h3, .contact-next-step h3 { font-size: 0.98rem; line-height: 1.35; }
.it-approach-step p, .software-delivery-step p, .data-approach-step p, .ai-approach-step p, .talent-process-step p, .consulting-approach-step p, .career-journey-step p, .contact-next-step p { font-size: 0.76rem; line-height: 1.68; }

.bi-focus-section, .software-solutions-section, .ai-use-cases-section, .responsible-ai-section, .workforce-augmentation-section, .legal-advisory-section, .career-domains-section, .consulting-needs-section, .contact-details-section, .connected-services-section, .it-needs-section, .why-hantech-section, .about-principles-section { --color-accent: var(--color-accent-bright); color: var(--dark-muted); background: var(--color-primary); }
.bi-focus-section p, .software-solutions-section p, .ai-use-cases-section p, .responsible-ai-section p, .workforce-augmentation-section p, .legal-advisory-section p, .career-domains-section p, .consulting-needs-section p, .contact-details-section p, .connected-services-section p, .it-needs-section p { color: var(--dark-muted); }

/* Dark internal hero system */
:is(.about-hero-section, .services-hero-section, .careers-hero-section, .contact-hero-section, .service-detail-hero) {
  --color-accent: var(--color-accent-bright);
  --internal-hero-panel: rgba(255, 255, 255, 0.05);
  --internal-hero-card: rgba(255, 255, 255, 0.075);
  --internal-hero-border: rgba(255, 255, 255, 0.16);
  --internal-hero-muted: #b8c4d1;
  color: var(--internal-hero-muted);
  background: radial-gradient(circle at 86% 34%, rgba(255, 138, 56, 0.105), transparent 27%), linear-gradient(118deg, #091725 0%, var(--color-primary) 55%, #152c46 100%);
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
:is(.about-hero-section, .services-hero-section, .careers-hero-section, .contact-hero-section) { min-height: 600px; }
.service-detail-hero { min-height: 620px; }
:is(.about-hero-section, .services-hero-section, .careers-hero-section, .contact-hero-section, .service-detail-hero)::after {
  position: absolute;
  z-index: 0;
  right: -10%;
  bottom: -48%;
  width: min(44vw, 620px);
  aspect-ratio: 1;
  content: "";
  pointer-events: none;
  border: 1px solid rgba(255, 138, 56, 0.11);
  border-radius: 50%;
}
:is(.about-hero-section, .services-hero-section, .careers-hero-section, .contact-hero-section, .service-detail-hero) > .container { z-index: 1; }
:is(.about-hero-pattern, .services-hero-pattern, .careers-hero-pattern, .contact-hero-pattern, .service-detail-pattern) {
  background-image: linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-position: 0 0;
  background-size: 48px 48px;
  opacity: 0.7;
  -webkit-mask-image: linear-gradient(90deg, transparent 18%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 18%, #000 100%);
}
:is(.about-hero-title, .services-hero-title, .careers-hero-title, .contact-hero-title, .service-detail-title) { color: var(--color-white); }
:is(.about-hero-description, .services-hero-description, .careers-hero-description, .contact-hero-description, .service-detail-description) { color: var(--internal-hero-muted); }
:is(.about-hero-section, .services-hero-section, .careers-hero-section, .service-detail-hero) .btn-hantech-outline { color: var(--color-white); border-color: rgba(255, 255, 255, 0.68); }
:is(.about-hero-section, .services-hero-section, .careers-hero-section, .service-detail-hero) .btn-hantech-outline:hover { color: var(--color-primary); background: var(--color-white); border-color: var(--color-white); }
.contact-hero-support, .service-detail-support { color: #aab7c5; }
.service-breadcrumb li { color: #9eacbb; }
.service-breadcrumb li + li::before { color: #6f8091; }
.service-breadcrumb a { color: #d8e1ea; }

:is(.about-hero-visual, .services-hero-ecosystem, .career-capability-visual, .contact-routing-visual, .it-hero-flow, .software-product-visual, .data-insight-visual, .ai-value-visual, .talent-hero-visual, .consulting-framework-visual) {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.072), rgba(255, 255, 255, 0.025));
  border-color: var(--internal-hero-border);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

:is(.about-hero-pillar, .ecosystem-pillar, .career-growth-path > span, .contact-route-node, .it-flow-node, .product-window, .product-layer, .data-source-stack > span, .data-insight-panel, .ai-flow-stage, .ai-capability-layer span, .talent-flow-node, .talent-model-paths span, .consulting-framework-inputs span) {
  background: var(--internal-hero-card);
  border-color: var(--internal-hero-border);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14);
}
:is(.about-hero-pillar strong, .ecosystem-pillar-title span, .career-growth-path > span strong, .contact-route-node strong, .it-flow-node strong, .product-layer span, .data-source-stack > span, .ai-flow-stage strong, .ai-capability-layer span, .talent-flow-node strong, .talent-model-paths span, .consulting-framework-inputs span) { color: var(--color-white); }
:is(.about-hero-pillar > span, .career-growth-path small, .contact-route-node small, .it-flow-node > span, .product-window-bar small, .data-source-stack small, .data-insight-panel > small, .ai-flow-stage small, .ai-capability-layer > small, .talent-flow-node small) { color: #98a8b8; }

.about-hero-axis, .about-hero-pillar::after, .services-hero-ecosystem::before { background: rgba(255, 255, 255, 0.2); }
.about-hero-pillar i, .career-growth-path > span i { color: var(--color-accent); background: rgba(255, 138, 56, 0.11); }
.about-hero-visual-label { color: #98a8b8; }
.ecosystem-pillar-title { border-bottom-color: var(--internal-hero-border); }
.ecosystem-pillar li { color: #aebbc8; }

:is(.contact-route-options, .ai-capability-layer, .talent-model-paths) { background: rgba(255, 138, 56, 0.075); border-color: rgba(255, 138, 56, 0.3); }
:is(.ecosystem-core, .career-growth-result, .contact-route-result, .it-flow-context, .it-flow-result, .data-decision-output, .ai-flow-outcome, .talent-flow-result, .consulting-framework-visual > strong) {
  color: var(--color-white);
  background: rgba(255, 138, 56, 0.11);
  border: 1px solid rgba(255, 138, 56, 0.34);
  border-left: 3px solid var(--color-accent);
}
:is(.ecosystem-core span, .career-growth-result, .contact-route-result strong, .it-flow-context strong, .it-flow-result strong, .data-decision-output strong, .ai-flow-outcome strong, .talent-flow-result strong, .consulting-framework-visual > strong) { color: var(--color-white); }

.product-window-bar, .product-user-path { border-color: var(--internal-hero-border); }
.product-interface, .insight-chart { background: rgba(3, 12, 22, 0.34); border-color: var(--internal-hero-border); }
.product-nav { background: repeating-linear-gradient(to bottom, rgba(255, 255, 255, 0.09) 0 13px, transparent 13px 25px); border-color: var(--internal-hero-border); }
.product-content span { background: rgba(255, 255, 255, 0.09); border-color: var(--internal-hero-border); }
.product-user-path { color: #b8c4d1; }
.data-pipeline span { color: var(--color-white); background: rgba(255, 138, 56, 0.09); border-color: rgba(255, 138, 56, 0.3); }
.insight-chart { border-bottom-color: rgba(255, 255, 255, 0.19); }
.insight-chart span { background: #708297; }
.insight-lines span { background: rgba(255, 255, 255, 0.12); }
.consulting-framework-inputs b { color: #8fa0b1; }

/* Global footer */
.site-footer { --color-accent: var(--color-accent-bright); color: var(--dark-muted); background: var(--color-primary); }
.footer-main { padding-block: var(--section-space-lg); }
.site-footer .footer-brand { width: min(100%, 210px); max-height: 48px; margin-bottom: 1.35rem; object-fit: contain; object-position: left center; filter: brightness(0) invert(1); }
.footer-description { max-width: 370px; margin-bottom: 1.25rem; color: var(--dark-muted); font-size: 0.86rem; line-height: 1.75; }
.footer-tagline { display: inline-flex; align-items: center; gap: 0.65rem; margin: 0; color: var(--color-white); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.07em; }
.footer-tagline::before { width: 24px; height: 2px; content: ""; background: var(--color-accent); }
.footer-column { height: 100%; }
.footer-heading { margin-bottom: 1.15rem; color: var(--color-white); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; }
.footer-links { display: grid; gap: 0.7rem; margin: 0; padding: 0; list-style: none; }
.footer-link { display: inline-flex; width: fit-content; align-items: center; gap: 0.5rem; color: var(--dark-muted); font-size: 0.8rem; font-weight: 500; line-height: 1.45; text-decoration: none; transition: color var(--transition-speed) ease; }
.footer-link:hover, .footer-link:focus { color: var(--color-white); }
.footer-link i { color: var(--color-accent); font-size: 0.88rem; }
.footer-social { display: inline-grid; width: 40px; height: 40px; place-items: center; color: #c5ced8; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: var(--radius-sm); text-decoration: none; transition: color var(--transition-speed) ease, border-color var(--transition-speed) ease, background-color var(--transition-speed) ease; }
.footer-social:hover, .footer-social:focus { color: var(--color-white); background: rgba(255, 106, 0, 0.1); border-color: rgba(255, 106, 0, 0.5); }
.footer-bottom { padding-block: 1.3rem; border-top: 1px solid rgba(255, 255, 255, 0.12); }
.footer-bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.footer-copyright { margin: 0; color: #929eac; font-size: 0.73rem; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 1.25rem; }
.footer-legal .footer-link { color: #929eac; font-size: 0.73rem; }
.footer-legal .footer-link:hover, .footer-legal .footer-link:focus { color: var(--color-white); }
/* Reveal animations */
.fade-up, .fade-in { opacity: 1; }
.reveal-enabled .fade-up, .reveal-enabled .fade-in { opacity: 0; transition: opacity 500ms ease, transform 500ms ease; }
.reveal-enabled .fade-up { transform: translateY(18px); }
.fade-in { transform: none; }
.reveal-enabled .fade-up.is-visible, .reveal-enabled .fade-in.is-visible { opacity: 1; transform: none; }
.reveal-enabled body[data-page="home"] .fade-up, .reveal-enabled body[data-page="home"] .fade-in { transition-duration: 620ms; transition-timing-function: cubic-bezier(0.2, 0.7, 0.2, 1); }
.reveal-enabled body[data-page="home"] .fade-up { transform: translateY(22px); }
.reveal-enabled body[data-page="home"] .fade-up.is-visible { transform: none; }
body[data-page="home"] .section-label::before { transform: scaleX(1); transform-origin: left center; transition: transform 600ms 120ms cubic-bezier(0.2, 0.7, 0.2, 1); }
.reveal-enabled body[data-page="home"] .fade-up .section-label::before, .reveal-enabled body[data-page="home"] .section-label.fade-up::before { transform: scaleX(0); }
.reveal-enabled body[data-page="home"] .fade-up.is-visible .section-label::before, .reveal-enabled body[data-page="home"] .section-label.fade-up.is-visible::before { transform: scaleX(1); }

/* Responsive refinements */
@media (max-width: 991.98px) {
  :root { --header-height: 74px; }
  .editorial-image-layout, .editorial-image-reverse { grid-template-columns: 1fr; }
  .editorial-image-reverse .editorial-image-frame, .editorial-image-reverse .editorial-image-copy { grid-column: 1; }
  .editorial-image-frame { min-height: clamp(340px, 60vw, 500px); }
  .editorial-image-copy, .editorial-image-reverse .editorial-image-copy { grid-row: auto; width: calc(100% - 2rem); margin: -3rem auto 0; }
  .site-header, .site-header.header-scrolled, .site-header .site-navbar, .site-header.header-scrolled .site-navbar { min-height: 72px; }
  .site-header .site-navbar, .site-header.header-scrolled .site-navbar { padding-block: 0.6rem; }
  .site-header .brand-logo, .site-header.header-scrolled .brand-logo { max-width: 174px; max-height: 40px; }
  .site-header .navbar-collapse { max-height: calc(100vh - 88px); margin-top: 0.65rem; padding: 0.8rem 1rem 1.1rem; overflow-y: auto; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: 0 18px 42px rgba(13, 27, 42, 0.1); }
  .main-nav { align-items: stretch; gap: 0; }
  .site-header .nav-link-custom { width: 100%; min-height: 48px; padding: 0.75rem 0.5rem !important; }
  .site-header .nav-link-custom::after { top: 50%; right: auto; bottom: auto; left: 0; width: 3px; height: 20px; transform: translateY(-50%) scaleY(0.5); }
  .site-header .nav-link-custom.active { padding-left: 0.85rem !important; }
  .site-header .nav-link-custom.active::after { transform: translateY(-50%) scaleY(1); }
  .services-dropdown > .d-flex { width: 100%; }
  .services-dropdown-toggle { width: 48px; flex: 0 0 48px; margin-left: 0; }
  .services-dropdown .dropdown-menu { position: static !important; min-width: 0; margin: 0 0 0.55rem 0.5rem !important; padding: 0.35rem 0 0.35rem 0.75rem; border: 0; border-left: 1px solid var(--color-border); border-radius: 0; box-shadow: none; transform: none !important; }
  .services-dropdown .dropdown-item { min-height: 44px; padding-inline: 0.75rem; }
  .header-cta { width: 100%; min-height: 46px; margin: 0.65rem 0 0; }
  .hero-section { min-height: auto; padding-block: 4.75rem; }
  .hero-content { padding-right: 0; }
  .hero-title { font-size: clamp(3rem, 6.3vw, 3.65rem); }
  .hero-visual { width: min(100%, 450px); }
  .hero-node { width: 154px; padding: 0.75rem; }
  .hero-node small { display: none; }
  .hero-core { width: 124px; height: 124px; }
  .hero-core img { width: 64px; height: 64px; }
  .capability-card { min-height: 510px; }
  .capability-description { min-height: auto; }
  .service-card-title { min-height: 54px; }
  .services-bottom-cta { align-items: flex-start; flex-direction: column; }
  .why-hantech-content { max-width: 760px; padding-right: 0; }
  .why-hantech-visual { max-width: 680px; }
  .differentiators-list { margin-top: 0.75rem; padding-left: 0; }
  .about-hero-section { min-height: auto; }
  .about-hero-content { max-width: 800px; padding-right: 0; }
  .about-hero-visual { max-width: 680px; min-height: 420px; margin-top: 1rem; }
  .about-who-content { max-width: 760px; padding-right: 0; }
  .who-capability-map { max-width: 720px; margin-top: 1rem; }
  .capability-model-row, .capability-model-row:nth-child(1), .capability-model-row:nth-child(2), .capability-model-row:nth-child(3) { width: 100%; margin-left: 0; grid-template-columns: minmax(130px, 0.65fr) 1.35fr; }
  .capability-model-row ul { grid-column: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-process { grid-template-columns: repeat(2, 1fr); gap: 2rem 0; }
  .about-process::before { display: none; }
  .about-process-step:nth-child(3) { padding-left: 0; border-left: 0; }
  .about-model-equation { grid-template-columns: 1fr auto 1fr auto 1fr; }
  .about-model-arrow { grid-column: 1 / -1; transform: rotate(90deg); }
  .about-model-result { grid-column: 1 / -1; min-height: 90px; text-align: center; }
  .about-model-result strong { max-width: none; }
  .services-hero-section { min-height: auto; }
  .services-hero-content { max-width: 820px; padding-right: 0; }
  .services-hero-ecosystem { max-width: 680px; margin-top: 1rem; }
  .service-editorial-row { grid-template-columns: 1fr; }
  .service-editorial-row.is-reversed .service-editorial-heading, .service-editorial-row.is-reversed .service-vertical-details { grid-column: auto; grid-row: auto; }
  .service-editorial-heading, .service-editorial-row.is-reversed .service-editorial-heading { border-right: 0; border-left: 0; border-bottom: 1px solid var(--color-border); }
  .engagement-models { grid-template-columns: repeat(2, 1fr); }
  .engagement-item:nth-child(3) { border-left: 0; border-top: 1px solid var(--color-border); }
  .engagement-item:nth-child(4) { border-top: 1px solid var(--color-border); }
  .connected-services-visual { max-width: 720px; margin-top: 1rem; }
  .service-detail-hero { min-height: auto; }
  .service-detail-hero-content { max-width: 820px; padding-right: 0; }
  .it-hero-flow { max-width: 680px; margin-top: 1rem; }
  .it-outcome-path { max-width: 620px; margin: 1rem 0 0; }
  .it-approach-timeline { grid-template-columns: repeat(2, 1fr); gap: 2rem 0; }
  .it-approach-timeline::before { display: none; }
  .it-approach-step:nth-child(odd) { padding-left: 0; border-left: 0; }
  .it-approach-step:last-child { grid-column: 1 / -1; }
  .software-product-visual { max-width: 680px; margin-top: 1rem; }
  .software-delivery-flow { max-width: 620px; margin: 1rem 0 0; }
  .software-solutions-grid { grid-template-columns: repeat(2, 1fr); }
  .software-delivery-timeline { grid-template-columns: repeat(3, 1fr); gap: 2rem 0; }
  .software-delivery-timeline::before { display: none; }
  .software-delivery-step:nth-child(4) { padding-left: 0; border-left: 0; }
  .software-product-intro { max-width: 760px; padding-right: 0; }
  .software-product-principles { margin-top: 1rem; }
  .data-insight-visual { max-width: 680px; margin-top: 1rem; }
  .data-journey-flow { max-width: 620px; margin: 1rem 0 0; }
  .power-bi-intro { max-width: 760px; padding-right: 0; }
  .power-bi-list { margin-top: 1rem; }
  .data-ecosystem-map { gap: 0.65rem; }
  .data-approach-timeline { grid-template-columns: repeat(3, 1fr); gap: 2rem 0; }
  .data-approach-timeline::before { display: none; }
  .data-approach-step:nth-child(4) { padding-left: 0; border-left: 0; }
  .ai-value-visual { max-width: 680px; margin-top: 1rem; }
  .ai-journey-flow { max-width: 620px; margin: 1rem 0 0; }
  .ai-use-cases-grid { grid-template-columns: repeat(2, 1fr); }
  .gen-ai-intro { max-width: 760px; padding-right: 0; }
  .gen-ai-list { margin-top: 1rem; }
  .automation-flow { grid-template-columns: 1fr auto 1fr auto 1fr; }
  .automation-flow > *:nth-child(n+6) { margin-top: 0.2rem; }
  .ai-architecture { grid-template-columns: 1fr auto minmax(170px, 0.35fr); }
  .ai-architecture-inputs { grid-template-columns: repeat(2, 1fr); }
  .ai-architecture-inputs b { display: none; }
  .ai-integration-grid { grid-template-columns: repeat(2, 1fr); }
  .responsible-ai-list { grid-template-columns: repeat(3, 1fr); }
  .responsible-ai-item { min-height: 190px; }
  .ai-approach-timeline { grid-template-columns: repeat(3, 1fr); gap: 2rem 0; }
  .ai-approach-timeline::before { display: none; }
  .ai-approach-step:nth-child(4) { padding-left: 0; border-left: 0; }
  .talent-hero-visual { max-width: 680px; margin-top: 1rem; }
  .talent-model-equation { max-width: 620px; margin: 1rem 0 0; }
  .talent-model-group { grid-template-columns: 1fr; }
  .talent-model-group:nth-child(2) { margin-inline: 0; }
  .talent-focus-grid { grid-template-columns: repeat(2, 1fr); }
  .non-it-talent-intro { max-width: 760px; padding-right: 0; }
  .professional-talent-list { margin-top: 1rem; }
  .augmentation-models { grid-template-columns: repeat(3, 1fr); }
  .augmentation-model { min-height: 220px; }
  .hiring-comparison { grid-template-columns: repeat(2, 1fr); }
  .talent-process-timeline { grid-template-columns: repeat(3, 1fr); gap: 2rem 0; }
  .talent-process-timeline::before { display: none; }
  .talent-process-step:nth-child(4) { padding-left: 0; border-left: 0; }
  .talent-connection-flow { grid-template-columns: 1fr auto minmax(160px, 0.3fr); }
  .consulting-framework-visual { max-width: 680px; margin-top: 1rem; }
  .consulting-overview-flow { max-width: 620px; margin: 1rem 0 0; }
  .consulting-practice-band { grid-template-columns: 1fr; }
  .consulting-practice-band:nth-child(even) { margin-inline: 0; }
  .hr-focus-grid { grid-template-columns: repeat(2, 1fr); }
  .business-consulting-intro { max-width: 760px; padding-right: 0; }
  .business-consulting-list { margin-top: 1rem; }
  .connected-practices-visual > div { grid-template-columns: repeat(4, 1fr); }
  .connected-practices-visual > div > i { display: none; }
  .consulting-approach-timeline { grid-template-columns: repeat(3, 1fr); gap: 2rem 0; }
  .consulting-approach-timeline::before { display: none; }
  .consulting-approach-step:nth-child(4) { padding-left: 0; border-left: 0; }
  .careers-hero-section { min-height: auto; }
  .careers-hero-content { max-width: 820px; padding-right: 0; }
  .career-capability-visual { max-width: 680px; margin-top: 1rem; }
  .career-domain-groups { grid-template-columns: repeat(2, 1fr); }
  .career-domain-group:last-child { grid-column: 1 / -1; }
  .career-principles-grid { grid-template-columns: repeat(2, 1fr); }
  .career-journey-timeline { grid-template-columns: repeat(2, 1fr); gap: 2rem 0; }
  .career-journey-timeline::before { display: none; }
  .career-journey-step:nth-child(3), .career-journey-step:nth-child(5) { padding-left: 0; border-left: 0; }
  .career-journey-step:last-child { grid-column: 1 / -1; }
  .career-application-intro { max-width: 760px; padding-right: 0; }
  .contact-hero-section { min-height: auto; }
  .contact-hero-content { max-width: 820px; padding-right: 0; }
  .contact-routing-visual { max-width: 680px; margin-top: 1rem; }
  .footer-main { padding-block: 4rem; }
}
@media (max-width: 575.98px) {
  :root { --section-space-xl: 4rem; --section-space-lg: 3.5rem; --section-space-md: 3rem; --section-space-sm: 2rem; }
  .editorial-image-section { padding-block: 3.5rem; }
  .editorial-image-frame { min-height: 270px; border-radius: var(--radius-sm); }
  .editorial-image-copy, .editorial-image-reverse .editorial-image-copy { width: calc(100% - 1.25rem); margin-top: -1.75rem; padding: 1.35rem; }
  .container { padding-inline: 1.25rem; }
  .row.g-5 { --bs-gutter-x: 2.5rem; }
  .site-header .brand-logo, .site-header.header-scrolled .brand-logo { max-width: 154px; max-height: 36px; }
  .btn-hantech-primary, .btn-hantech-outline, .btn-hantech-dark { width: 100%; }
  .hero-section { padding-block: 3.75rem 4.5rem; }
  .hero-title { font-size: clamp(2.65rem, 12vw, 3rem); }
  .hero-description { font-size: 1rem; }
  .hero-actions { display: grid; }
  .hero-visual { width: min(100%, 390px); margin: 2rem auto 0; }
  .hero-core { width: 112px; height: 112px; padding: 0.75rem; }
  .hero-core img { width: 58px; height: 58px; }
  .hero-core span { font-size: 0.55rem; }
  .hero-node { width: 142px; min-height: 64px; gap: 0.6rem; padding: 0.65rem; }
  .hero-node i { width: 30px; height: 30px; flex-basis: 30px; }
  .hero-node span { font-size: 0.76rem; }
  .hero-node-tech { top: 2%; }
  .hero-node-talent { right: -1%; }
  .hero-node-transform { bottom: 3%; left: 3%; }
  .hero-visual-index { display: none; }
  .capabilities-intro { margin-bottom: 2.5rem; }
  .capability-card { min-height: 0; padding: 1.6rem; }
  .capability-card::before { left: 1.6rem; }
  .capability-card-top { min-height: 58px; margin-bottom: 1.35rem; }
  .capability-description { margin-bottom: 1.2rem; }
  .capability-list { margin-bottom: 1.75rem; padding-top: 1.2rem; }
  .services-overview-intro { margin-bottom: 2.5rem; }
  .service-overview-card { padding: 1.6rem; }
  .service-card-title { min-height: 0; }
  .services-bottom-cta { padding: 1.4rem; }
  .services-bottom-actions { width: 100%; align-items: stretch; flex-direction: column; gap: 0.45rem; }
  .services-contact-link { justify-content: center; }
  .why-hantech-visual { padding: 1.35rem; }
  .impact-result { align-items: flex-start; flex-direction: column; gap: 0.3rem; }
  .differentiator-item { grid-template-columns: 40px 1fr; gap: 1rem; }
  .differentiator-icon { width: 38px; height: 38px; }
  .final-cta-actions { display: grid; }
  .final-cta-support { align-items: flex-start; text-align: left; }
  .final-cta-support > span { flex: 0 0 24px; margin-top: 0.6rem; }
  .final-cta-geometry::before { top: 5%; left: -35px; }
  .final-cta-geometry::after { right: -25px; bottom: 6%; }
  .about-hero-title { font-size: clamp(2.3rem, 10.5vw, 2.9rem); }
  .about-hero-actions { display: grid; }
  .about-hero-visual { min-height: 380px; padding: 2.5rem 1rem; }
  .about-hero-pillar { width: 87%; grid-template-columns: 26px 34px 1fr; margin-bottom: 1.65rem; padding-inline: 0.75rem; }
  .about-hero-pillar-talent { margin-left: 13%; }
  .about-hero-pillar-transform { margin-left: 4%; }
  .about-hero-visual-label { right: 0.8rem; }
  .who-capability-map { min-height: 405px; padding: 1.5rem; }
  .who-map-item { width: 86%; }
  .who-map-talent { margin-left: auto; }
  .who-map-transform { margin-left: 4%; }
  .who-map-result { right: 1rem; bottom: 1rem; }
  .capability-model-row, .capability-model-row:nth-child(1), .capability-model-row:nth-child(2), .capability-model-row:nth-child(3) { grid-template-columns: 1fr; gap: 1rem; padding: 1.5rem; }
  .capability-model-row ul { grid-column: auto; grid-template-columns: 1fr; padding-top: 1rem; border-top: 1px solid var(--color-border); }
  .about-process { grid-template-columns: 1fr; gap: 0; }
  .about-process::before { display: block; top: 28px; right: auto; bottom: 28px; left: 27px; width: 1px; height: auto; }
  .about-process-step, .about-process-step:first-child, .about-process-step:nth-child(3) { display: grid; grid-template-columns: 56px 1fr; column-gap: 1rem; padding: 0 0 1.8rem; border-left: 0; }
  .about-process-step:last-child { padding-bottom: 0; }
  .process-step-marker { grid-row: 1 / span 2; width: 56px; height: 56px; align-self: start; padding-inline: 0.55rem; }
  .about-process-step h3 { align-self: end; margin-bottom: 0.4rem; }
  .about-process-step p { grid-column: 2; }
  .principles-grid { grid-template-columns: 1fr; }
  .principle-item, .principle-item:nth-child(even), .principle-item:last-child { grid-column: auto; border-right: 0; }
  .about-model-equation { grid-template-columns: 1fr; gap: 0.7rem; }
  .about-model-operator { transform: none; }
  .about-model-arrow { grid-column: auto; transform: rotate(90deg); }
  .about-model-result { grid-column: auto; }
  .services-hero-title { font-size: clamp(2.3rem, 10.5vw, 2.9rem); }
  .services-hero-actions { display: grid; }
  .services-hero-ecosystem { min-height: 440px; padding: 1.5rem 1rem; }
  .ecosystem-pillar { width: 88%; }
  .ecosystem-talent { margin-left: 12%; }
  .ecosystem-transform { margin-left: 4%; }
  .ecosystem-core { right: 0.8rem; }
  .service-pillar-technology { grid-template-columns: 1fr; gap: 1.5rem; }
  .service-pillar-links { grid-template-columns: 1fr; }
  .service-pillar-heading { grid-template-columns: 24px 40px 1fr; }
  .service-editorial-heading, .service-vertical-details { padding: 1.5rem; }
  .service-detail-list { grid-template-columns: 1fr; }
  .service-expanded-block { padding: 1.5rem; }
  .service-expanded-intro { grid-template-columns: 1fr; gap: 1.25rem; }
  .service-expanded-intro > div:first-child { display: flex; align-items: center; gap: 0.75rem; }
  .service-expanded-intro .service-vertical-number { margin: 0; }
  .service-group { padding: 1.2rem; }
  .engagement-models { grid-template-columns: 1fr; }
  .engagement-item, .engagement-item:nth-child(3), .engagement-item:nth-child(4) { border-top: 1px solid var(--color-border); border-left: 0; }
  .engagement-item:first-child { border-top: 0; }
  .engagement-item > span { margin-bottom: 1.2rem; }
  .connected-services-visual { grid-template-columns: 1fr; }
  .connected-arrow { transform: rotate(90deg); }
  .connected-result { grid-column: auto; }
  .service-detail-hero { padding-top: 1rem; }
  .service-breadcrumb { margin-bottom: 3rem; }
  .service-breadcrumb ol { align-items: flex-start; }
  .service-detail-title { font-size: clamp(2.3rem, 10.5vw, 2.9rem); }
  .service-detail-actions { display: grid; }
  .service-detail-support { line-height: 1.8; }
  .it-hero-flow { min-height: 520px; padding: 1.5rem 1rem; }
  .it-flow-context, .it-flow-result { width: 76%; }
  .it-flow-track { grid-template-columns: 1fr; justify-items: stretch; margin-block: 2rem; }
  .it-flow-node { min-height: 72px; grid-template-columns: 24px 30px 1fr; justify-items: start; padding-inline: 0.9rem; }
  .it-flow-arrow { transform: rotate(90deg); justify-self: center; }
  .it-capabilities-list { grid-template-columns: 1fr; }
  .it-capability-wide { grid-column: auto; grid-template-columns: 54px 1fr; }
  .it-capability-wide > div { grid-row: 1 / span 2; }
  .it-capability-wide h3 { margin-bottom: 0.65rem; }
  .it-capability-wide p { grid-column: 2; }
  .it-needs-list { grid-template-columns: 1fr; }
  .it-needs-list li { min-height: 82px; }
  .it-approach-timeline { grid-template-columns: 1fr; gap: 0; }
  .it-approach-timeline::before { display: block; top: 29px; right: auto; bottom: 29px; left: 28px; width: 1px; height: auto; }
  .it-approach-step, .it-approach-step:first-child, .it-approach-step:nth-child(odd), .it-approach-step:last-child { display: grid; grid-column: auto; grid-template-columns: 58px 1fr; column-gap: 1rem; padding: 0 0 1.8rem; border-left: 0; }
  .it-approach-step:last-child { padding-bottom: 0; }
  .it-approach-step > div { grid-row: 1 / span 2; width: 58px; height: 58px; align-self: start; padding-inline: 0.55rem; }
  .it-approach-step h3 { min-height: 0; align-self: end; margin-bottom: 0.4rem; }
  .it-approach-step p { grid-column: 2; }
  .it-engagement-list { grid-template-columns: 1fr; }
  .it-engagement-item, .it-engagement-item:nth-child(even) { border-right: 0; }
  .related-service-item h3 { min-height: 0; }
  .software-product-visual { min-height: 430px; padding: 1.3rem 1rem; }
  .product-layer-app { right: 1rem; width: 62%; }
  .product-layer-data { left: 1rem; width: 62%; }
  .product-connector { right: 8%; }
  .product-user-path { right: 1rem; left: 1rem; }
  .software-capability-row, .software-capability-row:nth-child(even) { grid-template-columns: 1fr; width: 100%; margin-left: 0; gap: 1rem; padding: 1.4rem; }
  .software-capability-meta { max-width: 92px; }
  .software-solutions-grid { grid-template-columns: 1fr; }
  .software-delivery-timeline { grid-template-columns: 1fr; gap: 0; }
  .software-delivery-timeline::before { display: block; top: 27px; right: auto; bottom: 27px; left: 26px; width: 1px; height: auto; }
  .software-delivery-step, .software-delivery-step:first-child, .software-delivery-step:nth-child(4) { display: grid; grid-template-columns: 54px 1fr; column-gap: 1rem; padding: 0 0 1.8rem; border-left: 0; }
  .software-delivery-step:last-child { padding-bottom: 0; }
  .software-delivery-step > div { grid-row: 1 / span 2; width: 54px; height: 54px; align-self: start; padding-inline: 0.5rem; }
  .software-delivery-step h3 { min-height: 0; align-self: end; margin-bottom: 0.4rem; }
  .software-delivery-step p { grid-column: 2; }
  .software-modernization-grid article { padding: 1.3rem 0; }
  .data-insight-visual { min-height: 470px; padding: 1.35rem 1rem; }
  .data-source-stack { width: 55%; }
  .data-pipeline { right: 4%; left: 57%; }
  .data-insight-panel { right: 1rem; width: 66%; }
  .data-decision-output { left: 1rem; width: 62%; }
  .data-capabilities-grid { grid-template-columns: 1fr; }
  .bi-focus-grid { grid-template-columns: 1fr; }
  .bi-focus-item { grid-template-columns: 24px 38px 1fr; padding: 1.3rem; }
  .data-ecosystem-map { grid-template-columns: 1fr; }
  .data-ecosystem-arrows { justify-items: center; gap: 0; }
  .data-ecosystem-arrows i { transform: rotate(90deg); }
  .data-ecosystem-arrows i + i { display: none; }
  .data-ecosystem-core { min-height: 170px; }
  .data-challenges-list { grid-template-columns: 1fr; }
  .data-challenges-list li { min-height: 82px; }
  .data-approach-timeline { grid-template-columns: 1fr; gap: 0; }
  .data-approach-timeline::before { display: block; top: 27px; right: auto; bottom: 27px; left: 26px; width: 1px; height: auto; }
  .data-approach-step, .data-approach-step:first-child, .data-approach-step:nth-child(4) { display: grid; grid-template-columns: 54px 1fr; column-gap: 1rem; padding: 0 0 1.8rem; border-left: 0; }
  .data-approach-step:last-child { padding-bottom: 0; }
  .data-approach-step > div { grid-row: 1 / span 2; width: 54px; height: 54px; align-self: start; padding-inline: 0.5rem; }
  .data-approach-step h3 { min-height: 0; align-self: end; margin-bottom: 0.4rem; }
  .data-approach-step p { grid-column: 2; }
  .ai-value-visual { min-height: 480px; padding: 1.35rem 1rem; }
  .ai-capability-row, .ai-capability-row:nth-child(even) { grid-template-columns: 1fr; width: 100%; margin-left: 0; gap: 1rem; padding: 1.4rem; }
  .ai-capability-meta { max-width: 110px; }
  .ai-use-cases-grid { grid-template-columns: 1fr; }
  .ai-use-case h3 { min-height: 0; }
  .automation-flow { grid-template-columns: 1fr; justify-items: stretch; }
  .automation-flow span, .automation-flow strong { min-height: 58px; }
  .automation-flow > i { justify-self: center; transform: rotate(90deg); }
  .automation-areas-grid { grid-template-columns: 1fr; }
  .assistant-principles-grid { grid-template-columns: 1fr; }
  .assistant-principle { grid-template-columns: 24px 38px 1fr; padding: 1.3rem; }
  .ai-architecture { grid-template-columns: 1fr; }
  .ai-architecture-inputs { grid-template-columns: 1fr; }
  .ai-architecture-arrow { justify-self: center; transform: rotate(90deg); }
  .ai-architecture-output { min-height: 100px; }
  .ai-integration-grid { grid-template-columns: 1fr; }
  .ai-integration-item h3 { min-height: 0; }
  .responsible-ai-list { grid-template-columns: 1fr; }
  .responsible-ai-item { min-height: 0; }
  .responsible-ai-item > span { margin-bottom: 1.2rem; }
  .responsible-ai-item h3 { min-height: 0; }
  .ai-approach-timeline { grid-template-columns: 1fr; gap: 0; }
  .ai-approach-timeline::before { display: block; top: 27px; right: auto; bottom: 27px; left: 26px; width: 1px; height: auto; }
  .ai-approach-step, .ai-approach-step:first-child, .ai-approach-step:nth-child(4) { display: grid; grid-template-columns: 54px 1fr; column-gap: 1rem; padding: 0 0 1.8rem; border-left: 0; }
  .ai-approach-step:last-child { padding-bottom: 0; }
  .ai-approach-step > div { grid-row: 1 / span 2; width: 54px; height: 54px; align-self: start; padding-inline: 0.5rem; }
  .ai-approach-step h3 { min-height: 0; align-self: end; margin-bottom: 0.4rem; }
  .ai-approach-step p { grid-column: 2; }
  .talent-hero-visual { min-height: 450px; padding: 1.35rem 1rem; }
  .talent-model-paths { grid-template-columns: 1fr; width: min(100%, 280px); }
  .talent-model-paths span { min-height: 42px; }
  .talent-model-group { gap: 1.25rem; padding: 1.4rem; }
  .talent-model-heading { grid-template-columns: 24px 40px 1fr; }
  .talent-model-heading > i { width: 40px; height: 40px; }
  .talent-model-group ul { grid-template-columns: 1fr; }
  .talent-focus-grid { grid-template-columns: 1fr; }
  .talent-focus-item { min-height: 0; }
  .talent-focus-item > span { margin-bottom: 1.25rem; }
  .talent-focus-item h3 { min-height: 0; }
  .augmentation-models { grid-template-columns: 1fr; }
  .augmentation-model { min-height: 0; }
  .augmentation-model h3 { min-height: 0; }
  .hiring-comparison { grid-template-columns: 1fr; }
  .hiring-model { min-height: 0; }
  .hiring-model > span { margin-bottom: 1.25rem; }
  .hiring-model h3 { min-height: 0; margin-bottom: 1rem; }
  .talent-process-timeline { grid-template-columns: 1fr; gap: 0; }
  .talent-process-timeline::before { display: block; top: 27px; right: auto; bottom: 27px; left: 26px; width: 1px; height: auto; }
  .talent-process-step, .talent-process-step:first-child, .talent-process-step:nth-child(4) { display: grid; grid-template-columns: 54px 1fr; column-gap: 1rem; padding: 0 0 1.8rem; border-left: 0; }
  .talent-process-step:last-child { padding-bottom: 0; }
  .talent-process-step > div { grid-row: 1 / span 2; width: 54px; height: 54px; align-self: start; padding-inline: 0.5rem; }
  .talent-process-step h3 { min-height: 0; align-self: end; margin-bottom: 0.4rem; }
  .talent-process-step p { grid-column: 2; }
  .workforce-scenarios-grid { grid-template-columns: 1fr; }
  .talent-connection-flow { grid-template-columns: 1fr; }
  .talent-connection-flow > div { grid-template-columns: 1fr; }
  .talent-connection-flow b { text-align: center; }
  .talent-connection-flow > i { justify-self: center; transform: rotate(90deg); }
  .talent-connection-flow > strong { min-height: 90px; }
  .consulting-framework-visual { min-height: 480px; padding: 1.35rem 1rem; }
  .consulting-framework-inputs { grid-template-columns: 1fr; width: min(100%, 280px); }
  .consulting-framework-inputs b { text-align: center; }
  .consulting-framework-inputs b:nth-of-type(2) { display: block; }
  .consulting-framework-inputs span { min-height: 54px; grid-template-columns: 24px 1fr; justify-items: start; }
  .consulting-practice-band { gap: 1.25rem; padding: 1.4rem; }
  .consulting-practice-heading { grid-template-columns: 24px 40px 1fr; }
  .consulting-practice-heading > i { width: 40px; height: 40px; }
  .consulting-practice-band ul { grid-template-columns: 1fr; }
  .hr-focus-grid { grid-template-columns: 1fr; }
  .hr-focus-item { min-height: 0; }
  .hr-focus-item > span { margin-bottom: 1.2rem; }
  .hr-focus-item h3 { min-height: 0; }
  .legal-advisory-grid { grid-template-columns: 1fr; }
  .legal-advisory-item { grid-template-columns: 32px 1fr; }
  .legal-advisory-note { grid-template-columns: 24px 1fr; }
  .audit-review-grid { grid-template-columns: 1fr; }
  .connected-practices-visual > div { grid-template-columns: 1fr; }
  .connected-practices-visual span { min-height: 76px; }
  .consulting-needs-list { grid-template-columns: 1fr; }
  .consulting-approach-timeline { grid-template-columns: 1fr; gap: 0; }
  .consulting-approach-timeline::before { display: block; top: 27px; right: auto; bottom: 27px; left: 26px; width: 1px; height: auto; }
  .consulting-approach-step, .consulting-approach-step:first-child, .consulting-approach-step:nth-child(4) { display: grid; grid-template-columns: 54px 1fr; column-gap: 1rem; padding: 0 0 1.8rem; border-left: 0; }
  .consulting-approach-step:last-child { padding-bottom: 0; }
  .consulting-approach-step > div { grid-row: 1 / span 2; width: 54px; height: 54px; align-self: start; padding-inline: 0.5rem; }
  .consulting-approach-step h3 { min-height: 0; align-self: end; margin-bottom: 0.4rem; }
  .consulting-approach-step p { grid-column: 2; }
  .consulting-engagement-list { grid-template-columns: 1fr; }
  .consulting-engagement-item, .consulting-engagement-item:nth-child(even), .consulting-engagement-item:last-child { grid-column: auto; max-width: none; border-right: 0; }
  .careers-hero-section { padding-block: 4rem 4.5rem; }
  .careers-hero-title { font-size: clamp(2.3rem, 10.5vw, 2.9rem); }
  .careers-hero-actions { display: grid; }
  .career-capability-visual { min-height: 450px; padding: 1.35rem 1rem; }
  .career-values-list { grid-template-columns: 1fr; }
  .career-value-item, .career-value-item:last-child { grid-column: auto; max-width: none; grid-template-columns: 24px 38px 1fr; padding: 1.3rem; }
  .career-domain-groups { grid-template-columns: 1fr; }
  .career-domain-group:last-child { grid-column: auto; }
  .career-principles-grid { grid-template-columns: 1fr; }
  .career-principle { min-height: 0; }
  .career-journey-timeline { grid-template-columns: 1fr; gap: 0; }
  .career-journey-timeline::before { display: block; top: 29px; right: auto; bottom: 29px; left: 28px; width: 1px; height: auto; }
  .career-journey-step, .career-journey-step:first-child, .career-journey-step:nth-child(3), .career-journey-step:nth-child(5), .career-journey-step:last-child { display: grid; grid-column: auto; grid-template-columns: 58px 1fr; column-gap: 1rem; padding: 0 0 1.8rem; border-left: 0; }
  .career-journey-step:last-child { padding-bottom: 0; }
  .career-journey-step > div { grid-row: 1 / span 2; width: 58px; height: 58px; align-self: start; padding-inline: 0.55rem; }
  .career-journey-step h3 { min-height: 0; align-self: end; margin-bottom: 0.4rem; }
  .career-journey-step p { grid-column: 2; }
  .career-empty-state { grid-template-columns: 1fr; align-items: start; }
  .career-empty-state .btn-hantech-primary { width: 100%; }
  .career-form-panel { padding: 1.3rem; }
  .career-form-submit { align-items: stretch; flex-direction: column; }
  .career-form-submit .btn-hantech-primary { width: 100%; }
  .contact-hero-section { padding-block: 4rem 4.5rem; }
  .contact-hero-title { font-size: clamp(2.3rem, 10.5vw, 2.9rem); }
  .contact-hero-support { line-height: 1.8; }
  .contact-routing-visual { min-height: 430px; padding: 1.35rem 1rem; }
  .contact-route-options { grid-template-columns: 1fr; width: min(100%, 290px); }
  .contact-route-options span { min-height: 44px; grid-template-columns: 24px 1fr; justify-items: start; }
  .contact-intents-grid { grid-template-columns: 1fr; }
  .contact-intent { grid-template-columns: 24px 38px 1fr; padding: 1.3rem; }
  .contact-form-shell { padding: 1.3rem; }
  .contact-radio-options { display: grid; grid-template-columns: 1fr; }
  .contact-radio-options .form-check { width: 100%; }
  .contact-consent { grid-template-columns: 20px 1fr; }
  .contact-form-submit { align-items: stretch; flex-direction: column; }
  .contact-form-submit .btn-hantech-primary { width: 100%; }
  .contact-next-process { grid-template-columns: 1fr; gap: 0; }
  .contact-next-process::before { top: 29px; right: auto; bottom: 29px; left: 28px; width: 1px; height: auto; }
  .contact-next-step, .contact-next-step:first-child { display: grid; grid-template-columns: 58px 1fr; column-gap: 1rem; padding: 0 0 1.8rem; border-left: 0; }
  .contact-next-step:last-child { padding-bottom: 0; }
  .contact-next-step > div { grid-row: 1 / span 2; width: 58px; height: 58px; align-self: start; padding-inline: 0.55rem; }
  .contact-next-step h3 { align-self: end; margin-bottom: 0.4rem; }
  .contact-next-step p { grid-column: 2; }
  .contact-details-placeholder { grid-template-columns: 48px 1fr; }
  .contact-details-placeholder > i { width: 46px; height: 46px; }
  .contact-service-links { grid-template-columns: 1fr; }
  .footer-main { padding-block: 3.5rem; }
  .footer-bottom-inner { align-items: flex-start; flex-direction: column; gap: 0.75rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  .reveal-enabled .fade-up, .reveal-enabled .fade-in { opacity: 1; transform: none; }
}
