/* ===== 18-ux-seo-conversion.css ===== */
.cap-breadcrumb{display:flex;align-items:center;gap:9px;margin:0 0 22px;color:var(--muted);font:11px/1.4 "IBM Plex Mono",monospace;letter-spacing:.02em}.cap-breadcrumb a{color:var(--muted);text-decoration:none}.cap-breadcrumb a:hover{color:var(--violet)}.cap-breadcrumb span[aria-current="page"]{color:var(--ink)}
.related-capabilities{margin:66px 0 0;padding-top:42px;border-top:1px solid var(--line)}.related-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px}.related-head h2{margin:0;color:var(--ink);font-size:clamp(28px,3vw,42px);line-height:1.05;letter-spacing:-1.5px;text-transform:uppercase}.related-head .eyebrow{margin-bottom:8px}.related-all{color:var(--violet);font:11px "IBM Plex Mono",monospace;text-decoration:none}.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.related-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:24px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.related-card:hover{transform:translateY(-2px);border-color:rgba(101,53,147,.45);box-shadow:0 14px 30px rgba(16,22,56,.08)}.related-card .related-label{color:var(--violet);font:10px "IBM Plex Mono",monospace;letter-spacing:.1em}.related-card strong{font-size:19px}.related-card span:not(.related-label){color:var(--muted);font-size:13px;line-height:1.5;max-width:620px}.related-card b{position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--violet)}
.enhanced-contact{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:42px;text-align:left!important;align-items:start}.enhanced-contact .contact-copy h2{margin:0 0 12px;text-align:left}.enhanced-contact .contact-copy p:not(.eyebrow){margin:0 0 12px}.contact-direct{font-size:12px!important}.contact-direct a{color:var(--violet);font-family:"IBM Plex Mono",monospace}.engineering-form{display:flex;flex-direction:column;gap:14px}.engineering-form label{display:flex;flex-direction:column;gap:7px;color:var(--ink);font:11px "IBM Plex Mono",monospace;letter-spacing:.02em}.engineering-form input,.engineering-form textarea{width:100%;box-sizing:border-box;border:1px solid #d5d2cc;background:#fff;color:var(--ink);font:13px "Space Grotesk",sans-serif;padding:11px 12px;border-radius:2px;outline:none}.engineering-form input:focus,.engineering-form textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px rgba(101,53,147,.09)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.form-actions button{border:0;cursor:pointer}.form-actions span{color:var(--muted);font-size:11px;line-height:1.4}.eda-ecosystem{margin-top:22px;padding:28px;border:1px solid var(--line);background:#fff;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:center}.eda-ecosystem h2{margin:0 0 10px;color:var(--ink);font-size:clamp(24px,2.5vw,36px);line-height:1.05;text-transform:uppercase}.eda-ecosystem p:not(.eyebrow){margin:0;color:var(--muted);font-size:13px;line-height:1.65}.tool-badges{display:flex;gap:9px;flex-wrap:wrap}.tool-badges span{padding:9px 11px;border:1px solid #d7d5d1;border-radius:3px;background:#f8f7f4;color:#59617a;font:10px "IBM Plex Mono",monospace}.responsive-diagram{display:block}.responsive-diagram img{cursor:zoom-in}.tsiq-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(8,13,28,.92);display:flex;align-items:center;justify-content:center;padding:30px;backdrop-filter:blur(4px)}.tsiq-lightbox img{max-width:94vw;max-height:92vh;width:auto;height:auto;object-fit:contain;box-shadow:0 24px 70px rgba(0,0,0,.4)}.tsiq-lightbox-close{position:fixed;top:18px;right:22px;width:44px;height:44px;border:1px solid rgba(255,255,255,.4);background:rgba(8,13,28,.65);color:#fff;border-radius:50%;font-size:28px;line-height:1;cursor:pointer}.lightbox-open{overflow:hidden}
@media(max-width:900px){.related-grid,.enhanced-contact,.eda-ecosystem{grid-template-columns:1fr}.related-head{align-items:start;flex-direction:column}.enhanced-contact .contact-copy h2{text-align:center}.enhanced-contact .contact-copy{text-align:center}.form-grid{grid-template-columns:1fr}}
@media(max-width:560px){.cap-breadcrumb{margin-bottom:16px}.related-capabilities{margin-top:48px;padding-top:32px}.related-grid{gap:12px}.related-card{padding:20px}.related-card b{right:16px}.enhanced-contact{padding:34px 18px}.eda-ecosystem{padding:22px 18px}.tsiq-lightbox{padding:16px}.tsiq-lightbox img{max-width:96vw;max-height:86vh}}

.form-submit-status{font-size:11px;line-height:1.5;color:var(--muted);max-width:520px}.form-submit-status.is-sending{color:var(--violet)}.form-submit-status.is-success{color:#168447}.form-submit-status.is-error{color:#c43d2d}.form-actions button:disabled{opacity:.65;cursor:wait}


/* =========================================================
   SUBPAGE REQUIREMENT CTA — LIGHT CORPORATE VERSION
   Uses restrained, lighter versions of the Terasilicon IQ
   violet/orange palette for a cleaner enterprise presentation.
   ========================================================= */
.subpage-requirement-cta{
  position:relative;
  overflow:hidden;
  margin-top:70px;
  margin-bottom:0;
  min-height:450px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:66px 56px;
  border:1px solid rgba(101,53,147,.18);
  background:
    radial-gradient(circle at 12% 18%, rgba(101,53,147,.12), transparent 31%),
    radial-gradient(circle at 88% 84%, rgba(239,119,0,.11), transparent 29%),
    linear-gradient(135deg,#f3eef9 0%,#f7f5f1 48%,#eef1f8 100%);
  box-shadow:0 18px 42px rgba(16,22,56,.08);
}
.subpage-requirement-cta:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(101,53,147,.035) 1px,transparent 1px),
    linear-gradient(rgba(101,53,147,.035) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.75),transparent 88%);
  pointer-events:none;
}
.subpage-requirement-cta:after{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  border-radius:50%;
  right:-170px;
  top:-180px;
  background:radial-gradient(circle,rgba(101,53,147,.12) 0%,rgba(101,53,147,0) 70%);
  pointer-events:none;
}
.subpage-requirement-cta>*{position:relative;z-index:1}
.subpage-requirement-cta .eyebrow{
  margin:0 0 18px;
  color:#653593;
  font:11px/1.3 "IBM Plex Mono",monospace;
  letter-spacing:2.4px;
  text-transform:uppercase;
}
.subpage-requirement-cta .eyebrow:before{
  content:"";
  display:inline-block;
  width:24px;
  height:2px;
  margin:0 12px 4px 0;
  background:#ef7700;
}
.subpage-requirement-cta h2{
  width:100%;
  max-width:980px;
  margin:0 auto 22px;
  color:#101638;
  font-family:"Space Grotesk",Arial,sans-serif;
  font-size:clamp(42px,4.9vw,70px);
  font-weight:700;
  line-height:1.01;
  letter-spacing:-2.8px;
  text-wrap:balance;
  text-transform:uppercase;
}
.subpage-requirement-cta h2 .accent{color:#653593}
.subpage-requirement-cta p:not(.eyebrow){
  width:100%;
  max-width:790px;
  margin:0 auto;
  color:#4f566b;
  font-size:16px;
  line-height:1.65;
}
.subpage-cta-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:30px;
}
.subpage-cta-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:300px;
  min-height:54px;
  padding:15px 28px;
  background:#ef7700;
  color:#fff;
  text-decoration:none;
  font:700 14px/1.2 "Space Grotesk",Arial,sans-serif;
  letter-spacing:.01em;
  box-shadow:0 8px 18px rgba(239,119,0,.18);
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.subpage-cta-button:hover{
  transform:translateY(-2px);
  background:#d96500;
  box-shadow:0 12px 24px rgba(239,119,0,.24);
}
.subpage-cta-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:14px 25px;
  border:1px solid rgba(101,53,147,.58);
  background:rgba(255,255,255,.48);
  color:#101638;
  text-decoration:none;
  font:600 13px/1.2 "Space Grotesk",Arial,sans-serif;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.subpage-cta-secondary:hover{
  background:#fff;
  border-color:#653593;
  transform:translateY(-2px);
}
.subpage-contact-note{
  margin-top:22px!important;
  color:#697086!important;
  font-size:12px!important;
  line-height:1.5!important;
}
.subpage-contact-note a{
  color:#653593;
  font-weight:600;
  text-underline-offset:4px;
}
@media(max-width:1100px){
  .subpage-requirement-cta h2{max-width:900px}
}
@media(max-width:900px){
  .subpage-requirement-cta{min-height:420px;padding:56px 30px}
  .subpage-requirement-cta h2{font-size:clamp(40px,7vw,60px);letter-spacing:-2px}
}
@media(max-width:560px){
  .subpage-requirement-cta{margin-top:50px;padding:46px 20px;min-height:0}
  .subpage-requirement-cta .eyebrow{margin-bottom:15px;letter-spacing:1.8px}
  .subpage-requirement-cta h2{font-size:clamp(34px,10.2vw,50px);letter-spacing:-1.25px;line-height:1.02}
  .subpage-requirement-cta p:not(.eyebrow){font-size:15px;line-height:1.6}
  .subpage-cta-actions{width:100%;margin-top:26px}
  .subpage-cta-button{min-width:0;width:100%}
  .subpage-cta-secondary{width:100%}
}

