/* ==========================================================================
   Victory Mesh  (/products/manufacturing/tcad/victory-mesh/)

   The fifth single-product page, and the smallest sheet of the five: every
   section comes from the shared product-PAGE block in product-family.css.
   What is here is this page's band run, its hub column count, and two link
   styles for anchors nested inside components that are not themselves links.

   THIS PAGE CLOSES OPEN ITEM K73 - Victory Mesh was the TCAD tool with no
   approved page until the client settled it on 2026-09-21.

   Band rhythm is the homepage's: 48 / 64 / 80. Bands alternate white and
   --ps-color-neutral-2-100; --ps-color-neutral-2-000 is reserved for the
   conversion band. No two adjacent bands share a tint, and there is no dark
   band.

     §1  banner        white          §6  proof         neutral-2-100
     §2  what it does  neutral-2-100  §7  CTA           neutral-2-000
     §3  capabilities  white          §8  FAQ           white
     §4  flow          neutral-2-100  §9  related       neutral-2-100
     §5  applications  white

   Nine sections, so the run is the same one Victory Process, Utmost IV and
   Victory RCx use. Four of the five product pages now share it; Victory
   Device, with its extra modules band, is the only one that differs.
   ========================================================================== */

/* --------------------------------------------------------------------------
   §2 The supporting line under the answer

   Fifth page to carry one, and this one answers the question the product
   raises by existing: Victory Process already produces a structure, so why is
   there a separate meshing tool. The answer - a process mesh records the
   process rather than serving the next solver - is the argument for the
   product, and it belongs above the fold rather than in a capability bullet.
   -------------------------------------------------------------------------- */
.vm-what__note{
  margin:18px 0 0;max-width:68ch;padding:12px 14px;
  background:var(--sv-white);
  border-left:2px solid var(--ps-color-brand-500);border-radius:0 8px 8px 0;
  font:400 13px/20px var(--ps-font);letter-spacing:normal;
  color:var(--ps-color-neutral-3-500);
}
.vm-what__note strong{color:var(--ps-color-brand-600)}
.vm-what__note a{color:var(--ps-color-brand-600);text-decoration:underline}
.vm-what__note a:hover{color:var(--ps-color-brand-500)}

/* --------------------------------------------------------------------------
   Links nested inside components that are not themselves links

   Same class of problem as .pf-node--input a, which now lives in
   product-family.css: an anchor inside a block that is not an <a> inherits
   the surrounding text colour with no underline and renders invisibly.

   ONE PLACE LEFT ON THIS PAGE: the applications lead, which links Victory
   Device because the four families are deliberately the same list.

   .pf-cap-block__body a USED TO BE HERE TOO and has moved to
   product-family.css. Victory RCx introduced it, this page was the second use
   and Victory Analytics was the third, which is the threshold. The capability
   blocks on this page still rely on it - it is just no longer this sheet's to
   define.

   .pf-applist__lead a remains page-local at ONE use. If a second page links
   from an applications lead, that is when it follows.
   -------------------------------------------------------------------------- */
.pf-applist__lead a{
  color:var(--ps-color-brand-600);
  text-decoration:underline;text-underline-offset:2px;
}
.pf-applist__lead a:hover{color:var(--ps-color-brand-500)}

/* --------------------------------------------------------------------------
   §3 Inline code in a capability block

   The inputs-and-outputs block names file extensions - .str, .stl, .vtk - and
   they read as data rather than prose, so they are set as code. The FAQ does
   the same for the same reason.

   THE BORDER DEFINES THE CHIP, NOT THE FILL, and that is a measured decision
   rather than a stylistic one. Both surfaces this code sits on are near-white
   - .pf-cap-block is neutral-2-000 and the FAQ is white - so every candidate
   fill was within a contrast ratio of about 1.05 of its background, which is
   to say invisible. neutral-2-100 measured 1.05 against the block; white
   measured 1.04. No fill can carry this at these tints.

   So the fill stays white and the border is stepped up to neutral-2-500,
   which reads clearly against both. Do not "improve" this by reaching for a
   tinted background - it has been tried and measured twice.
   -------------------------------------------------------------------------- */
