/* bv-ai-blueprint.css: the Bruviti Production AI Blueprint Page page's own styles. GENERATED by
   tools/build-page-css.py from the design package page; do not edit by hand. */
/*@section:reset*/
body.bv-design.ai-blueprint-page{font-size:16px;line-height:normal}
body.bv-design.ai-blueprint-page::before{content:none}
body.bv-design :where(.bvp-ai-blueprint) :where(h1,h2,h3,h4,p){color:inherit;letter-spacing:normal;position:static;font-size:inherit;line-height:inherit;font-weight:inherit;overflow-wrap:normal}
body.bv-design :where(.bvp-ai-blueprint) a{transition:none;position:static}
body.bv-design :where(.bvp-ai-blueprint) a:hover{text-decoration:none}
body.bv-design :where(.bvp-ai-blueprint) :where(img,svg,video){max-width:none;height:revert}
body.bv-design :where(.bvp-ai-blueprint) :where(img,picture,video,canvas,svg){display:revert}
body.bv-design :where(.bvp-ai-blueprint) :where(*)::before,body.bv-design :where(.bvp-ai-blueprint) :where(*)::after{box-sizing:content-box}
body.bv-design :where(.bvp-ai-blueprint) .container{width:auto;overflow:visible}
body.bv-design :where(.bvp-ai-blueprint, .xv) *{max-width:none}
/*@page:Bruviti Production AI Blueprint Page.html -> .bvp-ai-blueprint (kept 86, pruned 15)*/
body.bv-design :where(.bvp-ai-blueprint) .mono{font-family:"IBM Plex Mono",ui-monospace,"Courier New",monospace;text-transform:uppercase;letter-spacing:.12em}
body.bv-design :where(.bvp-ai-blueprint) .bph{display:grid;grid-template-columns:42fr 58fr;gap:52px;align-items:start}
body.bv-design :where(.bvp-ai-blueprint) .bph .sum{max-width:46ch}
body.bv-design :where(.bvp-ai-blueprint) .shot{border:1px solid var(--dline);background:#fff;min-width:0}
body.bv-design :where(.bvp-ai-blueprint) .ont{color:#1a1a1a;padding:18px 20px 16px;font-weight:400}
body.bv-design :where(.bvp-ai-blueprint) .oh{display:flex;align-items:baseline;gap:9px;padding-bottom:11px;border-bottom:1px solid var(--border);margin-bottom:13px}
body.bv-design :where(.bvp-ai-blueprint) .oh b{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1.3}
@media (max-width:860px){
body.bv-design :where(.bvp-ai-blueprint) .oh b{font-size:12px}
}
body.bv-design :where(.bvp-ai-blueprint) .oh .mk{font-style:normal;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:1.55em;line-height:1;font-weight:400;color:var(--orange);width:12px;text-align:center;margin-top:-.12em;flex:0 0 auto}
body.bv-design :where(.bvp-ai-blueprint) .oh em{font-style:normal;margin-left:auto;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);white-space:nowrap}
body.bv-design :where(.bvp-ai-blueprint) .bl b{display:block;font-size:12.5px;font-weight:500;line-height:1.3;color:#1a1a1a}
body.bv-design :where(.bvp-ai-blueprint) .bl i{display:block;font-style:normal;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11.5px;letter-spacing:.02em;color:var(--muted);line-height:1.4;margin-top:2px}
body.bv-design :where(.bvp-ai-blueprint) .onote{margin-top:13px;padding-top:10px;border-top:1px solid var(--border);font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);line-height:1.5}
body.bv-design :where(.bvp-ai-blueprint) .kg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;padding:6px 0 2px}
body.bv-design :where(.bvp-ai-blueprint) .kg .col{display:grid;grid-template-rows:1fr auto 1fr;justify-items:stretch}
body.bv-design :where(.bvp-ai-blueprint) .kg .up,body.bv-design :where(.bvp-ai-blueprint) .kg .dn{position:relative;display:grid;gap:8px;justify-items:start;justify-self:stretch;margin-left:6.5px;border-left:1px solid var(--border);padding-left:9px}
body.bv-design :where(.bvp-ai-blueprint) .kg .up{align-self:end}
body.bv-design :where(.bvp-ai-blueprint) .kg .dn{align-self:start}
body.bv-design :where(.bvp-ai-blueprint) .kg .up:empty,body.bv-design :where(.bvp-ai-blueprint) .kg .dn:empty{border-left:0}
body.bv-design :where(.bvp-ai-blueprint) .kg .dn{align-content:start}
body.bv-design :where(.bvp-ai-blueprint) .kg .up{padding-bottom:32px}
body.bv-design :where(.bvp-ai-blueprint) .kg .dn{padding-top:14px}
body.bv-design :where(.bvp-ai-blueprint) .kg .leaf{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:400;line-height:1.35;color:#1a1a1a;text-align:left}
body.bv-design :where(.bvp-ai-blueprint) .kg .leaf::before{content:"";width:7px;height:7px;border:1px solid var(--muted);background:#fff;flex:0 0 auto;position:relative;z-index:1}
body.bv-design :where(.bvp-ai-blueprint) .kg .nd{display:grid;justify-items:start;gap:6px;position:relative;z-index:1;justify-self:start}
body.bv-design :where(.bvp-ai-blueprint) .kg .nd i{width:14px;height:14px;background:var(--orange);display:block}
body.bv-design :where(.bvp-ai-blueprint) .kg .nd b{font-size:12.5px;font-weight:500;line-height:1.2;white-space:nowrap}
body.bv-design :where(.bvp-ai-blueprint) .kg .rail{position:absolute;left:7px;right:calc(25% - 7px);top:50%;height:2px;background:var(--orange);transform:translateY(-7px)}
body.bv-design :where(.bvp-ai-blueprint) .kg .vb{position:absolute;top:50%;transform:translate(-50%,-30px);font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);white-space:nowrap}
body.bv-design :where(.bvp-ai-blueprint) .bpt{display:grid;gap:2rem}
body.bv-design :where(.bvp-ai-blueprint) .group{display:grid;gap:1px;background:var(--border);border:1px solid var(--border);align-content:start}
body.bv-design :where(.bvp-ai-blueprint) .glabel{grid-column:1/-1;background:#fff;padding:.85rem 1.5rem;font-size:.82rem;color:var(--muted);display:flex;align-items:center;gap:.7rem}
body.bv-design :where(.bvp-ai-blueprint) .glabel .mk{font-style:normal;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:1.55em;line-height:1;font-weight:400;color:var(--orange);width:12px;text-align:center;margin-top:-.12em;flex:0 0 auto;letter-spacing:0}
body.bv-design :where(.bvp-ai-blueprint) .stage{background:var(--panel);padding:1.5rem;display:grid;gap:.4rem;align-content:start;position:relative}
body.bv-design :where(.bvp-ai-blueprint) .stage .t{font-size:1.05rem;font-weight:400;line-height:1.35}
body.bv-design :where(.bvp-ai-blueprint) .stage .d{font-size:.88rem;color:var(--muted);line-height:1.6}
body.bv-design :where(.bvp-ai-blueprint) .dest{border:1px solid var(--border);background:var(--mist);padding:2rem 1.75rem;display:grid;gap:.55rem;align-content:center;position:relative}
body.bv-design :where(.bvp-ai-blueprint) .dest .glabel{background:none;padding:0;margin-bottom:.35rem}
body.bv-design :where(.bvp-ai-blueprint) .dest .t{font-size:clamp(1.25rem,3.2vw,1.65rem);font-weight:300;line-height:1.25;letter-spacing:-.01em}
body.bv-design :where(.bvp-ai-blueprint) .dest .d{font-size:.95rem;color:var(--muted);line-height:1.6;max-width:46ch}
body.bv-design :where(.bvp-ai-blueprint) .dest::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--orange)}
body.bv-design :where(.bvp-ai-blueprint) .arrow{display:none;align-items:center;justify-content:center;color:var(--orange);font-size:1.1rem}
body.bv-design :where(.bvp-ai-blueprint) .pillars{display:grid;gap:2.5rem;margin-top:2.5rem}
body.bv-design :where(.bvp-ai-blueprint) .pillar{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:.9rem;align-content:start;position:relative}
body.bv-design :where(.bvp-ai-blueprint) .pillar .cat{font-size:.82rem;color:var(--copper);display:flex;align-items:center;gap:.7rem}
body.bv-design :where(.bvp-ai-blueprint) .pillar .cat .mk{font-style:normal;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:1.55em;line-height:1;font-weight:400;color:var(--orange);width:12px;text-align:center;margin-top:-.12em;flex:0 0 auto;letter-spacing:0}
body.bv-design :where(.bvp-ai-blueprint) .pillar .q{font-size:clamp(1.15rem,3vw,1.35rem);font-weight:300;line-height:1.32;letter-spacing:-.01em;text-wrap:pretty}
body.bv-design :where(.bvp-ai-blueprint) .pillar .terms{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}
body.bv-design :where(.bvp-ai-blueprint) .pillar .terms span{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:13px;text-transform:uppercase;letter-spacing:.08em;line-height:1.4;color:var(--muted);background:#E4E4E4;padding:.5rem .65rem}
body.bv-design :where(.bvp-ai-blueprint) .pslot{border:1px solid var(--border);background:#fff;padding:8px;margin-top:.5rem;min-width:0;overflow:hidden;align-self:start}
body.bv-design :where(.bvp-ai-blueprint) .pslot image-slot{display:block;width:100%;min-width:0;aspect-ratio:4/3;height:auto}
body.bv-design :where(.bvp-ai-blueprint) .bl h2+.bpt,body.bv-design :where(.bvp-ai-blueprint) .bl h2+.pillars{margin-top:40px}
body.bv-design :where(.bvp-ai-blueprint) .bpt{grid-template-columns:1fr 40px 1.05fr;align-items:stretch;gap:0}
body.bv-design :where(.bvp-ai-blueprint) .group{grid-template-columns:repeat(2,1fr)}
body.bv-design :where(.bvp-ai-blueprint) .arrow{display:flex}
body.bv-design :where(.bvp-ai-blueprint) .stage{padding:1.75rem 1.5rem}
body.bv-design :where(.bvp-ai-blueprint) .dest{padding:2.25rem 2rem}
body.bv-design :where(.bvp-ai-blueprint) .pillars{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto auto auto;gap:0}
body.bv-design :where(.bvp-ai-blueprint) .pillar{grid-row:span 4;grid-template-rows:subgrid;padding:0 2rem}
body.bv-design :where(.bvp-ai-blueprint) .pillars{column-gap:4rem}
body.bv-design :where(.bvp-ai-blueprint) .pillar{padding:0}
body.bv-design :where(.bvp-ai-blueprint) .pillar+.pillar::before{content:"";position:absolute;left:-2rem;top:0;bottom:0;width:1px;background:var(--border)}
body.bv-design :where(.bvp-ai-blueprint) .closer h2{color:#fff;margin-bottom:20px}
body.bv-design :where(.bvp-ai-blueprint) .closer p{font-size:19px;font-weight:300;color:var(--dmuted);line-height:1.6;max-width:58ch;margin-bottom:32px}
body.bv-design :where(.bvp-ai-blueprint) .closer{border-bottom:1px solid var(--dline)}
body.bv-design :where(.bvp-ai-blueprint) .glabel{color:var(--copper)}
body.bv-design :where(.bvp-ai-blueprint) .dest{align-content:start;padding-top:.85rem}
body.bv-design :where(.bvp-ai-blueprint) .bpa{display:flex;flex-wrap:wrap;align-items:center;gap:32px}
@media (max-width:860px){
body.bv-design :where(.bvp-ai-blueprint) .bph .shot{display:none}
body.bv-design :where(.bvp-ai-blueprint) .bph{grid-template-columns:minmax(0,1fr);gap:32px}
body.bv-design :where(.bvp-ai-blueprint) .bph h1{font-size:32px}
body.bv-design :where(.bvp-ai-blueprint) .bl h2+.bpt,body.bv-design :where(.bvp-ai-blueprint) .bl h2+.pillars{margin-top:28px}
body.bv-design :where(.bvp-ai-blueprint) .bpt{grid-template-columns:minmax(0,1fr)}
body.bv-design :where(.bvp-ai-blueprint) .group{grid-template-columns:minmax(0,1fr)}
body.bv-design :where(.bvp-ai-blueprint) .arrow{height:40px;transform:rotate(90deg)}
body.bv-design :where(.bvp-ai-blueprint) .stage{padding:1.25rem}
body.bv-design :where(.bvp-ai-blueprint) .dest{padding:.85rem 1.25rem 1.5rem}
body.bv-design :where(.bvp-ai-blueprint) .pillars{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:48px;margin-top:28px}
body.bv-design :where(.bvp-ai-blueprint) .pillar{grid-row:auto;grid-template-rows:none}
body.bv-design :where(.bvp-ai-blueprint) .pillar+.pillar::before{left:0;right:0;top:-24px;bottom:auto;width:auto;height:1px}
body.bv-design :where(.bvp-ai-blueprint) .closer p{font-size:17px}
body.bv-design :where(.bvp-ai-blueprint) .bpa{gap:20px}
}
/*@section:shell*/
body.bv-design :where(.bvp-ai-blueprint) .pslot img{display:block;width:100%;min-width:0;aspect-ratio:4/3;height:auto;object-fit:contain}
body.bv-design.ai-blueprint-page .bpg{position:relative;overflow:hidden;background:#fff;width:100%;aspect-ratio:4/3}
body.bv-design.ai-blueprint-page .bpg .bpg-fr{position:absolute;left:0;top:0;width:800px;height:600px;transform-origin:0 0;display:flex;align-items:center;justify-content:center}
body.bv-design.ai-blueprint-page .bpg .bpg-in{width:736px;display:grid;grid-template-rows:auto 28px auto 28px auto;font-family:Roboto,-apple-system,sans-serif;color:var(--ink,#1A1A1A)}
body.bv-design.ai-blueprint-page .bpg .ly{background:#fff;border:1px solid var(--border,#D8D8D8);padding-bottom:14px}
body.bv-design.ai-blueprint-page .bpg .lh{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-right:18px}
body.bv-design.ai-blueprint-page .bpg .tab{background:var(--graphite,#1B1F24);color:#fff;font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:9px 14px}
body.bv-design.ai-blueprint-page .bpg .lm{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#5A5A5A);text-align:right}
body.bv-design.ai-blueprint-page .bpg .sys{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:10px;padding:14px 18px 0}
body.bv-design.ai-blueprint-page .bpg .sys-tag{display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:.04em;padding:7px 11px;background:#fff;border:1px solid var(--border,#D8D8D8);color:var(--ink,#1A1A1A)}
body.bv-design.ai-blueprint-page .bpg .cols{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));margin-top:12px}
body.bv-design.ai-blueprint-page .bpg .cols>div{position:relative;text-align:center;padding:0 14px;border-left:1px dashed #D8D8D8}
body.bv-design.ai-blueprint-page .bpg .cols>div:first-child{border-left:0}
body.bv-design.ai-blueprint-page .bpg .cols>div+div::before{content:'';position:absolute;left:-5px;top:50%;margin-top:-4px;width:8px;height:8px;background:#fff;border:2px solid var(--orange,#FF6B35);box-sizing:border-box}
body.bv-design.ai-blueprint-page .bpg h4{display:inline-block;font-size:16px;font-weight:500;line-height:1.3;padding-bottom:5px;margin:0 0 6px;border-bottom:2px solid var(--orange,#FF6B35);color:var(--ink,#1A1A1A);letter-spacing:normal}
body.bv-design.ai-blueprint-page .bpg .cols p{margin:0;font-size:14.5px;font-weight:300;line-height:1.5;color:var(--body,#4A4A4A)}
body.bv-design.ai-blueprint-page .bpg .dn{position:relative}
body.bv-design.ai-blueprint-page .bpg .dn::before{content:'';position:absolute;left:50%;top:2px;bottom:8px;width:2px;margin-left:-1px;background:var(--orange,#FF6B35)}
body.bv-design.ai-blueprint-page .bpg .dn::after{content:'';position:absolute;left:50%;bottom:1px;margin-left:-6px;border:6px solid transparent;border-top:7px solid var(--orange,#FF6B35);border-bottom:0}
body.bv-design.ai-blueprint-page .bpg .bpg-svg{display:block;padding:0}
body.bv-design.ai-blueprint-page .bpg .bpg-svg svg{display:block;max-width:none;width:736px;height:auto}
body.bv-design.ai-blueprint-page .bpg .bpg-ev{grid-template-rows:auto 20px auto}
body.bv-design.ai-blueprint-page .bpg .cols.ev{margin-top:0;padding-top:16px}
body.bv-design.ai-blueprint-page .bpg .cols.ev>div{text-align:left;padding:0 18px}
body.bv-design.ai-blueprint-page .bpg .cols.ev ul{list-style:none;margin:4px 0 0;padding:0}
body.bv-design.ai-blueprint-page .bpg .cols.ev li{display:grid;grid-template-columns:14px minmax(0,1fr);gap:6px;margin-top:8px;font-size:14px;font-weight:300;line-height:1.45;color:var(--body,#4A4A4A)}
body.bv-design.ai-blueprint-page .bpg .cols.ev .mk{font-family:'IBM Plex Mono',monospace;font-weight:500;color:var(--orange,#FF6B35)}
body.bv-design.ai-blueprint-page .bpg .why{margin:12px 18px 0;font-size:14.5px;font-weight:300;line-height:1.5;color:var(--body,#4A4A4A)}
