
/* Article 27 coordinated product v1.0.0 */
.a27-product-v1-0-0{
  --a27-ink:#edf7ff;
  --a27-muted:#b8cadd;
  --a27-panel:rgba(8,29,49,.88);
  --a27-panel-2:rgba(12,38,63,.78);
  --a27-line:rgba(139,205,239,.23);
  --a27-cyan:#8bdcff;
  --a27-teal:#7fe8d1;
  --a27-gold:#ffd98c;
  --a27-danger:#ffb2b9;
  --a27-violet:#c6b5ff;
}
.a27-product-v1-0-0 .ri2-article{min-width:0}
.a27-product-v1-0-0 .ri2-article section{scroll-margin-top:6rem}
.a27-product-v1-0-0 .a27-lead,
.a27-product-v1-0-0 .a27-tool,
.a27-product-v1-0-0 .a27-score-pipeline,
.a27-product-v1-0-0 .a27-boundary,
.a27-product-v1-0-0 .a27-rule-callout{
  background:linear-gradient(145deg,rgba(8,29,50,.94),rgba(7,21,38,.8));
  border:1px solid var(--a27-line);
  border-radius:18px;
  box-shadow:0 18px 48px rgba(0,0,0,.2);
}
.a27-product-v1-0-0 .a27-lead,
.a27-product-v1-0-0 .a27-tool,
.a27-product-v1-0-0 .a27-score-pipeline{
  padding:clamp(1rem,2.8vw,1.7rem);
  margin:1.35rem 0;
}
.a27-product-v1-0-0 .a27-lede{font-size:clamp(1.08rem,1.8vw,1.22rem);line-height:1.72}
.a27-product-v1-0-0 .a27-answer-grid,
.a27-product-v1-0-0 .a27-purpose-grid,
.a27-product-v1-0-0 .a27-failure-grid,
.a27-product-v1-0-0 .a27-contract-grid,
.a27-product-v1-0-0 .a27-gate-grid,
.a27-product-v1-0-0 .a27-sensitivity-grid,
.a27-product-v1-0-0 .a27-download-grid{
  display:grid;
  gap:.9rem;
  margin:1rem 0;
}
.a27-product-v1-0-0 .a27-answer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.a27-product-v1-0-0 .a27-purpose-grid,
.a27-product-v1-0-0 .a27-contract-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.a27-product-v1-0-0 .a27-failure-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.a27-product-v1-0-0 .a27-gate-grid,
.a27-product-v1-0-0 .a27-sensitivity-grid,
.a27-product-v1-0-0 .a27-download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.a27-product-v1-0-0 .a27-answer-grid>div,
.a27-product-v1-0-0 .a27-purpose-grid article,
.a27-product-v1-0-0 .a27-failure-grid article,
.a27-product-v1-0-0 .a27-contract-grid article,
.a27-product-v1-0-0 .a27-gate-grid>div,
.a27-product-v1-0-0 .a27-sensitivity-grid article,
.a27-product-v1-0-0 .a27-download-grid article{
  min-width:0;
  background:var(--a27-panel-2);
  border:1px solid var(--a27-line);
  border-radius:14px;
  padding:1rem;
}
.a27-product-v1-0-0 .a27-answer-grid strong,
.a27-product-v1-0-0 .a27-answer-grid span{display:block}
.a27-product-v1-0-0 .a27-answer-grid strong{color:var(--a27-cyan);margin-bottom:.35rem}
.a27-product-v1-0-0 .a27-answer-grid span{color:var(--a27-muted)}
.a27-product-v1-0-0 .a27-failure-grid article>span{
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  border-radius:999px;
  background:rgba(139,220,255,.14);
  color:var(--a27-cyan);
  font-weight:900;
  margin-bottom:.65rem;
}
.a27-product-v1-0-0 .a27-boundary,
.a27-product-v1-0-0 .a27-rule-callout{
  padding:1rem 1.1rem;
  margin:1rem 0;
  border-left:4px solid var(--a27-gold);
}
.a27-product-v1-0-0 .a27-score-pipeline figcaption strong{
  display:block;
  font-size:clamp(1.3rem,2.3vw,1.8rem);
  color:var(--a27-ink);
}
.a27-product-v1-0-0 .a27-pipeline{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:.65rem;
  margin:1.1rem 0;
}
.a27-product-v1-0-0 .a27-pipeline>div{
  position:relative;
  min-width:0;
  padding:.85rem .75rem;
  border-radius:13px;
  background:linear-gradient(160deg,rgba(21,61,94,.9),rgba(12,38,63,.76));
  border:1px solid var(--a27-line);
}
.a27-product-v1-0-0 .a27-pipeline>div:not(:last-child)::after{
  content:"";
  position:absolute;
  top:50%;
  right:-.46rem;
  width:.32rem;
  height:.32rem;
  border-top:2px solid var(--a27-cyan);
  border-right:2px solid var(--a27-cyan);
  transform:translateY(-50%) rotate(45deg);
}
.a27-product-v1-0-0 .a27-pipeline span,
.a27-product-v1-0-0 .a27-pipeline strong,
.a27-product-v1-0-0 .a27-pipeline small{display:block}
.a27-product-v1-0-0 .a27-pipeline span{font-size:.76rem;color:var(--a27-cyan);font-weight:900;letter-spacing:.08em}
.a27-product-v1-0-0 .a27-pipeline strong{margin:.3rem 0;color:var(--a27-ink)}
.a27-product-v1-0-0 .a27-pipeline small{color:var(--a27-muted);line-height:1.4}
.a27-product-v1-0-0 .a27-pipeline-rule{
  margin:0;
  padding:.8rem 1rem;
  border-radius:12px;
  background:rgba(255,217,140,.08);
  border:1px solid rgba(255,217,140,.25);
  color:#f7e7bf;
  font-weight:700;
}
.a27-product-v1-0-0 .a27-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  border:1px solid var(--a27-line);
  border-radius:14px;
  margin:1rem 0;
}
.a27-product-v1-0-0 table{width:100%;border-collapse:collapse;table-layout:fixed;margin:0}
.a27-product-v1-0-0 .a27-table-wrap table{min-width:820px}
.a27-product-v1-0-0 th,
.a27-product-v1-0-0 td{padding:.78rem;vertical-align:top;overflow-wrap:anywhere}
.a27-product-v1-0-0 th{background:rgba(17,52,82,.95);color:var(--a27-ink);text-align:left}
.a27-product-v1-0-0 td{border-top:1px solid rgba(139,205,239,.15)}
.a27-product-v1-0-0 tbody tr:nth-child(even){background:rgba(12,38,63,.32)}
.a27-product-v1-0-0 .a27-example-result{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
  margin:1rem 0;
}
.a27-product-v1-0-0 .a27-example-result>div{
  background:var(--a27-panel-2);
  border:1px solid var(--a27-line);
  border-radius:14px;
  padding:1rem;
}
.a27-product-v1-0-0 .a27-example-result span,
.a27-product-v1-0-0 .a27-example-result strong,
.a27-product-v1-0-0 .a27-example-result small{display:block}
.a27-product-v1-0-0 .a27-example-result span{color:var(--a27-muted);font-size:.82rem}
.a27-product-v1-0-0 .a27-example-result strong{font-size:1.15rem;margin:.28rem 0}
.a27-product-v1-0-0 .a27-example-decision{grid-column:1/-1;border-color:rgba(255,178,185,.4)!important;background:rgba(102,28,40,.28)!important}
.a27-product-v1-0-0 .a27-steps{counter-reset:a27steps;list-style:none;padding:0;margin:1rem 0}
.a27-product-v1-0-0 .a27-steps li{
  counter-increment:a27steps;
  position:relative;
  padding:.85rem 1rem .85rem 3.25rem;
  margin:.65rem 0;
  background:rgba(12,38,63,.48);
  border:1px solid var(--a27-line);
  border-radius:13px;
}
.a27-product-v1-0-0 .a27-steps li::before{
  content:counter(a27steps);
  position:absolute;
  left:.85rem;
  top:.78rem;
  display:grid;
  place-items:center;
  width:1.75rem;
  height:1.75rem;
  border-radius:999px;
  background:rgba(127,232,209,.14);
  color:var(--a27-teal);
  font-weight:900;
}
.a27-product-v1-0-0 .a27-tool-section{
  margin:1.6rem 0;
  scroll-margin-top:6rem;
}
.a27-product-v1-0-0 .a27-tool-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,.7fr);
  gap:1rem;
  align-items:end;
}
.a27-product-v1-0-0 .a27-tool-heading p{color:var(--a27-muted)}
.a27-product-v1-0-0 .a27-tool fieldset{
  min-width:0;
  border:1px solid var(--a27-line);
  border-radius:14px;
  padding:1rem;
  margin:1rem 0;
  background:rgba(7,22,38,.44);
}
.a27-product-v1-0-0 .a27-tool legend{
  padding:0 .5rem;
  font-weight:900;
  color:var(--a27-ink);
}
.a27-product-v1-0-0 .a27-tool label{
  display:block;
  font-weight:760;
  color:var(--a27-ink);
}
.a27-product-v1-0-0 .a27-tool input,
.a27-product-v1-0-0 .a27-tool select,
.a27-product-v1-0-0 .a27-tool textarea{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  margin-top:.38rem;
  min-height:44px;
  border-radius:10px;
  border:1px solid rgba(151,210,241,.36);
  background:#0d2943;
  color:#f4f9ff;
  padding:.72rem .78rem;
  font:inherit;
}
.a27-product-v1-0-0 .a27-tool textarea{resize:vertical}
.a27-product-v1-0-0 .a27-tool input:focus,
.a27-product-v1-0-0 .a27-tool select:focus,
.a27-product-v1-0-0 .a27-tool textarea:focus,
.a27-product-v1-0-0 button:focus-visible,
.a27-product-v1-0-0 a:focus-visible{
  outline:3px solid #a7e3ff;
  outline-offset:3px;
}
.a27-product-v1-0-0 .a27-two-col{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.9rem;
}
.a27-product-v1-0-0 .a27-span-2{grid-column:1/-1}
.a27-product-v1-0-0 .a27-tool-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin-top:1rem;
}
.a27-product-v1-0-0 .a27-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  border-radius:10px;
  padding:.72rem 1rem;
  font-weight:850;
  border:1px solid transparent;
  cursor:pointer;
  text-decoration:none;
  background:#9bdcff;
  color:#061523;
}
.a27-product-v1-0-0 .a27-button-secondary{
  background:rgba(139,220,255,.12);
  color:#eaf6ff;
  border-color:rgba(139,220,255,.38);
}
.a27-product-v1-0-0 .a27-progress{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.55rem;
  margin:.8rem 0 1rem;
}
.a27-product-v1-0-0 .a27-progress span{
  display:grid;
  place-items:center;
  height:2rem;
  border-radius:999px;
  background:rgba(151,190,219,.16);
  color:var(--a27-muted);
  font-weight:900;
}
.a27-product-v1-0-0 .a27-progress span[aria-current="step"],
.a27-product-v1-0-0 .a27-progress span[data-complete="true"]{
  background:rgba(139,220,255,.22);
  color:var(--a27-cyan);
  box-shadow:inset 0 0 0 1px rgba(139,220,255,.4);
}
.a27-product-v1-0-0 .a27-error-summary{
  background:rgba(110,24,34,.45);
  border:1px solid rgba(255,178,185,.55);
  border-radius:12px;
  padding:.9rem;
  margin:1rem 0;
}
.a27-product-v1-0-0 [aria-invalid="true"]{
  border-color:#ffb2b9!important;
  box-shadow:0 0 0 2px rgba(255,178,185,.16);
}
.a27-product-v1-0-0 .a27-result{
  margin-top:1rem;
  background:rgba(4,18,31,.9);
  border:1px solid rgba(139,220,255,.28);
  border-radius:14px;
  padding:1rem;
}
.a27-product-v1-0-0 .a27-result dl{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem;
}
.a27-product-v1-0-0 .a27-result dl>div{
  min-width:0;
  background:rgba(17,46,72,.68);
  border-radius:10px;
  padding:.75rem;
}
.a27-product-v1-0-0 .a27-result dt{color:var(--a27-muted);font-size:.82rem}
.a27-product-v1-0-0 .a27-result dd{margin:.22rem 0 0;overflow-wrap:anywhere}
.a27-product-v1-0-0 .a27-provisional{color:var(--a27-gold);font-size:.92rem}
.a27-product-v1-0-0 .a27-faq details{
  border-top:1px solid var(--a27-line);
  padding:.85rem 0;
}
.a27-product-v1-0-0 .a27-faq summary{cursor:pointer;font-weight:850}
.a27-product-v1-0-0 .a27-sources li{margin:.65rem 0}
.a27-product-v1-0-0 [hidden]{display:none!important}
@media(max-width:1100px){
  .a27-product-v1-0-0 .a27-pipeline{grid-template-columns:repeat(4,minmax(0,1fr))}
  .a27-product-v1-0-0 .a27-failure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .a27-product-v1-0-0 .a27-pipeline>div::after{display:none}
}
@media(max-width:820px){
  .a27-product-v1-0-0 .a27-answer-grid,
  .a27-product-v1-0-0 .a27-purpose-grid,
  .a27-product-v1-0-0 .a27-contract-grid,
  .a27-product-v1-0-0 .a27-failure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .a27-product-v1-0-0 .a27-tool-heading{grid-template-columns:1fr}
}
@media(max-width:620px){
  .a27-product-v1-0-0 .a27-answer-grid,
  .a27-product-v1-0-0 .a27-purpose-grid,
  .a27-product-v1-0-0 .a27-contract-grid,
  .a27-product-v1-0-0 .a27-failure-grid,
  .a27-product-v1-0-0 .a27-gate-grid,
  .a27-product-v1-0-0 .a27-sensitivity-grid,
  .a27-product-v1-0-0 .a27-download-grid,
  .a27-product-v1-0-0 .a27-example-result,
  .a27-product-v1-0-0 .a27-two-col,
  .a27-product-v1-0-0 .a27-result dl,
  .a27-product-v1-0-0 .a27-pipeline{grid-template-columns:1fr}
  .a27-product-v1-0-0 .a27-span-2{grid-column:auto}
  .a27-product-v1-0-0 .a27-example-decision{grid-column:auto}
  .a27-product-v1-0-0 .a27-button{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .a27-product-v1-0-0 *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
@media(forced-colors:active){
  .a27-product-v1-0-0 .a27-tool,
  .a27-product-v1-0-0 .a27-score-pipeline,
  .a27-product-v1-0-0 .a27-purpose-grid article,
  .a27-product-v1-0-0 .a27-failure-grid article{border:1px solid CanvasText}
  .a27-product-v1-0-0 .a27-button{border:1px solid ButtonText}
}
@media print{
  .a27-product-v1-0-0 .a27-tool button{display:none!important}
  .a27-product-v1-0-0 .a27-tool,
  .a27-product-v1-0-0 .a27-score-pipeline,
  .a27-product-v1-0-0 .a27-answer-grid>div,
  .a27-product-v1-0-0 .a27-purpose-grid article,
  .a27-product-v1-0-0 .a27-failure-grid article,
  .a27-product-v1-0-0 .a27-contract-grid article,
  .a27-product-v1-0-0 .a27-gate-grid>div,
  .a27-product-v1-0-0 .a27-sensitivity-grid article,
  .a27-product-v1-0-0 .a27-download-grid article{
    background:#fff!important;color:#111!important;box-shadow:none!important;border:1px solid #bbb!important
  }
  .a27-product-v1-0-0 .a27-tool input,
  .a27-product-v1-0-0 .a27-tool select,
  .a27-product-v1-0-0 .a27-tool textarea{background:#fff!important;color:#111!important;border:1px solid #777!important}
}


/* Article 27 wide-visual and rail-focus correction.
   Both explanatory visuals use the protected true-center figure contract so
   sticky editorial rails fade only while a wide visual is in the viewport. */
.a27-product-v1-0-0 .a27-score-pipeline.ri4-article-visual{
  box-sizing:border-box;
  padding:clamp(1rem,2.8vw,1.7rem)!important;
}
.a27-product-v1-0-0 .a27-score-pipeline.ri4-article-visual figcaption{
  padding:0 0 .35rem!important;
  border:0!important;
  background:transparent!important;
}
.a27-product-v1-0-0 .a27-integrity-image img{
  background:#f2f6fc!important;
}
.a27-product-v1-0-0 .ri2-article-layout > .ri2-toc,
.a27-product-v1-0-0 .ri2-article-layout > .ri2-side-note{
  transition:opacity .22s ease,visibility .22s ease,transform .22s ease!important;
}
@media (min-width:1181px){
  .a27-product-v1-0-0 .ri2-article-layout.ri8-visual-focus > .ri2-toc,
  .a27-product-v1-0-0 .ri2-article-layout.ri8-visual-focus > .ri2-side-note{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}
@media (max-width:620px){
  .a27-product-v1-0-0 .a27-score-pipeline.ri4-article-visual{
    padding:1rem!important;
  }
}

/* Bounded visual refinement: keep the semantic visual, responsive bitmap,
   and decision-scope section inside the content rail without sidebar overlap. */
.a27-product-v1-0-0 .ri2-article{
  overflow-x:clip!important;
}
.a27-product-v1-0-0 .a27-score-pipeline.ri4-article-visual,
.a27-product-v1-0-0 .a27-integrity-image.ri4-article-visual{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  margin:1.4rem 0!important;
  padding:clamp(1rem,2.2vw,1.4rem)!important;
  overflow:hidden!important;
  transform:none!important;
  left:auto!important;
  right:auto!important;
  clear:both!important;
  isolation:isolate!important;
}
.a27-product-v1-0-0 .a27-score-pipeline.ri4-article-visual > *,
.a27-product-v1-0-0 .a27-integrity-image.ri4-article-visual > *{
  max-width:100%!important;
}
.a27-product-v1-0-0 .a27-pipeline{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr))!important;
  gap:.9rem!important;
  width:100%!important;
  max-width:100%!important;
}
.a27-product-v1-0-0 .a27-pipeline [role="listitem"]{
  min-width:0!important;
}
.a27-product-v1-0-0 .a27-integrity-image picture,
.a27-product-v1-0-0 .a27-integrity-image img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
}
.a27-product-v1-0-0 .a27-integrity-image figcaption,
.a27-product-v1-0-0 .a27-score-pipeline.ri4-article-visual figcaption{
  max-width:100%!important;
}
.a27-product-v1-0-0 .ri2-cta-section{
  overflow:hidden!important;
}