.pf-cap-block__body code,
.faq__answer-inner code{
  padding:1px 5px;
  background:var(--sv-white);
  border:1px solid var(--ps-color-neutral-2-500);border-radius:4px;
  font:400 .92em/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  color:var(--ps-color-neutral-3-500);
}

@media (min-width:1024px){
  /* --------------------------------------------------------------------
     How many columns this page's hub flow takes

     pf-hubflow is shared; the column count follows the node count. This
     page has FIVE - one input, this tool, three outputs - the same as
     Victory Device. Three columns wrap it evenly at this width; five put
     them on one row once there is room.
     -------------------------------------------------------------------- */
  .pf-hubflow{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1350px){
  .pf-hubflow{grid-template-columns:repeat(5,minmax(0,1fr))}
}

/* --------------------------------------------------------------------------
   §8 FAQ — sits on white, below the conversion band
   -------------------------------------------------------------------------- */
.faq{background:var(--sv-white)}

/* --------------------------------------------------------------------------
   Band run for this page

   product-family.css leaves every shared section transparent, because the
   tint depends on position rather than on the section. This is the run set
   out in the header comment above, in one place so it can be read at once.
   -------------------------------------------------------------------------- */
.pf-def,.pf-flow,.pf-res,.pf-related{
  background:var(--ps-color-neutral-2-100);
  border-block:1px solid var(--ps-color-neutral-2-300);
}
/* stated explicitly rather than left transparent: an inherited body colour
   looks right today and breaks silently the moment anything above it moves */
.pf-cap,.pf-applist{background:var(--sv-white)}

/* --------------------------------------------------------------------------
   Victory Mesh round (2026-09-24)
   -------------------------------------------------------------------------- */
/* VICTORY-MESH-26: the second flow intro line */
.pf-flow__lead--more{margin-top:12px}
/* VICTORY-MESH-01: the Dynex feature card, then one grouped row of five resources */
.pf-res-card--feature,.vm-res-group{grid-column:1/-1}
.pf-res-card--feature .pf-res-card__what{max-width:70ch}
.vm-res-group{
  background:var(--ps-color-neutral-2-000);
  border:1px solid var(--ps-color-neutral-2-300);border-radius:14px;padding:18px 20px;
}
.vm-res-group__title{margin:0 0 14px;font:500 16px/24px var(--ps-font);letter-spacing:normal;color:var(--ps-color-neutral-3-500)}
.vm-res-group__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr}
.vm-res-item{padding:14px 0;border-top:1px solid var(--ps-color-neutral-2-300)}
.vm-res-item:first-child{border-top:0;padding-top:0}
.vm-res-item:last-child{padding-bottom:0}
@media (min-width:640px){
  .vm-res-group__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
  .vm-res-item,.vm-res-item:first-child,.vm-res-item:last-child{padding:0;border-top:0}
}
@media (min-width:1024px){
  .vm-res-group__list{grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
  .vm-res-item,.vm-res-item:first-child,.vm-res-item:last-child{padding:0 16px}
  .vm-res-item:first-child{padding-left:0}
  .vm-res-item:last-child{padding-right:0}
  .vm-res-item + .vm-res-item{border-left:1px solid var(--ps-color-neutral-2-300)}
}
/* the route buttons are narrow at every width up to 1349px (at 1024 the label ran 26px past its button): wrap when needed */
.pf-cta .ps-btn{max-width:100%}
.pf-cta .ps-btn .ps-btn__text{white-space:normal;min-width:0}
/* phones: the longer button labels wrap instead of overflowing */
@media (max-width:639.98px){
  .page-banner__ctas .ps-btn--large,.pf-cta .ps-btn,.pf-res__more .ps-btn{max-width:100%}
  .page-banner__ctas .ps-btn--large .ps-btn__text,.pf-cta .ps-btn .ps-btn__text,.pf-res__more .ps-btn__text{white-space:normal;min-width:0}
}