/* V5.1 home hero — signoff-led corporate messaging */
.hero-home-v51{
  min-height:680px;
  background:#081a33;
}
.hero-home-v51 video{
  opacity:.08;
  filter:saturate(.45) contrast(1.05);
}
.hero-home-v51 .hero-overlay{
  background:#081a33;
}
.hero-home-v51:before,
.hero-home-v51:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.hero-home-v51:before{
  background:
    linear-gradient(90deg,transparent 0 6%,rgba(239,119,0,.32) 6% 6.12%,transparent 6.12% 14%,rgba(239,119,0,.20) 14% 14.12%,transparent 14.12% 100%),
    linear-gradient(90deg,transparent 0 27%,rgba(239,119,0,.22) 27% 27.12%,transparent 27.12% 43%,rgba(239,119,0,.18) 43% 43.12%,transparent 43.12% 74%,rgba(239,119,0,.20) 74% 74.12%,transparent 74.12% 100%);
  opacity:.8;
}
.hero-home-v51:after{
  background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/100% 92px,
    linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px) 0 0/92px 100%;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 82%);
}
.hero-home-v51 .hero-content{
  padding:92px 0 96px;
  max-width:1120px;
}
.hero-home-v51 .eyebrow{
  color:#ef9a6d;
  font-size:12px;
  letter-spacing:.24em;
  margin-bottom:32px;
}
.hero-home-v51 .eyebrow:before{
  width:54px;
  height:2px;
  margin-right:18px;
  background:#ef9a6d;
}
.hero-home-v51 h1{
  max-width:900px;
  color:#f4f6fb;
  font-size:clamp(56px,7.2vw,94px);
  line-height:.98;
  letter-spacing:-4.8px;
  text-transform:none;
  font-weight:700;
}
.hero-home-v51 h1 span{color:#ff8750;}
.hero-home-v51 .hero-copy{
  max-width:1050px;
  margin-top:48px;
  color:#aebbd0;
  font-size:clamp(20px,2vw,30px);
  line-height:1.9;
  letter-spacing:-.35px;
}
.hero-home-v51 .hero-copy strong{color:#f4f6fb;font-weight:650;}
.hero-home-v51 .actions{margin-top:34px;}
.hero-home-v51 .button{background:#ff7d22;border-color:#ff7d22;color:#081a33;}
.hero-home-v51 .button:hover{background:#ff9145;border-color:#ff9145;}
.hero-home-v51 .button-ghost{background:transparent;border-color:#6d7890;color:#f4f6fb;}
.hero-home-v51 .button-ghost:hover{background:#ffffff0d;border-color:#aebbd0;}
@media(max-width:900px){
  .hero-home-v51{min-height:700px;}
  .hero-home-v51 .hero-content{padding:78px 0 82px;}
  .hero-home-v51 h1{font-size:clamp(50px,9vw,78px);letter-spacing:-3.5px;}
  .hero-home-v51 .hero-copy{font-size:21px;line-height:1.75;margin-top:38px;}
}
@media(max-width:580px){
  .hero-home-v51{min-height:760px;}
  .hero-home-v51 .hero-content{padding:62px 0 70px;}
  .hero-home-v51 .eyebrow{font-size:10px;letter-spacing:.18em;margin-bottom:26px;}
  .hero-home-v51 .eyebrow:before{width:34px;margin-right:12px;}
  .hero-home-v51 h1{font-size:clamp(45px,13vw,66px);line-height:.98;letter-spacing:-2.8px;}
  .hero-home-v51 .hero-copy{font-size:18px;line-height:1.7;margin-top:34px;}
  .hero-home-v51 .actions{margin-top:28px;}
}


/* V5.2 home hero — fit the complete hero cleanly within the viewport */
.hero-home-v51{
  min-height:calc(100vh - 82px);
  height:calc(100vh - 82px);
  max-height:none;
}
.hero-home-v51 .hero-content{
  width:100%;
  max-width:1120px;
  padding:58px 0 60px;
}
.hero-home-v51 h1{
  max-width:850px;
  font-size:clamp(54px,6.35vw,82px);
  line-height:.97;
  letter-spacing:-4px;
}
.hero-home-v51 .hero-copy{
  max-width:980px;
  margin-top:34px;
  font-size:clamp(18px,1.55vw,22px);
  line-height:1.62;
  letter-spacing:-.15px;
}
.hero-home-v51 .actions{margin-top:28px;}
@media(max-width:1100px){
  .hero-home-v51 .hero-content{padding:52px 0 54px;}
  .hero-home-v51 h1{font-size:clamp(50px,6.8vw,74px);}
  .hero-home-v51 .hero-copy{max-width:900px;font-size:19px;line-height:1.58;margin-top:30px;}
}
@media(max-width:900px){
  .hero-home-v51{height:auto;min-height:calc(100vh - 72px);}
  .hero-home-v51 .hero-content{padding:64px 0 72px;}
  .hero-home-v51 h1{max-width:760px;font-size:clamp(48px,9vw,72px);letter-spacing:-3.4px;}
  .hero-home-v51 .hero-copy{font-size:19px;line-height:1.65;margin-top:30px;}
}
@media(max-width:580px){
  .hero-home-v51{height:auto;min-height:0;}
  .hero-home-v51 .hero-content{padding:58px 0 64px;}
  .hero-home-v51 h1{max-width:100%;font-size:clamp(44px,12.5vw,62px);line-height:.99;letter-spacing:-2.6px;}
  .hero-home-v51 .hero-copy{font-size:17px;line-height:1.65;margin-top:28px;}
  .hero-home-v51 .actions{margin-top:26px;}
}

/* V5.3 — restore the hero video visibility while keeping the corporate overlay */
.hero-home-v51 video{
  opacity:1;
  filter:saturate(.72) contrast(1.06) brightness(.72);
}
.hero-home-v51 .hero-overlay{
  background:linear-gradient(
    90deg,
    rgba(8,26,51,.48) 0%,
    rgba(8,26,51,.30) 48%,
    rgba(18,24,66,.16) 100%
  ) !important;
}

/* V5.4 — balanced hero video treatment: visible, but professionally toned down */
.hero-home-v51 video{
  opacity:.82;
  filter:saturate(.68) contrast(1.05) brightness(.66);
}
.hero-home-v51 .hero-overlay{
  background:linear-gradient(
    90deg,
    rgba(8,26,51,.64) 0%,
    rgba(8,26,51,.50) 48%,
    rgba(18,24,66,.38) 100%
  ) !important;
}
@media(max-width:900px){
  .hero-home-v51 video{opacity:.78;filter:saturate(.64) contrast(1.04) brightness(.62)}
  .hero-home-v51 .hero-overlay{
    background:linear-gradient(90deg,rgba(8,26,51,.66),rgba(8,26,51,.52)) !important;
  }
}

/* V5.5 — refined home hero composition */
.hero-home-v51{
  min-height:calc(100vh - 82px);
  height:calc(100vh - 82px);
  background:#081a33;
}
.hero-home-v51 video{
  opacity:.72;
  filter:saturate(.62) contrast(1.04) brightness(.62);
  object-position:center center;
  transform:scale(1.015);
}
.hero-home-v51 .hero-overlay{
  background:
    linear-gradient(90deg,rgba(6,20,43,.78) 0%,rgba(8,24,48,.62) 42%,rgba(13,22,58,.43) 72%,rgba(17,23,67,.34) 100%),
    linear-gradient(180deg,rgba(4,14,32,.20) 0%,rgba(7,20,43,.08) 45%,rgba(5,14,31,.30) 100%) !important;
}
.hero-home-v51 .hero-content{
  max-width:1160px;
  padding:44px 0 48px;
}
.hero-home-v51 .eyebrow{
  margin-bottom:20px;
  font-size:11px;
  letter-spacing:.19em;
  color:#ff8a4c;
}
.hero-home-v51 .eyebrow:before{
  width:34px;
  margin-right:14px;
  background:#ff8a4c;
}
.hero-home-v51 h1{
  max-width:980px;
  font-size:clamp(52px,5.7vw,76px);
  line-height:.98;
  letter-spacing:-3.8px;
  text-wrap:balance;
  text-shadow:0 2px 22px rgba(0,0,0,.16);
}
.hero-home-v51 h1 span{
  color:#ff7d45;
}
.hero-home-v51 .hero-copy{
  max-width:930px;
  margin-top:28px;
  color:#c9d2e1;
  font-size:clamp(17px,1.45vw,20px);
  line-height:1.58;
  letter-spacing:-.12px;
}
.hero-home-v51 .hero-copy strong{
  color:#f5f7fb;
  font-weight:700;
}
.hero-home-v51 .actions{
  margin-top:24px;
}
.hero-home-v51 .button{
  min-height:52px;
  padding:14px 21px;
}
@media(max-width:1100px){
  .hero-home-v51 .hero-content{padding:40px 0 44px;}
  .hero-home-v51 h1{font-size:clamp(50px,6.3vw,70px);letter-spacing:-3.2px;}
  .hero-home-v51 .hero-copy{max-width:860px;font-size:18px;margin-top:25px;}
}
@media(max-width:900px){
  .hero-home-v51{height:auto;min-height:calc(100vh - 72px);}
  .hero-home-v51 video{opacity:.68;filter:saturate(.58) contrast(1.03) brightness(.58);}
  .hero-home-v51 .hero-overlay{
    background:linear-gradient(90deg,rgba(6,20,43,.82),rgba(8,24,48,.62),rgba(17,23,67,.42)) !important;
  }
  .hero-home-v51 .hero-content{padding:58px 0 66px;}
  .hero-home-v51 h1{max-width:760px;font-size:clamp(48px,8.5vw,68px);}
  .hero-home-v51 .hero-copy{max-width:760px;font-size:18px;line-height:1.62;}
}
@media(max-width:580px){
  .hero-home-v51{min-height:0;}
  .hero-home-v51 .hero-content{padding:54px 0 60px;}
  .hero-home-v51 .eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:22px;}
  .hero-home-v51 .eyebrow:before{width:26px;margin-right:10px;}
  .hero-home-v51 h1{font-size:clamp(42px,12vw,60px);line-height:.99;letter-spacing:-2.5px;}
  .hero-home-v51 .hero-copy{font-size:16px;line-height:1.62;margin-top:25px;}
  .hero-home-v51 .actions{margin-top:24px;}
}

/* V6 — semiconductor engineering hero vision */
.hero-home-v51{
  position:relative;
  isolation:isolate;
  min-height:calc(100vh - 82px);
  height:calc(100vh - 82px);
  background:#06162d;
}
.hero-home-v51 video{
  opacity:.62;
  filter:saturate(.72) contrast(1.06) brightness(.64);
  object-position:center center;
  transform:scale(1.015);
}
.hero-home-v51 .hero-overlay{
  background:
    linear-gradient(90deg,rgba(4,15,34,.88) 0%,rgba(5,18,39,.74) 37%,rgba(7,19,43,.42) 67%,rgba(8,20,47,.24) 100%),
    linear-gradient(180deg,rgba(3,12,28,.22) 0%,rgba(4,15,34,.04) 48%,rgba(3,12,28,.38) 100%) !important;
}
.hero-home-v51:before{
  z-index:1;
  opacity:.65;
  background:
    radial-gradient(circle at 73% 50%,rgba(255,123,48,.12),transparent 24%),
    radial-gradient(circle at 88% 30%,rgba(92,78,255,.18),transparent 30%);
}
.hero-home-v51:after{
  z-index:1;
  opacity:.48;
}
.hero-home-v51 .hero-content{z-index:3;max-width:1160px;padding:54px 0 42px;}
.hero-home-v51 .eyebrow{margin-bottom:22px;color:#ff8950;font-size:11px;letter-spacing:.2em;}
.hero-home-v51 .eyebrow:before{width:38px;height:2px;margin-right:14px;background:#ff8950;}
.hero-home-v51 h1{max-width:760px;font-size:clamp(54px,5.8vw,82px);line-height:.96;letter-spacing:-4px;text-transform:none;text-wrap:balance;text-shadow:0 4px 26px rgba(0,0,0,.2);}
.hero-home-v51 h1 span{color:#ff7f46;}
.hero-home-v51 .hero-copy{position:relative;z-index:3;max-width:790px;margin-top:28px;color:#bfcadd;font-size:clamp(16px,1.35vw,20px);line-height:1.58;letter-spacing:-.12px;}
.hero-home-v51 .hero-copy strong{color:#f7f8fb;font-weight:700;}
.hero-capability-strip{position:relative;z-index:4;display:flex;align-items:stretch;gap:0;max-width:800px;margin-top:26px;padding:15px 0 14px;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.14);}
.hero-capability-strip>div{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;min-width:0;padding:0 16px;}
.hero-capability-strip>div:first-child{padding-left:0;}
.hero-capability-strip i{width:1px;background:rgba(255,255,255,.22);flex:0 0 1px;}
.hero-cap-icon{grid-row:span 2;color:#ff8448;font:22px/1 "IBM Plex Mono",monospace;}
.hero-capability-strip b,.hero-capability-strip small{display:block;white-space:nowrap;}
.hero-capability-strip b{color:#f6f8fc;font:700 10px/1.2 "IBM Plex Mono",monospace;letter-spacing:.08em;}
.hero-capability-strip small{color:#9eacc1;font:9px/1.3 "IBM Plex Mono",monospace;letter-spacing:.05em;}
.hero-home-v51 .actions{position:relative;z-index:4;margin-top:26px;}
.hero-home-v51 .button{min-height:52px;padding:14px 21px;background:#ff7d22;border-color:#ff7d22;color:#081a33;box-shadow:0 10px 28px rgba(255,125,34,.16);}
.hero-home-v51 .button:hover{background:#ff9145;border-color:#ff9145;transform:translateY(-1px);}
.hero-home-v51 .button-ghost{background:rgba(5,16,34,.18);border-color:rgba(218,226,239,.55);color:#f7f8fb;box-shadow:none;}
.hero-home-v51 .button-ghost:hover{background:rgba(255,255,255,.08);border-color:#fff;}
.hero-tech-visual{position:absolute;z-index:2;right:-3%;top:5%;width:57%;height:90%;pointer-events:none;opacity:.92;}
.hero-tech-grid{position:absolute;inset:5% 0 0 0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(circle at 55% 50%,#000 0 45%,transparent 82%);}
.hero-chip{position:absolute;right:17%;top:35%;width:300px;height:300px;transform:rotate(-10deg);background:linear-gradient(145deg,#111d31,#030914);border:1px solid rgba(174,190,214,.36);box-shadow:0 0 0 12px rgba(255,255,255,.025),0 30px 70px rgba(0,0,0,.42),0 0 65px rgba(255,115,40,.12);}
.hero-chip:before,.hero-chip:after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,131,71,.28);}
.hero-chip:after{inset:38px;border-color:rgba(114,139,255,.25);}
.hero-chip-core{position:absolute;inset:74px;background:radial-gradient(circle at 38% 32%,#33415b,#0a1323 70%);border:1px solid rgba(255,145,82,.45);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 35px rgba(255,105,38,.08),0 0 30px rgba(255,111,42,.11);}
.hero-chip-core span{color:#f5f7fb;font:700 24px/1 "Space Grotesk",Arial,sans-serif;letter-spacing:.08em;}
.hero-chip-core small{margin-top:9px;color:#ff8950;font:9px "IBM Plex Mono",monospace;letter-spacing:.18em;}
.hero-pin{position:absolute;width:9px;height:9px;border-radius:50%;background:#ff8a4d;box-shadow:0 0 13px rgba(255,125,60,.75);}
.hero-pin.p1{left:9%;top:28%;}.hero-pin.p2{right:10%;top:63%;}.hero-pin.p3{left:26%;bottom:8%;}.hero-pin.p4{right:28%;top:10%;}
.hero-trace{position:absolute;height:1px;background:linear-gradient(90deg,transparent,#ff8b50,transparent);transform-origin:left center;opacity:.55;}
.hero-trace-a{width:300px;right:47%;top:39%;transform:rotate(12deg);}.hero-trace-b{width:350px;right:27%;top:68%;transform:rotate(-19deg);}.hero-trace-c{width:260px;right:19%;top:25%;transform:rotate(31deg);}
.hero-tech-label{position:absolute;color:#9fb0c7;font:10px/1.45 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px 8px #000;}
.hero-tech-label b{color:#f4f7fb;font-weight:500;}.label-formal{left:12%;top:28%;}.label-rtl{right:4%;top:18%;}.label-emir{left:20%;bottom:18%;}.label-sta{right:16%;bottom:14%;}.label-signoff{right:0;top:54%;color:#ff9862;}
@media(max-width:1100px){
  .hero-tech-visual{right:-14%;width:58%;opacity:.7;}
  .hero-chip{width:250px;height:250px;right:17%;top:36%;}.hero-chip-core{inset:62px;}
  .hero-home-v51 h1{max-width:700px;font-size:clamp(50px,6.4vw,72px);}
  .hero-home-v51 .hero-copy{max-width:700px;font-size:18px;}
  .hero-capability-strip{max-width:700px;}
}
@media(max-width:900px){
  .hero-home-v51{height:auto;min-height:calc(100vh - 72px);}
  .hero-tech-visual{right:-22%;width:72%;opacity:.42;}
  .hero-home-v51 .hero-content{padding:62px 0 70px;}
  .hero-home-v51 h1{font-size:clamp(48px,8.7vw,68px);}
  .hero-capability-strip{max-width:100%;overflow:hidden;}
  .hero-capability-strip>div{padding:0 10px;}
  .hero-capability-strip b{font-size:9px;}.hero-capability-strip small{font-size:8px;}
}
@media(max-width:580px){
  .hero-home-v51 .hero-content{padding:54px 0 60px;}
  .hero-home-v51 h1{font-size:clamp(43px,12.2vw,60px);letter-spacing:-2.6px;}
  .hero-home-v51 .hero-copy{font-size:16px;line-height:1.62;margin-top:24px;}
  .hero-capability-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;padding:14px 0;}
  .hero-capability-strip i{display:none;}
  .hero-capability-strip>div{padding:5px 8px!important;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.025);}
  .hero-capability-strip b{font-size:8px;}.hero-capability-strip small{font-size:7px;}
  .hero-tech-visual{right:-44%;width:100%;opacity:.22;top:16%;height:72%;}
  .hero-chip{width:220px;height:220px;right:20%;top:39%;}
  .hero-chip-core{inset:54px;}.hero-tech-label{font-size:8px;}
  .hero-home-v51 .actions{margin-top:24px;}
  .hero-home-v51 .button{width:100%;justify-content:center;}
}

/* V6 — semiconductor engineering hero vision */
.hero-home-v51{position:relative;isolation:isolate;min-height:calc(100vh - 82px);height:calc(100vh - 82px);background:#06162d;}
.hero-home-v51 video{opacity:.62;filter:saturate(.72) contrast(1.06) brightness(.64);object-position:center center;transform:scale(1.015);}
.hero-home-v51 .hero-overlay{background:linear-gradient(90deg,rgba(4,15,34,.88) 0%,rgba(5,18,39,.74) 37%,rgba(7,19,43,.42) 67%,rgba(8,20,47,.24) 100%),linear-gradient(180deg,rgba(3,12,28,.22) 0%,rgba(4,15,34,.04) 48%,rgba(3,12,28,.38) 100%) !important;}
.hero-home-v51:before{z-index:1;opacity:.65;background:radial-gradient(circle at 73% 50%,rgba(255,123,48,.12),transparent 24%),radial-gradient(circle at 88% 30%,rgba(92,78,255,.18),transparent 30%);}
.hero-home-v51:after{z-index:1;opacity:.48;}
.hero-home-v51 .hero-content{z-index:3;max-width:1160px;padding:54px 0 42px;}
.hero-home-v51 .eyebrow{margin-bottom:22px;color:#ff8950;font-size:11px;letter-spacing:.2em;}
.hero-home-v51 .eyebrow:before{width:38px;height:2px;margin-right:14px;background:#ff8950;}
.hero-home-v51 h1{max-width:760px;font-size:clamp(54px,5.8vw,82px);line-height:.96;letter-spacing:-4px;text-transform:none;text-wrap:balance;text-shadow:0 4px 26px rgba(0,0,0,.2);}
.hero-home-v51 h1 span{color:#ff7f46;}
.hero-home-v51 .hero-copy{position:relative;z-index:3;max-width:790px;margin-top:28px;color:#bfcadd;font-size:clamp(16px,1.35vw,20px);line-height:1.58;letter-spacing:-.12px;}
.hero-home-v51 .hero-copy strong{color:#f7f8fb;font-weight:700;}
.hero-capability-strip{position:relative;z-index:4;display:flex;align-items:stretch;max-width:800px;margin-top:26px;padding:15px 0 14px;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.14);}
.hero-capability-strip>div{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;min-width:0;padding:0 16px;}
.hero-capability-strip>div:first-child{padding-left:0;}
.hero-capability-strip i{width:1px;background:rgba(255,255,255,.22);flex:0 0 1px;}
.hero-cap-icon{grid-row:span 2;color:#ff8448;font:22px/1 "IBM Plex Mono",monospace;}
.hero-capability-strip b,.hero-capability-strip small{display:block;white-space:nowrap;}
.hero-capability-strip b{color:#f6f8fc;font:700 10px/1.2 "IBM Plex Mono",monospace;letter-spacing:.08em;}
.hero-capability-strip small{color:#9eacc1;font:9px/1.3 "IBM Plex Mono",monospace;letter-spacing:.05em;}
.hero-home-v51 .actions{position:relative;z-index:4;margin-top:26px;}
.hero-home-v51 .button{min-height:52px;padding:14px 21px;background:#ff7d22;border-color:#ff7d22;color:#081a33;box-shadow:0 10px 28px rgba(255,125,34,.16);}
.hero-home-v51 .button:hover{background:#ff9145;border-color:#ff9145;transform:translateY(-1px);}
.hero-home-v51 .button-ghost{background:rgba(5,16,34,.18);border-color:rgba(218,226,239,.55);color:#f7f8fb;box-shadow:none;}
.hero-home-v51 .button-ghost:hover{background:rgba(255,255,255,.08);border-color:#fff;}
.hero-tech-visual{position:absolute;z-index:2;right:-3%;top:5%;width:57%;height:90%;pointer-events:none;opacity:.92;}
.hero-tech-grid{position:absolute;inset:5% 0 0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(circle at 55% 50%,#000 0 45%,transparent 82%);}
.hero-chip{position:absolute;right:17%;top:35%;width:300px;height:300px;transform:rotate(-10deg);background:linear-gradient(145deg,#111d31,#030914);border:1px solid rgba(174,190,214,.36);box-shadow:0 0 0 12px rgba(255,255,255,.025),0 30px 70px rgba(0,0,0,.42),0 0 65px rgba(255,115,40,.12);}
.hero-chip:before,.hero-chip:after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,131,71,.28);}.hero-chip:after{inset:38px;border-color:rgba(114,139,255,.25);}
.hero-chip-core{position:absolute;inset:74px;background:radial-gradient(circle at 38% 32%,#33415b,#0a1323 70%);border:1px solid rgba(255,145,82,.45);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 35px rgba(255,105,38,.08),0 0 30px rgba(255,111,42,.11);}
.hero-chip-core span{color:#f5f7fb;font:700 24px/1 "Space Grotesk",Arial,sans-serif;letter-spacing:.08em;}.hero-chip-core small{margin-top:9px;color:#ff8950;font:9px "IBM Plex Mono",monospace;letter-spacing:.18em;}
.hero-pin{position:absolute;width:9px;height:9px;border-radius:50%;background:#ff8a4d;box-shadow:0 0 13px rgba(255,125,60,.75);}.hero-pin.p1{left:9%;top:28%;}.hero-pin.p2{right:10%;top:63%;}.hero-pin.p3{left:26%;bottom:8%;}.hero-pin.p4{right:28%;top:10%;}
.hero-trace{position:absolute;height:1px;background:linear-gradient(90deg,transparent,#ff8b50,transparent);transform-origin:left center;opacity:.55;}.hero-trace-a{width:300px;right:47%;top:39%;transform:rotate(12deg);}.hero-trace-b{width:350px;right:27%;top:68%;transform:rotate(-19deg);}.hero-trace-c{width:260px;right:19%;top:25%;transform:rotate(31deg);}
.hero-tech-label{position:absolute;color:#9fb0c7;font:10px/1.45 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px 8px #000;}.hero-tech-label b{color:#f4f7fb;font-weight:500;}.label-formal{left:12%;top:28%;}.label-rtl{right:4%;top:18%;}.label-emir{left:20%;bottom:18%;}.label-sta{right:16%;bottom:14%;}.label-signoff{right:0;top:54%;color:#ff9862;}
@media(max-width:1100px){.hero-tech-visual{right:-14%;width:58%;opacity:.7;}.hero-chip{width:250px;height:250px;right:17%;top:36%;}.hero-chip-core{inset:62px;}.hero-home-v51 h1{max-width:700px;font-size:clamp(50px,6.4vw,72px);}.hero-home-v51 .hero-copy{max-width:700px;font-size:18px;}.hero-capability-strip{max-width:700px;}}
@media(max-width:900px){.hero-home-v51{height:auto;min-height:calc(100vh - 72px);}.hero-tech-visual{right:-22%;width:72%;opacity:.42;}.hero-home-v51 .hero-content{padding:62px 0 70px;}.hero-home-v51 h1{font-size:clamp(48px,8.7vw,68px);}.hero-capability-strip{max-width:100%;overflow:hidden;}.hero-capability-strip>div{padding:0 10px;}.hero-capability-strip b{font-size:9px;}.hero-capability-strip small{font-size:8px;}}
@media(max-width:580px){.hero-home-v51 .hero-content{padding:54px 0 60px;}.hero-home-v51 h1{font-size:clamp(43px,12.2vw,60px);letter-spacing:-2.6px;}.hero-home-v51 .hero-copy{font-size:16px;line-height:1.62;margin-top:24px;}.hero-capability-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;padding:14px 0;}.hero-capability-strip i{display:none;}.hero-capability-strip>div{padding:5px 8px!important;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.025);}.hero-capability-strip b{font-size:8px;}.hero-capability-strip small{font-size:7px;}.hero-tech-visual{right:-44%;width:100%;opacity:.22;top:16%;height:72%;}.hero-chip{width:220px;height:220px;right:20%;top:39%;}.hero-chip-core{inset:54px;}.hero-tech-label{font-size:8px;}.hero-home-v51 .actions{margin-top:24px;}.hero-home-v51 .button{width:100%;justify-content:center;}}

/* V6.1 — refined hero composition: quiet left text zone, integrated right-side silicon visual */
.hero-home-v51 .hero-content{max-width:1180px;padding:58px 0 54px;}
.hero-home-v51 h1{max-width:700px;font-size:clamp(54px,5.35vw,78px);line-height:.98;letter-spacing:-3.8px;position:relative;z-index:4;}
.hero-home-v51 .hero-copy{max-width:735px;font-size:clamp(16px,1.22vw,19px);line-height:1.55;margin-top:26px;position:relative;z-index:4;}
.hero-home-v51 .hero-capability-strip{max-width:730px;margin-top:22px;opacity:.92;}
.hero-home-v51 .actions{margin-top:24px;}
.hero-home-v51 .hero-tech-visual{right:-1%;top:0;width:50%;height:100%;opacity:.66;z-index:2;}
.hero-home-v51 .hero-tech-grid{inset:8% 0 4% 5%;background-size:58px 58px;opacity:.45;mask-image:radial-gradient(ellipse at 62% 50%,#000 0 34%,transparent 76%);}
.hero-home-v51 .hero-chip{right:8%;top:35%;width:255px;height:255px;transform:rotate(-7deg);background:linear-gradient(145deg,rgba(13,29,49,.94),rgba(3,10,22,.97));box-shadow:0 0 0 8px rgba(255,255,255,.018),0 24px 60px rgba(0,0,0,.45),0 0 55px rgba(255,115,40,.10);}
.hero-home-v51 .hero-chip:before{inset:16px;border-color:rgba(255,131,71,.22);}
.hero-home-v51 .hero-chip:after{inset:34px;border-color:rgba(114,139,255,.18);}
.hero-home-v51 .hero-chip-core{inset:63px;background:radial-gradient(circle at 38% 32%,#2a3a51,#091322 72%);border-color:rgba(255,145,82,.34);box-shadow:inset 0 0 30px rgba(255,105,38,.06),0 0 24px rgba(255,111,42,.08);}
.hero-home-v51 .hero-chip-core span{font-size:22px;}
.hero-home-v51 .hero-pin{width:7px;height:7px;box-shadow:0 0 10px rgba(255,125,60,.55);}
.hero-home-v51 .hero-trace{opacity:.32;}
.hero-home-v51 .hero-trace-a{width:210px;right:55%;top:39%;}
.hero-home-v51 .hero-trace-b{width:230px;right:25%;top:69%;}
.hero-home-v51 .hero-trace-c{width:190px;right:16%;top:29%;}
.hero-home-v51 .hero-tech-label{font-size:8px;line-height:1.35;opacity:.72;}
.hero-home-v51 .label-formal{left:4%;top:28%;}
.hero-home-v51 .label-rtl{right:3%;top:19%;}
.hero-home-v51 .label-emir{left:16%;bottom:14%;}
.hero-home-v51 .label-sta{right:12%;bottom:13%;}
.hero-home-v51 .label-signoff{right:1%;top:57%;opacity:.82;}
@media(max-width:1100px){
 .hero-home-v51 .hero-tech-visual{right:-7%;width:48%;opacity:.52;}
 .hero-home-v51 .hero-chip{width:220px;height:220px;right:7%;top:38%;}
 .hero-home-v51 .hero-chip-core{inset:54px;}
 .hero-home-v51 h1{max-width:650px;font-size:clamp(50px,6vw,70px);}
 .hero-home-v51 .hero-copy{max-width:690px;font-size:17px;}
}
@media(max-width:900px){
 .hero-home-v51{height:auto;min-height:calc(100vh - 72px);}
 .hero-home-v51 .hero-tech-visual{right:-18%;width:65%;opacity:.28;}
 .hero-home-v51 .hero-content{padding:58px 0 64px;}
 .hero-home-v51 h1{max-width:620px;font-size:clamp(48px,8vw,66px);}
 .hero-home-v51 .hero-copy{max-width:650px;}
 .hero-home-v51 .label-emir,.hero-home-v51 .label-sta,.hero-home-v51 .label-signoff{display:none;}
}
@media(max-width:580px){
 .hero-home-v51 .hero-content{padding:50px 0 58px;}
 .hero-home-v51 h1{font-size:clamp(43px,12vw,58px);letter-spacing:-2.5px;}
 .hero-home-v51 .hero-copy{font-size:15px;line-height:1.6;margin-top:22px;}
 .hero-home-v51 .hero-capability-strip{margin-top:20px;}
 .hero-home-v51 .hero-tech-visual{right:-40%;width:95%;opacity:.18;top:13%;height:75%;}
 .hero-home-v51 .hero-chip{width:190px;height:190px;right:20%;top:42%;}
 .hero-home-v51 .hero-chip-core{inset:47px;}
 .hero-home-v51 .hero-tech-label{display:none;}
}


/* ===== V6.2 — premium hero visual integration ===== */
.hero-home-v51{
  min-height:calc(100vh - 82px);
  height:calc(100vh - 82px);
  overflow:hidden;
}
.hero-home-v51 .hero-content{
  max-width:1160px;
  padding:38px 0 34px;
  position:relative;
  z-index:5;
}
.hero-home-v51 h1{
  max-width:650px;
  font-size:clamp(54px,5.05vw,76px);
  line-height:.97;
  letter-spacing:-3.7px;
  margin-bottom:0;
}
.hero-home-v51 .hero-copy{
  max-width:670px;
  font-size:17px;
  line-height:1.58;
  margin-top:22px;
}
.hero-home-v51 .hero-capability-strip{
  max-width:675px;
  margin-top:20px;
  padding-top:14px;
  padding-bottom:14px;
}
.hero-home-v51 .actions{
  margin-top:18px;
}


/* Keep the source video visible, but make the left text zone calmer. */
.hero-home-v51 video{
  opacity:.70;
  filter:saturate(.58) contrast(1.04) brightness(.60);
  transform:scale(1.02);
}
.hero-home-v51 .hero-overlay{
  background:
    linear-gradient(90deg,rgba(5,17,37,.86) 0%,rgba(6,19,41,.70) 38%,rgba(8,20,45,.42) 68%,rgba(10,21,49,.26) 100%),
    linear-gradient(180deg,rgba(3,11,27,.18),rgba(4,14,32,.04) 50%,rgba(3,11,27,.34) 100%) !important;
}
.hero-home-v51:before{opacity:.42;}
.hero-home-v51:after{opacity:.55;}

@media(max-width:1100px){
  .hero-home-v51 .hero-content{padding:34px 0 30px;}
  .hero-home-v51 h1{max-width:610px;font-size:clamp(50px,6vw,70px);}
  .hero-home-v51 .hero-copy{max-width:630px;font-size:16px;}
  .hero-home-v51 .hero-tech-visual{right:-10%;width:55%;opacity:.72;background-size:88% auto;}
}
@media(max-width:900px){
  .hero-home-v51{height:auto;min-height:calc(100vh - 72px);}
  .hero-home-v51 .hero-content{padding:54px 0 58px;}
  .hero-home-v51 h1{max-width:650px;font-size:clamp(48px,8.2vw,66px);}
  .hero-home-v51 .hero-copy{max-width:650px;font-size:16px;}
  .hero-home-v51 .hero-tech-visual{right:-25%;width:70%;height:82%;top:9%;opacity:.34;background-size:100% auto;}
  .hero-home-v51 .hero-capability-strip{max-width:650px;}
}
@media(max-width:580px){
  .hero-home-v51 .hero-content{padding:48px 0 54px;}
  .hero-home-v51 h1{font-size:clamp(43px,12vw,58px);letter-spacing:-2.6px;}
  .hero-home-v51 .hero-copy{font-size:15px;line-height:1.6;margin-top:21px;}
  .hero-home-v51 .hero-capability-strip{margin-top:18px;}
  .hero-home-v51 .actions{margin-top:18px;}
  .hero-home-v51 .hero-tech-visual{right:-48%;width:112%;top:13%;height:72%;opacity:.20;background-size:100% auto;}
}

/* V6.3 — remove the hero chip visual; keep the video and clean hero composition */
.hero-home-v51 .hero-tech-visual,
.hero-home-v51 .hero-chip,
.hero-home-v51 .hero-tech-grid,
.hero-home-v51 .hero-trace,
.hero-home-v51 .hero-tech-label { display:none !important; }
.hero-home-v51 .hero-content { position:relative; z-index:3; max-width:1120px; }
.hero-home-v51 .hero-copy { max-width:820px; }
.hero-home-v51 .hero-capability-strip { max-width:820px; }

/* V6.4 — restore full hero CTA visibility and rebalance vertical composition */
@media (min-width: 901px){
  .hero-home-v51 .hero-content{
    padding:0;
    transform:translateY(-34px);
  }
  .hero-home-v51 .eyebrow{margin-bottom:18px;}
  .hero-home-v51 .hero-copy{margin-top:20px;line-height:1.5;}
  .hero-home-v51 .hero-capability-strip{margin-top:16px;padding-top:11px;padding-bottom:11px;}
  .hero-home-v51 .actions{margin-top:16px;}
  .hero-home-v51 .button{min-height:50px;padding:12px 20px;}
}
@media (min-width: 901px) and (max-height: 850px){
  .hero-home-v51 .hero-content{transform:translateY(-48px);}
  .hero-home-v51 h1{font-size:clamp(52px,4.8vw,70px);}
  .hero-home-v51 .hero-copy{font-size:16px;}
}

/* V6.5 — capability strip contrast + CTA balance */
.hero-capability-strip{
  border-top-color:rgba(255,255,255,.28);
  border-bottom-color:rgba(255,255,255,.24);
}
.hero-capability-strip>div{
  background:rgba(255,255,255,.025);
  border-radius:2px;
}
.hero-capability-strip i{
  background:rgba(255,255,255,.34);
}
.hero-cap-icon{
  color:#ff9a62;
  text-shadow:0 0 12px rgba(255,133,70,.18);
}
.hero-capability-strip b{
  color:#ffffff;
  font-weight:700;
  text-shadow:0 1px 8px rgba(0,0,0,.28);
}
.hero-capability-strip small{
  color:#c5cfdf;
  font-weight:500;
  text-shadow:0 1px 7px rgba(0,0,0,.3);
}
.hero-home-v51 .actions{
  align-items:center;
  gap:14px;
}
.hero-home-v51 .actions .button{
  min-height:52px;
  padding:14px 24px;
  border-width:1px;
  border-style:solid;
  justify-content:center;
}
.hero-home-v51 .actions .button:not(.button-ghost){
  min-width:320px;
}
.hero-home-v51 .actions .button-ghost{
  min-width:250px;
  border-color:rgba(255,255,255,.68);
  background:rgba(4,15,34,.22);
}
.hero-home-v51 .actions .button-ghost:hover{
  border-color:#ffffff;
  background:rgba(255,255,255,.08);
}
@media(max-width:900px){
  .hero-home-v51 .actions .button:not(.button-ghost),
  .hero-home-v51 .actions .button-ghost{min-width:0;}
}
@media(max-width:580px){
  .hero-capability-strip>div{background:rgba(255,255,255,.035);}
  .hero-capability-strip b{color:#fff;}
  .hero-capability-strip small{color:#cbd4e2;}
}


/* V6.6 — accessibility contrast + CTA spacing refinement */
.hero-home-v51 .hero-capability-strip{
  border-top-color:rgba(255,255,255,.34);
  border-bottom-color:rgba(255,255,255,.30);
}
.hero-home-v51 .hero-capability-strip>div{
  background:rgba(255,255,255,.035);
}
.hero-home-v51 .hero-capability-strip i{
  background:rgba(255,255,255,.42);
}
.hero-home-v51 .hero-cap-icon{
  color:#ff9b68;
  opacity:1;
  font-weight:700;
  text-shadow:0 1px 5px rgba(0,0,0,.45);
}
.hero-home-v51 .hero-capability-strip b{
  color:#ffffff;
  opacity:1;
  font-weight:700;
  text-shadow:0 1px 6px rgba(0,0,0,.35);
}
.hero-home-v51 .hero-capability-strip small{
  color:#e1e6ef;
  opacity:1;
  font-weight:500;
  text-shadow:0 1px 6px rgba(0,0,0,.4);
}
.hero-home-v51 .actions .button{
  min-height:52px;
  padding:14px 24px;
  line-height:1.2;
}
.hero-home-v51 .actions .button:not(.button-ghost){
  min-width:320px;
  gap:18px;
}
.hero-home-v51 .actions .button-ghost{
  min-width:250px;
  padding:14px 24px;
  gap:16px;
  border-width:1px;
  border-color:rgba(255,255,255,.78);
  background:rgba(4,15,34,.24);
}
.hero-home-v51 .actions .button-ghost b{
  font-weight:700;
  margin-left:2px;
}
.hero-home-v51 .actions .button-ghost:hover{
  border-color:#ffffff;
  background:rgba(255,255,255,.09);
}
@media(max-width:900px){
  .hero-home-v51 .actions .button:not(.button-ghost),
  .hero-home-v51 .actions .button-ghost{
    min-width:0;
  }
}


/* Final publish build — Terasilicon IQ loading animation */
#tsiq-loader{
  position:fixed;inset:0;z-index:99999;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 42%,rgba(101,53,147,.10),transparent 28%),linear-gradient(135deg,#fbfbff 0%,#fff 52%,#fffaf5 100%);
  opacity:1;visibility:visible;pointer-events:auto;
  transition:opacity .55s ease,visibility .55s ease;
  animation:tsiq-loader-failsafe 4s ease forwards;
}
#tsiq-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none;}
.tsiq-loader-inner{width:min(520px,86vw);text-align:center;position:relative;}
.tsiq-loader-mark{width:104px;height:104px;margin:0 auto 20px;position:relative;display:grid;place-items:center;filter:drop-shadow(0 12px 24px rgba(101,53,147,.18));}
.tsiq-loader-mark img{width:76px;height:76px;object-fit:contain;position:relative;z-index:2;animation:tsiq-loader-logo 1.35s cubic-bezier(.65,0,.35,1) both;}
.tsiq-loader-ring{position:absolute;border:1px solid rgba(101,53,147,.18);border-radius:50%;inset:5px;animation:tsiq-loader-ring 1.7s ease-out infinite;}
.tsiq-loader-ring-b{inset:18px;border-color:rgba(239,119,0,.24);animation-delay:.28s;}
.tsiq-loader-brand{font-family:"Space Grotesk",Arial,sans-serif;font-size:clamp(23px,4vw,32px);line-height:1;font-weight:700;letter-spacing:-.04em;color:#111936;}
.tsiq-loader-brand b{color:#ef7700;}
.tsiq-loader-tagline{margin-top:9px;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.2em;color:#73778b;}
.tsiq-loader-line{width:min(360px,78vw);height:3px;margin:32px auto 0;overflow:hidden;border-radius:999px;background:rgba(101,53,147,.12);}
.tsiq-loader-line span{display:block;width:34%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#653593,#ef7700);box-shadow:0 0 15px rgba(239,119,0,.45);animation:tsiq-loader-progress 1.35s linear infinite;}
.tsiq-loader-status{margin-top:15px;font-family:"Space Grotesk",Arial,sans-serif;font-size:15px;font-weight:600;color:#653593;}
.tsiq-loader-status::after{content:"";display:inline-block;width:1.4em;text-align:left;animation:tsiq-loading-dots 1.35s steps(4,end) infinite;}
.tsiq-loader-substatus{margin-top:6px;font-family:"IBM Plex Mono",monospace;font-size:10px;color:#7a7e90;}
@keyframes tsiq-loader-logo{0%{opacity:0;transform:scale(.72) rotate(-8deg)}55%{opacity:1;transform:scale(1.05) rotate(2deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes tsiq-loader-ring{0%{opacity:0;transform:scale(.72)}35%{opacity:1}100%{opacity:0;transform:scale(1.18)}}
@keyframes tsiq-loader-progress{0%{transform:translateX(-120%)}100%{transform:translateX(360%)}}
@keyframes tsiq-loading-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}100%{content:""}}
@keyframes tsiq-loader-failsafe{0%,78%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){#tsiq-loader{animation:tsiq-loader-failsafe 1.1s ease forwards;transition:none}.tsiq-loader-mark img,.tsiq-loader-ring,.tsiq-loader-line span,.tsiq-loader-status::after{animation:none}}
@media(max-width:560px){.tsiq-loader-mark{width:90px;height:90px}.tsiq-loader-mark img{width:68px;height:68px}.tsiq-loader-tagline{font-size:8px;letter-spacing:.16em}.tsiq-loader-substatus{font-size:9px}}

/* Header contact navigation: Contact Us scrolls to the home-page contact details;
   Talk to our team remains the separate engineering inquiry CTA. */
.site-header nav .nav-contact{color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}
.site-header nav .nav-contact:hover{color:var(--violet)}
.site-header nav .nav-cta{white-space:nowrap}
@media(max-width:1100px){.site-header nav{gap:20px}}
@media(max-width:900px){.site-header nav{gap:12px}.site-header nav .nav-contact{font-size:12px}}

/* V6.14 — mobile hero side spacing and viewport-safe layout */
@media (max-width: 900px){
  .hero-home-v51 .hero-content{
    width:calc(100% - 40px);
    max-width:none;
    margin-inline:auto;
    box-sizing:border-box;
  }
  .hero-home-v51 h1,
  .hero-home-v51 .hero-copy,
  .hero-home-v51 .hero-capability-strip,
  .hero-home-v51 .actions{
    width:100%;
    max-width:none;
  }
}

@media (max-width: 580px){
  .hero-home-v51 .hero-content{
    width:calc(100% - 32px);
  }
}


/* V6.16 micro-polish: interaction, readability, reveal motion, mobile menu X */
#capabilities .capability-row,#solutions .card,#signoff .card.core,.detailed-domain .info-card,.detailed-domain .visual{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background-color .24s ease}
#capabilities .capability-row:hover,#capabilities .capability-row:focus-visible{transform:translateX(4px);padding-left:30px;background:#faf8fc;box-shadow:0 8px 22px rgba(16,22,56,.06)}
#solutions .card:hover,#solutions .card:focus-within,#signoff .card.core:hover,#signoff .card.core:focus-within{transform:translateY(-5px);box-shadow:0 14px 30px rgba(16,22,56,.11)}
#solutions .card:hover>span,#solutions .card:focus-within>span{color:var(--orange)}
.detailed-domain .info-card:hover,.detailed-domain .info-card:focus-within{transform:translateY(-3px);box-shadow:0 10px 24px rgba(16,22,56,.08);background:#fdfcff}
.detailed-domain .visual:hover{box-shadow:0 12px 28px rgba(16,22,56,.12);border-color:#cfc6dc}
.flow-row>div{position:relative;transition:transform .22s ease,color .22s ease,text-shadow .22s ease;border-radius:6px}
.flow-row>div:hover,.flow-row>div:focus-visible{transform:translateY(-4px);color:var(--violet);text-shadow:0 0 12px rgba(101,53,147,.14);outline:none}
.flow-row>div:hover::before,.flow-row>div:focus-visible::before{border-color:var(--orange);box-shadow:0 0 0 4px rgba(239,119,0,.10),0 0 16px rgba(239,119,0,.18)}
.hero-copy{line-height:1.68}
.section-head>p:last-child,.card p,.flow-section p,.detailed-domain .domain-info>p,.detailed-domain .info-card p{line-height:1.72}
.section-head h2,.card h3,.detailed-domain h3{text-wrap:balance}
body.tsiq-motion-ready .tsiq-reveal{opacity:0;transform:translateY(18px);transition:opacity .58s ease,transform .58s cubic-bezier(.22,.61,.36,1)}
body.tsiq-motion-ready .tsiq-reveal.tsiq-revealed{opacity:1;transform:none}
body.tsiq-motion-ready .tsiq-reveal.tsiq-delay-1{transition-delay:.06s}
body.tsiq-motion-ready .tsiq-reveal.tsiq-delay-2{transition-delay:.12s}
body.tsiq-motion-ready .tsiq-reveal.tsiq-delay-3{transition-delay:.18s}
@media(max-width:900px){.menu-toggle{position:relative;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.menu-toggle.open{border-color:var(--violet);background:#f8f5ff}.menu-toggle span{transition:transform .22s ease,opacity .18s ease,width .22s ease;transform-origin:center}.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0;transform:scaleX(0)}.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.menu-toggle.open:focus-visible{outline:2px solid var(--violet);outline-offset:3px}.site-header nav.open{max-height:calc(100vh - 72px);overflow-y:auto;overscroll-behavior:contain}.flow-row>div:hover,.flow-row>div:focus-visible{transform:translateX(3px)}}
@media(prefers-reduced-motion:reduce){#capabilities .capability-row,#solutions .card,#signoff .card.core,.detailed-domain .info-card,.detailed-domain .visual,.flow-row>div,.menu-toggle,.menu-toggle span{transition:none}body.tsiq-motion-ready .tsiq-reveal,body.tsiq-motion-ready .tsiq-reveal.tsiq-revealed{opacity:1;transform:none;transition:none}}

/* Desktop hero capability rail: give the unused right side a purposeful signoff-flow cue. */
@media(min-width:1101px){
  .hero-capability-strip::after{
    content:'RTL  →  VERIFY  →  CLOSE  →  SIGNOFF';
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    color:rgba(255,255,255,.56);
    font:500 8px/1.2 "IBM Plex Mono",monospace;
    letter-spacing:.12em;
    white-space:nowrap;
    padding-left:20px;
    border-left:1px solid rgba(255,255,255,.14);
  }
}
@media(max-width:1100px){
  .hero-capability-strip::after{display:none;}
}


/* =========================================================
   V6.17 — FORMAL PAGE VISUAL CONSISTENCY
   Match Formal Verification's top content/visual treatment
   to the other capability subpages without changing content.
   Desktop: balanced two-column layout with two diagrams side-by-side.
   Mobile/tablet: clean single-column stack.
   ========================================================= */
.formal-reference-page .formal-hero{
  padding:0 !important;
  margin:52px 0 50px !important;
  border-bottom:0 !important;
}

.formal-reference-page .formal-hero-grid{
  display:grid !important;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr) !important;
  gap:42px !important;
  align-items:center !important;
}

.formal-reference-page .formal-copy{
  max-width:100% !important;
}

.formal-reference-page .formal-copy .eyebrow{
  margin-bottom:12px;
}

.formal-reference-page .formal-copy h1{
  max-width:820px !important;
  font-size:clamp(40px,3.9vw,62px) !important;
  line-height:1.02 !important;
  letter-spacing:-2.4px !important;
  margin:0 0 16px !important;
  text-wrap:balance;
}

.formal-reference-page .formal-copy > p{
  max-width:820px !important;
  font-size:16px !important;
  line-height:1.72 !important;
}

.formal-reference-page .formal-points{
  margin-top:22px !important;
}

.formal-reference-page .formal-visuals{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:start !important;
}

.formal-reference-page .formal-visuals figure{
  min-width:0 !important;
}

.formal-reference-page .formal-visuals img{
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  border-radius:14px !important;
}

.formal-reference-page .formal-visuals figcaption{
  font-size:10px !important;
  line-height:1.4 !important;
  margin-top:7px !important;
}

/* Keep the information cards visually aligned with every other
   detailed capability page. */
.formal-reference-page > .detailed-container > .cols{
  margin-top:0 !important;
}

@media (max-width: 980px){
  .formal-reference-page .formal-hero-grid{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }
  .formal-reference-page .formal-visuals{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:900px !important;
  }
}

@media (max-width: 640px){
  .formal-reference-page .formal-hero{
    margin-top:34px !important;
    margin-bottom:40px !important;
  }
  .formal-reference-page .formal-copy h1{
    font-size:clamp(34px,10vw,48px) !important;
    letter-spacing:-1.8px !important;
  }
  .formal-reference-page .formal-copy > p{
    font-size:15px !important;
    line-height:1.7 !important;
  }
  .formal-reference-page .formal-visuals{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
}

/* V6.19 — Careers navigation */
.site-header nav .nav-careers{color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}.site-header nav .nav-careers:hover{color:var(--violet)}
@media(max-width:900px){.site-header nav .nav-careers{font-size:12px}}

/* V6.19 — professional contact routing */
.contact-page .contact-routing{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:min(980px,100%);margin:30px auto 0;text-align:left}.contact-page .contact-routing article{padding:20px 22px;background:rgba(255,255,255,.62);border:1px solid rgba(101,53,147,.16);box-shadow:0 8px 20px rgba(16,22,56,.04);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.contact-page .contact-routing article:hover{transform:translateY(-2px);border-color:rgba(101,53,147,.35);box-shadow:0 12px 24px rgba(16,22,56,.07)}.contact-page .contact-routing span{display:block;margin-bottom:8px;color:#653593;font:10px/1.2 "IBM Plex Mono",monospace;letter-spacing:1.4px}.contact-page .contact-routing strong{display:block;min-height:42px;color:#101638;font:600 14px/1.45 "Space Grotesk",Arial,sans-serif}.contact-page .contact-routing a{display:inline-block;margin-top:10px;color:#653593;font:600 13px/1.4 "Space Grotesk",Arial,sans-serif;text-underline-offset:3px;overflow-wrap:anywhere}
@media(max-width:900px){.contact-page .contact-routing{grid-template-columns:1fr}}


/* V6.20 — clickable contact routing cards */
.contact-routing-card {
  display: flex;
  flex-direction: column;
  position: relative;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}
.contact-routing-card:hover,
.contact-routing-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(92, 47, 143, 0.55);
  box-shadow: 0 12px 28px rgba(20, 26, 63, 0.08);
  text-decoration: none;
}
.contact-routing-card:focus-visible {
  outline: 2px solid #ff7a00;
  outline-offset: 3px;
}
.contact-routing-card .routing-email {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  color: #5c2f8f;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 600;
}
.contact-routing-card .routing-email b {
  color: #ff7a00;
  text-decoration: none;
  transition: transform 180ms ease;
}
.contact-routing-card:hover .routing-email b,
.contact-routing-card:focus-visible .routing-email b {
  transform: translateX(4px);
}
@media (prefers-reduced-motion: reduce) {
  .contact-routing-card,
  .contact-routing-card .routing-email b {
    transition: none;
  }
}


/* V6.21 — subtle visual background for contact routing */
.contact-routing {
  position: relative;
  isolation: isolate;
  padding: 34px 26px 30px;
  border: 1px solid rgba(92, 47, 143, 0.14);
  background:
    radial-gradient(circle at 10% 20%, rgba(112, 73, 170, 0.13), transparent 34%),
    radial-gradient(circle at 88% 78%, rgba(255, 122, 0, 0.10), transparent 32%),
    linear-gradient(135deg, rgba(246, 243, 252, 0.96), rgba(255, 249, 242, 0.94));
  overflow: hidden;
}

.contact-routing::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.42;
  background-image:
    linear-gradient(rgba(92, 47, 143, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(92, 47, 143, 0.055) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to right, transparent, black 16%, black 84%, transparent);
}

.contact-routing::after {
  content: "";
  position: absolute;
  width: 280px;
  height: 280px;
  right: -110px;
  bottom: -170px;
  z-index: -1;
  border-radius: 50%;
  background: rgba(255, 122, 0, 0.08);
  filter: blur(24px);
  pointer-events: none;
}

.contact-routing-card {
  background: rgba(255, 255, 255, 0.56);
  border: 1px solid rgba(92, 47, 143, 0.13);
  backdrop-filter: blur(3px);
}

.contact-routing-card:hover,
.contact-routing-card:focus-visible {
  background: rgba(255, 255, 255, 0.82);
}

@media (max-width: 760px) {
  .contact-routing {
    padding: 24px 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-routing-card,
  .contact-routing-card .routing-email b {
    transition: none;
  }
}


/* V6.22 — contact section visual refinement */
.contact-routing {
  padding: 38px 0 34px;
  border: 0;
  background: transparent;
  overflow: visible;
}

.contact-routing::before {
  opacity: 0.22;
  background-size: 48px 48px;
  mask-image: linear-gradient(to right, transparent 4%, black 18%, black 82%, transparent 96%);
}

.contact-routing::after {
  width: 320px;
  height: 320px;
  right: -130px;
  bottom: -190px;
  opacity: 0.72;
}

.contact-routing-card {
  min-height: 158px;
  padding: 24px 26px;
  background: rgba(255, 255, 255, 0.68);
  border: 1px solid rgba(92, 47, 143, 0.16);
  box-shadow: 0 5px 18px rgba(20, 26, 63, 0.035);
  backdrop-filter: blur(5px);
}

.contact-routing-card:hover,
.contact-routing-card:focus-visible {
  background: rgba(255, 255, 255, 0.88);
  border-color: rgba(92, 47, 143, 0.34);
  box-shadow: 0 12px 28px rgba(20, 26, 63, 0.09);
}

.contact-routing-card strong {
  margin-top: 10px;
  line-height: 1.45;
}

.contact-routing-card .routing-email {
  margin-top: 22px;
}

@media (max-width: 760px) {
  .contact-routing {
    padding: 26px 0;
  }

  .contact-routing-card {
    min-height: 0;
    padding: 22px;
  }
}


/* V6.23 — Careers navigation + pre-contact careers block */
.careers-strip {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(92, 47, 143, 0.14);
  border-bottom: 1px solid rgba(92, 47, 143, 0.14);
  background:
    radial-gradient(circle at 12% 50%, rgba(112, 73, 170, 0.12), transparent 32%),
    radial-gradient(circle at 88% 50%, rgba(255, 122, 0, 0.08), transparent 30%),
    linear-gradient(110deg, #f4f0fa, #fbfafc 55%, #fff6ee);
}

.careers-strip::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  background-image:
    linear-gradient(rgba(92,47,143,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(92,47,143,.045) 1px, transparent 1px);
  background-size: 48px 48px;
}

.careers-strip-inner {
  position: relative;
  z-index: 1;
  min-height: 220px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  padding-top: 42px;
  padding-bottom: 42px;
}

.careers-copy {
  max-width: 780px;
}

.careers-copy .eyebrow {
  margin-bottom: 12px;
}

.careers-copy h2 {
  margin: 0 0 12px;
}

.careers-copy p:not(.eyebrow) {
  max-width: 720px;
  margin: 0;
}

.careers-button {
  flex: 0 0 auto;
  min-width: 205px;
  justify-content: center;
}

@media (max-width: 760px) {
  .careers-strip-inner {
    min-height: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    padding-top: 34px;
    padding-bottom: 34px;
  }

  .careers-button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .careers-strip,
  .careers-button {
    scroll-behavior: auto;
  }
}

/* V6.24 — Careers footer contact */
.footer-careers a[href*="careers@terasiliconiq.com"] {
  white-space: nowrap;
}

@media (max-width: 760px) {
  .footer-careers a[href*="careers@terasiliconiq.com"] {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}


/* V6.25 — Careers section on Home page */
.careers-strip {
  background:
    radial-gradient(circle at 10% 50%, rgba(101,53,147,.10), transparent 34%),
    radial-gradient(circle at 90% 50%, rgba(239,119,0,.09), transparent 34%),
    linear-gradient(110deg,#f6f3fa 0%,#fff 52%,#fff7ef 100%);
}
.careers-strip .careers-button {
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
  box-shadow: 0 10px 24px rgba(239,119,0,.16);
}
.careers-strip .careers-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(239,119,0,.22);
}
@media (max-width:760px){
  .careers-strip .careers-button { width:100%; justify-content:center; }
}


/* V6.26 — Careers block visual refinement */
.careers-strip{
  padding:0 !important;
  background:
    radial-gradient(circle at 8% 50%, rgba(101,53,147,.14), transparent 30%),
    radial-gradient(circle at 92% 50%, rgba(239,119,0,.11), transparent 30%),
    linear-gradient(105deg,#f2eff9 0%,#fbfafc 48%,#fff4e9 100%);
  border-top:1px solid rgba(101,53,147,.16);
  border-bottom:1px solid rgba(101,53,147,.16);
}
.careers-strip::after{
  opacity:.14;
  background-size:56px 56px;
}
.careers-strip-inner{
  min-height:0 !important;
  padding:56px 0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:64px;
}
.careers-copy{max-width:820px}
.careers-copy .eyebrow{color:var(--violet);margin:0 0 10px}
.careers-copy h2{
  color:var(--ink);
  font-size:clamp(28px,3vw,40px);
  line-height:1.08;
  letter-spacing:-.025em;
  margin:0 0 12px;
}
.careers-copy p:not(.eyebrow){
  color:#59617a;
  max-width:760px;
  font-size:16px;
  line-height:1.65;
  margin:0;
}
.careers-button{
  min-width:220px !important;
  padding:16px 24px !important;
  justify-content:center;
  background:var(--orange) !important;
  border:1px solid var(--orange) !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(239,119,0,.16);
}
.careers-button b{font-size:18px;line-height:1}
.careers-button:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(239,119,0,.22);
}
@media(max-width:760px){
  .careers-strip-inner{
    grid-template-columns:1fr;
    gap:26px;
    padding:42px 0 !important;
  }
  .careers-copy h2{font-size:30px}
  .careers-copy p:not(.eyebrow){font-size:15px}
  .careers-button{width:100%;min-width:0 !important}
}


/* V6.27 — Careers navigation positioning + grouped Careers/Training footer column */
.contact-details .footer-careers-training {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 30px;
}
.contact-details .footer-careers-training .footer-directory {
  width: 100%;
}
.contact-details .footer-careers-training .footer-directory h3 {
  margin-bottom: 22px;
}
.contact-details .footer-careers-training .footer-training {
  margin-top: 2px;
}
@media (max-width: 1150px) {
  .contact-details .footer-careers-training {
    justify-self: start;
  }
}
@media (max-width: 780px) {
  .contact-details .footer-careers-training {
    width: 100%;
    gap: 28px;
  }
}

/* Give the Careers destination enough surrounding content when reached from navigation. */
.careers-strip {
  scroll-margin-top: 18vh;
}

/* V6.29 — Keep Careers navigation visibly active when #careers is the selected section. */
body:has(#careers:target) .site-header nav > a.nav-careers {
  color: var(--violet) !important;
}
body:has(#careers:target) .site-header nav > a.nav-careers::after {
  transform: scaleX(1);
  opacity: 1;
}

/* =========================================================
   V6.30 — NAVIGATION FONT CONSISTENCY
   Keep every primary navigation label on the same typeface
   across desktop, tablet and mobile, including Careers and
   Contact Us. The CTA keeps its intentional mono treatment.
   ========================================================= */
.site-header nav > a:not(.nav-cta),
.site-header nav > a:not(.nav-cta) *,
.site-header .nav-capabilities-main > a,
.site-header .nav-capabilities-main > a *,
.site-header .nav-careers,
.site-header .nav-contact {
  font-family: "Space Grotesk", Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.site-header nav > a:not(.nav-cta),
.site-header .nav-capabilities-main > a,
.site-header .nav-careers,
.site-header .nav-contact {
  font-size: 14px !important;
}

.site-header .capabilities-toggle {
  font-family: "Space Grotesk", Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

@media (max-width: 900px) {
  .site-header nav > a:not(.nav-cta),
  .site-header .nav-capabilities-main > a,
  .site-header .nav-careers,
  .site-header .nav-contact {
    font-family: "Space Grotesk", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
  }
}


/* V6.33 — What We Support capability map */
.what-we-support {
  position: relative;
  padding: clamp(72px, 8vw, 120px) 0;
  overflow: hidden;
}
.what-we-support .w-w-s-intro {
  max-width: 760px;
  margin-bottom: clamp(38px, 5vw, 64px);
}
.what-we-support .w-w-s-kicker {
  margin: 0 0 12px;
  font-family: "IBM Plex Mono", monospace;
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.what-we-support .w-w-s-title {
  margin: 0;
}
.what-we-support .w-w-s-subtitle {
  max-width: 700px;
  margin: 18px 0 0;
  opacity: .78;
  line-height: 1.7;
}
.w-w-s-map {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}
.w-w-s-node {
  position: relative;
  min-height: 104px;
  padding: 18px 16px;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.025);
  cursor: pointer;
  transition: transform .22s ease, border-color .22s ease, background .22s ease, opacity .22s ease;
}
.w-w-s-node:not(:last-child)::after {
  content: "→";
  position: absolute;
  top: 50%;
  right: -17px;
  transform: translateY(-50%);
  z-index: 2;
  opacity: .45;
  font-family: "IBM Plex Mono", monospace;
}
.w-w-s-node:hover,
.w-w-s-node.is-active {
  transform: translateY(-4px);
  border-color: rgba(255,255,255,.35);
  background: rgba(255,255,255,.06);
}
.w-w-s-node.is-active {
  box-shadow: inset 0 2px 0 rgba(255,255,255,.7);
}
.w-w-s-index {
  display: block;
  margin-bottom: 20px;
  font-family: "IBM Plex Mono", monospace;
  font-size: .7rem;
  opacity: .55;
}
.w-w-s-node strong {
  display: block;
  font-size: clamp(.9rem, 1.1vw, 1.05rem);
  line-height: 1.25;
}
.w-w-s-detail {
  margin-top: 26px;
  border-top: 1px solid rgba(255,255,255,.13);
  border-bottom: 1px solid rgba(255,255,255,.13);
}
.w-w-s-panel {
  display: none;
  grid-template-columns: minmax(190px, .65fr) minmax(0, 1.35fr);
  gap: 40px;
  padding: 34px 0;
}
.w-w-s-panel.is-active {
  display: grid;
}
.w-w-s-panel h3 {
  margin: 0 0 10px;
}
.w-w-s-panel p {
  margin: 0;
  line-height: 1.7;
  opacity: .72;
}
.w-w-s-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.w-w-s-list li {
  padding: 10px 0 10px 18px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  position: relative;
}
.w-w-s-list li::before {
  content: "↳";
  position: absolute;
  left: 0;
  opacity: .65;
}
.w-w-s-note {
  margin-top: 22px;
  font-family: "IBM Plex Mono", monospace;
  font-size: .72rem;
  opacity: .55;
}
@media (max-width: 1050px) {
  .w-w-s-map { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .w-w-s-node:not(:last-child)::after { display: none; }
}
@media (max-width: 680px) {
  .w-w-s-map { grid-template-columns: 1fr 1fr; }
  .w-w-s-panel { grid-template-columns: 1fr; gap: 22px; }
  .w-w-s-list { grid-template-columns: 1fr; }
}
@media (max-width: 460px) {
  .w-w-s-map { grid-template-columns: 1fr; }
  .w-w-s-node { min-height: auto; }
}



/* V6.34 — What We Support: Terasilicon IQ logo-colour treatment */
.what-we-support {
  --wws-navy: #101638;
  --wws-purple: #653593;
  --wws-orange: #ef7700;
  --wws-paper: #f4f2ec;
  --wws-line: #d7d5d1;
  --wws-muted: #59617a;
  position: relative;
  background:
    radial-gradient(circle at 88% 14%, rgba(101,53,147,.045) 0 2px, transparent 2.5px),
    radial-gradient(circle at 92% 30%, rgba(239,119,0,.045) 0 2px, transparent 2.5px),
    linear-gradient(135deg, rgba(101,53,147,.018), transparent 32%),
    var(--wws-paper);
  overflow: hidden;
}
.what-we-support::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.35;
  background:
    linear-gradient(30deg, transparent 49.6%, rgba(101,53,147,.055) 49.8%, rgba(101,53,147,.055) 50.2%, transparent 50.4%) 78% 5%/190px 110px,
    linear-gradient(150deg, transparent 49.6%, rgba(239,119,0,.045) 49.8%, rgba(239,119,0,.045) 50.2%, transparent 50.4%) 87% 12%/220px 125px;
}
.what-we-support .container { position:relative; z-index:1; }
.what-we-support .w-w-s-intro { max-width:780px; margin-bottom:42px; }
.what-we-support .w-w-s-kicker { color:var(--wws-orange); font-weight:600; letter-spacing:.15em; }
.what-we-support .w-w-s-title { color:var(--wws-navy); letter-spacing:-.02em; }
.what-we-support .w-w-s-subtitle { color:var(--wws-muted); max-width:780px; }
.w-w-s-map {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.w-w-s-node {
  appearance:none;
  min-height:166px;
  padding:24px 18px 20px;
  border:1px solid var(--wws-line);
  border-radius:6px;
  background:rgba(255,255,255,.48);
  color:var(--wws-navy);
  text-align:center;
  box-shadow:0 8px 24px rgba(16,22,56,.025);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.w-w-s-node::after { content:"→"; right:-19px; color:var(--wws-navy); opacity:.9; }
.w-w-s-node:hover {
  transform:translateY(-3px);
  border-color:rgba(101,53,147,.35);
  box-shadow:0 12px 28px rgba(16,22,56,.06);
}
.w-w-s-node.is-active {
  transform:translateY(-3px);
  border:2px solid var(--wws-orange);
  background:#fff;
  box-shadow:0 12px 28px rgba(239,119,0,.09);
}
.w-w-s-icon {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin:0 auto 13px;
  color:var(--wws-orange);
}
.w-w-s-icon svg {
  width:34px;
  height:34px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.w-w-s-node:not(.is-active) .w-w-s-icon { color:var(--wws-purple); }
.w-w-s-index {
  margin-bottom:9px;
  color:var(--wws-orange);
  font-family:"IBM Plex Mono",monospace;
  font-size:.7rem;
  opacity:1;
}
.w-w-s-node strong { color:var(--wws-navy); font-size:1rem; }
.w-w-s-detail {
  margin-top:28px;
  padding:0;
  border:1px solid rgba(215,213,209,.9);
  border-radius:8px;
  background:rgba(255,255,255,.62);
  box-shadow:0 14px 35px rgba(16,22,56,.035);
  overflow:hidden;
}
.w-w-s-panel {
  grid-template-columns:minmax(270px,.72fr) minmax(0,1.55fr);
  gap:42px;
  padding:34px 36px;
}
.w-w-s-panel.is-active { display:grid; }
.w-w-s-panel-intro { padding-right:32px; border-right:1px solid var(--wws-line); }
.w-w-s-panel-no {
  display:block;
  color:var(--wws-orange);
  font-family:"IBM Plex Mono",monospace;
  font-weight:600;
  font-size:1rem;
  margin-bottom:7px;
}
.w-w-s-panel-intro h3 { color:var(--wws-navy); margin:0; font-size:1.5rem; }
.w-w-s-rule {
  display:block;
  width:42px;
  height:2px;
  margin:16px 0 18px;
  background:var(--wws-orange);
}
.w-w-s-panel-intro p { color:var(--wws-muted); margin:0; line-height:1.7; }
.w-w-s-support-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 28px;
}
.w-w-s-card {
  display:flex;
  gap:15px;
  align-items:flex-start;
  padding:6px 0 18px;
  border-bottom:1px solid rgba(215,213,209,.75);
}
.w-w-s-card-icon {
  flex:0 0 48px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(215,213,209,.8);
  border-radius:50%;
  background:#fff;
  font-family:"IBM Plex Mono",monospace;
  font-size:.72rem;
  font-weight:600;
}
.w-w-s-card-icon.orange { color:var(--wws-orange); }
.w-w-s-card-icon.purple { color:var(--wws-purple); }
.w-w-s-card h4 { color:var(--wws-navy); margin:3px 0 7px; font-size:.98rem; }
.w-w-s-card p { color:var(--wws-muted); margin:0; line-height:1.55; font-size:.88rem; }
.w-w-s-dots { display:flex; justify-content:center; gap:10px; margin:22px 0 8px; }
.w-w-s-dots span { width:9px; height:9px; border-radius:50%; background:#d7d5d1; }
.w-w-s-dots span.is-active { background:var(--wws-orange); }
.w-w-s-note { color:var(--wws-muted); text-align:center; font-size:.74rem; margin-top:0; }
@media (max-width:1100px) {
  .w-w-s-map { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .w-w-s-node:not(:last-child)::after { display:none; }
}
@media (max-width:760px) {
  .w-w-s-map { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .w-w-s-panel { grid-template-columns:1fr; gap:28px; padding:28px 24px; }
  .w-w-s-panel-intro { padding-right:0; padding-bottom:22px; border-right:0; border-bottom:1px solid var(--wws-line); }
  .w-w-s-support-grid { grid-template-columns:1fr; }
}
@media (max-width:480px) {
  .w-w-s-map { grid-template-columns:1fr; }
  .w-w-s-node { min-height:145px; }
  .w-w-s-card { gap:12px; }
}


/* V6.35 — What We Support: completion and viewport polish */
.what-we-support {
  scroll-margin-top: 104px;
  padding-top: 82px;
  padding-bottom: 72px;
}
.what-we-support .w-w-s-intro {
  margin-bottom: 34px;
}
.what-we-support .w-w-s-map {
  gap: 12px;
}
.what-we-support .w-w-s-node {
  min-height: 154px;
  padding: 21px 16px 18px;
}
.what-we-support .w-w-s-icon {
  width: 44px;
  height: 44px;
  margin-bottom: 10px;
}
.what-we-support .w-w-s-icon svg {
  width: 32px;
  height: 32px;
}
.what-we-support .w-w-s-detail {
  margin-top: 24px;
}
.what-we-support .w-w-s-panel {
  padding: 28px 32px;
  gap: 34px;
}
.what-we-support .w-w-s-support-grid {
  gap: 14px 26px;
}
.what-we-support .w-w-s-card {
  padding-bottom: 14px;
}
.what-we-support .w-w-s-card-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.what-we-support .w-w-s-dots {
  margin: 16px 0 7px;
}
@media (max-width: 760px) {
  .what-we-support {
    scroll-margin-top: 84px;
    padding-top: 70px;
    padding-bottom: 58px;
  }
}


/* V6.36 — complete capability flow: maps every primary engineering service */
.what-we-support .w-w-s-map-complete {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 8px;
}
.what-we-support .w-w-s-map-complete .w-w-s-node {
  min-height: 142px;
  padding: 16px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.what-we-support .w-w-s-map-complete .w-w-s-node:not(:last-child)::after {
  right: -13px;
  font-size: 14px;
}
.what-we-support .w-w-s-map-complete .w-w-s-icon {
  width: 38px;
  height: 38px;
  margin-bottom: 10px;
}
.what-we-support .w-w-s-map-complete .w-w-s-index {
  margin: 0 0 8px;
  color: #ef7700;
}
.what-we-support .w-w-s-map-complete .w-w-s-node strong {
  font-size: clamp(.78rem, .9vw, .94rem);
  line-height: 1.2;
}
.what-we-support .w-w-s-map-complete .w-w-s-node.is-active {
  border-color: #ef7700;
  box-shadow: 0 10px 28px rgba(239,119,0,.08), inset 0 2px 0 #ef7700;
}
.what-we-support .w-w-s-map-complete .w-w-s-node.is-active .w-w-s-icon {
  color: #ef7700;
}
.what-we-support .w-w-s-map-complete .w-w-s-node:nth-child(even) .w-w-s-icon {
  color: #653593;
}
.what-we-support .w-w-s-map-complete .w-w-s-node:nth-child(odd) .w-w-s-icon {
  color: #ef7700;
}
.what-we-support .w-w-s-map-complete .w-w-s-icon svg,
.what-we-support .w-w-s-card-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.what-we-support .w-w-s-dots span:nth-child(1),
.what-we-support .w-w-s-dots span:nth-child(3),
.what-we-support .w-w-s-dots span:nth-child(5),
.what-we-support .w-w-s-dots span:nth-child(7) { background:#ef7700; }
.what-we-support .w-w-s-dots span:nth-child(2),
.what-we-support .w-w-s-dots span:nth-child(4),
.what-we-support .w-w-s-dots span:nth-child(6),
.what-we-support .w-w-s-dots span:nth-child(8) { background:#653593; opacity:.45; }
@media (max-width: 1280px) {
  .what-we-support .w-w-s-map-complete {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    row-gap: 10px;
  }
  .what-we-support .w-w-s-map-complete .w-w-s-node:nth-child(4)::after,
  .what-we-support .w-w-s-map-complete .w-w-s-node:nth-child(8)::after {
    display:none;
  }
}
@media (max-width: 720px) {
  .what-we-support .w-w-s-map-complete {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .what-we-support .w-w-s-map-complete .w-w-s-node:not(:last-child)::after {
    display:none;
  }
}



/* V6.37 — Previous / next capability navigation */
.what-we-support .w-w-s-navigation {
  display:flex; align-items:center; justify-content:center; gap:22px; margin-top:24px;
}
.what-we-support .w-w-s-arrow {
  width:38px; height:38px; border:1px solid rgba(16,22,56,.20); border-radius:50%;
  background:rgba(255,255,255,.72); color:#101638; display:inline-flex; align-items:center; justify-content:center;
  font:inherit; cursor:pointer; transition:transform .2s ease, border-color .2s ease, color .2s ease, opacity .2s ease;
}
.what-we-support .w-w-s-arrow:hover:not(:disabled) { transform:translateY(-2px); border-color:#653593; color:#653593; }
.what-we-support .w-w-s-arrow:disabled { opacity:.28; cursor:not-allowed; }
.what-we-support .w-w-s-arrow span { font-size:1.15rem; line-height:1; }
.what-we-support .w-w-s-dots { margin-top:0; }
@media (max-width:680px) {
  .what-we-support .w-w-s-navigation { gap:14px; }
  .what-we-support .w-w-s-arrow { width:34px; height:34px; }
}


/* V6.38 — consistent six-area support panels */
.what-we-support .w-w-s-support-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
}
.what-we-support .w-w-s-card {
  min-height: 78px;
  position: relative;
  padding-right: 0;
  transition: transform .2s ease, border-color .2s ease;
}
.what-we-support .w-w-s-card:hover { transform: translateX(3px); }
.what-we-support .w-w-s-panel-intro {
  min-width: 0;
}
@media (max-width: 760px) {
  .what-we-support .w-w-s-support-grid { grid-template-columns: 1fr; }
}


/* V7 — capability navigation click safety */
.what-we-support .w-w-s-navigation { position: relative; z-index: 5; }
.what-we-support .w-w-s-arrow { position: relative; z-index: 6; pointer-events: auto; }
.what-we-support .w-w-s-arrow:not(:disabled) { cursor: pointer; }
.what-we-support .w-w-s-panel[hidden] { display: none !important; }


/* V8 — Corporate engineering flowcharts: replace explanatory imagery with capability flows */
.homepage-engineering-visual{position:absolute;z-index:2;right:4%;top:18%;width:49%;height:58%;display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));grid-template-rows:repeat(2,minmax(95px,1fr));gap:14px;align-content:center;align-items:center;pointer-events:none;}
.homepage-flow-line{position:absolute;left:8%;right:8%;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,119,0,.45),rgba(101,53,147,.45),transparent);}
.homepage-flow-node{position:relative;z-index:1;min-height:96px;padding:16px 14px;border:1px solid rgba(101,53,147,.28);background:rgba(255,255,255,.07);backdrop-filter:blur(3px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-shadow:0 8px 24px rgba(16,22,56,.06);}
.homepage-flow-node:nth-child(odd){border-color:rgba(239,119,0,.35);}
.homepage-flow-node span{font:11px/1 "IBM Plex Mono",monospace;color:#ef7700;margin-bottom:10px;}
.homepage-flow-node b{font:700 18px/1.1 "Space Grotesk",sans-serif;color:#101638;}
.homepage-flow-node small{margin-top:5px;font:10px/1.2 "IBM Plex Mono",monospace;letter-spacing:.12em;color:#653593;}
.engineering-flowchart{margin:22px 0 8px;padding:24px;border:1px solid rgba(16,22,56,.14);background:#fff;box-sizing:border-box;}
.engineering-flowchart .flowchart-kicker{margin:0 0 18px;font:11px/1 "IBM Plex Mono",monospace;letter-spacing:.14em;color:#653593;text-transform:uppercase;}
.engineering-flowchart .flowchart-track{display:flex;align-items:stretch;gap:0;overflow:visible;padding:6px 2px 12px;}
.engineering-flowchart .flow-step{position:relative;flex:1 1 0;min-width:120px;min-height:94px;padding:16px 14px;border:1px solid rgba(16,22,56,.14);background:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease;}
.engineering-flowchart .flow-step:nth-child(odd){border-top:2px solid #ef7700;}.engineering-flowchart .flow-step:nth-child(even){border-top:2px solid #653593;}
.engineering-flowchart .flow-step:hover{transform:translateY(-3px);border-color:rgba(101,53,147,.34);box-shadow:0 10px 24px rgba(16,22,56,.08);background:#fff;}
.engineering-flowchart .flow-step:not(:last-child)::after{content:"→";position:absolute;right:-12px;top:50%;transform:translateY(-50%);z-index:3;width:24px;height:24px;border:1px solid rgba(16,22,56,.15);border-radius:50%;background:#fff;display:grid;place-items:center;color:#101638;font:14px/1 "IBM Plex Mono",monospace;}
.engineering-flowchart .flow-step span{font:10px/1 "IBM Plex Mono",monospace;color:#ef7700;margin-bottom:10px;}
.engineering-flowchart .flow-step strong{font:700 15px/1.25 "Space Grotesk",sans-serif;color:#101638;}
.engineering-flowchart .flow-step small{margin-top:7px;font:11px/1.35 "Space Grotesk",sans-serif;color:#69738c;}
.engineering-flowchart .flow-result{margin-top:16px;padding-top:13px;border-top:1px solid rgba(16,22,56,.1);display:flex;justify-content:space-between;gap:20px;align-items:center;}
.engineering-flowchart .flow-result b{font:700 12px/1 "IBM Plex Mono",monospace;letter-spacing:.08em;color:#653593;text-transform:uppercase;}
.engineering-flowchart .flow-result span{font-size:13px;color:#667089;}
.formal-flow-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.formal-flow-pair .engineering-flowchart{margin-top:0;}
@media(max-width:1050px){.homepage-engineering-visual{right:2%;width:47%;}.homepage-flow-node b{font-size:15px;}}
@media(max-width:800px){.homepage-engineering-visual{position:relative;right:auto;top:auto;width:100%;height:auto;margin:28px 0 0;grid-template-columns:repeat(2,minmax(120px,1fr));}.homepage-flow-line{display:none;}.formal-flow-pair{grid-template-columns:1fr;}.engineering-flowchart .flow-step{min-width:145px;}.engineering-flowchart{padding:18px;}}
@media(max-width:520px){.homepage-engineering-visual{grid-template-columns:1fr 1fr;gap:9px;}.homepage-flow-node{min-height:78px;padding:10px;}.homepage-flow-node b{font-size:14px;}.engineering-flowchart .flow-step{min-width:132px;}}

/* V8.1 — Engineering FAQ: uses the existing Terasilicon IQ paper/ink/violet/orange theme. */
.engineering-faq{background:var(--paper);border-bottom:1px solid var(--line);padding:96px 0 104px;position:relative;overflow:hidden}
.engineering-faq::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.32;background-image:linear-gradient(30deg,rgba(101,53,147,.055) 1px,transparent 1px),linear-gradient(150deg,rgba(239,119,0,.045) 1px,transparent 1px);background-size:110px 110px,150px 150px}
.engineering-faq .container{position:relative;z-index:1}
.engineering-faq-head{max-width:820px;margin:0 auto 42px;text-align:center}
.engineering-faq-head .eyebrow{color:var(--violet);margin-bottom:16px}
.engineering-faq-head h2{font-size:clamp(38px,4.5vw,58px);letter-spacing:-2px}
.engineering-faq-head>p:last-child{max-width:720px;margin:16px auto 0;color:var(--muted);font-size:15px;line-height:1.7}
.engineering-faq-list{max-width:1000px;margin:0 auto;display:grid;gap:12px}
.engineering-faq-item{background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}
.engineering-faq-item:hover{border-color:rgba(101,53,147,.38);box-shadow:0 10px 28px rgba(16,22,56,.06)}
.engineering-faq-item.is-open{border-color:rgba(239,119,0,.48);box-shadow:0 12px 30px rgba(239,119,0,.06)}
.engineering-faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;background:transparent;border:0;color:var(--ink);font:600 16px/1.35 "Space Grotesk",Arial,sans-serif;text-align:left;cursor:pointer}
.engineering-faq-question:focus-visible{outline:2px solid var(--violet);outline-offset:-3px}
.engineering-faq-symbol{flex:0 0 auto;width:24px;height:24px;display:grid;place-items:center;color:var(--violet);font:20px/1 "IBM Plex Mono",monospace}
.engineering-faq-item.is-open .engineering-faq-symbol{color:var(--orange)}
.engineering-faq-answer{padding:0 26px 25px;color:var(--muted)}
.engineering-faq-answer p{margin:0;max-width:920px;font-size:14px;line-height:1.8}
@media(max-width:580px){.engineering-faq{padding:72px 0 80px}.engineering-faq-head{margin-bottom:30px}.engineering-faq-question{padding:20px 18px;font-size:14px}.engineering-faq-answer{padding:0 18px 20px}.engineering-faq-answer p{font-size:13px}}


/* =========================================================
   V8.2 — DETAILED SUBPAGE BALANCE
   Homepage hero and all unrelated pages remain unchanged.
   ========================================================= */

/* Formal Verification: bring the title and supporting copy closer
   to the information density used by the other capability pages. */
.formal-reference-page .formal-copy h1{
  max-width:650px !important;
  font-size:clamp(34px,3.35vw,50px) !important;
  line-height:1.04 !important;
  letter-spacing:-2px !important;
  margin:8px 0 16px !important;
}
.formal-reference-page .formal-copy > p{
  max-width:650px !important;
  font-size:14px !important;
  line-height:1.62 !important;
}
.formal-reference-page .formal-points{margin-top:14px !important;}
.formal-reference-page .formal-points li{
  font-size:12.5px !important;
  margin:7px 0 !important;
  line-height:1.45 !important;
}
.formal-reference-page .tags{margin-top:14px !important;}

/* Physical Design + Physical Verification only: compact the three
   support blocks by removing the artificial minimum height and
   tightening padding, headings and list rhythm. */
.compact-support-page .detailed-domain .cols .info-card{
  min-height:0 !important;
  padding:15px 18px !important;
}
.compact-support-page .detailed-domain .cols .info-card h4{
  margin:0 0 8px !important;
  font-size:12.5px !important;
  line-height:1.25 !important;
}
.compact-support-page .detailed-domain .cols .info-card ul{
  padding-left:15px !important;
}
.compact-support-page .detailed-domain .cols .info-card li{
  margin:3px 0 !important;
  font-size:12px !important;
  line-height:1.35 !important;
}

@media(max-width:760px){
  .formal-reference-page .formal-copy h1{
    font-size:clamp(32px,8.8vw,46px) !important;
    letter-spacing:-1.7px !important;
  }
  .compact-support-page .detailed-domain .cols .info-card{
    padding:15px 17px !important;
  }
}

/* V8.4 — Stack Physical Design / Physical Verification support content vertically. */
.compact-support-page .detailed-domain .cols{
  grid-template-columns:1fr !important;
  width:100% !important;
  display:grid !important;
  margin-top:24px !important;
}
.compact-support-page .detailed-domain .cols .info-card{
  width:100% !important;
  min-height:0 !important;
}
.compact-support-page .detailed-domain .outcome{
  display:block !important;
  width:100% !important;
  clear:both !important;
  margin-top:18px !important;
}

/* V8.6 — Physical Design / Physical Verification support layout */
@media (min-width: 768px) {
  .compact-support-page .detailed-domain > .cols {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
  }
  .compact-support-page .detailed-domain > .cols .info-card {
    width: auto !important;
    min-width: 0 !important;
  }
  .compact-support-page .detailed-domain > .outcome {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin-top: 28px !important;
  }
}
@media (max-width: 767px) {
  .compact-support-page .detailed-domain > .cols {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .compact-support-page .detailed-domain > .outcome {
    width: 100% !important;
    margin-top: 20px !important;
  }
}

/* V8.7 — Exact stacked support/outcome layout for Physical Design and Physical Verification */
.compact-support-page .detailed-domain {
  display: block !important;
}
.compact-support-page .detailed-domain > .cols {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: 100% !important;
  margin-top: 20px !important;
}
.compact-support-page .detailed-domain > .outcome {
  display: block !important;
  grid-column: auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-top: 28px !important;
  clear: both !important;
}
@media (max-width: 767px) {
  .compact-support-page .detailed-domain > .cols {
    grid-template-columns: 1fr !important;
  }
  .compact-support-page .detailed-domain > .outcome {
    width: 100% !important;
    margin-top: 20px !important;
  }
}


/* V8.9 — Restore Physical Design / Physical Verification page structure.
   Keep the 3-column support cards + full-width outcome, but restore the
   original desktop two-column title/engineering-flow composition. */
@media (min-width: 901px) {
  body[data-capability-page="physical-design-signoff.html"] .detailed-domain .domain-top,
  body[data-capability-page="physical-verification.html"] .detailed-domain .domain-top {
    display: grid !important;
    grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr) !important;
    gap: 46px !important;
    align-items: start !important;
    width: 100% !important;
  }

  body[data-capability-page="physical-design-signoff.html"] .detailed-domain .domain-info,
  body[data-capability-page="physical-verification.html"] .detailed-domain .domain-info {
    width: 100% !important;
    max-width: 820px !important;
    min-width: 0 !important;
  }

  body[data-capability-page="physical-design-signoff.html"] .detailed-domain .engineering-flowchart,
  body[data-capability-page="physical-verification.html"] .detailed-domain .engineering-flowchart {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
  }
}

@media (max-width: 900px) {
  body[data-capability-page="physical-design-signoff.html"] .detailed-domain .domain-top,
  body[data-capability-page="physical-verification.html"] .detailed-domain .domain-top {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    width: 100% !important;
  }

  body[data-capability-page="physical-design-signoff.html"] .detailed-domain .engineering-flowchart,
  body[data-capability-page="physical-verification.html"] .detailed-domain .engineering-flowchart {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    margin: 0 !important;
  }
}


/* V8.10 — Restore detailed capability page structure. The previous V8.8
   support-layout-v88 class was applied to <main>, unintentionally turning
   the entire page into a 3-column grid. Support columns belong only to .cols. */
@media (min-width: 761px) {
  .detailed-capability-page.compact-support-page {
    display: block !important;
    width: auto !important;
  }
  .detailed-capability-page.compact-support-page > .detailed-container {
    display: block !important;
    width: min(1680px, calc(100% - 96px)) !important;
    max-width: 1680px !important;
    margin-inline: auto !important;
  }
  .detailed-capability-page.compact-support-page .detailed-domain .domain-top {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(720px,.95fr) !important;
    gap: 36px !important;
    align-items: center !important;
  }
  .detailed-capability-page.compact-support-page .detailed-domain .cols {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 1px !important;
    width: 100% !important;
  }
  .detailed-capability-page.compact-support-page .detailed-domain .outcome {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 14px !important;
  }
}
@media (max-width: 900px) {
  .detailed-capability-page.compact-support-page > .detailed-container {
    width: min(100% - 40px, 760px) !important;
  }
  .detailed-capability-page.compact-support-page .detailed-domain .domain-top {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .detailed-capability-page.compact-support-page .detailed-domain .cols {
    grid-template-columns: 1fr !important;
  }
}


/* V8.11 — EMIR support section: three support columns with outcome on next row. */
@media (min-width: 761px) {
  body[data-capability-page="emir-power-integrity.html"] .detailed-domain {
    display: block !important;
    width: 100% !important;
  }

  body[data-capability-page="emir-power-integrity.html"] .detailed-domain > .cols {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    margin-top: 24px !important;
    float: none !important;
    clear: both !important;
  }

  body[data-capability-page="emir-power-integrity.html"] .detailed-domain > .cols .info-card {
    width: auto !important;
    min-width: 0 !important;
    float: none !important;
  }

  body[data-capability-page="emir-power-integrity.html"] .detailed-domain > .outcome {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 28px 0 0 !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 760px) {
  body[data-capability-page="emir-power-integrity.html"] .detailed-domain > .cols {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  body[data-capability-page="emir-power-integrity.html"] .detailed-domain > .outcome {
    width: 100% !important;
    margin-top: 20px !important;
  }
}


/* =========================================================
   EMIR & POWER INTEGRITY — SUPPORT GRID STRUCTURE
   Three support cards stay in one row; Engineering Outcome
   is a separate full-width row directly underneath.
   ========================================================= */
@media (min-width: 761px) {
  body[data-capability-page="emir-power-integrity.html"] .detailed-domain {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "top"
      "support"
      "outcome" !important;
    width: 100% !important;
    align-items: start !important;
  }

  body[data-capability-page="emir-power-integrity.html"] .detailed-domain > .domain-top {
    grid-area: top !important;
    width: 100% !important;
  }

  body[data-capability-page="emir-power-integrity.html"] .detailed-domain > .cols {
    grid-area: support !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    margin: 28px 0 0 !important;
    float: none !important;
    clear: none !important;
  }

  body[data-capability-page="emir-power-integrity.html"] .detailed-domain > .outcome {
    grid-area: outcome !important;
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 18px 0 0 !important;
    float: none !important;
    clear: none !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 760px) {
  body[data-capability-page="emir-power-integrity.html"] .detailed-domain {
    display: block !important;
  }

  body[data-capability-page="emir-power-integrity.html"] .detailed-domain > .cols {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    margin-top: 24px !important;
  }

  body[data-capability-page="emir-power-integrity.html"] .detailed-domain > .outcome {
    display: block !important;
    width: 100% !important;
    margin-top: 18px !important;
  }
}

/* V8.19 — PD/PV engineering flowcharts match the STA template: no white
   outer panel; the flow cards remain the only white surfaces. */
body[data-capability-page="physical-design-signoff.html"] .detailed-domain .engineering-flowchart,
body[data-capability-page="physical-verification.html"] .detailed-domain .engineering-flowchart {
  margin: 22px 0 8px !important;
  padding: 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}


/* V8.21 — Formal flowcharts match the STA template and stay within bounds. */
body.formal-verification-page .formal-flow-pair {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  min-width: 0;
}
body.formal-verification-page .formal-flow-pair .engineering-flowchart {
  margin: 0;
  padding: 22px 16px 18px;
  border: 0;
  background: transparent;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}
body.formal-verification-page .engineering-flowchart .flowchart-track {
  width: 100%;
  min-width: 0;
  overflow: visible;
  padding: 6px 0 12px;
  box-sizing: border-box;
}
body.formal-verification-page .engineering-flowchart .flow-step {
  min-width: 0;
  width: 0;
  padding: 14px 10px;
  box-sizing: border-box;
}
body.formal-verification-page .engineering-flowchart .flow-step strong {
  font-size: 14px;
}
body.formal-verification-page .engineering-flowchart .flow-step small {
  font-size: 10px;
}
body.formal-verification-page .engineering-flowchart .flow-step:not(:last-child)::after {
  right: -10px;
  width: 20px;
  height: 20px;
  font-size: 12px;
}
body.formal-verification-page .engineering-flowchart .flow-result {
  gap: 14px;
}
@media (max-width: 1100px) {
  body.formal-verification-page .formal-flow-pair {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  body.formal-verification-page .formal-flow-pair .engineering-flowchart {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (max-width: 700px) {
  /* V8.36 — Mobile flowcharts: vertical, readable, no horizontal compression */
  .engineering-flowchart .flowchart-track,
  body.formal-verification-page .engineering-flowchart .flowchart-track {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    width:100%;
    min-width:0;
    overflow:visible;
    padding:6px 0 8px;
    gap:0;
  }

  .engineering-flowchart .flow-step,
  body.formal-verification-page .engineering-flowchart .flow-step {
    position:relative;
    width:100%;
    min-width:0;
    min-height:92px;
    padding:18px 18px 20px;
    margin:0;
    box-sizing:border-box;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-left:1px solid rgba(16,22,56,.14);
    border-right:1px solid rgba(16,22,56,.14);
    border-bottom:0;
  }

  .engineering-flowchart .flow-step:nth-child(odd),
  .engineering-flowchart .flow-step:nth-child(even) {
    border-top-width:2px;
  }

  .engineering-flowchart .flow-step span {
    margin:0 0 8px;
    font-size:10px;
    line-height:1;
  }

  .engineering-flowchart .flow-step strong {
    font-size:16px;
    line-height:1.25;
    max-width:100%;
  }

  .engineering-flowchart .flow-step small {
    margin-top:6px;
    font-size:12px;
    line-height:1.4;
    max-width:100%;
  }

  .engineering-flowchart .flow-step:not(:last-child)::after,
  body.formal-verification-page .engineering-flowchart .flow-step:not(:last-child)::after {
    content:"↓";
    right:50%;
    top:auto;
    bottom:-11px;
    transform:translate(50%, 0);
    width:34px;
    height:34px;
    z-index:5;
    border:1px solid rgba(16,22,56,.18);
    border-radius:50%;
    background:#fff;
    display:grid;
    place-items:center;
    color:#101638;
    font:14px/1 "IBM Plex Mono",monospace;
  }

  .engineering-flowchart .flow-step:last-child {
    border-bottom:1px solid rgba(16,22,56,.14);
  }

  .engineering-flowchart .flow-result,
  body.formal-verification-page .engineering-flowchart .flow-result {
    margin-top:16px;
    padding-top:14px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:7px;
    text-align:left;
  }

  .engineering-flowchart .flow-result span {
    font-size:13px;
    line-height:1.5;
  }
}

/* V8.22 — Unified white flowchart panel background, matching the approved STA/formal reference */
.engineering-flowchart{
  background:#fff !important;
  border:1px solid rgba(16,22,56,.14) !important;
  box-sizing:border-box;
}

/* V8.23 — PD/PV must use the same visible white flowchart panel as all other approved flowcharts.
   This selector intentionally matches the earlier PD/PV override so the panel cannot be
   made transparent by its higher specificity. */
body[data-capability-page="physical-design-signoff.html"] .detailed-domain .engineering-flowchart,
body[data-capability-page="physical-verification.html"] .detailed-domain .engineering-flowchart {
  background: #fff !important;
  border: 1px solid rgba(16,22,56,.14) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* ===== V8.24 — FORMAL PAGE FLOW SEPARATION ===== */
.formal-reference-page .formal-flow-pair {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 24px !important;
  margin: 0 0 34px !important;
  width: 100% !important;
}

.formal-reference-page .formal-flow-pair .engineering-flowchart {
  width: 100% !important;
  min-width: 0 !important;
  padding: 28px 30px 22px !important;
  border: 1px solid var(--line) !important;
  background: #fff !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.formal-reference-page .formal-flow-pair .flowchart-kicker {
  margin: 0 0 22px !important;
  color: var(--violet) !important;
  font: 11px/1.2 "IBM Plex Mono", monospace !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

.formal-reference-page .formal-flow-pair .flowchart-track {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  width: 100% !important;
  min-width: 0 !important;
  border: 1px solid var(--line) !important;
  background: #fff !important;
}

.formal-reference-page .formal-flow-pair .flow-step {
  position: relative !important;
  min-width: 0 !important;
  min-height: 122px !important;
  padding: 16px 16px 14px !important;
  border-right: 1px solid var(--line) !important;
  border-top: 2px solid var(--orange) !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

.formal-reference-page .formal-flow-pair .flow-step:nth-child(even) {
  border-top-color: var(--violet) !important;
}

.formal-reference-page .formal-flow-pair .flow-step:last-child {
  border-right: 0 !important;
}

.formal-reference-page .formal-flow-pair .flow-step span {
  display: block !important;
  margin-bottom: 8px !important;
  color: var(--orange) !important;
  font: 11px/1 "IBM Plex Mono", monospace !important;
}

.formal-reference-page .formal-flow-pair .flow-step strong {
  display: block !important;
  color: var(--ink) !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
}

.formal-reference-page .formal-flow-pair .flow-step small {
  display: block !important;
  margin-top: 8px !important;
  color: #68718a !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}

.formal-reference-page .formal-flow-pair .flow-step:not(:last-child)::after {
  content: "→" !important;
  position: absolute !important;
  z-index: 2 !important;
  top: 50% !important;
  right: -15px !important;
  transform: translateY(-50%) !important;
  width: 30px !important;
  height: 30px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid var(--line) !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: var(--ink) !important;
  font-size: 14px !important;
}

.formal-reference-page .formal-flow-pair .flow-result {
  display: grid !important;
  grid-template-columns: 120px 1fr !important;
  gap: 20px !important;
  align-items: center !important;
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--line) !important;
}

.formal-reference-page .formal-flow-pair .flow-result b {
  color: var(--violet) !important;
  font: 10px/1.2 "IBM Plex Mono", monospace !important;
  letter-spacing: .1em !important;
}

.formal-reference-page .formal-flow-pair .flow-result span {
  color: #59617a !important;
  font-size: 13px !important;
}

@media (max-width: 800px) {
  .formal-reference-page .formal-flow-pair .engineering-flowchart {
    padding: 24px 18px 20px !important;
    overflow-x: auto !important;
  }
  .formal-reference-page .formal-flow-pair .flowchart-track {
    min-width: 720px !important;
  }
  .formal-reference-page .formal-flow-pair .flow-result {
    min-width: 720px !important;
  }
}

@media (max-width: 560px) {
  .formal-reference-page .formal-flow-pair .flowchart-track {
    min-width: 660px !important;
  }
  .formal-reference-page .formal-flow-pair .flow-step {
    min-height: 112px !important;
    padding: 14px 12px !important;
  }
}

/* V8.25 — Restore proper Formal flow-step sizing. The V8.21 width:0 rule was
   intended for flex sizing but collapses grid items on the separated Formal page. */
body.formal-verification-page .formal-reference-page .formal-flow-pair .flowchart-track,
.formal-reference-page .formal-flow-pair .flowchart-track {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

.formal-reference-page .formal-flow-pair .flow-step {
  width: auto !important;
  min-width: 0 !important;
  flex: none !important;
  box-sizing: border-box !important;
}

.formal-reference-page .formal-flow-pair .flow-step strong {
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.formal-reference-page .formal-flow-pair .flow-step small {
  overflow-wrap: normal !important;
  word-break: normal !important;
}

@media (max-width: 800px) {
  .formal-reference-page .formal-flow-pair .flowchart-track {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(132px, 1fr)) !important;
    width: max-content !important;
    min-width: 820px !important;
    overflow: visible !important;
  }
}

/* V8.26 — Keep the complete PD/PV engineering-flow panel white, including
   the outcome row. No change to flow content or page structure. */
body[data-capability-page="physical-design-signoff.html"] .detailed-domain .engineering-flowchart,
body[data-capability-page="physical-verification.html"] .detailed-domain .engineering-flowchart {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  padding-bottom: 24px !important;
  box-sizing: border-box !important;
}

body[data-capability-page="physical-design-signoff.html"] .detailed-domain .engineering-flowchart .flow-result,
body[data-capability-page="physical-verification.html"] .detailed-domain .engineering-flowchart .flow-result {
  background: #fff !important;
}

/* V8.27 — Formal page corporate workflow presentation */
.formal-reference-page .formal-flow-pair{
  display:block !important;
  margin:36px 0 34px !important;
  padding:28px 30px 8px !important;
  border:1px solid var(--line) !important;
  background:#fff !important;
  box-sizing:border-box !important;
}
.formal-reference-page .formal-flow-pair::before{
  content:"FORMAL ENGINEERING WORKFLOWS";
  display:block;
  margin:0 0 8px;
  color:var(--violet);
  font:11px/1.2 "IBM Plex Mono",monospace;
  letter-spacing:.14em;
}
.formal-reference-page .formal-flow-pair::after{
  content:"Structured proof and equivalence workflows supporting engineering sign-off.";
  display:block;
  margin:-2px 0 22px;
  color:var(--muted);
  font:13px/1.5 "Space Grotesk",sans-serif;
}
.formal-reference-page .formal-flow-pair .engineering-flowchart{
  margin:0 !important;
  padding:22px 0 20px !important;
  border:0 !important;
  border-top:1px solid var(--line) !important;
  background:#fff !important;
}
.formal-reference-page .formal-flow-pair .engineering-flowchart:first-of-type{border-top:0 !important;padding-top:4px !important;}
.formal-reference-page .formal-flow-pair .flowchart-kicker{
  display:block !important;
  margin:0 0 14px !important;
  color:var(--ink) !important;
  font:700 12px/1.2 "IBM Plex Mono",monospace !important;
  letter-spacing:.10em !important;
}
.formal-reference-page .formal-flow-pair .flowchart-track{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  border:1px solid var(--line) !important;
  background:#fff !important;
}
.formal-reference-page .formal-flow-pair .flow-step{
  min-height:102px !important;
  padding:14px 15px 12px !important;
  background:#fff !important;
  border-right:1px solid var(--line) !important;
  border-top:2px solid var(--orange) !important;
}
.formal-reference-page .formal-flow-pair .flow-step:nth-child(even){border-top-color:var(--violet) !important;}
.formal-reference-page .formal-flow-pair .flow-step span{margin-bottom:7px !important;font-size:10px !important;}
.formal-reference-page .formal-flow-pair .flow-step strong{font-size:14px !important;line-height:1.2 !important;}
.formal-reference-page .formal-flow-pair .flow-step small{font-size:10px !important;line-height:1.35 !important;margin-top:6px !important;}
.formal-reference-page .formal-flow-pair .flow-step:not(:last-child)::after{width:26px !important;height:26px !important;right:-13px !important;font-size:12px !important;}
.formal-reference-page .formal-flow-pair .flow-result{margin-top:14px !important;padding-top:12px !important;grid-template-columns:90px 1fr !important;gap:16px !important;}
.formal-reference-page .formal-flow-pair .flow-result b{font-size:10px !important;}
.formal-reference-page .formal-flow-pair .flow-result span{font-size:12px !important;}
@media(max-width:1050px){
 .formal-reference-page .formal-flow-pair{padding:24px 22px 6px !important;}
 .formal-reference-page .formal-flow-pair .flowchart-track{overflow-x:auto !important;}
 .formal-reference-page .formal-flow-pair .flow-step{min-width:135px !important;}
}
@media(max-width:700px){
 .formal-reference-page .formal-flow-pair{padding:20px 16px 4px !important;}
 .formal-reference-page .formal-flow-pair .flow-result{grid-template-columns:1fr !important;gap:6px !important;}
}

/* V8.28 — Formal workflows side-by-side on desktop */
.formal-reference-page .formal-flow-pair{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:20px !important;
  align-items:stretch !important;
}
.formal-reference-page .formal-flow-pair::before{
  grid-column:1 / -1 !important;
}
.formal-reference-page .formal-flow-pair::after{
  grid-column:1 / -1 !important;
}
.formal-reference-page .formal-flow-pair .engineering-flowchart{
  min-width:0 !important;
  border:1px solid var(--line) !important;
  padding:22px 18px 18px !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
.formal-reference-page .formal-flow-pair .flowchart-track{
  min-width:0 !important;
}
.formal-reference-page .formal-flow-pair .flow-step{
  min-width:0 !important;
  padding:13px 10px 11px !important;
}
.formal-reference-page .formal-flow-pair .flow-step strong{
  font-size:13px !important;
}
.formal-reference-page .formal-flow-pair .flow-step small{
  font-size:9.5px !important;
}
@media(max-width:1050px){
  .formal-reference-page .formal-flow-pair{
    grid-template-columns:1fr !important;
  }
  .formal-reference-page .formal-flow-pair .engineering-flowchart{
    margin:0 !important;
  }
}

/* V8.29 — Restore the missing top border on the Property Verification Flow panel. */
.formal-reference-page .formal-flow-pair .engineering-flowchart:first-of-type {
  border-top: 1px solid var(--line) !important;
  padding-top: 22px !important;
}

/* V8.30 — Formal support cards: subtle corporate hover interaction. */
body.formal-verification-page .detailed-domain > .cols .info-card {
  position: relative;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease, background-color .24s ease !important;
  border-top: 2px solid transparent !important;
  cursor: default;
}
body.formal-verification-page .detailed-domain > .cols .info-card:hover,
body.formal-verification-page .detailed-domain > .cols .info-card:focus-within {
  transform: translateY(-5px) !important;
  background: #fff !important;
  border-top-color: var(--orange) !important;
  box-shadow: 0 14px 30px rgba(16,22,56,.10) !important;
  z-index: 2;
}
body.formal-verification-page .detailed-domain > .cols .info-card:nth-child(2):hover,
body.formal-verification-page .detailed-domain > .cols .info-card:nth-child(2):focus-within {
  border-top-color: var(--violet) !important;
}
body.formal-verification-page .detailed-domain > .cols .info-card:nth-child(3):hover,
body.formal-verification-page .detailed-domain > .cols .info-card:nth-child(3):focus-within {
  border-top-color: var(--orange) !important;
}
@media (prefers-reduced-motion: reduce) {
  body.formal-verification-page .detailed-domain > .cols .info-card {
    transition: none !important;
  }
}

/* V8.31 — Mobile Formal flowcharts: preserve readable step widths and use
   intentional horizontal scrolling instead of squeezing six steps into the viewport. */
@media (max-width: 700px) {
  .formal-reference-page .formal-flow-pair .engineering-flowchart {
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 20px 14px 18px !important;
  }

  .formal-reference-page .formal-flow-pair .flowchart-track {
    display: grid !important;
    grid-template-columns: repeat(6, 145px) !important;
    width: max-content !important;
    min-width: 870px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 4px 2px 14px !important;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }

  .formal-reference-page .formal-flow-pair .flow-step {
    width: 145px !important;
    min-width: 145px !important;
    min-height: 118px !important;
    padding: 14px 12px 12px !important;
    box-sizing: border-box !important;
  }

  .formal-reference-page .formal-flow-pair .flow-step strong {
    font-size: 14px !important;
    line-height: 1.25 !important;
  }

  .formal-reference-page .formal-flow-pair .flow-step small {
    font-size: 10.5px !important;
    line-height: 1.4 !important;
  }

  .formal-reference-page .formal-flow-pair .flow-step:not(:last-child)::after {
    right: -13px !important;
    width: 26px !important;
    height: 26px !important;
  }

  .formal-reference-page .formal-flow-pair .flow-result {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    margin-top: 14px !important;
    padding-top: 13px !important;
  }
}

@media (max-width: 420px) {
  .formal-reference-page .formal-flow-pair .flowchart-track {
    grid-template-columns: repeat(6, 140px) !important;
    min-width: 840px !important;
  }

  .formal-reference-page .formal-flow-pair .flow-step {
    width: 140px !important;
    min-width: 140px !important;
  }
}

/* V8.32 — STA mobile optimization
   Keep the page inside the viewport while allowing only the engineering
   flow track to scroll horizontally.  Prevent long headings/copy from
   creating page-level horizontal overflow. */
@media (max-width: 760px) {
  html, body {
    max-width: 100%;
    overflow-x: hidden;
  }

  body[data-capability-page="sta-timing-closure.html"] .detailed-container {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .detailed-domain,
  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .domain-top,
  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .domain-info {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .domain-top {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .domain-info h3 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: clamp(32px, 9.5vw, 46px) !important;
    line-height: 1.02 !important;
    letter-spacing: -1.8px !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .domain-info > p {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
    overflow-wrap: break-word !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .tags {
    width: 100% !important;
    max-width: 100% !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .engineering-flowchart {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 18px 12px 16px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .engineering-flowchart .flowchart-track {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: thin !important;
    padding: 6px 2px 12px !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .engineering-flowchart .flow-step {
    flex: 0 0 145px !important;
    width: 145px !important;
    min-width: 145px !important;
    max-width: 145px !important;
    min-height: 104px !important;
    padding: 14px 12px !important;
    box-sizing: border-box !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .engineering-flowchart .flow-step strong {
    font-size: 15px !important;
    line-height: 1.25 !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .engineering-flowchart .flow-step small {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .engineering-flowchart .flow-step:not(:last-child)::after {
    right: -12px !important;
    width: 24px !important;
    height: 24px !important;
    font-size: 12px !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .engineering-flowchart .flow-result {
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .engineering-flowchart .flow-result span {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    overflow-wrap: break-word !important;
  }
}

@media (max-width: 420px) {
  body[data-capability-page="sta-timing-closure.html"] .detailed-container {
    width: calc(100% - 28px) !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .engineering-flowchart {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .engineering-flowchart .flow-step {
    flex-basis: 140px !important;
    width: 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
  }
}

/* V8.33 — Mobile flowcharts: vertical presentation on every capability subpage.
   Desktop remains unchanged. On phones each engineering flow becomes a
   readable step-by-step stack with a downward connector. */
@media (max-width: 760px) {
  html, body {
    max-width: 100%;
    overflow-x: hidden !important;
  }

  /* All standard capability flowcharts */
  .engineering-flowchart,
  body.formal-verification-page .formal-flow-pair .engineering-flowchart {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .engineering-flowchart .flowchart-track,
  body.formal-verification-page .formal-flow-pair .flowchart-track {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    border: 1px solid var(--line) !important;
    box-sizing: border-box !important;
  }

  .engineering-flowchart .flow-step,
  body.formal-verification-page .formal-flow-pair .flow-step {
    position: relative !important;
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 92px !important;
    height: auto !important;
    padding: 16px 18px 18px !important;
    border: 0 !important;
    border-top: 2px solid var(--orange) !important;
    border-bottom: 1px solid var(--line) !important;
    background: #fff !important;
    box-sizing: border-box !important;
    justify-content: center !important;
  }

  .engineering-flowchart .flow-step:nth-child(even),
  body.formal-verification-page .formal-flow-pair .flow-step:nth-child(even) {
    border-top-color: var(--violet) !important;
  }

  .engineering-flowchart .flow-step:last-child,
  body.formal-verification-page .formal-flow-pair .flow-step:last-child {
    border-bottom: 0 !important;
  }

  .engineering-flowchart .flow-step span,
  body.formal-verification-page .formal-flow-pair .flow-step span {
    margin-bottom: 8px !important;
    font-size: 10px !important;
  }

  .engineering-flowchart .flow-step strong,
  body.formal-verification-page .formal-flow-pair .flow-step strong {
    font-size: 16px !important;
    line-height: 1.25 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .engineering-flowchart .flow-step small,
  body.formal-verification-page .formal-flow-pair .flow-step small {
    margin-top: 6px !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  /* Replace horizontal arrows with vertical connectors. */
  .engineering-flowchart .flow-step:not(:last-child)::after,
  body.formal-verification-page .formal-flow-pair .flow-step:not(:last-child)::after {
    content: "↓" !important;
    right: auto !important;
    left: 50% !important;
    top: auto !important;
    bottom: -13px !important;
    transform: translateX(-50%) !important;
    width: 26px !important;
    height: 26px !important;
    border: 1px solid var(--line) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--ink) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    z-index: 5 !important;
  }

  .engineering-flowchart .flow-result,
  body.formal-verification-page .formal-flow-pair .flow-result {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    margin-top: 16px !important;
    padding-top: 14px !important;
    box-sizing: border-box !important;
  }

  .engineering-flowchart .flow-result span,
  body.formal-verification-page .formal-flow-pair .flow-result span {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    overflow-wrap: break-word !important;
  }

  /* Formal: keep the two workflows as two separate cards, stacked vertically. */
  .formal-reference-page .formal-flow-pair,
  body.formal-verification-page .formal-flow-pair {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 18px 14px 4px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .formal-reference-page .formal-flow-pair::before,
  .formal-reference-page .formal-flow-pair::after {
    grid-column: 1 !important;
  }

  .formal-reference-page .formal-flow-pair .engineering-flowchart,
  body.formal-verification-page .formal-flow-pair .engineering-flowchart {
    padding: 18px 12px 16px !important;
    margin: 0 !important;
    border: 1px solid var(--line) !important;
    background: #fff !important;
  }

  .formal-reference-page .formal-flow-pair .flowchart-kicker,
  body.formal-verification-page .formal-flow-pair .flowchart-kicker {
    margin-bottom: 14px !important;
  }

  /* Remove the old mobile horizontal-scroll treatment from Formal and STA. */
  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .engineering-flowchart .flowchart-track,
  .formal-reference-page .formal-flow-pair .flowchart-track {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
  }
}


/* V8.34 — Mobile performance and stability pass.
   Desktop remains unchanged. */
@media (max-width: 760px) {
  /* The loader animation delays first meaningful paint on phones. */
  #tsiq-loader { display: none !important; opacity: 0 !important; visibility: hidden !important; }

  /* Never download/render the desktop hero movie on a phone. */
  .hero-home-v51 video {
    display: none !important;
  }
  .hero-home-v51 {
    background-image: url("../assets/hero-mobile.webp") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  /* Keep headings and long technical labels inside the viewport. */
  h1, h2, h3, h4, p, li, strong, span {
    max-width: 100%;
  }
  h1, h2, h3 {
    overflow-wrap: anywhere;
    text-wrap: balance;
  }

  /* Reduce expensive paint work while scrolling. */
  .site-header,
  .engineering-flowchart,
  .info-card,
  .related-card,
  .subpage-requirement-cta {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  /* Below-the-fold capability sections can be rendered as they approach the viewport. */
  .detailed-domain > .cols,
  .related-capabilities,
  .subpage-requirement-cta,
  .site-footer {
    content-visibility: auto;
    contain-intrinsic-size: 1px 520px;
  }

  /* Avoid accidental page-wide overflow from long engineering labels. */
  .container,
  .detailed-container,
  .detailed-domain,
  .domain-top,
  .domain-info,
  .cols,
  .related-grid,
  .subpage-cta-actions {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* V8.35 — Formal page polish
   Restore a clean mobile flow layout and strengthen support-card hover states. */

body.formal-verification-page .detailed-domain > .cols .info-card {
  position: relative !important;
  overflow: hidden !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background-color .25s ease !important;
  cursor: default !important;
}

body.formal-verification-page .detailed-domain > .cols .info-card::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 0 !important;
  height: 3px !important;
  background: var(--orange) !important;
  transition: width .25s ease !important;
}

body.formal-verification-page .detailed-domain > .cols .info-card:nth-child(2)::after {
  background: var(--violet) !important;
}

body.formal-verification-page .detailed-domain > .cols .info-card:hover,
body.formal-verification-page .detailed-domain > .cols .info-card:focus-within {
  transform: translateY(-6px) !important;
  background: #fff !important;
  border-color: var(--line) !important;
  box-shadow: 0 16px 34px rgba(16,22,56,.12) !important;
  z-index: 3 !important;
}

body.formal-verification-page .detailed-domain > .cols .info-card:hover::after,
body.formal-verification-page .detailed-domain > .cols .info-card:focus-within::after {
  width: 100% !important;
}

body.formal-verification-page .detailed-domain > .cols .info-card h4,
body.formal-verification-page .detailed-domain > .cols .info-card p,
body.formal-verification-page .detailed-domain > .cols .info-card li {
  transition: transform .25s ease, color .25s ease !important;
}

body.formal-verification-page .detailed-domain > .cols .info-card:hover h4,
body.formal-verification-page .detailed-domain > .cols .info-card:focus-within h4 {
  transform: translateX(2px) !important;
}

@media (max-width: 760px) {
  /* Formal flowcharts: one readable step per row. No horizontal compression. */
  body.formal-verification-page .formal-flow-pair,
  .formal-reference-page .formal-flow-pair {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 18px 14px 4px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body.formal-verification-page .formal-flow-pair .engineering-flowchart,
  .formal-reference-page .formal-flow-pair .engineering-flowchart {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 18px 12px 16px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body.formal-verification-page .formal-flow-pair .flowchart-track,
  .formal-reference-page .formal-flow-pair .flowchart-track {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  body.formal-verification-page .formal-flow-pair .flow-step,
  .formal-reference-page .formal-flow-pair .flow-step {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    position: relative !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 108px !important;
    height: auto !important;
    padding: 17px 18px 20px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    border-left: 1px solid var(--line) !important;
    border-right: 1px solid var(--line) !important;
    border-bottom: 1px solid var(--line) !important;
    border-top: 2px solid var(--orange) !important;
    background: #fff !important;
  }

  body.formal-verification-page .formal-flow-pair .flow-step:nth-child(even),
  .formal-reference-page .formal-flow-pair .flow-step:nth-child(even) {
    border-top-color: var(--violet) !important;
  }

  body.formal-verification-page .formal-flow-pair .flow-step:first-child,
  .formal-reference-page .formal-flow-pair .flow-step:first-child {
    border-top-left-radius: 2px !important;
    border-top-right-radius: 2px !important;
  }

  body.formal-verification-page .formal-flow-pair .flow-step:last-child,
  .formal-reference-page .formal-flow-pair .flow-step:last-child {
    border-bottom: 1px solid var(--line) !important;
  }

  body.formal-verification-page .formal-flow-pair .flow-step span,
  .formal-reference-page .formal-flow-pair .flow-step span {
    display: block !important;
    width: auto !important;
    margin: 0 0 7px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    text-align: center !important;
    color: var(--orange) !important;
    letter-spacing: .02em !important;
  }

  body.formal-verification-page .formal-flow-pair .flow-step strong,
  .formal-reference-page .formal-flow-pair .flow-step strong {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body.formal-verification-page .formal-flow-pair .flow-step small,
  .formal-reference-page .formal-flow-pair .flow-step small {
    display: block !important;
    width: 100% !important;
    margin: 6px 0 0 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  /* Vertical connector belongs between cards, not inside the text. */
  body.formal-verification-page .formal-flow-pair .flow-step:not(:last-child)::after,
  .formal-reference-page .formal-flow-pair .flow-step:not(:last-child)::after {
    content: "↓" !important;
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: -14px !important;
    transform: translateX(-50%) !important;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--line) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--ink) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    z-index: 8 !important;
  }

  body.formal-verification-page .formal-flow-pair .flow-result,
  .formal-reference-page .formal-flow-pair .flow-result {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 16px 0 0 !important;
    padding-top: 14px !important;
    gap: 6px !important;
    box-sizing: border-box !important;
  }

  body.formal-verification-page .formal-flow-pair .flow-result b,
  .formal-reference-page .formal-flow-pair .flow-result b {
    text-align: left !important;
  }

  body.formal-verification-page .formal-flow-pair .flow-result span,
  .formal-reference-page .formal-flow-pair .flow-result span {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    text-align: left !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.formal-verification-page .detailed-domain > .cols .info-card,
  body.formal-verification-page .detailed-domain > .cols .info-card::after,
  body.formal-verification-page .detailed-domain > .cols .info-card h4,
  body.formal-verification-page .detailed-domain > .cols .info-card p,
  body.formal-verification-page .detailed-domain > .cols .info-card li {
    transition: none !important;
  }
}

/* V8.38 — Final mobile flowchart alignment
   Keep every capability flow centered in the phone viewport and keep all
   step content centered inside its card. Desktop remains unchanged. */
@media (max-width: 760px) {
  .detailed-domain > .domain-top {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart,
  body.formal-verification-page .formal-flow-pair .engineering-flowchart,
  .formal-reference-page .formal-flow-pair .engineering-flowchart {
    width: min(560px, calc(100% - 8px)) !important;
    max-width: 560px !important;
    min-width: 0 !important;
    margin: 24px auto 8px !important;
    padding: 18px 14px 16px !important;
    box-sizing: border-box !important;
    align-self: center !important;
    background: #fff !important;
    border: 1px solid rgba(16,22,56,.14) !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flowchart-kicker,
  body.formal-verification-page .formal-flow-pair .flowchart-kicker,
  .formal-reference-page .formal-flow-pair .flowchart-kicker {
    text-align: center !important;
    margin-bottom: 16px !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flowchart-track,
  body.formal-verification-page .formal-flow-pair .flowchart-track,
  .formal-reference-page .formal-flow-pair .flowchart-track {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: visible !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flow-step,
  body.formal-verification-page .formal-flow-pair .flow-step,
  .formal-reference-page .formal-flow-pair .flow-step {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 112px !important;
    padding: 18px 18px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flow-step span,
  body.formal-verification-page .formal-flow-pair .flow-step span,
  .formal-reference-page .formal-flow-pair .flow-step span {
    width: auto !important;
    margin: 0 0 8px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flow-step strong,
  body.formal-verification-page .formal-flow-pair .flow-step strong,
  .formal-reference-page .formal-flow-pair .flow-step strong {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flow-step small,
  body.formal-verification-page .formal-flow-pair .flow-step small,
  .formal-reference-page .formal-flow-pair .flow-step small {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flow-step:not(:last-child)::after,
  body.formal-verification-page .formal-flow-pair .flow-step:not(:last-child)::after,
  .formal-reference-page .formal-flow-pair .flow-step:not(:last-child)::after {
    left: 50% !important;
    right: auto !important;
    bottom: -14px !important;
    transform: translateX(-50%) !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flow-result,
  body.formal-verification-page .formal-flow-pair .flow-result,
  .formal-reference-page .formal-flow-pair .flow-result {
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px auto 0 !important;
    padding-top: 14px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 7px !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flow-result span,
  body.formal-verification-page .formal-flow-pair .flow-result span,
  .formal-reference-page .formal-flow-pair .flow-result span {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }

  /* Formal has two independent vertical workflows on mobile. */
  body.formal-verification-page .formal-flow-pair,
  .formal-reference-page .formal-flow-pair {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 22px !important;
    padding: 18px 0 4px !important;
    box-sizing: border-box !important;
  }
}


/* V8.39 — Mobile flowcharts: centered cards, no step numbers, consistent across all subpages */
@media (max-width:700px){
  .engineering-flowchart,
  body.formal-verification-page .engineering-flowchart {
    width: min(100%, 520px) !important;
    margin: 22px auto 8px !important;
    box-sizing: border-box !important;
  }
  .engineering-flowchart .flowchart-track,
  body.formal-verification-page .engineering-flowchart .flowchart-track {
    width: 100% !important;
    margin: 0 auto !important;
    align-items: stretch !important;
  }
  .engineering-flowchart .flow-step,
  body.formal-verification-page .engineering-flowchart .flow-step {
    width: 100% !important;
    min-height: 92px !important;
    padding: 20px 18px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
  .engineering-flowchart .flow-step strong,
  .engineering-flowchart .flow-step small {
    text-align: center !important;
  }
  .engineering-flowchart .flow-step span { display:none !important; }
  .engineering-flowchart .flow-result,
  body.formal-verification-page .engineering-flowchart .flow-result {
    width:100% !important;
    box-sizing:border-box !important;
    align-items:center !important;
    text-align:center !important;
  }
}


/* V8.40 — Unified engineering flow treatment: STA + Formal match RTL / Design Verification. */
@media (max-width:800px){
  .engineering-flowchart{width:100%;padding:18px;margin:22px auto 8px;}
  .engineering-flowchart .flowchart-track{display:flex;flex-direction:column;align-items:stretch;gap:0;overflow:visible;padding:0;}
  .engineering-flowchart .flow-step{width:100%;min-width:0;min-height:104px;box-sizing:border-box;padding:24px 20px;align-items:center;justify-content:center;text-align:center;}
  .engineering-flowchart .flow-step:not(:last-child)::after{content:"↓";right:50%;top:auto;bottom:-13px;transform:translateX(50%);width:32px;height:32px;font-size:15px;}
  .engineering-flowchart .flow-step:hover{transform:none;box-shadow:0 8px 20px rgba(16,22,56,.07);}
  .engineering-flowchart .flow-result{margin-top:18px;padding-top:14px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;}
  .formal-flow-pair{grid-template-columns:1fr;gap:18px;}
}
@media (max-width:520px){
  .engineering-flowchart{padding:16px;}
  .engineering-flowchart .flowchart-kicker{margin-bottom:16px;}
  .engineering-flowchart .flow-step{min-height:104px;padding:22px 16px;}
  .engineering-flowchart .flow-step strong{font-size:16px;line-height:1.25;}
  .engineering-flowchart .flow-step small{font-size:12px;}
}

/* V8.41 — Formal mobile flows: keep the same horizontal structure as desktop.
   The six steps stay readable at their natural width and the flow scrolls
   horizontally inside its own white chart instead of squeezing the cards. */
@media (max-width: 800px) {
  body.formal-verification-page .formal-flow-pair {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 18px 0 4px !important;
    box-sizing: border-box !important;
  }

  body.formal-verification-page .formal-flow-pair .engineering-flowchart {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 18px 14px 16px !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
  }

  body.formal-verification-page .formal-flow-pair .flowchart-kicker {
    text-align: center !important;
    margin-bottom: 16px !important;
  }

  body.formal-verification-page .formal-flow-pair .flowchart-track {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: none !important;
    height: auto !important;
    overflow: visible !important;
    padding: 6px 2px 14px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  body.formal-verification-page .formal-flow-pair .flow-step {
    position: relative !important;
    flex: 0 0 145px !important;
    width: 145px !important;
    min-width: 145px !important;
    max-width: 145px !important;
    min-height: 128px !important;
    height: 128px !important;
    padding: 18px 12px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border-left: 1px solid var(--line) !important;
    border-right: 1px solid var(--line) !important;
    border-bottom: 1px solid var(--line) !important;
    border-top: 2px solid var(--orange) !important;
    background: #fff !important;
    overflow: visible !important;
  }

  body.formal-verification-page .formal-flow-pair .flow-step:nth-child(even) {
    border-top-color: var(--violet) !important;
  }

  /* Step numbers are intentionally removed on mobile. */
  body.formal-verification-page .formal-flow-pair .flow-step span {
    display: none !important;
  }

  body.formal-verification-page .formal-flow-pair .flow-step strong {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body.formal-verification-page .formal-flow-pair .flow-step small {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 7px 0 0 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  /* Keep the connector horizontal, exactly like desktop. */
  body.formal-verification-page .formal-flow-pair .flow-step:not(:last-child)::after {
    content: "→" !important;
    position: absolute !important;
    right: -13px !important;
    left: auto !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    width: 28px !important;
    height: 28px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(16,22,56,.15) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--ink) !important;
    font: 13px/1 "IBM Plex Mono", monospace !important;
    z-index: 8 !important;
  }

  body.formal-verification-page .formal-flow-pair .flow-result {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 12px 0 0 !important;
    padding-top: 14px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 7px !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  body.formal-verification-page .formal-flow-pair .flow-result b,
  body.formal-verification-page .formal-flow-pair .flow-result span {
    text-align: center !important;
  }

  body.formal-verification-page .formal-flow-pair .flow-result span {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }
}

/* V8.43 — FPV flow on Formal Verification page: horizontal desktop, vertical mobile,
   matching the approved RTL/DV flow treatment. */
body.formal-verification-page .formal-fpv-flow {
  width: 100%;
  margin: 0 0 28px;
}

body.formal-verification-page .formal-fpv-flow .engineering-flowchart {
  width: 100%;
  margin: 0;
  padding: 24px;
  box-sizing: border-box;
}

body.formal-verification-page .formal-fpv-flow .flowchart-track {
  display: flex;
  align-items: stretch;
  width: 100%;
  min-width: 0;
  overflow: visible;
}

body.formal-verification-page .formal-fpv-flow .flow-step {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  align-items: center;
  justify-content: center;
  text-align: center;
}

body.formal-verification-page .formal-fpv-flow .flow-step strong,
body.formal-verification-page .formal-fpv-flow .flow-step small {
  max-width: 100%;
  text-align: center;
}

@media (max-width: 700px) {
  body.formal-verification-page .formal-fpv-flow .engineering-flowchart {
    padding: 18px;
  }

  body.formal-verification-page .formal-fpv-flow .flowchart-track {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 0;
  }

  body.formal-verification-page .formal-fpv-flow .flow-step {
    width: 100%;
    min-width: 0;
    min-height: 92px;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  body.formal-verification-page .formal-fpv-flow .flow-step:not(:last-child)::after {
    content: "↓";
    right: 50%;
    top: auto;
    bottom: -11px;
    transform: translate(50%, 0);
    width: 34px;
    height: 34px;
    z-index: 5;
    border: 1px solid rgba(16,22,56,.18);
    border-radius: 50%;
    background: #fff;
    display: grid;
    place-items: center;
    color: #101638;
    font: 14px/1 "IBM Plex Mono", monospace;
  }

  body.formal-verification-page .formal-fpv-flow .flow-result {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }
}

/* V8.45 — Formal FPV/FEC flow spacing: keep the two workflow panels visually connected. */
body.formal-verification-page .formal-fpv-flow,
body.formal-verification-page .formal-fec-flow {
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 0 !important;
}

body.formal-verification-page .formal-fpv-flow .engineering-flowchart {
  margin: 0 0 18px !important;
}

body.formal-verification-page .formal-fec-flow .engineering-flowchart {
  margin: 0 !important;
}

/* V8.48 — STA engineering flow: horizontal desktop, vertical mobile, matching RTL/DV. */
.detailed-domain > .domain-top > .sta-engineering-flow {
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 760px) {
  .detailed-domain > .domain-top > .sta-engineering-flow {
    width: min(560px, calc(100% - 8px)) !important;
    max-width: 560px !important;
    margin: 24px auto 8px !important;
  }

  .detailed-domain > .domain-top > .sta-engineering-flow .flowchart-track {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: visible !important;
  }

  .detailed-domain > .domain-top > .sta-engineering-flow .flow-step {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 112px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .detailed-domain > .domain-top > .sta-engineering-flow .flow-step strong,
  .detailed-domain > .domain-top > .sta-engineering-flow .flow-step small {
    width: 100% !important;
    text-align: center !important;
  }

  .detailed-domain > .domain-top > .sta-engineering-flow .flow-step:not(:last-child)::after {
    content: "↓" !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: -14px !important;
    transform: translateX(-50%) !important;
  }

  .detailed-domain > .domain-top > .sta-engineering-flow .flow-result {
    align-items: center !important;
    text-align: center !important;
  }
}


/* V8.51 — STA flow refinement: centered outcome on desktop and a complete,
   centered vertical flow panel on mobile. */
.detailed-domain > .sta-engineering-flow {
  width: 100% !important;
  max-width: none !important;
  margin: 22px 0 8px !important;
  padding: 24px 28px 22px !important;
  border: 1px solid var(--line) !important;
  background: #fff !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.detailed-domain > .sta-engineering-flow .flow-result {
  display: grid !important;
  grid-template-columns: 100px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 18px !important;
  width: 100% !important;
  margin-top: 18px !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--line) !important;
  box-sizing: border-box !important;
}

.detailed-domain > .sta-engineering-flow .flow-result b {
  text-align: left !important;
}

.detailed-domain > .sta-engineering-flow .flow-result span {
  text-align: center !important;
  display: block !important;
  width: 100% !important;
}

@media (max-width: 760px) {
  .detailed-domain > .sta-engineering-flow {
    width: calc(100% - 24px) !important;
    max-width: 560px !important;
    margin: 24px auto 12px !important;
    padding: 20px 18px 18px !important;
    border: 1px solid var(--line) !important;
    background: #fff !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .detailed-domain > .sta-engineering-flow .flowchart-track {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 1px solid var(--line) !important;
    box-sizing: border-box !important;
  }

  .detailed-domain > .sta-engineering-flow .flow-step {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 112px !important;
    margin: 0 !important;
    padding: 18px 16px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--line) !important;
    box-sizing: border-box !important;
  }

  .detailed-domain > .sta-engineering-flow .flow-step:last-child {
    border-bottom: 0 !important;
  }

  .detailed-domain > .sta-engineering-flow .flow-step strong,
  .detailed-domain > .sta-engineering-flow .flow-step small {
    width: 100% !important;
    text-align: center !important;
  }

  .detailed-domain > .sta-engineering-flow .flow-step:not(:last-child)::after {
    content: "↓" !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: -14px !important;
    transform: translateX(-50%) !important;
    width: 30px !important;
    height: 30px !important;
    z-index: 5 !important;
    border: 1px solid rgba(16,22,56,.18) !important;
    border-radius: 50% !important;
    background: #fff !important;
    display: grid !important;
    place-items: center !important;
    color: #101638 !important;
    font: 14px/1 "IBM Plex Mono", monospace !important;
  }

  .detailed-domain > .sta-engineering-flow .flow-result {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    width: 100% !important;
    margin-top: 18px !important;
    padding-top: 14px !important;
    text-align: center !important;
  }

  .detailed-domain > .sta-engineering-flow .flow-result b,
  .detailed-domain > .sta-engineering-flow .flow-result span {
    width: 100% !important;
    text-align: center !important;
  }
}

/* V8.55 — STA and Physical Verification engineering flows sit beside the main text on desktop. */
body[data-capability-page="sta-timing-closure.html"] .detailed-domain .domain-top,
body[data-capability-page="physical-verification.html"] .detailed-domain .domain-top {
  grid-template-columns: minmax(0,1.08fr) minmax(420px,.92fr) !important;
  gap: 34px !important;
  align-items: center !important;
}
body[data-capability-page="sta-timing-closure.html"] .detailed-domain .domain-flow,
body[data-capability-page="physical-verification.html"] .detailed-domain .domain-flow {
  width: 100% !important;
  margin: 0 !important;
  align-self: center !important;
}
@media (max-width: 800px) {
  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .domain-top,
  body[data-capability-page="physical-verification.html"] .detailed-domain .domain-top {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .domain-flow,
  body[data-capability-page="physical-verification.html"] .detailed-domain .domain-flow {
    width: 100% !important;
    margin: 0 !important;
  }
}

/* V8.56 — Physical Design support sections: keep the 3-column table
   and Engineering Outcome on separate full-width rows. */
body[data-capability-page="physical-design-signoff.html"] .detailed-domain {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}

body[data-capability-page="physical-design-signoff.html"] .detailed-domain > .cols {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: 100% !important;
  max-width: none !important;
  margin-top: 28px !important;
  clear: both !important;
  float: none !important;
  box-sizing: border-box !important;
}

body[data-capability-page="physical-design-signoff.html"] .detailed-domain > .outcome {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 18px 0 0 !important;
  clear: both !important;
  float: none !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  body[data-capability-page="physical-design-signoff.html"] .detailed-domain > .cols {
    grid-template-columns: 1fr !important;
    margin-top: 24px !important;
  }

  body[data-capability-page="physical-design-signoff.html"] .detailed-domain > .outcome {
    margin-top: 18px !important;
  }
}


/* V8.60 — Physical Design support table + Engineering Outcome side by side. */
body[data-capability-page="physical-design-signoff.html"] .detailed-domain > .pd-support-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(360px, 1fr) !important;
  gap: 28px !important;
  align-items: stretch !important;
  width: 100% !important;
  margin-top: 28px !important;
}
body[data-capability-page="physical-design-signoff.html"] .detailed-domain > .pd-support-row > .cols {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: 100% !important;
  margin: 0 !important;
}
body[data-capability-page="physical-design-signoff.html"] .detailed-domain > .pd-support-row > .outcome {
  width: 100% !important;
  margin: 0 !important;
  min-height: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
@media (max-width: 1000px) {
  body[data-capability-page="physical-design-signoff.html"] .detailed-domain > .pd-support-row {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 767px) {
  body[data-capability-page="physical-design-signoff.html"] .detailed-domain > .pd-support-row > .cols {
    grid-template-columns: 1fr !important;
  }
}


/* V8.61 — Physical Design support table full width with Engineering Outcome below. */
body[data-capability-page="physical-design-signoff.html"] .detailed-domain > .pd-support-row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  width: 100% !important;
  margin-top: 28px !important;
}

body[data-capability-page="physical-design-signoff.html"] .detailed-domain > .pd-support-row > .cols {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1px !important;
  width: 100% !important;
  margin: 0 !important;
}

body[data-capability-page="physical-design-signoff.html"] .detailed-domain > .pd-support-row > .outcome {
  width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  body[data-capability-page="physical-design-signoff.html"] .detailed-domain > .pd-support-row > .cols {
    grid-template-columns: 1fr !important;
  }
}

/* V8.62 — STA mobile vertical flow: full-width centered steps. */
@media (max-width: 760px) {
  .detailed-domain > .sta-engineering-flow {
    width: min(560px, calc(100% - 24px)) !important;
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 20px 18px 18px !important;
    box-sizing: border-box !important;
  }

  .detailed-domain > .sta-engineering-flow .flowchart-track {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 6px 0 8px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .detailed-domain > .sta-engineering-flow .flowchart-track > .flow-step {
    flex: 0 0 auto !important;
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 112px !important;
    margin: 0 !important;
    padding: 22px 18px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .detailed-domain > .sta-engineering-flow .flowchart-track > .flow-step strong,
  .detailed-domain > .sta-engineering-flow .flowchart-track > .flow-step small {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }

  .detailed-domain > .sta-engineering-flow .flowchart-track > .flow-step:not(:last-child)::after {
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: -15px !important;
    transform: translateX(-50%) !important;
  }

  .detailed-domain > .sta-engineering-flow .flow-result {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  .detailed-domain > .sta-engineering-flow .flow-result b,
  .detailed-domain > .sta-engineering-flow .flow-result span {
    width: 100% !important;
    text-align: center !important;
  }
}


/* V8.63 — Mobile flow correction + Physical Verification support table restoration. */
@media (max-width: 800px) {
  body[data-capability-page="sta-timing-closure.html"] .detailed-domain > .domain-top > .sta-engineering-flow,
  body[data-capability-page="sta-timing-closure.html"] .detailed-domain .sta-engineering-flow {
    width: calc(100% - 24px) !important;
    max-width: 560px !important;
    margin: 24px auto 12px !important;
    padding: 20px 16px 18px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .sta-engineering-flow .flowchart-track {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .sta-engineering-flow .flowchart-track > .flow-step {
    display: flex !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 112px !important;
    margin: 0 !important;
    padding: 22px 18px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    border-left: 1px solid rgba(16,22,56,.14) !important;
    border-right: 1px solid rgba(16,22,56,.14) !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .sta-engineering-flow .flowchart-track > .flow-step strong,
  body[data-capability-page="sta-timing-closure.html"] .sta-engineering-flow .flowchart-track > .flow-step small {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .sta-engineering-flow .flowchart-track > .flow-step:not(:last-child)::after {
    content: "↓" !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: -15px !important;
    transform: translateX(-50%) !important;
    width: 30px !important;
    height: 30px !important;
    z-index: 5 !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(16,22,56,.18) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #101638 !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .sta-engineering-flow .flow-result {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  body[data-capability-page="sta-timing-closure.html"] .sta-engineering-flow .flow-result b,
  body[data-capability-page="sta-timing-closure.html"] .sta-engineering-flow .flow-result span {
    width: 100% !important;
    text-align: center !important;
  }

  body[data-capability-page="physical-verification.html"] .detailed-domain > .cols {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    margin: 28px 0 0 !important;
    box-sizing: border-box !important;
  }
}

body[data-capability-page="physical-verification.html"] .detailed-domain > .cols {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: 100% !important;
  max-width: none !important;
  margin: 34px 0 0 !important;
  border: 1px solid var(--line) !important;
  background: var(--line) !important;
  box-sizing: border-box !important;
}

body[data-capability-page="physical-verification.html"] .detailed-domain > .cols .info-card {
  min-height: 200px !important;
  padding: 24px 26px !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}

body[data-capability-page="physical-verification.html"] .detailed-domain > .outcome {
  width: 100% !important;
  margin: 18px 0 0 !important;
  box-sizing: border-box !important;
}

/* V8.65 — restore the hero video on mobile.
   The previous V8.64 mobile fallback explicitly hid the video,
   so mobile devices could only show the poster image. */
@media (max-width: 900px) {
  .hero-home-v51 video {
    display: block !important;
    visibility: visible !important;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }

  .hero-home-v51 {
    background-image: none !important;
  }
}


/* V8.66 — Mobile header polish
   Keep the brand and menu stable on narrow screens without changing desktop. */
@media (max-width: 900px) {
  .site-header {
    height: 64px !important;
    min-height: 64px !important;
    padding: 0 18px !important;
    gap: 12px !important;
    overflow: visible !important;
  }

  .site-header .site-brand {
    min-width: 0 !important;
    max-width: calc(100% - 54px) !important;
    gap: 8px !important;
    flex: 1 1 auto !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    font-size: 15px !important;
    line-height: 1.1 !important;
    letter-spacing: -.25px !important;
  }

  .site-header .site-brand img {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
  }

  .site-header .site-brand span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  .site-header .site-brand small {
    font-size: 6.5px !important;
    line-height: 1.2 !important;
    letter-spacing: .095em !important;
    white-space: nowrap !important;
  }

  .site-header .menu-toggle {
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    margin-left: auto !important;
  }

  .site-header nav {
    top: 64px !important;
    max-height: calc(100dvh - 64px) !important;
    padding: 6px 18px 16px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .site-header nav a {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
  }

  .site-header nav .nav-cta {
    min-height: 44px !important;
    justify-content: center !important;
  }

  .nav-capabilities-main {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
  }

  .nav-capabilities-main > .capabilities-nav-link {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
  }

  .capabilities-toggle {
    flex: 0 0 42px !important;
    height: 42px !important;
  }
}

@media (max-width: 360px) {
  .site-header {
    padding: 0 14px !important;
    gap: 8px !important;
  }
  .site-header .site-brand {
    gap: 6px !important;
    font-size: 14px !important;
  }
  .site-header .site-brand img {
    width: 32px !important;
    height: 32px !important;
    flex-basis: 32px !important;
  }
  .site-header .site-brand small {
    font-size: 6px !important;
  }
}

/* V8.67 — Stable mobile header
   Lock header geometry so it never grows, shrinks, wraps, or shifts while scrolling/menu opens. */
@media (max-width: 900px) {
  html, body { overflow-x: hidden; }

  .site-header {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1000 !important;
    display: flex !important;
    flex: 0 0 64px !important;
    width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    box-sizing: border-box !important;
    padding: 0 18px !important;
    margin: 0 !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    transform: none !important;
  }

  .site-header .site-brand {
    position: relative !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: calc(100% - 50px) !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }

  .site-header .site-brand img {
    display: block !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    object-fit: contain !important;
    flex: 0 0 34px !important;
  }

  .site-header .site-brand > span {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    line-height: 1 !important;
  }

  .site-header .site-brand small {
    display: block !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    line-height: 1 !important;
  }

  .site-header .menu-toggle {
    position: relative !important;
    z-index: 1002 !important;
    display: grid !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-items: center !important;
  }

  .site-header .menu-toggle span {
    width: 19px !important;
    height: 2px !important;
    min-height: 2px !important;
    max-height: 2px !important;
  }

  .site-header nav {
    position: absolute !important;
    top: 64px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: calc(100dvh - 64px) !important;
    box-sizing: border-box !important;
  }

  .site-header nav.open {
    display: flex !important;
  }
}

@media (max-width: 360px) {
  .site-header {
    padding-left: 14px !important;
    padding-right: 14px !important;
    gap: 8px !important;
  }
  .site-header .site-brand {
    max-width: calc(100% - 48px) !important;
  }
}

/* V8.68 — FINAL MOBILE HEADER STABILITY
   Lock the mobile header to a fixed viewport position and prevent layout reflow. */
@media (max-width:900px){
  html{scroll-padding-top:72px}
  .site-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    height:72px !important;
    min-height:72px !important;
    max-height:72px !important;
    padding:0 24px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
    flex-wrap:nowrap !important;
    overflow:visible !important;
    transform:none !important;
    transition:none !important;
  }
  body{padding-top:72px !important}
  .site-header .site-brand{
    min-width:0 !important;
    flex:1 1 auto !important;
    height:72px !important;
    display:flex !important;
    align-items:center !important;
    overflow:hidden !important;
    white-space:nowrap !important;
  }
  .site-header .site-brand img{width:42px !important;height:42px !important;flex:0 0 42px !important}
  .site-header .site-brand span{min-width:0 !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important}
  .site-header .site-brand small{display:none !important}
  .menu-toggle{
    position:relative !important;
    inset:auto !important;
    flex:0 0 42px !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    margin:0 !important;
    transform:none !important;
  }
  .site-header nav{
    position:absolute !important;
    top:72px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    margin:0 !important;
    transform:none !important;
  }
  .site-header nav > a:not(.nav-cta):hover,
  .site-header nav > a:not(.nav-cta).active{padding-left:0 !important}
}
@media (max-width:580px){
  .site-header{padding:0 16px !important}
  .site-header nav{padding-left:16px !important;padding-right:16px !important}
}
@media (max-width:360px){
  .site-header{padding:0 12px !important;gap:10px !important}
  .site-header .site-brand{gap:8px !important;font-size:17px !important}
  .site-header .site-brand img{width:38px !important;height:38px !important;flex-basis:38px !important}
  .menu-toggle{width:40px !important;height:40px !important;min-width:40px !important;max-width:40px !important;flex-basis:40px !important}
}


/* =========================================================
   ENGINEERING FLOW — DESKTOP WIDTH/OVERFLOW FIX
   Keep every flow step inside its chart/container.
   ========================================================= */
@media (min-width: 761px) {
  .detailed-domain > .domain-top > .engineering-flowchart {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flowchart-track {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flow-step {
    flex: 1 1 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flow-step strong,
  .detailed-domain > .domain-top > .engineering-flowchart .flow-step small {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
}


/* =========================================================
   ENGINEERING FLOW — CARD TEXT + CONNECTOR POLISH
   Keep six desktop steps inside the chart without awkward
   word splitting or connector overlap.
   ========================================================= */
@media (min-width: 761px) {
  .detailed-domain > .domain-top > .engineering-flowchart .flowchart-track {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flow-step {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 28px 18px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flow-step strong {
    display: block !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    line-height: 1.25 !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flow-step small {
    display: block !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    line-height: 1.35 !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flow-step::after {
    z-index: 3 !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flow-step + .flow-step::before {
    z-index: 4 !important;
  }
}


/* V8.46 — 14-inch desktop only.
   Preserve the V7.2 flowchart at 15-inch/wider desktop sizes.
   Compress only the flowchart boxes on medium desktop widths so the
   six-stage strip fits cleanly without changing the mobile layout. */
@media (min-width: 801px) and (max-width: 1450px) {
  .engineering-flowchart {
    margin: 18px 0 6px;
    padding: 18px;
  }

  .engineering-flowchart .flowchart-kicker {
    margin-bottom: 12px;
  }

  .engineering-flowchart .flowchart-track {
    padding: 4px 0 8px;
  }

  .engineering-flowchart .flow-step {
    min-width: 0;
    min-height: 84px;
    padding: 12px 8px;
  }

  .engineering-flowchart .flow-step strong {
    font-size: 14px;
    line-height: 1.2;
  }

  .engineering-flowchart .flow-step small {
    margin-top: 6px;
    font-size: 10px;
    line-height: 1.3;
  }

  .engineering-flowchart .flow-step:not(:last-child)::after {
    right: -11px;
    width: 22px;
    height: 22px;
    font-size: 13px;
  }

  .engineering-flowchart .flow-result {
    margin-top: 12px;
    padding-top: 10px;
  }

  .engineering-flowchart .flow-result b {
    font-size: 11px;
  }

  .engineering-flowchart .flow-result span {
    font-size: 12px;
  }
}

/* V8.47 — 14-inch desktop only: compact engineering flow boxes.
   The 15-inch+ layout remains unchanged. Mobile remains unchanged. */
@media (min-width: 801px) and (max-width: 1450px) {
  .engineering-flowchart {
    padding: 18px 16px 14px !important;
  }

  .engineering-flowchart .flowchart-kicker {
    margin-bottom: 12px !important;
  }

  .engineering-flowchart .flowchart-track {
    padding: 2px 0 6px !important;
  }

  .engineering-flowchart .flow-step,
  .formal-reference-page .formal-flow-pair .flow-step {
    min-height: 96px !important;
    padding: 12px 8px 10px !important;
  }

  .engineering-flowchart .flow-step strong,
  .formal-reference-page .formal-flow-pair .flow-step strong {
    font-size: 13px !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .engineering-flowchart .flow-step small,
  .formal-reference-page .formal-flow-pair .flow-step small {
    margin-top: 6px !important;
    font-size: 10px !important;
    line-height: 1.28 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .engineering-flowchart .flow-step:not(:last-child)::after,
  .formal-reference-page .formal-flow-pair .flow-step:not(:last-child)::after {
    right: -12px !important;
    width: 24px !important;
    height: 24px !important;
    font-size: 12px !important;
  }

  .engineering-flowchart .flow-result,
  .formal-reference-page .formal-flow-pair .flow-result {
    margin-top: 12px !important;
    padding-top: 12px !important;
    gap: 12px !important;
  }
}

/* V8.48 — 14-inch desktop flow density correction.
   The desktop domain grid was stretching the flow panel to match the
   taller text column. Stop that stretch and let the flowchart size to
   its own content. Only the 14-inch desktop range is affected. */
@media (min-width: 801px) and (max-width: 1450px) {
  .detailed-domain > .domain-top > .engineering-flowchart,
  .formal-reference-page .formal-flow-pair .engineering-flowchart {
    align-self: start !important;
    height: auto !important;
    max-height: none !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flowchart-track,
  .formal-reference-page .formal-flow-pair .flowchart-track {
    align-items: stretch !important;
    height: auto !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flow-step,
  .formal-reference-page .formal-flow-pair .flow-step {
    min-height: 112px !important;
    height: auto !important;
    padding: 13px 7px 11px !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flow-step strong,
  .formal-reference-page .formal-flow-pair .flow-step strong {
    font-size: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: -.01em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flow-step small,
  .formal-reference-page .formal-flow-pair .flow-step small {
    margin-top: 6px !important;
    font-size: 9.5px !important;
    line-height: 1.28 !important;
    letter-spacing: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  .detailed-domain > .domain-top > .engineering-flowchart .flow-step:not(:last-child)::after,
  .formal-reference-page .formal-flow-pair .flow-step:not(:last-child)::after {
    right: -11px !important;
    width: 22px !important;
    height: 22px !important;
    font-size: 11px !important;
  }
}

/* V8.58 — Training School final layout, loaded on homepage */
.deep-tech-lab-promo{
  box-sizing:border-box;
  width:calc(100% - 80px);
  margin:52px 40px 40px;
  padding:32px 40px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(500px,1.08fr);
  gap:48px;
  align-items:center;
  border:1px solid #dedbe4;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
}
.deep-tech-lab-copy{min-width:0;display:flex;flex-direction:column;justify-content:center}
.deep-tech-lab-heading{display:flex;align-items:center;gap:30px;margin-bottom:18px}
.deep-tech-lab-icon{
  width:72px;height:72px;border:1px solid #9b809d;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#5523a8;font-size:34px;line-height:1
}
.deep-tech-lab-kicker{
  margin:0;color:#5523a8;font-family:"IBM Plex Mono",monospace;
  font-size:17px;font-weight:600;letter-spacing:.14em;line-height:1.2
}
.deep-tech-lab-promo h2{
  margin:0 0 14px;color:#10173d;
  font-size:clamp(38px,3.35vw,54px);line-height:1.08;
  letter-spacing:-.035em
}
.deep-tech-lab-promo h2 sup{color:#5523a8;font-size:.52em}
.deep-tech-lab-description{
  max-width:610px;margin:0;color:#6c7180;
  font-size:24px;line-height:1.45
}
.deep-tech-lab-rule{display:flex;width:100px;height:4px;margin:24px 0 28px}
.deep-tech-lab-rule span{width:50%;background:#f27b12}
.deep-tech-lab-rule i{width:50%;background:#5523a8}
.deep-tech-lab-tagline{
  box-sizing:border-box;max-width:620px;margin:0;padding:20px;
  border:1px solid #e1dbea;border-radius:14px;background:#f8f5fb;
  color:#38206e;font-size:19px;line-height:1.55;
  display:flex;align-items:flex-start;gap:18px
}
.deep-tech-lab-star{color:#5523a8;font-size:30px;font-weight:700;line-height:1}
.deep-tech-lab-button{
  display:inline-flex;align-items:center;justify-content:center;
  align-self:flex-start;gap:12px;margin-top:20px;padding:13px 24px;
  border:1px solid #5523a8;color:#5523a8;background:#fff;
  text-decoration:none;font-size:18px;font-weight:600
}
.deep-tech-lab-button:hover{background:#5523a8;color:#fff}
.deep-tech-lab-visual{
  min-width:0;height:420px;min-height:0;overflow:hidden;
  border-radius:16px;background:#101b3d
}
.deep-tech-lab-visual img{
  display:block;width:100%;height:100%;min-height:0;
  object-fit:cover;object-position:center
}

@media (min-width:801px) and (max-width:1450px){
  .deep-tech-lab-promo{
    width:calc(100% - 60px);margin:38px 30px 30px;
    padding:24px 28px;
    grid-template-columns:minmax(0,1fr) minmax(390px,.98fr);
    gap:30px
  }
  .deep-tech-lab-heading{gap:18px;margin-bottom:12px}
  .deep-tech-lab-icon{width:54px;height:54px;font-size:26px}
  .deep-tech-lab-kicker{font-size:13px}
  .deep-tech-lab-promo h2{font-size:35px;margin-bottom:9px}
  .deep-tech-lab-description{font-size:17px}
  .deep-tech-lab-rule{margin:17px 0 20px;height:3px;width:82px}
  .deep-tech-lab-tagline{padding:13px 14px;font-size:14px;gap:10px}
  .deep-tech-lab-star{font-size:23px}
  .deep-tech-lab-button{margin-top:14px;padding:10px 17px;font-size:14px}
  .deep-tech-lab-visual{height:300px;min-height:0}
  .deep-tech-lab-visual img{height:100%;min-height:0}
}

@media (max-width:800px){
  .deep-tech-lab-promo{
    width:calc(100% - 40px);margin:40px 20px 24px;padding:24px;
    grid-template-columns:1fr;gap:24px
  }
  .deep-tech-lab-heading{gap:16px}
  .deep-tech-lab-icon{width:56px;height:56px}
  .deep-tech-lab-kicker{font-size:12px}
  .deep-tech-lab-promo h2{font-size:32px}
  .deep-tech-lab-description{font-size:18px}
  .deep-tech-lab-tagline{font-size:16px}
  .deep-tech-lab-button{width:100%;font-size:15px}
  .deep-tech-lab-visual{height:260px;min-height:0}
  .deep-tech-lab-visual img{height:100%;min-height:0}
}

/* V8.59 — Training School typography aligned with the site system */
.deep-tech-lab-promo,
.deep-tech-lab-promo h2,
.deep-tech-lab-promo p,
.deep-tech-lab-promo a,
.deep-tech-lab-promo span:not(.deep-tech-lab-kicker):not(.deep-tech-lab-star){
  font-family:"Space Grotesk",Arial,sans-serif;
}
.deep-tech-lab-kicker{
  font-family:"IBM Plex Mono",monospace;
  font-size:15px;
  font-weight:600;
  letter-spacing:.14em;
}
.deep-tech-lab-promo h2{
  font-size:clamp(40px,3.1vw,50px);
  font-weight:700;
  line-height:1.08;
  letter-spacing:-.035em;
}
.deep-tech-lab-description{
  font-family:"Space Grotesk",Arial,sans-serif;
  font-size:20px;
  font-weight:400;
  line-height:1.55;
  letter-spacing:0;
}
.deep-tech-lab-tagline{
  font-family:"Space Grotesk",Arial,sans-serif;
  font-size:17px;
  font-weight:500;
  line-height:1.5;
  letter-spacing:0;
}
.deep-tech-lab-star{font-family:"Space Grotesk",Arial,sans-serif}
.deep-tech-lab-button{
  font-family:"IBM Plex Mono",monospace;
  font-size:14px;
  font-weight:500;
  letter-spacing:0;
}
@media (min-width:801px) and (max-width:1450px){
  .deep-tech-lab-kicker{font-size:12px}
  .deep-tech-lab-promo h2{font-size:34px}
  .deep-tech-lab-description{font-size:16px;line-height:1.5}
  .deep-tech-lab-tagline{font-size:14px;line-height:1.45}
  .deep-tech-lab-button{font-size:12px}
}
@media (max-width:800px){
  .deep-tech-lab-kicker{font-size:12px}
  .deep-tech-lab-promo h2{font-size:32px}
  .deep-tech-lab-description{font-size:17px}
  .deep-tech-lab-tagline{font-size:16px}
  .deep-tech-lab-button{font-size:13px}
}

/* V8.61 — Training School visual polish */
.deep-tech-lab-promo{
  padding-top:28px;
  padding-bottom:28px;
}
.deep-tech-lab-heading{
  margin-bottom:14px;
}
.deep-tech-lab-promo h2{
  font-size:clamp(36px,3.05vw,50px);
  line-height:1.06;
}
.deep-tech-lab-description{
  font-size:22px;
  line-height:1.42;
}
.deep-tech-lab-rule{
  margin-top:20px;
  margin-bottom:24px;
}
.deep-tech-lab-tagline{
  padding:17px 19px;
  font-size:18px;
  line-height:1.48;
}
.deep-tech-lab-button{
  margin-top:17px;
  padding:12px 22px;
  font-size:17px;
}
@media (min-width:801px) and (max-width:1450px){
  .deep-tech-lab-promo{
    padding-top:22px;
    padding-bottom:22px;
  }
  .deep-tech-lab-promo h2{font-size:33px}
  .deep-tech-lab-description{font-size:16px}
  .deep-tech-lab-tagline{padding:12px 13px;font-size:14px}
  .deep-tech-lab-button{margin-top:12px;padding:9px 16px;font-size:14px}
}

/* V8.63 — Replace TSIQ Deep Tech Lab kicker text with supplied logo */
.deep-tech-lab-kicker{
  display:flex;
  align-items:center;
  min-height:42px;
}
.deep-tech-lab-logo{
  display:block;
  width:285px;
  height:auto;
  max-width:100%;
  object-fit:contain;
}
@media (min-width:801px) and (max-width:1450px){
  .deep-tech-lab-logo{width:220px}
}
@media (max-width:800px){
  .deep-tech-lab-logo{width:235px}
}


/* V8.64 — Keep the supplied TSIQ logo aligned with the round mark and
   restore the lab name as text immediately after the logo. */
.deep-tech-lab-heading{
  align-items:center;
}
.deep-tech-lab-kicker{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
  margin:0;
}
.deep-tech-lab-logo{
  display:block;
  flex:0 1 auto;
  width:285px;
  height:auto;
  max-width:48%;
  object-fit:contain;
}
.deep-tech-lab-kicker-text{
  display:block;
  flex:0 0 auto;
  color:#5523a8;
  font-family:"IBM Plex Mono",monospace;
  font-size:15px;
  font-weight:600;
  letter-spacing:.14em;
  line-height:1.2;
  white-space:nowrap;
}
@media (min-width:801px) and (max-width:1450px){
  .deep-tech-lab-heading{gap:18px}
  .deep-tech-lab-logo{width:190px;max-width:44%}
  .deep-tech-lab-kicker{gap:12px}
  .deep-tech-lab-kicker-text{font-size:11px;letter-spacing:.10em}
}
@media (max-width:800px){
  .deep-tech-lab-heading{gap:12px}
  .deep-tech-lab-logo{width:170px;max-width:42%}
  .deep-tech-lab-kicker{gap:9px;flex-wrap:nowrap}
  .deep-tech-lab-kicker-text{font-size:10px;letter-spacing:.08em}
}


/* V8.65 — Use the supplied TSIQ mark inside the existing circle.
   Remove the rectangular logo/background and keep the lab name beside the mark. */
.deep-tech-lab-heading{
  display:flex;
  align-items:center;
  gap:30px;
  margin-bottom:18px;
}
.deep-tech-lab-icon{
  width:72px;
  height:72px;
  flex:0 0 72px;
  box-sizing:border-box;
  border:1px solid #9b809d;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  color:#5523a8;
  font-size:0;
  line-height:1;
}
.deep-tech-lab-icon img{
  display:block;
  width:46px;
  height:46px;
  object-fit:contain;
}
.deep-tech-lab-kicker-text{
  display:block;
  min-width:0;
  color:#5523a8;
  font-family:"IBM Plex Mono",monospace;
  font-size:17px;
  font-weight:600;
  letter-spacing:.14em;
  line-height:1.2;
  white-space:nowrap;
}
/* 14-inch desktop: only compress this heading; 15-inch layout stays unchanged. */
@media (min-width:801px) and (max-width:1450px){
  .deep-tech-lab-heading{gap:18px;margin-bottom:12px}
  .deep-tech-lab-icon{width:54px;height:54px;flex-basis:54px}
  .deep-tech-lab-icon img{width:35px;height:35px}
  .deep-tech-lab-kicker-text{font-size:13px;letter-spacing:.11em}
}
@media (max-width:800px){
  .deep-tech-lab-heading{gap:16px}
  .deep-tech-lab-icon{width:56px;height:56px;flex-basis:56px}
  .deep-tech-lab-icon img{width:36px;height:36px}
  .deep-tech-lab-kicker-text{font-size:12px;letter-spacing:.10em;white-space:nowrap}
}

/* V8.65 final asset update — supplied TSIQ mark + semiconductor wafer image. */
.deep-tech-lab-icon{
  background:#101b3d;
  overflow:hidden;
}
.deep-tech-lab-icon img{
  width:48px;
  height:48px;
  object-fit:cover;
  border-radius:50%;
}
.deep-tech-lab-visual img{
  object-fit:cover;
  object-position:center center;
}
@media (min-width:801px) and (max-width:1450px){
  .deep-tech-lab-icon img{width:36px;height:36px}
}
@media (max-width:800px){
  .deep-tech-lab-icon img{width:38px;height:38px}
}
