/* =========================================================
   Symatics — shared stylesheet
   ========================================================= */

@font-face {
  font-family: 'NeueHaasDisplay';
  src: url('NeueHaasDisplayBold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --bg: #F7F8FB;
  --bg-dark: #0A0E1C;
  --white: #FFFFFF;
  --blue: #2F5BFF;
  --blue-dark: #1E40D6;
  --blue-tint: #EAF0FF;
  --ink: #11131A;
  --body: #5B6472;
  --body-on-dark: #AAB2C5;
  --border: #E6E8EC;
  --border-on-dark: #232842;

  --max: 1180px;
  --pad: 24px;
  --radius: 14px;
  --radius-sm: 8px;

  --section-y: 96px;
  --section-y-sm: 56px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--ink);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}

img { max-width: 100%; display: block; }

a { color: inherit; text-decoration: none; }

h1, h2, h3, h4 { margin: 0; letter-spacing: -0.02em; font-weight: 700; }

p { margin: 0; }

.accent { color: var(--blue); }

:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 3px;
}

.wrap {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--pad);
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 16px;
}
.eyebrow::before {
  content: "";
  width: 14px;
  height: 1px;
  background: var(--blue);
  display: inline-block;
}
.eyebrow.on-dark { color: #7C9BFF; }

/* ---------- buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14.5px;
  font-weight: 600;
  padding: 12px 20px;
  border-radius: 9px;
  border: 1px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  transition: transform 0.15s ease, background 0.15s ease, border-color 0.15s ease, opacity .15s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--blue); color: var(--white); }
.btn-primary:hover { background: var(--blue-dark); }
.btn-dark { background: var(--ink); color: var(--white); }
.btn-dark:hover { opacity: 0.88; }
.btn-outline { background: transparent; border-color: var(--border); color: var(--ink); }
.btn-outline:hover { border-color: var(--ink); }
.btn-outline-light { background: transparent; border-color: rgba(255,255,255,0.28); color: var(--white); }
.btn-outline-light:hover { border-color: rgba(255,255,255,0.6); }
.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  font-size: 14.5px;
  color: var(--blue);
  border-bottom: 1px solid transparent;
}
.link-arrow:hover { border-bottom-color: var(--blue); }
.link-arrow svg { transition: transform 0.15s ease; }
.link-arrow:hover svg { transform: translateX(2px); }

/* ---------- header ---------- */
header.site {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(247,248,251,0.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--border);
}
.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 76px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 19px;
  font-weight: 700;
  font-family: 'NeueHaasDisplay', 'Helvetica Neue', Arial, sans-serif;
  letter-spacing: -0.01em;
}
.brand img { width: 30px; height: 30px; }
.nav-links {
  display: flex;
  align-items: center;
  gap: 34px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav-links a {
  font-size: 14.5px;
  font-weight: 500;
  color: var(--ink);
  padding-bottom: 22px;
  border-bottom: 2px solid transparent;
}
.nav-links a:hover { color: var(--blue); }
.nav-links a.active { color: var(--blue); border-bottom-color: var(--blue); font-weight: 600; }
.nav-cta { display: flex; align-items: center; }
.nav-toggle { display: none; }

@media (max-width: 880px) {
  .nav-links { display: none; }
  .nav-toggle {
    display: inline-flex;
    background: none; border: 1px solid var(--border); border-radius: 8px;
    padding: 8px 10px; cursor: pointer; color: var(--ink);
  }
}
.mobile-menu { display: none; flex-direction: column; padding: 4px 0 20px; }
.mobile-menu.open { display: flex; }
.mobile-menu a {
  padding: 12px 0;
  font-size: 15px;
  font-weight: 500;
  color: var(--ink);
  border-bottom: 1px solid var(--border);
}
.mobile-menu a.active { color: var(--blue); font-weight: 600; }

/* ---------- hero ---------- */
.hero {
  padding: 64px 0 80px;
}
.hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}
.hero h1 {
  font-size: clamp(38px, 5vw, 56px);
  line-height: 1.05;
  margin-bottom: 20px;
}
.hero p.lead {
  font-size: 17px;
  color: var(--body);
  max-width: 460px;
  margin-bottom: 32px;
}
.hero-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.hero-media img, .hero-media svg { border-radius: var(--radius); width: 100%; }

/* full-bleed hero: text sits directly on one continuous photo (home page) */
.hero-overlay {
  position: relative;
  overflow: hidden;
  min-height: 660px;
  display: flex;
  align-items: center;
}
.hero-overlay-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 65% center;
  z-index: 0;
}
.hero-overlay .wrap { position: relative; z-index: 1; width: 100%; }
.hero-overlay-text { max-width: 480px; }

/* full-bleed hero: text in a left column, photo flush to the true viewport edge (other pages) */
.hero-bleed-right {
  display: flex;
  min-height: 560px;
  align-items: center;
}
.hero-bleed-text-col {
  flex: 0 0 46%;
  padding-left: max(24px, calc((100vw - 1180px) / 2 + 24px));
  padding-right: 40px;
  box-sizing: border-box;
}
.hero-bleed-image-col {
  flex: 1;
  align-self: stretch;
}
.hero-bleed-image-col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 900px) {
  .hero-bleed-right { flex-direction: column; min-height: 0; }
  .hero-bleed-text-col { flex: none; padding: 40px 24px 32px; max-width: none; }
  .hero-bleed-image-col { flex: none; height: 320px; width: 100%; }
  .hero-overlay { min-height: 0; }
  .hero-overlay-text { padding: 40px 0; }
}

/* ---------- generic section ---------- */
section { padding: var(--section-y) 0; }
section.tight { padding: 64px 0; }
.section-head { max-width: 640px; margin-bottom: 48px; }
.section-head h2 { font-size: clamp(28px, 3.4vw, 38px); line-height: 1.12; margin-bottom: 14px;}
.section-head p { color: var(--body); font-size: 16px; }

/* dark sections */
.on-dark {
  background: var(--bg-dark);
  color: var(--white);
}
.on-dark .body-text, .on-dark p { color: var(--body-on-dark); }
.on-dark h2, .on-dark h3 { color: var(--white); }

/* ---------- cards / grids ---------- */
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }

.card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 28px;
}
.card h3 { font-size: 17px; margin-bottom: 10px; }
.card p { color: var(--body); font-size: 14.5px; }

.icon-circle {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--blue-tint);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 18px;
}
.icon-circle svg { width: 20px; height: 20px; }

.num {
  font-size: 15px;
  font-weight: 700;
  color: var(--blue);
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.num .dash { width: 14px; height: 1px; background: var(--blue); display: inline-block; }
.num-big {
  font-size: 28px;
  font-weight: 800;
  color: var(--blue);
}

/* feature block with media */
.feature-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  padding: 56px 0;
  border-top: 1px solid var(--border);
}
.feature-row:first-of-type { border-top: none; }
.feature-row.reverse .feature-media { order: 2; }
.feature-media img { border-radius: var(--radius); }
.feature-list { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px;}
.feature-list li {
  display: flex; gap: 10px;
  font-size: 14.5px; color: var(--body);
}
.feature-list li::before { content: "—"; color: var(--blue); flex-shrink: 0; }

/* ---------- comparison block ---------- */
.compare {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 40px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 32px;
  align-items: start;
}
.compare-col h4 { font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 18px; color: var(--body); }
.compare-col.win h4 { color: var(--blue); }
.compare-steps { list-style: none; margin: 0; padding: 0; font-size: 14.5px; color: var(--body); }
.compare-steps li { padding: 6px 0; }
.compare-result { margin-top: 18px; font-weight: 700; font-size: 14.5px; }
.compare-col.win .compare-result { color: var(--blue); }
.compare-vs {
  align-self: center;
  width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700; color: var(--body);
  margin-top: 60px;
}

/* ---------- CTA banner ---------- */
.cta-banner {
  background: var(--bg-dark);
  border-radius: var(--radius);
  padding: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  color: var(--white);
}
.cta-banner h3 { font-size: clamp(22px, 2.6vw, 30px); }
.cta-banner-actions { display: flex; gap: 14px; flex-wrap: wrap; }

/* ---------- footer ---------- */
footer.site {
  border-top: 1px solid var(--border);
  padding: 56px 0 32px;
}
.footer-top {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
  padding-bottom: 40px;
}
.footer-brand { max-width: 280px; }
.footer-brand .brand { margin-bottom: 10px; }
.footer-brand p { color: var(--body); font-size: 14px; }
.footer-links { display: flex; gap: 64px; }
.footer-col { display: flex; flex-direction: column; gap: 12px; }
.footer-col a { font-size: 14.5px; color: var(--body); }
.footer-col a:hover { color: var(--blue); }
.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  padding-top: 28px;
  border-top: 1px solid var(--border);
  font-size: 13px;
  color: var(--body);
}
.socials { display: flex; gap: 14px; }
.socials a {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: var(--ink);
  color: var(--white);
  display: flex; align-items: center; justify-content: center;
}
.socials svg { width: 15px; height: 15px; }

/* ---------- table (careers) ---------- */
.roles-table { width: 100%; border-collapse: collapse; }
.roles-table thead th {
  text-align: left;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--body);
  padding: 0 0 14px;
  border-bottom: 1px solid var(--border);
}
.roles-table tbody td {
  padding: 20px 0;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
}
.role-title { display: flex; align-items: center; gap: 12px; font-weight: 700; font-size: 15px; }
.role-mission { color: var(--body); font-size: 14.5px; }
.role-arrow { text-align: right; color: var(--blue); }

/* ---------- form (contact) ---------- */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.field.full { grid-column: 1 / -1; }
.field label { font-size: 13px; color: var(--body); }
input, select, textarea {
  font-family: inherit;
  font-size: 14.5px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--white);
  color: var(--ink);
}
textarea { resize: vertical; min-height: 110px; }
input:focus, select:focus, textarea:focus { border-color: var(--blue); outline: none; }

.presence-item { display: flex; gap: 14px; margin-bottom: 22px; }
.presence-icon {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--blue-tint);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.presence-icon svg { width: 18px; height: 18px; }

/* ---------- utility ---------- */
.mt-0 { margin-top: 0; }
.center { text-align: center; }
.muted { color: var(--body); }
.flow-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 22px; }
.flow-list li { display: flex; gap: 14px; }
.flow-list svg { flex-shrink: 0; margin-top: 2px; }
.flow-list strong { display: block; font-size: 15px; margin-bottom: 4px; }
.flow-list span { font-size: 14px; color: var(--body); }

/* ---------- principles row (home) ---------- */
.principles-wrap { display: flex; align-items: flex-start; gap: 0; }
.principles-head { flex: 0 0 300px; padding-right: 40px; }
.principles-head h2 { font-size: clamp(26px, 3vw, 34px); line-height: 1.15; margin-top: 10px; }
.principle-col { flex: 1; padding: 0 30px; border-left: 1px solid var(--border); }
.principle-col h3 { font-size: 16px; margin-bottom: 8px; }
.principle-col p { font-size: 14px; color: var(--body); }

/* ---------- responsive ---------- */
@media (max-width: 900px) {
  .hero-grid, .grid-2, .feature-row, .compare, .form-grid { grid-template-columns: 1fr; }
  .principles-wrap { flex-direction: column; gap: 28px; }
  .principles-head { padding-right: 0; }
  .principle-col { border-left: none; border-top: 1px solid var(--border); padding: 24px 0 0; }
  .grid-3, .grid-4 { grid-template-columns: 1fr 1fr; }
  .feature-row.reverse .feature-media { order: 0; }
  .compare-vs { margin: 0 auto; }
  .footer-top { flex-direction: column; }
  :root { --section-y: 64px; }
}
@media (max-width: 600px) {
  .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .cta-banner { padding: 32px; flex-direction: column; align-items: flex-start; }
  .compare { padding: 24px; }
  .footer-links { gap: 32px; }
}


/* ===== Mobile optimization patch ===== */
@media (max-width: 768px){
  :root{
    --pad:18px;
    --section-y:56px;
  }

  .hero{padding:40px 0 48px;}
  .hero h1{font-size:34px; line-height:1.08;}
  .hero p.lead{font-size:16px;}

  .nav{height:64px;}
  .brand{font-size:17px;}

  .wrap{padding:0 18px;}

  .feature-row,
  .hero-grid,
  .grid-2,
  .grid-3,
  .grid-4,
  .compare,
  .form-grid{
    grid-template-columns:1fr !important;
  }

  .btn{
    width:100%;
    justify-content:center;
  }

  .hero-actions{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }

  .footer-bottom,
  .footer-top{
    flex-direction:column;
    align-items:flex-start;
  }

  .roles-table{
    display:block;
    overflow-x:auto;
  }
}

@media (max-width: 480px){
  h1{word-break:break-word;}
  .cta-banner{padding:24px;}
  .principles-head h2{font-size:28px;}
}


/* ===== Home page visual match patch ===== */
.home-page header.site{
  position:absolute;
  top:0;
  left:0;
  right:0;
  background:transparent;
  border-bottom:0;
  backdrop-filter:none;
}
.home-page .nav{
  height:96px;
}
.home-page .nav-links{
  gap:46px;
}
.home-page .nav-links a{
  padding-bottom:0;
  font-size:13.5px;
}
.home-page .nav .btn-primary{
  background:transparent;
  color:var(--blue);
  border:0;
  padding:0 0 4px;
  border-radius:0;
  border-bottom:1px solid rgba(47,91,255,.34);
}
.home-page .nav .btn-primary:hover{
  transform:none;
  background:transparent;
}
.home-page .wrap{
  max-width:none;
  padding-left:clamp(54px,6vw,92px);
  padding-right:clamp(54px,6vw,92px);
}
.home-page .hero-overlay{
  min-height:820px;
  align-items:center;
  padding-top:76px;
}
.home-page .hero-overlay::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(90deg,rgba(247,248,251,.44) 0%,rgba(247,248,251,.18) 34%,rgba(247,248,251,0) 64%);
  pointer-events:none;
}
.home-page .hero-overlay-img{
  object-position:58% center;
}
.home-page .hero-overlay .wrap{
  z-index:1;
}
.home-page .hero-overlay-text{
  max-width:520px;
  margin-top:36px;
}
.home-page .hero-overlay-text .eyebrow{
  margin-bottom:26px;
}
.home-page .hero-overlay h1{
  font-size:clamp(56px,5.35vw,78px);
  line-height:.98;
  letter-spacing:-.045em;
  max-width:470px;
  margin-bottom:30px;
}
.home-page .hero-overlay p.lead{
  max-width:430px;
  font-size:17px;
  line-height:1.65;
  color:#151923;
  margin-bottom:34px;
}
.home-page .hero-actions{
  gap:30px;
}
.home-page .hero-actions .btn-primary{
  padding:14px 22px;
}
.image-banner{
  position:relative;
  overflow:hidden;
  min-height:340px;
  padding:0;
}
.image-banner-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.dark-banner{
  background:#090d16;
  color:white;
}
.dark-banner::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(8,12,18,.72) 0%,rgba(8,12,18,.30) 34%,rgba(8,12,18,0) 70%);
}
.image-banner-content{
  position:relative;
  z-index:1;
  min-height:340px;
  display:flex;
  align-items:center;
}
.image-banner-content>div{
  max-width:360px;
}
.image-banner h2{
  font-size:clamp(36px,4.2vw,48px);
  line-height:1.05;
  margin-bottom:20px;
}
.image-banner p{
  font-size:16px;
  line-height:1.65;
  color:rgba(255,255,255,.82);
}
.vision-banner{
  min-height:430px;
}
.vision-banner .image-banner-content{
  min-height:430px;
}
.vision-banner p{
  margin:18px 0 30px;
  max-width:430px;
}
.home-page footer.site .wrap{
  max-width:none;
}
@media (max-width: 900px){
  .home-page header.site{position:sticky;background:rgba(247,248,251,.94);border-bottom:1px solid var(--border);backdrop-filter:blur(8px);}
  .home-page .nav{height:68px;}
  .home-page .wrap{padding-left:22px;padding-right:22px;}
  .home-page .hero-overlay{min-height:720px;padding-top:0;align-items:flex-start;}
  .home-page .hero-overlay-img{object-position:62% center;}
  .home-page .hero-overlay-text{padding-top:86px;margin-top:0;max-width:390px;}
  .home-page .hero-overlay h1{font-size:46px;max-width:360px;}
  .image-banner,.image-banner-content{min-height:320px;}
  .vision-banner,.vision-banner .image-banner-content{min-height:380px;}
}
@media (max-width: 768px){
  .home-page .nav .btn-primary{display:none;}
  .home-page .hero-actions .btn-primary,
  .home-page .hero-actions .link-arrow{width:100%;justify-content:center;}
}
@media (max-width: 520px){
  .home-page .hero-overlay{min-height:680px;}
  .home-page .hero-overlay::after{background:linear-gradient(90deg,rgba(247,248,251,.82),rgba(247,248,251,.42) 58%,rgba(247,248,251,.1));}
  .home-page .hero-overlay h1{font-size:40px;}
  .home-page .hero-overlay p.lead{font-size:15.5px;}
}
@media (max-width: 768px){
  /* The cube-grid mobile photo has no empty space for text to sit over,
     so stop overlaying text on the image and stack them instead. */
  .home-page .state-banner{
    display:flex;
    flex-direction:column;
    min-height:auto!important;
  }
  .home-page .state-banner::after{display:none!important;}
  .home-page .state-banner picture{
    order:2;
    display:block;
    width:100%;
    line-height:0;
  }
  .home-page .state-banner .image-banner-img{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    max-height:380px;
    display:block;
  }
  .home-page .state-banner .image-banner-content{
    order:1;
    position:relative;
    min-height:auto!important;
    padding:40px 0 28px!important;
  }
  .home-page .state-banner .image-banner-content>div{
    max-width:none!important;
  }
}

/* ===== Architecture page visual match patch ===== */
.architecture-page header.site{
  position:absolute;
  top:0; left:0; right:0;
  background:transparent;
  border-bottom:0;
  backdrop-filter:none;
}
.architecture-page .wrap{
  max-width:none;
  padding-left:clamp(34px,3.8vw,58px);
  padding-right:clamp(34px,3.8vw,58px);
}
.architecture-page .nav{
  height:92px;
}
.architecture-page .nav-links{
  gap:36px;
}
.architecture-page .nav-links a{
  padding-bottom:16px;
  font-size:13.5px;
}
.architecture-page .nav .btn-primary{
  padding:13px 20px;
  border-radius:9px;
}
.arch-hero{
  position:relative;
  min-height:710px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#F7F8FB;
  padding-top:92px;
}
.arch-hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:62% center;
  z-index:0;
}
.arch-hero-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(247,248,251,.95) 0%,rgba(247,248,251,.72) 27%,rgba(247,248,251,.23) 54%,rgba(247,248,251,0) 78%);
  z-index:1;
}
.arch-hero-inner{
  position:relative;
  z-index:2;
  width:100%;
}
.arch-hero-copy{
  max-width:475px;
  margin-top:42px;
}
.arch-hero-copy .eyebrow{
  margin-bottom:26px;
}
.arch-hero h1{
  font-size:clamp(50px,5.4vw,68px);
  line-height:1.03;
  letter-spacing:-.045em;
  margin-bottom:32px;
}
.arch-hero p.lead{
  max-width:450px;
  color:#11131A;
  font-size:17px;
  line-height:1.75;
  margin-bottom:34px;
}
.architecture-page section.tight,
.architecture-page .arch-surface{
  padding:0;
}
.arch-compare-section{
  margin-top:-58px;
  position:relative;
  z-index:3;
}
.arch-compare-card,
.arch-principles-card,
.arch-vision-card{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(214,219,228,.9);
  box-shadow:0 16px 45px rgba(17,19,26,.06);
  backdrop-filter:blur(12px);
  border-radius:14px;
}
.arch-compare-card{
  display:grid;
  grid-template-columns:1fr 54px 1fr;
  gap:28px;
  padding:30px 32px 28px;
}
.arch-compare-col h4{
  margin:0 0 8px;
  font-size:15px;
  text-transform:uppercase;
  letter-spacing:.02em;
  font-weight:800;
  color:#11131A;
}
.arch-compare-col h4.blue{ color:var(--blue); }
.arch-small-line{
  width:16px;
  height:2px;
  background:#11131A;
  margin-bottom:18px;
}
.arch-small-line.blue{ background:var(--blue); }
.arch-compare-body{
  display:grid;
  grid-template-columns:90px 1fr;
  gap:22px;
  align-items:center;
  min-height:198px;
}
.arch-compare-body.right{
  grid-template-columns:145px 1fr;
}
.arch-compare-body .compare-steps{
  font-size:13.5px;
  line-height:1.12;
  color:#11131A;
}
.arch-compare-body .compare-steps li{
  padding:2px 0;
}
.arch-compare-img{
  width:100%;
  border-radius:10px;
  object-fit:contain;
}
.arch-compare-img.particles{
  max-height:190px;
  opacity:.86;
}
.arch-compare-img.grid{
  max-height:195px;
}
.arch-result{
  font-weight:700;
  margin-top:24px;
  font-size:15px;
  line-height:1.38;
}
.arch-result.normal{ color:#11131A; }
.arch-result.blue{ color:var(--blue); }
.arch-vs{
  align-self:center;
  justify-self:center;
  width:52px;
  height:52px;
  border-radius:50%;
  border:1px solid var(--border);
  background:rgba(255,255,255,.8);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:800;
}
.arch-principles-section,
.arch-vision-section{
  margin-top:12px;
}
.arch-principles-card{
  padding:30px 30px 38px;
}
.arch-principles-card .eyebrow{
  margin-bottom:18px;
}
.arch-principles-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
}
.arch-principles-grid article{
  padding:0 28px;
  border-left:1px solid var(--border);
}
.arch-principles-grid article:first-child{
  padding-left:0;
  border-left:0;
}
.arch-principles-grid article:last-child{
  padding-right:0;
}
.arch-principle-title{
  display:flex;
  gap:16px;
  align-items:flex-start;
  min-height:64px;
  margin-bottom:14px;
}
.arch-principle-title span{
  color:var(--blue);
  font-size:32px;
  line-height:1;
  font-weight:500;
  letter-spacing:-.04em;
}
.arch-principle-title h3{
  font-size:16px;
  line-height:1.08;
  max-width:150px;
}
.arch-principles-grid img{
  width:100%;
  height:126px;
  object-fit:cover;
  object-position:center;
  margin:0 0 18px;
  border-radius:0;
}
.arch-principles-grid p{
  color:#11131A;
  font-size:15px;
  line-height:1.5;
}
.arch-vision-card{
  display:grid;
  grid-template-columns:1.05fr 1fr 1.25fr;
  gap:32px;
  align-items:center;
  padding:28px 30px;
  overflow:hidden;
}
.arch-vision-copy .eyebrow{
  margin-bottom:18px;
}
.arch-vision-copy h2{
  font-size:clamp(28px,3vw,36px);
  line-height:1.1;
  letter-spacing:-.035em;
}
.arch-vision-card p{
  color:#11131A;
  font-size:15.5px;
  line-height:1.55;
  max-width:330px;
}
.arch-vision-card img{
  width:100%;
  height:172px;
  object-fit:cover;
  border-radius:0 10px 10px 0;
}
.architecture-page .cta-banner{
  margin-top:12px;
  padding:24px 36px;
  min-height:124px;
  background:#071127;
  border-radius:14px;
}
.architecture-page .cta-banner img{
  width:178px !important;
  height:72px !important;
  object-fit:cover;
}
.architecture-page footer.site{
  padding-top:26px;
  background:#F7F8FB;
}

@media (max-width: 900px){
  .architecture-page header.site{
    position:sticky;
    background:rgba(247,248,251,.94);
    border-bottom:1px solid var(--border);
    backdrop-filter:blur(8px);
  }
  .architecture-page .wrap{
    padding-left:18px;
    padding-right:18px;
  }
  .architecture-page .nav{height:64px;}
  .arch-hero{
    min-height:0;
    padding:48px 0 56px;
  }
  .arch-hero-bg{
    object-position:60% center;
    opacity:.72;
  }
  .arch-hero-shade{
    background:linear-gradient(90deg,rgba(247,248,251,.96) 0%,rgba(247,248,251,.72) 62%,rgba(247,248,251,.26) 100%);
  }
  .arch-hero-copy{
    max-width:430px;
    margin-top:0;
  }
  .arch-hero h1{font-size:42px;}
  .arch-hero p.lead{font-size:16px;line-height:1.55;}
  .arch-compare-section{margin-top:0;}
  .arch-compare-card,
  .arch-principles-grid,
  .arch-vision-card{
    grid-template-columns:1fr;
  }
  .arch-compare-card{gap:24px;padding:24px;}
  .arch-vs{margin:auto;}
  .arch-principles-card{padding:24px;}
  .arch-principles-grid article{
    border-left:0;
    border-top:1px solid var(--border);
    padding:24px 0 0;
    margin-top:24px;
  }
  .arch-principles-grid article:first-child{border-top:0;margin-top:0;padding-top:0;}
  .arch-principles-grid img{height:180px;object-fit:contain;}
  .arch-vision-card{padding:24px;}
  .arch-vision-card img{border-radius:10px;height:200px;}
}
@media (max-width: 600px){
  .arch-compare-body,
  .arch-compare-body.right{
    grid-template-columns:1fr;
  }
}

/* ===== Technology page visual match patch ===== */
.technology-page header.site{
  position:absolute;
  top:0; left:0; right:0;
  background:transparent;
  border-bottom:0;
  backdrop-filter:none;
}
.technology-page .wrap{
  max-width:none;
  padding-left:clamp(34px,3.8vw,62px);
  padding-right:clamp(34px,3.8vw,62px);
}
.technology-page .nav{height:88px;}
.technology-page .nav-links{gap:36px;}
.technology-page .nav-links a{padding-bottom:16px;font-size:13.5px;}
.technology-page .nav .btn-primary{padding:13px 20px;border-radius:9px;}
.tech-hero{
  position:relative;
  min-height:570px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#F7F8FB;
  padding-top:88px;
}
.tech-hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:71% 48%;
  z-index:0;
}
.tech-hero-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(247,248,251,.96) 0%,rgba(247,248,251,.78) 27%,rgba(247,248,251,.20) 53%,rgba(247,248,251,0) 82%);
  z-index:1;
}
.tech-hero-inner{position:relative;z-index:2;width:100%;}
.tech-hero-copy{max-width:430px;margin-top:16px;}
.tech-hero-copy .eyebrow{margin-bottom:18px;}
.tech-hero h1{
  font-size:clamp(43px,4.7vw,58px);
  line-height:1.05;
  letter-spacing:-.045em;
  margin-bottom:26px;
}
.tech-title-line{width:32px;height:2px;background:var(--blue);margin:0 0 28px;}
.tech-hero p.lead{max-width:345px;color:#11131A;font-size:15.5px;line-height:1.72;}
.technology-page .tech-step,
.technology-page .tech-duo-section,
.technology-page .tech-closing{padding:0;}
.tech-step{border-top:1px solid rgba(214,219,228,.95);background:#F7F8FB;}
.tech-step-grid{
  display:grid;
  grid-template-columns:290px 1fr;
  gap:34px;
  align-items:stretch;
  min-height:276px;
}
.tech-step-copy{padding:54px 0 42px;}
.tech-step-head{display:flex;align-items:center;gap:22px;margin-bottom:14px;color:var(--blue);}
.tech-step-head span{font-size:44px;line-height:1;font-weight:500;letter-spacing:-.055em;}
.tech-step-head i{display:block;width:20px;height:2px;background:var(--blue);}
.tech-step-copy h3{font-size:18px;line-height:1.16;margin:0 0 18px;letter-spacing:-.025em;}
.tech-step-copy p{font-size:14.5px;line-height:1.65;color:#11131A;max-width:230px;}
.tech-step-media{min-height:276px;display:flex;align-items:stretch;overflow:hidden;}
.tech-step-media img{width:100%;height:100%;object-fit:cover;border-radius:0;}
.tech-step-01 .tech-step-media img{object-position:center 52%;}
.tech-step-02 .tech-step-media img{object-position:center 50%;}
.tech-step-03 .tech-step-grid{min-height:250px;}
.tech-step-03 .tech-step-media{min-height:250px;align-items:center;}
.tech-step-03 .tech-step-media img{height:auto;object-fit:contain;object-position:center;width:100%;}
.tech-step-media.diagram{padding:18px 0 16px;}
.tech-duo-section{border-top:1px solid rgba(214,219,228,.95);background:#F7F8FB;}
.tech-duo{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:270px;}
.tech-duo-item{display:grid;grid-template-columns:245px 1fr;gap:22px;align-items:stretch;overflow:hidden;}
.tech-duo-item + .tech-duo-item{border-left:1px solid rgba(214,219,228,.95);padding-left:34px;}
.tech-duo-item .tech-step-copy{padding:38px 0 32px;}
.tech-duo-item .tech-step-head span{font-size:43px;}
.tech-duo-item img{width:100%;height:100%;min-height:270px;object-fit:cover;border-radius:0;}
.tech-duo-cycle img{object-position:66% center;}
.tech-duo-silicon img{object-position:62% center;}
.tech-closing{position:relative;min-height:205px;overflow:hidden;border-top:1px solid rgba(214,219,228,.95);background:#F7F8FB;}
.tech-closing-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;}
.tech-closing::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,248,251,.96) 0%,rgba(247,248,251,.90) 34%,rgba(247,248,251,.25) 68%,rgba(247,248,251,0) 100%);z-index:1;}
.tech-closing-inner{position:relative;z-index:2;min-height:205px;display:flex;align-items:center;}
.tech-closing-copy{max-width:580px;padding:34px 0;}
.tech-closing h2{font-size:clamp(27px,3vw,35px);line-height:1.1;margin-bottom:14px;}
.tech-closing p{font-size:14.5px;line-height:1.55;color:#11131A;margin:0 0 22px;max-width:520px;}
.technology-page footer.site{padding-top:28px;background:#F7F8FB;}

@media (max-width: 900px){
  .technology-page header.site{position:sticky;background:rgba(247,248,251,.94);border-bottom:1px solid var(--border);backdrop-filter:blur(8px);}
  .technology-page .wrap{padding-left:20px;padding-right:20px;}
  .technology-page .nav{height:64px;}
  .tech-hero{min-height:560px;padding:42px 0 52px;align-items:flex-start;}
  .tech-hero-bg{object-position:65% center;opacity:.8;}
  .tech-hero-shade{background:linear-gradient(90deg,rgba(247,248,251,.96) 0%,rgba(247,248,251,.72) 66%,rgba(247,248,251,.28) 100%);}
  .tech-hero h1{font-size:42px;}
  .tech-hero-copy{margin-top:22px;max-width:380px;}
  .tech-step-grid,.tech-duo,.tech-duo-item{grid-template-columns:1fr;}
  .tech-step-copy{padding:34px 0 24px;}
  .tech-step-copy p{max-width:460px;}
  .tech-step-media,.tech-step-03 .tech-step-media{min-height:220px;}
  .tech-step-media.diagram{padding:16px 0 28px;}
  .tech-duo-item + .tech-duo-item{border-left:0;border-top:1px solid rgba(214,219,228,.95);padding-left:0;}
  .tech-duo-item img{min-height:220px;}
  .tech-closing{min-height:360px;}
  .tech-closing-bg{object-position:65% center;}
  .tech-closing-inner{min-height:360px;align-items:flex-start;}
  .tech-closing-copy{padding-top:38px;max-width:390px;}
}
@media (max-width: 520px){
  .tech-hero h1{font-size:36px;}
  .tech-step-head span{font-size:38px;}
  .tech-step-grid{gap:0;}
  .tech-step-media{min-height:190px;}
  .tech-duo-item img{min-height:200px;}
}

/* ---------- Company match pass ---------- */
.company-page { background: #f7f8fb; }
.company-hero-match {
  position: relative;
  min-height: 610px;
  display: grid;
  grid-template-columns: minmax(330px, 42%) 1fr;
  align-items: stretch;
  overflow: hidden;
  border-bottom: 1px solid var(--border);
}
.company-hero-copy {
  position: relative;
  z-index: 2;
  padding-left: max(30px, calc((100vw - 1180px) / 2 + 24px));
  padding-right: 38px;
  padding-top: 126px;
  max-width: 560px;
}
.company-hero-copy h1 { font-size: clamp(42px, 5vw, 62px); line-height: .98; max-width: 540px; }
.company-hero-copy .lead { max-width: 390px; margin: 28px 0 0; font-size: 20px; line-height: 1.55; color: var(--ink); }
.blue-rule { display:block; width: 34px; height: 2px; background: var(--blue); margin: 26px 0; }
.company-hero-art { position: relative; min-width: 0; }
.company-hero-art::before {
  content:"";
  position:absolute; inset:0 auto 0 -1px; width:42%; z-index:1;
  background: linear-gradient(90deg, #f7f8fb 0%, rgba(247,248,251,.72) 42%, rgba(247,248,251,0) 100%);
  pointer-events:none;
}
.company-hero-art img { width:100%; height:100%; object-fit:cover; object-position:center right; }

.company-positioning-section { padding: 76px 0 66px; }
.company-positioning-layout { display:grid; grid-template-columns: 1.1fr .85fr; gap: 54px; align-items:center; }
.company-positioning-copy h2 { font-size: clamp(40px, 5vw, 58px); line-height: 1.05; margin-bottom: 20px; }
.company-positioning-lead { max-width: 620px; font-size: 19px; line-height:1.55; color: var(--ink); margin-bottom: 38px; }
.company-pillars { display:grid; grid-template-columns: repeat(3,1fr); gap: 28px; border-top:1px solid var(--border); padding-top: 32px; }
.company-pillars h4 { font-size: 17px; margin-bottom: 10px; }
.company-pillars p { font-size:14.5px; color: var(--body); }
.company-map-card img { width: 100%; border-radius: var(--radius); }
.company-map-card { margin:0; opacity:.92; }

.company-credibility-section { padding: 70px 0 86px; border-top:1px solid var(--border); }
.company-credibility-layout { display:grid; grid-template-columns: 1.05fr .95fr; gap: 54px; align-items:center; }
.company-cube-art { background:#fff; border-radius: 22px; overflow:hidden; min-height: 360px; display:flex; align-items:center; border: 1px solid var(--border); }
.company-cube-art img { width:100%; height:100%; object-fit:cover; }
.company-credibility-copy h2 { font-size: clamp(36px, 4.2vw, 52px); line-height:1.08; margin-bottom: 20px; }
.lead-small { font-size: 17px; line-height:1.58; color: var(--body); max-width: 560px; margin-bottom: 34px; }
.credibility-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 28px 34px; }
.credibility-grid h4 { font-size: 17px; margin-bottom: 8px; }
.credibility-grid p { font-size: 14.5px; color: var(--body); }

@media (max-width: 900px) {
  .company-hero-match { grid-template-columns: 1fr; min-height: 0; }
  .company-hero-copy { padding: 92px 24px 36px; max-width:none; }
  .company-hero-art { height: 360px; }
  .company-hero-art::before { display:none; }
  .company-positioning-layout, .company-credibility-layout { grid-template-columns:1fr; gap: 34px; }
  .company-map-card { order: 2; }
  .company-positioning-copy { order: 1; }
  .company-pillars { grid-template-columns:1fr; }
  .company-cube-art { min-height: 260px; }
}
@media (max-width: 560px) {
  .company-hero-copy h1 { font-size: 42px; }
  .company-hero-copy .lead { font-size: 17px; }
  .company-positioning-section, .company-credibility-section { padding: 52px 0; }
  .credibility-grid { grid-template-columns:1fr; }
}

/* ===== Careers page match pass ===== */
.careers-thesis .wrap,
.open-roles-wrap,
.life-at-symatics .wrap{
  border-top:1px solid var(--border);
  padding-top:56px;
}
.careers-thesis-grid{
  display:grid;
  grid-template-columns:.85fr 1.45fr .9fr;
  gap:52px;
  align-items:start;
}
.careers-thesis-kicker p{
  color:var(--body);
  font-size:16px;
  line-height:1.7;
  max-width:260px;
}
.careers-thesis-main h2{
  font-size:clamp(34px,4.2vw,54px);
  line-height:1.02;
  letter-spacing:-.045em;
  max-width:660px;
  margin-bottom:26px;
}
.careers-thesis-main p{
  color:var(--blue);
  font-weight:700;
  font-size:17px;
  margin-top:18px;
}
.careers-thesis-side h3{
  font-size:28px;
  line-height:1.12;
  margin-bottom:24px;
}
.careers-thesis-side ul{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:22px;
}
.careers-thesis-side li{
  border-top:1px solid var(--border);
  padding-top:16px;
}
.careers-thesis-side strong{
  display:block;
  font-size:15px;
  margin-bottom:5px;
}
.careers-thesis-side span{
  color:var(--body);
  font-size:14px;
  line-height:1.55;
}
.open-roles-intro{
  display:grid;
  grid-template-columns:.7fr 1.2fr 1.1fr;
  gap:44px;
  align-items:end;
  margin-bottom:42px;
}
.open-roles-intro h2{
  font-size:clamp(38px,4.8vw,64px);
  line-height:.98;
  letter-spacing:-.05em;
}
.open-roles-intro p{
  color:var(--body);
  font-size:16px;
  line-height:1.7;
  max-width:420px;
}
.life-at-symatics{
  padding-bottom:0;
}
.life-at-grid{
  display:grid;
  grid-template-columns:.82fr 1.55fr;
  gap:64px;
  align-items:center;
}
.life-copy h2{
  font-size:clamp(42px,5vw,66px);
  line-height:.98;
  letter-spacing:-.05em;
  margin-bottom:24px;
}
.life-copy p{
  color:var(--body);
  font-size:16px;
  line-height:1.7;
  max-width:360px;
}
.life-image{
  min-height:360px;
  border-radius:var(--radius);
  overflow:hidden;
}
.life-image img{
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
  object-position:70% center;
}
.culture-principles{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  padding-top:36px!important;
  margin-top:36px;
  border-top:1px solid var(--border);
}
.culture-principles div{
  padding:0 28px;
  border-left:1px solid var(--border);
}
.culture-principles div:first-child{border-left:0;padding-left:0;}
.culture-principles strong{
  display:block;
  font-size:15px;
  margin-bottom:8px;
}
.culture-principles span{
  display:block;
  color:var(--body);
  font-size:14px;
  line-height:1.6;
}

@media (max-width:900px){
  .careers-thesis-grid,
  .open-roles-intro,
  .life-at-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .culture-principles{
    grid-template-columns:1fr 1fr;
    gap:24px;
  }
  .culture-principles div{border-left:0;padding:0;border-top:1px solid var(--border);padding-top:18px;}
}
@media (max-width:600px){
  .culture-principles{grid-template-columns:1fr;}
  .careers-thesis-main h2,
  .open-roles-intro h2,
  .life-copy h2{font-size:38px;}
}


/* ---------- contact match pass ---------- */
.contact-page header.site{background:rgba(247,248,251,.72);backdrop-filter:blur(18px)}
.contact-hero-match{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--border)}
.contact-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% center;z-index:0}
.contact-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,248,251,.98) 0%,rgba(247,248,251,.94) 23%,rgba(247,248,251,.52) 44%,rgba(247,248,251,.05) 72%);z-index:1}
.contact-hero-inner{position:relative;z-index:2;padding-top:30px}
.contact-hero-inner h1{font-size:clamp(48px,5.4vw,72px);line-height:.98;letter-spacing:-.06em;max-width:430px;margin:24px 0 24px}
.contact-hero-inner p.lead{max-width:390px;font-size:17px;line-height:1.75;color:#11131A;margin-bottom:34px}
.contact-routes-section{padding:62px 0 44px;border-bottom:1px solid var(--border)}
.contact-section-kicker{text-align:center;font-size:21px;font-weight:800;margin-bottom:30px;color:var(--ink)}
.contact-routes-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:stretch}
.contact-route-feature,.contact-route-small,.contact-form-panel,.contact-side-panel{background:rgba(255,255,255,.58);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.contact-route-feature{padding:38px 40px;min-height:360px}
.contact-icon-large{font-size:42px;color:var(--blue);line-height:1;margin-bottom:20px}
.contact-route-feature h2{font-size:30px;line-height:1.05;letter-spacing:-.04em;margin-bottom:14px}
.contact-route-feature p{max-width:560px;line-height:1.72;color:var(--body)}
.contact-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:26px 0 18px}
.contact-mini-grid>div{padding:18px 18px 18px 0;border-right:1px solid var(--border)}
.contact-mini-grid>div:last-child{border-right:0;padding-right:0;padding-left:18px}
.contact-mini-grid strong{display:block;font-size:14px;margin-bottom:8px;color:var(--ink)}
.contact-mini-grid span{display:block;font-size:13px;line-height:1.55;color:var(--muted)}
.contact-route-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.contact-route-small{padding:38px 30px;display:flex;flex-direction:column;justify-content:space-between;min-height:360px}
.contact-route-small h3{font-size:23px;letter-spacing:-.03em;margin-bottom:20px}
.contact-route-small p{line-height:1.72;color:var(--body);margin-bottom:auto}
.contact-route-small a{color:var(--blue);font-weight:700;font-size:14px;margin-top:28px;word-break:break-word}
.contact-main-section{padding:44px 0 34px}
.contact-main-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:stretch}
.contact-form-panel{padding:44px}
.contact-form-panel h2{font-size:42px;line-height:1.02;letter-spacing:-.05em;margin:16px 0 12px}
.contact-form-panel>p{max-width:470px;color:var(--body);line-height:1.7;margin-bottom:26px}
.contact-side-panel{padding:44px;display:grid;grid-template-columns:1fr;gap:42px}
.contact-info-list{list-style:none;display:grid;gap:18px;margin-top:22px;color:var(--ink);font-weight:600}
.presence-simple{display:grid;gap:22px;margin-top:22px}
.presence-simple div{display:grid;grid-template-columns:140px 1fr;gap:18px;border-top:1px solid var(--border);padding-top:18px}
.presence-simple strong{font-size:15px;color:var(--ink)}
.presence-simple span{font-size:14px;line-height:1.6;color:var(--body)}
.contact-final-cta{padding:0 0 24px}
@media(max-width:980px){
  .contact-hero-match{min-height:620px;align-items:flex-start;padding-top:50px}.contact-hero-bg{object-position:70% center}.contact-hero-shade{background:linear-gradient(90deg,rgba(247,248,251,.96) 0%,rgba(247,248,251,.82) 60%,rgba(247,248,251,.18))}.contact-routes-grid,.contact-main-grid{grid-template-columns:1fr}.contact-route-stack{grid-template-columns:1fr}.contact-route-small{min-height:0}.contact-mini-grid{grid-template-columns:1fr}.contact-mini-grid>div{border-right:0;border-bottom:1px solid var(--border);padding:16px 0}.contact-mini-grid>div:last-child{border-bottom:0;padding-left:0}.presence-simple div{grid-template-columns:1fr}
}
@media(max-width:640px){
  .contact-hero-match{min-height:560px}.contact-hero-inner h1{font-size:42px}.contact-hero-inner p.lead{font-size:15.5px}.contact-route-feature,.contact-form-panel,.contact-side-panel{padding:28px}.contact-routes-section{padding:42px 0}.contact-section-kicker{text-align:left}.contact-route-stack{gap:16px}
}

/* Mobile image source swaps: keep desktop untouched, use portrait renders on phones */
.hero-overlay > picture,
.image-banner > picture {
  display: contents;
}

@media (max-width: 768px) {
  .home-page .hero-overlay-img,
  .home-page .image-banner-img {
    object-fit: cover;
    object-position: center center;
  }

  .home-page .state-banner .image-banner-img {
    object-position: center center;
  }

  .home-page .vision-banner .image-banner-img {
    object-position: center center;
  }
}


/* ===== Technology page photo-position correction ===== */
.technology-page .tech-step-media,
.technology-page .tech-duo-item,
.technology-page .tech-closing{
  background:#F7F8FB;
}
.technology-page .tech-step-01 .tech-step-media img{
  object-fit:cover;
  object-position:center 50%;
}
.technology-page .tech-step-02 .tech-step-media img{
  object-fit:cover;
  object-position:center 50%;
}
.technology-page .tech-step-03 .tech-step-media img{
  object-fit:contain;
  object-position:center center;
}
.technology-page .tech-duo-cycle img{
  object-fit:cover;
  object-position:center center;
}
.technology-page .tech-duo-silicon img{
  object-fit:cover;
  object-position:center center;
}
.technology-page .tech-closing-bg{
  object-fit:cover;
  object-position:center 50%;
}
.technology-page .tech-closing::after{
  background:linear-gradient(90deg,rgba(247,248,251,.97) 0%,rgba(247,248,251,.92) 36%,rgba(247,248,251,.28) 70%,rgba(247,248,251,0) 100%);
}
@media (min-width: 901px){
  .technology-page .tech-duo{
    grid-template-columns:1fr 1fr;
  }
  .technology-page .tech-duo-item{
    grid-template-columns:245px 1fr;
  }
}
@media (max-width: 900px){
  .technology-page .tech-duo{
    grid-template-columns:1fr 1fr;
  }
  .technology-page .tech-duo-item{
    grid-template-columns:1fr;
  }
  .technology-page .tech-duo-item + .tech-duo-item{
    border-left:1px solid rgba(214,219,228,.95);
    border-top:0;
    padding-left:0;
  }
  .technology-page .tech-duo-item .tech-step-copy{
    padding:30px 18px 18px 0;
  }
  .technology-page .tech-duo-item img{
    min-height:210px;
  }
}
@media (max-width: 640px){
  .technology-page .tech-duo{
    grid-template-columns:1fr;
  }
  .technology-page .tech-duo-item + .tech-duo-item{
    border-left:0;
    border-top:1px solid rgba(214,219,228,.95);
  }
}

/* ===== Technology proportion correction v3 ===== */
@media (min-width: 901px){
  .technology-page .wrap,
  .technology-page header .wrap,
  .technology-page footer .wrap{
    max-width:1280px;
    margin-left:auto;
    margin-right:auto;
    padding-left:48px;
    padding-right:48px;
  }

  .tech-hero{min-height:535px;}
  .tech-hero-bg{
    left:30%;
    right:0;
    width:70%;
    height:100%;
    object-fit:contain;
    object-position:center center;
  }
  .tech-hero-shade{
    background:linear-gradient(90deg,rgba(247,248,251,.98) 0%,rgba(247,248,251,.90) 31%,rgba(247,248,251,.45) 52%,rgba(247,248,251,0) 82%);
  }
  .tech-hero-copy{max-width:455px;}
  .tech-hero h1{font-size:clamp(48px,4.6vw,62px);}
  .tech-hero p.lead{font-size:16.5px;line-height:1.7;max-width:390px;}

  .tech-step-grid{
    grid-template-columns:340px minmax(0, 1fr);
    gap:48px;
    min-height:250px;
    align-items:center;
  }
  .tech-step-copy{padding:42px 0 36px;}
  .tech-step-head span{font-size:50px;}
  .tech-step-copy h3{font-size:20px;line-height:1.15;margin-bottom:18px;}
  .tech-step-copy p{font-size:15.5px;line-height:1.62;max-width:285px;}

  .tech-step-media{
    height:250px;
    min-height:0;
    align-items:center;
    justify-content:center;
  }
  .tech-step-media img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center;
  }
  .tech-step-01 .tech-step-media img,
  .tech-step-02 .tech-step-media img{object-fit:contain;}
  .tech-step-03 .tech-step-grid{min-height:230px;}
  .tech-step-03 .tech-step-media{height:220px;min-height:0;}
  .tech-step-media.diagram{padding:0;}

  .tech-duo{
    grid-template-columns:1fr 1fr;
    min-height:238px;
    max-width:1280px;
  }
  .tech-duo-item{
    grid-template-columns:220px minmax(0,1fr);
    gap:26px;
    align-items:center;
  }
  .tech-duo-item + .tech-duo-item{padding-left:28px;}
  .tech-duo-item .tech-step-copy{padding:32px 0 28px;}
  .tech-duo-item .tech-step-head span{font-size:48px;}
  .tech-duo-item img{
    height:220px;
    min-height:0;
    width:100%;
    object-fit:contain;
    object-position:center center;
  }
  .tech-duo-silicon img{object-fit:cover;object-position:center center;}

  .tech-closing{min-height:210px;}
  .tech-closing-bg{
    left:auto;
    right:48px;
    width:56%;
    height:100%;
    object-fit:contain;
    object-position:center right;
  }
  .tech-closing-inner{min-height:210px;}
  .tech-closing-copy{max-width:620px;}
  .tech-closing h2{font-size:38px;}
  .tech-closing p{font-size:15.5px;max-width:560px;}
}

@media (max-width: 900px){
  .tech-hero{min-height:520px;}
  .tech-step-media,
  .tech-step-03 .tech-step-media{min-height:0;height:200px;}
  .tech-step-media img{object-fit:contain;}
  .tech-duo-item img{min-height:0;height:200px;object-fit:contain;}
  .tech-duo-silicon img{object-fit:cover;}
  .tech-closing-bg{object-fit:contain;object-position:right center;}
}

/* ===== Technology lock system v4: Apple/Muji proportion guard ===== */
@media (min-width: 901px){
  .technology-page{
    background:#F7F8FB;
  }

  .technology-page .wrap,
  .technology-page header .wrap,
  .technology-page footer .wrap{
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
    padding-left:44px;
    padding-right:44px;
  }

  .technology-page header.site{
    left:50%;
    right:auto;
    width:100%;
    max-width:1180px;
    transform:translateX(-50%);
  }

  .tech-hero{
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
    min-height:520px;
    max-height:560px;
    padding-top:88px;
  }
  .tech-hero-bg{
    inset:auto 0 0 auto;
    left:34%;
    width:66%;
    height:100%;
    object-fit:contain;
    object-position:center center;
  }
  .tech-hero-shade{
    background:linear-gradient(90deg,rgba(247,248,251,.99) 0%,rgba(247,248,251,.94) 32%,rgba(247,248,251,.58) 55%,rgba(247,248,251,0) 84%);
  }
  .tech-hero-copy{max-width:420px;margin-top:8px;}
  .tech-hero h1{font-size:clamp(46px,4vw,56px);line-height:1.04;}
  .tech-hero p.lead{font-size:16px;line-height:1.68;max-width:370px;}

  .tech-step-grid{
    grid-template-columns:330px minmax(0,1fr);
    gap:38px;
    min-height:230px;
    align-items:center;
  }
  .tech-step-copy{padding:36px 0 32px;}
  .tech-step-head{margin-bottom:13px;}
  .tech-step-head span{font-size:48px;}
  .tech-step-copy h3{font-size:20px;line-height:1.14;margin-bottom:16px;}
  .tech-step-copy p{font-size:15.5px;line-height:1.62;max-width:280px;}
  .tech-step-media{
    height:220px;
    min-height:0;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }
  .tech-step-media img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center;
    transform:none;
    filter:none;
  }
  .tech-step-01 .tech-step-media img{object-position:center center;}
  .tech-step-02 .tech-step-media img{object-position:center center;}
  .tech-step-03 .tech-step-grid{min-height:210px;}
  .tech-step-03 .tech-step-media{height:190px;min-height:0;}
  .tech-step-media.diagram{padding:0;}

  .tech-duo{
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
    grid-template-columns:1fr 1fr;
    min-height:220px;
  }
  .tech-duo-item{
    grid-template-columns:205px minmax(0,1fr);
    gap:22px;
    align-items:center;
  }
  .tech-duo-item + .tech-duo-item{padding-left:24px;}
  .tech-duo-item .tech-step-copy{padding:30px 0 26px;}
  .tech-duo-item .tech-step-head span{font-size:46px;}
  .tech-duo-item img{
    height:195px;
    min-height:0;
    width:100%;
    object-fit:contain;
    object-position:center center;
    transform:none;
    filter:none;
  }
  .tech-duo-silicon img{object-fit:cover;object-position:center center;}

  .tech-closing{
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
    min-height:210px;
    max-height:230px;
  }
  .tech-closing-bg{
    inset:auto 44px auto auto;
    top:22px;
    width:42%;
    height:166px;
    object-fit:contain;
    object-position:center center;
    opacity:.96;
  }
  .tech-closing::after{
    background:linear-gradient(90deg,rgba(247,248,251,.99) 0%,rgba(247,248,251,.97) 48%,rgba(247,248,251,.72) 66%,rgba(247,248,251,.08) 100%);
  }
  .tech-closing-inner{min-height:210px;}
  .tech-closing-copy{max-width:610px;padding:32px 0;}
  .tech-closing h2{font-size:36px;line-height:1.08;margin-bottom:14px;}
  .tech-closing p{font-size:15.5px;line-height:1.55;max-width:560px;}
}

@media (min-width: 1441px){
  .technology-page .wrap,
  .technology-page header .wrap,
  .technology-page footer .wrap,
  .technology-page header.site,
  .tech-hero,
  .tech-duo,
  .tech-closing{
    max-width:1180px;
  }
}

/* ===== Global large-screen proportion lock =====
   Keeps every page inside a premium editorial canvas so images do not
   keep enlarging on wide desktop monitors. */
:root{ --site-max: 1440px; }
@media (min-width: 1441px){
  header.site,
  main,
  footer.site{
    width:100%;
    max-width:var(--site-max);
    margin-left:auto;
    margin-right:auto;
  }
  header.site{ left:0; right:0; }

  .home-page .wrap,
  .architecture-page .wrap,
  .technology-page .wrap,
  .company-page .wrap,
  .contact-page .wrap{
    max-width:var(--site-max);
    padding-left:64px;
    padding-right:64px;
  }

  .hero-bleed-text-col,
  .company-hero-copy{
    padding-left:64px;
  }

  .home-page .hero-overlay,
  .arch-hero,
  .tech-hero,
  .company-hero-match,
  .contact-hero-match{
    max-height:900px;
  }
}

/* ===== Technology image mapping / crop correction ===== */
.technology-page .tech-hero-bg{
  object-position:64% 48%;
}
.technology-page .tech-step-01 .tech-step-media img{
  object-position:center center;
}
.technology-page .tech-step-02 .tech-step-media img{
  object-position:center center;
}
.technology-page .tech-duo-cycle img{
  object-position:center center;
}
.technology-page .tech-duo-silicon img{
  object-position:center center;
}
.technology-page .tech-closing-bg{
  object-position:60% center;
}


/* ===== Capabilities page proportion / alignment correction ===== */
.capabilities-page main{
  overflow:hidden;
}
.capabilities-page .hero-bleed-right{
  max-width:var(--max);
  margin:0 auto;
  padding:72px var(--pad) 88px;
  min-height:0;
  gap:68px;
  align-items:center;
}
.capabilities-page .hero-bleed-text-col{
  flex:0 0 41%;
  padding:0;
}
.capabilities-page .hero-bleed-text-col h1{
  font-size:clamp(34px,4.1vw,52px);
  line-height:1.08;
  letter-spacing:-.045em;
}
.capabilities-page .hero-bleed-text-col .lead{
  max-width:480px;
  font-size:17px;
  line-height:1.65;
}
.capabilities-page .hero-bleed-image-col{
  flex:1;
  height:405px;
  align-self:auto;
  overflow:hidden;
}
.capabilities-page .hero-bleed-image-col img{
  height:100%;
  width:100%;
  object-fit:cover;
  object-position:56% 50%;
}

.capabilities-page section.tight{
  padding:54px 0;
}
.capabilities-page .feature-row{
  align-items:center;
  gap:64px;
  padding:52px 0;
}
.capabilities-page .feature-media{
  overflow:hidden;
  border-radius:var(--radius);
}
.capabilities-page .feature-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.capabilities-page .feature-row .feature-media{
  height:300px;
}

.capabilities-page .grid-3{
  align-items:stretch;
}
.capabilities-page .grid-3 .card{
  min-height:455px;
  display:grid;
  grid-template-rows:auto auto auto 176px auto auto;
  align-content:start;
  padding:34px 34px 30px;
}
.capabilities-page .grid-3 .card > img{
  width:176px;
  height:176px;
  object-fit:contain;
  object-position:center;
  margin:6px 0 20px !important;
  border-radius:10px;
  background:#F7F8FB;
}
.capabilities-page .grid-3 .card:nth-child(3) > img{
  width:176px;
}
.capabilities-page .grid-3 .feature-list{
  margin-top:0;
}

.capabilities-page .card .grid-4{
  align-items:start;
}

.capabilities-page .cap-closing-section{
  padding:36px 0 28px;
}
.capabilities-page .cap-closing-overlay{
  position:relative;
  min-height:220px;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:#fff;
}
.capabilities-page .cap-closing-overlay img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:58% center;
}
.capabilities-page .cap-closing-overlay::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(247,248,251,.98) 0%, rgba(247,248,251,.92) 34%, rgba(247,248,251,.42) 58%, rgba(247,248,251,.04) 100%);
}
.capabilities-page .cap-closing-copy{
  position:relative;
  z-index:1;
  max-width:520px;
  padding:42px 34px;
}
.capabilities-page .cap-closing-copy h2{
  font-size:clamp(28px,3vw,36px);
  line-height:1.15;
  margin-bottom:14px;
}
.capabilities-page .cap-closing-copy p{
  color:var(--body);
  margin-bottom:24px;
  font-size:16px;
}

@media (min-width:1441px){
  .capabilities-page .wrap{
    max-width:var(--site-max);
    padding-left:64px;
    padding-right:64px;
  }
  .capabilities-page .hero-bleed-right{
    max-width:var(--site-max);
    padding-left:64px;
    padding-right:64px;
  }
  .capabilities-page .hero-bleed-image-col{height:430px;}
}

@media (max-width:900px){
  .capabilities-page .hero-bleed-right{
    flex-direction:column;
    padding:44px 24px 42px;
    gap:30px;
  }
  .capabilities-page .hero-bleed-text-col,
  .capabilities-page .hero-bleed-image-col{
    flex:none;
    width:100%;
  }
  .capabilities-page .hero-bleed-image-col{height:300px;}
  .capabilities-page .feature-row{
    grid-template-columns:1fr !important;
    gap:28px;
  }
  .capabilities-page .feature-row .feature-media{height:260px;}
  .capabilities-page .grid-3 .card{
    min-height:0;
    display:block;
  }
  .capabilities-page .grid-3 .card > img{
    width:180px;
    height:160px;
  }
  .capabilities-page .cap-closing-overlay{min-height:300px;}
  .capabilities-page .cap-closing-overlay::after{
    background:linear-gradient(180deg, rgba(247,248,251,.98) 0%, rgba(247,248,251,.84) 54%, rgba(247,248,251,.22) 100%);
  }
}


/* ===== Capabilities proportion and crop repair v7 ===== */
.capabilities-page .cap-overlay-cards{
  gap:24px;
}
.capabilities-page .cap-overlay-card{
  position:relative;
  overflow:hidden;
  min-height:360px !important;
  padding:34px 32px 30px !important;
  display:block !important;
  background:#fff;
}
.capabilities-page .cap-overlay-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.98) 44%, rgba(255,255,255,.58) 68%, rgba(255,255,255,.05) 100%);
  pointer-events:none;
  z-index:1;
}
.capabilities-page .cap-overlay-card > :not(img){
  position:relative;
  z-index:2;
  max-width:58%;
}
.capabilities-page .cap-overlay-card > img{
  position:absolute;
  z-index:0;
  right:-10px;
  bottom:26px;
  width:62% !important;
  height:58% !important;
  margin:0 !important;
  object-fit:contain !important;
  object-position:right bottom !important;
  border-radius:0 !important;
  background:transparent !important;
}
.capabilities-page .cap-card-cyclic > img{
  right:-4px;
  bottom:28px;
  width:64% !important;
}
.capabilities-page .cap-card-silicon > img{
  right:4px;
  bottom:24px;
  width:56% !important;
  height:60% !important;
}
.capabilities-page .cap-overlay-card .feature-list{
  margin-top:22px !important;
  gap:12px;
}
.capabilities-page .cap-overlay-card .feature-list li{
  font-size:14.5px;
  line-height:1.55;
}
.capabilities-page .cap-overlay-card .link-arrow{
  margin-top:18px;
}

.capabilities-page .cap-proof-card{
  padding:48px 50px !important;
  min-height:260px;
}
.capabilities-page .cap-proof-grid{
  grid-template-columns:.92fr 1.45fr !important;
  gap:64px !important;
  align-items:start !important;
}
.capabilities-page .cap-proof-title{
  font-size:38px !important;
  line-height:1.08 !important;
  margin-bottom:18px !important;
}
.capabilities-page .cap-proof-copy{
  font-size:20px !important;
  line-height:1.45 !important;
  max-width:660px;
  margin-bottom:26px !important;
}
.capabilities-page .cap-proof-items{
  gap:34px !important;
}
.capabilities-page .cap-proof-items > div{
  padding-left:24px;
  border-left:1px solid var(--border);
}
.capabilities-page .cap-proof-items svg{
  width:34px !important;
  height:34px !important;
  margin-bottom:22px !important;
}
.capabilities-page .cap-proof-items h4{
  font-size:18px !important;
  line-height:1.25;
  margin-bottom:12px !important;
}
.capabilities-page .cap-proof-items p{
  font-size:16px !important;
  line-height:1.45;
}

.capabilities-page .cap-closing-section{
  padding:42px 0 32px;
}
.capabilities-page .cap-closing-overlay{
  min-height:250px;
}
.capabilities-page .cap-closing-overlay img{
  object-fit:contain;
  object-position:right center;
  background:#F7F8FB;
}
.capabilities-page .cap-closing-overlay::after{
  background:linear-gradient(90deg, rgba(247,248,251,1) 0%, rgba(247,248,251,.96) 31%, rgba(247,248,251,.56) 51%, rgba(247,248,251,.08) 73%, rgba(247,248,251,0) 100%);
}
.capabilities-page .cap-closing-copy{
  max-width:560px;
  padding:52px 42px;
}
.capabilities-page .cap-closing-copy h2{
  font-size:clamp(34px,3.6vw,48px);
  line-height:1.1;
}

@media (max-width:1100px){
  .capabilities-page .cap-overlay-cards{
    grid-template-columns:1fr;
  }
  .capabilities-page .cap-overlay-card{
    min-height:330px !important;
  }
  .capabilities-page .cap-overlay-card > :not(img){
    max-width:48%;
  }
  .capabilities-page .cap-overlay-card > img{
    width:58% !important;
    height:78% !important;
  }
  .capabilities-page .cap-proof-grid{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
}
@media (max-width:700px){
  .capabilities-page .cap-overlay-card{
    min-height:0 !important;
    padding:28px !important;
  }
  .capabilities-page .cap-overlay-card::after{display:none;}
  .capabilities-page .cap-overlay-card > :not(img){max-width:none;}
  .capabilities-page .cap-overlay-card > img{
    position:relative;
    right:auto;
    bottom:auto;
    width:100% !important;
    height:190px !important;
    margin:18px 0 !important;
  }
  .capabilities-page .cap-proof-card{padding:30px 24px !important;}
  .capabilities-page .cap-proof-title{font-size:30px !important;}
  .capabilities-page .cap-proof-copy{font-size:16px !important;}
  .capabilities-page .cap-proof-items{grid-template-columns:1fr !important;}
  .capabilities-page .cap-proof-items > div{padding-left:0;border-left:0;}
  .capabilities-page .cap-closing-overlay{min-height:330px;}
  .capabilities-page .cap-closing-overlay img{object-fit:cover;object-position:66% center;}
  .capabilities-page .cap-closing-copy{padding:36px 28px;}
}

/* ===== v8 global / company / capabilities corrections ===== */
:root{ --site-max:1180px; }
header.site, main, footer.site{max-width:var(--site-max);margin-left:auto;margin-right:auto;}
header.site{width:100%;}
.nav{gap:34px;}
.nav-links{gap:34px;}
.brand{flex:0 0 auto;}
@media (min-width:1181px){body{background:#eef0f4;} header.site,main,footer.site{box-shadow:0 0 0 1px rgba(17,19,26,.04);}}

/* Company: tighter Apple/Muji editorial rhythm */
.company-page{background:#F7F8FB;}
.company-hero-match{max-width:var(--max);margin:0 auto;padding:72px var(--pad) 72px;grid-template-columns:.86fr 1.14fr;gap:58px;min-height:0;border-bottom:1px solid var(--border);}
.company-hero-copy{padding:0;align-self:center;}
.company-hero-copy h1{font-size:clamp(46px,4.6vw,62px);line-height:.98;letter-spacing:-.055em;max-width:560px;}
.company-hero-copy .lead{font-size:17px;line-height:1.55;max-width:410px;margin-top:24px;}
.company-hero-art{height:424px;border-radius:0;overflow:hidden;}
.company-hero-art::before{display:none;}
.company-hero-art img{width:100%;height:100%;object-fit:cover;object-position:center center;}

.company-positioning-section{padding:52px 0;border-bottom:1px solid var(--border);}
.company-positioning-layout{grid-template-columns:1.08fr 1fr;gap:58px;align-items:center;}
.company-positioning-copy h2{font-size:clamp(40px,4vw,56px);line-height:1.02;margin-bottom:36px;}
.company-positioning-lead{display:none;}
.company-map-card{position:relative;margin:0;border-radius:18px;overflow:visible;}
.company-map-card img{border-radius:18px;width:100%;}
.company-map-labeled .map-label{position:absolute;background:#fff;border-radius:8px;padding:10px 16px;box-shadow:0 10px 28px rgba(17,19,26,.10);font-weight:700;font-size:13px;color:var(--ink);line-height:1.25;}
.map-label-taiwan{top:12%;left:63%;}
.map-label-sg{bottom:20%;left:31%;}
.map-label-eco{top:44%;left:58%;}
.company-pillars{border-top:0;padding-top:0;gap:0;}
.company-pillars-icons{grid-template-columns:repeat(3,1fr);}
.company-pillars-icons>div{padding:0 28px;border-left:1px solid var(--border);}
.company-pillars-icons>div:first-child{border-left:0;padding-left:0;}
.company-pillar-icon{display:block;color:var(--blue);font-size:44px;line-height:1;margin-bottom:22px;font-weight:500;}
.company-pillars h4{font-size:22px;line-height:1.22;margin-bottom:16px;letter-spacing:-.025em;}
.company-pillars p{font-size:16px;line-height:1.55;color:var(--ink);}

.company-credibility-section{padding:44px 0 54px;border-top:0;}
.company-transition-band{padding:0 0 42px;border-bottom:1px solid var(--border);text-align:center;}
.eyebrow.center{justify-content:center;margin-bottom:12px;}
.company-transition-band h3{font-size:30px;line-height:1.15;margin-bottom:24px;}
.transition-row{display:grid;grid-template-columns:190px 1fr 190px;gap:34px;align-items:center;text-align:left;}
.transition-row img{width:100%;height:180px;object-fit:cover;object-position:center;border-radius:0;}
.transition-side h4{text-transform:uppercase;font-size:14px;letter-spacing:.04em;margin-bottom:12px;}
.blue-rule{display:block;width:28px;height:2px;background:var(--blue);margin:0 0 18px;}
.transition-side p{font-size:17px;line-height:1.65;color:var(--ink);font-weight:600;}
.company-people-block{padding-top:34px;}
.company-people-block h2{font-size:clamp(32px,3.4vw,46px);line-height:1.08;margin-bottom:24px;max-width:920px;}
.company-people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.company-people-grid article{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.company-people-grid img{width:100%;height:136px;object-fit:cover;}
.company-people-grid h4{font-size:17px;margin:18px 18px 8px;}
.company-people-grid p{font-size:14.5px;line-height:1.55;color:var(--ink);margin:0 18px 22px;}

/* Capabilities: compress vertical rhythm and restore cards as image/text overlay panels */
.capabilities-page .hero-bleed-right{padding-top:52px;padding-bottom:54px;gap:52px;}
.capabilities-page section.tight{padding:34px 0;}
.capabilities-page .feature-row{padding:36px 0;gap:52px;}
.capabilities-page .feature-row .feature-media{height:280px;}
.capabilities-page .cap-overlay-cards-section{padding-top:24px;padding-bottom:32px;}
.capabilities-page .cap-overlay-cards{gap:16px;}
.capabilities-page .cap-overlay-card{position:relative;overflow:hidden;min-height:300px!important;padding:30px 30px 26px!important;display:block!important;background:#fff;}
.capabilities-page .cap-overlay-card h3,.capabilities-page .cap-overlay-card p,.capabilities-page .cap-overlay-card ul,.capabilities-page .cap-overlay-card a,.capabilities-page .cap-overlay-card .num{position:relative;z-index:2;max-width:58%;}
.capabilities-page .cap-overlay-card>img{position:absolute!important;right:-16px;bottom:18px;width:52%!important;height:auto!important;max-height:210px!important;object-fit:contain!important;background:transparent!important;margin:0!important;border-radius:0!important;z-index:1;}
.capabilities-page .cap-card-silicon>img{right:-4px;bottom:22px;width:48%!important;}
.capabilities-page .cap-overlay-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,#fff 48%,rgba(255,255,255,.72) 62%,rgba(255,255,255,.18) 100%);z-index:1;pointer-events:none;}
.capabilities-page .cap-proof-card{padding:42px 44px!important;}
.capabilities-page .cap-proof-title{font-size:36px!important;line-height:1.1!important;}
.capabilities-page .cap-proof-copy{font-size:18px!important;line-height:1.5!important;max-width:540px;}
.capabilities-page .cap-proof-items{gap:28px!important;}
.capabilities-page .cap-proof-items svg{width:34px;height:34px;margin-bottom:18px!important;}
.capabilities-page .cap-proof-items h4{font-size:16px!important;line-height:1.25!important;}
.capabilities-page .cap-proof-items p{font-size:14.5px!important;line-height:1.5!important;}
.capabilities-page .cap-closing-section{padding:28px 0 20px;}
.capabilities-page .cap-closing-overlay{min-height:232px;}
.capabilities-page .cap-closing-overlay img{width:112%;height:100%;object-fit:cover;object-position:center center;transform:translateX(5%);}
.capabilities-page .cap-closing-overlay::after{background:linear-gradient(90deg,rgba(247,248,251,.99) 0%,rgba(247,248,251,.96) 34%,rgba(247,248,251,.54) 56%,rgba(247,248,251,.06) 100%);}
.capabilities-page .cap-closing-copy h2{font-size:clamp(32px,3.4vw,42px);line-height:1.08;}
.capabilities-page .cap-closing-copy{padding:38px 34px;}

@media (max-width:900px){
  header.site,main,footer.site{max-width:none;box-shadow:none;}
  .company-hero-match,.company-positioning-layout,.transition-row,.company-people-grid{grid-template-columns:1fr;}
  .company-hero-match{padding:44px 24px 40px;gap:28px;}
  .company-hero-art{height:330px;}
  .company-positioning-section{padding:38px 0;}
  .company-pillars-icons{grid-template-columns:1fr;gap:22px;}
  .company-pillars-icons>div{border-left:0;padding:0;}
  .transition-row img{height:150px;}
  .capabilities-page .cap-overlay-cards{grid-template-columns:1fr;}
  .capabilities-page .cap-overlay-card h3,.capabilities-page .cap-overlay-card p,.capabilities-page .cap-overlay-card ul,.capabilities-page .cap-overlay-card a,.capabilities-page .cap-overlay-card .num{max-width:68%;}
}


/* =========================================================
   FINAL SYSTEM PASS — global lock, overlay, crop, spacing
   Scope: all pages. No copy/content changes.
   ========================================================= */
:root{
  --site-max: 1180px;
  --page-bg: #F7F8FB;
  --section-gap: 42px;
}
body{background:#EEF0F4;}
header.site, main, footer.site{
  width:100%;
  max-width:var(--site-max);
  margin-left:auto;
  margin-right:auto;
  background:var(--page-bg);
}
header.site{box-shadow:none;}
.wrap{max-width:var(--site-max);padding-left:64px;padding-right:64px;}
.nav{height:68px;gap:28px;}
.brand{font-size:18px;min-width:150px;white-space:nowrap;}
.brand img{width:28px;height:28px;flex:0 0 28px;}
.nav-links{gap:30px;flex:0 1 auto;}
.nav-links a{font-size:13.5px;padding-bottom:20px;}
.btn{font-size:13.5px;padding:11px 18px;}
section{padding:52px 0;}
section.tight{padding:44px 0;}
img{image-rendering:auto;}

/* Global full-bleed hero becomes fixed editorial canvas */
.hero-bleed-right{
  max-width:var(--site-max);
  margin:0 auto;
  min-height:0;
  padding:56px 64px;
  display:grid;
  grid-template-columns:.92fr 1.28fr;
  gap:52px;
  align-items:center;
  border-bottom:1px solid var(--border);
}
.hero-bleed-text-col{padding:0!important;max-width:520px;}
.hero-bleed-text-col h1{font-size:clamp(42px,4.2vw,62px);line-height:1.02;letter-spacing:-.055em;}
.hero-bleed-text-col .lead{font-size:16px;line-height:1.65;max-width:420px;color:var(--ink);}
.hero-bleed-image-col{height:390px;border-radius:0;overflow:hidden;align-self:auto;}
.hero-bleed-image-col img{width:100%;height:100%;object-fit:cover;}

/* TECHNOLOGY — keep corrected mapping, tighten spacing and crops */
.technology-page .wrap, .technology-page header .wrap, .technology-page footer .wrap{max-width:var(--site-max);padding-left:64px;padding-right:64px;}
.tech-hero{max-width:var(--site-max);margin:0 auto;min-height:510px;max-height:540px;padding:82px 0;border-bottom:1px solid var(--border);}
.tech-hero-bg{left:35%;width:65%;object-fit:contain!important;object-position:58% center!important;}
.tech-hero h1{font-size:clamp(46px,4.1vw,58px);}
.tech-step-grid{grid-template-columns:330px 1fr;min-height:220px;gap:40px;}
.tech-step-copy{padding:34px 0 30px;}
.tech-step-media{height:220px!important;min-height:0!important;}
.tech-step-media img{object-fit:contain!important;object-position:center center!important;}
.tech-duo{max-width:var(--site-max);grid-template-columns:1fr 1fr;min-height:220px;}
.tech-duo-item{grid-template-columns:210px 1fr;gap:24px;}
.tech-duo-item img{height:205px!important;min-height:0!important;object-fit:contain!important;}
.tech-duo-silicon img{object-fit:cover!important;}
.tech-closing{max-width:var(--site-max);min-height:220px;max-height:240px;}
.tech-closing-bg{right:64px;width:46%;height:176px;top:22px;object-fit:contain!important;object-position:62% center!important;}
.tech-closing::after{background:linear-gradient(90deg,rgba(247,248,251,1) 0%,rgba(247,248,251,.96) 40%,rgba(247,248,251,.55) 63%,rgba(247,248,251,0) 100%)!important;}

/* CAPABILITIES — compress and align to approved density */
.capabilities-page .wrap{padding-left:64px;padding-right:64px;}
.capabilities-page .hero-bleed-right{padding:54px 64px;gap:50px;}
.capabilities-page .hero-bleed-image-col{height:360px;}
.capabilities-page .hero-bleed-image-col img{object-position:56% 50%;}
.capabilities-page section.tight{padding:32px 0;}
.capabilities-page .feature-row{padding:34px 0;gap:48px;}
.capabilities-page .feature-row .feature-media{height:270px;}
.capabilities-page .cap-overlay-cards-section{padding:24px 0 28px;}
.capabilities-page .cap-overlay-cards{gap:14px;}
.capabilities-page .cap-overlay-card{min-height:286px!important;padding:28px!important;border-radius:12px;}
.capabilities-page .cap-overlay-card>img{right:-10px!important;bottom:16px!important;width:54%!important;max-height:205px!important;}
.capabilities-page .cap-card-silicon>img{width:50%!important;right:0!important;}
.capabilities-page .cap-overlay-card h3,.capabilities-page .cap-overlay-card p,.capabilities-page .cap-overlay-card ul,.capabilities-page .cap-overlay-card a,.capabilities-page .cap-overlay-card .num{max-width:58%;}
.capabilities-page .cap-proof-card{padding:38px 42px!important;}
.capabilities-page .cap-proof-grid{grid-template-columns:.9fr 1.45fr!important;gap:54px!important;}
.capabilities-page .cap-proof-title{font-size:34px!important;}
.capabilities-page .cap-proof-copy{font-size:17px!important;line-height:1.5!important;}
.capabilities-page .cap-proof-items{gap:22px!important;}
.capabilities-page .cap-closing-section{padding:26px 0 18px;}
.capabilities-page .cap-closing-overlay{min-height:220px;}
.capabilities-page .cap-closing-overlay img{object-fit:cover!important;object-position:74% center!important;transform:none!important;width:100%;}
.capabilities-page .cap-closing-copy{padding:36px 34px;max-width:560px;}

/* COMPANY — restore approved section hierarchy, map labels, compact rhythm */
.company-page{background:var(--page-bg);}
.company-hero-match{
  max-width:var(--site-max);
  padding:56px 64px 62px;
  grid-template-columns:.88fr 1.12fr;
  gap:48px;
  align-items:center;
  border-bottom:1px solid var(--border);
}
.company-hero-copy h1{font-size:clamp(44px,4.2vw,60px);line-height:1.0;}
.company-hero-copy .lead{font-size:16px;line-height:1.55;margin-top:22px;}
.company-hero-art{height:390px;background:#F7F8FB;}
.company-hero-art img{object-fit:contain!important;object-position:right center!important;}
.company-positioning-section{padding:42px 0;border-bottom:1px solid var(--border);}
.company-positioning-layout{grid-template-columns:1.05fr 1fr;gap:50px;}
.company-map-card{overflow:hidden!important;border-radius:0!important;background:transparent;}
.company-map-card img{border-radius:0!important;width:100%;height:auto;}
.company-map-labeled .map-label{display:none!important;}
.company-positioning-copy h2{font-size:clamp(40px,3.9vw,56px);margin-bottom:32px;}
.company-pillars-icons>div{padding:0 24px;}
.company-pillar-icon{font-size:40px;margin-bottom:18px;}
.company-pillars h4{font-size:21px;}
.company-pillars p{font-size:15.5px;line-height:1.55;}
.company-credibility-section{padding:36px 0 48px;}
.company-transition-band{padding-bottom:34px;}
.company-transition-band h3{font-size:28px;margin-bottom:20px;}
.transition-row{grid-template-columns:170px 1fr 170px;gap:28px;}
.transition-row img{height:160px;object-fit:contain;}
.company-people-block{padding-top:30px;}
.company-people-block h2{font-size:clamp(31px,3.2vw,44px);margin-bottom:22px;}
.company-people-grid{gap:18px;}
.company-people-grid img{height:122px;}

/* CAREERS — approved white background, integrated hero/overlay, compact sections */
body:not(.contact-page) main{background:var(--page-bg);}
.careers-thesis .wrap,.open-roles-wrap,.life-at-symatics .wrap{padding-top:40px;border-top:1px solid var(--border);}
body:has(.careers-thesis) .hero-bleed-right{padding-top:50px;padding-bottom:50px;grid-template-columns:.82fr 1.45fr;gap:42px;}
body:has(.careers-thesis) .hero-bleed-image-col{height:430px;position:relative;}
body:has(.careers-thesis) .hero-bleed-image-col::before{content:"";position:absolute;inset:0 auto 0 0;width:38%;z-index:1;background:linear-gradient(90deg,var(--page-bg) 0%,rgba(247,248,251,.72) 55%,rgba(247,248,251,0) 100%);pointer-events:none;}
body:has(.careers-thesis) .hero-bleed-image-col img{object-position:58% center;}
.careers-thesis{padding:0;}
.careers-thesis-grid{grid-template-columns:.95fr 1.25fr .95fr;gap:40px;}
.careers-thesis-main h2{font-size:clamp(32px,3.4vw,48px);line-height:1.05;margin-bottom:18px;}
.careers-thesis-side h3{font-size:25px;}
.open-roles-wrap{padding-top:40px;}
.open-roles-intro{grid-template-columns:.7fr 1.05fr 1.05fr;gap:36px;margin-bottom:28px;}
.open-roles-intro h2{font-size:clamp(36px,4vw,58px);}
.roles-table th,.roles-table td{padding-top:17px;padding-bottom:17px;}
.life-at-symatics{padding-top:0;padding-bottom:0;}
.life-at-grid{grid-template-columns:.76fr 1.5fr;gap:54px;align-items:center;}
.life-copy h2{font-size:clamp(48px,5.2vw,76px);line-height:.96;}
.life-image{height:360px;min-height:0;position:relative;background:#fff;}
.life-image::before{content:"";position:absolute;inset:0 auto 0 0;width:55%;z-index:1;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.88) 55%,rgba(255,255,255,0) 100%);pointer-events:none;}
.life-image img{height:100%;min-height:0;object-fit:cover;object-position:72% center;}
.culture-principles{padding-top:30px!important;margin-top:30px;}
.culture-principles div{padding:0 24px;}

/* CONTACT — align hero and sections to same container; restore overlay and density */
.contact-page, .contact-page main{background:var(--page-bg);}
.contact-hero-match{max-width:var(--site-max);margin:0 auto;min-height:560px;border-bottom:1px solid var(--border);}
.contact-hero-bg{object-position:64% center!important;}
.contact-hero-shade{background:linear-gradient(90deg,rgba(247,248,251,1) 0%,rgba(247,248,251,.96) 28%,rgba(247,248,251,.58) 47%,rgba(247,248,251,.06) 78%)!important;}
.contact-hero-inner{padding-left:64px;padding-right:64px;}
.contact-hero-inner h1{font-size:clamp(48px,5vw,70px);max-width:430px;}
.contact-hero-inner p.lead{font-size:16px;line-height:1.68;max-width:420px;}
.contact-routes-section{padding:38px 0 30px;}
.contact-main-section{padding:30px 0 26px;}
.contact-final-cta{padding:0 0 24px;}
.contact-routes-grid{grid-template-columns:1.1fr 1fr;gap:18px;}
.contact-route-stack{gap:18px;}
.contact-route-feature{padding:34px;min-height:320px;}
.contact-route-small{padding:34px 26px;min-height:320px;}
.contact-main-grid{grid-template-columns:1fr 1fr;gap:24px;}
.contact-form-panel,.contact-side-panel{padding:38px;}
.cta-banner{border-radius:12px;}

/* footer spacing consistency */
footer.site{padding-top:34px;padding-bottom:28px;background:var(--page-bg);}
.footer-top{padding-top:0;}
.footer-bottom{padding-top:28px;margin-top:34px;}

@media (max-width:900px){
  header.site,main,footer.site{max-width:none;box-shadow:none;}
  .wrap{padding-left:24px;padding-right:24px;}
  .hero-bleed-right{grid-template-columns:1fr;padding:42px 24px;gap:28px;}
  .hero-bleed-image-col{height:320px;}
  .company-hero-match,.company-positioning-layout,.transition-row,.company-people-grid,.careers-thesis-grid,.open-roles-intro,.life-at-grid,.contact-routes-grid,.contact-main-grid{grid-template-columns:1fr!important;}
  .company-hero-match{padding:42px 24px;}
  .company-hero-art{height:320px;}
  .company-pillars-icons{grid-template-columns:1fr;gap:22px;}
  .company-pillars-icons>div{border-left:0;padding:0;}
  .company-people-grid{gap:16px;}
  .contact-hero-inner{padding-left:24px;padding-right:24px;}
  .contact-route-stack{grid-template-columns:1fr;}
  .capabilities-page .hero-bleed-right{padding:42px 24px;}
  .capabilities-page .cap-proof-grid{grid-template-columns:1fr!important;}
}

/* CONTACT v10 — rebuild to match approved reference */
.contact-page main{background:#F7F8FB!important;}
.contact-page .wrap{max-width:1440px!important;padding-left:36px!important;padding-right:36px!important;}
.contact-hero-match{
  max-width:1440px!important;
  min-height:620px!important;
  margin:0 auto!important;
  overflow:hidden!important;
  position:relative!important;
  border-bottom:1px solid var(--border)!important;
  background:#fff!important;
}
.contact-hero-bg{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:66% center!important;z-index:0!important;
}
.contact-hero-shade{
  position:absolute!important;inset:0!important;z-index:1!important;
  background:linear-gradient(90deg,
    rgba(255,255,255,1) 0%,
    rgba(255,255,255,.98) 27%,
    rgba(255,255,255,.82) 34%,
    rgba(255,255,255,.28) 43%,
    rgba(255,255,255,0) 56%)!important;
}
.contact-hero-inner{
  position:relative!important;z-index:2!important;
  padding:108px 36px 80px!important;
}
.contact-hero-inner h1{
  font-size:clamp(54px,5.8vw,82px)!important;
  line-height:.99!important;letter-spacing:-.06em!important;
  max-width:450px!important;margin:26px 0 28px!important;
}
.contact-hero-inner p.lead{
  max-width:430px!important;font-size:17px!important;line-height:1.72!important;color:#11131A!important;margin-bottom:34px!important;
}
.contact-v10-routes{padding:30px 0 18px!important;border-bottom:0!important;background:#fff0!important;}
.contact-section-kicker{text-align:center!important;font-size:22px!important;font-weight:800!important;margin-bottom:22px!important;}
.contact-v10-route-grid{display:grid!important;grid-template-columns:2.05fr .82fr .82fr .82fr!important;gap:12px!important;align-items:stretch!important;}
.contact-v10-card{background:rgba(255,255,255,.72)!important;border:1px solid #E2E6ED!important;border-radius:13px!important;box-shadow:0 18px 50px rgba(17,19,26,.035)!important;}
.contact-route-feature{padding:44px 34px 30px!important;min-height:370px!important;display:flex!important;flex-direction:column!important;}
.contact-route-feature h2{font-size:30px!important;line-height:1.05!important;margin-bottom:14px!important;}
.contact-route-feature p{font-size:16px!important;line-height:1.62!important;color:#273041!important;max-width:520px!important;}
.contact-v10-icon svg{width:56px;height:56px;stroke:#2F5BFF;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:20px;}
.contact-v10-icon.small svg{width:54px;height:54px;margin-bottom:44px;}
.contact-route-small{padding:44px 28px 30px!important;min-height:370px!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;}
.contact-route-small h3{font-size:25px!important;line-height:1.05!important;margin:0 0 22px!important;}
.contact-route-small p{font-size:16px!important;line-height:1.68!important;color:#273041!important;margin:0 0 auto!important;}
.contact-route-small a{font-size:15px!important;font-weight:700!important;color:var(--blue)!important;word-break:normal!important;margin-top:40px!important;}
.contact-mini-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;margin:30px 0 22px!important;border-top:1px solid #E2E6ED!important;border-bottom:1px solid #E2E6ED!important;}
.contact-mini-grid>div{padding:18px 16px 18px 0!important;border-right:1px solid #E2E6ED!important;}
.contact-mini-grid>div:last-child{border-right:0!important;padding-left:18px!important;}
.mini-ico{display:block!important;font-size:28px!important;color:#2F5BFF!important;margin-bottom:10px!important;}
.contact-mini-grid strong{font-size:14px!important;line-height:1.25!important;}
.contact-mini-grid span{font-size:13px!important;line-height:1.5!important;color:#273041!important;}
.contact-v10-main{padding:0 0 26px!important;}
.contact-v10-combined{display:grid!important;grid-template-columns:1.08fr .82fr 1fr!important;gap:0!important;background:rgba(255,255,255,.74)!important;border:1px solid #E2E6ED!important;border-radius:13px!important;box-shadow:0 18px 50px rgba(17,19,26,.035)!important;overflow:hidden!important;}
.contact-v10-formcol,.contact-v10-infocol,.contact-v10-presencecol{padding:34px 34px 36px!important;}
.contact-v10-infocol,.contact-v10-presencecol{border-left:1px solid #E2E6ED!important;}
.contact-v10-combined h3{font-size:21px!important;line-height:1.1!important;margin:0 0 12px!important;font-weight:800!important;}
.contact-v10-formcol>p{font-size:14px!important;color:#5B6472!important;margin-bottom:22px!important;}
.contact-v10-combined .field label{display:none!important;}
.contact-v10-combined input,.contact-v10-combined select,.contact-v10-combined textarea{height:45px!important;border-radius:7px!important;background:#fff!important;border:1px solid #DDE2EA!important;padding:0 14px!important;font:inherit!important;font-size:14px!important;}
.contact-v10-combined textarea{height:96px!important;padding-top:14px!important;}
.contact-v10-combined .form-grid{gap:12px!important;}
.contact-info-list.v10{gap:24px!important;margin-top:30px!important;}
.contact-info-list.v10 li{display:flex!important;align-items:center!important;gap:18px!important;font-size:15px!important;font-weight:700!important;}
.contact-info-list.v10 span{width:24px!important;color:#2F5BFF!important;font-weight:800!important;text-align:center!important;}
.presence-timeline{position:relative!important;margin-top:18px!important;display:grid!important;gap:20px!important;}
.presence-timeline::before{content:"";position:absolute;left:36px;top:46px;bottom:46px;width:1px;background:#D7DEE9;}
.presence-timeline div{display:grid!important;grid-template-columns:72px 1fr!important;column-gap:18px!important;align-items:center!important;position:relative!important;}
.presence-timeline i{grid-row:1 / span 2;width:64px;height:64px;border-radius:50%;background:#F0F3F8;border:1px solid #E2E6ED;display:flex;align-items:center;justify-content:center;color:#2F5BFF;font-style:normal;font-size:28px;z-index:1;}
.presence-timeline strong{font-size:16px!important;line-height:1.2!important;}
.presence-timeline span{font-size:14px!important;line-height:1.55!important;color:#273041!important;}
.contact-final-cta{padding:0 0 28px!important;}
.contact-final-cta .cta-banner{min-height:170px!important;border-radius:12px!important;padding:46px 54px!important;}
@media (max-width:900px){
  .contact-page .wrap{padding-left:24px!important;padding-right:24px!important;}
  .contact-hero-match{min-height:600px!important;}
  .contact-hero-inner{padding:70px 24px!important;}
  .contact-hero-bg{object-position:62% center!important;}
  .contact-hero-shade{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 54%,rgba(255,255,255,.18) 100%)!important;}
  .contact-v10-route-grid,.contact-v10-combined{grid-template-columns:1fr!important;}
  .contact-v10-infocol,.contact-v10-presencecol{border-left:0!important;border-top:1px solid #E2E6ED!important;}
}

/* ===== v11 ARCHITECTURE FIDELITY FIX ===== */
/* remove accidental dark bars behind section labels */
.eyebrow,
.arch-hero-copy .eyebrow,
.arch-vision-copy .eyebrow,
.arch-principles-card .eyebrow,
.home-page .hero-overlay-text .eyebrow{
  background: transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  display:flex !important;
  width:auto !important;
  max-width:none !important;
}
.eyebrow::before{flex:0 0 18px!important;width:18px!important;height:1.5px!important;background:var(--blue)!important;}

/* architecture master contained hero + crop */
.architecture-page .arch-hero{
  max-width: var(--max);
  margin: 0 auto;
  min-height: 670px !important;
  padding-top: 92px !important;
  border-left:1px solid var(--border);
  border-right:1px solid var(--border);
}
.architecture-page .arch-hero-bg{
  object-fit: cover !important;
  object-position: 58% center !important;
  transform: scale(1.035);
  transform-origin:center;
}
.architecture-page .arch-hero-shade{
  background: linear-gradient(90deg,rgba(247,248,251,.98) 0%,rgba(247,248,251,.86) 24%,rgba(247,248,251,.42) 46%,rgba(247,248,251,.08) 72%,rgba(247,248,251,0) 100%) !important;
}
.architecture-page .arch-hero-copy{
  max-width: 500px !important;
  margin-top: 10px !important;
}
.architecture-page .arch-hero-copy .eyebrow{margin-bottom:22px!important;}
.architecture-page .arch-hero h1{
  font-size: clamp(54px,5vw,72px) !important;
  line-height: .98 !important;
  margin-bottom: 28px !important;
  max-width: 560px;
}
.architecture-page .arch-hero p.lead{
  font-size: 17px !important;
  line-height: 1.68 !important;
  max-width: 535px !important;
  margin-bottom: 36px !important;
}
.architecture-page .arch-hero .hero-actions{
  margin-bottom: 68px !important;
  gap:28px !important;
}
.architecture-page .arch-compare-section{
  margin-top: -28px !important;
}

/* comparison card overlay-style density */
.architecture-page .arch-compare-card{
  grid-template-columns: minmax(0,1fr) 54px minmax(0,1fr) !important;
  gap:22px !important;
  padding:34px 40px 32px !important;
  overflow:hidden;
}
.architecture-page .arch-compare-col{position:relative;min-height:330px;}
.architecture-page .arch-compare-body,
.architecture-page .arch-compare-body.right{
  display:block !important;
  min-height:210px !important;
  position:relative;
}
.architecture-page .arch-compare-body .compare-steps{
  position:relative;
  z-index:2;
  width:145px;
  font-size:15px!important;
  line-height:1.18!important;
  background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.82) 70%,rgba(255,255,255,0));
  padding-right:14px;
}
.architecture-page .arch-compare-img{
  position:absolute;
  z-index:1;
  top:6px;
  right:0;
  width:72%!important;
  height:210px!important;
  max-height:none!important;
  object-fit:contain!important;
  border-radius:10px;
}
.architecture-page .arch-compare-img.particles{opacity:.9;right:10px;width:78%!important;}
.architecture-page .arch-compare-img.grid{width:72%!important;right:0;}
.architecture-page .arch-result{margin-top:20px!important;font-size:17px!important;line-height:1.28!important;}
.architecture-page .arch-vs{margin-top:95px;}

/* principles tighter spacing + approved images */
.architecture-page .arch-principles-card{
  padding:26px 36px 30px !important;
}
.architecture-page .arch-principles-card .eyebrow{margin-bottom:22px!important;}
.architecture-page .arch-principles-grid article{
  padding:0 24px !important;
}
.architecture-page .arch-principle-title{
  gap:12px!important;
  min-height:52px!important;
  margin-bottom:12px!important;
  align-items:flex-start!important;
}
.architecture-page .arch-principle-title span{font-size:33px!important;}
.architecture-page .arch-principle-title h3{font-size:16px!important;line-height:1.05!important;}
.architecture-page .arch-principles-grid img{
  height:104px !important;
  object-fit:contain!important;
  margin:0 0 14px!important;
  width:100%!important;
}
.architecture-page .arch-principles-grid p{
  font-size:15px!important;
  line-height:1.42!important;
}

/* Our Vision as compact overlay banner */
.architecture-page .arch-vision-card{
  position:relative;
  display:grid!important;
  grid-template-columns:.9fr .9fr 1.25fr!important;
  gap:28px!important;
  padding:30px 36px!important;
  min-height:176px!important;
  overflow:hidden!important;
}
.architecture-page .arch-vision-card::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 45%,rgba(255,255,255,.55) 63%,rgba(255,255,255,0) 100%);
  pointer-events:none;
  z-index:1;
}
.architecture-page .arch-vision-card>*{position:relative;z-index:2;}
.architecture-page .arch-vision-card img{
  position:absolute!important;
  z-index:0!important;
  top:0;right:0;bottom:0;
  width:45%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:0 12px 12px 0!important;
}
.architecture-page .arch-vision-copy .eyebrow{margin-bottom:12px!important;}
.architecture-page .arch-vision-copy h2{
  font-size:clamp(25px,2.55vw,34px)!important;
  line-height:1.08!important;
}
.architecture-page .arch-vision-card p{
  font-size:15.5px!important;
  line-height:1.5!important;
  max-width:360px!important;
}

/* dark CTA banner match reference */
.architecture-page .cta-banner{
  display:grid!important;
  grid-template-columns:260px minmax(0,1fr) 260px!important;
  align-items:center!important;
  gap:34px!important;
  min-height:142px!important;
  padding:28px 48px!important;
  position:relative;overflow:hidden;
}
.architecture-page .cta-banner::after{
  content:"";position:absolute;right:0;bottom:0;width:260px;height:120px;
  background:radial-gradient(circle at bottom right,rgba(47,92,255,.35),rgba(47,92,255,0) 70%);
  opacity:.7;pointer-events:none;
}
.architecture-page .cta-banner > div:first-child{display:contents!important;}
.architecture-page .cta-banner img{
  width:240px!important;height:84px!important;object-fit:cover!important;border-radius:10px!important;
}
.architecture-page .cta-banner h3{
  font-size:28px!important;line-height:1.22!important;margin:0!important;justify-self:start!important;
}
.architecture-page .cta-banner-actions{
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:12px!important;
  position:relative;z-index:2;
}
.architecture-page .cta-banner-actions .btn{justify-content:center!important;white-space:nowrap!important;}

@media (max-width:900px){
  .architecture-page .arch-hero{max-width:none;border-left:0;border-right:0;min-height:auto!important;padding-top:88px!important;}
  .architecture-page .arch-compare-card,.architecture-page .arch-principles-grid,.architecture-page .arch-vision-card,.architecture-page .cta-banner{display:block!important;}
  .architecture-page .arch-compare-img{position:relative!important;width:100%!important;height:auto!important;right:auto!important;top:auto!important;margin-top:14px;}
  .architecture-page .arch-vision-card img{position:relative!important;width:100%!important;height:180px!important;margin-top:20px;}
}


/* =========================================================
   v12 COMPLETE FIDELITY PASS — flagged missing fixes
   Scope: crop, overlay, spacing, footer, section density.
   ========================================================= */
:root{
  --site-max:1180px!important;
  --page-bg:#F7F8FB!important;
  --section-y:68px!important;
  --section-y-sm:42px!important;
}
body{background:var(--page-bg)!important;}
header.site, main, footer.site{max-width:none!important; box-shadow:none!important;}
.wrap{max-width:var(--site-max)!important; margin-left:auto!important; margin-right:auto!important; padding-left:24px!important; padding-right:24px!important;}
section{padding-top:68px!important; padding-bottom:68px!important;}
section.tight{padding-top:44px!important; padding-bottom:44px!important;}
img{image-rendering:auto!important;}

/* unified clean eyebrow labels — no dark/black bar anywhere */
.eyebrow,.eyebrow.on-dark,.section-eyebrow,.section-label,.hero-eyebrow,.hero-kicker{
  background:transparent!important; background-color:transparent!important; box-shadow:none!important;
  padding:0!important; border-radius:0!important; width:auto!important; display:flex!important;
  align-items:center!important; gap:10px!important; color:var(--blue)!important;
}
.eyebrow.on-dark{color:#7C9BFF!important;}
.eyebrow::before{content:""!important; width:18px!important; flex:0 0 18px!important; height:1.5px!important; background:currentColor!important; display:inline-block!important;}

/* global footer standard — same layout, 2026 copyright already set */
footer.site{background:var(--page-bg)!important; border-top:1px solid var(--border)!important; padding:38px 0 30px!important;}
footer.site .wrap{display:grid!important; grid-template-columns:minmax(260px,1fr) auto!important; gap:44px!important; align-items:start!important;}
.footer-top{display:flex!important; justify-content:flex-start!important; gap:72px!important; padding:0!important; flex-wrap:nowrap!important;}
.footer-brand{max-width:300px!important;}
.footer-links{gap:58px!important;}
.footer-bottom{border-top:0!important; padding-top:0!important; margin-top:0!important; display:flex!important; flex-direction:column!important; align-items:flex-end!important; justify-content:flex-start!important; gap:16px!important; font-size:13px!important;}
.footer-bottom .socials{order:0!important;}
.footer-bottom p{order:1!important; margin:0!important; white-space:nowrap!important;}
@media(max-width:760px){footer.site .wrap{display:block!important}.footer-top{display:block!important}.footer-links{margin-top:26px}.footer-bottom{align-items:flex-start!important;margin-top:28px!important}}

/* ---------------- HOME ---------------- */
.home-page .wrap{max-width:1180px!important; padding-left:24px!important; padding-right:24px!important;}
.home-page .hero-overlay{max-width:1180px!important; margin:0 auto!important; min-height:720px!important; padding-top:60px!important;}
.home-page .hero-overlay-img{object-fit:cover!important; object-position:50% center!important; transform:scale(1.08)!important;}
.home-page .hero-overlay::after{background:linear-gradient(90deg,rgba(247,248,251,.88) 0%,rgba(247,248,251,.58) 31%,rgba(247,248,251,.12) 61%,rgba(247,248,251,0) 100%)!important;}
.home-page .hero-overlay-text{max-width:470px!important; margin-top:120px!important;}
.home-page .hero-overlay h1{/* sizing now in appended block */}
.home-page .hero-overlay p.lead{/* spacing now in appended block */}
.home-page .image-banner{max-width:1180px!important; margin:0 auto!important; min-height:330px!important;}
.home-page .image-banner-content{min-height:330px!important;}
.home-page .state-banner .image-banner-img{object-position:center center!important; transform:scale(1.03)!important;}
.home-page .state-banner .image-banner-content>div{max-width:330px!important;}
.home-page .state-banner h2{font-size:clamp(34px,3.8vw,46px)!important;}
.home-page .state-banner p{font-size:15.5px!important; line-height:1.55!important;}
.home-page .principles-wrap{gap:0!important; padding:0!important;}
.home-page .principles-head{flex-basis:310px!important;}
.home-page .principle-col{padding:0 26px!important;}
.home-page .principle-col svg{width:34px!important; height:34px!important; margin-bottom:14px!important; stroke-width:1.45!important;}
.home-page .principle-col h3{font-size:16px!important; margin-bottom:8px!important;}
.home-page .principle-col p{font-size:14px!important; line-height:1.55!important;}
.home-page .vision-banner .image-banner-img{object-position:54% center!important; transform:scale(1.02)!important;}

/* ---------------- ARCHITECTURE ---------------- */
.architecture-page .wrap{max-width:1180px!important; padding-left:24px!important; padding-right:24px!important;}
.architecture-page .arch-hero{max-width:1180px!important; min-height:650px!important; margin:0 auto!important; padding-top:92px!important; border-left:0!important; border-right:0!important;}
.architecture-page .arch-hero-bg{object-position:53% center!important; object-fit:cover!important; transform:scale(1.08)!important;}
.architecture-page .arch-hero-shade{background:linear-gradient(90deg,rgba(247,248,251,.98) 0%,rgba(247,248,251,.88) 28%,rgba(247,248,251,.38) 52%,rgba(247,248,251,0) 82%)!important;}
.architecture-page .arch-hero-copy{max-width:520px!important; margin-top:0!important;}
.architecture-page .arch-hero h1{font-size:clamp(50px,4.8vw,66px)!important; line-height:1!important; max-width:520px!important; margin-bottom:26px!important;}
.architecture-page .arch-hero p.lead{font-size:16.5px!important; line-height:1.62!important; max-width:470px!important; margin-bottom:32px!important;}
.architecture-page .arch-hero .hero-actions{margin-bottom:84px!important; gap:24px!important;}
.architecture-page .arch-compare-section{margin-top:-42px!important; padding-top:0!important; padding-bottom:12px!important; position:relative!important; z-index:4!important;}
.architecture-page .arch-compare-card{padding:34px 38px 34px!important; grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr)!important; gap:24px!important; border-radius:14px!important; background:rgba(255,255,255,.88)!important; overflow:hidden!important;}
.architecture-page .arch-compare-col{min-height:300px!important; position:relative!important;}
.architecture-page .arch-compare-body,.architecture-page .arch-compare-body.right{display:block!important; min-height:196px!important; position:relative!important;}
.architecture-page .arch-compare-body .compare-steps{position:relative!important; z-index:3!important; width:160px!important; font-size:14.5px!important; line-height:1.18!important; color:#11131A!important; padding:8px 16px 8px 0!important; background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.72) 74%,rgba(255,255,255,0))!important;}
.architecture-page .arch-compare-img{position:absolute!important; z-index:1!important; top:6px!important; right:0!important; width:72%!important; height:205px!important; object-fit:contain!important; max-height:none!important;}
.architecture-page .arch-compare-img.particles{width:77%!important; right:4px!important;}
.architecture-page .arch-result{font-size:16px!important; line-height:1.32!important; margin-top:16px!important; position:relative!important; z-index:3!important;}
.architecture-page .arch-vs{margin-top:94px!important; align-self:start!important;}
.architecture-page .arch-principles-section{margin-top:8px!important; padding-top:0!important; padding-bottom:12px!important;}
.architecture-page .arch-principles-card{padding:26px 32px 30px!important;}
.architecture-page .arch-principles-grid article{padding:0 22px!important;}
.architecture-page .arch-principle-title{min-height:46px!important; gap:11px!important; margin-bottom:10px!important;}
.architecture-page .arch-principle-title span{font-size:31px!important; line-height:1!important;}
.architecture-page .arch-principle-title h3{font-size:15.5px!important; line-height:1.06!important;}
.architecture-page .arch-principles-grid img{height:96px!important; object-fit:contain!important; margin:0 0 12px!important;}
.architecture-page .arch-principles-grid p{font-size:14.5px!important; line-height:1.42!important;}
.architecture-page .arch-vision-section{padding-top:0!important; padding-bottom:12px!important; margin-top:8px!important;}
.architecture-page .arch-vision-card{min-height:178px!important; padding:30px 36px!important; display:grid!important; grid-template-columns:.86fr 1fr!important; gap:34px!important; align-items:center!important; position:relative!important; overflow:hidden!important;}
.architecture-page .arch-vision-card::after{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 50%,rgba(255,255,255,.28) 72%,rgba(255,255,255,0) 100%)!important;}
.architecture-page .arch-vision-card img{position:absolute!important; right:0!important; top:0!important; bottom:0!important; width:42%!important; height:100%!important; object-fit:cover!important; object-position:center!important; z-index:0!important;}
.architecture-page .arch-vision-copy,.architecture-page .arch-vision-card p{position:relative!important; z-index:2!important;}
.architecture-page .arch-vision-copy h2{font-size:clamp(26px,2.6vw,34px)!important; line-height:1.08!important;}
.architecture-page .arch-vision-card p{font-size:15.5px!important; max-width:430px!important; line-height:1.5!important;}
.architecture-page section.tight{padding-top:12px!important; padding-bottom:30px!important;}
.architecture-page .cta-banner{display:grid!important; grid-template-columns:250px minmax(0,1fr) 240px!important; min-height:150px!important; align-items:center!important; gap:32px!important; padding:28px 44px!important;}
.architecture-page .cta-banner img{width:240px!important; height:92px!important; object-fit:cover!important;}
.architecture-page .cta-banner h3{font-size:29px!important; line-height:1.16!important; justify-self:center!important; text-align:left!important;}
.architecture-page .cta-banner-actions{display:flex!important; flex-direction:column!important; gap:12px!important; align-items:stretch!important;}

/* ---------------- TECHNOLOGY ---------------- */
.technology-page .wrap{max-width:1180px!important; padding-left:24px!important; padding-right:24px!important;}
.technology-page .tech-hero{max-width:1180px!important; margin:0 auto!important; min-height:520px!important;}
.technology-page .tech-hero-bg{left:36%!important; width:64%!important; object-fit:contain!important; object-position:center center!important;}
.technology-page .tech-step-grid{grid-template-columns:330px minmax(0,1fr)!important; gap:40px!important; min-height:232px!important;}
.technology-page .tech-step-copy{padding:36px 0 30px!important;}
.technology-page .tech-step-media{height:218px!important; min-height:0!important;}
.technology-page .tech-step-media img{object-fit:contain!important; object-position:center!important; transform:none!important;}
.technology-page .tech-duo{max-width:1180px!important; grid-template-columns:1fr 1fr!important; min-height:220px!important;}
.technology-page .tech-duo-item{grid-template-columns:205px minmax(0,1fr)!important; gap:20px!important;}
.technology-page .tech-duo-item img{height:198px!important; min-height:0!important; object-fit:contain!important;}
.technology-page .tech-duo-silicon img{object-fit:cover!important; object-position:center!important;}
.technology-page .tech-closing{max-width:1180px!important; min-height:210px!important; margin:0 auto!important;}
.technology-page .tech-closing-bg{right:28px!important; left:auto!important; width:48%!important; height:185px!important; top:14px!important; object-fit:contain!important; object-position:right center!important;}
.technology-page .tech-closing::after{background:linear-gradient(90deg,rgba(247,248,251,1) 0%,rgba(247,248,251,.96) 45%,rgba(247,248,251,.55) 65%,rgba(247,248,251,0) 100%)!important;}

/* ---------------- CAPABILITIES ---------------- */
.capabilities-page .hero-bleed-right{max-width:1180px!important; padding:56px 24px!important; gap:54px!important;}
.capabilities-page .hero-bleed-image-col{height:360px!important;}
.capabilities-page section.tight{padding-top:42px!important; padding-bottom:42px!important;}
.capabilities-page .feature-row{padding:42px 0!important; gap:54px!important;}
.capabilities-page .feature-row .feature-media{height:270px!important;}
.capabilities-page .cap-overlay-card{min-height:330px!important;}
.capabilities-page .cap-overlay-card > img{right:0!important; bottom:20px!important; width:58%!important; height:62%!important;}
.capabilities-page .cap-proof-card{padding:42px 44px!important; min-height:0!important;}
.capabilities-page .cap-proof-title{font-size:34px!important;}
.capabilities-page .cap-proof-copy{font-size:18px!important;}
.capabilities-page .cap-proof-items svg{width:30px!important; height:30px!important; margin-bottom:16px!important;}
.capabilities-page .cap-closing-section{padding:28px 0 26px!important;}
.capabilities-page .cap-closing-overlay{min-height:245px!important;}
.capabilities-page .cap-closing-overlay img{object-fit:contain!important; object-position:right center!important; background:#F7F8FB!important;}
.capabilities-page .cap-closing-copy{padding:46px 38px!important;}

/* ---------------- COMPANY ---------------- */
.company-page .wrap{max-width:1180px!important; padding-left:24px!important; padding-right:24px!important;}
.company-hero-match{max-width:1180px!important; padding:56px 24px!important; gap:54px!important; grid-template-columns:.88fr 1.12fr!important;}
.company-hero-art{height:390px!important;}
.company-hero-art img{object-fit:cover!important; object-position:54% center!important;}
.company-positioning-section{padding:42px 0!important;}
.company-positioning-layout{grid-template-columns:1.06fr .94fr!important; gap:48px!important;}
.company-map-labeled .map-label{display:block!important; position:absolute!important; z-index:3!important;}
.company-map-card{position:relative!important; overflow:visible!important;}
.company-map-card img{object-fit:contain!important;}
.company-positioning-copy h2{font-size:clamp(38px,3.9vw,54px)!important; line-height:1.04!important; margin-bottom:28px!important;}
.company-pillars-icons>div{padding:0 20px!important;}
.company-pillar-icon{font-size:36px!important; margin-bottom:16px!important;}
.company-pillars h4{font-size:19px!important; line-height:1.2!important;}
.company-credibility-section{padding:34px 0 44px!important;}
.company-transition-band{padding-bottom:30px!important;}
.company-transition-band h3{font-size:27px!important; margin-bottom:18px!important;}
.transition-row{grid-template-columns:170px 1fr 170px!important; gap:26px!important; align-items:center!important;}
.transition-row img{height:150px!important; object-fit:contain!important;}
.company-people-block{padding-top:28px!important;}
.company-people-grid{gap:16px!important;}
.company-people-grid img{height:118px!important; object-fit:cover!important;}

/* ---------------- CAREERS ---------------- */
.careers-page,.careers-page main{background:#F7F8FB!important;}
.careers-page .hero-bleed-right{max-width:1180px!important; margin:0 auto!important; padding:52px 24px!important; gap:44px!important; min-height:0!important; display:grid!important; grid-template-columns:.86fr 1.14fr!important;}
.careers-page .hero-bleed-text-col{padding:0!important; align-self:center!important;}
.careers-page .hero-bleed-text-col h1{font-size:clamp(42px,4.4vw,60px)!important; line-height:1.02!important;}
.careers-page .hero-bleed-text-col .lead{font-size:16px!important; line-height:1.55!important;}
.careers-page .hero-bleed-image-col{height:390px!important; align-self:auto!important; overflow:hidden!important; position:relative!important;}
.careers-page .hero-bleed-image-col::before{content:""!important; position:absolute!important; inset:0 auto 0 0!important; width:34%!important; background:linear-gradient(90deg,#F7F8FB,rgba(247,248,251,.72) 56%,rgba(247,248,251,0))!important; z-index:1!important;}
.careers-page .hero-bleed-image-col img{height:100%!important; object-fit:cover!important; object-position:58% center!important;}
.careers-thesis,.careers-page section.tight{padding-top:36px!important; padding-bottom:36px!important;}
.careers-thesis .wrap,.open-roles-wrap,.life-at-symatics .wrap{padding-top:34px!important;}
.careers-thesis-grid{grid-template-columns:.95fr 1.28fr .95fr!important; gap:34px!important;}
.careers-thesis-main h2{font-size:clamp(30px,3.4vw,46px)!important;}
.open-roles-intro{gap:32px!important; margin-bottom:24px!important;}
.roles-table tbody td{padding:15px 0!important;}
.life-at-symatics{padding-top:0!important; padding-bottom:0!important;}
.life-at-grid{grid-template-columns:.78fr 1.48fr!important; gap:48px!important;}
.life-copy h2{font-size:clamp(44px,4.8vw,68px)!important;}
.life-image{height:340px!important; min-height:0!important;}
.life-image img{height:100%!important; min-height:0!important; object-position:72% center!important;}
.culture-principles{padding-top:26px!important; margin-top:26px!important;}

/* ---------------- CONTACT ---------------- */
.contact-page .wrap{max-width:1180px!important; padding-left:24px!important; padding-right:24px!important;}
.contact-hero-match{max-width:1180px!important; min-height:560px!important; background:#F7F8FB!important;}
.contact-hero-bg{left:43%!important; width:57%!important; height:100%!important; object-fit:cover!important; object-position:50% center!important;}
.contact-hero-shade{background:linear-gradient(90deg,rgba(247,248,251,1) 0%,rgba(247,248,251,1) 39%,rgba(247,248,251,.70) 47%,rgba(247,248,251,0) 58%)!important;}
.contact-hero-inner{padding:96px 24px 72px!important; max-width:1180px!important;}
.contact-hero-inner h1{font-size:clamp(46px,5vw,68px)!important; max-width:390px!important; margin:22px 0 24px!important;}
.contact-hero-inner p.lead{font-size:16px!important; line-height:1.62!important; max-width:390px!important;}
.contact-v10-routes{padding:28px 0 18px!important;}
.contact-section-kicker{font-size:20px!important; margin-bottom:18px!important;}
.contact-v10-route-grid{grid-template-columns:1.65fr .9fr .9fr .9fr!important; gap:12px!important;}
.contact-route-feature,.contact-route-small{min-height:315px!important; padding:30px 26px 26px!important;}
.contact-route-feature h2{font-size:27px!important;}
.contact-route-small h3{font-size:22px!important; margin-bottom:16px!important;}
.contact-route-feature p,.contact-route-small p{font-size:14.5px!important; line-height:1.55!important;}
.contact-v10-icon svg{width:44px!important; height:44px!important; margin-bottom:16px!important;}
.contact-v10-icon.small svg{width:42px!important; height:42px!important; margin-bottom:30px!important;}
.contact-mini-grid{margin:22px 0 16px!important;}
.contact-mini-grid>div{padding:14px 12px 14px 0!important;}
.mini-ico{font-size:22px!important; margin-bottom:8px!important;}
.contact-v10-main{padding:0 0 22px!important;}
.contact-v10-combined{grid-template-columns:1.05fr .82fr .98fr!important;}
.contact-v10-formcol,.contact-v10-infocol,.contact-v10-presencecol{padding:28px!important;}
.contact-v10-combined input,.contact-v10-combined select{height:40px!important;}
.contact-v10-combined textarea{height:86px!important;}
.contact-info-list.v10{gap:18px!important; margin-top:24px!important;}
.presence-timeline{gap:16px!important;}
.presence-timeline i{width:54px!important;height:54px!important;font-size:23px!important;}
.presence-timeline div{grid-template-columns:62px 1fr!important;}
.presence-timeline::before{left:30px!important;}
.contact-final-cta{padding:0 0 24px!important;}
.contact-final-cta .cta-banner{min-height:150px!important; padding:34px 42px!important;}

@media(max-width:1100px){
  .wrap,.home-page .wrap,.architecture-page .wrap,.technology-page .wrap,.capabilities-page .wrap,.company-page .wrap,.careers-page .wrap,.contact-page .wrap{max-width:none!important; padding-left:20px!important; padding-right:20px!important;}
  section,section.tight{padding-top:44px!important; padding-bottom:44px!important;}
  .home-page .hero-overlay,.architecture-page .arch-hero,.technology-page .tech-hero,.contact-hero-match{max-width:none!important; min-height:560px!important;}
  .architecture-page .arch-compare-card,.architecture-page .arch-principles-grid,.architecture-page .arch-vision-card,.architecture-page .cta-banner,.technology-page .tech-step-grid,.technology-page .tech-duo,.technology-page .tech-duo-item,.company-hero-match,.company-positioning-layout,.transition-row,.careers-page .hero-bleed-right,.careers-thesis-grid,.open-roles-intro,.life-at-grid,.contact-v10-route-grid,.contact-v10-combined{grid-template-columns:1fr!important;}
  .contact-hero-bg{left:0!important;width:100%!important;opacity:.72!important;}
  .contact-hero-shade{background:linear-gradient(90deg,rgba(247,248,251,.96) 0%,rgba(247,248,251,.82) 64%,rgba(247,248,251,.22) 100%)!important;}
  .footer-top{display:block!important}.footer-links{margin-top:24px!important}.footer-bottom{align-items:flex-start!important;}
}

/* v13 targeted fix: Architecture Our Vision banner */
.architecture-page .arch-vision-section{
  padding-top:0!important;
  padding-bottom:12px!important;
  margin-top:8px!important;
}
.architecture-page .arch-vision-card{
  min-height:172px!important;
  padding:28px 34px!important;
  display:grid!important;
  grid-template-columns:minmax(330px,.92fr) minmax(260px,.68fr) minmax(420px,1.15fr)!important;
  gap:30px!important;
  align-items:center!important;
  position:relative!important;
  overflow:hidden!important;
  border-radius:14px!important;
}
.architecture-page .arch-vision-card::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.97) 52%,rgba(255,255,255,.82) 59%,rgba(255,255,255,0) 72%)!important;
  z-index:1!important;
  pointer-events:none!important;
}
.architecture-page .arch-vision-copy{
  grid-column:1!important;
  max-width:430px!important;
  padding-right:18px!important;
  border-right:1px solid rgba(214,219,228,.72)!important;
}
.architecture-page .arch-vision-card p{
  grid-column:2!important;
  max-width:315px!important;
  margin:0!important;
  font-size:15.5px!important;
  line-height:1.48!important;
}
.architecture-page .arch-vision-card img{
  position:absolute!important;
  right:0!important;
  top:0!important;
  bottom:0!important;
  width:42%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:0 12px 12px 0!important;
  z-index:0!important;
}
.architecture-page .arch-vision-copy,
.architecture-page .arch-vision-card p{
  position:relative!important;
  z-index:2!important;
}
.architecture-page .arch-vision-copy .eyebrow{
  margin-bottom:12px!important;
}
.architecture-page .arch-vision-copy h2{
  margin:0!important;
  font-size:clamp(28px,2.9vw,42px)!important;
  line-height:1.08!important;
  letter-spacing:-.055em!important;
}
@media(max-width:1100px){
  .architecture-page .arch-vision-card{
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding:24px!important;
    min-height:0!important;
  }
  .architecture-page .arch-vision-copy{
    border-right:0!important;
    padding-right:0!important;
    max-width:none!important;
  }
  .architecture-page .arch-vision-card p{
    max-width:none!important;
  }
  .architecture-page .arch-vision-card img{
    position:relative!important;
    width:100%!important;
    height:180px!important;
    border-radius:10px!important;
    grid-column:auto!important;
  }
  .architecture-page .arch-vision-card::after{
    background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 58%,rgba(255,255,255,0) 100%)!important;
  }
}


/* ===== V14 pending fixes from chat: restore Technology approved layout + Capabilities CTA ===== */
@media (min-width: 901px){
  /* Technology: remove v13 shrink/regression and restore approved full-width editorial rhythm */
  .technology-page .wrap,
  .technology-page header .wrap,
  .technology-page footer .wrap{
    max-width:none!important;
    padding-left:clamp(54px,5.2vw,88px)!important;
    padding-right:clamp(54px,5.2vw,88px)!important;
  }
  .technology-page .tech-hero{
    max-width:none!important;
    margin:0!important;
    min-height:640px!important;
    padding-top:88px!important;
    border-radius:0!important;
  }
  .technology-page .tech-hero-bg{
    inset:0!important;
    left:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:72% 48%!important;
  }
  .technology-page .tech-hero-copy{
    max-width:430px!important;
    margin-top:10px!important;
  }
  .technology-page .tech-hero h1{
    font-size:clamp(48px,4.7vw,66px)!important;
    line-height:1.02!important;
    margin-bottom:26px!important;
  }
  .technology-page .tech-hero p.lead{
    max-width:350px!important;
    font-size:15.5px!important;
    line-height:1.72!important;
  }
  .technology-page .tech-step-grid{
    max-width:none!important;
    grid-template-columns:300px minmax(0,1fr)!important;
    gap:34px!important;
    min-height:318px!important;
    align-items:stretch!important;
  }
  .technology-page .tech-step-copy{
    padding:58px 0 44px!important;
    max-width:255px!important;
  }
  .technology-page .tech-step-head{
    margin-bottom:16px!important;
    gap:22px!important;
  }
  .technology-page .tech-step-head span{
    font-size:45px!important;
    line-height:1!important;
  }
  .technology-page .tech-step-copy h3{
    font-size:18px!important;
    line-height:1.14!important;
    margin-bottom:18px!important;
  }
  .technology-page .tech-step-copy p{
    max-width:230px!important;
    font-size:14.5px!important;
    line-height:1.65!important;
  }
  .technology-page .tech-step-media{
    height:auto!important;
    min-height:318px!important;
    display:flex!important;
    align-items:stretch!important;
    overflow:hidden!important;
  }
  .technology-page .tech-step-media img{
    width:100%!important;
    height:100%!important;
    min-height:318px!important;
    object-fit:cover!important;
    object-position:center center!important;
    border-radius:0!important;
  }
  .technology-page .tech-step-01 .tech-step-media img{
    object-fit:cover!important;
    object-position:center 52%!important;
  }
  .technology-page .tech-step-02 .tech-step-media img{
    object-fit:cover!important;
    object-position:center 50%!important;
  }
  .technology-page .tech-step-03 .tech-step-grid{
    min-height:255px!important;
  }
  .technology-page .tech-step-03 .tech-step-media{
    min-height:255px!important;
    padding:0!important;
    align-items:center!important;
  }
  .technology-page .tech-step-03 .tech-step-media img{
    min-height:0!important;
    height:auto!important;
    width:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  .technology-page .tech-duo{
    max-width:none!important;
    grid-template-columns:1fr 1fr!important;
    min-height:282px!important;
    gap:0!important;
  }
  .technology-page .tech-duo-item{
    grid-template-columns:245px minmax(0,1fr)!important;
    gap:24px!important;
    min-height:282px!important;
    align-items:stretch!important;
    overflow:hidden!important;
  }
  .technology-page .tech-duo-item + .tech-duo-item{
    border-left:1px solid rgba(214,219,228,.95)!important;
    padding-left:34px!important;
  }
  .technology-page .tech-duo-item .tech-step-copy{
    padding:42px 0 32px!important;
    max-width:230px!important;
  }
  .technology-page .tech-duo-item img{
    width:100%!important;
    height:100%!important;
    min-height:282px!important;
    object-fit:cover!important;
    border-radius:0!important;
  }
  .technology-page .tech-duo-cycle img{
    object-position:63% center!important;
  }
  .technology-page .tech-duo-silicon img{
    object-position:60% center!important;
  }
  .technology-page .tech-closing{
    max-width:none!important;
    margin:0!important;
    min-height:226px!important;
    border-radius:0!important;
  }
  .technology-page .tech-closing-bg{
    inset:0!important;
    left:0!important;
    right:auto!important;
    top:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .technology-page .tech-closing-inner{
    min-height:226px!important;
    align-items:center!important;
  }
  .technology-page .tech-closing-copy{
    max-width:600px!important;
    padding:34px 0!important;
  }
  .technology-page .tech-closing h2{
    font-size:clamp(28px,2.75vw,38px)!important;
    line-height:1.08!important;
  }
  .technology-page .tech-closing::after{
    background:linear-gradient(90deg,rgba(247,248,251,.98) 0%,rgba(247,248,251,.92) 34%,rgba(247,248,251,.32) 62%,rgba(247,248,251,0) 100%)!important;
  }

  /* Capabilities footer CTA: restore tighter horizontal banner shown in approved screenshot */
  .capabilities-page .cap-closing-section{
    padding:18px 0 20px!important;
  }
  .capabilities-page .cap-closing-overlay{
    min-height:172px!important;
    border-radius:12px!important;
    overflow:hidden!important;
  }
  .capabilities-page .cap-closing-overlay img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
    background:transparent!important;
  }
  .capabilities-page .cap-closing-overlay::after{
    background:linear-gradient(90deg,rgba(247,248,251,.99) 0%,rgba(247,248,251,.96) 33%,rgba(247,248,251,.52) 56%,rgba(247,248,251,.05) 100%)!important;
  }
  .capabilities-page .cap-closing-copy{
    max-width:480px!important;
    padding:28px 34px!important;
  }
  .capabilities-page .cap-closing-copy h2{
    font-size:clamp(25px,2.3vw,34px)!important;
    line-height:1.13!important;
    margin-bottom:14px!important;
  }
  .capabilities-page .cap-closing-copy p{
    font-size:15.5px!important;
    margin-bottom:18px!important;
  }
  .capabilities-page .cap-closing-copy .btn{
    padding:13px 22px!important;
    border-radius:7px!important;
  }
}

/* ===== V16 TECHNOLOGY RESTORE — approved full-scale HTML/CSS lock ===== */
@media (min-width:901px){
  body.technology-page{background:#F7F8FB!important;}
  .technology-page header.site{
    position:absolute!important;top:0!important;left:0!important;right:0!important;width:100%!important;max-width:none!important;transform:none!important;
    background:transparent!important;border-bottom:0!important;backdrop-filter:none!important;z-index:50!important;
  }
  .technology-page .wrap,
  .technology-page header .wrap,
  .technology-page footer .wrap{
    max-width:none!important;width:100%!important;margin:0!important;
    padding-left:64px!important;padding-right:64px!important;
  }
  .technology-page .nav{height:88px!important;}
  .technology-page .nav-links{gap:38px!important;}

  .technology-page .tech-hero{
    max-width:none!important;width:100%!important;margin:0!important;
    min-height:650px!important;max-height:none!important;padding:88px 0 0!important;
    display:flex!important;align-items:center!important;border-bottom:1px solid var(--border)!important;
    overflow:hidden!important;background:#F7F8FB!important;
  }
  .technology-page .tech-hero-bg{
    position:absolute!important;inset:0 0 0 auto!important;left:38%!important;width:62%!important;height:100%!important;
    object-fit:cover!important;object-position:50% 48%!important;transform:scale(1.04)!important;transform-origin:center center!important;
    opacity:1!important;
  }
  .technology-page .tech-hero-shade{
    background:linear-gradient(90deg,rgba(247,248,251,.99) 0%,rgba(247,248,251,.93) 30%,rgba(247,248,251,.55) 48%,rgba(247,248,251,.08) 72%,rgba(247,248,251,0) 100%)!important;
  }
  .technology-page .tech-hero-copy{max-width:430px!important;margin-top:22px!important;}
  .technology-page .tech-hero-copy .eyebrow{margin-bottom:24px!important;}
  .technology-page .tech-hero h1{font-size:clamp(54px,5vw,72px)!important;line-height:1.02!important;letter-spacing:-.055em!important;margin-bottom:34px!important;}
  .technology-page .tech-title-line{margin-bottom:34px!important;}
  .technology-page .tech-hero p.lead{max-width:390px!important;font-size:16px!important;line-height:1.72!important;}

  .technology-page .tech-step{border-top:1px solid var(--border)!important;background:#F7F8FB!important;}
  .technology-page .tech-step-grid{
    max-width:none!important;width:100%!important;margin:0!important;padding-left:64px!important;padding-right:64px!important;
    display:grid!important;grid-template-columns:340px minmax(0,1fr)!important;gap:48px!important;
    min-height:318px!important;align-items:stretch!important;
  }
  .technology-page .tech-step-copy{padding:62px 0 48px!important;align-self:start!important;}
  .technology-page .tech-step-head{gap:20px!important;margin-bottom:20px!important;}
  .technology-page .tech-step-head span{font-size:54px!important;line-height:1!important;font-weight:500!important;}
  .technology-page .tech-step-copy h3{font-size:21px!important;line-height:1.12!important;margin:0 0 24px!important;}
  .technology-page .tech-step-copy p{font-size:15.5px!important;line-height:1.65!important;max-width:275px!important;margin-bottom:0!important;}
  .technology-page .tech-step-media{height:auto!important;min-height:318px!important;display:flex!important;align-items:stretch!important;overflow:hidden!important;background:#F7F8FB!important;}
  .technology-page .tech-step-media img{width:100%!important;height:100%!important;min-height:318px!important;object-fit:cover!important;object-position:center center!important;transform:none!important;border-radius:0!important;}
  .technology-page .tech-step-01 .tech-step-media img{object-fit:cover!important;object-position:52% 50%!important;}
  .technology-page .tech-step-02 .tech-step-media img{object-fit:cover!important;object-position:52% 50%!important;}
  .technology-page .tech-step-03 .tech-step-grid{min-height:255px!important;}
  .technology-page .tech-step-03 .tech-step-media{min-height:255px!important;align-items:center!important;padding:0!important;}
  .technology-page .tech-step-03 .tech-step-media img{min-height:0!important;height:auto!important;max-height:190px!important;object-fit:contain!important;object-position:center center!important;}

  .technology-page .tech-duo-section{border-top:1px solid var(--border)!important;background:#F7F8FB!important;}
  .technology-page .tech-duo{
    max-width:none!important;width:100%!important;margin:0!important;padding-left:64px!important;padding-right:64px!important;
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;min-height:290px!important;
  }
  .technology-page .tech-duo-item{
    display:grid!important;grid-template-columns:255px minmax(0,1fr)!important;gap:28px!important;align-items:stretch!important;overflow:hidden!important;min-height:290px!important;
  }
  .technology-page .tech-duo-item + .tech-duo-item{border-left:1px solid var(--border)!important;padding-left:42px!important;border-top:0!important;}
  .technology-page .tech-duo-item .tech-step-copy{padding:44px 0 38px!important;align-self:start!important;}
  .technology-page .tech-duo-item .tech-step-head span{font-size:50px!important;}
  .technology-page .tech-duo-item img{width:100%!important;height:100%!important;min-height:290px!important;object-fit:cover!important;object-position:center center!important;transform:none!important;border-radius:0!important;}
  .technology-page .tech-duo-cycle img{object-position:52% 50%!important;}
  .technology-page .tech-duo-silicon img{object-position:53% 50%!important;}

  .technology-page .tech-closing{
    max-width:none!important;width:100%!important;margin:0!important;min-height:250px!important;max-height:none!important;
    border-top:1px solid var(--border)!important;overflow:hidden!important;background:#F7F8FB!important;
  }
  .technology-page .tech-closing-bg{
    position:absolute!important;inset:0!important;left:auto!important;right:0!important;top:0!important;width:100%!important;height:100%!important;
    object-fit:cover!important;object-position:67% 50%!important;opacity:1!important;transform:none!important;
  }
  .technology-page .tech-closing::after{
    background:linear-gradient(90deg,rgba(247,248,251,.98) 0%,rgba(247,248,251,.94) 30%,rgba(247,248,251,.55) 49%,rgba(247,248,251,.12) 72%,rgba(247,248,251,0) 100%)!important;
  }
  .technology-page .tech-closing-inner{min-height:250px!important;display:flex!important;align-items:center!important;position:relative!important;z-index:2!important;}
  .technology-page .tech-closing-copy{max-width:620px!important;padding:42px 0!important;}
  .technology-page .tech-closing h2{font-size:40px!important;line-height:1.08!important;margin-bottom:18px!important;}
  .technology-page .tech-closing p{font-size:15.5px!important;line-height:1.55!important;max-width:560px!important;margin-bottom:24px!important;}

  .technology-page footer.site{background:#F7F8FB!important;padding-top:42px!important;}
}

/* ===== V17 TECHNOLOGY RESTORE FROM USER-APPROVED technology.html =====
   Purpose: override earlier fix-pass regressions only on Technology desktop.
   Keeps the uploaded Technology HTML structure and restores approved max-width,
   enlarged image proportion, crop, section rhythm, and footer CTA behavior. */
@media (min-width:901px){
  body.technology-page{
    background:#F7F8FB!important;
  }

  .technology-page header.site{
    position:absolute!important;
    top:0!important;
    left:50%!important;
    right:auto!important;
    width:100%!important;
    max-width:1180px!important;
    transform:translateX(-50%)!important;
    background:transparent!important;
    border-bottom:0!important;
    backdrop-filter:none!important;
    z-index:50!important;
  }

  .technology-page .wrap,
  .technology-page header .wrap,
  .technology-page footer .wrap{
    max-width:1180px!important;
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:44px!important;
    padding-right:44px!important;
  }

  .technology-page .nav{
    height:88px!important;
  }
  .technology-page .nav-links{
    gap:36px!important;
  }
  .technology-page .nav-links a{
    font-size:13.5px!important;
    padding-bottom:16px!important;
  }
  .technology-page .nav .btn-primary{
    padding:13px 20px!important;
    border-radius:9px!important;
  }

  .technology-page .tech-hero{
    position:relative!important;
    max-width:1180px!important;
    width:100%!important;
    min-height:535px!important;
    max-height:560px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:88px 0 0!important;
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    background:#F7F8FB!important;
    border-bottom:1px solid rgba(214,219,228,.95)!important;
    border-radius:0!important;
  }
  .technology-page .tech-hero-bg{
    position:absolute!important;
    inset:auto 0 0 auto!important;
    left:34%!important;
    width:66%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    opacity:1!important;
    z-index:0!important;
  }
  .technology-page .tech-hero-shade{
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(90deg,rgba(247,248,251,.99) 0%,rgba(247,248,251,.94) 32%,rgba(247,248,251,.58) 55%,rgba(247,248,251,0) 84%)!important;
    z-index:1!important;
  }
  .technology-page .tech-hero-inner{
    position:relative!important;
    z-index:2!important;
  }
  .technology-page .tech-hero-copy{
    max-width:420px!important;
    margin-top:8px!important;
  }
  .technology-page .tech-hero-copy .eyebrow{
    margin-bottom:18px!important;
  }
  .technology-page .tech-hero h1{
    font-size:clamp(46px,4vw,56px)!important;
    line-height:1.04!important;
    letter-spacing:-.045em!important;
    margin-bottom:26px!important;
  }
  .technology-page .tech-title-line{
    width:32px!important;
    height:2px!important;
    margin:0 0 28px!important;
  }
  .technology-page .tech-hero p.lead{
    max-width:370px!important;
    font-size:16px!important;
    line-height:1.68!important;
  }

  .technology-page .tech-step,
  .technology-page .tech-duo-section,
  .technology-page .tech-closing{
    padding:0!important;
    background:#F7F8FB!important;
  }
  .technology-page .tech-step{
    border-top:1px solid rgba(214,219,228,.95)!important;
  }
  .technology-page .tech-step-grid{
    max-width:1180px!important;
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:44px!important;
    padding-right:44px!important;
    display:grid!important;
    grid-template-columns:300px minmax(0,1fr)!important;
    gap:34px!important;
    min-height:276px!important;
    align-items:stretch!important;
  }
  .technology-page .tech-step-copy{
    padding:54px 0 42px!important;
    max-width:255px!important;
    align-self:start!important;
  }
  .technology-page .tech-step-head{
    display:flex!important;
    align-items:center!important;
    gap:22px!important;
    margin-bottom:14px!important;
  }
  .technology-page .tech-step-head span{
    font-size:44px!important;
    line-height:1!important;
    font-weight:500!important;
  }
  .technology-page .tech-step-copy h3{
    font-size:18px!important;
    line-height:1.16!important;
    margin:0 0 18px!important;
  }
  .technology-page .tech-step-copy p{
    font-size:14.5px!important;
    line-height:1.65!important;
    max-width:230px!important;
    margin:0!important;
  }
  .technology-page .tech-step-media{
    min-height:276px!important;
    height:auto!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:center!important;
    overflow:hidden!important;
    padding:0!important;
    background:#F7F8FB!important;
  }
  .technology-page .tech-step-media img{
    width:100%!important;
    height:100%!important;
    min-height:276px!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
    border-radius:0!important;
  }
  .technology-page .tech-step-01 .tech-step-media img{
    object-position:center 52%!important;
  }
  .technology-page .tech-step-02 .tech-step-media img{
    object-position:center 50%!important;
  }
  .technology-page .tech-step-03 .tech-step-grid{
    min-height:250px!important;
  }
  .technology-page .tech-step-03 .tech-step-media{
    min-height:250px!important;
    align-items:center!important;
  }
  .technology-page .tech-step-03 .tech-step-media img{
    min-height:0!important;
    height:auto!important;
    width:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
  }

  .technology-page .tech-duo-section{
    border-top:1px solid rgba(214,219,228,.95)!important;
  }
  .technology-page .tech-duo{
    max-width:1180px!important;
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:44px!important;
    padding-right:44px!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0!important;
    min-height:270px!important;
  }
  .technology-page .tech-duo-item{
    display:grid!important;
    grid-template-columns:245px minmax(0,1fr)!important;
    gap:22px!important;
    align-items:stretch!important;
    overflow:hidden!important;
    min-height:270px!important;
  }
  .technology-page .tech-duo-item + .tech-duo-item{
    border-left:1px solid rgba(214,219,228,.95)!important;
    padding-left:34px!important;
    border-top:0!important;
  }
  .technology-page .tech-duo-item .tech-step-copy{
    padding:38px 0 32px!important;
    max-width:230px!important;
  }
  .technology-page .tech-duo-item .tech-step-head span{
    font-size:43px!important;
  }
  .technology-page .tech-duo-item img{
    width:100%!important;
    height:100%!important;
    min-height:270px!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
    border-radius:0!important;
  }
  .technology-page .tech-duo-cycle img{
    object-position:66% center!important;
  }
  .technology-page .tech-duo-silicon img{
    object-position:62% center!important;
  }

  .technology-page .tech-closing{
    position:relative!important;
    max-width:1180px!important;
    width:100%!important;
    min-height:205px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow:hidden!important;
    border-top:1px solid rgba(214,219,228,.95)!important;
    border-radius:0!important;
  }
  .technology-page .tech-closing-bg{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    transform:none!important;
    opacity:1!important;
    z-index:0!important;
  }
  .technology-page .tech-closing::after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(90deg,rgba(247,248,251,.96) 0%,rgba(247,248,251,.90) 34%,rgba(247,248,251,.25) 68%,rgba(247,248,251,0) 100%)!important;
    z-index:1!important;
  }
  .technology-page .tech-closing-inner{
    min-height:205px!important;
    position:relative!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
  }
  .technology-page .tech-closing-copy{
    max-width:580px!important;
    padding:34px 0!important;
  }
  .technology-page .tech-closing h2{
    font-size:clamp(27px,3vw,35px)!important;
    line-height:1.1!important;
    margin-bottom:14px!important;
  }
  .technology-page .tech-closing p{
    font-size:14.5px!important;
    line-height:1.55!important;
    max-width:520px!important;
    margin:0 0 22px!important;
  }

  .technology-page footer.site{
    background:#F7F8FB!important;
    padding-top:28px!important;
  }
}

/* ===== V18 CAPABILITIES RESTORE — pending fixes from current chat only ===== */
@media (min-width:901px){
  body.capabilities-page{background:#F7F8FB!important;}
  .capabilities-page header.site,
  .capabilities-page main,
  .capabilities-page footer.site{
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    background:#F7F8FB!important;
  }
  .capabilities-page .wrap,
  .capabilities-page header .wrap,
  .capabilities-page footer .wrap{
    max-width:1180px!important;
    padding-left:64px!important;
    padding-right:64px!important;
  }

  /* Restore approved hero density: larger integrated image, less dead vertical gap */
  .capabilities-page .hero-bleed-right{
    max-width:1180px!important;
    padding:58px 64px 52px!important;
    grid-template-columns:.82fr 1.32fr!important;
    gap:36px!important;
    align-items:center!important;
    min-height:462px!important;
    border-bottom:1px solid var(--border)!important;
  }
  .capabilities-page .hero-bleed-text-col{
    max-width:470px!important;
  }
  .capabilities-page .hero-bleed-text-col h1{
    font-size:clamp(32px,3vw,40px)!important;
    line-height:1.12!important;
    letter-spacing:-.03em!important;
  }
  .capabilities-page .hero-bleed-text-col .lead{
    max-width:410px!important;
    font-size:16px!important;
    line-height:1.62!important;
  }
  .capabilities-page .hero-bleed-image-col{
    height:388px!important;
    overflow:visible!important;
    border-radius:0!important;
  }
  .capabilities-page .hero-bleed-image-col img{
    width:108%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:54% center!important;
    transform:translateX(-1%)!important;
  }

  /* Tighten section rhythm to remove the repeated large gaps */
  .capabilities-page section.tight{
    padding-top:18px!important;
    padding-bottom:18px!important;
  }
  .capabilities-page .feature-row{
    padding:34px 0 28px!important;
    gap:42px!important;
    grid-template-columns:.82fr 1.18fr!important;
    align-items:center!important;
  }
  .capabilities-page .feature-row .feature-media{
    height:306px!important;
    overflow:hidden!important;
    border-radius:12px!important;
  }
  .capabilities-page .feature-row .feature-media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .capabilities-page .feature-row > div:first-child{
    max-width:315px!important;
  }

  /* Restore overlay cards: images are not thumbnails; they sit behind/right of the copy */
  .capabilities-page .cap-overlay-cards-section{
    padding-top:12px!important;
    padding-bottom:18px!important;
  }
  .capabilities-page .cap-overlay-cards{
    gap:16px!important;
    align-items:stretch!important;
  }
  .capabilities-page .cap-overlay-card{
    position:relative!important;
    overflow:hidden!important;
    min-height:332px!important;
    padding:34px 32px 30px!important;
    display:block!important;
    border-radius:12px!important;
    background:#fff!important;
  }
  .capabilities-page .cap-overlay-card::after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    pointer-events:none!important;
    background:linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 42%,rgba(255,255,255,.68) 58%,rgba(255,255,255,.15) 100%)!important;
  }
  .capabilities-page .cap-overlay-card .num,
  .capabilities-page .cap-overlay-card h3,
  .capabilities-page .cap-overlay-card p,
  .capabilities-page .cap-overlay-card ul,
  .capabilities-page .cap-overlay-card a{
    position:relative!important;
    z-index:2!important;
    max-width:56%!important;
  }
  .capabilities-page .cap-overlay-card > img{
    position:absolute!important;
    z-index:0!important;
    right:-6px!important;
    top:94px!important;
    bottom:auto!important;
    width:61%!important;
    height:228px!important;
    max-height:none!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:right center!important;
    border-radius:0!important;
    background:transparent!important;
    transform:none!important;
  }
  .capabilities-page .cap-card-cyclic > img{
    right:-4px!important;
    top:86px!important;
    width:63%!important;
    height:236px!important;
  }
  .capabilities-page .cap-card-silicon > img{
    right:0!important;
    top:91px!important;
    width:54%!important;
    height:232px!important;
  }
  .capabilities-page .cap-overlay-card .feature-list{
    margin-top:20px!important;
    margin-bottom:18px!important;
    gap:12px!important;
  }
  .capabilities-page .cap-overlay-card .feature-list li{
    font-size:13.5px!important;
    line-height:1.55!important;
  }
  .capabilities-page .cap-overlay-card .link-arrow{
    margin-top:18px!important;
  }

  /* Proof section: reduce vertical spread, keep approved compact band */
  .capabilities-page .cap-proof-card{
    padding:36px 42px!important;
    min-height:0!important;
  }
  .capabilities-page .cap-proof-grid{
    grid-template-columns:.9fr 1.45fr!important;
    gap:52px!important;
    align-items:start!important;
  }
  .capabilities-page .cap-proof-title{
    font-size:32px!important;
    line-height:1.1!important;
  }
  .capabilities-page .cap-proof-copy{
    font-size:16.5px!important;
    line-height:1.5!important;
    max-width:520px!important;
  }

  /* CTA banner: restore approved horizontal image overlay, not a tall empty block */
  .capabilities-page .cap-closing-section{
    padding:18px 0 20px!important;
  }
  .capabilities-page .cap-closing-overlay{
    position:relative!important;
    min-height:190px!important;
    border-radius:12px!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .capabilities-page .cap-closing-overlay img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
    background:transparent!important;
  }
  .capabilities-page .cap-closing-overlay::after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(90deg,rgba(247,248,251,.98) 0%,rgba(247,248,251,.92) 28%,rgba(247,248,251,.32) 44%,rgba(247,248,251,0) 58%)!important;
  }
  .capabilities-page .cap-closing-copy{
    position:relative!important;
    z-index:2!important;
    max-width:620px!important;
    padding:32px 34px!important;
  }
  .capabilities-page .cap-closing-copy h2{
    font-size:clamp(22px,2vw,27px)!important;
    line-height:1.22!important;
    margin-bottom:12px!important;
  }
  .capabilities-page .cap-closing-copy p{
    font-size:15.5px!important;
    margin-bottom:18px!important;
  }
}

/* ===== Fix pass v19: careers "why it matters" rebuilt to match reference screenshot ===== */
.careers-problems-grid{
  display:grid;
  grid-template-columns:2.05fr 1fr;
  gap:56px;
  align-items:start;
}
.careers-problems-title{
  font-size:clamp(28px,2.7vw,36px);
  line-height:1.12;
  letter-spacing:-.03em;
  max-width:480px;
  margin-bottom:10px;
}
.careers-problems-intro{
  color:var(--body);
  font-size:16px;
  line-height:1.6;
  max-width:480px;
  margin-bottom:30px;
}
.careers-problems-items{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}
.careers-problems-items svg{
  margin-bottom:14px;
  display:block;
}
.careers-problems-items h4{
  font-size:15px;
  margin-bottom:8px;
}
.careers-problems-items p{
  font-size:13.5px;
  line-height:1.6;
}
.culture-principles svg{
  margin-bottom:12px;
  display:block;
}
.culture-closing-line{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-top:34px;
  padding-top:26px;
  border-top:1px solid var(--border);
}
.culture-closing-line p{
  color:var(--body);
  font-size:14.5px;
  line-height:1.6;
  max-width:640px;
}
@media (max-width:900px){
  .careers-problems-grid{grid-template-columns:1fr!important;gap:36px;}
  .careers-problems-items{grid-template-columns:repeat(3,1fr);gap:20px;}
}
@media (max-width:600px){
  .careers-problems-items{grid-template-columns:1fr!important;gap:24px;}
  .culture-closing-line{flex-direction:column;gap:10px;}
}

/* Remove the eyebrow dash — not present in the reference screenshots */
.eyebrow::before{display:none!important;}
.eyebrow{gap:0!important;}

/* ===== Fix pass v19: capabilities 02/03/04 cards — restore stacked image-below-text
   layout to match reference screenshot (previous passes had drifted to an absolute
   floated-image "overlay" treatment that doesn't match) ===== */
.capabilities-page .cap-overlay-cards{
  grid-template-columns:repeat(3,1fr)!important;
  gap:24px!important;
}
.capabilities-page .cap-overlay-card{
  display:block!important;
  position:relative;
  overflow:visible!important;
  min-height:0!important;
  padding:30px!important;
  background:#fff;
}
.capabilities-page .cap-overlay-card::after{
  display:none!important;
}
.capabilities-page .cap-overlay-card > :not(img){
  max-width:100%!important;
  position:relative;
  z-index:auto;
}
.capabilities-page .cap-overlay-card > img,
.capabilities-page .cap-card-cyclic > img,
.capabilities-page .cap-card-silicon > img{
  position:relative!important;
  inset:auto!important;
  right:auto!important;
  left:auto!important;
  bottom:auto!important;
  top:auto!important;
  width:100%!important;
  height:170px!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block;
  border-radius:10px!important;
  margin:16px 0!important;
  background:#F3F4F7!important;
  z-index:auto;
}
.capabilities-page .cap-overlay-card .feature-list{
  margin-top:0!important;
}
@media (max-width:900px){
  .capabilities-page .cap-overlay-cards{grid-template-columns:1fr!important;}
}

/* ===== Fix pass v19: technology page closing CTA — restore light background with
   small contained graphic (previous passes drifted to a full-bleed dark photo
   background with low-contrast overlaid text) ===== */
.technology-page .tech-closing{
  position:relative!important;
  max-width:1180px!important;
  margin:0 auto!important;
  min-height:210px!important;
  overflow:hidden!important;
  background:#F7F8FB!important;
  border-top:1px solid rgba(214,219,228,.95)!important;
}
.technology-page .tech-closing-bg{
  position:absolute!important;
  inset:auto!important;
  top:14px!important;
  right:28px!important;
  left:auto!important;
  bottom:auto!important;
  width:46%!important;
  height:182px!important;
  object-fit:contain!important;
  object-position:right center!important;
  opacity:1!important;
  z-index:0!important;
  transform:none!important;
}
.technology-page .tech-closing::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(247,248,251,1) 0%,rgba(247,248,251,.97) 42%,rgba(247,248,251,.6) 64%,rgba(247,248,251,0) 100%)!important;
  z-index:1!important;
}
.technology-page .tech-closing-inner{
  position:relative!important;
  z-index:2!important;
  min-height:210px!important;
  display:flex!important;
  align-items:center!important;
}
.technology-page .tech-closing-copy{
  max-width:580px!important;
  padding:34px 0!important;
}
@media (max-width:600px){
  .technology-page .tech-closing{min-height:auto!important;}
  .technology-page .tech-closing-bg{width:38%!important;height:130px!important;top:10px!important;right:16px!important;}
  .technology-page .tech-closing::after{background:linear-gradient(90deg,rgba(247,248,251,1) 0%,rgba(247,248,251,.98) 58%,rgba(247,248,251,.75) 78%,rgba(247,248,251,.3) 100%)!important;}
  .technology-page .tech-closing-inner{min-height:auto!important;padding:28px 0!important;}
  .technology-page .tech-closing-copy{max-width:100%!important;padding:0!important;}
}

/* ===== Fix pass v19: architecture page CTA banner — let the cube graphic bleed
   flush to the bar edge instead of sitting in a small rounded thumbnail box ===== */
.architecture-page .cta-banner{
  grid-template-columns:220px minmax(0,1fr) 240px!important;
  padding:0 44px 0 0!important;
  min-height:150px!important;
}
.architecture-page .cta-banner img{
  width:220px!important;
  height:150px!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:left center!important;
  border-radius:0!important;
  flex-shrink:0!important;
  display:block!important;
}
@media (max-width:900px){
  .architecture-page .cta-banner{padding:0!important;grid-template-columns:1fr!important;}
  .architecture-page .cta-banner img{width:100%!important;height:130px!important;object-position:center!important;}
}

/* ===== Fix pass v19: contact "Our presence" column was overflowing instead of
   wrapping — classic CSS grid min-width:auto trap on nested grid items ===== */
.contact-v10-formcol,
.contact-v10-infocol,
.contact-v10-presencecol{
  min-width:0!important;
}
.presence-timeline,
.presence-timeline div{
  min-width:0!important;
}
.presence-timeline span,
.presence-timeline strong{
  min-width:0!important;
  overflow-wrap:break-word!important;
}

/* ===== Careers page simplification pass ===== */
.careers-looking-intro{
  margin-bottom:32px;
}
.careers-looking-intro h2{
  font-size:clamp(28px,2.8vw,36px);
  line-height:1.15;
  margin-top:6px;
}
.careers-looking-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px;
}
.careers-looking-grid svg{
  margin-bottom:14px;
  display:block;
}
.careers-looking-grid h4{
  font-size:15px;
  margin-bottom:8px;
}
.careers-looking-grid p{
  font-size:13.5px;
  line-height:1.6;
}
@media (max-width:900px){
  .careers-looking-grid{grid-template-columns:repeat(2,1fr);gap:28px;}
}
@media (max-width:600px){
  .careers-looking-grid{grid-template-columns:1fr;}
}

.roles-table-card{
  padding:8px 36px!important;
}
.roles-table tbody tr:last-child td{border-bottom:0;}
.roles-table tbody tr:nth-child(even) td{background:#FAFBFC;}
.roles-table tbody td:first-child{padding-left:14px;}
.roles-table tbody td:first-child,
.roles-table thead th:first-child{padding-left:14px;}
@media (max-width:600px){
  .roles-table-card{padding:4px 18px!important;}
}

.culture-principles-2{
  grid-template-columns:repeat(2,1fr)!important;
  max-width:680px;
  gap:0!important;
}
@media (max-width:600px){
  .culture-principles-2{grid-template-columns:1fr!important;}
}

/* ===== Contact page simplification pass ===== */
.contact-v10-route-grid-3{
  grid-template-columns:1.7fr 1fr 1fr!important;
}
.contact-mini-grid-2{
  grid-template-columns:repeat(2,1fr)!important;
}
.contact-v10-combined-2{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:0;
  background:rgba(255,255,255,.74);
  border:1px solid #E2E6ED;
  border-radius:13px;
  box-shadow:0 18px 50px rgba(17,19,26,.035);
  overflow:hidden;
}
.contact-v10-combined-2 .contact-v10-formcol,
.contact-v10-combined-2 .contact-v10-infocol{
  padding:34px;
}
.contact-v10-combined-2 .contact-v10-infocol{
  border-left:1px solid #E2E6ED;
}

.contact-presence-section{
  padding:8px 0 48px;
}
.contact-presence-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
  margin-top:8px;
}
.contact-presence-grid svg{
  margin-bottom:14px;
  display:block;
}
.contact-presence-grid strong{
  display:block;
  font-size:15px;
  margin-bottom:6px;
}
.contact-presence-grid span{
  display:block;
  color:var(--body);
  font-size:14px;
  line-height:1.6;
}
@media (max-width:900px){
  .contact-v10-route-grid-3{grid-template-columns:1fr!important;}
  .contact-v10-combined-2{grid-template-columns:1fr;}
  .contact-v10-combined-2 .contact-v10-infocol{border-left:0;border-top:1px solid #E2E6ED;}
  .contact-presence-grid{grid-template-columns:1fr;gap:24px;}
  .contact-mini-grid-2{grid-template-columns:1fr!important;}
}

/* Investors / General Inquiries cards were stretching to match the taller
   Partnerships card, then pushing the email link down with margin-auto —
   leaving a dead gap between the description and the email. Size them to
   their own content instead. */
.contact-v10-route-grid{align-items:start!important;}
.contact-route-small{min-height:0!important;justify-content:flex-start!important;}
.contact-route-small p{margin:0 0 22px!important;}
.contact-route-small a{margin-top:0!important;}

/* ===== Careers hero: switched from boxed split layout to full overlay ===== */
.careers-page .hero-overlay{
  max-width:1180px;
  margin:0 auto;
  min-height:clamp(320px,49vw,620px);
}
.careers-page .hero-overlay::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(90deg,rgba(247,248,251,.92) 0%,rgba(247,248,251,.7) 30%,rgba(247,248,251,.18) 46%,rgba(247,248,251,0) 58%);
  pointer-events:none;
}
.careers-page .hero-overlay-img{
  object-position:64% center;
}
.careers-page .hero-overlay-text{
  max-width:395px;
}
.careers-page .hero-overlay-text p.lead + p.lead{
  margin-top:16px;
}

/* ===== Company hero: switched from boxed split layout to full overlay ===== */
.company-page .hero-overlay{
  max-width:1180px;
  margin:0 auto;
  min-height:clamp(300px,46vw,560px);
}
.company-page .hero-overlay::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(90deg,rgba(247,248,251,.82) 0%,rgba(247,248,251,.55) 30%,rgba(247,248,251,.15) 54%,rgba(247,248,251,0) 76%);
  pointer-events:none;
}
.company-page .hero-overlay-img{
  object-position:center 27%;
}
.company-page .hero-overlay-text{
  max-width:520px;
}
/* underline accent and surrounding spacing were cramped against the
   headline above and the paragraph below */
.company-page .hero-overlay-text .blue-rule{
  margin:24px 0 26px;
}
.company-page .hero-overlay-text .lead{
  margin-top:0;
}

/* ===== Careers / Company hero: mobile stacking ===== */
/* Neither image has a portrait mobile crop, so overlaying text on them at
   narrow widths either crops back into the logo (company) or sits on top
   of busy photo content (careers). Stack instead: text first, full width
   image below, no overlay. This block must stay last in the file so it
   wins over the page-specific ::after / object-position rules above. */
@media (max-width:1024px){
  .careers-page .hero-overlay,
  .company-page .hero-overlay{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    min-height:auto;
  }
  .careers-page .hero-overlay::after,
  .company-page .hero-overlay::after{
    display:none;
  }
  .careers-page .hero-overlay picture,
  .company-page .hero-overlay picture{
    order:2;
    display:block;
    width:100%;
    line-height:0;
  }
  .careers-page .hero-overlay-img{
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    max-height:320px;
    object-position:center center;
    display:block;
  }
  .company-page .hero-overlay-img{
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    max-height:320px;
    object-position:center 60%;
    display:block;
  }
  .careers-page .hero-overlay .wrap,
  .company-page .hero-overlay .wrap{
    order:1;
  }
  .careers-page .hero-overlay-text,
  .company-page .hero-overlay-text{
    padding:40px 0 28px;
    max-width:none;
  }
}

[id]{scroll-margin-top:90px;}

/* Restore full-bleed cover for the technology hero photo. A stale patch
   (search "left:36%" / "object-fit:contain") had boxed it into 64% of the
   section width with letterboxing instead of the intended edge-to-edge
   background treatment used by every other hero on the site. */
.technology-page .tech-hero-bg{
  left:0!important;
  width:100%!important;
  object-fit:cover!important;
  object-position:68% 45%!important;
}

/* Correction: the previous version of this rule zeroed the 02/03/04 card
   row's side padding to match the 01 feature row, but 01 itself was the
   one out of place — both had lost the page's real content inset (the
   same 64px the hero, the engineering-validation card, and the closing
   band all use), so the whole page edge was ~64px off from those three.
   Restoring 64px here, and on .feature-row below, lines every section's
   left and right edge up with the hero image and the validation/closing
   cards above and below it. */
.capabilities-page .cap-overlay-cards,
.capabilities-page .feature-row{
  padding-left:0!important;
  padding-right:0!important;
}
@media (min-width:901px){
  .capabilities-page .cap-overlay-cards,
  .capabilities-page .feature-row{
    padding-left:64px!important;
    padding-right:64px!important;
  }
}

/* ===== Contact page restructure: Partnerships full-width, then a 3-up
   row of Investors / General Inquiries / Contact information, then the
   message form paired with a slogan panel instead of the info column ===== */
.contact-feature-full{
  width:100%;
  margin-bottom:16px;
}
.contact-v10-trio{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  align-items:start;
}
.contact-info-card .contact-v10-icon.small{
  display:flex;
  align-items:center;
  justify-content:center;
}
.contact-info-mini{
  list-style:none;
  margin:0 0 0 auto;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  width:100%;
}
.contact-info-mini li{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:600;
  color:#12141A;
}
.contact-info-mini li span{
  color:var(--blue);
  font-size:13px;
  font-weight:700;
  width:16px;
  flex-shrink:0;
}
.contact-v10-slogan{
  background:#12141A;
  border-radius:13px;
  padding:34px 30px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  height:100%;
  box-sizing:border-box;
}
.contact-slogan-icon{
  width:30px;
  height:30px;
  border:1.4px solid #5B82FF;
  border-radius:8px;
  margin-bottom:20px;
}
.contact-slogan-text{
  font-size:21px;
  font-weight:600;
  line-height:1.35;
  color:#fff;
  margin:0;
}
.contact-slogan-sub{
  font-size:13px;
  color:#8A93A6;
  margin:24px 0 0;
}
@media (max-width:900px){
  .contact-v10-trio{grid-template-columns:1fr;}
}

/* Form and slogan now read as two independent cards side by side instead
   of one shared box with an internal divider. */
.contact-v10-combined-2{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:16px;
  background:none;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
  align-items:stretch;
}
.contact-v10-combined-2 .contact-v10-formcol{
  background:rgba(255,255,255,.74);
  border:1px solid #E2E6ED;
  border-radius:13px;
  box-shadow:0 18px 50px rgba(17,19,26,.035);
  padding:34px!important;
}
.contact-v10-combined-2 .contact-v10-infocol{
  border-left:0!important;
}
@media (max-width:900px){
  .contact-v10-combined-2{grid-template-columns:1fr;}
  .contact-v10-slogan{margin-top:0;}
}

/* =========================================================
   TECHNOLOGY PAGE REDESIGN — hero, paired step rows, the
   STATE/BECOMES/EXECUTION banner, and the closing row.
   The old hero relied on an absolute/transparent header
   sitting over a full-bleed background photo with a heavy
   white-wash gradient; that's what let the image bleed up
   behind the nav and look washed out. The new hero uses the
   same flush-edge split pattern as the rest of the site, so
   the header below is restored to normal for this page.
   ========================================================= */
.technology-page header.site{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  max-width:none!important;
  transform:none!important;
  margin:0!important;
  z-index:50!important;
  background:rgba(247,248,251,.92)!important;
  border-bottom:1px solid var(--border)!important;
  backdrop-filter:blur(8px)!important;
}

.tech-hero2{min-height:0;}
.tech-hero2 .hero-bleed-image-col{height:clamp(320px,38vw,560px);}
.tech-hero2 .hero-bleed-image-col img{object-position:62% center;}

.tech-state-banner{
  border-top:1px solid var(--border);
  background:#F7F8FB;
  overflow:hidden;
}
.tech-state-banner-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:34px 0;
}
.tech-state-word{
  font-size:clamp(38px,6.4vw,92px);
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1;
  color:rgba(47,91,255,.07);
  white-space:nowrap;
}
.tech-state-mid{
  display:flex;
  align-items:center;
  gap:14px;
  flex:none;
  padding:0 28px;
  color:var(--blue);
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  white-space:nowrap;
}
.tech-state-mid i{display:block;width:34px;height:1px;background:var(--blue);opacity:.35;}

.tech-final{border-top:1px solid var(--border);background:#F7F8FB;}
.tech-final-row{
  display:grid;
  grid-template-columns:.95fr .85fr 1.05fr;
  gap:36px;
  align-items:center;
  padding:54px 0;
}
.tech-final-heading{
  font-size:clamp(26px,2.9vw,36px);
  font-weight:700;
  line-height:1.12;
  letter-spacing:-.03em;
  margin:0;
  color:#12141A;
}
.tech-final-copy p{font-size:14.5px;line-height:1.6;color:#4B5563;margin:0 0 18px;max-width:300px;}
.tech-final-media{height:160px;border-radius:10px;overflow:hidden;}
.tech-final-media img{width:100%;height:100%;object-fit:cover;display:block;}

.tech-duo-matrix img,.tech-duo-domain img{object-fit:cover;}
.tech-duo-domain img{object-position:center center;}
.tech-duo-cycle img{object-position:center center;}

@media (max-width:900px){
  .tech-hero2 .hero-bleed-image-col{height:320px;}
  .technology-page .tech-duo-domain img,.technology-page .tech-duo-cycle img{object-fit:cover!important;object-position:center center!important;}
  .tech-state-banner-inner{flex-direction:column;align-items:center;gap:14px;padding:30px 0;text-align:center;}
  .tech-state-word{font-size:15vw;}
  .tech-state-mid{padding:0;}
  .tech-final-row{grid-template-columns:1fr;gap:20px;padding:36px 0;}
  .tech-final-media{height:200px;}
}

/* --------------------------------------------------
   Approved visual fixes — Technology + Careers
   -------------------------------------------------- */

/* Technology hero: execution core, not text/image split */
.technology-page .tech-execution-hero{
  position:relative;
  min-height:clamp(680px,72vh,900px);
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#F6F9FF url('images/desktop/t-hero-execution-core.png') center right/cover no-repeat;
  border-bottom:1px solid var(--border);
}
.technology-page .tech-execution-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(247,249,255,.98) 0%,rgba(247,249,255,.94) 34%,rgba(247,249,255,.52) 53%,rgba(247,249,255,0) 72%),
    radial-gradient(circle at 70% 48%,rgba(45,91,255,.16),rgba(45,91,255,0) 34%);
  pointer-events:none;
}
.technology-page .tech-execution-hero-inner{
  position:relative;
  z-index:1;
  width:100%;
}
.technology-page .tech-execution-copy{
  max-width:560px;
  padding:82px 0;
}
.technology-page .tech-execution-copy h1{
  font-size:clamp(48px,5.4vw,82px);
  line-height:.98;
  letter-spacing:-.06em;
  margin:0;
}
.technology-page .tech-execution-copy .lead{
  max-width:520px;
  margin-top:32px;
  font-size:18px;
  line-height:1.68;
  color:#1D2430;
}
.technology-page .tech-execution-copy .tech-title-line{
  margin-top:12px;
}

/* Technology footer CTA: full-width image with overlay text */
.technology-page .tech-final-overlay{
  position:relative;
  overflow:hidden;
  min-height:300px;
  padding:0;
  background:#F7F8FB url('images/desktop/t-footer-fullwidth.png') center right/cover no-repeat;
  border-top:1px solid var(--border);
}
.technology-page .tech-final-overlay::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(247,248,251,.98) 0%,rgba(247,248,251,.94) 32%,rgba(247,248,251,.56) 52%,rgba(247,248,251,0) 74%);
  pointer-events:none;
}
.technology-page .tech-final-overlay-inner{
  position:relative;
  z-index:1;
  min-height:300px;
  display:grid;
  grid-template-columns:.9fr .8fr 1fr;
  gap:42px;
  align-items:center;
  padding:58px 0;
}
.technology-page .tech-final-overlay .tech-final-heading{
  font-size:clamp(34px,4.4vw,64px);
  line-height:1.02;
  max-width:430px;
}
.technology-page .tech-final-overlay .tech-final-copy p{
  font-size:17px;
  line-height:1.65;
  max-width:360px;
  margin-bottom:24px;
  color:#344052;
}

/* Careers Life section: full-width architectural image with text on gradient */
.careers-page .life-at-overlay{
  position:relative;
  overflow:hidden;
  min-height:560px;
  padding:0!important;
  background:#F7F8FB url('images/desktop/cr-life-fullwidth.png') center right/cover no-repeat;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.careers-page .life-at-overlay::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(247,248,251,.99) 0%,rgba(247,248,251,.96) 30%,rgba(247,248,251,.68) 50%,rgba(247,248,251,0) 70%);
  pointer-events:none;
}
.careers-page .life-at-overlay-inner{
  position:relative;
  z-index:1;
  min-height:560px;
  display:flex;
  align-items:center;
  padding:70px 0;
}
.careers-page .life-at-overlay .life-copy{
  max-width:520px;
}
.careers-page .life-at-overlay .life-copy h2{
  font-size:clamp(54px,6vw,92px);
  line-height:.96;
  letter-spacing:-.065em;
  margin:22px 0 28px;
}
.careers-page .life-at-overlay .life-copy p{
  font-size:18px;
  line-height:1.68;
  max-width:430px;
  color:#5A6472;
}
.careers-page .life-at-overlay + .culture-principles{
  margin-top:0;
}

@media (max-width:900px){
  .technology-page .tech-execution-hero{
    min-height:720px;
    background-position:58% center;
  }
  .technology-page .tech-execution-hero::before{
    background:linear-gradient(180deg,rgba(247,249,255,.99) 0%,rgba(247,249,255,.96) 50%,rgba(247,249,255,.42) 78%,rgba(247,249,255,.08) 100%);
  }
  .technology-page .tech-execution-copy{padding:56px 0 280px;}
  .technology-page .tech-execution-copy h1{font-size:clamp(42px,12vw,62px);}
  .technology-page .tech-execution-copy .lead{font-size:16px;line-height:1.6;}

  .technology-page .tech-final-overlay{min-height:520px;background-position:64% center;}
  .technology-page .tech-final-overlay::before{background:linear-gradient(180deg,rgba(247,248,251,.99) 0%,rgba(247,248,251,.96) 48%,rgba(247,248,251,.42) 78%,rgba(247,248,251,.1) 100%);}
  .technology-page .tech-final-overlay-inner{grid-template-columns:1fr;min-height:520px;padding:44px 0 230px;gap:20px;align-items:start;}
  .technology-page .tech-final-overlay .tech-final-heading{font-size:clamp(40px,12vw,58px);}

  .careers-page .life-at-overlay{min-height:720px;background-position:58% center;}
  .careers-page .life-at-overlay::before{background:linear-gradient(180deg,rgba(247,248,251,.99) 0%,rgba(247,248,251,.96) 48%,rgba(247,248,251,.42) 78%,rgba(247,248,251,.1) 100%);}
  .careers-page .life-at-overlay-inner{min-height:720px;align-items:flex-start;padding:52px 0 280px;}
  .careers-page .life-at-overlay .life-copy h2{font-size:clamp(48px,14vw,68px);}
  .careers-page .life-at-overlay .life-copy p{font-size:16px;}
}

/* keep lower Careers culture rows separate from the full-image Life hero */
.careers-page .life-at-overlay .life-at-overlay-inner{padding:70px 0!important;}
.careers-page .life-at-overlay .culture-principles,
.careers-page .life-at-overlay .culture-closing-line{
  position:relative;
  z-index:1;
  background:#F7F8FB;
}
.careers-page .life-at-overlay .culture-principles{padding-top:38px!important;margin-top:0!important;border-top:1px solid var(--border);}
.careers-page .life-at-overlay .culture-closing-line{padding-top:28px!important;padding-bottom:48px!important;}
@media (max-width:900px){
  .careers-page .life-at-overlay .life-at-overlay-inner{padding:52px 0 280px!important;}
}


/* FINAL CONSISTENCY PASS */
:root{--max:1180px}
.wrap{max-width:1180px!important}
.tech-hero .wrap,.life-at-symatics .wrap,.contact-cta .wrap,.technology-page .wrap{max-width:1180px!important;padding-left:24px!important;padding-right:24px!important}
.tech-hero{min-height:520px!important}
.tech-hero-copy{max-width:520px!important}
.tech-hero-bg{object-position:78% 50%!important}
.tech-transition-band,.state-execution-band{padding:24px 0!important;min-height:auto!important}
.life-at-symatics .wrap{padding-top:88px!important}
.life-image,.life-image img{min-height:300px!important}
.careers-final-cta,.contact-final-cta{max-width:1180px;margin-left:auto;margin-right:auto}

/* ==================================================
   v9 CLEAN FIX PASS — use uploaded v7 /images only
   Purpose: lock page standards, reduce layout drift, and
   complete approved Technology / Careers / Contact fixes.
   ================================================== */

:root{
  --site-max:1180px;
  --content-pad:24px;
  --headline-max:700px;
  --body-max:560px;
}

/* Site-wide width lock */
.wrap,
.header-inner,
.footer-top,
.footer-bottom{
  max-width:var(--site-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--content-pad)!important;
  padding-right:var(--content-pad)!important;
  box-sizing:border-box!important;
}

section > .wrap{width:100%!important;}

/* Editorial text measure lock */
.hero-copy h1,
.tech-execution-copy h1,
.contact-hero-inner h1,
.life-copy h2,
.cta-banner h3,
.tech-final-heading{
  max-width:var(--headline-max)!important;
}
.hero-copy p,
.lead,
.tech-execution-copy .lead,
.contact-hero-inner p.lead,
.life-copy p,
.cta-banner p,
.tech-final-copy p{
  max-width:var(--body-max)!important;
}

/* Technology hero: same page width, not full-bleed browser banner */
.technology-page .tech-execution-hero{
  max-width:var(--site-max)!important;
  margin:0 auto!important;
  min-height:560px!important;
  background-size:cover!important;
  background-position:72% center!important;
  border-left:0!important;
  border-right:0!important;
}
.technology-page .tech-execution-hero-inner{
  min-height:560px!important;
  display:flex!important;
  align-items:center!important;
}
.technology-page .tech-execution-copy{
  max-width:540px!important;
  padding:72px 0!important;
}
.technology-page .tech-execution-copy h1{
  font-size:clamp(46px,5vw,74px)!important;
}
.technology-page .tech-execution-copy .lead{
  font-size:17px!important;
  line-height:1.62!important;
}

/* Technology STATE → BECOMES → EXECUTION band: restore tight spacing */
.technology-page .tech-state-banner{
  padding:0!important;
  min-height:0!important;
}
.technology-page .tech-state-banner-inner{
  padding:18px 24px!important;
  min-height:120px!important;
  gap:26px!important;
  align-items:center!important;
}
.technology-page .tech-state-word{
  line-height:.9!important;
}
.technology-page .tech-state-mid{
  padding:0!important;
}

/* Technology footer CTA: contained overlay, not full-browser width */
.technology-page .tech-final-overlay{
  max-width:var(--site-max)!important;
  margin:0 auto 24px!important;
  min-height:360px!important;
  background-size:cover!important;
  background-position:70% center!important;
  border-top:1px solid var(--border)!important;
  border-bottom:1px solid var(--border)!important;
}
.technology-page .tech-final-overlay-inner{
  min-height:360px!important;
  padding:54px 24px!important;
  grid-template-columns:minmax(0,.9fr) minmax(0,.82fr) minmax(0,1fr)!important;
  gap:32px!important;
}
.technology-page .tech-final-overlay .tech-final-heading{
  font-size:clamp(34px,4.2vw,58px)!important;
  line-height:1.02!important;
  max-width:460px!important;
}
.technology-page .tech-final-overlay .tech-final-copy p{
  max-width:360px!important;
  margin-bottom:18px!important;
}

/* Careers Life section: contained overlay with divider breathing room */
.careers-page .life-at-symatics.life-at-overlay{
  max-width:var(--site-max)!important;
  margin:36px auto 0!important;
  min-height:500px!important;
  background-size:cover!important;
  background-position:68% center!important;
  border-top:1px solid var(--border)!important;
  border-bottom:1px solid var(--border)!important;
}
.careers-page .life-at-overlay-inner{
  min-height:500px!important;
  padding:58px 24px!important;
  align-items:center!important;
}
.careers-page .life-at-overlay .life-copy{
  max-width:520px!important;
}
.careers-page .life-at-overlay .life-copy h2{
  font-size:clamp(48px,5.4vw,78px)!important;
  max-width:540px!important;
  margin:18px 0 22px!important;
}
.careers-page .life-at-overlay .life-copy p{
  max-width:430px!important;
  font-size:17px!important;
  line-height:1.62!important;
}
.careers-page .life-at-overlay .culture-principles,
.careers-page .life-at-overlay .culture-closing-line{
  max-width:var(--site-max)!important;
  padding-left:24px!important;
  padding-right:24px!important;
}

/* Careers final CTA: remove black; make it light Architecture + Mission */
.careers-page .contact-final-cta,
.careers-final-cta{
  max-width:var(--site-max)!important;
  margin:0 auto 24px!important;
  padding:0!important;
}
.careers-page .contact-final-cta .cta-banner,
.careers-final-cta .cta-banner{
  min-height:300px!important;
  padding:46px 54px!important;
  border:1px solid rgba(47,91,255,.18)!important;
  border-radius:14px!important;
  background:
    radial-gradient(circle at 78% 46%, rgba(47,91,255,.16), rgba(47,91,255,0) 26%),
    linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(247,249,255,.98) 52%, rgba(234,240,255,.94) 100%)!important;
  color:#12141A!important;
  overflow:hidden!important;
  position:relative!important;
}
.careers-page .contact-final-cta .cta-banner::after,
.careers-final-cta .cta-banner::after{
  content:"";
  position:absolute;
  right:34px;
  top:38px;
  width:38%;
  height:62%;
  opacity:.28;
  background:
    linear-gradient(90deg, rgba(47,91,255,.32) 1px, transparent 1px),
    linear-gradient(0deg, rgba(47,91,255,.22) 1px, transparent 1px);
  background-size:36px 36px;
  transform:perspective(600px) rotateX(56deg) rotateZ(-12deg);
  pointer-events:none;
}
.careers-page .contact-final-cta .cta-banner h3,
.careers-final-cta .cta-banner h3{
  color:#12141A!important;
  max-width:620px!important;
}
.careers-page .contact-final-cta .cta-banner p,
.careers-final-cta .cta-banner p{
  color:#5A6472!important;
  max-width:460px!important;
}
.careers-page .contact-final-cta .btn-outline-light,
.careers-final-cta .btn-outline-light{
  color:#12141A!important;
  border-color:rgba(18,20,26,.22)!important;
  background:#fff!important;
}

/* Contact CTA: compact editorial text block, not stretched */
.contact-page .contact-final-cta,
.contact-final-cta{
  max-width:var(--site-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.contact-page .contact-final-cta .cta-banner{
  min-height:180px!important;
  padding:38px 48px!important;
  align-items:center!important;
}
.contact-page .contact-final-cta .cta-banner > div:first-child{
  max-width:600px!important;
}
.contact-page .contact-final-cta .cta-banner h3{
  max-width:600px!important;
  line-height:1.08!important;
}
.contact-page .contact-final-cta .cta-banner p{
  max-width:440px!important;
  margin-top:8px!important;
}
.contact-page .contact-final-cta .cta-banner-actions{
  align-self:center!important;
}

/* Footer standard */
footer.site .wrap{
  max-width:var(--site-max)!important;
}

@media (max-width:900px){
  :root{--content-pad:20px;}
  .technology-page .tech-execution-hero,
  .technology-page .tech-execution-hero-inner{
    min-height:620px!important;
  }
  .technology-page .tech-execution-hero{
    background-position:62% center!important;
  }
  .technology-page .tech-execution-copy{
    padding:50px 0 250px!important;
  }
  .technology-page .tech-state-banner-inner{
    min-height:130px!important;
    padding:24px 20px!important;
  }
  .technology-page .tech-final-overlay,
  .technology-page .tech-final-overlay-inner{
    min-height:500px!important;
  }
  .technology-page .tech-final-overlay-inner{
    grid-template-columns:1fr!important;
    padding:40px 20px 230px!important;
  }
  .careers-page .life-at-symatics.life-at-overlay{
    min-height:640px!important;
    background-position:60% center!important;
  }
  .careers-page .life-at-overlay-inner{
    min-height:640px!important;
    padding:46px 20px 260px!important;
    align-items:flex-start!important;
  }
  .careers-page .contact-final-cta .cta-banner,
  .careers-final-cta .cta-banner,
  .contact-page .contact-final-cta .cta-banner{
    padding:34px 28px!important;
    grid-template-columns:1fr!important;
    min-height:260px!important;
  }
}

/* ==================================================
   ROUND 2 FINAL FIX PASS — 2026-06-19
   Uses current image folder. CSS-only cleanup.
   ================================================== */

/* 1) Careers Life: stop image seams. Image belongs only to hero panel; lower rows are clean white. */
.careers-page .life-at-symatics.life-at-overlay{
  max-width: var(--site-max) !important;
  margin: 36px auto 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border-top: 1px solid var(--border) !important;
  border-bottom: 0 !important;
  overflow: visible !important;
}
.careers-page .life-at-symatics.life-at-overlay::before{display:none!important;}
.careers-page .life-at-overlay-inner{
  position: relative !important;
  min-height: 430px !important;
  padding: 54px 24px !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(247,248,251,1) 0%, rgba(247,248,251,.98) 30%, rgba(247,248,251,.72) 52%, rgba(247,248,251,.10) 74%),
    url('images/mobile/careers-culture-mobile.jpg') center right / cover no-repeat !important;
  border-bottom: 1px solid var(--border) !important;
}
.careers-page .life-at-overlay .life-copy{max-width: 500px !important;}
.careers-page .life-at-overlay .life-copy h2{
  font-size: clamp(44px, 4.8vw, 68px) !important;
  line-height: .98 !important;
  margin: 16px 0 22px !important;
}
.careers-page .life-at-overlay .life-copy p{
  font-size: 16px !important;
  line-height: 1.62 !important;
  max-width: 420px !important;
}
.careers-page .life-at-overlay .culture-principles,
.careers-page .life-at-overlay .culture-closing-line{
  background:#F7F8FB!important;
  position:relative!important;
  z-index:2!important;
  max-width: var(--site-max) !important;
  padding-left:24px!important;
  padding-right:24px!important;
}
.careers-page .life-at-overlay .culture-principles{
  margin-top:0!important;
  padding-top:36px!important;
  padding-bottom:32px!important;
  border-top:0!important;
}
.careers-page .life-at-overlay .culture-closing-line{
  margin-top:0!important;
  padding-top:30px!important;
  padding-bottom:44px!important;
  border-top:1px solid var(--border)!important;
}

/* 2) Company hero: control line length and CTA spacing. */
.company-body .company-hero .hero-overlay-text,
.company-page .company-hero .hero-overlay-text{max-width: 600px !important;}
.company-body .company-hero .hero-overlay-text .lead,
.company-page .company-hero .hero-overlay-text .lead{
  max-width: 540px !important;
  line-height: 1.55 !important;
  margin-top: 30px !important;
}
.company-body .company-hero .hero-actions,
.company-page .company-hero .hero-actions{
  margin-top: 28px !important;
}
.company-body .company-hero .btn,
.company-page .company-hero .btn{margin-top:0!important;}

/* 3) Technology hero: restore text-first hierarchy and reduce cube dominance. */
.technology-page .tech-execution-hero{
  max-width: var(--site-max) !important;
  margin: 0 auto !important;
  min-height: 500px !important;
  max-height: 540px !important;
  background-color:#F7F9FF!important;
  background-image:url('images/mobile/t-hero-cube-mobile.png')!important;
  background-repeat:no-repeat!important;
  background-size: 54% auto !important;
  background-position: 92% center !important;
  border-bottom:1px solid var(--border)!important;
}
.technology-page .tech-execution-hero::before{
  background:linear-gradient(90deg, rgba(247,249,255,1) 0%, rgba(247,249,255,.98) 39%, rgba(247,249,255,.82) 55%, rgba(247,249,255,.32) 72%, rgba(247,249,255,0) 100%)!important;
}
.technology-page .tech-execution-hero-inner{
  min-height:500px!important;
  display:flex!important;
  align-items:center!important;
}
.technology-page .tech-execution-copy{
  max-width: 565px !important;
  padding: 58px 0 !important;
}
.technology-page .tech-execution-copy h1{
  font-size: clamp(46px, 4.2vw, 64px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.055em !important;
  margin:0!important;
}
.technology-page .tech-execution-copy .lead{
  max-width: 470px !important;
  font-size: 16px !important;
  line-height: 1.66 !important;
  margin-top: 26px !important;
}

/* 4) Technology footer CTA: rebuild spacing like Company vision card. */
.technology-page .tech-final-overlay{
  max-width: var(--site-max) !important;
  margin: 0 auto !important;
  min-height: 230px !important;
  max-height: none !important;
  background-color:#F7F8FB!important;
  background-image:url('images/mobile/technology-footer-mobile.jpg')!important;
  background-repeat:no-repeat!important;
  background-size: 46% auto !important;
  background-position: 96% center !important;
  border-top:1px solid var(--border)!important;
  border-bottom:1px solid var(--border)!important;
}
.technology-page .tech-final-overlay::before{
  background:linear-gradient(90deg, rgba(247,248,251,1) 0%, rgba(247,248,251,.98) 46%, rgba(247,248,251,.76) 62%, rgba(247,248,251,.08) 82%, rgba(247,248,251,0) 100%)!important;
}
.technology-page .tech-final-overlay-inner{
  min-height:230px!important;
  display:grid!important;
  grid-template-columns: .74fr .55fr 1fr !important;
  gap: 34px !important;
  align-items:center!important;
  padding: 36px 24px !important;
}
.technology-page .tech-final-overlay .tech-final-heading{
  font-size: clamp(34px,3.8vw,54px)!important;
  line-height:1.04!important;
  max-width: 310px !important;
  margin:0!important;
}
.technology-page .tech-final-overlay .tech-final-copy{
  align-self:center!important;
  justify-self:start!important;
}
.technology-page .tech-final-overlay .tech-final-copy p{
  font-size:15.5px!important;
  line-height:1.55!important;
  max-width: 320px !important;
  margin:0 0 18px!important;
}
.technology-page .tech-final-overlay .btn{margin-top:0!important;}

/* 5) Contact page: remove heavy black cards, reduce Our Presence gap. */
.contact-page .contact-v10-slogan{
  background:
    radial-gradient(circle at 80% 30%, rgba(47,91,255,.12), transparent 30%),
    linear-gradient(135deg,#fff 0%,#F7F9FF 100%) !important;
  color:#12141A!important;
  border:1px solid var(--border)!important;
  box-shadow:0 18px 50px rgba(16,24,40,.06)!important;
}
.contact-page .contact-v10-slogan .contact-slogan-text,
.contact-page .contact-v10-slogan p{color:#12141A!important;}
.contact-page .contact-v10-slogan .contact-slogan-sub{color:#5A6472!important;}
.contact-page .contact-presence-section{
  padding-top: 34px !important;
  margin-top: 0 !important;
}
.contact-page .contact-main-section{padding-bottom: 36px !important;}
.contact-page .contact-final-cta .cta-banner{
  min-height:170px!important;
  padding:34px 42px!important;
  background:
    radial-gradient(circle at 78% 48%, rgba(47,91,255,.16), transparent 30%),
    linear-gradient(135deg,#fff 0%,#F7F9FF 100%)!important;
  border:1px solid rgba(47,91,255,.16)!important;
  color:#12141A!important;
  border-radius:14px!important;
}
.contact-page .contact-final-cta .cta-banner h3{color:#12141A!important;max-width:580px!important;}
.contact-page .contact-final-cta .cta-banner p{color:#5A6472!important;}
.contact-page .contact-final-cta .btn-outline-light{color:#12141A!important;background:#fff!important;border-color:rgba(18,20,26,.22)!important;}

/* 6) Site-wide: keep standard width in this final pass. */
.wrap, footer.site .wrap{max-width:var(--site-max)!important;}

@media (max-width:900px){
  .technology-page .tech-execution-hero{
    min-height:620px!important;
    background-size:92% auto!important;
    background-position:70% bottom!important;
  }
  .technology-page .tech-execution-hero-inner{min-height:620px!important;align-items:flex-start!important;}
  .technology-page .tech-execution-copy{padding:46px 0 280px!important;max-width:430px!important;}
  .technology-page .tech-execution-copy h1{font-size:clamp(38px,11vw,54px)!important;}
  .technology-page .tech-final-overlay{
    min-height:430px!important;
    background-size:100% auto!important;
    background-position:center bottom!important;
  }
  .technology-page .tech-final-overlay-inner{
    grid-template-columns:1fr!important;
    min-height:430px!important;
    padding:36px 20px 220px!important;
    gap:14px!important;
    align-items:start!important;
  }
  .careers-page .life-at-overlay-inner{
    min-height:620px!important;
    padding:42px 20px 250px!important;
    align-items:flex-start!important;
    background-size:auto 100%!important;
    background-position:62% center!important;
  }
  .careers-page .life-at-overlay .culture-principles,
  .careers-page .life-at-overlay .culture-closing-line{padding-left:20px!important;padding-right:20px!important;}
  .contact-page .contact-final-cta .cta-banner{grid-template-columns:1fr!important;padding:30px 24px!important;}
}

/* ==================================================
   V12 FINAL QA SWEEP — do not add new systems after this
   Purpose: lock proportion, spacing, footer alignment, and CTA color.
   ================================================== */

:root{
  --final-max: 1180px;
  --final-pad: 24px;
}

/* Global editorial canvas */
.wrap,
footer.site .wrap{
  max-width:var(--final-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--final-pad)!important;
  padding-right:var(--final-pad)!important;
}

/* ---- Technology hero: current image is too small. Restore impact without going full-bleed. ---- */
.technology-page .tech-execution-hero{
  max-width:var(--final-max)!important;
  min-height:520px!important;
  max-height:560px!important;
  background-size:66% auto!important;
  background-position:96% center!important;
  margin:0 auto!important;
}
.technology-page .tech-execution-hero::before{
  background:linear-gradient(90deg,rgba(247,249,255,1) 0%,rgba(247,249,255,.98) 38%,rgba(247,249,255,.70) 55%,rgba(247,249,255,.26) 72%,rgba(247,249,255,0) 100%)!important;
}
.technology-page .tech-execution-hero-inner{min-height:520px!important;}
.technology-page .tech-execution-copy{max-width:540px!important;padding:58px 0!important;}
.technology-page .tech-execution-copy h1{font-size:clamp(44px,4vw,60px)!important;line-height:1.02!important;}
.technology-page .tech-execution-copy .lead{max-width:430px!important;font-size:15.8px!important;line-height:1.65!important;}

/* Reduce dead gap before Technology closing CTA */
.technology-page .tech-duo-section{margin-bottom:0!important;padding-bottom:0!important;}
.technology-page .tech-final-overlay{
  max-width:var(--final-max)!important;
  margin:0 auto 0!important;
  min-height:200px!important;
  background-size:44% auto!important;
  background-position:96% center!important;
}
.technology-page .tech-final-overlay-inner{
  min-height:200px!important;
  grid-template-columns:.65fr .55fr .9fr!important;
  gap:30px!important;
  align-items:center!important;
  padding:28px var(--final-pad)!important;
}
.technology-page .tech-final-overlay .tech-final-heading{font-size:clamp(32px,3.4vw,50px)!important;max-width:300px!important;}
.technology-page .tech-final-overlay .tech-final-copy p{max-width:310px!important;margin-bottom:16px!important;}

/* ---- Company hero: match scale, control body line, separate CTA ---- */
.company-page .company-hero{
  max-width:var(--final-max)!important;
  min-height:520px!important;
  margin:0 auto!important;
}
.company-page .company-hero .wrap{max-width:var(--final-max)!important;}
.company-page .company-hero .hero-overlay-text{max-width:500px!important;}
.company-page .company-hero .hero-overlay-text h1{
  font-size:clamp(38px,3.55vw,52px)!important;
  line-height:1.06!important;
  letter-spacing:-.045em!important;
  max-width:460px!important;
}
.company-page .company-hero .hero-overlay-text .lead{
  max-width:405px!important;
  font-size:16px!important;
  line-height:1.55!important;
}
.company-page .company-hero .hero-actions{margin-top:34px!important;}

/* Company 3 pillar section: align title baselines and body baselines */
.company-page .company-pillars-icons>div{
  display:grid!important;
  grid-template-rows:44px 88px auto!important;
  align-items:start!important;
}
.company-page .company-pillars-icons .company-pillar-icon{display:block!important;align-self:start!important;}
.company-page .company-pillars-icons h4{align-self:start!important;margin:0!important;}
.company-page .company-pillars-icons p{align-self:start!important;margin:0!important;}

/* ---- Careers hero: reduce oversized headline and give buttons breathing room ---- */
.careers-page .careers-hero{
  max-width:var(--final-max)!important;
  min-height:520px!important;
  margin:0 auto!important;
}
.careers-page .careers-hero .hero-overlay-text{max-width:520px!important;}
.careers-page .careers-hero .hero-overlay-text h1{
  font-size:clamp(38px,3.7vw,54px)!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
  max-width:540px!important;
}
.careers-page .careers-hero .hero-overlay-text p.lead{
  font-size:18px!important;
  line-height:1.58!important;
  max-width:540px!important;
}
.careers-page .careers-hero .hero-actions{margin-top:38px!important;}

/* Careers Life: too hero-sized. Make it a compact editorial CTA panel, keep image. */
.careers-page .life-at-symatics.life-at-overlay{
  max-width:var(--final-max)!important;
  margin:28px auto 0!important;
}
.careers-page .life-at-overlay-inner{
  min-height:340px!important;
  padding:42px var(--final-pad)!important;
  background:
    linear-gradient(90deg,rgba(247,248,251,1) 0%,rgba(247,248,251,.97) 33%,rgba(247,248,251,.70) 54%,rgba(247,248,251,.10) 76%),
    url('images/mobile/careers-culture-mobile.jpg') center right/cover no-repeat!important;
}
.careers-page .life-at-overlay .life-copy h2{
  font-size:clamp(36px,3.85vw,56px)!important;
  line-height:.98!important;
  max-width:430px!important;
}
.careers-page .life-at-overlay .life-copy p{max-width:365px!important;font-size:14.5px!important;line-height:1.55!important;}
.careers-page .life-at-overlay .culture-principles{padding-top:26px!important;padding-bottom:24px!important;}
.careers-page .life-at-overlay .culture-closing-line{padding-top:24px!important;padding-bottom:32px!important;}

/* ---- Contact: restore final CTA to dark conversion style; tighten section gaps. ---- */
.contact-page .contact-presence-section{padding-top:26px!important;padding-bottom:26px!important;}
.contact-page .contact-final-cta{padding:0 0 22px!important;margin-top:0!important;}
.contact-page .contact-final-cta .wrap{max-width:var(--final-max)!important;}
.contact-page .contact-final-cta .cta-banner{
  min-height:150px!important;
  padding:30px 42px!important;
  border-radius:14px!important;
  border:1px solid rgba(124,155,255,.18)!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 18% 50%, rgba(47,91,255,.22), transparent 22%),
    linear-gradient(90deg,#071022 0%,#081226 56%,#0B1D4A 100%)!important;
}
.contact-page .contact-final-cta .cta-banner h3{color:#fff!important;max-width:560px!important;}
.contact-page .contact-final-cta .cta-banner p{color:rgba(255,255,255,.72)!important;max-width:420px!important;}
.contact-page .contact-final-cta .btn-outline-light{color:#fff!important;background:transparent!important;border-color:rgba(255,255,255,.28)!important;}
.contact-page .contact-final-cta .btn-outline-light:hover{border-color:rgba(255,255,255,.55)!important;}

/* ---- Site-wide footer: same grid and alignment on every page ---- */
footer.site{padding:30px 0 38px!important;border-top:1px solid var(--border)!important;background:#F7F8FB!important;}
footer.site .wrap{max-width:var(--final-max)!important;}
footer.site .footer-top{
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:start!important;
  gap:48px!important;
}
footer.site .footer-brand{justify-self:start!important;max-width:280px!important;}
footer.site .footer-links{justify-self:center!important;display:flex!important;gap:58px!important;}
footer.site .footer-bottom{
  margin-top:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:18px!important;
}
footer.site .socials{order:0!important;}
footer.site .footer-bottom p{order:1!important;text-align:right!important;}

/* General vertical rhythm: remove oversized empty bands near bottom CTAs */
.contact-page .contact-main-section{padding-bottom:26px!important;}
.contact-page .contact-v10-presence{margin-bottom:28px!important;}

@media (max-width:900px){
  :root{--final-pad:20px;}
  .technology-page .tech-execution-hero{min-height:620px!important;background-size:94% auto!important;background-position:68% bottom!important;}
  .technology-page .tech-execution-hero-inner{min-height:620px!important;align-items:flex-start!important;}
  .technology-page .tech-execution-copy{padding:46px 0 285px!important;}
  .technology-page .tech-final-overlay{min-height:430px!important;background-size:100% auto!important;background-position:center bottom!important;}
  .technology-page .tech-final-overlay-inner{grid-template-columns:1fr!important;min-height:430px!important;padding:34px 20px 220px!important;}
  .company-page .company-hero,.careers-page .careers-hero{min-height:auto!important;}
  .company-page .company-hero .hero-overlay-text h1,.careers-page .careers-hero .hero-overlay-text h1{font-size:40px!important;}
  .careers-page .life-at-overlay-inner{min-height:520px!important;padding:36px 20px 220px!important;background-position:62% center!important;}
  .contact-page .contact-final-cta .cta-banner{grid-template-columns:1fr!important;padding:30px 24px!important;}
  footer.site .footer-top{grid-template-columns:1fr!important;gap:28px!important;}
  footer.site .footer-links, footer.site .footer-bottom{justify-self:start!important;align-items:flex-start!important;}
  footer.site .footer-bottom p{text-align:left!important;}
}

/* ==================================================
   V13 TRUE FINAL FINE-TUNE — full alignment + mobile lock
   ================================================== */
:root{--site-max:1180px;--site-pad:24px;--mobile-pad:20px;}
html,body{max-width:100%;overflow-x:hidden!important;}
body *{box-sizing:border-box;}
.wrap,
.home-page .wrap,
.architecture-page .wrap,
.technology-page .wrap,
.capabilities-page .wrap,
.company-page .wrap,
.careers-page .wrap,
.contact-page .wrap,
footer.site .wrap{
  width:100%!important;
  max-width:var(--site-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--site-pad)!important;
  padding-right:var(--site-pad)!important;
}
section{overflow:hidden;}

/* ---------- Technology hero: restore overlay impact without breaking grid ---------- */
.technology-page .tech-execution-hero{
  width:100%!important;
  max-width:var(--site-max)!important;
  margin:0 auto!important;
  min-height:560px!important;
  max-height:none!important;
  display:flex!important;
  align-items:center!important;
  background-color:#F7F9FF!important;
  background-image:url('images/mobile/t-hero-cube-mobile.png')!important;
  background-repeat:no-repeat!important;
  background-size:78% auto!important;
  background-position:72% center!important;
  border-bottom:1px solid var(--border)!important;
}
.technology-page .tech-execution-hero::before{
  background:
    linear-gradient(90deg,rgba(247,249,255,1) 0%,rgba(247,249,255,.98) 32%,rgba(247,249,255,.74) 48%,rgba(247,249,255,.30) 64%,rgba(247,249,255,0) 82%),
    radial-gradient(circle at 62% 50%,rgba(47,91,255,.16),rgba(47,91,255,0) 34%)!important;
}
.technology-page .tech-execution-hero-inner{min-height:560px!important;display:flex!important;align-items:center!important;}
.technology-page .tech-execution-copy{max-width:515px!important;padding:72px 0!important;position:relative!important;z-index:2!important;}
.technology-page .tech-execution-copy h1{font-size:clamp(44px,4.5vw,64px)!important;line-height:1.02!important;letter-spacing:-.055em!important;}
.technology-page .tech-execution-copy .lead{max-width:430px!important;font-size:15.8px!important;line-height:1.62!important;margin-top:28px!important;}

/* Technology process spacing */
.technology-page .tech-state-banner{padding:34px 0!important;min-height:auto!important;}
.technology-page .tech-state-banner-inner{min-height:92px!important;}
.technology-page .tech-duo-section + .tech-final-overlay,
.technology-page .tech-final-overlay{margin-top:0!important;}

/* Technology footer CTA: Company Vision style with divider */
.technology-page .tech-final-overlay{
  width:100%!important;
  max-width:var(--site-max)!important;
  margin:0 auto!important;
  min-height:210px!important;
  background-image:url('images/mobile/technology-footer-mobile.jpg')!important;
  background-repeat:no-repeat!important;
  background-size:42% auto!important;
  background-position:96% center!important;
  border-top:1px solid var(--border)!important;
  border-bottom:1px solid var(--border)!important;
}
.technology-page .tech-final-overlay::before{background:linear-gradient(90deg,rgba(247,248,251,1) 0%,rgba(247,248,251,.98) 44%,rgba(247,248,251,.78) 60%,rgba(247,248,251,.14) 82%,rgba(247,248,251,0) 100%)!important;}
.technology-page .tech-final-overlay-inner{
  display:grid!important;
  grid-template-columns:.72fr .7fr 1fr!important;
  gap:34px!important;
  min-height:210px!important;
  align-items:center!important;
  padding:30px var(--site-pad)!important;
}
.technology-page .tech-final-overlay .tech-final-heading{
  font-size:clamp(32px,3.6vw,50px)!important;
  line-height:1.04!important;
  max-width:290px!important;
  margin:0!important;
  padding-right:34px!important;
  border-right:1px solid rgba(214,219,228,.95)!important;
}
.technology-page .tech-final-overlay .tech-final-copy{justify-self:start!important;align-self:center!important;}
.technology-page .tech-final-overlay .tech-final-copy p{max-width:310px!important;font-size:14.5px!important;line-height:1.55!important;margin:0 0 18px!important;}

/* ---------- Company hero + card alignment ---------- */
.company-page .company-hero{max-width:var(--site-max)!important;margin:0 auto!important;min-height:520px!important;}
.company-page .company-hero .hero-overlay-text{max-width:520px!important;}
.company-page .company-hero .hero-overlay-text h1{font-size:clamp(38px,3.55vw,52px)!important;line-height:1.06!important;max-width:480px!important;}
.company-page .company-hero .hero-overlay-text .lead{max-width:420px!important;font-size:16px!important;line-height:1.58!important;margin-top:32px!important;}
.company-page .company-hero .hero-actions{margin-top:38px!important;}
.company-page .company-pillars-icons>div{display:grid!important;grid-template-rows:48px 94px auto!important;align-items:start!important;}
.company-page .company-pillars-icons h4,.company-page .company-pillars-icons p{margin:0!important;align-self:start!important;}

/* ---------- Careers hero: safe copy boundary + consistent scale ---------- */
.careers-page .careers-hero{max-width:var(--site-max)!important;margin:0 auto!important;min-height:560px!important;}
.careers-page .careers-hero .hero-overlay-text{max-width:560px!important;}
.careers-page .careers-hero .hero-overlay-text h1{font-size:clamp(40px,4.1vw,60px)!important;line-height:1.05!important;max-width:560px!important;}
.careers-page .careers-hero .hero-overlay-text p.lead{max-width:520px!important;font-size:17px!important;line-height:1.58!important;}
.careers-page .careers-hero .hero-actions{margin-top:42px!important;}
.careers-page .careers-hero .hero-overlay-img{object-position:72% center!important;}
.careers-page .careers-hero::after{background:linear-gradient(90deg,rgba(247,248,251,.99) 0%,rgba(247,248,251,.96) 44%,rgba(247,248,251,.64) 60%,rgba(247,248,251,.08) 78%)!important;}

/* Careers Life section: compact, clean, no seams */
.careers-page .life-at-symatics.life-at-overlay{max-width:var(--site-max)!important;margin:28px auto 0!important;border-top:0!important;}
.careers-page .life-at-overlay-inner{
  min-height:320px!important;
  padding:42px var(--site-pad)!important;
  background:
    linear-gradient(90deg,rgba(247,248,251,1) 0%,rgba(247,248,251,.98) 34%,rgba(247,248,251,.68) 56%,rgba(247,248,251,.05) 80%),
    url('images/mobile/careers-culture-mobile.jpg') center right/cover no-repeat!important;
  border-top:1px solid var(--border)!important;
  border-bottom:1px solid var(--border)!important;
}
.careers-page .life-at-overlay .life-copy{max-width:460px!important;}
.careers-page .life-at-overlay .life-copy h2{font-size:clamp(36px,3.7vw,54px)!important;line-height:.98!important;}
.careers-page .life-at-overlay .life-copy p{max-width:360px!important;font-size:14.5px!important;line-height:1.55!important;}
.careers-page .life-at-overlay .culture-principles,
.careers-page .life-at-overlay .culture-closing-line{background:#F7F8FB!important;background-image:none!important;}

/* ---------- Contact hero, cards, presence spacing ---------- */
.contact-page .contact-hero-inner h1{margin-bottom:36px!important;}
.contact-page .contact-hero-inner p.lead{max-width:560px!important;font-size:17px!important;line-height:1.68!important;margin-bottom:38px!important;}
.contact-v10-routes{padding-bottom:24px!important;}
.contact-v10-trio{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:16px!important;align-items:stretch!important;}
.contact-v10-trio .contact-v10-card{min-height:270px!important;display:grid!important;grid-template-rows:52px 44px minmax(72px,auto) auto!important;padding:34px 28px!important;align-items:start!important;}
.contact-v10-trio .contact-v10-icon.small{justify-self:start!important;align-self:start!important;display:block!important;}
.contact-v10-trio .contact-v10-icon.small svg{width:42px!important;height:42px!important;margin:0!important;}
.contact-v10-trio h3{margin:0!important;align-self:start!important;}
.contact-v10-trio p{margin:0!important;align-self:start!important;}
.contact-v10-trio a,.contact-v10-trio .contact-info-mini{margin-top:0!important;align-self:start!important;}
.contact-info-card .contact-v10-icon.small{justify-content:flex-start!important;align-items:flex-start!important;}
.contact-info-mini{margin:0!important;width:100%!important;}
.contact-page .contact-main-section{padding-bottom:18px!important;}
.contact-page .contact-presence-section{padding-top:18px!important;padding-bottom:22px!important;}
.contact-page .contact-presence-section .contact-section-kicker{margin-bottom:22px!important;}
.contact-page .contact-final-cta{padding-top:0!important;padding-bottom:24px!important;margin-top:0!important;}
.contact-page .contact-final-cta .cta-banner{
  min-height:160px!important;
  padding:30px 42px!important;
  border-radius:14px!important;
  background:
    radial-gradient(circle at 78% 46%, rgba(47,91,255,.16), transparent 34%),
    linear-gradient(135deg,#FFFFFF 0%,#F4F7FF 100%)!important;
  border:1px solid rgba(47,91,255,.18)!important;
  color:#11131A!important;
}
.contact-page .contact-final-cta .cta-banner h3{color:#11131A!important;}
.contact-page .contact-final-cta .cta-banner p{color:#5B6472!important;}
.contact-page .contact-final-cta .btn-outline-light{background:#fff!important;color:#11131A!important;border-color:rgba(17,19,26,.24)!important;}

/* ---------- Site-wide footer grid ---------- */
footer.site{padding:30px 0 38px!important;background:#F7F8FB!important;border-top:1px solid var(--border)!important;}
footer.site .footer-top{display:grid!important;grid-template-columns:1fr auto 1fr!important;gap:48px!important;align-items:start!important;}
footer.site .footer-brand{justify-self:start!important;}
footer.site .footer-links{justify-self:center!important;display:flex!important;gap:58px!important;}
footer.site .footer-bottom{justify-self:end!important;margin-top:0!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:18px!important;}
footer.site .footer-bottom p{text-align:right!important;}

/* ---------- Mobile hard lock: no horizontal scrolling, same left/right grid ---------- */
@media(max-width:1100px){
  :root{--site-pad:20px;}
  .wrap,
  .home-page .wrap,
  .architecture-page .wrap,
  .technology-page .wrap,
  .capabilities-page .wrap,
  .company-page .wrap,
  .careers-page .wrap,
  .contact-page .wrap,
  footer.site .wrap{max-width:100%!important;padding-left:var(--site-pad)!important;padding-right:var(--site-pad)!important;}
  section,.hero-overlay,.tech-execution-hero,.tech-final-overlay,.life-at-overlay{max-width:100%!important;width:100%!important;}
  .technology-page .tech-execution-hero{min-height:610px!important;background-size:112% auto!important;background-position:58% bottom!important;}
  .technology-page .tech-execution-hero-inner{min-height:610px!important;align-items:flex-start!important;}
  .technology-page .tech-execution-copy{max-width:420px!important;padding:42px 0 300px!important;}
  .technology-page .tech-execution-copy h1{font-size:clamp(38px,11vw,54px)!important;}
  .technology-page .tech-execution-copy .lead{max-width:360px!important;font-size:15px!important;line-height:1.56!important;}
  .technology-page .tech-final-overlay{min-height:430px!important;background-size:100% auto!important;background-position:center bottom!important;}
  .technology-page .tech-final-overlay-inner{grid-template-columns:1fr!important;min-height:430px!important;padding:34px var(--site-pad) 220px!important;gap:18px!important;}
  .technology-page .tech-final-overlay .tech-final-heading{border-right:0!important;padding-right:0!important;}
  .careers-page .careers-hero{min-height:620px!important;}
  .careers-page .careers-hero .hero-overlay-text{max-width:360px!important;}
  .careers-page .careers-hero .hero-overlay-text h1{font-size:clamp(38px,11vw,54px)!important;}
  .careers-page .careers-hero .hero-overlay-text p.lead{max-width:340px!important;font-size:15.5px!important;line-height:1.55!important;}
  .careers-page .careers-hero .hero-overlay-img{object-position:76% center!important;}
  .careers-page .life-at-overlay-inner{min-height:500px!important;padding:34px var(--site-pad) 220px!important;background-position:62% bottom!important;}
  .contact-v10-trio{grid-template-columns:1fr!important;}
  .contact-v10-trio .contact-v10-card{min-height:0!important;}
  .contact-page .contact-final-cta .cta-banner{grid-template-columns:1fr!important;padding:28px 24px!important;}
  footer.site .footer-top{grid-template-columns:1fr!important;gap:26px!important;}
  footer.site .footer-links,footer.site .footer-bottom{justify-self:start!important;align-items:flex-start!important;}
  footer.site .footer-bottom p{text-align:left!important;}
}
@media(max-width:520px){
  :root{--site-pad:18px;}
  .hero h1,.company-page .company-hero .hero-overlay-text h1,.careers-page .careers-hero .hero-overlay-text h1,.contact-page .contact-hero-inner h1{font-size:38px!important;line-height:1.06!important;}
  .roles-table-card{overflow-x:auto!important;}
}

/* ================================================
   MOBILE FIX PASS — fixes identified by code audit
   ================================================ */

/* 1. Undefined CSS variables — both used but never declared */
:root {
  --shadow: 0 2px 12px rgba(0,0,0,.07);
  --muted: #7B8394;
}

/* 2. Index nav — "Get in touch" hidden on mobile only on home page.
      Every other page shows it; home page should too. */
@media (max-width:768px) {
  .home-page .nav .btn-primary { display: flex !important; }
}

/* 3. Index principles section — flex-basis:310px not reset on mobile,
      leaving a 310px tall gap beneath the headline before the items start. */
@media (max-width:900px) {
  .home-page .principles-head { flex-basis: auto !important; }
}

/* 4. Technology hero on mobile — background-position hits 100% vertical,
      pushing the image to the very bottom corner. Centre it instead. */
@media (max-width:768px) {
  .technology-page .tech-execution-hero {
    background-position: 62% 60% !important;
  }
}
@media (max-width:520px) {
  .technology-page .tech-execution-hero {
    background-position: 68% 55% !important;
  }
}

/* 5. Contact — Universities icon renders as a raw hyphen character at mobile
      widths because the mini-ico block lost its display context when the grid
      collapses to single column. Re-assert it. */
@media (max-width:768px) {
  .mini-ico {
    display: block !important;
    font-size: 22px !important;
    color: var(--blue) !important;
    margin-bottom: 8px !important;
    line-height: 1 !important;
  }
}

/* =============================================================
   v15 FIXES
   ============================================================= */

/* FIX 4: Homepage mobile hero image overflow
   Portrait crop is taller than min-height; ensure section clips it */
.home-page .hero-overlay {
  overflow: hidden !important;
}

/* FIX 5: Capabilities + Contact hero — image column not filling full height
   Ensure the flex container stretches and image col fills it */
.capabilities-page .hero-bleed-right,
.contact-page .hero-bleed-right {
  align-items: stretch !important;
}
.capabilities-page .hero-bleed-image-col,
.contact-page .hero-bleed-image-col {
  align-self: stretch !important;
  min-height: 100% !important;
}
.capabilities-page .hero-bleed-image-col img,
.contact-page .hero-bleed-image-col img {
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
}

/* FIX 6: Technology hero — extend gradient fade-out further right
   so image isn't clipped too early */
.technology-page .tech-execution-hero::before {
  background:
    linear-gradient(90deg,rgba(247,249,255,.98) 0%,rgba(247,249,255,.92) 30%,rgba(247,249,255,.42) 52%,rgba(247,249,255,0) 72%),
    radial-gradient(circle at 70% 48%,rgba(45,91,255,.16),rgba(45,91,255,0) 34%) !important;
}

/* FIX 7: Contact form section — right column align to top */
.contact-v10-combined > *:last-child,
.contact-form-aside,
.contact-aside {
  align-self: start !important;
}

/* FIX 8: Careers mobile hero — ensure image renders with fixed height
   (height:auto on portrait crop can collapse) */
@media (max-width: 1024px) {
  .careers-page .hero-overlay-img {
    height: 320px !important;
    max-height: 320px !important;
    object-fit: cover !important;
    object-position: center 30% !important;
  }
  .careers-page .hero-overlay picture {
    display: block !important;
    width: 100% !important;
    line-height: 0 !important;
  }
}

/* FIX 7 (revised): Contact slogan card — top-align content, remove floating */
.contact-v10-slogan {
  justify-content: flex-start !important;
  gap: 20px !important;
}
.contact-v10-slogan > div {
  flex: 0 0 auto !important;
}
.contact-slogan-sub {
  margin: 0 !important;
}

/* FIX 5 (revised): Override fixed heights and center-alignment on hero image cols */
.capabilities-page .hero-bleed-right {
  align-items: stretch !important;
}
.capabilities-page .hero-bleed-image-col {
  height: auto !important;
  min-height: 405px !important;
  align-self: stretch !important;
}
.capabilities-page .hero-bleed-image-col img {
  height: 100% !important;
  width: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.contact-page .hero-bleed-image-col {
  height: auto !important;
  min-height: 380px !important;
  align-self: stretch !important;
}
.contact-page .hero-bleed-image-col img {
  height: 100% !important;
  width: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* FIX 8 (final): Careers mobile hero — fix picture wrapper collapsing */
@media (max-width: 1024px) {
  .careers-page .hero-overlay picture {
    display: block !important;
    width: 100% !important;
    height: 320px !important;
    overflow: hidden !important;
    order: 2 !important;
    line-height: 0 !important;
    flex-shrink: 0 !important;
  }
  .careers-page .hero-overlay-img {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 30% !important;
    display: block !important;
  }
}

/* FIX 2: Technology page — remove default section padding from tech-final */
.technology-page .tech-final {
  padding: 0 !important;
}

/* FIX 3: Homepage vision banner — shift image down to show full tree */
.home-page .vision-banner .image-banner-img {
  object-position: center 80% !important;
}

/* FIX 5: Hero images — constrain right edge to match content sections
   Architecture, technology heroes use full-bleed background so no overflow.
   The visual issue is the max-width container not being applied to the section itself. */
.architecture-page .arch-hero,
.technology-page .tech-execution-hero {
  max-width: 100% !important;
  overflow: hidden !important;
}

/* =============================================================
   v16 FIXES — all 8 issues
   ============================================================= */

/* FIX 1: Remove max-width from hero-bleed-right pages so image bleeds to right edge
   Capabilities, careers, contact */
.capabilities-page .hero-bleed-right,
.careers-page .hero-bleed-right,
.contact-page .hero-bleed-right {
  max-width: none !important;
  margin: 0 !important;
}

/* FIX 3: Technology hero — remove max-width and reduce min-height to fix gap */
.technology-page .tech-execution-hero {
  max-width: none !important;
  margin: 0 !important;
  min-height: clamp(480px, 60vh, 720px) !important;
}
.technology-page .tech-execution-hero-inner {
  min-height: clamp(480px, 60vh, 720px) !important;
}
.technology-page .tech-execution-copy {
  padding: 56px 0 !important;
}

/* FIX 4: Architecture hero — remove max-width so image fills full width */
.architecture-page .arch-hero {
  max-width: none !important;
  margin: 0 !important;
}

/* FIX 2: Capabilities page — reduce inter-section gaps */
.capabilities-page section {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}
.capabilities-page .hero-bleed-right {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}
.capabilities-page section.tight {
  padding-top: 28px !important;
  padding-bottom: 28px !important;
}

/* FIX 5: Company pillars — ensure equal column widths */
.company-pillars {
  grid-template-columns: repeat(3, 1fr) !important;
  align-items: start !important;
}
.company-pillars > div {
  min-width: 0 !important;
}

/* FIX 6: Homepage vision banner — show full tree */
.home-page .vision-banner .image-banner-img {
  object-position: center 75% !important;
}

/* FIX 7: Careers mobile hero — final fix with explicit picture height */
@media (max-width: 1024px) {
  .careers-page .hero-overlay {
    overflow: visible !important;
  }
  .careers-page .hero-overlay picture {
    display: block !important;
    width: 100% !important;
    height: 300px !important;
    overflow: hidden !important;
    order: 2 !important;
    flex-shrink: 0 !important;
  }
  .careers-page .hero-overlay-img {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 300px !important;
    object-fit: cover !important;
    object-position: center 25% !important;
    display: block !important;
  }
}

/* FIX 8: Contact form — slogan card top-aligned */
.contact-v10-slogan {
  justify-content: flex-start !important;
  gap: 24px !important;
}
.contact-slogan-sub {
  margin-top: 0 !important;
}

/* FIX 3b: Technology + Capabilities hero — remove bottom section padding gap */
.technology-page .tech-execution-hero,
.capabilities-page .hero-bleed-right {
  margin-bottom: 0 !important;
}
.technology-page section.tech-execution-hero {
  padding: 0 !important;
}
/* The gap comes from the wrap padding inside the hero */
.technology-page .tech-execution-copy {
  padding: 64px 0 !important;
}
/* Capabilities hero section has default section padding applied */
.capabilities-page section:first-of-type {
  padding: 0 !important;
}

/* FIX: Remove default section padding from all hero sections */
.architecture-page .arch-hero,
.capabilities-page .hero-bleed-right,
.contact-page .hero-bleed-right,
.careers-page .hero-bleed-right {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
/* But keep internal padding on the text column */
.capabilities-page .hero-bleed-text-col,
.contact-page .hero-bleed-text-col,
.careers-page .hero-bleed-text-col {
  padding-top: 52px !important;
  padding-bottom: 52px !important;
}

/* FIX: Architecture hero — remove min-height forcing extra space, let content size it */
.architecture-page .arch-hero {
  min-height: 0 !important;
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

/* FIX: Capabilities hero — image col min-height was forcing extra space below */
.capabilities-page .hero-bleed-right {
  min-height: 0 !important;
}
.capabilities-page .hero-bleed-image-col {
  min-height: 0 !important;
}

/* =============================================================
   HERO OVERFLOW FIX — restore contained layout matching company page
   Remove all previous max-width:none overrides and set overflow:hidden
   on body to prevent any element exceeding viewport width
   ============================================================= */

/* Prevent any hero overflowing viewport */
body { overflow-x: hidden !important; }

/* Technology hero — restore max-width, keep full-bleed bg */
.technology-page .tech-execution-hero {
  max-width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* Architecture hero — restore contained width */
.architecture-page .arch-hero {
  max-width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* Capabilities hero — restore max-width matching company */
.capabilities-page .hero-bleed-right {
  max-width: var(--max) !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}

/* Careers hero — restore max-width matching company */
.careers-page .hero-bleed-right {
  max-width: var(--max) !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}

/* Contact hero — restore max-width matching company */
.contact-page .hero-bleed-right {
  max-width: var(--max) !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}

/* =============================================================
   v18 MOBILE QA FIXES — unified mobile grid, structural stacks,
   rhythm cleanup, footer safe area
   ============================================================= */
@media (max-width: 768px) {
  :root { --mobile-pad: clamp(28px, 9.5vw, 40px); }

  html, body { overflow-x: hidden !important; }

  /* 1) One mobile content grid across the site */
  .wrap,
  .home-page .wrap,
  .architecture-page .wrap,
  .technology-page .wrap,
  .capabilities-page .wrap,
  .company-page .wrap,
  .company-body .wrap,
  .careers-page .wrap,
  .contact-page .wrap,
  footer.site .wrap,
  .hero-bleed-text-col {
    width: 100% !important;
    max-width: none !important;
    padding-left: var(--mobile-pad) !important;
    padding-right: var(--mobile-pad) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  header.site .wrap { padding-left: 24px !important; padding-right: 24px !important; }

  /* Keep mobile header consistent */
  header.site { position: sticky !important; top: 0 !important; z-index: 50 !important; background: rgba(247,248,251,.96) !important; border-bottom: 1px solid var(--border) !important; backdrop-filter: blur(12px) !important; }
  .nav { min-height: 74px !important; gap: 12px !important; }
  .brand { min-width: 0 !important; }
  .brand img { flex: 0 0 auto !important; }
  .nav-cta { margin-left: auto !important; gap: 8px !important; }
  .nav-cta .btn { display: inline-flex !important; min-height: 50px !important; padding: 0 22px !important; border-radius: 9px !important; font-size: 15px !important; white-space: nowrap !important; }
  .careers-page .nav-cta .btn { display: inline-flex !important; }
  .nav-toggle { display: flex !important; width: 50px !important; height: 50px !important; align-items: center !important; justify-content: center !important; border: 1px solid var(--border) !important; border-radius: 9px !important; background: #fff !important; }

  /* 2) Global vertical rhythm: remove inherited desktop gaps */
  section { padding-top: 56px !important; padding-bottom: 56px !important; }
  section.tight { padding-top: 42px !important; padding-bottom: 42px !important; }
  .technology-page .tech-duo-section,
  .capabilities-page .cap-overlay-cards-section,
  .contact-page .contact-final-cta,
  .careers-page .life-at-symatics,
  .company-page .company-positioning-section { padding-top: 44px !important; padding-bottom: 44px !important; }

  /* Home: dark bottleneck section aligns with hero */
  .home-page .state-problem-section .wrap,
  .home-page .image-banner .wrap,
  .home-page .hero-overlay .wrap { padding-left: var(--mobile-pad) !important; padding-right: var(--mobile-pad) !important; }

  /* Architecture: principle icons sit with their content, not the divider */
  .architecture-page .principle-icon,
  .architecture-page .arch-principle-icon,
  .architecture-page .principles-list svg,
  .architecture-page .arch-principles svg { margin-top: 14px !important; margin-bottom: 24px !important; }
  .architecture-page .arch-vision-card { grid-template-columns: 1fr !important; gap: 24px !important; padding: 34px var(--mobile-pad) !important; }
  .architecture-page .arch-vision-card p { max-width: none !important; }

  /* Technology: reduce hero-to-01 gap */
  .technology-page .tech-execution-hero { min-height: 0 !important; padding: 0 !important; background-size: 80% auto !important; background-position: 88% 42% !important; }
  .technology-page .tech-execution-hero-inner { min-height: 0 !important; align-items: center !important; padding-top: 64px !important; padding-bottom: 64px !important; }
  .technology-page .tech-execution-copy { padding: 0 !important; max-width: none !important; }
  .technology-page .tech-execution-copy h1 { font-size: clamp(46px, 13vw, 62px) !important; line-height: 1.02 !important; }
  .technology-page .tech-execution-copy .lead { max-width: none !important; }
  .technology-page .tech-duo-section:first-of-type { padding-top: 48px !important; }
  .technology-page .tech-duo { gap: 46px !important; }
  .technology-page .tech-duo-item, .technology-page .tech-step-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .technology-page .tech-final-overlay { min-height: 0 !important; padding: 0 !important; background-size: 74% auto !important; background-position: 100% bottom !important; }
  .technology-page .tech-final-overlay-inner { grid-template-columns: 1fr !important; gap: 24px !important; min-height: 0 !important; padding-top: 54px !important; padding-bottom: 54px !important; }
  .technology-page .tech-final-overlay .tech-final-heading { border-right: 0 !important; padding-right: 0 !important; max-width: none !important; }

  /* Capabilities: hero text and image use same grid; image not full-bleed */
  .capabilities-page .hero-bleed-right { display: block !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
  .capabilities-page .hero-bleed-text-col { padding-top: 68px !important; padding-bottom: 34px !important; }
  .capabilities-page .hero-bleed-text-col h1 { font-size: clamp(42px, 11.5vw, 56px) !important; line-height: 1.04 !important; letter-spacing: -.055em !important; }
  .capabilities-page .hero-bleed-text-col .lead { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
  .capabilities-page .hero-bleed-image-col { min-height: 0 !important; height: auto !important; padding-left: var(--mobile-pad) !important; padding-right: var(--mobile-pad) !important; padding-bottom: 36px !important; }
  .capabilities-page .hero-bleed-image-col img { height: auto !important; width: 100% !important; border-radius: 0 !important; object-fit: cover !important; }
  .capabilities-page section { padding-top: 42px !important; padding-bottom: 42px !important; }
  .capabilities-page .feature-row { display: flex !important; flex-direction: column !important; gap: 30px !important; padding-top: 42px !important; padding-bottom: 32px !important; }
  .capabilities-page .feature-row > .feature-media { order: -1 !important; width: 100% !important; }
  .capabilities-page .feature-media img { width: 100% !important; border-radius: 12px !important; display: block !important; }
  .capabilities-page .cap-overlay-cards-section { padding-top: 28px !important; }
  .capabilities-page .cap-overlay-cards { grid-template-columns: 1fr !important; gap: 28px !important; }
  .capabilities-page .cap-overlay-card { padding: 34px !important; }
  .capabilities-page .cap-closing-section { padding-top: 42px !important; padding-bottom: 54px !important; }
  .capabilities-page .cap-closing-overlay { display: flex !important; flex-direction: column !important; padding: 34px !important; gap: 22px !important; }
  .capabilities-page .cap-closing-overlay img { position: static !important; order: 3 !important; width: 100% !important; height: 150px !important; object-fit: cover !important; object-position: 70% center !important; border-radius: 10px !important; opacity: 1 !important; }
  .capabilities-page .cap-closing-copy { position: static !important; max-width: none !important; }
  .capabilities-page .cap-closing-copy h2 { font-size: clamp(42px, 11vw, 56px) !important; line-height: 1.03 !important; margin-bottom: 22px !important; }
  .capabilities-page .cap-closing-copy p { margin-bottom: 24px !important; }
  .capabilities-page .cap-closing-copy .btn { width: 100% !important; }

  /* Careers: hero needs a true mobile composition */
  .careers-page .careers-hero { display: flex !important; flex-direction: column !important; min-height: 0 !important; max-width: none !important; overflow: hidden !important; padding: 0 !important; background: #F7F8FB !important; }
  .careers-page .careers-hero::after { display: none !important; }
  .careers-page .careers-hero picture { order: 2 !important; width: 100% !important; height: 420px !important; margin: 0 !important; overflow: hidden !important; }
  .careers-page .careers-hero .hero-overlay-img { position: relative !important; inset: auto !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: 62% center !important; opacity: .9 !important; filter: none !important; }
  .careers-page .careers-hero .wrap { order: 1 !important; padding-top: 68px !important; padding-bottom: 34px !important; }
  .careers-page .careers-hero .hero-overlay-text { max-width: none !important; padding: 0 !important; color: #11131A !important; }
  .careers-page .careers-hero .hero-overlay-text h1 { font-size: clamp(44px, 12vw, 60px) !important; line-height: 1.04 !important; letter-spacing: -.055em !important; max-width: none !important; color: #11131A !important; }
  .careers-page .careers-hero .hero-overlay-text .lead { max-width: none !important; font-size: 19px !important; line-height: 1.55 !important; color: #11131A !important; }
  .careers-page .careers-hero .hero-actions { margin-top: 34px !important; gap: 24px !important; }
  .careers-page .careers-hero .hero-actions .btn { width: 100% !important; }
  .careers-page .life-at-symatics.life-at-overlay { margin-top: 0 !important; padding: 0 !important; }
  .careers-page .life-at-overlay-inner { min-height: 0 !important; padding: 64px var(--mobile-pad) 340px !important; background:
    linear-gradient(180deg,rgba(247,248,251,.98) 0%,rgba(247,248,251,.88) 50%,rgba(247,248,251,.08) 100%),
    url('images/mobile/careers-culture-mobile.jpg') center bottom/cover no-repeat !important; }
  .careers-page .life-at-overlay .life-copy h2 { font-size: clamp(40px, 11vw, 56px) !important; line-height: 1.02 !important; }
  .careers-page .life-at-overlay .life-copy p { max-width: none !important; font-size: 18px !important; color: #5B6472 !important; }

  /* Careers/Architecture vision cards: desktop columns collapse */
  .careers-page .culture-principles,
  .careers-page .culture-principles-2,
  .careers-page .culture-closing-line { display: grid !important; grid-template-columns: 1fr !important; gap: 20px !important; }
  .careers-page .open-roles-wrap, .careers-page .careers-looking-grid { grid-template-columns: 1fr !important; }

  /* Company: hero image, CTA and positioning */
  .company-page .company-hero { display: flex !important; flex-direction: column !important; min-height: 0 !important; max-width: none !important; overflow: hidden !important; padding: 0 !important; background: #F7F8FB !important; }
  .company-page .company-hero::after { display: none !important; }
  .company-page .company-hero picture { order: 2 !important; width: 100% !important; height: 360px !important; overflow: hidden !important; }
  .company-page .company-hero .hero-overlay-img { position: relative !important; inset: auto !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: 58% center !important; opacity: .92 !important; }
  .company-page .company-hero .wrap { order: 1 !important; padding-top: 68px !important; padding-bottom: 34px !important; }
  .company-page .company-hero .hero-overlay-text { max-width: none !important; padding: 0 !important; color: #11131A !important; }
  .company-page .company-hero .hero-overlay-text h1 { max-width: none !important; font-size: clamp(44px, 12vw, 60px) !important; line-height: 1.04 !important; color: #11131A !important; }
  .company-page .company-hero .hero-overlay-text .lead { max-width: none !important; font-size: 19px !important; color: #11131A !important; }
  .company-page .company-hero .hero-actions .btn { width: 100% !important; }
  .company-page .company-positioning-layout { display: flex !important; flex-direction: column !important; gap: 36px !important; }
  .company-page .company-positioning-copy { order: 1 !important; width: 100% !important; }
  .company-page .company-map-card { order: 2 !important; width: 100% !important; margin: 0 !important; }
  .company-page .company-pillars,
  .company-page .company-pillars-icons { display: grid !important; grid-template-columns: 1fr !important; gap: 28px !important; }
  .company-page .company-pillars-icons > div { display: grid !important; grid-template-rows: auto !important; gap: 10px !important; padding: 26px 0 !important; border-top: 1px solid var(--border) !important; }
  .company-page .company-pillars-icons h4 { font-size: 24px !important; line-height: 1.12 !important; }
  .company-page .company-pillars-icons p { font-size: 18px !important; line-height: 1.55 !important; max-width: none !important; }
  .company-page .company-pillar-icon { margin-bottom: 4px !important; }

  /* Contact: final CTA image rhythm */
  .contact-page .contact-final-cta { padding-top: 34px !important; padding-bottom: 44px !important; }
  .contact-page .contact-final-cta .cta-banner { display: flex !important; flex-direction: column !important; gap: 28px !important; min-height: 0 !important; padding: 42px var(--mobile-pad) !important; background:
    linear-gradient(180deg,rgba(247,248,251,.96) 0%,rgba(247,248,251,.9) 52%,rgba(247,248,251,.15) 100%),
    url('images/mobile/technology-footer-mobile.jpg') center bottom/cover no-repeat !important; }
  .contact-page .contact-final-cta .cta-banner::after { content: ""; display: block; width: 100%; height: 190px; border-radius: 10px; background: url('images/mobile/technology-footer-mobile.jpg') center center/cover no-repeat; margin-top: 12px; }
  .contact-page .contact-final-cta .cta-banner h3 { font-size: clamp(42px, 11vw, 56px) !important; line-height: 1.02 !important; }
  .contact-page .cta-banner-actions { width: 100% !important; }
  .contact-page .cta-banner-actions .btn { width: 100% !important; }

  /* Footer: breathing room + iOS safe area */
  footer.site { padding-top: 52px !important; padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important; overflow: visible !important; }
  footer.site .footer-top { display: grid !important; grid-template-columns: 1fr !important; gap: 48px !important; }
  footer.site .footer-brand { justify-self: start !important; }
  footer.site .footer-links { justify-self: start !important; display: grid !important; grid-template-columns: 1fr 1fr !important; column-gap: 72px !important; row-gap: 18px !important; margin-top: 18px !important; }
  footer.site .footer-col { gap: 18px !important; }
  footer.site .footer-bottom { justify-self: start !important; align-items: flex-start !important; gap: 34px !important; margin-top: 0 !important; padding-bottom: 12px !important; }
  footer.site .socials { gap: 18px !important; margin-top: 8px !important; margin-bottom: 8px !important; }
  footer.site .socials a { width: 46px !important; height: 46px !important; flex: 0 0 46px !important; }
  footer.site .footer-bottom p { text-align: left !important; white-space: normal !important; line-height: 1.5 !important; }
}

@media (max-width: 390px) {
  :root { --mobile-pad: 24px; }
  .nav-cta .btn { padding: 0 16px !important; font-size: 14px !important; }
  .brand { font-size: 19px !important; }
}

/* =============================================================
   v19 LOCKED REGRESSION FIXES
   Desktop and mobile are isolated. Desktop fixes use min-width;
   mobile fixes use max-width only.
   ============================================================= */

/* ---------- DESKTOP ONLY: restore approved hero/container rhythm ---------- */
@media (min-width: 901px) {
  :root { --desktop-container: 1180px; }

  /* Keep page hero/banners on the same desktop grid as the sections below. */
  .architecture-page .arch-hero,
  .technology-page .tech-execution-hero {
    width: min(100%, var(--desktop-container)) !important;
    max-width: var(--desktop-container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden !important;
  }

  .architecture-page .wrap,
  .technology-page .wrap,
  .capabilities-page .wrap,
  .company-page .wrap,
  .careers-page .wrap,
  .contact-page .wrap {
    max-width: var(--desktop-container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  /* Architecture hero vertical spacing: move label/headline away from logo/nav. */
  .architecture-page .arch-hero {
    min-height: 720px !important;
    padding-top: 116px !important;
    align-items: flex-start !important;
  }
  .architecture-page .arch-hero-inner {
    display: flex !important;
    align-items: flex-start !important;
  }
  .architecture-page .arch-hero-copy {
    margin-top: 64px !important;
    max-width: 560px !important;
  }
  .architecture-page .arch-hero-copy .eyebrow {
    margin-bottom: 34px !important;
  }
  .architecture-page .arch-hero h1 {
    margin-top: 0 !important;
    margin-bottom: 34px !important;
  }

  /* Technology hero: same contained width and stable desktop spacing. */
  .technology-page .tech-execution-hero {
    min-height: 560px !important;
    background-size: cover !important;
    background-position: center right !important;
  }
  .technology-page .tech-execution-hero-inner {
    min-height: 560px !important;
    display: flex !important;
    align-items: center !important;
  }
  .technology-page .tech-execution-copy {
    padding: 72px 0 !important;
    max-width: 515px !important;
  }

  /* Technology STATE → EXECUTION band: divider, not a full section. */
  .technology-page .tech-state-banner {
    padding: 0 !important;
    min-height: 0 !important;
  }
  .technology-page .tech-state-banner-inner {
    min-height: 88px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  .technology-page .tech-state-word {
    font-size: clamp(42px, 5.2vw, 72px) !important;
    line-height: .9 !important;
  }
  .technology-page .tech-state-mid {
    transform: translateY(1px) !important;
  }
}

/* ---------- MOBILE ONLY: lock mobile fixes away from desktop ---------- */
@media (max-width: 900px) {
  :root { --mobile-container-pad: 24px; }

  .wrap,
  .home-page .wrap,
  .architecture-page .wrap,
  .technology-page .wrap,
  .capabilities-page .wrap,
  .company-page .wrap,
  .careers-page .wrap,
  .contact-page .wrap,
  footer.site .wrap {
    max-width: 100% !important;
    padding-left: var(--mobile-container-pad) !important;
    padding-right: var(--mobile-container-pad) !important;
  }

  /* Keep mobile sections full-width while their content stays on the safe grid. */
  .architecture-page .arch-hero,
  .technology-page .tech-execution-hero,
  .hero-overlay,
  .hero-bleed-right,
  .tech-final-overlay,
  .life-at-overlay {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Home / Capabilities text edge safety. */
  .home-page .bottleneck-section,
  .home-page .state-problem,
  .capabilities-page .section-head,
  .capabilities-page .feature-copy,
  .capabilities-page .hero-bleed-text-col {
    padding-left: var(--mobile-container-pad) !important;
    padding-right: var(--mobile-container-pad) !important;
  }

  /* Capabilities: images align to content grid and section gaps are reduced. */
  .capabilities-page .feature-media,
  .capabilities-page .hero-bleed-image-col {
    padding-left: var(--mobile-container-pad) !important;
    padding-right: var(--mobile-container-pad) !important;
    box-sizing: border-box !important;
  }
  .capabilities-page section,
  .capabilities-page .feature-row,
  .capabilities-page .cap-closing-section {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }
  .capabilities-page .feature-row { gap: 28px !important; }
  .capabilities-page .feature-row + .feature-row { margin-top: 0 !important; }

  /* Architecture principles: lower icons away from divider line. */
  .architecture-page .arch-principles-grid article > svg,
  .architecture-page .arch-principles-grid article .principle-icon,
  .architecture-page .arch-principles-grid article img:first-child {
    margin-top: 12px !important;
  }

  /* Technology: avoid large hero-to-01 gaps on phone. */
  .technology-page .tech-execution-hero {
    min-height: 560px !important;
  }
  .technology-page .tech-execution-hero-inner {
    min-height: 560px !important;
  }
  .technology-page .tech-execution-copy {
    padding-top: 42px !important;
    padding-bottom: 270px !important;
  }
  .technology-page .tech-duo-section,
  .technology-page .tech-step,
  .technology-page .tech-state-banner {
    margin-top: 0 !important;
  }
  .technology-page .tech-state-banner-inner {
    min-height: 72px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  /* Company: desktop columns become readable stacked blocks. */
  .company-page .company-pillars,
  .company-page .company-pillars-icons {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }
  .company-page .company-pillars > *,
  .company-page .company-pillars-icons > * {
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Careers: keep top mobile bar present and make vision/life readable. */
  .careers-page header.site {
    display: block !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 60 !important;
  }
  .careers-page .careers-thesis-grid,
  .careers-page .open-roles-intro,
  .careers-page .life-at-grid,
  .careers-page .culture-principles,
  .careers-page .culture-principles-2 {
    grid-template-columns: 1fr !important;
  }

  /* Contact: reconnect CTA image/content rhythm. */
  .contact-page .contact-final-cta,
  .contact-page .tech-final-overlay,
  .contact-page .cta-banner {
    margin-top: 0 !important;
  }

  /* Footer: social icons and copyright never get clipped. */
  footer.site {
    padding-top: 52px !important;
    padding-bottom: calc(86px + env(safe-area-inset-bottom)) !important;
    overflow: visible !important;
  }
  footer.site .footer-top {
    gap: 44px !important;
  }
  footer.site .footer-bottom {
    gap: 36px !important;
    padding-bottom: 22px !important;
  }
  footer.site .socials {
    margin-top: 18px !important;
    margin-bottom: 18px !important;
  }
}

@media (max-width: 390px) {
  :root { --mobile-container-pad: 22px; }
}


/* =========================================================
   V20 FINAL ISOLATED FIX PASS
   Desktop rules are desktop-only; mobile rules are mobile-only.
   ========================================================= */

@media (min-width: 901px){
  /* Remove leftover decorative underlines from hero systems. */
  .technology-page .tech-title-line,
  .company-page .company-hero .blue-rule,
  .company-page .hero-overlay .blue-rule,
  .capabilities-page .hero-bleed-text-col > div[style*="height:2px"]{
    display:none!important;
  }

  /* Technology hero: make it one overlay scene, not two side-by-side panels. */
  .technology-page .tech-execution-hero{
    width:100%!important;
    max-width:var(--desktop-container, 1180px)!important;
    margin:0 auto!important;
    min-height:500px!important;
    max-height:520px!important;
    display:flex!important;
    align-items:center!important;
    background-color:#F7F9FF!important;
    background-image:url('images/desktop/t-hero-execution-core.png')!important;
    background-repeat:no-repeat!important;
    background-size:82% auto!important;
    background-position:78% center!important;
    border-bottom:0!important;
    overflow:hidden!important;
  }
  .technology-page .tech-execution-hero::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    pointer-events:none!important;
    background:
      linear-gradient(90deg,rgba(247,249,255,1) 0%,rgba(247,249,255,.98) 31%,rgba(247,249,255,.82) 45%,rgba(247,249,255,.36) 63%,rgba(247,249,255,0) 84%),
      radial-gradient(circle at 66% 48%,rgba(47,91,255,.16),rgba(47,91,255,0) 36%)!important;
  }
  .technology-page .tech-execution-hero-inner{
    min-height:500px!important;
    display:flex!important;
    align-items:center!important;
  }
  .technology-page .tech-execution-copy{
    max-width:500px!important;
    padding:48px 0!important;
    position:relative!important;
    z-index:2!important;
  }
  .technology-page .tech-execution-copy h1{
    font-size:clamp(44px,4.35vw,60px)!important;
    line-height:1.02!important;
    letter-spacing:-.055em!important;
    margin-bottom:0!important;
  }
  .technology-page .tech-execution-copy .lead{
    max-width:430px!important;
    margin-top:30px!important;
    font-size:15.8px!important;
    line-height:1.64!important;
  }
  .technology-page .tech-duo-section{
    border-top:1px solid var(--border)!important;
    padding-top:46px!important;
  }

  /* Capabilities hero: smaller image, cleaner vertical rhythm, aligned grid. */
  .capabilities-page .hero-bleed-right{
    max-width:var(--desktop-container, 1180px)!important;
    margin:0 auto!important;
    padding:58px 24px 56px!important;
    gap:56px!important;
    align-items:center!important;
  }
  .capabilities-page .hero-bleed-text-col{
    flex:0 0 43%!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .capabilities-page .hero-bleed-text-col h1{
    margin-bottom:28px!important;
  }
  .capabilities-page .hero-bleed-text-col .lead{
    margin-top:0!important;
  }
  .capabilities-page .hero-bleed-image-col{
    height:345px!important;
    align-self:auto!important;
  }
  .capabilities-page .tight:first-of-type{
    padding-top:38px!important;
  }

  /* Architecture hero label/title breathing. */
  .architecture-page .arch-hero-copy .eyebrow{
    margin-bottom:42px!important;
  }

  /* Company hero balance: remove underline, bring copy group together, lower slightly. */
  .company-page .company-hero .hero-overlay-text{
    padding-top:34px!important;
    transform:translateY(18px)!important;
  }
  .company-page .company-hero .hero-overlay-text h1{
    margin-bottom:28px!important;
  }
  .company-page .company-hero .hero-overlay-text p.lead{
    margin-top:0!important;
    margin-bottom:26px!important;
  }
  .company-page .company-hero .hero-actions{
    margin-top:0!important;
  }

  /* Company positioning: shift copy block right and give pillars more space. */
  .company-page .company-positioning-layout{
    grid-template-columns:1.06fr .94fr!important;
    gap:92px!important;
    align-items:center!important;
  }
  .company-page .company-positioning-copy{
    transform:translateX(54px)!important;
  }
  .company-page .company-pillars,
  .company-page .company-pillars-icons{
    margin-top:42px!important;
    padding-top:0!important;
  }

  /* Contact hero: separate headline from paragraph. */
  .contact-page .contact-hero-bleed h1,
  .contact-page .hero-bleed-text-col h1{
    margin-bottom:36px!important;
  }
  .contact-page .contact-hero-bleed p.lead{
    margin-top:0!important;
  }

  /* Technology STATE → EXECUTION stays a slim divider. */
  .technology-page .tech-state-banner{
    padding:18px 0!important;
    min-height:0!important;
  }
  .technology-page .tech-state-banner-inner{
    min-height:76px!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
}

@media (max-width: 900px){
  /* Remove decorative hero rules on mobile too, without touching desktop. */
  .technology-page .tech-title-line,
  .company-page .company-hero .blue-rule,
  .company-page .hero-overlay .blue-rule,
  .capabilities-page .hero-bleed-text-col > div[style*="height:2px"]{
    display:none!important;
  }

  .technology-page .tech-execution-copy .lead,
  .company-page .company-hero .hero-overlay-text p.lead{
    margin-top:28px!important;
  }

  .contact-page .contact-hero-bleed h1,
  .contact-page .hero-bleed-text-col h1{
    margin-bottom:30px!important;
  }

  .capabilities-page .hero-bleed-image-col{
    height:260px!important;
  }
}

/* v21 fix: desktop-only Capabilities hero grid alignment.
   Move hero copy onto the same left grid as the 01 content section without touching mobile. */
@media (min-width: 901px) {
  .capabilities-page .hero-bleed-text-col {
    padding-left: 36px !important;
  }
}

/* =========================================================
   V22 FULL FIX PASS — desktop/mobile isolated
   Notes: desktop changes only inside min-width; mobile only in max-width.
   ========================================================= */

@media (min-width: 901px){
  /* Global desktop guard */
  header.site, main, footer.site{
    max-width: var(--site-max, 1180px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .wrap{
    max-width: var(--site-max, 1180px) !important;
    padding-left:64px !important;
    padding-right:64px !important;
  }

  /* Remove all leftover decorative hero divider/underline elements */
  .technology-page .tech-title-line,
  .capabilities-page .hero-bleed-text-col > div[style*="height:2px"],
  .company-page .company-hero .blue-rule,
  .company-page .hero-overlay .blue-rule{
    display:none !important;
  }

  /* Architecture hero: smaller banner, better top/bottom rhythm, label breathes */
  .architecture-page .arch-hero{
    max-width: var(--site-max, 1180px) !important;
    min-height: 595px !important;
    padding-top: 78px !important;
    align-items:center !important;
    overflow:hidden !important;
  }
  .architecture-page .arch-hero-copy{
    margin-top: 34px !important;
    max-width: 515px !important;
  }
  .architecture-page .arch-hero-copy .eyebrow{
    margin-bottom: 34px !important;
  }
  .architecture-page .arch-hero h1{
    font-size: clamp(52px, 4.75vw, 68px) !important;
    margin-bottom: 30px !important;
  }
  .architecture-page .arch-hero p.lead{
    margin-bottom: 30px !important;
  }
  .architecture-page .arch-hero .hero-actions{
    margin-bottom: 34px !important;
  }
  .architecture-page .arch-hero-bg{
    transform: scale(1.015) !important;
    object-position: 58% center !important;
  }
  .architecture-page .arch-compare-section{
    margin-top: -18px !important;
  }

  /* Technology hero: one integrated overlay scene, less height, no underline */
  .technology-page .tech-execution-hero{
    max-width: var(--site-max, 1180px) !important;
    min-height: 470px !important;
    max-height: 500px !important;
    padding: 0 !important;
    display:flex !important;
    align-items:center !important;
    background-size: 76% auto !important;
    background-position: 88% 50% !important;
    border-bottom: 1px solid var(--border) !important;
  }
  .technology-page .tech-execution-hero::before{
    background:
      linear-gradient(90deg, rgba(247,249,255,1) 0%, rgba(247,249,255,.98) 28%, rgba(247,249,255,.84) 43%, rgba(247,249,255,.34) 64%, rgba(247,249,255,0) 86%) !important;
  }
  .technology-page .tech-execution-hero-inner{
    min-height:470px !important;
    display:flex !important;
    align-items:center !important;
  }
  .technology-page .tech-execution-copy{
    padding: 36px 0 34px !important;
    max-width: 505px !important;
  }
  .technology-page .tech-execution-copy h1{
    font-size: clamp(44px, 4.15vw, 58px) !important;
    line-height: 1.02 !important;
    margin-bottom: 0 !important;
  }
  .technology-page .tech-execution-copy .lead{
    margin-top: 24px !important;
    max-width: 425px !important;
  }
  .technology-page .tech-duo-section{
    padding-top: 40px !important;
    border-top: 0 !important;
  }
  .technology-page .tech-state-banner{
    padding: 12px 0 !important;
    min-height: 0 !important;
  }
  .technology-page .tech-state-banner-inner{
    min-height: 58px !important;
    padding: 0 !important;
  }
  .technology-page .tech-state-word{
    font-size: clamp(54px, 6.2vw, 86px) !important;
    line-height: 1 !important;
  }

  /* Capabilities hero: align copy to 01 grid, reduce image dominance and height */
  .capabilities-page .hero-bleed-right{
    max-width: var(--site-max, 1180px) !important;
    margin: 0 auto !important;
    padding: 48px 64px 42px !important;
    grid-template-columns: .94fr 1.06fr !important;
    gap: 46px !important;
    align-items: center !important;
    border-bottom: 1px solid var(--border) !important;
  }
  .capabilities-page .hero-bleed-text-col{
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 520px !important;
  }
  .capabilities-page .hero-bleed-text-col h1{
    font-size: clamp(40px, 3.9vw, 56px) !important;
    line-height: 1.04 !important;
    margin-bottom: 30px !important;
  }
  .capabilities-page .hero-bleed-text-col .lead{
    max-width: 500px !important;
    margin-top: 0 !important;
  }
  .capabilities-page .hero-bleed-image-col{
    height: 315px !important;
    align-self: center !important;
  }
  .capabilities-page .hero-bleed-image-col img{
    object-fit: cover !important;
    object-position: 57% center !important;
  }
  .capabilities-page section.tight:first-of-type{
    padding-top: 40px !important;
  }
  .capabilities-page .feature-row{
    padding-top: 34px !important;
  }

  /* Company hero: no underline, better content balance */
  .company-page .company-hero .hero-overlay-text{
    transform: translateY(12px) !important;
  }
  .company-page .company-hero .hero-overlay-text h1{
    margin-bottom: 30px !important;
  }
  .company-page .company-hero .hero-overlay-text p.lead{
    margin-top: 0 !important;
    margin-bottom: 24px !important;
  }

  /* Company positioning: move the over-shifted right group back left */
  .company-page .company-positioning-layout{
    grid-template-columns: 1.08fr .92fr !important;
    gap: 66px !important;
    align-items: center !important;
  }
  .company-page .company-positioning-copy{
    transform: translateX(12px) !important;
  }
  .company-page .company-positioning-copy h2{
    margin-bottom: 38px !important;
  }
  .company-page .company-pillars,
  .company-page .company-pillars-icons{
    margin-top: 0 !important;
  }
  .company-page .company-pillars-icons > div{
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
  .company-page .company-pillars-icons > div:first-child{
    padding-left: 0 !important;
  }

  /* Contact hero: headline/body breathing */
  .contact-page .contact-hero-bleed h1,
  .contact-page .hero-bleed-text-col h1,
  .contact-page .contact-hero-inner h1{
    margin-bottom: 40px !important;
  }
  .contact-page .contact-hero-bleed p.lead,
  .contact-page .contact-hero-inner p.lead{
    margin-top: 0 !important;
  }
}

@media (max-width: 900px){
  /* Mobile-only guard: keep desktop changes from leaking. */
  .wrap{padding-left:24px !important; padding-right:24px !important;}
  .technology-page .tech-title-line,
  .capabilities-page .hero-bleed-text-col > div[style*="height:2px"],
  .company-page .company-hero .blue-rule,
  .company-page .hero-overlay .blue-rule{display:none !important;}

  .capabilities-page .hero-bleed-right,
  .hero-bleed-right{
    padding-left:24px !important;
    padding-right:24px !important;
  }
  .capabilities-page .hero-bleed-image-col{height:260px !important;}
  .technology-page .tech-execution-copy .lead{margin-top:24px !important;}
  .contact-page .contact-hero-bleed h1,
  .contact-page .hero-bleed-text-col h1{margin-bottom:30px !important;}
}

/* =========================================================
   V23 PHONE-ONLY FIXES — requested after v22
   Scope: mobile only; desktop remains untouched.
   ========================================================= */
@media (max-width: 900px) {
  /* Home / Our Architectural Edge: icons were attached to divider lines. */
  .home-page .principle-col {
    padding-top: 34px !important;
  }
  .home-page .principle-col svg {
    margin-top: 10px !important;
    margin-bottom: 24px !important;
    display: block !important;
  }

  /* Architecture mobile hero: reduce excessive top/bottom banner space. */
  .architecture-page .arch-hero {
    min-height: auto !important;
    padding-top: 54px !important;
    padding-bottom: 34px !important;
    display: flex !important;
    align-items: center !important;
  }
  .architecture-page .arch-hero-copy {
    margin-top: 0 !important;
    max-width: none !important;
  }
  .architecture-page .arch-hero-copy .eyebrow {
    margin-bottom: 24px !important;
  }
  .architecture-page .arch-hero h1 {
    margin-bottom: 26px !important;
  }
  .architecture-page .arch-hero p.lead {
    margin-bottom: 28px !important;
  }
  .architecture-page .arch-hero .hero-actions {
    margin-bottom: 0 !important;
  }
  .architecture-page .arch-compare-section {
    margin-top: 0 !important;
    padding-top: 28px !important;
  }

  /* Architecture comparison card: compact mobile redesign. */
  .architecture-page .arch-compare-card {
    display: block !important;
    padding: 24px var(--mobile-container-pad, 24px) 26px !important;
    gap: 0 !important;
  }
  .architecture-page .arch-compare-col {
    min-height: 0 !important;
    padding: 0 !important;
  }
  .architecture-page .arch-compare-col h4 {
    margin-bottom: 10px !important;
  }
  .architecture-page .arch-small-line {
    margin-bottom: 16px !important;
  }
  .architecture-page .arch-compare-body,
  .architecture-page .arch-compare-body.right {
    display: grid !important;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: center !important;
    min-height: 0 !important;
    position: relative !important;
  }
  .architecture-page .arch-compare-body .compare-steps {
    width: auto !important;
    padding: 0 !important;
    font-size: 16px !important;
    line-height: 1.22 !important;
    background: none !important;
  }
  .architecture-page .arch-compare-img,
  .architecture-page .arch-compare-img.particles,
  .architecture-page .arch-compare-img.grid {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
    height: 128px !important;
    max-height: 128px !important;
    object-fit: contain !important;
    margin: 0 !important;
  }
  .architecture-page .arch-result {
    margin-top: 18px !important;
    margin-bottom: 0 !important;
    font-size: 17px !important;
    line-height: 1.28 !important;
  }
  .architecture-page .arch-vs {
    margin: 28px auto 26px !important;
    width: 54px !important;
    height: 54px !important;
    align-self: auto !important;
  }

  /* Architecture principles list: title row needs breathing room after divider. */
  .architecture-page .arch-principles-card {
    padding-top: 26px !important;
  }
  .architecture-page .arch-principles-grid article {
    padding-top: 34px !important;
    margin-top: 26px !important;
  }
  .architecture-page .arch-principles-grid article:first-child {
    padding-top: 10px !important;
    margin-top: 0 !important;
  }
  .architecture-page .arch-principle-title {
    padding-top: 12px !important;
    margin-bottom: 22px !important;
    align-items: flex-start !important;
  }
  .architecture-page .arch-principles-grid img {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
  }

  /* Architecture vision: desktop 2/3-column layout must collapse to readable single-column mobile. */
  .architecture-page .arch-vision-card {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    padding: 30px var(--mobile-container-pad, 24px) !important;
    min-height: 0 !important;
  }
  .architecture-page .arch-vision-copy {
    border-right: 0 !important;
    padding-right: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }
  .architecture-page .arch-vision-copy h2 {
    font-size: clamp(36px, 10vw, 48px) !important;
    line-height: 1.04 !important;
    max-width: none !important;
  }
  .architecture-page .arch-vision-card p {
    max-width: none !important;
    width: 100% !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    grid-column: auto !important;
  }
  .architecture-page .arch-vision-card img {
    position: relative !important;
    order: 3 !important;
    width: 100% !important;
    height: 220px !important;
    border-radius: 12px !important;
    object-fit: cover !important;
    object-position: center !important;
    margin-top: 4px !important;
  }
  .architecture-page .arch-vision-card::after {
    display: none !important;
  }
}

@media (max-width: 430px) {
  .architecture-page .arch-compare-body,
  .architecture-page .arch-compare-body.right {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .architecture-page .arch-compare-img,
  .architecture-page .arch-compare-img.particles,
  .architecture-page .arch-compare-img.grid {
    height: 116px !important;
    max-height: 116px !important;
  }
}

/* =========================================================
   V24 MOBILE REBUILD PASS — Technology + Architecture mobile only
   Scope: max-width 900px only. Desktop rules untouched.
   ========================================================= */
@media (max-width: 900px) {
  /* ---------- Architecture: hero too tall on phone ---------- */
  .architecture-page .arch-hero{
    min-height: 0 !important;
    height: auto !important;
    padding-top: 34px !important;
    padding-bottom: 18px !important;
    align-items: flex-start !important;
  }
  .architecture-page .arch-hero-inner{
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .architecture-page .arch-hero-copy{
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .architecture-page .arch-hero-copy .eyebrow{margin-bottom: 18px !important;}
  .architecture-page .arch-hero h1{margin-bottom: 20px !important;}
  .architecture-page .arch-hero p.lead{margin-bottom: 22px !important;}
  .architecture-page .arch-hero .hero-actions{gap: 18px !important; margin-bottom: 0 !important;}
  .architecture-page .arch-compare-section{padding-top: 18px !important; margin-top: 0 !important;}

  /* ---------- Architecture: comparison card rebuilt for phone ---------- */
  .architecture-page .arch-compare-card{
    display: flex !important;
    flex-direction: column !important;
    padding: 24px 22px !important;
    gap: 18px !important;
  }
  .architecture-page .arch-compare-col{
    padding: 0 !important;
    min-height: 0 !important;
  }
  .architecture-page .arch-compare-col h4{
    font-size: 20px !important;
    line-height: 1.15 !important;
    margin: 0 0 14px !important;
  }
  .architecture-page .arch-small-line{display:none !important;}
  .architecture-page .arch-compare-body,
  .architecture-page .arch-compare-body.right{
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    align-items: stretch !important;
  }
  .architecture-page .compare-steps{
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .architecture-page .compare-steps li{
    display:inline-flex !important;
    align-items:center !important;
    margin:0 !important;
    padding:0 !important;
  }
  .architecture-page .compare-steps li:nth-child(even){
    font-size:0 !important;
    width: 20px !important;
    height: 1px !important;
    background: rgba(47,91,255,.7) !important;
    position:relative !important;
  }
  .architecture-page .compare-steps li:nth-child(even)::after{
    content:"" !important;
    position:absolute !important;
    right:0 !important;
    top:-3px !important;
    width:6px !important;
    height:6px !important;
    border-top:1.5px solid rgba(47,91,255,.8) !important;
    border-right:1.5px solid rgba(47,91,255,.8) !important;
    transform:rotate(45deg) !important;
  }
  .architecture-page .arch-compare-img,
  .architecture-page .arch-compare-img.particles,
  .architecture-page .arch-compare-img.grid{
    width:100% !important;
    height: 170px !important;
    max-height: 170px !important;
    object-fit: contain !important;
    margin: 0 !important;
    position: static !important;
  }
  .architecture-page .arch-result{
    margin: 10px 0 0 !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
  }
  .architecture-page .arch-vs{
    width:auto !important;
    height:auto !important;
    margin: 4px 0 !important;
    border:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    color:#11131A !important;
    font-size: 15px !important;
  }
  .architecture-page .arch-vs::before,
  .architecture-page .arch-vs::after{
    content:"" !important;
    flex:1 !important;
    height:1px !important;
    background: rgba(214,219,228,.95) !important;
  }

  /* ---------- Architecture: Three principles card tighter ---------- */
  .home-page .principles-section{padding-top: 34px !important; padding-bottom: 38px !important;}
  .home-page .principles-card{padding-top: 30px !important; padding-bottom: 30px !important;}
  .home-page .principles-grid{gap:0 !important;}
  .home-page .principle-col{padding-top: 22px !important; padding-bottom: 22px !important;}
  .home-page .principle-col svg{margin: 0 0 12px !important;}
  .home-page .principle-col h3{margin-bottom: 8px !important;}
  .home-page .principle-col p{margin-bottom: 0 !important;}

  /* ---------- Architecture: principles 01-04 tighter ---------- */
  .architecture-page .arch-principles-card{padding: 24px 22px 26px !important;}
  .architecture-page .arch-principles-grid{gap:0 !important;}
  .architecture-page .arch-principles-grid article{
    padding-top: 26px !important;
    margin-top: 20px !important;
    padding-bottom: 26px !important;
  }
  .architecture-page .arch-principle-title{padding-top: 0 !important; margin-bottom: 14px !important;}
  .architecture-page .arch-principles-grid img{margin-bottom: 14px !important; height:auto !important; max-height: 150px !important; object-fit:contain !important;}
  .architecture-page .arch-principles-grid article p{margin:0 !important;}

  /* ---------- Architecture: vision single column lock ---------- */
  .architecture-page .arch-vision-card{
    display:block !important;
    padding:28px 22px !important;
  }
  .architecture-page .arch-vision-copy{padding:0 !important; border:0 !important; margin-bottom:18px !important;}
  .architecture-page .arch-vision-copy h2{margin:0 0 18px !important; max-width:none !important;}
  .architecture-page .arch-vision-card > p{font-size:17px !important; line-height:1.55 !important; max-width:none !important; margin:0 0 20px !important;}
  .architecture-page .arch-vision-card img{width:100% !important; height:210px !important; object-fit:cover !important; position:static !important; margin:0 !important;}

  /* ---------- Technology: hero rebuilt, no desktop min-height ---------- */
  .technology-page .tech-execution-hero{
    min-height:0 !important;
    height:auto !important;
    padding:0 !important;
    background-size: 62% auto !important;
    background-position: 92% 58% !important;
  }
  .technology-page .tech-execution-hero-inner{
    min-height:0 !important;
    height:auto !important;
    padding-top:42px !important;
    padding-bottom:32px !important;
    align-items:flex-start !important;
  }
  .technology-page .tech-execution-copy{
    padding:0 !important;
    max-width:100% !important;
  }
  .technology-page .tech-execution-copy h1{
    font-size: clamp(44px, 11vw, 62px) !important;
    line-height:.98 !important;
    margin:0 0 22px !important;
  }
  .technology-page .tech-title-line{display:none !important;}
  .technology-page .tech-execution-copy .lead{
    margin:0 !important;
    max-width: 96% !important;
    font-size:16px !important;
    line-height:1.55 !important;
  }

  /* ---------- Technology: all content sections tightened and grouped ---------- */
  .technology-page .tech-step,
  .technology-page .tech-duo-section{
    padding:0 !important;
    border-top:1px solid rgba(214,219,228,.95) !important;
  }
  .technology-page .tech-duo,
  .technology-page .tech-step-grid{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 24px !important;
    min-height:0 !important;
  }
  .technology-page .tech-duo-item,
  .technology-page .tech-step-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
    padding:28px 0 !important;
    min-height:0 !important;
    border-left:0 !important;
  }
  .technology-page .tech-duo-item + .tech-duo-item{
    border-top:1px solid rgba(214,219,228,.95) !important;
    padding-left:0 !important;
  }
  .technology-page .tech-step-copy,
  .technology-page .tech-duo-item .tech-step-copy{
    padding:0 !important;
    max-width:100% !important;
    width:100% !important;
  }
  .technology-page .tech-step-head{margin-bottom:14px !important; gap:18px !important;}
  .technology-page .tech-step-head span,
  .technology-page .tech-duo-item .tech-step-head span{font-size:48px !important;}
  .technology-page .tech-step-copy h3{font-size:22px !important; line-height:1.12 !important; margin:0 0 14px !important;}
  .technology-page .tech-step-copy p{font-size:17px !important; line-height:1.55 !important; max-width:none !important; margin:0 !important;}
  .technology-page .tech-step-media,
  .technology-page .tech-step-03 .tech-step-media{
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    margin:4px 0 0 !important;
    background:transparent !important;
  }
  .technology-page .tech-step-media img,
  .technology-page .tech-step-03 .tech-step-media img,
  .technology-page .tech-duo-item img{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center !important;
    border-radius:0 !important;
    margin:0 !important;
  }
  .technology-page .tech-duo-matrix img{margin-top:4px !important;}
  .technology-page .tech-duo-domain img,
  .technology-page .tech-duo-cycle img{max-height:330px !important; object-fit:contain !important;}
  .technology-page .tech-duo-silicon img{max-height:260px !important; object-fit:cover !important;}
  .technology-page .tech-step-03 .tech-step-media img{margin-top:4px !important;}

  /* Technology STATE -> EXECUTION: compact divider, not a screen */
  .technology-page .tech-state-banner{
    padding:16px 0 !important;
    min-height:0 !important;
    border-top:1px solid rgba(214,219,228,.95) !important;
    border-bottom:1px solid rgba(214,219,228,.95) !important;
  }
  .technology-page .tech-state-banner-inner{
    min-height:0 !important;
    padding:0 24px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
  }
  .technology-page .tech-state-word{
    font-size:32px !important;
    line-height:1 !important;
    opacity:.18 !important;
  }
  .technology-page .tech-state-mid{font-size:11px !important; letter-spacing:.18em !important; gap:8px !important;}
  .technology-page .tech-state-mid i{width:22px !important;}

  /* Technology final CTA: no half-overlay; group text, button, image correctly */
  .technology-page .tech-final-overlay{
    min-height:0 !important;
    height:auto !important;
    background-size: 100% auto !important;
    background-position:center bottom !important;
    padding:0 !important;
  }
  .technology-page .tech-final-overlay-inner{
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
    min-height:0 !important;
    padding:30px 24px 180px !important;
  }
  .technology-page .tech-final-overlay .tech-final-heading{font-size:42px !important; line-height:1.02 !important; margin:0 !important; padding:0 !important; border:0 !important;}
  .technology-page .tech-final-copy p{font-size:17px !important; line-height:1.55 !important; max-width:none !important; margin:0 0 18px !important;}
  .technology-page .tech-final-copy .btn{width:100% !important; justify-content:center !important;}
}

/* =========================================================
   V25 MOBILE STRUCTURE FIX — Contact page rhythm as baseline
   Mobile-only. Desktop is untouched.
   ========================================================= */
@media (max-width: 900px) {
  :root { --mobile-pad: 24px; }

  /* Site-wide mobile density: closer to Contact page rhythm */
  section, section.tight {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }
  .card, .roles-table-card, .company-transition-band,
  .arch-compare-card, .arch-principles-card, .arch-vision-card {
    padding-top: 26px !important;
    padding-bottom: 26px !important;
  }
  .section-head, .careers-looking-intro, .open-roles-intro {
    margin-bottom: 22px !important;
  }

  /* ---------- Technology mobile: hero image no longer cuts through title ---------- */
  .technology-page .tech-execution-hero {
    background-image: none !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(214,219,228,.95) !important;
  }
  .technology-page .tech-execution-hero::before { display: none !important; }
  .technology-page .tech-execution-hero-inner {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 34px var(--mobile-pad) 30px !important;
  }
  .technology-page .tech-execution-hero-inner::after {
    content: "" !important;
    display: block !important;
    width: 100% !important;
    height: 150px !important;
    margin: 20px 0 0 !important;
    background: url('images/mobile/technology-hero-mobile.jpg') center right / contain no-repeat !important;
  }
  .technology-page .tech-execution-copy {
    padding: 0 !important;
    max-width: none !important;
  }
  .technology-page .tech-execution-copy h1 {
    font-size: clamp(42px, 11vw, 58px) !important;
    line-height: .98 !important;
    letter-spacing: -.065em !important;
    margin: 0 0 18px !important;
  }
  .technology-page .tech-execution-copy .lead {
    font-size: 16px !important;
    line-height: 1.52 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  /* ---------- Technology mobile: steps grouped tighter, image belongs to its step ---------- */
  .technology-page .tech-duo-section,
  .technology-page .tech-step {
    padding: 0 !important;
    margin: 0 !important;
    border-top: 1px solid rgba(214,219,228,.95) !important;
  }
  .technology-page .tech-duo,
  .technology-page .tech-step-grid {
    display: block !important;
    padding: 0 var(--mobile-pad) !important;
    max-width: 100% !important;
  }
  .technology-page .tech-duo-item,
  .technology-page .tech-step-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    padding: 24px 0 !important;
    min-height: 0 !important;
  }
  .technology-page .tech-duo-item .tech-step-copy,
  .technology-page .tech-step-grid .tech-step-copy {
    order: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }
  .technology-page .tech-duo-item > img,
  .technology-page .tech-step-media {
    order: 2 !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    background: transparent !important;
  }
  .technology-page .tech-step-head {
    margin: 0 0 10px !important;
    gap: 16px !important;
  }
  .technology-page .tech-step-head span {
    font-size: 46px !important;
    line-height: .95 !important;
  }
  .technology-page .tech-step-head i {
    width: 32px !important;
  }
  .technology-page .tech-step-copy h3 {
    font-size: 22px !important;
    line-height: 1.08 !important;
    margin: 0 0 12px !important;
  }
  .technology-page .tech-step-copy p {
    font-size: 16px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    max-width: none !important;
  }
  .technology-page .tech-step-media img,
  .technology-page .tech-duo-item > img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 230px !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 !important;
  }
  .technology-page .tech-duo-domain > img,
  .technology-page .tech-duo-cycle > img {
    max-height: 250px !important;
  }
  .technology-page .tech-duo-silicon > img {
    max-height: 220px !important;
    object-fit: cover !important;
  }
  .technology-page .tech-step-03 .tech-step-grid,
  .technology-page .tech-step-03 .tech-step-copy,
  .technology-page .tech-step-03 .tech-step-media {
    padding-left: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
  }
  .technology-page .tech-step-03 .tech-step-media img {
    max-height: 150px !important;
  }
  .technology-page .tech-state-banner {
    padding: 10px 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
  }
  .technology-page .tech-state-banner-inner {
    min-height: 0 !important;
    padding: 0 var(--mobile-pad) !important;
    gap: 10px !important;
  }
  .technology-page .tech-state-word {
    font-size: 26px !important;
    opacity: .14 !important;
  }
  .technology-page .tech-state-mid {
    font-size: 10px !important;
  }

  /* Technology final CTA: compact card, no detached image */
  .technology-page .tech-final-overlay {
    min-height: 0 !important;
    background: #F7F8FB !important;
    padding: 0 !important;
  }
  .technology-page .tech-final-overlay::before { display: none !important; }
  .technology-page .tech-final-overlay-inner {
    display: block !important;
    min-height: 0 !important;
    padding: 30px var(--mobile-pad) !important;
  }
  .technology-page .tech-final-overlay-inner::after {
    content: "" !important;
    display: block !important;
    height: 150px !important;
    margin-top: 20px !important;
    background: url('images/mobile/technology-footer-mobile.jpg') center / cover no-repeat !important;
  }
  .technology-page .tech-final-overlay .tech-final-heading {
    font-size: 42px !important;
    line-height: 1.02 !important;
    margin: 0 0 18px !important;
  }
  .technology-page .tech-final-copy p {
    font-size: 16px !important;
    line-height: 1.52 !important;
    margin: 0 0 18px !important;
  }
  .technology-page .tech-final-copy .btn {
    width: 100% !important;
    justify-content: center !important;
  }

  /* ---------- Architecture mobile tightening ---------- */
  .architecture-page .arch-hero {
    min-height: 0 !important;
    padding-top: 28px !important;
    padding-bottom: 22px !important;
  }
  .architecture-page .arch-hero-copy .eyebrow { margin-bottom: 16px !important; }
  .architecture-page .arch-hero h1 { margin-bottom: 18px !important; }
  .architecture-page .arch-hero p.lead { margin-bottom: 20px !important; }
  .architecture-page .principles-section,
  .architecture-page .arch-principles-section {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .architecture-page .arch-principles-grid article {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    margin-top: 0 !important;
  }
  .architecture-page .arch-principles-grid article > svg,
  .architecture-page .arch-principles-grid article .principle-icon {
    margin-top: 8px !important;
    margin-bottom: 10px !important;
  }

  /* ---------- Company mobile density toward Contact page ---------- */
  .company-page .hero-overlay,
  .careers-page .hero-overlay {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
  }
  .company-page .hero-overlay picture,
  .careers-page .hero-overlay picture {
    position: static !important;
    display: block !important;
    height: 220px !important;
    overflow: hidden !important;
    order: 2 !important;
  }
  .company-page .hero-overlay-img,
  .careers-page .hero-overlay-img {
    position: static !important;
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
    object-position: center !important;
  }
  .company-page .hero-overlay .wrap,
  .careers-page .hero-overlay .wrap {
    position: relative !important;
    z-index: 2 !important;
  }
  .company-page .hero-overlay::after,
  .careers-page .hero-overlay::after { display: none !important; }
  .company-page .hero-overlay-text,
  .careers-page .hero-overlay-text {
    padding: 34px 0 24px !important;
    max-width: none !important;
  }
  .company-page .hero-overlay-text h1,
  .careers-page .hero-overlay-text h1 {
    font-size: clamp(42px, 11vw, 58px) !important;
    line-height: .98 !important;
    margin: 0 0 18px !important;
  }
  .company-page .hero-overlay-text p.lead,
  .careers-page .hero-overlay-text p.lead {
    font-size: 16px !important;
    line-height: 1.52 !important;
    margin: 0 0 16px !important;
  }
  .company-page .hero-actions,
  .careers-page .hero-actions {
    gap: 16px !important;
    margin-top: 18px !important;
  }

  .company-page .company-positioning-section,
  .company-page .company-credibility-section,
  .careers-page .careers-thesis,
  .careers-page .life-at-symatics {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }
  .company-page .company-positioning-layout,
  .company-page .transition-row,
  .company-page .company-people-grid {
    display: block !important;
  }
  .company-page .company-map-card {
    margin-bottom: 24px !important;
  }
  .company-page .company-positioning-copy {
    transform: none !important;
  }
  .company-page .company-positioning-copy h2 {
    font-size: clamp(42px, 11vw, 58px) !important;
    line-height: .98 !important;
    margin-bottom: 22px !important;
  }
  .company-page .company-pillars,
  .company-page .company-pillars-icons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin-top: 18px !important;
  }
  .company-page .company-pillars > div,
  .company-page .company-pillars-icons > div {
    padding: 22px 0 !important;
    border-top: 1px solid rgba(214,219,228,.95) !important;
  }
  .company-page .company-pillars h4 { margin: 10px 0 10px !important; }
  .company-page .company-pillars p { margin: 0 !important; line-height: 1.45 !important; }
  .company-page .company-transition-band {
    padding: 28px 0 !important;
  }
  .company-page .company-transition-band h3 {
    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: 1.05 !important;
    margin-bottom: 20px !important;
  }
  .company-page .transition-side { padding: 0 !important; margin: 0 0 18px !important; }
  .company-page .transition-row img {
    width: 100% !important;
    margin: 8px 0 18px !important;
  }

  /* ---------- Careers mobile: compact, image becomes real block not huge background ---------- */
  .careers-page .life-at-overlay {
    min-height: 0 !important;
    background: #F7F8FB !important;
    padding: 0 !important;
  }
  .careers-page .life-at-overlay::before { display: none !important; }
  .careers-page .life-at-overlay-inner {
    min-height: 0 !important;
    display: block !important;
    padding: 34px var(--mobile-pad) 0 !important;
  }
  .careers-page .life-at-overlay .life-copy {
    max-width: none !important;
  }
  .careers-page .life-at-overlay .life-copy h2 {
    font-size: clamp(42px, 11vw, 56px) !important;
    line-height: 1 !important;
    margin: 16px 0 18px !important;
  }
  .careers-page .life-at-overlay .life-copy p {
    font-size: 16px !important;
    line-height: 1.52 !important;
    margin: 0 !important;
  }
  .careers-page .life-at-overlay-inner::after {
    content: "" !important;
    display: block !important;
    height: 240px !important;
    margin: 22px 0 0 !important;
    background: url('images/mobile/careers-culture-mobile.jpg') center / cover no-repeat !important;
  }
  .careers-page .culture-principles,
  .careers-page .culture-principles-2,
  .careers-page .culture-closing-line {
    display: block !important;
    padding: 0 var(--mobile-pad) !important;
    margin: 0 !important;
    background: #F7F8FB !important;
  }
  .careers-page .culture-principles > div,
  .careers-page .culture-closing-line {
    padding: 22px 0 !important;
    border-top: 1px solid rgba(214,219,228,.95) !important;
  }
  .careers-page .culture-principles svg,
  .careers-page .culture-closing-line svg {
    margin: 0 0 12px !important;
  }
  .careers-page .culture-principles strong {
    display: block !important;
    margin: 0 0 8px !important;
  }
  .careers-page .culture-principles span,
  .careers-page .culture-closing-line p {
    display: block !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }

  /* Footer compact but safe */
  footer.site {
    padding-top: 36px !important;
    padding-bottom: calc(64px + env(safe-area-inset-bottom)) !important;
  }
  footer.site .footer-top { gap: 30px !important; }
  footer.site .footer-bottom { gap: 24px !important; }
}

/* =========================================================
   V26 MOBILE FINAL CLEANUP — Contact rhythm baseline
   Mobile-only. Desktop rules untouched.
   ========================================================= */
@media (max-width: 900px) {
  :root { --mobile-pad: 24px; }

  /* General mobile density lock */
  body { background:#F7F8FB !important; }
  main, header.site, footer.site { max-width:none !important; }
  .wrap,
  .technology-page .wrap,
  .company-page .wrap,
  .careers-page .wrap,
  .architecture-page .wrap,
  .capabilities-page .wrap,
  .contact-page .wrap {
    padding-left: var(--mobile-pad) !important;
    padding-right: var(--mobile-pad) !important;
  }
  section, section.tight { padding-top: 28px !important; padding-bottom: 28px !important; }

  /* ---------------- TECHNOLOGY MOBILE ---------------- */
  .technology-page .tech-execution-hero {
    background-image: none !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(214,219,228,.95) !important;
  }
  .technology-page .tech-execution-hero-inner {
    padding: 28px var(--mobile-pad) 24px !important;
    min-height: 0 !important;
    display: block !important;
  }
  .technology-page .tech-execution-copy h1 {
    font-size: clamp(40px, 10vw, 54px) !important;
    line-height: 1.0 !important;
    letter-spacing: -.06em !important;
    margin: 0 0 16px !important;
  }
  .technology-page .tech-execution-copy .lead {
    font-size: 16px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }
  .technology-page .tech-execution-hero-inner::after {
    content: "" !important;
    display: block !important;
    height: 132px !important;
    margin: 18px 0 0 !important;
    background: url('images/mobile/technology-hero-mobile.jpg') center / contain no-repeat !important;
    opacity: .96 !important;
  }

  .technology-page .tech-duo-section,
  .technology-page .tech-step { padding: 0 !important; margin:0 !important; }
  .technology-page .tech-duo,
  .technology-page .tech-step-grid {
    padding-left: var(--mobile-pad) !important;
    padding-right: var(--mobile-pad) !important;
    display: block !important;
    max-width: none !important;
    width: 100% !important;
  }
  .technology-page .tech-duo-item,
  .technology-page .tech-step-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas: "copy" "media" !important;
    gap: 12px !important;
    padding: 22px 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    border-left: 0 !important;
  }
  .technology-page .tech-duo-item + .tech-duo-item { border-top: 1px solid rgba(214,219,228,.95) !important; padding-left:0 !important; }
  .technology-page .tech-step-copy,
  .technology-page .tech-duo-item .tech-step-copy {
    grid-area: copy !important;
    order: unset !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: none !important;
  }
  .technology-page .tech-duo-item > img,
  .technology-page .tech-step-media {
    grid-area: media !important;
    order: unset !important;
    display: block !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .technology-page .tech-step-head { margin: 0 0 10px !important; gap: 16px !important; }
  .technology-page .tech-step-head span { font-size: 44px !important; line-height: .95 !important; }
  .technology-page .tech-step-head i { width: 30px !important; }
  .technology-page .tech-step-copy h3 { font-size: 22px !important; line-height: 1.1 !important; margin: 0 0 10px !important; }
  .technology-page .tech-step-copy p { font-size: 16px !important; line-height: 1.5 !important; margin: 0 !important; max-width: none !important; }
  .technology-page .tech-step-media img,
  .technology-page .tech-duo-item > img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 210px !important;
    object-fit: contain !important;
    object-position: center !important;
  }
  .technology-page .tech-step-03 .tech-step-media { width: 92% !important; margin-left: auto !important; margin-right: auto !important; }
  .technology-page .tech-step-03 .tech-step-media img { max-height: 120px !important; width:100% !important; }
  .technology-page .tech-duo-domain > img,
  .technology-page .tech-duo-cycle > img { max-height: 230px !important; }
  .technology-page .tech-duo-silicon > img { max-height: 200px !important; object-fit: cover !important; }

  .technology-page .tech-state-banner { padding: 8px 0 !important; min-height: 0 !important; margin: 0 !important; }
  .technology-page .tech-state-banner-inner { min-height: 0 !important; padding: 0 var(--mobile-pad) !important; gap: 8px !important; }
  .technology-page .tech-state-word { font-size: 24px !important; opacity: .10 !important; }
  .technology-page .tech-state-mid { font-size: 10px !important; letter-spacing: .18em !important; }
  .technology-page .tech-state-mid i { width: 20px !important; }

  .technology-page .tech-final-overlay { background: #F7F8FB !important; min-height: 0 !important; padding: 0 !important; }
  .technology-page .tech-final-overlay::before { display: none !important; }
  .technology-page .tech-final-overlay-inner {
    display: block !important;
    padding: 26px var(--mobile-pad) !important;
    min-height: 0 !important;
  }
  .technology-page .tech-final-overlay-inner::after { display: none !important; }
  .technology-page .tech-final-overlay .tech-final-heading {
    font-size: 34px !important;
    line-height: 1.06 !important;
    letter-spacing: -.045em !important;
    margin: 0 0 14px !important;
    max-width: none !important;
  }
  .technology-page .tech-final-copy p { font-size: 16px !important; line-height: 1.5 !important; margin: 0 0 16px !important; }
  .technology-page .tech-final-copy .btn { width: 100% !important; justify-content: center !important; }

  /* ---------------- COMPANY MOBILE ---------------- */
  .company-page .company-hero,
  .company-page .hero-overlay.company-hero {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    background: #F7F8FB !important;
    border-bottom: 1px solid rgba(214,219,228,.95) !important;
  }
  .company-page .company-hero picture,
  .company-page .company-hero .hero-overlay-img { display: none !important; }
  .company-page .company-hero .wrap { padding-top: 30px !important; padding-bottom: 22px !important; }
  .company-page .company-hero .hero-overlay-text { padding: 0 !important; max-width: none !important; }
  .company-page .company-hero .hero-overlay-text h1 {
    font-size: clamp(38px, 10vw, 52px) !important;
    line-height: 1.02 !important;
    margin: 0 0 16px !important;
  }
  .company-page .company-hero .hero-overlay-text p.lead { font-size: 16px !important; line-height: 1.5 !important; margin: 0 0 14px !important; }
  .company-page .company-hero .hero-actions { margin-top: 16px !important; }
  .company-page .company-hero .hero-actions .btn { width: 100% !important; justify-content:center !important; }

  .company-page .company-positioning-section { padding: 22px 0 28px !important; }
  .company-page .company-positioning-layout { display: flex !important; flex-direction: column !important; gap: 22px !important; }
  .company-page .company-map-card { order: 1 !important; margin: 0 !important; }
  .company-page .company-positioning-copy { order: 2 !important; }
  .company-page .company-positioning-copy h2 { font-size: clamp(38px, 10vw, 52px) !important; line-height: 1.0 !important; margin: 0 0 18px !important; }
  .company-page .company-pillars,
  .company-page .company-pillars-icons { gap: 0 !important; margin-top: 14px !important; }
  .company-page .company-pillars > div,
  .company-page .company-pillars-icons > div { padding: 18px 0 !important; }

  .company-page .company-credibility-section { padding: 24px 0 30px !important; }
  .company-page .company-transition-band { padding: 20px 0 !important; }
  .company-page .company-transition-band h3 { font-size: clamp(30px, 8.5vw, 40px) !important; line-height: 1.05 !important; }
  .company-page .transition-row img { margin: 8px 0 14px !important; max-height: 150px !important; object-fit: contain !important; }

  /* ---------------- CAREERS MOBILE ---------------- */
  .careers-page .hero-bleed-right { padding: 30px var(--mobile-pad) 24px !important; gap: 20px !important; }
  .careers-page .hero-bleed-image-col { display: none !important; }
  .careers-page .hero-bleed-text-col h1 { font-size: clamp(38px, 10vw, 52px) !important; line-height: 1.02 !important; margin-bottom: 16px !important; }
  .careers-page .hero-bleed-text-col .lead { font-size: 16px !important; line-height: 1.5 !important; }

  .careers-page .life-at-symatics.life-at-overlay { background: #F7F8FB !important; padding: 0 !important; }
  .careers-page .life-at-overlay-inner {
    padding: 26px var(--mobile-pad) 18px !important;
    min-height: 0 !important;
    background: none !important;
  }
  .careers-page .life-at-overlay-inner::after { display: none !important; }
  .careers-page .life-at-overlay .life-copy { max-width: none !important; padding: 0 !important; }
  .careers-page .life-at-overlay .life-copy h2 {
    font-size: clamp(38px, 10vw, 52px) !important;
    line-height: 1.02 !important;
    margin: 14px 0 16px !important;
  }
  .careers-page .life-at-overlay .life-copy p { font-size: 16px !important; line-height: 1.5 !important; margin:0 !important; }

  .careers-page .culture-principles,
  .careers-page .culture-principles-2,
  .careers-page .culture-closing-line {
    padding-left: var(--mobile-pad) !important;
    padding-right: var(--mobile-pad) !important;
    margin: 0 !important;
    display: block !important;
  }
  .careers-page .culture-principles > div,
  .careers-page .culture-closing-line {
    padding: 18px 0 !important;
    border-top: 1px solid rgba(214,219,228,.95) !important;
  }
  .careers-page .culture-principles svg,
  .careers-page .culture-closing-line svg {
    display: block !important;
    margin: 0 0 10px !important;
  }
  .careers-page .culture-principles strong,
  .careers-page .culture-principles span,
  .careers-page .culture-closing-line p {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }
  .careers-page .culture-principles strong { display:block !important; margin-bottom: 8px !important; }
  .careers-page .culture-principles span,
  .careers-page .culture-closing-line p { display:block !important; font-size: 16px !important; line-height:1.5 !important; }

  footer.site { padding-top: 26px !important; padding-bottom: calc(58px + env(safe-area-inset-bottom)) !important; }
}

/* ==================================================
   v27 fix pass — CTA cleanup + Technology hero image
   ================================================== */

/* Technology hero: use text-free hero art and let the visual breathe */
.technology-page .tech-execution-hero{
  background-image:url('images/desktop/t-hero-clean-textfree.png')!important;
  background-size:cover!important;
  background-position:center right!important;
  min-height:650px!important;
  max-width:var(--site-max)!important;
  margin:0 auto!important;
  overflow:hidden!important;
}
.technology-page .tech-execution-hero::before{
  background:
    linear-gradient(90deg,rgba(247,249,255,1) 0%,rgba(247,249,255,.96) 31%,rgba(247,249,255,.62) 50%,rgba(247,249,255,.18) 70%,rgba(247,249,255,0) 86%),
    radial-gradient(circle at 72% 50%,rgba(47,91,255,.13),rgba(47,91,255,0) 34%)!important;
}
.technology-page .tech-execution-hero-inner{
  min-height:650px!important;
  display:flex!important;
  align-items:center!important;
}
.technology-page .tech-execution-copy{
  max-width:560px!important;
  padding:76px 0!important;
  position:relative!important;
  z-index:2!important;
}
.technology-page .tech-execution-copy h1{
  font-size:clamp(50px,5.3vw,82px)!important;
  line-height:.98!important;
}
.technology-page .tech-execution-copy .lead{
  max-width:520px!important;
  font-size:18px!important;
  line-height:1.68!important;
}
.technology-page .tech-final-actions{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}

/* CTA cleanup spacing after duplicated links were removed */
.home-page .hero-actions,
.architecture-page .arch-hero .hero-actions,
.careers-page .careers-hero .hero-actions{
  gap:18px!important;
}

@media (max-width:900px){
  .technology-page .tech-execution-hero{
    min-height:620px!important;
    background-image:url('images/mobile/t-hero-cube-mobile.png')!important;
    background-size:cover!important;
    background-position:66% center!important;
  }
  .technology-page .tech-execution-hero::before{
    background:linear-gradient(180deg,rgba(247,249,255,.98) 0%,rgba(247,249,255,.94) 42%,rgba(247,249,255,.50) 70%,rgba(247,249,255,.08) 100%)!important;
  }
  .technology-page .tech-execution-hero-inner{
    min-height:620px!important;
    align-items:flex-start!important;
  }
  .technology-page .tech-execution-copy{
    padding:42px 20px 0!important;
    max-width:100%!important;
  }
  .technology-page .tech-execution-copy h1{
    font-size:clamp(42px,12vw,58px)!important;
  }
  .technology-page .tech-execution-copy .lead{
    font-size:15.5px!important;
    max-width:420px!important;
  }
  .technology-page .tech-final-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .technology-page .tech-final-actions .btn{
    width:100%;
    justify-content:center;
  }
}

/* v28 final fix pass: capabilities hero, section 01, technology spacing, contact info */
.capabilities-page .cap-hero-state{
  position:relative;
  min-height:620px;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-bottom:1px solid var(--border);
  background:#f4f6fa;
}
.capabilities-page .cap-hero-state-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:66% center;
  z-index:0;
}
.capabilities-page .cap-hero-state-fade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#f5f7fb 0%,rgba(245,247,251,.98) 25%,rgba(245,247,251,.72) 42%,rgba(245,247,251,.18) 58%,rgba(245,247,251,0) 100%);
  z-index:1;
}
.capabilities-page .cap-hero-state-inner{
  position:relative;
  z-index:2;
  width:100%;
}
.capabilities-page .cap-hero-state-copy{
  max-width:530px;
  padding:88px 0 88px;
}
.capabilities-page .cap-hero-state-copy h1{
  font-size:clamp(48px,5.5vw,76px);
  line-height:.96;
  letter-spacing:-0.06em;
  margin:0 0 28px;
}
.capabilities-page .cap-hero-state-copy .lead{
  max-width:480px;
}
.capabilities-page .feature-row .cap-native-diagram{
  min-height:260px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#fff 0%,#f5f7fb 100%);
  border-radius:16px;
  border:1px solid rgba(16,24,40,.06);
  box-shadow:0 18px 46px rgba(16,24,40,.06);
}
.capabilities-page .feature-row .cap-native-diagram img{
  width:min(72%,360px);
  height:auto;
  object-fit:contain;
  border-radius:0;
}
.contact-info-card .contact-info-mini li{
  align-items:flex-start;
  line-height:1.35;
}
.contact-info-card .contact-info-mini li span{
  flex:0 0 24px;
}
@media (min-width: 769px){
  .technology-page .tech-duo-section{padding-top:40px;}
}
@media (max-width: 900px){
  .capabilities-page .cap-hero-state{
    min-height:620px;
    align-items:flex-start;
  }
  .capabilities-page .cap-hero-state-img{
    height:48%;
    top:auto;
    bottom:0;
    object-position:64% center;
  }
  .capabilities-page .cap-hero-state-fade{
    background:linear-gradient(180deg,#f5f7fb 0%,#f5f7fb 46%,rgba(245,247,251,.55) 66%,rgba(245,247,251,0) 100%);
  }
  .capabilities-page .cap-hero-state-copy{
    padding:48px 0 280px;
    max-width:580px;
  }
  .capabilities-page .feature-row{
    grid-template-columns:1fr!important;
  }
  .capabilities-page .feature-row .cap-native-diagram{
    min-height:220px;
  }
}
@media (max-width: 560px){
  .capabilities-page .cap-hero-state{
    min-height:570px;
  }
  .capabilities-page .cap-hero-state-copy{
    padding:38px 0 240px;
  }
  .capabilities-page .cap-hero-state-copy h1{
    font-size:42px;
  }
  .capabilities-page .cap-hero-state-img{
    height:42%;
  }
  .technology-page .tech-duo-section{padding-top:22px;}
}

/* v29 capabilities correction: hero focal position + 01 side-by-side diagram */
.capabilities-page .cap-hero-state{
  min-height:620px !important;
}
.capabilities-page .cap-hero-state-img{
  object-position:82% 42% !important;
  transform:scale(1.04);
  transform-origin:center center;
}
.capabilities-page .cap-hero-state-fade{
  background:linear-gradient(90deg,#f5f7fb 0%,rgba(245,247,251,.98) 23%,rgba(245,247,251,.78) 38%,rgba(245,247,251,.28) 52%,rgba(245,247,251,0) 68%) !important;
}
.capabilities-page .cap-hero-state-copy{
  max-width:500px !important;
}
.capabilities-page .feature-row{
  grid-template-columns:.78fr 1.22fr !important;
  align-items:center !important;
  padding:48px 0 50px !important;
  gap:68px !important;
}
.capabilities-page .feature-row .cap-native-diagram{
  min-height:330px !important;
  padding:20px 24px !important;
  background:#fff !important;
  border:1px solid rgba(16,24,40,.07) !important;
  box-shadow:0 18px 46px rgba(16,24,40,.055) !important;
  overflow:hidden !important;
}
.capabilities-page .feature-row .cap-native-diagram img{
  width:100% !important;
  max-width:620px !important;
  height:auto !important;
  display:block !important;
}
@media (max-width:900px){
  .capabilities-page .cap-hero-state-img{
    object-position:72% 50% !important;
    transform:scale(1.02);
  }
  .capabilities-page .cap-hero-state-fade{
    background:linear-gradient(180deg,#f5f7fb 0%,#f5f7fb 44%,rgba(245,247,251,.58) 63%,rgba(245,247,251,0) 100%) !important;
  }
  .capabilities-page .feature-row{
    grid-template-columns:1fr !important;
    gap:28px !important;
    padding:42px 0 38px !important;
  }
  .capabilities-page .feature-row .cap-native-diagram{
    min-height:0 !important;
    padding:16px !important;
  }
  .capabilities-page .feature-row .cap-native-diagram img{
    max-width:100% !important;
  }
}
@media (max-width:560px){
  .capabilities-page .cap-hero-state-img{
    object-position:72% 54% !important;
  }
  .capabilities-page .feature-row .cap-native-diagram{
    border-radius:14px !important;
  }
}


/* v30 capabilities tightening */
.capabilities-page .cap-hero-state{
 min-height:560px;
}
.capabilities-page .cap-hero-state-img{
 object-position:78% 42%;
}
.capabilities-page section.tight{
 padding:32px 0;
}
.capabilities-page .feature-row{
 gap:32px;
 padding:34px 0;
}
.capabilities-page .feature-row .cap-native-diagram{
 min-height:200px;
}
.capabilities-page .feature-row .cap-native-diagram img{
 width:min(62%,300px);
}
.capabilities-page .cap-overlay-cards-section{
 padding-top:4px!important;
 padding-bottom:12px!important;
}


/* V31 capabilities spacing + hero tightening */
@media (min-width:901px){
.capabilities-page .cap-hero-state{
  min-height:560px!important;
}
.capabilities-page .cap-hero-state-img{
  object-position:74% center!important;
  transform:scale(.82)!important;
  transform-origin:center center!important;
}
.capabilities-page .cap-hero-state-fade{
  background:linear-gradient(90deg,#f5f7fb 0%,rgba(245,247,251,.99) 32%,rgba(245,247,251,.78) 48%,rgba(245,247,251,.20) 62%,rgba(245,247,251,0) 100%)!important;
}
.capabilities-page section.tight{
  padding:20px 0!important;
}
.capabilities-page .feature-row{
  padding:28px 0!important;
  gap:40px!important;
}
.capabilities-page .cap-overlay-cards-section{
  padding-top:10px!important;
  padding-bottom:18px!important;
}
.capabilities-page .cap-proof-section,
.capabilities-page .engineering-validation{
  padding-top:18px!important;
  padding-bottom:18px!important;
}
.capabilities-page .cap-closing-section{
  padding:16px 0 12px!important;
}
}

/* ===== V32 focused build pass: Capabilities / Careers / Contact fixes ===== */
@media (min-width: 901px){
  :root{ --sym-container: 1180px; }

  /* Global page grid consistency for active fixes */
  .capabilities-page .wrap,
  .careers-page .wrap,
  .contact-page .wrap{
    max-width:var(--sym-container) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  /* Capabilities: use approved wider-shot hero asset, same canvas width as sections */
  .capabilities-page .cap-hero-state{
    max-width:var(--sym-container) !important;
    min-height:560px !important;
    margin:0 auto !important;
    background:#f5f7fb !important;
    border-bottom:1px solid var(--border) !important;
  }
  .capabilities-page .cap-hero-state-img{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
  }
  .capabilities-page .cap-hero-state-fade{
    background:linear-gradient(90deg,#f5f7fb 0%,rgba(245,247,251,.99) 28%,rgba(245,247,251,.82) 43%,rgba(245,247,251,.35) 58%,rgba(245,247,251,0) 78%) !important;
  }
  .capabilities-page .cap-hero-state-copy{
    max-width:500px !important;
    padding:68px 0 66px !important;
  }
  .capabilities-page .cap-hero-state-copy h1{
    font-size:clamp(48px,5vw,72px) !important;
    line-height:.97 !important;
  }
  .capabilities-page .cap-hero-state-copy .lead{
    max-width:430px !important;
    line-height:1.62 !important;
  }
  .capabilities-page section.tight{
    padding-top:22px !important;
    padding-bottom:22px !important;
  }
  .capabilities-page .feature-row{
    grid-template-columns:.72fr 1.28fr !important;
    gap:42px !important;
    padding:28px 0 30px !important;
    align-items:center !important;
  }
  .capabilities-page .feature-row .cap-native-diagram{
    min-height:292px !important;
    padding:20px 24px !important;
  }
  .capabilities-page .feature-row .cap-native-diagram img{
    width:100% !important;
    max-width:640px !important;
  }
  .capabilities-page .cap-overlay-cards-section{
    padding-top:8px !important;
    padding-bottom:18px !important;
  }
  .capabilities-page .cap-overlay-cards{
    gap:22px !important;
  }
  .capabilities-page .cap-proof-section,
  .capabilities-page .engineering-validation,
  .capabilities-page section:has(.validation-band){
    padding-top:18px !important;
    padding-bottom:18px !important;
  }
  .capabilities-page .cap-closing-section,
  .capabilities-page section:has(.cta-banner){
    padding-top:18px !important;
    padding-bottom:18px !important;
  }

  /* Careers: tighten section rhythm while keeping image */
  .careers-page .careers-hero{
    max-width:var(--sym-container) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    min-height:540px !important;
  }
  .careers-page .careers-thesis{
    padding-top:42px !important;
    padding-bottom:38px !important;
  }
  .careers-page .jobs-section,
  .careers-page section:has(.jobs-table){
    padding-top:34px !important;
    padding-bottom:42px !important;
  }
  .careers-page .life-section,
  .careers-page section:has(.life-at-grid){
    padding-top:36px !important;
    padding-bottom:34px !important;
  }
  .careers-page .jobs-table,
  .careers-page .roles-table{
    margin-bottom:0 !important;
  }

  /* Contact: convert hard split into one integrated editorial hero */
  .contact-page .contact-hero-bleed{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    max-width:var(--sym-container) !important;
    min-height:560px !important;
    margin:0 auto !important;
    padding:0 !important;
    gap:0 !important;
    overflow:hidden !important;
    border-bottom:1px solid var(--border) !important;
    background:#f5f7fb !important;
  }
  .contact-page .contact-hero-bleed .hero-bleed-image-col{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    z-index:0 !important;
    overflow:hidden !important;
    border-radius:0 !important;
  }
  .contact-page .contact-hero-bleed .hero-bleed-image-col img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
  }
  .contact-page .contact-hero-bleed::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    background:linear-gradient(90deg,#f5f7fb 0%,rgba(245,247,251,.98) 26%,rgba(245,247,251,.82) 42%,rgba(245,247,251,.36) 58%,rgba(245,247,251,0) 80%) !important;
    pointer-events:none !important;
  }
  .contact-page .contact-hero-bleed .hero-bleed-text-col{
    position:relative !important;
    z-index:2 !important;
    max-width:470px !important;
    padding:0 !important;
    margin:0 !important;
  }
  .contact-page .contact-hero-bleed h1,
  .contact-page .hero-bleed-text-col h1{
    font-size:clamp(48px,5vw,68px) !important;
    line-height:.98 !important;
    margin:24px 0 34px !important;
    max-width:430px !important;
  }
  .contact-page .contact-hero-bleed p.lead{
    max-width:430px !important;
    font-size:18px !important;
    line-height:1.62 !important;
  }
  .contact-page .contact-routes-section{
    padding-top:34px !important;
    padding-bottom:30px !important;
  }
  .contact-page .contact-section-kicker{
    margin-bottom:22px !important;
  }
  .contact-page .contact-v10-card,
  .contact-page .contact-route-feature,
  .contact-page .contact-route-small,
  .contact-page .contact-v10-combined-2{
    border-radius:16px !important;
  }
}

@media (max-width: 900px){
  .contact-page .contact-hero-bleed{
    display:block !important;
    padding:42px 24px 0 !important;
    min-height:0 !important;
  }
  .contact-page .contact-hero-bleed::before{display:none !important;}
  .contact-page .contact-hero-bleed .hero-bleed-text-col{
    padding:0 0 28px !important;
    max-width:none !important;
  }
  .contact-page .contact-hero-bleed .hero-bleed-image-col{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:320px !important;
  }
  .contact-page .contact-hero-bleed .hero-bleed-image-col img{
    object-position:center center !important;
  }
}


/* =========================================================
   V33 MOBILE FIXES
   ========================================================= */
@media (max-width: 900px) {

  /* FIX 1: Tech hero — remove small floating image (::after white box), show only background */
  .technology-page .tech-execution-hero-inner::after {
    display: none !important;
  }
  /* FIX 2: Tech hero — reduce H1 font size to prevent mid-word breaks */
  .technology-page .tech-execution-copy h1 {
    font-size: clamp(28px, 8.5vw, 38px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
  }
  /* Also show the background image properly since we removed the ::after */
  .technology-page .tech-execution-hero {
    background-image: url('images/mobile/technology-hero-mobile.jpg') !important;
    background-size: 56% auto !important;
    background-position: 102% center !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
  }
  .technology-page .tech-execution-hero::before {
    display: block !important;
    background: linear-gradient(90deg, rgba(247,249,255,1) 0%, rgba(247,249,255,.98) 44%, rgba(247,249,255,.72) 60%, rgba(247,249,255,.18) 80%, rgba(247,249,255,0) 100%) !important;
  }
  .technology-page .tech-execution-hero-inner {
    min-height: 280px !important;
    display: flex !important;
    align-items: center !important;
    padding: 40px 24px !important;
  }
  .technology-page .tech-execution-copy {
    padding: 0 !important;
    max-width: 68% !important;
  }

  /* FIX 3: Tech sections 01-04 — images full-width like section 05 */
  .technology-page .tech-duo-item > img,
  .technology-page .tech-step-media img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    margin: 0 !important;
  }
  .technology-page .tech-step-media {
    margin: 0 -24px !important;
    width: calc(100% + 48px) !important;
    min-height: 0 !important;
    height: auto !important;
  }
  .technology-page .tech-duo > .tech-duo-item {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .technology-page .tech-duo > .tech-duo-item > img {
    margin: 0 !important;
    max-height: none !important;
    height: auto !important;
    min-height: 200px !important;
  }

  /* FIX 4: Capabilities hero — background overlay mode, not stacked */
  .capabilities-page .cap-hero-state {
    min-height: 480px !important;
    align-items: flex-start !important;
  }
  .capabilities-page .cap-hero-state-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 70% center !important;
    top: 0 !important;
    bottom: auto !important;
  }
  .capabilities-page .cap-hero-state-fade {
    background: linear-gradient(90deg, #f5f7fb 0%, rgba(245,247,251,.99) 38%, rgba(245,247,251,.82) 55%, rgba(245,247,251,.28) 72%, rgba(245,247,251,0) 100%) !important;
  }
  .capabilities-page .cap-hero-state-copy {
    padding: 52px 0 52px !important;
    max-width: 62% !important;
  }
  .capabilities-page .cap-hero-state-copy h1 {
    font-size: clamp(28px, 8vw, 40px) !important;
  }

  /* FIX 5: Capabilities card 01 — image below text, match card 02 style */
  .capabilities-page .feature-row {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .capabilities-page .feature-row > div:first-child {
    order: 1 !important;
  }
  .capabilities-page .feature-row .cap-native-diagram {
    order: 2 !important;
    margin-top: 20px !important;
    min-height: 200px !important;
  }

  /* FIX 7: Contact partnerships — mini-grid sub-items consistent alignment */
  .contact-mini-grid-2 {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .contact-mini-grid-2 > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 16px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--border) !important;
    gap: 6px !important;
  }
  .contact-mini-grid-2 > div:last-child {
    border-bottom: 0 !important;
  }
  .contact-mini-grid-2 .mini-ico {
    display: block !important;
    margin-bottom: 4px !important;
  }
  .contact-mini-grid-2 strong {
    display: block !important;
    font-size: 15px !important;
  }
  .contact-mini-grid-2 span {
    display: block !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: var(--body) !important;
  }

  /* FIX 9 & 10: Careers Life at Symatics — remove dead blank space, fix title alignment */
  .careers-page .life-at-overlay-inner {
    padding-bottom: 52px !important;
    min-height: 0 !important;
  }
  .careers-page .life-at-overlay .life-copy {
    padding-left: 0 !important;
    margin-left: 0 !important;
  }
  .careers-page .life-at-overlay {
    min-height: 0 !important;
  }
  /* Override the specific rule that sets 280px bottom padding */
  .careers-page .life-at-overlay .life-at-overlay-inner {
    padding: 52px 0 52px !important;
  }
}

/* FIX 6: Home hero — reduce H1 on mobile and tighten layout */
@media (max-width: 900px) {
  .home-page .hero-overlay h1 {
    font-size: clamp(30px, 8vw, 42px) !important;
    line-height: 1.06 !important;
    max-width: 90% !important;
  }
  .home-page .hero-overlay-text {
    max-width: 70% !important;
    padding-top: 52px !important;
  }
}
@media (max-width: 480px) {
  .home-page .hero-overlay h1 {
    font-size: clamp(28px, 7.5vw, 36px) !important;
  }
  .home-page .hero-overlay-text {
    max-width: 80% !important;
  }
  .capabilities-page .cap-hero-state-copy {
    max-width: 78% !important;
  }
  .technology-page .tech-execution-copy {
    max-width: 76% !important;
  }
  /* FIX 2 narrow phones */
  .technology-page .tech-execution-copy h1 {
    font-size: clamp(26px, 7.5vw, 32px) !important;
  }
}


/* V33 additional: override the 340px padding on careers life section from v25 block */
@media (max-width: 1024px) {
  .careers-page .life-at-overlay-inner {
    padding: 52px 24px 52px !important;
    background:
      linear-gradient(90deg, rgba(247,248,251,.99) 0%, rgba(247,248,251,.96) 35%, rgba(247,248,251,.6) 55%, rgba(247,248,251,0) 100%),
      url('images/mobile/careers-culture-mobile.jpg') center right / cover no-repeat !important;
    min-height: 320px !important;
  }
}
/* V33: sitewide mobile alignment — ensure wrap padding is consistent */
@media (max-width: 900px) {
  .wrap {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}


/* =========================================================
   V33 PATCH — Technology hero small image fix
   The ::after pseudo on tech-execution-hero-inner injects a
   small thumbnail below the text at mobile. Remove it and
   use the hero background image properly instead.
   ========================================================= */
@media (max-width: 900px) {
  /* Remove the small injected thumbnail image */
  .technology-page .tech-execution-hero-inner::after {
    display: none !important;
    content: none !important;
  }
  /* Restore the hero background image on mobile — right half visible */
  .technology-page .tech-execution-hero {
    background-image: url('images/mobile/t-hero-cube-mobile.png') !important;
    background-size: 52% auto !important;
    background-position: 102% center !important;
    background-color: #F7F9FF !important;
    min-height: 0 !important;
    height: auto !important;
  }
  .technology-page .tech-execution-hero::before {
    display: block !important;
    background: linear-gradient(90deg,
      rgba(247,249,255,1) 0%,
      rgba(247,249,255,.98) 42%,
      rgba(247,249,255,.75) 58%,
      rgba(247,249,255,.2) 78%,
      rgba(247,249,255,0) 100%) !important;
  }
  .technology-page .tech-execution-hero-inner {
    min-height: 300px !important;
    display: flex !important;
    align-items: center !important;
    padding: 44px 24px !important;
  }
  .technology-page .tech-execution-copy {
    max-width: 62% !important;
    padding: 0 !important;
  }
}


/* =========================================================
   V33 PATCH — Singapore HQ icons + underlines, CTA headline
   ========================================================= */

/* SVG icons in contact-info-mini */
.contact-info-mini .info-ico {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  flex-shrink: 0 !important;
  color: var(--blue) !important;
}
.contact-info-mini .info-ico svg {
  stroke: var(--blue) !important;
  width: 14px !important;
  height: 14px !important;
}
/* Remove underlines from auto-linked phone/email on iOS */
.contact-info-mini .no-link,
.contact-info-mini li a,
.contact-info-card .contact-info-mini li a {
  text-decoration: none !important;
  color: inherit !important;
  pointer-events: none !important;
}

/* Architecture CTA card — reduce headline on mobile */
@media (max-width: 900px) {
  .architecture-page .cta-banner h3 {
    font-size: clamp(22px, 6vw, 30px) !important;
    line-height: 1.18 !important;
    margin-bottom: 16px !important;
  }
  .architecture-page .cta-banner {
    padding: 28px 24px !important;
  }
}


/* =========================================================
   V33 PATCH B — All remaining mobile fixes
   ========================================================= */

/* --- FIX 1: Industry Partners icon flush left --- */
@media (max-width: 900px) {
  .contact-mini-grid-2 > div:last-child {
    padding-left: 0 !important;
    border-left: 0 !important;
  }
}

/* --- FIX 2: Singapore HQ — block iOS auto-link underlines --- */
.contact-info-mini .info-text {
  text-decoration: none !important;
  -webkit-text-decoration: none !important;
}
.contact-info-mini li a,
.contact-info-mini li a:link,
.contact-info-mini li a:visited {
  text-decoration: none !important;
  color: inherit !important;
}
/* Catch iOS auto-generated anchors */
a[x-apple-data-detectors],
a[x-apple-data-detectors]:link,
a[x-apple-data-detectors]:visited {
  text-decoration: none !important;
  color: inherit !important;
  font-weight: inherit !important;
}

/* --- FIX 3: Technology hero — use new cube image in ::after, fix lead column --- */
@media (max-width: 900px) {
  .technology-page .tech-execution-hero-inner::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 44% !important;
    height: 100% !important;
    background: url('images/mobile/t-hero-cube-mobile.png') center / cover no-repeat !important;
    opacity: 0.9 !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }
  .technology-page .tech-execution-hero-inner {
    position: relative !important;
  }
  .technology-page .tech-execution-copy {
    position: relative !important;
    z-index: 2 !important;
    max-width: 58% !important;
  }
  .technology-page .tech-execution-copy .lead {
    max-width: none !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
}

/* --- FIX 4: Capabilities card 01 — white card wrapper on mobile --- */
@media (max-width: 900px) {
  .capabilities-page .feature-row {
    background: #fff !important;
    border: 1px solid var(--border) !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 24px rgba(16,24,40,.06) !important;
    padding: 28px 24px !important;
    margin: 0 !important;
  }
}

/* --- FIX 5: Sitewide mobile padding — enforce 24px on all wrap containers --- */
@media (max-width: 900px) {
  /* Technology section 03 and all tech steps */
  .technology-page .tech-duo,
  .technology-page .tech-step-grid {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  /* Contact Our Presence section */
  .contact-presence-section .wrap,
  .contact-presence-grid {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  /* Careers Life at Symatics title */
  .careers-page .life-at-overlay-inner,
  .careers-page .life-at-overlay .life-copy {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  /* Global safety net — any section that bypasses .wrap */
  .contact-presence-grid,
  .culture-principles,
  .open-roles-wrap,
  .careers-thesis-wrap {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* --- FIX 6: Logo sizing — keep proportions with new square logo --- */
.brand img {
  width: 28px !important;
  height: 28px !important;
  object-fit: contain !important;
}



/* =========================================================
   V33 PATCH C
   ========================================================= */

/* FIX: Tech section 03 left padding -- .tech-step-grid overrides .wrap horizontal padding */
@media (max-width: 900px) {
  .technology-page .tech-step-03 .wrap.tech-step-grid,
  .technology-page .tech-step-03 .tech-step-grid {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  /* Also catch any other tech-step sections using .wrap.tech-step-grid */
  .technology-page .tech-step .wrap {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* FIX: Singapore HQ card -- restore dark text, no blue, correct wrapping */
/* Desktop: full reset */
.contact-info-mini li {
  color: #12141A !important;
}
.contact-info-mini .info-text {
  color: #12141A !important;
  text-decoration: none !important;
  -webkit-text-decoration: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
/* Kill any browser-injected anchor styling on auto-detected links */
.contact-info-card a[x-apple-data-detectors],
.contact-info-mini a,
.contact-info-mini a:any-link {
  color: inherit !important;
  text-decoration: none !important;
  -webkit-text-decoration: none !important;
  font-weight: inherit !important;
}
/* Phone: never wrap */
.contact-info-mini li span.info-text[style*="nowrap"],
.contact-info-mini .info-text[style] {
  white-space: nowrap !important;
}

/* FIX: Desktop logo alignment -- ensure brand is consistently positioned */
.site-header .nav,
header.site .nav {
  align-items: center !important;
}
.brand {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.brand img {
  width: 28px !important;
  height: 28px !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
  display: block !important;
}


/* =========================================================
   V33 PATCH D — Mobile cleanup
   ========================================================= */
@media (max-width: 880px) {

  /* FIX 4: Hide "Get in touch" button in nav -- hamburger is enough */
  .nav-cta .btn {
    display: none !important;
  }

  /* FIX 5: Hide secondary link-arrow CTAs in hero sections */
  .hero-actions .link-arrow {
    display: none !important;
  }

  /* FIX 7: Hide STATE BECOMES EXECUTION banner */
  .tech-state-banner,
  .technology-page .tech-state-banner {
    display: none !important;
  }

  /* FIX 8: Hide company blue-rule decorators */
  .blue-rule,
  .company-page .blue-rule,
  .company-page .hero-overlay-text .blue-rule {
    display: none !important;
  }

  /* FIX 9: Hide contact "How can we help?" kicker */
  .contact-section-kicker {
    display: none !important;
  }

  /* FIX 10: Hide footer nav link columns, keep brand + socials + copyright */
  .footer-links {
    display: none !important;
  }

  /* FIX 6: Architecture CTA -- hide second button, keep primary only */
  .architecture-page .cta-banner-actions .btn-outline-light {
    display: none !important;
  }
  .architecture-page .cta-banner-actions {
    flex-direction: column !important;
    gap: 0 !important;
  }
}

/* =========================================================
   V33 PATCH D — Desktop/global fixes
   ========================================================= */

/* FIX 1: Logo alignment -- consistent across all pages */
header.site .nav {
  align-items: center !important;
}
.nav .brand {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
}
.nav .brand img {
  width: 28px !important;
  height: 28px !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
  position: static !important;
  top: auto !important;
  transform: none !important;
}

/* FIX 2: Singapore HQ card -- dark text everywhere, no blue, no wrapping */
.contact-info-mini li,
.contact-info-mini .info-text {
  color: #12141A !important;
  text-decoration: none !important;
  -webkit-text-decoration: none !important;
}
.contact-info-mini a,
.contact-info-mini a:link,
.contact-info-mini a:visited,
.contact-info-mini a:hover {
  color: #12141A !important;
  text-decoration: none !important;
}
/* Target iOS WebKit auto-detected links specifically */
.contact-info-card * {
  -webkit-text-decoration: none !important;
}
a[x-apple-data-detectors] {
  color: inherit !important;
  text-decoration: none !important;
  pointer-events: none !important;
}

/* FIX 3: Tech section 03 -- enforce wrap padding on mobile */
@media (max-width: 880px) {
  .technology-page .tech-step-03 .tech-step-grid,
  .technology-page .tech-step .wrap {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}



/* =========================================================
   V33 PATCH E — Desktop alignment + contact + arch fixes
   ========================================================= */

/* FIX 1: Restore wrap padding on capabilities, careers, contact pages
   v32 zeroed it out causing all content to sit flush left on desktop */
@media (min-width: 901px) {
  .capabilities-page .wrap,
  .capabilities-page header.site .wrap,
  .capabilities-page footer.site .wrap,
  .careers-page .wrap,
  .careers-page header.site .wrap,
  .careers-page footer.site .wrap,
  .contact-page .wrap,
  .contact-page header.site .wrap,
  .contact-page footer.site .wrap {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* FIX 2: Company page hero text flush left -- padding:0 override */
@media (min-width: 901px) {
  .company-page .company-hero .hero-overlay-text {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .company-page .wrap {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* FIX 3: Careers + Company hero image stacking too early -- was 1024px, reduce to 880px */
@media (min-width: 881px) {
  .careers-page .hero-overlay,
  .company-page .hero-overlay {
    display: block !important;
    flex-direction: unset !important;
    min-height: 560px !important;
    position: relative !important;
    overflow: hidden !important;
  }
  .careers-page .hero-overlay picture,
  .company-page .hero-overlay picture {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    order: unset !important;
    display: block !important;
  }
  .careers-page .hero-overlay-img,
  .company-page .hero-overlay-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    max-height: none !important;
  }
  .careers-page .hero-overlay::after,
  .company-page .hero-overlay::after {
    display: block !important;
  }
  .careers-page .hero-overlay .wrap,
  .company-page .hero-overlay .wrap {
    position: relative !important;
    z-index: 2 !important;
  }
  .careers-page .hero-overlay-text,
  .company-page .hero-overlay-text {
    padding: 0 !important;
    max-width: 520px !important;
  }
}

/* FIX 4: Singapore HQ card -- reduce font-weight, fix text wrapping */
.contact-info-mini li {
  font-weight: 500 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  align-items: flex-start !important;
}
.contact-info-mini .info-text {
  font-weight: 500 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}
.contact-info-card {
  min-width: 0 !important;
}

/* FIX 5: Contact trio cards -- equal height, email blue, link at bottom */
.contact-v10-trio {
  align-items: stretch !important;
}
.contact-route-small {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
.contact-route-small a {
  margin-top: auto !important;
  padding-top: 20px !important;
}
/* mo.zn email blue */
.contact-info-mini .info-email {
  color: var(--blue) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  margin-top: auto !important;
  display: block !important;
  padding-top: 20px !important;
}

/* FIX 6: Architecture hero -- tighten gap between eyebrow and h1 */
.architecture-page .arch-hero-copy .eyebrow {
  margin-bottom: 14px !important;
}
.arch-hero-copy {
  margin-top: 16px !important;
}



/* =========================================================
   V33 PATCH F — All remaining fixes
   ========================================================= */

/* FIX 1: Singapore HQ card -- proper flex layout, no word-breaks */
.contact-info-mini li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: #12141A !important;
  line-height: 1.55 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}
.contact-info-mini .info-ico {
  flex: 0 0 18px !important;
  width: 18px !important;
  min-width: 18px !important;
  padding-top: 1px !important;
}
.contact-info-mini .info-text {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  color: #12141A !important;
  text-decoration: none !important;
}
.contact-info-mini .info-email {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  color: var(--blue) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;
}

/* FIX 2: Nav container -- constrain to 1180px with 24px padding so logo
   aligns with page content at all viewport widths */
header.site {
  width: 100% !important;
}
.wrap.nav {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* FIX 3: Contact hero text-col -- add left padding since it's not inside .wrap */
.contact-page .hero-bleed-text-col {
  padding-left: 24px !important;
}
@media (min-width: 901px) {
  .contact-page .hero-bleed-text-col {
    padding-left: 24px !important;
  }
}



/* V33 HOTFIX: Contact hero text-col padding -- override the more specific rule at line 8436 */
.contact-page .contact-hero-bleed .hero-bleed-text-col,
.contact-page .hero-bleed-right .hero-bleed-text-col {
  padding-left: 24px !important;
  padding-right: 0 !important;
}

/* V33 HOTFIX: Singapore HQ email icon inline with text */
.contact-info-mini li:last-child {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}
.contact-info-mini .info-email {
  color: var(--blue) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  display: inline !important;
}


/* V33 HOTFIX: Careers Life at Symatics -- restore left padding on inner wrap */
.careers-page .life-at-overlay .wrap.life-at-overlay-inner,
.careers-page .life-at-overlay-inner {
  padding-left: 24px !important;
  padding-right: 24px !important;
}


/* =========================================================
   V33 PATCH G
   ========================================================= */

/* FIX 1: info-email blue -- override the blanket dark color rule */
.contact-info-mini .info-email,
.contact-info-mini a.info-email,
.contact-info-mini a.info-email:link,
.contact-info-mini a.info-email:visited,
.contact-info-mini a.info-email:hover {
  color: var(--blue) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  display: inline !important;
}

/* FIX 2: Capabilities section 01 -- restore left padding */
.capabilities-page .wrap.feature-row,
.capabilities-page section.tight .wrap {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* FIX 3: Technology page nav height -- reduce to match standard 76px */
.technology-page .nav {
  height: 76px !important;
}


/* V33 FIX: Technology page header wrap -- 64px padding pushing logo right, reduce to 24px */
.technology-page header.site .wrap,
.technology-page header .wrap {
  padding-left: 24px !important;
  padding-right: 24px !important;
}


/* V33 FIX: Singapore HQ email -- icon and address inline, aligned with other cards */
.contact-info-mini li:has(.info-email) {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.contact-info-mini .info-email {
  display: inline-flex !important;
  align-items: center !important;
  color: var(--blue) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
}


/* V33 FIX: Capabilities section 01 -- feature-row grid content needs left padding
   The wrap padding only affects the outer edge; grid columns need explicit left space */
.capabilities-page section.tight:first-of-type {
  padding-left: 24px !important;
  padding-right: 24px !important;
}
.capabilities-page .wrap.feature-row {
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}
/* Also ensure the section wrapper adds padding */
.capabilities-page .tight {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.capabilities-page .tight > .wrap {
  padding-left: 24px !important;
  padding-right: 24px !important;
}


/* V33 FIX: Capabilities 01 -- add card styling on desktop to match 02-04 left edge */
.capabilities-page .wrap.feature-row {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 24px rgba(16,24,40,.06) !important;
  padding: 28px 28px !important;
  margin-left: 24px !important;
  margin-right: 24px !important;
  max-width: calc(1180px - 48px) !important;
  box-sizing: border-box !important;
}


/* V33: Technology sections 01-05 -- card styling on mobile only */
@media (max-width: 900px) {
  /* Sections 01, 02, 03 (tech-step and tech-duo items) */
  .technology-page .tech-step,
  .technology-page .tech-duo-item {
    background: #fff !important;
    border: 1px solid var(--border) !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 24px rgba(16,24,40,.06) !important;
    margin: 0 24px 12px !important;
    overflow: hidden !important;
    border-top: 1px solid var(--border) !important;
  }
  /* Remove the existing border-top from section since card handles it */
  .technology-page .tech-duo-section {
    background: transparent !important;
    border-top: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 0 0 12px !important;
  }
  /* Content padding inside cards */
  .technology-page .tech-step .wrap.tech-step-grid,
  .technology-page .tech-duo-item .tech-step-copy {
    padding: 24px 20px 0 !important;
  }
  .technology-page .tech-duo-item > img,
  .technology-page .tech-step-media {
    margin: 16px 0 0 !important;
  }
  .technology-page .tech-step-media img,
  .technology-page .tech-duo-item > img {
    border-radius: 0 !important;
  }
}

/* =========================================================
   V38 — Technology Section 03 final correction
   - Desktop uses wide horizontal image.
   - Mobile uses dedicated square/long image and matches Section 04 card structure.
   ========================================================= */
@media (min-width: 901px) {
  .technology-page .tech-step-03 .wrap.tech-step-grid {
    display: grid !important;
    grid-template-columns: 360px minmax(0, 1fr) !important;
    gap: 52px !important;
    align-items: center !important;
    min-height: 360px !important;
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }
  .technology-page .tech-step-03 .tech-step-media {
    height: 330px !important;
    min-height: 330px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    background: transparent !important;
  }
  .technology-page .tech-step-03 .tech-step-media picture,
  .technology-page .tech-step-03 .tech-step-media img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 330px !important;
    object-fit: contain !important;
    object-position: center center !important;
    border-radius: 0 !important;
    margin: 0 !important;
  }
}

@media (max-width: 900px) {
  .technology-page .tech-step-03 {
    background: #fff !important;
    border: 1px solid var(--border) !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 24px rgba(16,24,40,.06) !important;
    margin: 0 24px 12px !important;
    overflow: hidden !important;
    padding: 0 !important;
  }
  .technology-page .tech-step-03 .wrap.tech-step-grid,
  .technology-page .tech-step-03 .tech-step-grid {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 28px 24px 0 !important;
    box-sizing: border-box !important;
    min-height: 0 !important;
  }
  .technology-page .tech-step-03 .tech-step-copy {
    order: 1 !important;
    grid-area: auto !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .technology-page .tech-step-03 .tech-step-media {
    order: 2 !important;
    grid-area: auto !important;
    display: block !important;
    width: calc(100% + 48px) !important;
    margin: 0 -24px !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    background: transparent !important;
  }
  .technology-page .tech-step-03 .tech-step-media picture,
  .technology-page .tech-step-03 .tech-step-media img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Content refinement pass */
.footer-thesis{border-bottom:1px solid rgba(15,23,42,.08);padding:0 0 22px;margin:0 0 28px;max-width:520px;}
.footer-thesis p{font-size:clamp(18px,1.9vw,28px);line-height:1.05;letter-spacing:-.035em;font-weight:800;color:#050816;margin:0;}
.footer-thesis p + p{margin-top:6px;}
.home-model-section{padding:96px 0;}
.home-model-section .model-copy{max-width:680px;}
.home-model-section h2{font-size:clamp(42px,6vw,86px);line-height:.92;letter-spacing:-.06em;margin:16px 0 22px;color:#050816;}
.home-model-section p{font-size:18px;line-height:1.6;color:#465264;max-width:560px;}
@media (max-width:768px){.footer-thesis{padding-bottom:18px;margin-bottom:24px;max-width:320px}.footer-thesis p{font-size:22px;line-height:1.05}.home-model-section{padding:64px 0}.home-model-section h2{font-size:42px;line-height:.98}.home-model-section p{font-size:16px}}


/* Footer cleanup: remove oversized thesis block and restore compact footer */
.footer-thesis{display:none !important;}
footer.site{padding:42px 0 28px;}
.footer-top{padding-bottom:30px;}
.footer-bottom{padding-top:22px;}
@media (max-width:768px){footer.site{padding:34px 0 24px}.footer-top{gap:24px;padding-bottom:24px}.footer-links{gap:28px}.footer-bottom{padding-top:20px}}

/* Home 04 editorial layout fix */
.home-model-section{padding:88px 0 78px!important;}
.home-model-section .home-model-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);gap:clamp(56px,8vw,120px);align-items:start;}
.home-model-section .model-copy{max-width:640px!important;}
.home-model-section h2{font-size:clamp(52px,5.6vw,82px)!important;line-height:.92!important;letter-spacing:-.065em!important;margin:16px 0 0!important;max-width:660px;}
.home-model-section .model-detail{padding-top:52px;max-width:480px;}
.home-model-section .model-detail p{font-size:17px!important;line-height:1.62!important;color:#465264!important;max-width:460px!important;margin:0 0 34px!important;}
.model-roadmap{border-left:1px solid rgba(37,99,255,.32);padding-left:26px;}
.roadmap-step{display:flex;align-items:baseline;gap:18px;min-height:30px;}
.roadmap-step span{font-size:12px;font-weight:800;letter-spacing:.18em;color:#2563ff;line-height:1;}
.roadmap-step strong{font-size:18px;line-height:1.15;letter-spacing:-.02em;color:#050816;}
.roadmap-line{width:1px;height:26px;background:rgba(37,99,255,.32);margin:7px 0 7px 15px;}
@media (max-width:768px){.home-model-section{padding:64px 0 56px!important}.home-model-section .home-model-grid{grid-template-columns:1fr;gap:26px}.home-model-section h2{font-size:42px!important;line-height:.98!important}.home-model-section .model-detail{padding-top:0;max-width:100%}.home-model-section .model-detail p{font-size:16px!important}.roadmap-step strong{font-size:16px}}

/* Fix: Technology mobile 03 card must match 04 card scale and structure */
@media (max-width: 900px) {
  .technology-page .tech-step-03 {
    margin: 0 24px 12px !important;
    padding: 0 !important;
    width: auto !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  .technology-page .tech-step-03 .wrap.tech-step-grid,
  .technology-page .tech-step-03 .tech-step-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .technology-page .tech-step-03 .tech-step-copy {
    padding: 24px 20px 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .technology-page .tech-step-03 .tech-step-media {
    width: 100% !important;
    max-width: 100% !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: block !important;
    background: #f7f9fc !important;
  }

  .technology-page .tech-step-03 .tech-step-media picture,
  .technology-page .tech-step-03 .tech-step-media img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: clamp(330px, 62vw, 520px) !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }
}

/* Final fix: Technology mobile 03 card width must match 04/05 duo cards.
   04/05 sit inside .tech-duo with 24px side padding plus card margin.
   03 was only using the card margin, making it visually wider. */
@media (max-width: 900px) {
  .technology-page .tech-step-03 {
    margin-left: 48px !important;
    margin-right: 48px !important;
    width: auto !important;
    max-width: none !important;
  }

  .technology-page .tech-step-03 .wrap.tech-step-grid,
  .technology-page .tech-step-03 .tech-step-grid {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
  }

  .technology-page .tech-step-03 .tech-step-copy {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

@media (max-width: 520px) {
  .technology-page .tech-step-03 {
    margin-left: 24px !important;
    margin-right: 24px !important;
  }
}

/* v33 final pass: Capabilities 01 image replacement sizing */
.capabilities-page .feature-row .cap-native-diagram picture{
  display:block !important;
  width:100% !important;
}
.capabilities-page .feature-row .cap-native-diagram picture img{
  width:100% !important;
  max-width:760px !important;
  height:auto !important;
  display:block !important;
  margin:0 auto !important;
  object-fit:contain !important;
}
@media (max-width:900px){
  .capabilities-page .feature-row .cap-native-diagram{
    padding:0 !important;
    overflow:hidden !important;
  }
  .capabilities-page .feature-row .cap-native-diagram picture img{
    width:100% !important;
    max-width:none !important;
  }
}

/* v33 final pass: Technology mobile numbered cards share one card width system */
@media (max-width:900px){
  .technology-page .tech-duo-section,
  .technology-page .tech-step{
    padding:0 !important;
    margin:0 !important;
    background:#F7F8FB !important;
  }
  .technology-page .tech-duo,
  .technology-page .tech-step-grid{
    display:block !important;
    width:auto !important;
    max-width:none !important;
    margin-left:24px !important;
    margin-right:24px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .technology-page .tech-duo-item,
  .technology-page .tech-step-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-areas:"copy" "media" !important;
    gap:0 !important;
    width:100% !important;
    margin:0 0 24px !important;
    padding:0 !important;
    background:#fff !important;
    border:1px solid rgba(16,24,40,.10) !important;
    border-radius:18px !important;
    overflow:hidden !important;
    box-shadow:0 16px 44px rgba(16,24,40,.04) !important;
    min-height:0 !important;
  }
  .technology-page .tech-duo-item + .tech-duo-item{
    border-top:1px solid rgba(16,24,40,.10) !important;
    padding-left:0 !important;
  }
  .technology-page .tech-step-copy,
  .technology-page .tech-duo-item .tech-step-copy{
    grid-area:copy !important;
    padding:26px 26px 22px !important;
    margin:0 !important;
    width:100% !important;
    max-width:none !important;
  }
  .technology-page .tech-duo-item > img,
  .technology-page .tech-step-media{
    grid-area:media !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border-top:1px solid rgba(16,24,40,.04) !important;
    background:#fff !important;
    display:block !important;
  }
  .technology-page .tech-step-media picture{
    display:block !important;
    width:100% !important;
  }
  .technology-page .tech-step-media img,
  .technology-page .tech-duo-item > img{
    width:100% !important;
    height:auto !important;
    max-height:260px !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
    margin:0 auto !important;
  }
  .technology-page .tech-step-03 .tech-step-media{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .technology-page .tech-step-03 .tech-step-media img{
    width:100% !important;
    max-height:260px !important;
  }
}
@media (max-width:560px){
  .technology-page .tech-duo,
  .technology-page .tech-step-grid{
    margin-left:18px !important;
    margin-right:18px !important;
  }
  .technology-page .tech-step-copy,
  .technology-page .tech-duo-item .tech-step-copy{
    padding:24px 24px 20px !important;
  }
}


/* ===== FINAL QA BUILD OVERRIDES: mobile hero typography + mobile image links ===== */
@media (max-width: 900px){
  /* Prevent broken hero words / orphan letters on mobile. */
  .architecture-page .arch-hero-copy h1,
  .technology-page .tech-hero h1,
  .capabilities-page .cap-hero-copy h1,
  .company-page .hero-overlay-text h1,
  .careers-page .hero-overlay-text h1,
  .contact-page .hero-bleed-text-col h1,
  .home-page .hero-overlay-text h1{
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    max-width: none !important;
  }

  .architecture-page .arch-hero-copy h1,
  .technology-page .tech-hero h1,
  .contact-page .hero-bleed-text-col h1{
    font-size: clamp(40px, 10.5vw, 50px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.055em !important;
  }

  .company-page .hero-overlay-text h1,
  .careers-page .hero-overlay-text h1,
  .capabilities-page .cap-hero-copy h1,
  .home-page .hero-overlay-text h1{
    font-size: clamp(40px, 10.8vw, 54px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.055em !important;
  }

  /* Contact mobile: use dedicated mobile image and keep the crop from cutting heads. */
  .contact-page .hero-bleed-right.contact-hero-bleed{
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding: 64px 20px 42px !important;
    margin: 0 auto !important;
    max-width: none !important;
    background:#F7F8FB !important;
  }
  .contact-page .contact-hero-bleed .hero-bleed-text-col{
    padding:0 !important;
    max-width:none !important;
  }
  .contact-page .contact-hero-bleed .hero-bleed-text-col h1{
    margin: 18px 0 24px !important;
  }
  .contact-page .contact-hero-bleed .hero-bleed-text-col .lead{
    max-width: none !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
  }
  .contact-page .contact-hero-bleed .hero-bleed-image-col{
    height: auto !important;
    min-height: 0 !important;
    width:100% !important;
    overflow:hidden !important;
  }
  .contact-page .contact-hero-bleed .hero-bleed-image-col picture,
  .contact-page .contact-hero-bleed .hero-bleed-image-col img{
    display:block !important;
    width:100% !important;
  }
  .contact-page .contact-hero-bleed .hero-bleed-image-col img{
    height:auto !important;
    object-fit:contain !important;
    object-position:center top !important;
  }

  /* Careers hero mobile: force the approved mobile asset. */
  .careers-page .careers-hero picture,
  .careers-page .careers-hero .hero-overlay-img{
    display:block !important;
    width:100% !important;
  }
  .careers-page .careers-hero .hero-overlay-img{
    object-position:center center !important;
  }

  /* Careers culture mobile: use the dedicated courtyard mobile image. */
  .careers-page .life-at-symatics.life-at-overlay{
    background:#F7F8FB !important;
    padding:0 !important;
  }
  .careers-page .life-at-overlay-inner{
    background:
      linear-gradient(180deg,rgba(247,248,251,.99) 0%,rgba(247,248,251,.96) 43%,rgba(247,248,251,.28) 70%,rgba(247,248,251,0) 100%),
      url('images/mobile/careers-culture-mobile.jpg') center bottom/cover no-repeat !important;
    min-height:420px !important;
    padding:52px 20px 160px !important;
  }
}

@media (max-width: 560px){
  .architecture-page .arch-hero-copy h1,
  .technology-page .tech-hero h1,
  .contact-page .hero-bleed-text-col h1{
    font-size: clamp(38px, 10.2vw, 44px) !important;
  }
  .contact-page .hero-bleed-right.contact-hero-bleed{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}

/* ===== FINAL QA PATCH 2: actual Technology hero class ===== */
@media (max-width: 900px){
  .technology-page .tech-execution-copy h1{
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    max-width: none !important;
    font-size: clamp(40px, 10.5vw, 50px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.055em !important;
  }
}
@media (max-width: 560px){
  .technology-page .tech-execution-copy h1{
    font-size: clamp(38px, 10.2vw, 44px) !important;
  }
}


/* ===== NEW PAGES: nav fix + Specs, Performance, Landscape, Roadmap, Portal ===== */

/* Single nav rule — overrides all page-specific gaps. Portal is just another <li>. */
header.site .nav-links {
  gap: 20px !important;
}
header.site .nav-links a {
  font-size: 13px !important;
  white-space: nowrap !important;
}
.nav-portal-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.nav-portal-link svg {
  opacity: 0.55;
  flex-shrink: 0;
}


/* --- Dark section (used across new pages) --- */
.dark-section {
  background: var(--bg-dark);
  color: var(--white);
  padding: var(--section-y) 0;
}
.dark-section h2,
.dark-section h3,
.dark-section h4 {
  color: var(--white);
}
.dark-section p,
.dark-section .body-text {
  color: var(--body-on-dark);
}
.dark-section .eyebrow {
  color: #7C9BFF;
}
.dark-section .eyebrow::before {
  background: #7C9BFF;
}

/* --- Dark card --- */
.dark-card {
  background: #111726;
  border: 1px solid var(--border-on-dark);
  border-radius: var(--radius);
  padding: 28px;
}
.dark-card h4 {
  color: var(--white);
  font-size: 16px;
  margin-bottom: 10px;
}
.dark-card p {
  color: var(--body-on-dark);
  font-size: 14px;
  line-height: 1.6;
}

/* --- Stat card (dark) --- */
.stat-card-dark {
  background: #111726;
  border: 1px solid var(--border-on-dark);
  border-radius: var(--radius);
  padding: 28px;
  text-align: center;
}
.stat-card-dark .stat-value {
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 800;
  color: var(--blue);
  line-height: 1;
  margin-bottom: 8px;
}
.stat-card-dark .stat-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--white);
  margin-bottom: 4px;
}
.stat-card-dark .stat-sub {
  font-size: 12px;
  color: var(--body-on-dark);
}

/* --- Spec table (dark) --- */
.spec-table {
  width: 100%;
  border-collapse: collapse;
}
.spec-table tbody tr {
  border-bottom: 1px solid var(--border-on-dark);
}
.spec-table tbody tr:last-child {
  border-bottom: none;
}
.spec-table td {
  padding: 14px 0;
  font-size: 14px;
  vertical-align: top;
}
.spec-table td:first-child {
  font-weight: 700;
  color: var(--white);
  width: 220px;
  padding-right: 24px;
}
.spec-table td:nth-child(2) {
  color: #7C9BFF;
  font-weight: 500;
  padding-right: 24px;
  width: 180px;
}
.spec-table td:last-child {
  color: var(--body-on-dark);
}

/* Spec table light variant */
.spec-table.light tbody tr {
  border-bottom: 1px solid var(--border);
}
.spec-table.light td:first-child {
  color: var(--ink);
}
.spec-table.light td:nth-child(2) {
  color: var(--blue);
}
.spec-table.light td:last-child {
  color: var(--body);
}

/* --- Comparison table (multi-col) --- */
.comp-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.comp-table thead th {
  text-align: left;
  padding: 12px 16px 12px 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--body);
  border-bottom: 2px solid var(--border);
}
.comp-table thead th.highlight {
  color: var(--blue);
}
.comp-table tbody td {
  padding: 12px 16px 12px 0;
  color: var(--body);
  border-bottom: 1px solid var(--border);
  vertical-align: top;
  line-height: 1.5;
}
.comp-table tbody td:first-child {
  font-weight: 700;
  color: var(--ink);
}
.comp-table tbody td.highlight {
  color: var(--blue);
  font-weight: 500;
}
.comp-table.dark-table thead th {
  color: var(--body-on-dark);
  border-bottom-color: var(--border-on-dark);
}
.comp-table.dark-table thead th.highlight {
  color: #7C9BFF;
}
.comp-table.dark-table tbody td {
  color: var(--body-on-dark);
  border-bottom-color: var(--border-on-dark);
}
.comp-table.dark-table tbody td:first-child {
  color: var(--white);
}
.comp-table.dark-table tbody td.highlight {
  color: #7C9BFF;
}

/* --- Notice box --- */
.notice-box {
  border-radius: var(--radius-sm);
  padding: 16px 20px;
  font-size: 13.5px;
  line-height: 1.6;
}
.notice-box.blue {
  background: rgba(47, 91, 255, 0.08);
  border: 1px solid rgba(47, 91, 255, 0.2);
  color: #7C9BFF;
}
.notice-box.amber {
  background: rgba(255, 179, 71, 0.07);
  border: 1px solid rgba(255, 179, 71, 0.2);
  color: #ffb347;
}
.notice-box strong {
  font-weight: 700;
}

/* --- Row divider list (workload table) --- */
.row-list {
  border-top: 1px solid var(--border-on-dark);
}
.row-list-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--border-on-dark);
  flex-wrap: wrap;
}
.row-list-item .row-label {
  font-weight: 700;
  color: var(--white);
  font-size: 14px;
  min-width: 240px;
  flex-shrink: 0;
}
.row-list-item .row-verdict {
  font-size: 14px;
  font-weight: 600;
  min-width: 130px;
  flex-shrink: 0;
}
.row-list-item .row-note {
  font-size: 13px;
  color: var(--body-on-dark);
  flex: 1;
}

/* --- Phase cards --- */
.phase-card {
  background: #111726;
  border: 1px solid var(--border-on-dark);
  border-radius: var(--radius);
  padding: 28px;
  border-top-width: 3px;
}
.phase-tag {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.phase-time {
  font-size: 11px;
  color: var(--body-on-dark);
  margin-bottom: 12px;
}
.phase-card h4 {
  font-size: 20px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 12px;
}
.phase-card p {
  font-size: 14px;
  color: var(--body-on-dark);
  line-height: 1.6;
}
.phase-checklist {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.phase-checklist li {
  display: flex;
  gap: 8px;
  font-size: 12px;
  color: var(--body-on-dark);
  line-height: 1.4;
}
.phase-checklist li::before {
  content: "✓";
  flex-shrink: 0;
  font-weight: 700;
}

/* --- Split table (2 columns side by side) --- */
.split-table-row {
  display: flex;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid var(--border-on-dark);
  font-size: 13px;
}
.split-table-row:last-child {
  border-bottom: none;
}
.split-table-key {
  font-weight: 700;
  color: var(--white);
  flex: 0 0 150px;
}
.split-table-val {
  color: var(--body-on-dark);
  flex: 1;
}

/* --- Portal page --- */
.portal-lock-icon {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: rgba(47, 91, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
}
.portal-form-wrap {
  max-width: 440px;
  margin: 0 auto;
}
.portal-input {
  background: #111726;
  border: 1px solid var(--border-on-dark);
  color: var(--white);
  padding: 14px 16px;
  border-radius: 10px;
  width: 100%;
  font-size: 15px;
  font-family: inherit;
}
.portal-input:focus {
  border-color: var(--blue);
  outline: none;
}
.portal-error {
  color: #ff6b6b;
  font-size: 13px;
  margin-top: 8px;
}
.portal-hint {
  font-size: 12px;
  color: var(--body-on-dark);
  text-align: center;
  margin-top: 16px;
}
.portal-hint a {
  color: #7C9BFF;
}

/* Portal content */
.portal-toc {
  background: #111726;
  border: 1px solid var(--border-on-dark);
  border-radius: var(--radius);
  padding: 28px;
  margin-bottom: 48px;
}
.portal-toc h3 {
  font-size: 15px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 16px;
}
.portal-toc-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.portal-toc-grid a {
  font-size: 13px;
  color: #7C9BFF;
  padding: 4px 0;
  display: block;
}
.portal-toc-grid a:hover {
  text-decoration: underline;
}
.portal-section {
  margin-bottom: 80px;
}
.portal-section h3 {
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 700;
  color: var(--white);
  margin-bottom: 24px;
}
.portal-confidential {
  border: 1px solid var(--border-on-dark);
  border-radius: var(--radius-sm);
  padding: 24px;
  text-align: center;
}
.portal-session-end {
  background: transparent;
  border: 1px solid var(--border-on-dark);
  color: var(--body-on-dark);
  font-size: 13px;
  padding: 8px 16px;
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
}
.portal-session-end:hover {
  border-color: rgba(255,255,255,0.3);
  color: var(--white);
}

/* --- New page heroes (light, bleed-right style) --- */
.new-page-hero {
  position: relative;
  background: var(--bg-dark);
  overflow: hidden;
  min-height: 420px;
  display: flex;
  align-items: center;
  padding: 80px 0 72px;
}
.new-page-hero-copy {
  max-width: 520px;
}
.new-page-hero h1 {
  font-size: clamp(40px, 4.8vw, 60px);
  line-height: 1.04;
  letter-spacing: -0.04em;
  color: var(--white);
  margin-bottom: 20px;
}
.new-page-hero .lead {
  font-size: 17px;
  color: var(--body-on-dark);
  line-height: 1.65;
  max-width: 440px;
}
.new-page-hero .eyebrow {
  color: #7C9BFF;
  margin-bottom: 20px;
}
.new-page-hero .eyebrow::before {
  background: #7C9BFF;
}

/* Portal nav link with lock icon */

/* ===== v37f: Cap header nav wrap on all pages that use max-width:none ===== */
.architecture-page header.site .wrap,
.technology-page header.site .wrap,
.capabilities-page header.site .wrap,
.company-page header.site .wrap,
.careers-page header.site .wrap,
.contact-page header.site .wrap,
.specs-page header.site .wrap,
.performance-page header.site .wrap,
.landscape-page header.site .wrap,
.roadmap-page header.site .wrap,
.portal-page header.site .wrap {
  max-width: var(--max) !important;
  padding-left: var(--pad) !important;
  padding-right: var(--pad) !important;
}

/* ===== v38 FIX: Specs page editorial light conversion ===== */
.specs-page main{
  background:#F7F8FB !important;
}
.specs-page .new-page-hero,
.specs-page .dark-section{
  background:#F7F8FB !important;
  color:var(--ink) !important;
  margin:0 !important;
}
.specs-page .new-page-hero{
  padding:76px 0 48px !important;
}
.specs-page .dark-section:nth-of-type(2){
  padding:28px 0 44px !important;
}
.specs-page .dark-section:nth-of-type(3){
  padding:40px 0 56px !important;
}
.specs-page .dark-section:nth-of-type(4){
  padding:40px 0 72px !important;
}
.specs-page .new-page-hero h1,
.specs-page .dark-section h2,
.specs-page .dark-section h3,
.specs-page .dark-section h4,
.specs-page [style*="color:#fff"],
.specs-page [style*="color: #fff"]{
  color:var(--ink) !important;
}
.specs-page .new-page-hero .lead,
.specs-page .dark-section p,
.specs-page .dark-section .body-text,
.specs-page .dark-card p,
.specs-page .stat-card-dark .stat-sub{
  color:var(--body) !important;
}
.specs-page .new-page-hero .eyebrow,
.specs-page .dark-section .eyebrow{
  color:var(--blue) !important;
}
.specs-page .new-page-hero .eyebrow::before,
.specs-page .dark-section .eyebrow::before{
  background:var(--blue) !important;
}
.specs-page .stat-card-dark,
.specs-page .dark-card{
  background:#FFFFFF !important;
  border:1px solid rgba(17,24,39,.10) !important;
  border-radius:14px !important;
  box-shadow:0 18px 48px rgba(15,23,42,.035) !important;
}
.specs-page .stat-card-dark{
  text-align:left !important;
  padding:28px 30px !important;
  min-height:140px !important;
}
.specs-page .stat-card-dark .stat-value{
  color:var(--blue) !important;
  margin-bottom:10px !important;
}
.specs-page .stat-card-dark .stat-label{
  color:var(--ink) !important;
}
.specs-page .dark-card{
  padding:28px !important;
}
.specs-page .grid-2 .dark-card{
  min-height:auto !important;
}
.specs-page .spec-table tbody tr{
  border-bottom:1px solid rgba(17,24,39,.10) !important;
}
.specs-page .spec-table td{
  color:var(--body) !important;
  padding:15px 0 !important;
}
.specs-page .spec-table td:first-child{
  color:var(--ink) !important;
  font-weight:700 !important;
}
.specs-page .spec-table td:nth-child(2){
  color:var(--blue) !important;
  font-weight:600 !important;
}
.specs-page img[alt="MPU chip floorplan"]{
  background:#fff !important;
  border:1px solid rgba(17,24,39,.08) !important;
  box-shadow:0 24px 60px rgba(15,23,42,.06) !important;
}
.specs-page .section-head{
  margin-bottom:36px !important;
}
.specs-page section[style*="background:#F7F8FB"]{
  padding-top:72px !important;
  padding-bottom:72px !important;
}
.specs-page section[style*="border-top"]{
  padding-top:72px !important;
}
.specs-page .notice-box.amber{
  background:rgba(255,179,71,.08) !important;
  color:#A16207 !important;
  border:1px solid rgba(255,179,71,.28) !important;
}
.specs-page .cta-banner{
  margin-top:0 !important;
}
@media (max-width:900px){
  .specs-page .new-page-hero{padding:56px 0 32px !important;}
  .specs-page .dark-section:nth-of-type(2),
  .specs-page .dark-section:nth-of-type(3),
  .specs-page .dark-section:nth-of-type(4),
  .specs-page section[style*="background:#F7F8FB"]{
    padding-top:44px !important;
    padding-bottom:44px !important;
  }
  .specs-page .stat-card-dark{text-align:left !important;min-height:0 !important;}
  .specs-page .spec-table td{display:block;width:auto !important;padding:6px 0 !important;}
  .specs-page .spec-table tr{display:block;padding:14px 0 !important;}
}

/* v39 Specs spacing refinement */
.specs-page section,
.page-specs section{
  padding-top:40px !important;
  padding-bottom:40px !important;
  margin-top:24px !important;
  margin-bottom:24px !important;
}
.specs-page .specs-stats,
.specs-page .why-matters,
.specs-page .specs-params,
.page-specs .specs-stats,
.page-specs .why-matters,
.page-specs .specs-params{
  margin-top:32px !important;
  margin-bottom:32px !important;
}


/* ===== v41 Performance page editorial light conversion + true gap removal ===== */
.performance-page main{
  background:#F7F8FB !important;
}

.performance-page .new-page-hero,
.performance-page .dark-section{
  background:#F7F8FB !important;
  color:var(--ink) !important;
  margin:0 !important;
  border:0 !important;
}

/* Make page read as one continuous flow, not separated dark blocks */
.performance-page .new-page-hero{
  min-height:0 !important;
  padding:72px 0 34px !important;
}
.performance-page .dark-section{
  padding:34px 0 !important;
}
.performance-page .dark-section[style*="padding-top:0"]{
  padding-top:34px !important;
}
.performance-page .dark-section:last-of-type{
  padding-bottom:58px !important;
}

/* Remove dark-mode typography */
.performance-page .new-page-hero h1,
.performance-page .dark-section h2,
.performance-page .dark-section h3,
.performance-page .dark-section h4,
.performance-page [style*="color:#fff"],
.performance-page [style*="color: #fff"]{
  color:var(--ink) !important;
}
.performance-page .new-page-hero .lead,
.performance-page .dark-section p,
.performance-page .dark-card p,
.performance-page .row-note,
.performance-page [style*="color:var(--body-on-dark)"]{
  color:var(--body) !important;
}
.performance-page .new-page-hero .eyebrow,
.performance-page .dark-section .eyebrow{
  color:var(--blue) !important;
}
.performance-page .new-page-hero .eyebrow::before,
.performance-page .dark-section .eyebrow::before{
  background:var(--blue) !important;
}

/* White editorial cards instead of stacked dark panels */
.performance-page .dark-card{
  background:#FFFFFF !important;
  border:1px solid rgba(17,24,39,.10) !important;
  border-radius:14px !important;
  padding:24px 26px !important;
  box-shadow:0 18px 44px rgba(15,23,42,.035) !important;
}
.performance-page .dark-card h4{
  color:var(--ink) !important;
}
.performance-page .dark-card strong{
  color:var(--ink) !important;
}

/* Tighten internal heading-to-content spacing */
.performance-page .dark-section h2{
  margin-bottom:10px !important;
}
.performance-page .dark-section h2 + p{
  margin-bottom:22px !important;
}
.performance-page .grid-3,
.performance-page .grid-2{
  gap:22px !important;
}
.performance-page .grid-2[style],
.performance-page .grid-3[style]{
  margin-bottom:16px !important;
}

/* Keep blue numbers, but remove neon/dark feel */
.performance-page [style*="color:#7C9BFF"],
.performance-page [style*="color: #7C9BFF"],
.performance-page [style*="color:#67e8f9"],
.performance-page [style*="color: #67e8f9"]{
  color:var(--blue) !important;
}
.performance-page [style*="color:#AAB2C5"],
.performance-page [style*="color: #AAB2C5"]{
  color:#687083 !important;
}

/* Notice boxes become editorial notes */
.performance-page .notice-box.blue{
  background:#FFFFFF !important;
  border:1px solid rgba(37,99,235,.20) !important;
  border-left:3px solid var(--blue) !important;
  color:var(--body) !important;
  box-shadow:none !important;
}
.performance-page .notice-box.blue strong{
  color:var(--blue) !important;
}

/* Workload fit table: light editorial table */
.performance-page .row-list{
  background:#FFFFFF !important;
  border:1px solid rgba(17,24,39,.10) !important;
  border-radius:14px !important;
  padding:6px 22px !important;
  box-shadow:0 18px 44px rgba(15,23,42,.035) !important;
}
.performance-page .row-list-item{
  border-bottom:1px solid rgba(17,24,39,.10) !important;
}
.performance-page .row-list-item:last-child{
  border-bottom:0 !important;
}
.performance-page .row-label{
  color:var(--ink) !important;
}
.performance-page .row-verdict{
  color:var(--blue) !important;
}
.performance-page .row-note{
  color:var(--body) !important;
}

/* CTA should sit close to the content */
.performance-page section[style*="background:#F7F8FB"]{
  background:#F7F8FB !important;
  padding:44px 0 72px !important;
}
.performance-page .cta-banner{
  margin-top:0 !important;
}

/* Mobile preparation without redesign */
@media (max-width:900px){
  .performance-page .new-page-hero{
    padding:52px 0 28px !important;
  }
  .performance-page .dark-section{
    padding:30px 0 !important;
  }
  .performance-page .dark-card{
    padding:22px !important;
  }
  .performance-page .row-list{
    padding:4px 16px !important;
  }
}



/* ===== v42 Landscape page bottom block + spacing refinement ===== */
.landscape-page main{
  background:#F7F8FB !important;
}

/* tighter continuous rhythm */
.landscape-page section{
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:42px !important;
  padding-bottom:42px !important;
}
.landscape-page .new-page-hero{
  padding-top:72px !important;
  padding-bottom:42px !important;
  min-height:0 !important;
}
.landscape-page .section-divider{
  margin:28px 0 !important;
}

/* reduce heading-to-content gaps */
.landscape-page h2{
  margin-bottom:12px !important;
}
.landscape-page h2 + p{
  margin-bottom:24px !important;
}
.landscape-page .grid-3,
.landscape-page .grid-4,
.landscape-page .grid-5,
.landscape-page .grid-2{
  gap:22px !important;
}

/* convert bottom impossible-triangle dark block to light editorial card */
.landscape-page .dark-section,
.landscape-page section.dark-section{
  background:#F7F8FB !important;
  color:var(--ink) !important;
  padding-top:42px !important;
  padding-bottom:42px !important;
}
.landscape-page .dark-section .container,
.landscape-page .dark-section .inner,
.landscape-page .dark-section > div{
  background:#FFFFFF !important;
  border:1px solid rgba(17,24,39,.10) !important;
  border-radius:16px !important;
  box-shadow:0 18px 44px rgba(15,23,42,.035) !important;
}
.landscape-page .dark-section h2,
.landscape-page .dark-section h3,
.landscape-page .dark-section p{
  color:var(--ink) !important;
}
.landscape-page .dark-section p{
  color:var(--body) !important;
}
.landscape-page .dark-section [style*="color:#fff"],
.landscape-page .dark-section [style*="color: #fff"]{
  color:var(--ink) !important;
}
.landscape-page .dark-section [style*="color:#AAB2C5"],
.landscape-page .dark-section [style*="color: #AAB2C5"]{
  color:var(--body) !important;
}

/* keep triangle chips as light cards, preserve accent colors */
.landscape-page .dark-section .dark-card,
.landscape-page .dark-section .chip,
.landscape-page .dark-section .card{
  background:#FFFFFF !important;
  border-color:rgba(37,99,235,.22) !important;
  box-shadow:none !important;
}

/* CTA should sit closer to previous content */
.landscape-page .cta-section,
.landscape-page section:has(.cta-banner){
  padding-top:36px !important;
  padding-bottom:70px !important;
}
.landscape-page .cta-banner{
  margin-top:0 !important;
}

/* mobile prep */
@media (max-width:900px){
  .landscape-page section{
    padding-top:30px !important;
    padding-bottom:30px !important;
  }
  .landscape-page .new-page-hero{
    padding-top:52px !important;
    padding-bottom:30px !important;
  }
}



/* ===== v43 Landscape ending refinement ===== */
.landscape-page .dark-section:last-of-type{
  background:#F7F8FB !important;
  padding-top:28px !important;
  padding-bottom:24px !important;
}

/* Convert impossible triangle block to editorial card */
.landscape-page .dark-section:last-of-type .container{
  background:#FFFFFF !important;
  border:1px solid rgba(17,24,39,.10) !important;
  border-radius:18px !important;
  box-shadow:0 18px 44px rgba(15,23,42,.035) !important;
  padding:48px !important;
}

.landscape-page .dark-section:last-of-type h2,
.landscape-page .dark-section:last-of-type h3{
  color:#111827 !important;
}

.landscape-page .dark-section:last-of-type p{
  color:#667085 !important;
}

/* Make the three boxes feel more like a framework */
.landscape-page .dark-section:last-of-type .card,
.landscape-page .dark-section:last-of-type .chip{
  background:#fff !important;
  border-width:2px !important;
  border-radius:14px !important;
}

/* Pull CTA closer */
.landscape-page .cta-banner{
  margin-top:-10px !important;
}


/* ===== v44 exact final fixes: Specs / Performance / Landscape flow ===== */
:root{--sym-light:#F7F8FB;--sym-card:#FFFFFF;--sym-line:rgba(17,24,39,.10);}

/* SPECS: force light editorial and close gaps */
.specs-page main{background:var(--sym-light)!important;}
.specs-page .new-page-hero,.specs-page .dark-section{background:var(--sym-light)!important;color:var(--ink)!important;margin:0!important;border:0!important;}
.specs-page .new-page-hero{padding:66px 0 32px!important;min-height:0!important;}
.specs-page .dark-section{padding:30px 0!important;}
.specs-page .dark-section[style*="padding-top:0"]{padding-top:28px!important;}
.specs-page section[style*="background:#F7F8FB"]{padding-top:34px!important;padding-bottom:34px!important;}
.specs-page .stat-card-dark,.specs-page .dark-card{background:var(--sym-card)!important;border:1px solid var(--sym-line)!important;color:var(--ink)!important;box-shadow:0 14px 36px rgba(15,23,42,.035)!important;}
.specs-page .stat-card-dark{padding:24px!important;}
.specs-page .dark-card{padding:24px!important;min-height:auto!important;}
.specs-page .dark-section h2,.specs-page .dark-section h3,.specs-page .dark-card h3,.specs-page .stat-label{color:var(--ink)!important;}
.specs-page .dark-section p,.specs-page .dark-card p,.specs-page .stat-sub{color:var(--body)!important;}
.specs-page .stat-value,.specs-page .spec-table td:nth-child(2){color:var(--blue)!important;}
.specs-page .spec-table td{color:var(--body)!important;border-color:var(--sym-line)!important;background:transparent!important;}
.specs-page .spec-table td:first-child{color:var(--ink)!important;}
.specs-page .grid-2,.specs-page .grid-3,.specs-page .grid-4{gap:24px!important;}

/* PERFORMANCE: force one continuous light page, no dark block slices */
.performance-page main{background:var(--sym-light)!important;}
.performance-page .new-page-hero,.performance-page .dark-section{background:var(--sym-light)!important;color:var(--ink)!important;margin:0!important;border:0!important;}
.performance-page .new-page-hero{padding:66px 0 30px!important;min-height:0!important;}
.performance-page .dark-section{padding:30px 0!important;}
.performance-page .dark-section[style*="padding-top:0"]{padding-top:28px!important;}
.performance-page .dark-section[style*="padding-bottom:var(--section-y)"]{padding-bottom:34px!important;}
.performance-page .dark-section h2,.performance-page .dark-card h4,.performance-page .row-label{color:var(--ink)!important;}
.performance-page .dark-section p,.performance-page .dark-card p,.performance-page .row-note{color:var(--body)!important;}
.performance-page .dark-card{background:var(--sym-card)!important;border:1px solid var(--sym-line)!important;color:var(--ink)!important;border-radius:14px!important;padding:22px 24px!important;box-shadow:0 14px 36px rgba(15,23,42,.035)!important;}
.performance-page .dark-card strong{color:var(--ink)!important;}
.performance-page .notice-box.blue{background:var(--sym-card)!important;border:1px solid rgba(37,99,235,.20)!important;border-left:3px solid var(--blue)!important;color:var(--body)!important;box-shadow:none!important;margin-top:16px!important;}
.performance-page .row-list{background:var(--sym-card)!important;border:1px solid var(--sym-line)!important;border-radius:14px!important;padding:6px 22px!important;box-shadow:0 14px 36px rgba(15,23,42,.035)!important;}
.performance-page .row-list-item{border-color:var(--sym-line)!important;}
.performance-page .row-verdict{color:var(--blue)!important;}
.performance-page [style*="color:#fff"],.performance-page [style*="color: #fff"]{color:var(--ink)!important;}
.performance-page [style*="color:var(--body-on-dark)"]{color:var(--body)!important;}
.performance-page [style*="color:#AAB2C5"]{color:#687083!important;}
.performance-page [style*="color:#7C9BFF"],.performance-page [style*="color:#67e8f9"]{color:var(--blue)!important;}
.performance-page h2{margin-bottom:10px!important;}
.performance-page h2 + p{margin-bottom:20px!important;}
.performance-page .grid-2,.performance-page .grid-3{gap:22px!important;}
.performance-page section[style*="background:#F7F8FB"]{padding-top:36px!important;padding-bottom:68px!important;}

/* LANDSCAPE: exact replacement for triangle and bottom flow */
.landscape-page main{background:var(--sym-light)!important;}
.landscape-page section{margin:0!important;}
.landscape-page section[style*="padding:0 0 var(--section-y)"]{padding:30px 0!important;}
.landscape-page section[style*="border-top:1px solid var(--border)"]{padding:34px 0!important;}
.landscape-page .new-page-hero{padding-top:66px!important;padding-bottom:34px!important;min-height:0!important;}
.landscape-page .section-head{margin-bottom:22px!important;}
.landscape-page .grid-3,.landscape-page .grid-4,.landscape-page .grid-5{gap:22px!important;}
.landscape-page .landscape-triangle-section{background:var(--sym-light)!important;padding:28px 0 24px!important;}
.landscape-page .landscape-triangle-card{background:var(--sym-card)!important;border:1px solid var(--sym-line)!important;border-radius:18px!important;padding:46px 44px!important;box-shadow:0 16px 42px rgba(15,23,42,.035)!important;}
.landscape-page .landscape-triangle-card h2{color:var(--ink)!important;margin-bottom:12px!important;}
.landscape-page .triangle-framework{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 auto 28px;max-width:760px;}
.landscape-page .triangle-choice{background:#fff;border-radius:14px;padding:22px 16px;text-align:center;border:2px solid rgba(37,99,235,.25);}
.landscape-page .triangle-choice.blue{border-color:#6F8EFF;}
.landscape-page .triangle-choice.orange{border-color:#FFB347;}
.landscape-page .triangle-choice.cyan{border-color:#52DDF2;}
.landscape-page .triangle-kicker{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;}
.landscape-page .triangle-choice.blue .triangle-kicker,.landscape-page .triangle-choice.blue .triangle-label{color:#4D6FFF;}
.landscape-page .triangle-choice.orange .triangle-kicker,.landscape-page .triangle-choice.orange .triangle-label{color:#D98400;}
.landscape-page .triangle-choice.cyan .triangle-kicker,.landscape-page .triangle-choice.cyan .triangle-label{color:#1198AD;}
.landscape-page .triangle-label{font-size:15px;font-weight:750;}
.landscape-page .landscape-cta-section{padding:30px 0 66px!important;}
.landscape-page .cta-banner{margin-top:0!important;}

@media(max-width:1100px){
  .specs-page .new-page-hero,.performance-page .new-page-hero,.landscape-page .new-page-hero{padding:48px 0 26px!important;}
  .specs-page .dark-section,.performance-page .dark-section,.landscape-page section{padding-top:26px!important;padding-bottom:26px!important;}
  .landscape-page .landscape-triangle-card{padding:32px 22px!important;}
  .landscape-page .triangle-framework{grid-template-columns:1fr;gap:14px;}
}


/* ===== v45 Roadmap page editorial light conversion + gap removal ===== */
.roadmap-page,
.roadmap-page main{
  background:#F7F8FB !important;
  color:var(--ink) !important;
}

/* turn the old dark roadmap canvas into the site light editorial canvas */
.roadmap-page .dark-section,
.roadmap-page .new-page-hero,
.roadmap-page section,
.roadmap-page [style*="background:#070b17"],
.roadmap-page [style*="background:#080c18"],
.roadmap-page [style*="background:#090d1a"],
.roadmap-page [style*="background:#0b1020"],
.roadmap-page [style*="background: #070b17"],
.roadmap-page [style*="background: #080c18"],
.roadmap-page [style*="background: #090d1a"],
.roadmap-page [style*="background: #0b1020"]{
  background:#F7F8FB !important;
  color:var(--ink) !important;
  border:0 !important;
}

/* one continuous flow, not stacked slides */
.roadmap-page .new-page-hero{
  min-height:0 !important;
  padding-top:72px !important;
  padding-bottom:32px !important;
}
.roadmap-page section,
.roadmap-page .dark-section{
  padding-top:34px !important;
  padding-bottom:34px !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.roadmap-page .container > * + *{
  margin-top:20px;
}
.roadmap-page h1,
.roadmap-page h2,
.roadmap-page h3,
.roadmap-page h4,
.roadmap-page [style*="color:#fff"],
.roadmap-page [style*="color: #fff"],
.roadmap-page [style*="color:white"],
.roadmap-page [style*="color: white"]{
  color:var(--ink) !important;
}
.roadmap-page p,
.roadmap-page li,
.roadmap-page td,
.roadmap-page th,
.roadmap-page .lead,
.roadmap-page [style*="color:#AAB2C5"],
.roadmap-page [style*="color: #AAB2C5"],
.roadmap-page [style*="color:#94A3B8"],
.roadmap-page [style*="color: #94A3B8"],
.roadmap-page [style*="color:var(--body-on-dark)"]{
  color:var(--body) !important;
}
.roadmap-page .eyebrow,
.roadmap-page [style*="color:#7C9BFF"],
.roadmap-page [style*="color: #7C9BFF"],
.roadmap-page [style*="color:#67e8f9"],
.roadmap-page [style*="color: #67e8f9"]{
  color:var(--blue) !important;
}

/* cards and validation phase blocks become white editorial cards */
.roadmap-page .dark-card,
.roadmap-page .card,
.roadmap-page .metric-card,
.roadmap-page [class*="card"],
.roadmap-page [style*="background:#101827"],
.roadmap-page [style*="background: #101827"],
.roadmap-page [style*="background:#111827"],
.roadmap-page [style*="background: #111827"],
.roadmap-page [style*="background:#0f172a"],
.roadmap-page [style*="background: #0f172a"]{
  background:#FFFFFF !important;
  border:1px solid rgba(17,24,39,.10) !important;
  border-radius:14px !important;
  box-shadow:0 18px 44px rgba(15,23,42,.035) !important;
}

/* tighter cards */
.roadmap-page .dark-card,
.roadmap-page .card,
.roadmap-page [class*="card"]{
  padding:24px !important;
}

/* tables become light editorial tables */
.roadmap-page table{
  background:#FFFFFF !important;
  border:1px solid rgba(17,24,39,.10) !important;
  border-radius:14px !important;
  overflow:hidden !important;
  box-shadow:0 18px 44px rgba(15,23,42,.025) !important;
}
.roadmap-page th,
.roadmap-page td{
  border-color:rgba(17,24,39,.10) !important;
}
.roadmap-page th{
  color:#475467 !important;
}
.roadmap-page td strong,
.roadmap-page th strong{
  color:var(--ink) !important;
}

/* image cards should stay visual but not dark-framed */
.roadmap-page img{
  border-radius:14px !important;
}
.roadmap-page figure,
.roadmap-page .image-card,
.roadmap-page .visual-card{
  background:#FFFFFF !important;
  border:1px solid rgba(17,24,39,.10) !important;
  border-radius:16px !important;
  box-shadow:0 18px 44px rgba(15,23,42,.035) !important;
}

/* horizontal lists/grids spacing */
.roadmap-page .grid-2,
.roadmap-page .grid-3,
.roadmap-page .grid-4,
.roadmap-page [class*="grid"]{
  gap:22px !important;
  margin-top:22px !important;
  margin-bottom:0 !important;
}
.roadmap-page h2{
  margin-bottom:10px !important;
}
.roadmap-page h2 + p{
  margin-top:0 !important;
  margin-bottom:20px !important;
}

/* SIF-Link section spacing */
.roadmap-page .split,
.roadmap-page [class*="split"],
.roadmap-page .two-col,
.roadmap-page [class*="two"]{
  gap:44px !important;
}

/* CTA: keep CTA dark as shared site component, but reduce gap */
.roadmap-page .cta-section,
.roadmap-page section:has(.cta-banner){
  background:#F7F8FB !important;
  padding-top:38px !important;
  padding-bottom:70px !important;
}
.roadmap-page .cta-banner{
  margin-top:0 !important;
}

/* reduce excessive blank areas before footer */
.roadmap-page footer{
  margin-top:0 !important;
}

/* mobile fallback */
@media (max-width:900px){
  .roadmap-page .new-page-hero{
    padding-top:52px !important;
    padding-bottom:26px !important;
  }
  .roadmap-page section,
  .roadmap-page .dark-section{
    padding-top:28px !important;
    padding-bottom:28px !important;
  }
  .roadmap-page .dark-card,
  .roadmap-page .card,
  .roadmap-page [class*="card"]{
    padding:20px !important;
  }
}



/* ===== v46 Roadmap lower-half final spacing + CTA contrast ===== */

/* CTA title contrast fix across all pages */
.cta-banner h2,
.cta-banner h3,
.cta-banner .cta-title,
.cta-banner [class*="title"],
.cta-banner [style*="color:#111827"],
.cta-banner [style*="color: #111827"],
.cta-banner [style*="color:var(--ink)"]{
  color:#FFFFFF !important;
}

/* Roadmap lower-half rhythm tightening */
.roadmap-page section{
  padding-top:28px !important;
  padding-bottom:28px !important;
}

.roadmap-page .new-page-hero{
  padding-top:72px !important;
  padding-bottom:34px !important;
}

/* reduce table -> validation gap and validation -> SIF gap */
.roadmap-page table{
  margin-bottom:18px !important;
}

.roadmap-page h2{
  margin-top:0 !important;
  margin-bottom:8px !important;
}

.roadmap-page h2 + p{
  margin-bottom:18px !important;
}

/* cards closer to headers */
.roadmap-page .grid-3,
.roadmap-page .grid-2,
.roadmap-page [class*="grid"]{
  margin-top:18px !important;
  gap:20px !important;
}

/* SIF-Link section and CTA closer */
.roadmap-page .cta-section,
.roadmap-page section:has(.cta-banner){
  padding-top:18px !important;
  padding-bottom:56px !important;
}

.roadmap-page .cta-banner{
  margin-top:0 !important;
  padding-top:34px !important;
  padding-bottom:34px !important;
}

/* keep footer from floating too far away */
.roadmap-page footer{
  margin-top:0 !important;
}

/* mobile */
@media (max-width:900px){
  .roadmap-page section{
    padding-top:24px !important;
    padding-bottom:24px !important;
  }
  .roadmap-page .cta-section,
  .roadmap-page section:has(.cta-banner){
    padding-top:14px !important;
    padding-bottom:44px !important;
  }
  .roadmap-page .cta-banner{
    padding-top:28px !important;
    padding-bottom:28px !important;
  }
}



/* ===== v47 Global Footer Layout ===== */
.footer-links,
.footer-nav{
  display:grid !important;
  grid-template-columns: repeat(2,minmax(140px,1fr)) repeat(2,minmax(120px,1fr));
  gap:10px 32px !important;
}

.footer-product-grid{
  display:grid !important;
  grid-template-columns:repeat(3,auto) !important;
  gap:10px 28px !important;
}

.footer-company-grid{
  display:grid !important;
  grid-template-columns:repeat(2,auto) !important;
  gap:10px 28px !important;
}


/* ===== v48 Roadmap upper structure + spacing correction ===== */

/* Fix the Gen1/Gen2 block: image and intro should not float with a giant dead gap */
.roadmap-page .new-page-hero{
  padding-top:64px !important;
  padding-bottom:28px !important;
  min-height:0 !important;
}

.roadmap-page .new-page-hero .container{
  display:grid !important;
  grid-template-columns:minmax(320px, .88fr) minmax(420px, 1.12fr) !important;
  gap:64px !important;
  align-items:start !important;
}

.roadmap-page .new-page-hero .container > *{
  margin-top:0 !important;
}

.roadmap-page .new-page-hero img{
  width:100% !important;
  max-width:none !important;
  display:block !important;
  margin-top:28px !important;
  border-radius:14px !important;
}

/* Pull Gen1 vs Gen2 heading closer to table and remove the huge vertical gap */
.roadmap-page section{
  padding-top:24px !important;
  padding-bottom:24px !important;
}

.roadmap-page section .container{
  margin-top:0 !important;
}

.roadmap-page h2{
  margin-top:0 !important;
  margin-bottom:8px !important;
}

.roadmap-page h2 + p{
  margin-top:0 !important;
  margin-bottom:16px !important;
}

/* Specifically make Gen1 vs Gen2 content one compact editorial block */
.roadmap-page .comparison-section,
.roadmap-page section:has(table){
  padding-top:22px !important;
  padding-bottom:28px !important;
}

.roadmap-page section:has(table) .container{
  display:block !important;
}

.roadmap-page section:has(table) table{
  margin-top:18px !important;
}

/* Fix oversized table card */
.roadmap-page table{
  width:100% !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  font-size:13px !important;
  line-height:1.35 !important;
  background:#FFFFFF !important;
  border:1px solid rgba(17,24,39,.10) !important;
  border-radius:14px !important;
  overflow:hidden !important;
  box-shadow:0 14px 34px rgba(15,23,42,.025) !important;
}
.roadmap-page th,
.roadmap-page td{
  padding:13px 18px !important;
  border-bottom:1px solid rgba(17,24,39,.10) !important;
  color:#475467 !important;
}
.roadmap-page th{
  color:#344054 !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}
.roadmap-page tr:last-child td{
  border-bottom:0 !important;
}

/* Reduce validation and SIF sections further */
.roadmap-page .grid-3,
.roadmap-page .grid-2,
.roadmap-page [class*="grid"]{
  gap:20px !important;
  margin-top:18px !important;
}

.roadmap-page .card,
.roadmap-page .dark-card,
.roadmap-page [class*="card"]{
  padding:22px !important;
}

/* SIF-Link block should sit closer and align as approved mockup */
.roadmap-page section:has(img) + section,
.roadmap-page .cta-section{
  padding-top:18px !important;
}

/* CTA text contrast and slimmer height */
.cta-banner h2,
.cta-banner h3,
.cta-banner .cta-title,
.cta-banner [class*="title"],
.cta-banner [style*="color:#111827"],
.cta-banner [style*="color: #111827"],
.cta-banner [style*="color:var(--ink)"]{
  color:#fff !important;
}
.roadmap-page .cta-banner{
  padding:32px 48px !important;
}

/* Keep footer compact with approved product/company grids */
.site-footer .footer-links,
.site-footer .footer-nav,
footer .footer-links,
footer .footer-nav{
  display:grid !important;
  grid-template-columns:auto auto !important;
  gap:12px 36px !important;
}

/* Responsive: stack cleanly */
@media (max-width:900px){
  .roadmap-page .new-page-hero .container{
    display:block !important;
  }
  .roadmap-page .new-page-hero img{
    margin-top:28px !important;
  }
  .roadmap-page section{
    padding-top:22px !important;
    padding-bottom:22px !important;
  }
  .roadmap-page table{
    font-size:12px !important;
  }
  .roadmap-page th,
  .roadmap-page td{
    padding:11px 12px !important;
  }
}


/* ===== v48: Footer redesign — PRODUCT / COMPANY groups + right divider ===== */
footer.site {
  background: var(--page-bg, #F7F8FB) !important;
  border-top: 1px solid var(--border) !important;
  padding: 48px 0 40px !important;
}
.footer-inner {
  display: flex !important;
  align-items: flex-start !important;
  gap: 64px !important;
  flex-wrap: nowrap !important;
}
.footer-brand {
  flex: 0 0 220px !important;
  max-width: 220px !important;
}
.footer-brand .brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  font-size: 15px;
  color: var(--ink);
  text-decoration: none;
  margin-bottom: 12px;
}
.footer-brand p {
  font-size: 13.5px;
  color: var(--body);
  line-height: 1.6;
  margin: 0;
}
.footer-nav-groups {
  display: flex !important;
  gap: 80px !important;
  flex: 1 1 auto !important;
}
.footer-nav-group {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.footer-group-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink);
}
.footer-group-links {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 12px 40px;
  align-items: start;
}
.footer-nav-group:last-child .footer-group-links {
  grid-template-columns: repeat(2, auto);
}
.footer-group-links a {
  font-size: 14px;
  color: var(--body);
  text-decoration: none;
  white-space: nowrap;
}
.footer-group-links a:hover {
  color: var(--blue);
}
.footer-right {
  flex: 0 0 auto !important;
  border-left: 1px solid var(--border) !important;
  padding-left: 40px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 20px !important;
  min-width: 140px !important;
}
.footer-socials {
  display: flex;
  gap: 12px;
}
.footer-socials a {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--ink);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.footer-socials a svg {
  width: 16px;
  height: 16px;
}
.footer-socials a:hover {
  background: var(--blue);
}
.footer-copy {
  font-size: 12px;
  color: var(--body);
  text-align: center;
  line-height: 1.6;
  margin: 0;
}

/* Kill old footer classes that conflict */
.footer-top, .footer-bottom, .footer-links, .footer-col, .socials {
  all: unset !important;
  display: none !important;
}

@media (max-width: 1100px) {
  .footer-inner {
    flex-wrap: wrap !important;
    gap: 40px !important;
  }
  .footer-brand {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .footer-nav-groups {
    gap: 40px !important;
  }
  .footer-right {
    border-left: none !important;
    border-top: 1px solid var(--border) !important;
    padding-left: 0 !important;
    padding-top: 24px !important;
    width: 100% !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
  }
}
@media (max-width: 600px) {
  .footer-nav-groups {
    flex-wrap: wrap !important;
    gap: 32px !important;
  }
  .footer-group-links {
    grid-template-columns: 1fr 1fr !important;
  }
  .footer-nav-group:last-child .footer-group-links {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* ===== v50a: Specs page layout fixes ===== */

/* Hero 2-col layout */
.specs-hero .wrap {
  display: block;
}
.specs-hero-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}
.specs-hero .new-page-hero-copy {
  max-width: 100%;
}
.specs-hero-image img {
  width: 100%;
  border-radius: 14px;
}
.specs-page .specs-hero {
  padding: 76px 0 72px !important;
}

/* Dot array */
.specs-dot-array-wrap {
  background: #fff;
  border: 1px solid rgba(17,24,39,.10);
  border-radius: 14px;
  padding: 24px 20px 20px;
  box-shadow: 0 8px 32px rgba(15,23,42,.06);
}
.specs-dot-array-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
  text-align: center;
  margin-bottom: 12px;
  letter-spacing: -0.01em;
}
.specs-dot-grid-svg-container {
  width: 100%;
  overflow: visible;
}
.specs-dot-array-svg {
  width: 100%;
  height: auto;
  display: block;
}

/* Phase row */
.specs-phase-row {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin-top: 16px;
  flex-wrap: nowrap;
}
.specs-phase-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-width: 0;
}
.specs-phase-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 2px solid;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 6px;
  flex-shrink: 0;
  background: #fff;
}
.specs-phase-name {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}
.specs-phase-desc {
  font-size: 10px;
  color: var(--body);
  line-height: 1.45;
}
.specs-phase-arrow {
  color: #9CA3AF;
  font-size: 16px;
  padding-top: 10px;
  flex-shrink: 0;
}

/* Interconnect boxes */
.specs-interconnect-boxes {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
  flex-wrap: wrap;
}
.specs-ic-box {
  flex: 1;
  min-width: 100px;
  background: rgba(17,24,39,.06);
  border: 1px solid rgba(17,24,39,.12);
  border-radius: 10px;
  padding: 14px 16px;
  text-align: center;
}
.specs-ic-box--blue {
  background: rgba(47,91,255,.08);
  border-color: rgba(47,91,255,.25);
}
.specs-ic-label {
  font-size: 11px;
  color: var(--body);
  margin-bottom: 4px;
}
.specs-ic-value {
  font-size: 15px;
  font-weight: 700;
  color: #2F5BFF;
}
.specs-ic-eq {
  font-size: 20px;
  font-weight: 700;
  color: var(--body);
  flex-shrink: 0;
}

/* Mobile */
@media (max-width: 768px) {
  .specs-hero-inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .specs-hero-image {
    order: -1;
  }
  .specs-page .specs-hero {
    padding: 40px 0 40px !important;
  }
  .specs-phase-row {
    flex-wrap: wrap;
    gap: 12px;
  }
  .specs-phase-arrow {
    display: none;
  }
  .specs-phase-item {
    flex: 0 0 calc(50% - 6px);
  }
  .specs-interconnect-boxes {
    gap: 8px;
  }
  .specs-ic-eq {
    font-size: 16px;
  }
}

/* ===== v50b: Specs additional fixes ===== */

/* Full-width dot array */
.specs-dot-array-fullwidth {
  max-width: 100%;
}

/* Phase row wide variant */
.specs-phase-row--wide {
  max-width: 700px;
  margin: 20px auto 0;
  justify-content: center;
  gap: 8px;
}
.specs-phase-row--wide .specs-phase-item {
  max-width: 130px;
}
.specs-phase-row--wide .specs-phase-desc {
  font-size: 11px;
}

/* Domain 2-col grid */
.specs-domain-grid {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 32px;
  align-items: start;
}
.specs-domain-table {
  min-width: 0;
}
.specs-domain-cards {
  min-width: 0;
}

/* Hide spec-table 3rd column on narrow screens */
@media (max-width: 600px) {
  .specs-page .spec-table td:last-child {
    display: none !important;
  }
  .specs-page .spec-table th:last-child {
    display: none !important;
  }
}

/* Domain grid mobile */
@media (max-width: 900px) {
  .specs-domain-grid {
    grid-template-columns: 1fr;
  }
}

/* Phase row wide mobile */
@media (max-width: 768px) {
  .specs-phase-row--wide {
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-start;
  }
  .specs-phase-row--wide .specs-phase-arrow {
    display: none;
  }
  .specs-phase-row--wide .specs-phase-item {
    flex: 0 0 calc(50% - 6px);
    max-width: none;
  }
}


/* ===== v51 Specs visual correction + approved footer ===== */
.specs-page main{ background:#F7F8FB !important; }
.specs-page .specs-hero{ padding:70px 0 48px !important; }
.specs-page .specs-hero-inner{ grid-template-columns: .9fr 1.1fr !important; gap:64px !important; align-items:center !important; }
.specs-page .specs-hero-image img{ border:0 !important; box-shadow:none !important; background:transparent !important; border-radius:18px !important; }
.specs-page .new-page-hero h1{ color:var(--ink)!important; }
.specs-page .new-page-hero h1 span{ color:var(--blue)!important; }
.specs-page .new-page-hero .lead{ color:var(--body)!important; }

/* Metrics row: tighter and closer to hero */
.specs-page main > section:nth-of-type(2){ padding-top:24px !important; padding-bottom:42px !important; margin:0!important; }
.specs-page main > section:nth-of-type(2) .grid-4{ gap:24px!important; }
.specs-page .stat-card-dark{ min-height:118px!important; padding:22px 26px!important; border-radius:14px!important; }

/* Why This Matters: text + compute fabric diagram in one section */
.specs-page main > section:nth-of-type(3){ padding-top:26px!important; padding-bottom:38px!important; margin:0!important; }
.specs-page main > section:nth-of-type(3) .grid-2{ gap:52px!important; align-items:center!important; }
.specs-page main > section:nth-of-type(3) h2{ color:var(--ink)!important; font-size:clamp(28px,3vw,36px)!important; margin-bottom:18px!important; }
.specs-page main > section:nth-of-type(3) p{ color:var(--body)!important; }
.specs-why-visual .specs-dot-array-wrap{ margin:0!important; }
.specs-page .specs-dot-array-wrap{ border-radius:16px!important; box-shadow:0 18px 50px rgba(15,23,42,.045)!important; border:1px solid rgba(17,24,39,.10)!important; }
.specs-page .specs-dot-array-title{ color:var(--ink)!important; font-size:13px!important; }
.specs-page .specs-phase-row--wide{ max-width:none!important; }
.specs-page .specs-phase-row--wide .specs-phase-item{ max-width:138px!important; }

/* Interconnect + parameters: content-preserving but balanced */
.specs-page main > section:nth-of-type(4){ padding-top:26px!important; padding-bottom:46px!important; margin:0!important; }
.specs-page main > section:nth-of-type(4) .grid-2{ grid-template-columns:.78fr 1.22fr!important; gap:34px!important; align-items:stretch!important; }
.specs-page main > section:nth-of-type(4) .dark-card{ border-radius:16px!important; }
.specs-page .specs-interconnect-boxes{ margin-top:22px!important; display:grid!important; grid-template-columns:1fr auto 1fr auto 1fr!important; gap:10px!important; align-items:center!important; }
.specs-page .specs-ic-box{ min-width:0!important; padding:14px 10px!important; }
.specs-page .specs-ic-label{ font-size:10px!important; }
.specs-page .specs-ic-value{ font-size:13px!important; }
.specs-page .spec-table td{ padding:13px 0!important; font-size:13px!important; line-height:1.35!important; }
.specs-page .spec-table td:first-child{ width:25%!important; }
.specs-page .spec-table td:nth-child(2){ width:26%!important; }
.specs-page .spec-table td:nth-child(3){ width:49%!important; }

/* Four phase and domain spacing */
.specs-page main > section:nth-of-type(5){ padding-top:52px!important; padding-bottom:48px!important; margin:0!important; }
.specs-page main > section:nth-of-type(6){ padding-top:46px!important; padding-bottom:46px!important; margin:0!important; }
.specs-page .section-head{ margin-bottom:24px!important; }
.specs-page .grid-4 .card{ border-radius:14px!important; padding:24px!important; }
.specs-page .specs-domain-grid{ grid-template-columns:1fr 320px!important; gap:32px!important; align-items:start!important; }
.specs-page .specs-domain-cards .card,.specs-page .specs-domain-cards .notice-box{ border-radius:14px!important; }
.specs-page .cta-banner h3{ color:#fff!important; }

/* Approved compact footer: Product = 2 rows x 3 cols, Company = 2 rows x 2 cols */
footer.site{ background:#F7F8FB!important; border-top:1px solid var(--border)!important; padding:42px 0 34px!important; }
/* v51 footer-inner overridden by v53 block below */
/* .footer-inner{ display:grid!important; grid-template-columns:220px 1fr 260px!important; column-gap:72px!important; align-items:start!important; } */
.footer-brand{ max-width:220px!important; }
.footer-nav-groups{ display:grid!important; grid-template-columns:1.15fr .85fr!important; gap:78px!important; align-items:start!important; }
.footer-nav-group{ gap:18px!important; }
.footer-group-links{ display:grid!important; grid-template-columns:repeat(3, minmax(88px,auto))!important; grid-auto-flow:row!important; gap:12px 32px!important; }
.footer-nav-group:last-child .footer-group-links{ grid-template-columns:repeat(2, minmax(86px,auto))!important; gap:12px 34px!important; }
.footer-group-links a{ font-size:13px!important; line-height:1.2!important; }
.footer-right{ border-left:1px solid var(--border)!important; padding-left:38px!important; min-width:0!important; align-items:center!important; gap:18px!important; }
.footer-socials a{ width:38px!important; height:38px!important; }
.footer-copy{ font-size:12px!important; text-align:center!important; }

@media(max-width:1100px){
  .specs-page .specs-hero-inner{ grid-template-columns:1fr!important; gap:28px!important; }
  .specs-page .specs-hero-image{ order:0!important; }
  .specs-page main > section:nth-of-type(3) .grid-2,
  .specs-page main > section:nth-of-type(4) .grid-2{ grid-template-columns:1fr!important; gap:28px!important; }
  .specs-page .specs-interconnect-boxes{ grid-template-columns:1fr!important; }
  .specs-page .specs-ic-eq{ display:none!important; }
  .specs-page .specs-domain-grid{ grid-template-columns:1fr!important; }
  .footer-inner{ grid-template-columns:1fr!important; gap:34px!important; }
  .footer-nav-groups{ grid-template-columns:1fr 1fr!important; gap:42px!important; }
  .footer-right{ border-left:0!important; border-top:1px solid var(--border)!important; padding-left:0!important; padding-top:24px!important; align-items:flex-start!important; }
}
@media(max-width:600px){
  .footer-nav-groups{ grid-template-columns:1fr!important; }
  .footer-group-links,.footer-nav-group:last-child .footer-group-links{ grid-template-columns:repeat(2, minmax(90px,auto))!important; }
}



/* =========================================================
   v53 ALL FIXES PASS — footer, roadmap, landscape, specs
   Scope: visual spacing/layout only. Content/data unchanged.
   ========================================================= */

/* Shared content grid width */
:root{ --sym-v53-max:1180px; }
.wrap,
header.site .wrap,
footer.site .wrap{
  max-width:var(--sym-v53-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
  box-sizing:border-box !important;
}

/* Approved global footer: compact, aligned, same on every page */
footer.site{
  background:#F7F8FB !important;
  border-top:1px solid rgba(17,24,39,.10) !important;
  padding:34px 0 28px !important;
}
footer.site .footer-inner{
  display:grid !important;
  grid-template-columns:200px minmax(0,1fr) 200px !important;
  column-gap:48px !important;
  align-items:start !important;
  width:100% !important;
}
.footer-brand{max-width:220px !important;}
.footer-brand .brand{margin-bottom:10px !important;}
.footer-brand p{font-size:13px !important; line-height:1.55 !important;}
.footer-nav-groups{
  display:grid !important;
  grid-template-columns:minmax(330px,1.15fr) minmax(190px,.85fr) !important;
  gap:48px !important;
  align-items:start !important;
}
.footer-nav-group{display:flex !important; flex-direction:column !important; gap:14px !important;}
.footer-group-label{font-size:10.5px !important; letter-spacing:.11em !important; margin:0 !important;}
.footer-group-links{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(82px,auto)) !important;
  grid-auto-flow:row !important;
  gap:10px 26px !important;
  align-items:start !important;
}
.footer-nav-group:last-child .footer-group-links{
  grid-template-columns:repeat(2, minmax(76px,auto)) !important;
  gap:10px 28px !important;
}
.footer-group-links a{font-size:13px !important; line-height:1.2 !important; white-space:nowrap !important;}
.footer-right{
  border-left:1px solid rgba(17,24,39,.10) !important;
  padding-left:28px !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:14px !important;
}
.footer-socials{display:flex !important; gap:10px !important;}
.footer-socials a{width:36px !important; height:36px !important;}
.footer-copy{font-size:12px !important; line-height:1.55 !important; text-align:center !important; margin:0 !important;}

/* Shared CTA consistency */
.cta-banner{margin-top:0 !important; padding:32px 42px !important;}
.cta-banner h2,.cta-banner h3,.cta-banner .cta-title,.cta-banner [class*="title"]{color:#fff !important;}
section:has(.cta-banner){padding-top:34px !important; padding-bottom:58px !important;}

/* Roadmap: compress lower and upper flow; keep copy/data unchanged */
.roadmap-page .new-page-hero{padding-top:58px !important; padding-bottom:24px !important; min-height:0 !important;}
.roadmap-page .rm-hero-grid,
.roadmap-page .new-page-hero .wrap > div,
.roadmap-page .new-page-hero .container{
  gap:48px !important;
  align-items:center !important;
}
.roadmap-page .new-page-hero img{border-radius:16px !important; box-shadow:0 18px 44px rgba(15,23,42,.035) !important;}
.roadmap-page section{padding-top:28px !important; padding-bottom:28px !important; margin-top:0 !important; margin-bottom:0 !important;}
.roadmap-page h2{margin-top:0 !important; margin-bottom:8px !important;}
.roadmap-page h2 + p{margin-top:0 !important; margin-bottom:16px !important;}
.roadmap-page section:has(table){padding-top:20px !important; padding-bottom:26px !important;}
.roadmap-page table{margin-top:16px !important; margin-bottom:0 !important; font-size:13px !important; line-height:1.35 !important;}
.roadmap-page th,.roadmap-page td{padding:12px 16px !important;}
.roadmap-page .rm-phase-grid,.roadmap-page .grid-3,.roadmap-page .grid-2,.roadmap-page [class*="grid"]{gap:20px !important; margin-top:18px !important;}
.roadmap-page .card,.roadmap-page .dark-card,.roadmap-page [class*="card"]{padding:22px !important;}
.roadmap-page section:has(img[src*="sif-protocol"]){padding-top:26px !important; padding-bottom:24px !important;}
.roadmap-page img[src*="sif-protocol"]{border-radius:16px !important; box-shadow:0 18px 44px rgba(15,23,42,.05) !important; margin-bottom:16px !important; background:#0b1224 !important;}
.roadmap-page section:has(img[src*="sif-protocol"]) > .wrap > div{gap:48px !important; align-items:start !important;}
.roadmap-page section:has(img[src*="sif-protocol"]) + section{padding-top:22px !important;}
.roadmap-page section:has(.cta-banner),
.roadmap-page section[style*="background:var(--bg-dark)"]{padding-top:28px !important; padding-bottom:44px !important;}
.roadmap-page section[style*="background:var(--bg-dark)"] .wrap > div{align-items:center !important;}
.roadmap-page section[style*="background:var(--bg-dark)"] h3{color:#fff !important;}

/* Landscape: compact triangle and CTA */
.landscape-page section{margin-top:0 !important; margin-bottom:0 !important;}
.landscape-page .dark-section:last-of-type,
.landscape-page .impossible-triangle,
.landscape-page .triangle-section{padding-top:24px !important; padding-bottom:24px !important;}
.landscape-page .dark-section:last-of-type .container,
.landscape-page .dark-section:last-of-type .wrap{padding-top:36px !important; padding-bottom:36px !important;}
.landscape-page section:has(.cta-banner){padding-top:28px !important; padding-bottom:54px !important;}

/* Specs: preserve all technical data; tighten and rebalance visuals */
.specs-page .specs-hero{padding-top:58px !important; padding-bottom:24px !important; min-height:0 !important;}
.specs-page .specs-hero-inner{gap:52px !important; align-items:center !important;}
.specs-page .specs-hero-image img{border-radius:16px !important; box-shadow:0 18px 44px rgba(15,23,42,.04) !important;}
.specs-page section{margin-top:0 !important; margin-bottom:0 !important;}
.specs-page .dark-section{padding-top:32px !important; padding-bottom:32px !important;}
.specs-page .dark-section[style*="padding-top:0"]{padding-top:24px !important;}
.specs-page .grid-4{gap:20px !important;}
.specs-page .stat-card-dark{padding:22px 20px !important;}
.specs-page .grid-2{gap:42px !important;}
.specs-page .specs-why-visual{border-radius:16px !important; box-shadow:0 18px 44px rgba(15,23,42,.035) !important;}
.specs-page .section-head{margin-bottom:20px !important;}
.specs-page .card,.specs-page .dark-card,.specs-page .notice-box{padding:22px !important;}
.specs-page .specs-domain-grid{gap:28px !important; align-items:start !important;}
.specs-page section:has(.cta-banner){padding-top:30px !important; padding-bottom:54px !important;}

/* General safety: no overly wide footer on special pages */
.home-page footer.site .wrap,
.architecture-page footer.site .wrap,
.technology-page footer.site .wrap,
.capabilities-page footer.site .wrap,
.company-page footer.site .wrap,
.careers-page footer.site .wrap,
.contact-page footer.site .wrap,
.specs-page footer.site .wrap,
.performance-page footer.site .wrap,
.landscape-page footer.site .wrap,
.roadmap-page footer.site .wrap{
  max-width:var(--sym-v53-max) !important;
  padding-left:24px !important;
  padding-right:24px !important;
}

@media(max-width:1100px){
  .wrap,header.site .wrap,footer.site .wrap{padding-left:20px !important; padding-right:20px !important;}
  footer.site{padding:30px 0 26px !important;}
  footer.site .footer-inner{grid-template-columns:1fr !important; gap:28px !important;}
  .footer-nav-groups{grid-template-columns:1fr 1fr !important; gap:34px !important;}
  .footer-right{border-left:0 !important; border-top:1px solid rgba(17,24,39,.10) !important; padding-left:0 !important; padding-top:22px !important; align-items:flex-start !important; flex-direction:row !important; justify-content:space-between !important;}
  .roadmap-page .new-page-hero,.specs-page .specs-hero{padding-top:46px !important; padding-bottom:22px !important;}
  .roadmap-page section,.specs-page .dark-section{padding-top:24px !important; padding-bottom:24px !important;}
}
@media(max-width:640px){
  .footer-nav-groups{grid-template-columns:1fr !important; gap:28px !important;}
  .footer-group-links,.footer-nav-group:last-child .footer-group-links{grid-template-columns:repeat(2,minmax(86px,auto)) !important;}
  .footer-right{display:block !important;}
  .footer-copy{text-align:left !important; margin-top:12px !important;}
}

/* ===== v55: Four targeted fixes ===== */

/* FIX 1: Specs page - reduce section gaps */
.specs-page .dark-section{padding-top:24px !important; padding-bottom:24px !important;}
.specs-page section[style*="background:#F7F8FB"]{padding-top:32px !important; padding-bottom:32px !important;}
.specs-page section:has(.cta-banner){padding-top:28px !important; padding-bottom:48px !important;}
.specs-page .specs-hero{padding-bottom:16px !important;}

/* FIX 2: Specs domain composition - align cards to top of table */
.specs-domain-grid{align-items:start !important;}
.specs-domain-cards{padding-top:0 !important; margin-top:0 !important;}
.specs-domain-cards .card:first-child{margin-top:0 !important;}

/* FIX 3: Roadmap CTA dark section - restore dark background */
.roadmap-page section[style*="background:var(--bg-dark)"]{
  background:var(--bg-dark) !important;
  color:#fff !important;
}
.roadmap-page section[style*="background:var(--bg-dark)"] h3{color:#fff !important;}
.roadmap-page section[style*="background:var(--bg-dark)"] p{color:var(--body-on-dark) !important;}

/* FIX 4: Careers culture section - fix broken mobile image filename */
.careers-page .life-at-overlay{
  background-image:url('images/desktop/cr-life-fullwidth.png') !important;
  background-position:center right !important;
  background-size:cover !important;
}
@media(max-width:768px){
  .careers-page .life-at-overlay,
  .careers-page .life-at-overlay-inner,
  .careers-page .life-at-overlay-inner::after{
    background-image:url('images/mobile/careers-culture-mobile.png') !important;
  }
}

/* v55b: Roadmap CTA vertical centering */
.roadmap-page section[style*="background:var(--bg-dark)"]{padding-top:48px !important; padding-bottom:48px !important;}

/* v55d: force life-at background image at ALL widths */
.careers-page .life-at-symatics.life-at-overlay{
  background-color:#F7F8FB !important;
  background-image:url('images/desktop/cr-life-fullwidth.png') !important;
  background-position:center right !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
@media(max-width:768px){
  .careers-page .life-at-symatics.life-at-overlay{
    background-image:url('images/mobile/careers-culture-mobile.png') !important;
  }
}

/* ============================================================
   ARCHITECTURE PAGE — v55 REDESIGN OVERRIDES
   ============================================================ */

/* Hero H1 mixed weight */
.arch-hero-h1 {
  font-size: clamp(2.4rem, 5vw, 3.8rem);
  font-weight: 800;
  line-height: 1.1;
  color: #111;
  margin: 0 0 20px;
}

/* Compare section intro */
.arch-compare-intro {
  text-align: center;
  margin-bottom: 40px;
}
.arch-compare-intro h2 {
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 800;
  color: #111;
  margin: 8px 0 0;
}

/* Compare cards wrapper */
.arch-compare-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

/* Individual compare card */
.arch-compare-card-new {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  padding: 20px;
}
.arch-compare-card-new.state-resident {
  border-color: #3B5BDB;
}

.arch-compare-card-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #6b7280;
  margin-bottom: 14px;
}
.arch-compare-card-label.blue {
  color: #3B5BDB;
}

.arch-compare-card-image {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 16px;
}
.arch-compare-card-image img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}
.arch-compare-card-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0,0,0,0.55);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: center;
  padding: 8px 12px;
}
.arch-compare-card-caption.blue {
  background: rgba(59,91,219,0.75);
}

.arch-result-new {
  font-size: 1rem;
  margin: 0 0 8px;
  color: #111;
}
.arch-result-new.blue {
  color: #3B5BDB;
}
.arch-result-sub {
  font-size: 0.9rem;
  line-height: 1.55;
  color: #555;
  margin: 0;
}

/* Principles redesign */
.arch-principles-h2 {
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 800;
  color: #111;
  margin: 8px 0 36px;
}

.arch-principles-grid-new {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px 48px;
}
.arch-principles-grid-new article {
  border: none;
  padding: 0;
  background: none;
}
.arch-principles-grid-new .arch-principle-title {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 10px;
}
.arch-principles-grid-new .arch-principle-title span {
  font-size: 2rem;
  font-weight: 800;
  color: #3B5BDB;
  line-height: 1;
}
.arch-principles-grid-new .arch-principle-title h3 {
  font-size: 1rem;
  font-weight: 700;
  color: #111;
  margin: 0;
}
.arch-principles-grid-new article p {
  font-size: 0.9rem;
  line-height: 1.6;
  color: #555;
  margin: 0;
}

/* Vision layout with image on right */
.arch-vision-card {
  display: flex;
  align-items: flex-start;
  gap: 48px;
}
.arch-vision-left {
  flex: 1;
}
.arch-vision-left .eyebrow {
  margin-bottom: 12px;
}
.arch-vision-left h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  color: #111;
  margin: 0 0 16px;
}
.arch-vision-left p {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #555;
  margin: 0;
}
.arch-vision-card > img {
  width: 280px;
  height: 220px;
  object-fit: cover;
  border-radius: 10px;
  flex-shrink: 0;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .arch-compare-cards {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .arch-principles-grid-new {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .arch-vision-card {
    flex-direction: column;
    gap: 24px;
  }
  .arch-vision-card > img {
    width: 100%;
    height: 200px;
  }
  .arch-compare-card-image img {
    height: 180px;
  }
}

/* ============================================================
   TECHNOLOGY PAGE — v55 HERO REDESIGN
   ============================================================ */

.tech-hero-split {
  padding: 0;
  background: #fff;
  overflow: hidden;
}
.tech-hero-split-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  min-height: 420px;
}
.tech-hero-split-copy {
  /* Mirror the .wrap side padding so copy aligns with page content */
  padding: 72px max(40px, calc((100vw - 1200px) / 2 + 40px)) 60px max(40px, calc((100vw - 1200px) / 2 + 40px));
  padding-right: 48px;
}
.tech-hero-split-copy .eyebrow {
  margin-bottom: 16px;
}
.tech-hero-h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1.1;
  color: #111;
  margin: 0 0 20px;
}
.tech-hero-split-copy .lead {
  font-size: 1rem;
  line-height: 1.65;
  color: #555;
  max-width: 420px;
  margin: 0;
}
.tech-hero-split-image {
  overflow: hidden;
  position: relative;
}
.tech-hero-split-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: left center;
}

@media (max-width: 900px) {
  .tech-hero-split-inner {
    grid-template-columns: 1fr;
    min-height: unset;
  }
  .tech-hero-split-copy {
    padding: 48px 24px 32px;
  }
  .tech-hero-split-copy .lead {
    max-width: none;
  }
  .tech-hero-split-image {
    height: 260px;
  }
  .tech-hero-split-image img {
    object-position: center center;
  }
}

/* ============================================================
   TECHNOLOGY PAGE — v57 HERO IMAGE + COPY SWAP
   ============================================================ */
.technology-page .tech-execution-hero {
  background-image: url('images/desktop/t-hero-clean-textfree.png') !important;
  background-color: #F6F9FF !important;
}
/* New mixed-case H1 style — override letter-spacing and line-height from old all-caps rule */
.technology-page .tech-execution-copy h1,
.technology-page .tech-execution-copy .tech-hero-h1 {
  font-size: clamp(32px, 3.8vw, 52px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  font-weight: 800 !important;
}
/* Hide the old divider line — not in new design */
.technology-page .tech-title-line {
  display: none !important;
}

/* SPECS PAGE — domain topology tags */
.spec-tag {
  font-size: 12px;
  color: #555;
  background: #e7e7e7;
  padding: 4px 10px;
  border-radius: 6px;
  display: inline-block;
}

/* COMPANY PAGE — v62 restructure */
.company-pillars-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding: 48px 0;
}
.company-pillars-row .card {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.company-pillar-icon {
  font-size: 22px;
  color: var(--blue);
  display: block;
  margin-bottom: 4px;
}
@media (max-width: 768px) {
  .company-pillars-row { grid-template-columns: 1fr; }
}

/* COMPANY PAGE — v63c transition band left-align fix */
.company-transition-band,
.company-transition-band h3,
.company-transition-band p,
.company-transition-band h4 {
  text-align: left !important;
}

/* CAREERS — 4-column culture grid */
.culture-principles-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  padding: 40px 0;
}
.culture-principles-4 > div {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.culture-principles-4 strong {
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
}
.culture-principles-4 span {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.55;
}
@media (max-width: 900px) {
  .culture-principles-4 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .culture-principles-4 { grid-template-columns: 1fr; }
}

/* ============================================================
   FOOTER ALIGNMENT FIX — all pages
   ============================================================ */
footer.site .footer-inner {
  align-items: flex-start !important;
}
/* Ensure brand column top-aligns with nav group labels */
footer.site .footer-brand {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
/* Ensure all nav group links align consistently */
footer.site .footer-group-links {
  align-items: start !important;
}
footer.site .footer-group-links a {
  line-height: 1.4 !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Consistent gap between label and links */
footer.site .footer-nav-group {
  gap: 16px !important;
}

/* ============================================================
   FOOTER BRAND ALIGNMENT — logo row aligns with column labels,
   description aligns with first link row
   ============================================================ */
footer.site .footer-brand {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
footer.site .footer-brand .brand {
  /* same height as .footer-group-label so description lines up with first link */
  min-height: 27px !important;
  display: inline-flex !important;
  align-items: center !important;
  margin-bottom: 16px !important;
}
footer.site .footer-brand p {
  margin: 0 !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  color: var(--body) !important;
}

/* ============================================================
   FOOTER BRAND v2 — force brand to start at same top as
   PRODUCT/COMPANY labels by removing any top offset
   ============================================================ */
footer.site .footer-inner {
  align-items: flex-start !important;
  padding-top: 0 !important;
}
footer.site .footer-brand {
  padding-top: 0 !important;
  margin-top: 0 !important;
  align-self: flex-start !important;
}
footer.site .footer-brand .brand {
  margin-top: 0 !important;
  padding-top: 0 !important;
  /* Match the label's line-height and font metrics so logo row = label row */
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  min-height: 0 !important;
  margin-bottom: 14px !important;
}
footer.site .footer-nav-group {
  align-self: flex-start !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ============================================================
   FOOTER FINAL ALIGNMENT FIX
   Insert a pseudo-label above brand description so:
   - SYMATICS logo = PRODUCT / COMPANY label row
   - description paragraph = Architecture / Company link row
   ============================================================ */
footer.site .footer-brand::before {
  content: '\00a0';
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  /* Match exact height of .footer-group-label */
  height: 14px;
  margin-bottom: 16px;
  visibility: hidden;
}
footer.site .footer-brand .brand {
  margin-top: -30px !important;
  margin-bottom: 14px !important;
}

/* CONTACT PAGE — email links pinned to bottom of cards */
.contact-routes-section .grid-4 .card {
  display: flex !important;
  flex-direction: column !important;
}
.contact-routes-section .grid-4 .card p {
  flex: 1 !important;
}
.contact-routes-section .grid-4 .card a[href^="mailto"] {
  margin-top: auto !important;
}

/* ============================================================
   BATCH FIX — v67
   ============================================================ */

/* COMPANY: force positioning cards to use full wrap width */
.company-positioning-section .wrap {
  padding-left: var(--wrap-pad, 40px) !important;
  padding-right: var(--wrap-pad, 40px) !important;
}
.company-positioning-section .company-pillars-row {
  width: 100% !important;
  padding: 0 !important;
  margin: 40px 0 !important;
}

/* SPECS: reduce section-to-section gap */
.specs-page section {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}
.specs-page section + section {
  border-top: 1px solid var(--border);
}

/* SPECS: domain composition — right cards top-aligned */
.specs-domain-grid {
  align-items: start !important;
}
.specs-domain-cards {
  padding-top: 0 !important;
  margin-top: 0 !important;
  align-self: start !important;
}

/* SPECS: SuperPod stats — light card style */
.stat-card-light {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 24px 20px;
  text-align: center;
}
.stat-value-blue {
  font-size: clamp(26px, 2.8vw, 36px);
  font-weight: 800;
  color: #3B5BDB;
  margin-bottom: 6px;
  line-height: 1;
}
.stat-label-dark {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 4px;
}
.stat-sub-dark {
  font-size: 13px;
  color: var(--muted);
}

/* SPECS domain composition — hard align-self fix */
.specs-domain-grid > .specs-domain-table,
.specs-domain-grid > .specs-domain-cards {
  align-self: start !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.specs-domain-cards > .card:first-child,
.specs-domain-cards > .notice-box:first-child {
  margin-top: 0 !important;
  padding-top: 16px !important;
}
/* Remove any implicit top spacing on the roles-table thead */
.roles-table thead tr:first-child th {
  padding-top: 0 !important;
}

/* ============================================================
   v65 FINAL FOOTER CORRECTION — right block + divider + baseline
   Apply globally. Keep Product/Company columns unchanged.
   ============================================================ */
@media (min-width: 1101px) {
  footer.site .footer-inner {
    grid-template-columns: 220px minmax(0, 1fr) 360px !important;
    column-gap: 58px !important;
    align-items: start !important;
  }

  footer.site .footer-brand {
    margin-top: -4px !important;
    transform: translateY(-4px) !important;
  }
  footer.site .footer-brand .brand {
    margin-bottom: 12px !important;
  }
  footer.site .footer-brand p {
    max-width: 190px !important;
    line-height: 1.42 !important;
    margin: 0 !important;
  }

  /* keep the right column at the footer edge; do not disturb Product/Company */
  footer.site .footer-right {
    position: relative !important;
    width: 360px !important;
    min-width: 360px !important;
    justify-self: end !important;
    transform: none !important;
    border-left: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    overflow: visible !important;
  }

  /* divider moves closer to social/copyright, but stays part of right area */
  footer.site .footer-right::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    right: 176px !important;
    width: 1px !important;
    background: rgba(17,24,39,.12) !important;
  }

  footer.site .footer-socials,
  footer.site .footer-copy {
    transform: none !important;
  }

  footer.site .footer-socials {
    align-self: flex-end !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
  }

  footer.site .footer-copy {
    align-self: flex-end !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: right !important;
    white-space: nowrap !important;
    line-height: 1.48 !important;
  }
}

@media (max-width: 1100px) {
  footer.site .footer-right::before {
    content: none !important;
  }
}

/* ============================================================
   FOOTER BRAND — align top of logo with PRODUCT/COMPANY labels
   ============================================================ */
footer.site .footer-inner {
  align-items: start !important;
}
footer.site .footer-brand {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
footer.site .footer-brand::before {
  display: none !important;
}
footer.site .footer-brand .brand {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
  transform: none !important;
  min-height: 0 !important;
}

/* ============================================================
   FOOTER RIGHT COLUMN — align top with PRODUCT/COMPANY labels
   ============================================================ */
footer.site .footer-right {
  align-self: start !important;
  justify-content: flex-start !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  gap: 8px !important;
}
footer.site .footer-socials {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ============================================================
   FINAL FIXES — v68
   ============================================================ */

/* Company 3 cards — force full wrap alignment */
.company-page .company-positioning-section > .wrap > .company-pillars-row {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
.company-page .company-positioning-section > .wrap {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

/* Specs domain composition — right cards hard top-align */
.specs-domain-grid {
  align-items: start !important;
}
.specs-domain-cards {
  align-self: start !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* FOOTER RIGHT — right-align on all screen sizes including mobile */
footer.site .footer-right {
  align-items: flex-end !important;
  text-align: right !important;
}
footer.site .footer-socials {
  justify-content: flex-end !important;
}
footer.site .footer-copy {
  text-align: right !important;
}

/* FOOTER RIGHT — override all centering, force right-align globally */
footer.site .footer-right {
  align-items: flex-end !important;
}
footer.site .footer-socials {
  width: 100% !important;
  display: flex !important;
  justify-content: flex-end !important;
}
footer.site .footer-copy {
  text-align: right !important;
  width: 100% !important;
}
@media (max-width: 768px) {
  footer.site .footer-right {
    align-items: flex-end !important;
    width: 100% !important;
  }
  footer.site .footer-copy {
    text-align: right !important;
  }
  footer.site .footer-socials {
    justify-content: flex-end !important;
  }
}

/* ── text-blue utility ── */
.text-blue { color: var(--blue, #2563eb); }

/* ── Hero: wrap flex column so metrics sit at bottom ── */
.home-page .hero-overlay-wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: inherit;
}

/* ── Hero headline — tighter to match reference ── */
.home-page .hero-overlay h1 {
  font-size: clamp(38px, 3.8vw, 54px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.035em !important;
  max-width: 440px !important;
  margin-bottom: 18px !important;
}

/* ── Lead — bold weight per reference ── */
.home-page .hero-overlay p.lead {
  font-weight: 700 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  margin-bottom: 12px !important;
  max-width: 380px !important;
}

/* ── Hero body copy ── */
.home-page .hero-overlay p.hero-body {
  font-size: 15px;
  line-height: 1.65;
  color: #555;
  margin-top: 0;
  margin-bottom: 22px;
  max-width: 370px;
}

/* ── Hero actions tighter ── */
.home-page .hero-actions {
  gap: 16px !important;
  margin-bottom: 0;
}

/* ── Metrics row — inside hero, bottom of wrap ── */
.home-page .hero-metrics-row {
  border-top: 1px solid rgba(0,0,0,0.1);
  padding: 20px 0 4px;
  margin-top: 36px;
}
.hero-metrics-inner {
  display: flex;
  align-items: center;
}
.hero-metric {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding-right: 40px;
}
.hero-metric-number {
  font-size: clamp(26px, 2.6vw, 36px);
  font-weight: 300;
  letter-spacing: -0.02em;
  color: #0d0d0d;
  line-height: 1;
}
.hero-metric-label {
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #999;
  text-transform: uppercase;
}
.hero-metric-divider {
  width: 1px;
  height: 38px;
  background: rgba(0,0,0,0.14);
  margin-right: 40px;
  flex-shrink: 0;
}

/* ── Secondary CTA outline button ── */
.home-page .hero-overlay .btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border: 1.5px solid rgba(0,0,0,0.22);
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #0d0d0d;
  text-decoration: none;
  background: transparent;
  transition: border-color 0.2s, background 0.2s, color 0.2s;
}
.home-page .hero-overlay .btn-outline:hover {
  border-color: #0d0d0d;
  background: #0d0d0d;
  color: #fff;
}

/* ── Mobile adjustments ── */
@media (max-width: 768px) {
  .home-page .hero-overlay h1 {
    font-size: clamp(34px, 8.5vw, 46px) !important;
  }
  .home-page .hero-overlay p.hero-body {
    font-size: 14px;
    max-width: 100%;
  }
  .hero-metric {
    padding-right: 20px;
  }
  .hero-metric-divider {
    margin-right: 20px;
  }
  .hero-metric-number {
    font-size: clamp(20px, 5.5vw, 28px);
  }
}

/* ── Company people grid — mobile fix ── */
@media (max-width: 768px) {
  .company-page .company-people-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
  .company-people-grid article {
    padding: 0;
    word-break: break-word;
    overflow-wrap: break-word;
  }
  .company-people-grid h4 {
    font-size: 14px !important;
    margin: 14px 14px 6px !important;
  }
  .company-people-grid p {
    font-size: 13px !important;
    line-height: 1.5 !important;
    margin: 0 14px 16px !important;
  }
}

/* ── Company people grid — 2x2 inside split column ── */
.company-people-block .company-people-grid {
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
}
.company-people-block .company-people-grid article {
  min-width: 0;
}
.company-people-block .company-people-grid h4 {
  font-size: 15px !important;
  margin: 16px 16px 6px !important;
}
.company-people-block .company-people-grid p {
  font-size: 14px !important;
  margin: 0 16px 18px !important;
}

/* Specs SuperPod visual */
.specs-page .superpod-visual{
  margin:0 0 40px;
  width:100%;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.10);
  background:#EEF1F6;
  box-shadow:0 24px 60px rgba(15,23,42,.10);
}
.specs-page .superpod-visual img{
  display:block;
  width:100%;
  height:auto;
}
@media (max-width: 720px){
  .specs-page .superpod-visual{
    margin-bottom:28px;
    border-radius:12px;
  }
  .specs-page .superpod-visual img{
    min-height:220px;
    object-fit:cover;
    object-position:center;
  }
}

/* ── Fix: footer social icons left-align on mobile ── */
@media (max-width: 768px) {
  footer.site .footer-socials {
    justify-content: flex-start !important;
  }
  footer.site .footer-right {
    align-items: flex-start !important;
  }
  footer.site .footer-copy {
    text-align: left !important;
  }
}


/* ============================================================
   MOBILE FIXES — v70 batch
   All rules scoped to max-width:768px. Desktop untouched.
   ============================================================ */

/* FIX 1: Footer social icons — left-align on mobile */
@media (max-width: 768px) {
  footer.site .footer-socials {
    justify-content: flex-start !important;
  }
  footer.site .footer-right {
    align-items: flex-start !important;
  }
  footer.site .footer-copy {
    text-align: left !important;
  }
}

/* FIX 2: Specs — roles-table column alignment */
@media (max-width: 768px) {
  .roles-table thead th,
  .roles-table tbody td {
    white-space: normal !important;
    word-break: break-word !important;
  }
  .roles-table .role-title {
    font-size: 13px !important;
  }
  .roles-table .role-mission {
    font-size: 13px !important;
  }
}

/* FIX 3: Performance hero — stack image below text */
@media (max-width: 768px) {
  .performance-page section > .wrap > div[style*="grid-template-columns:2fr 3fr"],
  .performance-page section > .wrap > div[style*="grid-template-columns: 2fr 3fr"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
  }
}

/* FIX 4 & 7: Landscape + Roadmap hero — stack image below text */
@media (max-width: 768px) {
  .landscape-page section > .wrap > div[style*="grid-template-columns:2fr 3fr"],
  .landscape-page section > .wrap > div[style*="grid-template-columns: 2fr 3fr"],
  .roadmap-page section > .wrap > div[style*="grid-template-columns:1fr 1fr"],
  .roadmap-page section > .wrap > div[style*="grid-template-columns: 1fr 1fr"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
  }
}

/* FIX 5: Landscape competitor cards — single column */
@media (max-width: 768px) {
  .landscape-page section > .wrap > div[style*="grid-template-columns:repeat(4,1fr)"],
  .landscape-page section > .wrap > div[style*="grid-template-columns: repeat(4, 1fr)"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
}

/* FIX 6: Landscape full spec matrix — horizontal scroll */
@media (max-width: 768px) {
  .landscape-page .spec-matrix-wrap,
  .landscape-page table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

/* FIX 8: Landscape "Not a general-purpose switch" — stack */
@media (max-width: 768px) {
  .landscape-page section > .wrap > div[style*="grid-template-columns:1fr 1fr"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
  }
  .landscape-page section > .wrap > div[style*="grid-template-columns:1fr 1fr"] > div[style*="grid-template-columns:repeat(3,1fr)"],
  .landscape-page section > .wrap > div[style*="grid-template-columns:1fr 1fr"] > div[style*="grid-template-columns: repeat(3,1fr)"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
}

/* FIX 9: Landscape impossible triangle — stack card and text */
@media (max-width: 768px) {
  .landscape-page div[style*="border-radius:20px"][style*="grid-template-columns:1fr 1fr"],
  .landscape-page div[style*="border-radius: 20px"][style*="grid-template-columns: 1fr 1fr"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
  }
}

/* FIX 10: Landscape CTA buttons — center on mobile */
@media (max-width: 768px) {
  .landscape-page section[style*="background:var(--bg-dark)"] .wrap > div,
  .landscape-page section[style*="background: var(--bg-dark)"] .wrap > div {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
  .landscape-page section[style*="background:var(--bg-dark)"] .wrap > div > div,
  .landscape-page section[style*="background: var(--bg-dark)"] .wrap > div > div {
    justify-content: center !important;
    width: 100% !important;
  }
  .landscape-page section[style*="background:var(--bg-dark)"] .btn,
  .landscape-page section[style*="background: var(--bg-dark)"] .btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
}

/* FIX 11: Roadmap Gen1 vs Gen2 table — horizontal scroll */
@media (max-width: 768px) {
  .roadmap-page section > .wrap > div[style*="grid-template-columns:260px 1fr"],
  .roadmap-page section > .wrap > div[style*="grid-template-columns: 260px 1fr"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
  }
  .roadmap-page table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100% !important;
  }
}

/* FIX 12: Roadmap validation phases — single column */
@media (max-width: 768px) {
  .roadmap-page section > .wrap > div[style*="grid-template-columns:repeat(3,1fr)"],
  .roadmap-page section > .wrap > div[style*="grid-template-columns: repeat(3, 1fr)"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }
}

/* FIX 13: Company "from compute-first" — stack cards below text */
@media (max-width: 768px) {
  .company-transition-band {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
    padding: 32px 24px !important;
  }
}

/* FIX 2b: Specs roles-table — fix column alignment on mobile */
@media (max-width: 768px) {
  .roles-table {
    table-layout: fixed !important;
    width: 100% !important;
  }
  .roles-table thead th:nth-child(1),
  .roles-table tbody td:nth-child(1) {
    width: 42% !important;
  }
  .roles-table thead th:nth-child(2),
  .roles-table tbody td:nth-child(2) {
    width: 18% !important;
    white-space: nowrap !important;
  }
  .roles-table thead th:nth-child(3),
  .roles-table tbody td:nth-child(3) {
    width: 40% !important;
  }
  .roles-table thead th,
  .roles-table tbody td {
    vertical-align: top !important;
    padding: 14px 8px 14px 0 !important;
    font-size: 13px !important;
  }
}


/* ============================================================
   MOBILE FIXES — v70b batch
   All rules scoped to max-width:768px. Desktop untouched.
   ============================================================ */

/* FIX 1: Footer — social icons and copyright below divider line, left-aligned */
@media (max-width: 768px) {
  footer.site .footer-right {
    border-left: none !important;
    border-top: 1px solid var(--border) !important;
    padding-left: 0 !important;
    padding-top: 24px !important;
    width: 100% !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 16px !important;
  }
  footer.site .footer-socials {
    justify-content: flex-start !important;
    width: auto !important;
  }
  footer.site .footer-copy {
    text-align: left !important;
    width: auto !important;
  }
}

/* FIX 2: Specs roles-table — fixed column widths so QTY stays in its own column */
@media (max-width: 768px) {
  .roles-table {
    table-layout: fixed !important;
    width: 100% !important;
  }
  .roles-table thead th:nth-child(1),
  .roles-table tbody td:nth-child(1) {
    width: 44% !important;
  }
  .roles-table thead th:nth-child(2),
  .roles-table tbody td:nth-child(2) {
    width: 18% !important;
    white-space: nowrap !important;
  }
  .roles-table thead th:nth-child(3),
  .roles-table tbody td:nth-child(3) {
    width: 38% !important;
  }
  .roles-table thead th,
  .roles-table tbody td {
    font-size: 12.5px !important;
    padding: 12px 6px 12px 0 !important;
    vertical-align: top !important;
  }
  .roles-table .role-title {
    font-size: 12.5px !important;
    font-weight: 700 !important;
  }
}

/* FIX 3: Company "From compute-first" cards — full width, no indent */
@media (max-width: 768px) {
  .company-transition-band {
    display: flex !important;
    flex-direction: column !important;
    padding: 28px 20px !important;
    gap: 24px !important;
  }
  .company-transition-band > div:last-child {
    width: 100% !important;
    padding: 0 !important;
  }
  .company-transition-band > div:last-child > div {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* FIX 4: Specs spec-table — reduce row padding on mobile */
@media (max-width: 768px) {
  .specs-page .spec-table td {
    display: block !important;
    width: auto !important;
    padding: 4px 0 !important;
  }
  .specs-page .spec-table tr {
    display: block !important;
    padding: 10px 0 !important;
  }
}


/* ============================================================
   MOBILE FIXES — v70c batch
   All rules scoped to max-width:768px. Desktop untouched.
   ============================================================ */

/* FIX 1: Specs phase icons — center text and icon on mobile */
@media (max-width: 768px) {
  .specs-phase-row--wide .specs-phase-item {
    text-align: center !important;
    align-items: center !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .specs-phase-row--wide {
    justify-content: center !important;
  }
}

/* FIX 2: Specs CTA — center heading on mobile */
@media (max-width: 768px) {
  .specs-page .cta-banner {
    align-items: center !important;
    text-align: center !important;
  }
  .specs-page .cta-banner h3 {
    text-align: center !important;
    width: 100% !important;
  }
  .specs-page .cta-banner-actions {
    justify-content: center !important;
    width: 100% !important;
  }
}

/* FIX 3: Performance CTA — center heading and buttons on mobile */
@media (max-width: 768px) {
  .performance-page .cta-banner {
    align-items: center !important;
    text-align: center !important;
  }
  .performance-page .cta-banner h3 {
    text-align: center !important;
    width: 100% !important;
  }
  .performance-page .cta-banner-actions {
    justify-content: center !important;
    width: 100% !important;
  }
  .performance-page .cta-banner .btn {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* FIX 4: Company "From compute-first" — full width cards, no indent */
@media (max-width: 768px) {
  .company-transition-band {
    display: flex !important;
    flex-direction: column !important;
    padding: 28px 20px !important;
    gap: 20px !important;
    box-sizing: border-box !important;
  }
  .company-transition-band > div {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .company-transition-band > div:last-child > div {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
  }
}

/* FIX 5: Careers open roles table — fix column widths to prevent letter-break */
@media (max-width: 768px) {
  .careers-page .roles-table-card {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .careers-page .roles-table {
    table-layout: fixed !important;
    width: 100% !important;
    min-width: 480px !important;
  }
  .careers-page .roles-table thead th:nth-child(1),
  .careers-page .roles-table tbody td:nth-child(1) {
    width: 40% !important;
    white-space: normal !important;
    word-break: normal !important;
  }
  .careers-page .roles-table thead th:nth-child(2),
  .careers-page .roles-table tbody td:nth-child(2) {
    width: 60% !important;
  }
  .careers-page .roles-table .role-title {
    font-size: 13px !important;
    white-space: normal !important;
    word-break: normal !important;
  }
}

/* FIX 6: Contact hero — add gap between body text and image */
@media (max-width: 768px) {
  .contact-page .hero-bleed-text-col {
    margin-bottom: 24px !important;
  }
  .contact-page .hero-bleed-text-col .lead {
    margin-bottom: 0 !important;
  }
}


/* ============================================================
   MOBILE FIXES — v70d batch
   ============================================================ */

/* FIX: Company transition band — reduce padding and font size on mobile */
@media (max-width: 768px) {
  .company-transition-band {
    padding: 24px 16px !important;
    border-radius: 12px !important;
  }
  .company-transition-band h3 {
    font-size: 20px !important;
    line-height: 1.2 !important;
  }
  .company-transition-band p {
    font-size: 13.5px !important;
  }
}


/* ============================================================
   MOBILE FIXES — v70e: Company band text overflow fix
   ============================================================ */
@media (max-width: 768px) {
  .company-transition-band {
    padding: 20px 16px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }
  .company-transition-band > div:first-child {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  .company-transition-band h3 {
    font-size: clamp(16px, 5vw, 20px) !important;
    line-height: 1.2 !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
  }
  .company-transition-band p {
    font-size: 13px !important;
    line-height: 1.6 !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }
  .company-transition-band .eyebrow {
    font-size: 10px !important;
  }
}


/* ============================================================
   MOBILE FIXES — v70g: Company band — move layout to CSS
   ============================================================ */

/* Desktop: restore the original 2-column grid */
.company-transition-band {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 40px !important;
  align-items: center !important;
  padding: 48px !important;
}

/* Mobile: stack, shrink padding, shrink font */
@media (max-width: 768px) {
  .company-transition-band {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    padding: 24px 20px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  .company-transition-band > div {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .company-transition-band h3 {
    font-size: 18px !important;
    line-height: 1.25 !important;
  }
  .company-transition-band p {
    font-size: 13px !important;
  }
  .company-transition-band .eyebrow {
    font-size: 10px !important;
  }
}


/* ============================================================
   MOBILE FIXES — v70h: Company band — fix overflow with margin
   ============================================================ */
@media (max-width: 768px) {
  .company-page .company-credibility-section .wrap {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .company-transition-band {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    padding: 24px 20px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    overflow: hidden !important;
  }
  .company-transition-band > div {
    width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
  }
}

/* ============================================================
   MOBILE FIXES — v70j: hero crop + readable mobile tables
   Desktop untouched: all changes scoped to <=768px.
   ============================================================ */
@media (max-width: 768px) {
  /* Home hero: remove excessive empty image space above text */
  .home-page .hero-overlay {
    min-height: 760px !important;
    padding-top: 0 !important;
    align-items: flex-start !important;
    overflow: hidden !important;
  }
  .home-page .hero-overlay-img {
    object-fit: cover !important;
    object-position: 70% 28% !important;
    transform: scale(1.04) !important;
  }
  .home-page .hero-overlay .wrap,
  .home-page .hero-overlay-wrap {
    min-height: 760px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
  }
  .home-page .hero-overlay-text {
    margin-top: 0 !important;
    padding-top: 76px !important;
    max-width: 360px !important;
  }
  .home-page .hero-metrics-row {
    margin-top: auto !important;
    padding-bottom: 34px !important;
  }

  /* Company transition / state-resident band: text column breathing room */
  .company-page .company-credibility-section .wrap,
  .company-page .company-credibility-approved .wrap {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .company-page .company-transition-band {
    padding-left: 28px !important;
    padding-right: 28px !important;
    overflow: hidden !important;
  }
  .company-page .company-transition-band h3 {
    max-width: 100% !important;
    font-size: clamp(30px, 7.6vw, 36px) !important;
    line-height: 1.08 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  .company-page .company-transition-band p {
    max-width: 100% !important;
    line-height: 1.65 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  /* Landscape specification matrix: keep table readable with horizontal scroll */
  .landscape-page .wrap > div[style*="overflow-x:auto"] {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    max-width: 100% !important;
  }
  .landscape-page .wrap > div[style*="overflow-x:auto"] table {
    width: auto !important;
    min-width: 920px !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
  }
  .landscape-page .wrap > div[style*="overflow-x:auto"] th,
  .landscape-page .wrap > div[style*="overflow-x:auto"] td {
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
  .landscape-page .wrap > div[style*="overflow-x:auto"] th:first-child,
  .landscape-page .wrap > div[style*="overflow-x:auto"] td:first-child {
    width: 160px !important;
  }
  .landscape-page .wrap > div[style*="overflow-x:auto"] th:not(:first-child),
  .landscape-page .wrap > div[style*="overflow-x:auto"] td:not(:first-child) {
    width: 152px !important;
  }

  /* Careers open roles: convert desktop table into readable stacked mobile cards */
  .careers-page .roles-table-card {
    overflow: visible !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .careers-page .roles-table,
  .careers-page .roles-table tbody,
  .careers-page .roles-table tr,
  .careers-page .roles-table td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .careers-page .roles-table thead {
    display: none !important;
  }
  .careers-page .roles-table tr {
    background: #fff !important;
    border: 1px solid var(--border) !important;
    border-radius: 16px !important;
    padding: 22px !important;
    margin-bottom: 14px !important;
  }
  .careers-page .roles-table tbody td {
    border: 0 !important;
    padding: 0 !important;
  }
  .careers-page .roles-table tbody td + td {
    margin-top: 12px !important;
  }
  .careers-page .roles-table .role-title {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    color: var(--ink) !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
  .careers-page .roles-table .role-title svg {
    flex: 0 0 18px !important;
    margin-top: 4px !important;
  }
  .careers-page .roles-table .role-mission {
    font-size: 16px !important;
    line-height: 1.55 !important;
    color: var(--body) !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
  .careers-page .roles-table .role-arrow {
    display: none !important;
  }
}


/* ============================================================
   MOBILE FIXES — v70k: metrics nowrap + careers card polish
   Desktop untouched: scoped to <=768px.
   ============================================================ */
.roles-mobile-list { display: none; }

@media (max-width: 768px) {
  .home-page .hero-metric-number {
    white-space: nowrap !important;
  }

  .careers-page .roles-table-card {
    display: none !important;
  }
  .careers-page .roles-mobile-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  .careers-page .role-mobile-card {
    background: #fff !important;
    border: 1px solid var(--border) !important;
    border-radius: 18px !important;
    padding: 28px 26px !important;
    box-shadow: none !important;
  }
  .careers-page .role-mobile-head {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    align-items: start !important;
    margin: 0 0 16px !important;
  }
  .careers-page .role-mobile-icon {
    color: var(--blue) !important;
    font-size: 20px !important;
    line-height: 1.15 !important;
    text-align: center !important;
    padding-top: 3px !important;
  }
  .careers-page .role-mobile-card h3 {
    margin: 0 !important;
    max-width: 100% !important;
    color: var(--ink) !important;
    font-size: 24px !important;
    line-height: 1.12 !important;
    letter-spacing: -0.035em !important;
    font-weight: 800 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    background: transparent !important;
  }
  .careers-page .role-mobile-card p {
    margin: 0 !important;
    max-width: 100% !important;
    padding-left: 42px !important;
    color: var(--body) !important;
    font-size: 20px !important;
    line-height: 1.45 !important;
    letter-spacing: -0.02em !important;
    background: transparent !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

@media (max-width: 390px) {
  .careers-page .role-mobile-card {
    padding: 26px 22px !important;
  }
  .careers-page .role-mobile-card h3 {
    font-size: 22px !important;
  }
  .careers-page .role-mobile-card p {
    font-size: 18px !important;
    padding-left: 40px !important;
  }
}

/* ============================================================
   v70l FIX — restore Careers Open Roles + mobile spacing polish
   Desktop untouched: mobile-only overrides.
   ============================================================ */
@media (max-width: 768px) {
  .careers-page #open-roles.tight {
    padding-top: 30px !important;
    padding-bottom: 36px !important;
  }

  .careers-page .open-roles-wrap {
    padding-top: 0 !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .careers-page .open-roles-intro {
    margin-bottom: 18px !important;
  }

  .careers-page .roles-mobile-list {
    display: none !important;
  }

  .careers-page .roles-table-card {
    display: block !important;
    overflow: visible !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .careers-page .roles-table {
    display: block !important;
    width: 100% !important;
    border-collapse: separate !important;
  }

  .careers-page .roles-table thead {
    display: none !important;
  }

  .careers-page .roles-table tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
  }

  .careers-page .roles-table tr {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 24px 24px 26px !important;
    border: 1px solid var(--border) !important;
    border-radius: 18px !important;
    background: #fff !important;
  }

  .careers-page .roles-table td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .careers-page .roles-table tbody td + td {
    margin-top: 10px !important;
  }

  .careers-page .roles-table .role-title {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    column-gap: 12px !important;
    align-items: start !important;
    font-size: 23px !important;
    line-height: 1.13 !important;
    letter-spacing: -0.035em !important;
    font-weight: 800 !important;
    color: var(--ink) !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    background: transparent !important;
  }

  .careers-page .roles-table .role-title svg {
    width: 18px !important;
    height: 18px !important;
    margin-top: 5px !important;
    flex: 0 0 auto !important;
  }

  .careers-page .roles-table .role-mission {
    padding-left: 36px !important;
    color: var(--body) !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
    letter-spacing: -0.02em !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    background: transparent !important;
  }

  .careers-page .roles-table .role-arrow {
    display: none !important;
  }

  .careers-page .life-at-symatics.tight {
    padding-top: 42px !important;
  }
}

@media (max-width: 390px) {
  .careers-page .roles-table .role-title {
    font-size: 22px !important;
  }
  .careers-page .roles-table .role-mission {
    font-size: 17px !important;
  }
}

/* ============================================================
   v70m FIX — Careers mobile roles readability + remove Life image strip
   Desktop untouched: mobile-only overrides.
   ============================================================ */
@media (max-width: 768px) {
  .careers-page #open-roles.tight {
    padding-top: 58px !important;
    padding-bottom: 34px !important;
  }
  .careers-page .open-roles-wrap {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .careers-page .open-roles-intro {
    margin-bottom: 24px !important;
  }

  .careers-page .roles-table-card {
    display: none !important;
  }
  .careers-page .roles-mobile-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
  }
  .careers-page .role-mobile-card {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border: 1px solid var(--border) !important;
    border-radius: 18px !important;
    padding: 26px 24px 28px !important;
    box-shadow: none !important;
  }
  .careers-page .role-mobile-head {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    column-gap: 12px !important;
    align-items: start !important;
    margin: 0 0 14px !important;
    width: 100% !important;
  }
  .careers-page .role-mobile-icon {
    width: 24px !important;
    color: var(--blue) !important;
    padding-top: 4px !important;
  }
  .careers-page .role-mobile-icon svg {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
  }
  .careers-page .role-mobile-card h3 {
    margin: 0 !important;
    max-width: none !important;
    color: var(--ink) !important;
    font-size: 22px !important;
    line-height: 1.12 !important;
    letter-spacing: -0.035em !important;
    font-weight: 800 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    background: transparent !important;
  }
  .careers-page .role-mobile-card p {
    margin: 0 !important;
    padding-left: 36px !important;
    max-width: none !important;
    color: var(--body) !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
    letter-spacing: -0.02em !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    background: transparent !important;
  }

  .careers-page .life-at-symatics.life-at-overlay {
    margin-top: 20px !important;
    background: #F7F8FB !important;
    background-image: none !important;
  }
  .careers-page .life-at-overlay-inner {
    min-height: auto !important;
    padding: 54px 24px 58px !important;
    background: #F7F8FB !important;
    background-image: none !important;
    border-top: 1px solid var(--border) !important;
    border-bottom: 0 !important;
  }
  .careers-page .life-at-overlay .life-copy {
    max-width: 100% !important;
  }
}

@media (max-width: 390px) {
  .careers-page .role-mobile-card {
    padding: 24px 22px 26px !important;
  }
  .careers-page .role-mobile-card h3 {
    font-size: 21px !important;
  }
  .careers-page .role-mobile-card p {
    font-size: 17px !important;
    padding-left: 36px !important;
  }
}

/* ============================================================
   v70n FIX — Careers mobile Open Roles header spacing
   Desktop untouched: mobile-only override.
   ============================================================ */
@media (max-width: 768px) {
  .careers-page #open-roles.tight {
    padding-top: 0 !important;
  }
  .careers-page #open-roles .open-roles-wrap {
    padding-top: 34px !important;
  }
}

/* Intro Gateway — v71 */
body.intro-page {
  margin: 0;
  min-height: 100vh;
  overflow: hidden;
  background: #fbf8f4;
  color: #111827;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.intro-gateway {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 620px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(28px, 4vw, 56px);
  isolation: isolate;
  background:
    radial-gradient(circle at 16% 18%, rgba(47, 91, 255, 0.055), transparent 26%),
    radial-gradient(circle at 83% 74%, rgba(15, 23, 42, 0.055), transparent 30%),
    linear-gradient(135deg, #fffdfa 0%, #fbf8f4 46%, #f6f1eb 100%);
}

.intro-gateway::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    linear-gradient(115deg, transparent 0 18%, rgba(15,23,42,.105) 18.1% 18.35%, transparent 18.45% 100%),
    linear-gradient(115deg, transparent 0 33%, rgba(15,23,42,.085) 33.05% 33.26%, transparent 33.36% 100%),
    linear-gradient(115deg, transparent 0 67%, rgba(15,23,42,.09) 67.05% 67.27%, transparent 67.37% 100%),
    linear-gradient(25deg, transparent 0 27%, rgba(15,23,42,.08) 27.05% 27.25%, transparent 27.35% 100%),
    linear-gradient(25deg, transparent 0 58%, rgba(15,23,42,.075) 58.05% 58.25%, transparent 58.35% 100%);
  opacity: .92;
}

.intro-gateway::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image:
    linear-gradient(rgba(15,23,42,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,.052) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse at center, black 0%, black 54%, transparent 86%);
  opacity: .8;
}

.intro-pattern {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  border: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(15,23,42,.075),
    0 18px 50px rgba(15,23,42,.035);
  background:
    linear-gradient(135deg, rgba(255,255,255,.45), rgba(255,255,255,0)),
    repeating-linear-gradient(90deg, rgba(15,23,42,.06) 0 1px, transparent 1px 42px),
    repeating-linear-gradient(0deg, rgba(15,23,42,.045) 0 1px, transparent 1px 42px);
}

.intro-pattern-a {
  width: min(42vw, 610px);
  height: min(48vw, 610px);
  left: -7vw;
  top: 9vh;
  transform: rotate(-10deg) skewX(-8deg);
  border-radius: 32px;
  opacity: .72;
}

.intro-pattern-b {
  width: min(45vw, 660px);
  height: min(38vw, 520px);
  right: -9vw;
  bottom: 7vh;
  transform: rotate(-10deg) skewX(-8deg);
  border-radius: 34px;
  opacity: .78;
}

.intro-panel {
  width: min(100%, 780px);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  animation: introFadeUp .7s ease both;
}

.intro-logo {
  width: clamp(176px, 17vw, 252px);
  height: auto;
  display: block;
  margin: 0 auto clamp(44px, 6vh, 64px);
}

.intro-thesis {
  max-width: 660px;
  margin: 0 0 clamp(28px, 4vh, 38px);
  color: #343b48;
  font-size: clamp(20px, 2.25vw, 34px);
  line-height: 1.22;
  letter-spacing: -0.035em;
  font-weight: 600;
}

.intro-panel h1 {
  max-width: 760px;
  margin: 0 0 clamp(18px, 2.6vh, 26px);
  color: #0e1420;
  font-size: clamp(38px, 5vw, 74px);
  line-height: .96;
  letter-spacing: -0.07em;
  font-weight: 800;
}

.intro-copy {
  max-width: 690px;
  margin: 0 0 14px;
  color: #4d5665;
  font-size: clamp(14.5px, 1.2vw, 17px);
  line-height: 1.62;
  letter-spacing: -0.01em;
  font-weight: 400;
}

.intro-subcopy {
  max-width: 620px;
  margin: 0 0 clamp(30px, 4vh, 42px);
  color: #303846;
  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.5;
  letter-spacing: -0.01em;
  font-weight: 500;
}

.intro-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.intro-secondary-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  color: #4d5665;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.intro-text-link {
  position: relative;
  color: #303846;
  text-decoration: none;
  padding: 6px 0;
  transition: color .25s ease;
}

.intro-text-link::after {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: 2px;
  height: 1px;
  background: currentColor;
  transition: left .25s ease, right .25s ease;
}

.intro-text-link:hover {
  color: #111827;
}

.intro-text-link:hover::after {
  left: 0;
  right: 0;
}

.intro-link-divider {
  color: rgba(48, 56, 70, .36);
  font-size: 12px;
}

.intro-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 24px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-decoration: none;
  transition: transform .25s ease, border-color .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
}

.intro-btn:hover {
  transform: translateY(-1px);
}

.intro-btn-primary {
  color: #fff;
  background: #111827;
  border: 1px solid #111827;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.12);
}

.intro-btn-secondary {
  color: #111827;
  background: rgba(255,255,255,.42);
  border: 1px solid rgba(17, 24, 39, .18);
  backdrop-filter: blur(10px);
}

@keyframes introFadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 768px) {
  body.intro-page { overflow: hidden; }
  .intro-gateway {
    min-height: 100svh;
    height: 100svh;
    padding: 26px 22px;
  }
  .intro-pattern-a {
    width: 88vw;
    height: 62vw;
    left: -42vw;
    top: 8vh;
    opacity: .72;
  }
  .intro-pattern-b {
    width: 95vw;
    height: 72vw;
    right: -48vw;
    bottom: 6vh;
    opacity: .78;
  }
  .intro-gateway::after {
    background-size: 52px 52px;
    opacity: .78;
  }
  .intro-logo {
    width: 168px;
    margin-bottom: 38px;
  }
  .intro-thesis {
    font-size: clamp(19px, 6vw, 27px);
    line-height: 1.2;
    margin-bottom: 24px;
  }
  .intro-panel h1 {
    font-size: clamp(36px, 12vw, 52px);
    line-height: .98;
    margin-bottom: 18px;
  }
  .intro-copy {
    font-size: 14px;
    line-height: 1.5;
    max-width: 340px;
  }
  .intro-subcopy {
    font-size: 14px;
    line-height: 1.42;
    margin-bottom: 26px;
    max-width: 330px;
  }
  .intro-actions {
    width: min(100%, 320px);
    flex-direction: column;
    gap: 14px;
  }
  .intro-btn {
    width: 100%;
    min-height: 44px;
  }
  .intro-secondary-links {
    width: 100%;
    gap: 14px;
    flex-wrap: wrap;
    font-size: 13px;
  }
}

@media (max-height: 720px) and (min-width: 769px) {
  .intro-logo { margin-bottom: 34px; }
  .intro-thesis { margin-bottom: 22px; font-size: clamp(19px, 2vw, 29px); }
  .intro-panel h1 { font-size: clamp(36px, 4.5vw, 62px); }
  .intro-copy { font-size: 14.5px; line-height: 1.5; }
  .intro-subcopy { margin-bottom: 28px; }
}

/* Intro Gateway — v74 final enter link */
.intro-enter-link {
  position: fixed;
  top: clamp(26px, 4vw, 58px);
  right: clamp(28px, 5vw, 78px);
  z-index: 10;
  color: #111827;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.28em;
  padding: 8px 0 10px;
  transition: opacity .25s ease, transform .25s ease;
}

.intro-enter-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: #315cff;
  transform-origin: center;
  transform: scaleX(.72);
  transition: transform .25s ease, background .25s ease;
}

.intro-enter-link:hover {
  opacity: .82;
  transform: translateY(-1px);
}

.intro-enter-link:hover::after {
  transform: scaleX(1);
}

/* v74: bottom secondary is now only View Specifications */
.intro-secondary-links {
  gap: 0;
}

@media (max-width: 768px) {
  .intro-enter-link {
    top: 24px;
    right: 24px;
    font-size: 12px;
    letter-spacing: 0.24em;
  }
  .intro-logo {
    margin-top: 28px;
  }
}
