/* Shared architecture composition. Three inputs feed one operating layer.
 * No product-family identity or live runtime binding is created by this view. */
.ts20-stack{--ts-ink:#24372f;--ts-muted:#667267;--ts-line:#cbd3c8;--ts-paper:#f6f7f2;container-type:inline-size;display:block;min-width:0;width:100%;margin:0;color:var(--ts-ink);font-family:inherit}
.ts20-stack *{box-sizing:border-box}
.ts20-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.ts20-stack .ts20-card{--ts-accent:#657e67;display:flex;flex-direction:column;gap:13px;min-width:0;margin:0;padding:24px 22px 22px;border:1px solid var(--ts-line);border-top:3px solid var(--ts-accent);border-radius:10px;background:var(--ts-paper);color:var(--ts-ink);position:relative}
.ts20-stack .ts20-card-brainos{--ts-accent:#696d97;background:#f3f4fa}
.ts20-stack .ts20-card-contractspec{--ts-accent:#526e43;background:#f1f5ec}
.ts20-stack .ts20-card-patio{--ts-accent:#99705b;background:#faf4ed}
.ts20-stack .ts20-role,.ts20-platform .ts20-role{margin:0;font:10px/1.5 SourcePlexMono,ui-monospace,monospace;letter-spacing:.045em;color:var(--ts-accent,var(--ts-muted));text-transform:uppercase}
.ts20-stack .ts20-name{display:block;margin:0;font-size:clamp(19px,3.1cqi,30px);font-weight:500;line-height:1.2;letter-spacing:-.045em;color:inherit}
.ts20-name a{display:flex;justify-content:space-between;gap:5px;align-items:baseline;color:inherit;text-decoration:none;min-width:0}
.ts20-name a>span{grid-column:auto;font-size:.6em;font-weight:400;line-height:inherit;color:inherit;opacity:.65;flex-shrink:0}
.ts20-stack a:focus-visible,.ts20-platform a:focus-visible{outline:3px solid #a98339;outline-offset:5px;border-radius:3px}
.ts20-name a:hover{color:var(--ts-accent,#b7d5bb)}
.ts20-stack .ts20-card-description{margin:0;font-size:14px;line-height:1.65;color:#536052}
.ts20-stack .ts20-secondary{font-size:12px;line-height:1.5;color:#795342;margin-top:auto;text-decoration:underline;text-decoration-color:#bda38f;text-underline-offset:4px}
.ts20-visual{height:98px;min-height:98px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:2px 0 3px;border-block:1px solid color-mix(in srgb,var(--ts-accent) 18%,transparent)}
.ts20-visual>.ec-product-art{width:100%;height:auto;min-height:0;padding:14px 0;background:transparent;border:0;border-radius:0;box-shadow:none}
.ts20-visual .ec-product-contractspec{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px}
.ts20-visual .ec-product-contractspec>div{min-width:0;padding:6px 7px;background:#fff9;border:1px solid #c7d5bc;border-radius:4px}
.ts20-visual .ec-product-contractspec>div>span{font-size:6.5px;letter-spacing:.04em}
.ts20-visual .ec-product-contractspec>div>b{font-size:9px}
.ts20-visual .ec-product-contractspec>i{font-size:11px}
.ts20-visual .ec-product-contractspec>p{width:100%;font-size:9px;margin:3px 0 0;text-align:center}
.ts20-visual .ec-product-brain{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px}
.ts20-visual .ec-brain-scope{font-size:12px;padding:10px 12px;background:#fff9;border:1px solid #c7c9de;border-radius:20px}
.ts20-visual .ec-brain-bridge{font-size:18px;color:#6c7199}
.ts20-visual .ec-product-brain>p{width:100%;font-size:9px;text-align:center;margin:0}
.ts20-patio-visual{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px 5px;align-content:center;text-align:center}
.ts20-patio-visual>span{grid-column:auto;font-size:9px;line-height:1.4;padding:6px 2px;background:#fff9;border:1px solid #ddcabb;border-radius:4px;color:#77533f}
.ts20-patio-visual>i{grid-column:1/-1;display:block;height:9px;margin-inline:9%;border:1px solid #c7ab94;border-top:0;position:relative}
.ts20-patio-visual>i:after{content:'';position:absolute;left:50%;bottom:-9px;width:1px;height:8px;background:#c7ab94}
.ts20-patio-visual>b{grid-column:1/-1;font-size:9px;font-weight:400;color:#87684f;margin-top:4px}
.ts20-connectors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;height:34px;padding-inline:1px;position:relative}
.ts20-connectors>span{grid-column:auto;position:relative;width:1px;justify-self:center;background:linear-gradient(#a8b8a6,#516958);margin-top:1px;margin-bottom:4px}
.ts20-connectors>span:after{content:'';position:absolute;bottom:-1px;left:-3px;width:7px;height:7px;border-right:1px solid #516958;border-bottom:1px solid #516958;transform:rotate(45deg)}
.ts20-stack .ts20-base{display:grid;grid-template-columns:minmax(140px,.65fr) minmax(0,1.35fr);gap:28px;align-items:center;margin:0;padding:25px 30px;border:1px solid #304a5c;border-top:3px solid #c2a577;border-radius:10px;background:#122735;color:#f2f4e9}
.ts20-base .ts20-role{color:#d4c2a0;margin-bottom:7px}
.ts20-base .ts20-name{font-size:30px;letter-spacing:-.035em}
.ts20-base-copy>p{margin:0;font-size:14px;line-height:1.65;color:#d6e0df}
.ts20-base-copy>span{display:block;margin-top:10px;font:9px/1.5 SourcePlexMono,ui-monospace,monospace;letter-spacing:.1em;color:#9eb9bb}
.ts20-caption{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:16px}
.ts20-caption>p{margin:0;font-size:11px;line-height:1.65;color:var(--ts-muted)}
.ts20-caption strong{font-weight:500;color:var(--ts-ink)}
.ts20-caption a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.ts20-caption [data-tech-planned]{color:#816750}
.ts20-platform{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(0,1.4fr) auto;gap:25px;align-items:center;margin-top:28px;padding:23px 0;border-block:1px solid #cfd5cc}
.ts20-platform .ts20-role{color:#67775e;font-size:9px}
.ts20-platform h3{margin:6px 0 0;font-size:23px;font-weight:500;letter-spacing:-.03em;line-height:1.2}
.ts20-platform>p{margin:0;font-size:13px;line-height:1.65;color:#637060}
.ts20-platform>a{font-size:12px;line-height:1.5;color:#405d43;text-decoration:none;border-bottom:1px solid #a4b69d;padding:6px 0}
.ts20-platform>a>span{margin-left:6px}
.ts20-stack-compact .ts20-card{gap:8px;padding:17px 18px;min-height:0}
.ts20-stack-compact .ts20-name{font-size:23px}
.ts20-stack-compact .ts20-card-description,.ts20-stack-compact .ts20-secondary,.ts20-stack-compact .ts20-visual{display:none}
.ts20-stack-compact .ts20-base{padding:18px 22px;grid-template-columns:minmax(145px,.65fr) minmax(0,1.35fr);gap:20px}
.ts20-stack-compact .ts20-base .ts20-name{font-size:24px}
.ts20-stack-compact .ts20-base-copy>p{font-size:13px}
.ts20-stack-compact .ts20-base-copy>span{margin-top:6px;font-size:8px}
.ts20-stack-compact .ts20-caption{display:block;margin-top:10px}
.ts20-stack-compact .ts20-caption>.ts20-patio-scope{display:none}
.pe-home-hero>.ts20-stack{margin-top:38px;margin-bottom:18px}
.pe-foundation-band>.ts20-stack{display:block}
.tech-brand-hero>.ts20-stack,.tech-brand-hero>.ts20-platform{grid-column:1/-1}
.tech-brand-hero>.ts20-stack{margin-top:28px}
.tech-brand-hero>.ts20-platform{margin-top:6px}
.review-architecture>.ts20-stack{margin-top:30px}
.tv16-foundations{grid-template-columns:1fr;gap:26px}
.tv16-foundations>header{max-width:680px}
.tv16-foundations .ts20-caption strong{font-size:inherit;letter-spacing:normal}
.os-stage>.ts20-stack{margin-top:36px;align-self:center}
.network-os .ts20-stack{--ts-ink:#e4eaf3;--ts-muted:#9cb0c7;--ts-line:#35475d}
.network-os .ts20-stack .ts20-card{background:#142436;border-color:#34485f;color:#e8ecf5}
.network-os .ts20-stack .ts20-card-brainos{--ts-accent:#b8bbdf}
.network-os .ts20-stack .ts20-card-contractspec{--ts-accent:#b8cda5}
.network-os .ts20-stack .ts20-card-patio{--ts-accent:#dfb493}
.network-os .ts20-base{background:#1c3244;border-color:#4c687d}
.network-os .ts20-caption [data-tech-planned]{color:#d5b798}
@container(max-width:680px){
  .ts20-top{gap:10px}.ts20-stack .ts20-card{padding:15px 12px;gap:9px}.ts20-stack .ts20-name,.ts20-stack-compact .ts20-name{font-size:clamp(12px,4.3cqi,22px);letter-spacing:-.04em}.ts20-stack .ts20-role{font-size:9px;line-height:1.45;letter-spacing:0;min-height:26px}.ts20-stack .ts20-card-description,.ts20-stack .ts20-visual,.ts20-stack .ts20-secondary{display:none}.ts20-connectors{gap:10px;height:28px}.ts20-stack .ts20-base{grid-template-columns:minmax(100px,.65fr) minmax(0,1.35fr);gap:17px;padding:20px}.ts20-base .ts20-role{min-height:0}.ts20-stack .ts20-base .ts20-name{font-size:24px}.ts20-base-copy>p{font-size:12px}.ts20-base-copy>span{font-size:8px}.ts20-caption{grid-template-columns:1fr;gap:8px}.ts20-caption>p{font-size:11px}
}
@container(max-width:380px){.ts20-top{gap:7px}.ts20-stack .ts20-card{padding:12px 9px}.ts20-stack .ts20-name a>span{display:none}.ts20-stack .ts20-base{grid-template-columns:1fr;gap:10px;padding:18px}.ts20-base-copy>p{font-size:12px}.ts20-base-copy>span{margin-top:7px}.ts20-stack .ts20-base .ts20-name a>span{display:block}}
@media(max-width:760px){.ts20-platform{grid-template-columns:1fr 1fr;gap:14px 22px}.ts20-platform>p{font-size:12px}.ts20-platform>a{grid-column:1/-1;justify-self:start}.ts20-platform h3{font-size:21px}.pe-home-hero>.ts20-stack{margin-top:28px}.tech-brand-hero>.ts20-stack{margin-top:18px}}
@media(max-width:430px){.ts20-platform{grid-template-columns:1fr;gap:12px}.ts20-platform>a{grid-column:auto}.ts20-platform{padding-block:20px}.ts20-platform h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){.ts20-stack *,.ts20-platform *{scroll-behavior:auto}}
