/* Stage BI / Private: canonical-source-verified HTML architecture compositions. */
.indwel-sat{position:relative;isolation:isolate;clear:both;margin:clamp(55px,6.5vw,90px) auto 0;padding:clamp(25px,3.5vw,48px);background:#f5f4ef;color:#202822;border:1px solid #b9bcb0;border-radius:2px;box-shadow:0 16px 45px rgba(19,24,18,.045);width:100%;max-width:1200px;overflow:clip;line-height:1.5}
.indwel-sat *{box-sizing:border-box}.indwel-sat__header{margin:0 0 31px;max-width:860px}.indwel-sat__brand{display:flex;gap:10px;align-items:center;color:#4e5e54;letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:750;margin:0 0 17px}.indwel-sat__brand img{width:26px;height:26px;object-fit:contain}.indwel-sat h3{color:#17231b;font-family:"Geist Variable",Geist,Arial,sans-serif;font-size:clamp(23px,2.35vw,35px);line-height:1.16;letter-spacing:-.036em;font-weight:550;margin:0 0 13px;max-width:30ch;text-wrap:balance}.indwel-sat__header p{font-size:clamp(14px,1.18vw,17px);line-height:1.65;color:#465249;max-width:800px;margin:0}.indwel-sat__tracks{display:grid;gap:22px}.indwel-sat__row{padding:18px 0 4px;border-top:1px solid #bdc2b8}.indwel-sat__rowlabel{font-size:11px;font-weight:730;letter-spacing:.08em;color:#667269;text-transform:uppercase;margin:0 0 17px}.indwel-sat__path{display:flex;align-items:stretch;gap:0}.indwel-sat__node{min-width:0;flex:1;align-self:stretch;background:#fffdfa;border:1px solid #b5bdb3;border-top:3px solid #587c6c;min-height:115px;padding:19px 13px 15px;display:block;box-shadow:0 3px 8px rgba(18,28,19,.035)}.indwel-sat__node strong{display:block;font-size:clamp(11px,1.05vw,14px);font-weight:650;line-height:1.32;overflow-wrap:break-word;color:#17231b}.indwel-sat__area{font:640 10px/1.3 "Geist Variable",Geist,Arial,sans-serif;letter-spacing:.02em;color:#657169;display:block;margin:0 0 9px}.indwel-sat__link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex:0 0 clamp(48px,5.5vw,74px);min-width:0;padding:5px 4px;text-align:center;color:#516f60}.indwel-sat__link span{font:570 10px/1.24 "Geist Variable",Geist,Arial,sans-serif;max-width:95px;overflow-wrap:normal}.indwel-sat__link b{font-size:23px;line-height:1}.indwel-sat__note{padding:18px 0 0;margin:22px 0 0!important;border-top:1px solid #bdc2b8;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px;color:#637065;font-size:11px;line-height:1.5}.indwel-sat__note a{font-size:13px;color:#305b48;font-weight:650;text-decoration:underline;text-underline-offset:4px}.indwel-sat__note a:hover{color:#1b4332}
.indwel-sat--security{background:#edf1ed}.indwel-sat--settlement{background:#f1ece3}.indwel-sat--inference{background:#ebefef}.indwel-sat--deployment{background:#eeefea}.indwel-sat--integrations{background:#f0eee8}
@media(max-width:1000px){.indwel-sat{padding:25px}.indwel-sat__link{min-width:35px}.indwel-sat__node{padding:13px 9px;min-height:106px}.indwel-sat__area{font-size:9px}.indwel-sat__link span{font-size:9px}.indwel-sat__node strong{font-size:12px}}
@media(max-width:900px){.indwel-sat{padding:24px 19px;margin-top:50px}.indwel-sat__header{margin-bottom:22px}.indwel-sat__path{display:flex;flex-direction:column;align-items:stretch}.indwel-sat__node{min-height:65px;gap:3px;padding:12px 15px;flex:none}.indwel-sat__node strong{font-size:14px}.indwel-sat__link{min-height:44px;flex-direction:row;gap:12px;padding:3px 12px;justify-content:flex-start}.indwel-sat__link b{transform:rotate(90deg);font-size:19px}.indwel-sat__link span{max-width:none;font-size:11px}.indwel-sat__area{font-size:10px}.indwel-sat__note{align-items:flex-start;flex-direction:column;gap:7px}}
@media(max-width:360px){.indwel-sat{padding:17px 14px}.indwel-sat h3{font-size:23px}.indwel-sat__header p{font-size:14px}}
@media(forced-colors:active){.indwel-sat,.indwel-sat__node{border:1px solid CanvasText}.indwel-sat__link{color:CanvasText}}
@media(prefers-reduced-motion:reduce){.indwel-sat *{scroll-behavior:auto}}


/* Stage BK: approved Architecture-page system is the sole visual vocabulary.
   Stage BJ's invented numbered flow was withdrawn, not restyled. Master-source terms
   and category roles are shared by Home and all seven other satellites. */
.indwel-sat{
 --archz-green:#376b50;--archz-edge:#a8c0ac;--archz-faint:#e1eae2;
 --archz-ochre:#9d8657;--archz-source:#718f80;--archx-gov:#a18b61;
 --archx-cog:#446d54;--archx-info:#789283;--archx-line:#52765b;
 --archs-paper:#f9fbf8;--archs-cream:#f5f2e9;
 background:#fcfdfa;border:1px solid #b8cabb;border-radius:6px;
 color:#273b30;box-shadow:0 10px 34px rgba(23,52,34,.065);
}
.indwel-sat--security,.indwel-sat--settlement,.indwel-sat--inference,.indwel-sat--deployment,.indwel-sat--integrations{background:#fcfdfa}
.indwel-sat .indwel-sat__node{background:#fff;border:1px solid #b8cabb;border-top:1px solid #b8cabb;border-left:3px solid var(--archz-source);border-radius:3px;box-shadow:none;color:#273b30;min-height:108px}
.indwel-sat__node[data-arch-region="Constitutional Authority"],.indwel-sat__node[data-arch-region="Constitutional Orientation"]{border-left-color:var(--archz-ochre);background:#f7f4ed}
.indwel-sat__node[data-arch-region="Cognitive Machinery"]{border-left-color:var(--archx-cog);background:#edf4ee}
.indwel-sat__node[data-arch-region="Collections and Evidence"]{border-left-color:var(--archx-info);background:#f7faf6}
.indwel-sat__node[data-arch-region="Action and Settlement"]{border-left-color:var(--archz-green);background:#f8faf7}
.indwel-sat__node[data-arch-region="Continuity and Proof"]{border-left-color:#789283;background:#f9faf8}
.indwel-sat .indwel-sat__area{color:#536958}
.indwel-sat .indwel-sat__link{color:var(--archx-line);gap:8px;min-width:52px}
.indwel-sat .indwel-sat__link b{display:block;position:relative;width:35px;height:2px;font-size:0;background:var(--archx-line)}
.indwel-sat .indwel-sat__link b::after{content:"";position:absolute;right:0;top:-4px;border-left:7px solid var(--archx-line);border-top:5px solid transparent;border-bottom:5px solid transparent}
.indwel-sat__brand img{width:26px;height:26px}
.indwel-sat--canonical{margin-top:clamp(24px,3.5vw,44px);margin-bottom:clamp(48px,6vw,84px);max-width:1210px}
.indwel-sat--canonical .indwel-sat__header h3{max-width:none}
.indwel-arch-cut{font-family:"Geist Variable",Geist,Arial,sans-serif;color:#273b30;line-height:1.42}
.indwel-arch-cut *{box-sizing:border-box}
.indwel-arch-cut :is(h4,h5,p){margin:0}
.indwel-arch-cut__authority{border:1px solid #cdbf9f;border-left:3px solid var(--archz-ochre);background:#f6f3ed;border-radius:4px;padding:14px 18px;display:flex;align-items:baseline;justify-content:space-between;gap:18px}
.indwel-arch-cut__authority strong{font-size:15px}
.indwel-arch-cut__authority span{font-size:12px;color:#53675a;line-height:1.5}
.indwel-arch-cut__os{margin-top:14px;background:#f8fbf7;border:1px solid #b0c6b3;border-radius:5px;padding:clamp(15px,2vw,22px)}
.indwel-arch-cut__os-title{font-size:19px;font-weight:700;letter-spacing:-.02em;margin:0 0 15px!important}
.indwel-arch-cut__governance{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.indwel-arch-cut__node{min-width:0;padding:13px 15px;border:1px solid #b8cabb;border-left:3px solid #4e7a5b;background:#fff;border-radius:3px;display:flex;flex-direction:column;gap:4px;justify-content:center}
.indwel-arch-cut__node strong{font-size:13.5px;line-height:1.3}
.indwel-arch-cut__node span{font-size:11.5px;line-height:1.38;color:#556b5d}
.indwel-arch-cut__node--contract{background:#e6eee7;border-color:#b8cabb;border-left-color:#547d60}
.indwel-arch-cut__node--governor{background:#f8faf7;border-left-color:#9d8657}
.indwel-arch-cut__interfaces{text-align:center;margin:17px 0 12px;font-size:12px;line-height:1.5}
.indwel-arch-cut__interfaces strong{display:block;font-weight:700}
.indwel-arch-cut__interfaces span{color:#5e7463;display:block;margin-top:3px;font-size:11px}
.indwel-arch-cut__work{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}
.indwel-arch-cut__work>div{border:1px solid #cbd9cb;background:#f6f9f5;border-radius:3px;display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 14px}
.indwel-arch-cut__work>div+div{background:#e7efe8}
.indwel-arch-cut__work strong{font-size:15px}
.indwel-arch-cut__work span{font-size:11px;color:#5d7161}
.indwel-arch-cut__layer{padding:15px 18px;border:1px solid #b2c7b5;border-radius:4px;margin:11px 0 0;background:#f8fbf7}
.indwel-arch-cut__layer h5{font-size:17px;font-weight:710;letter-spacing:-.01em;margin:0 0 10px}
.indwel-arch-cut__layer--cognition{background:#edf5ed;border-left:3px solid var(--archx-cog)}
.indwel-arch-cut__layer--collections{background:#f8fbf7;border-left:3px solid var(--archx-info)}
.indwel-arch-cut__flow{display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);gap:8px;align-items:stretch}
.indwel-arch-cut__flow .indwel-arch-cut__node{min-height:73px}
.indwel-arch-cut__arrow{display:flex;align-items:center;justify-content:center}
.indwel-arch-cut__arrow i,.indwel-arch-cut__line{position:relative;display:block;width:100%;height:2px;background:var(--archx-line)}
.indwel-arch-cut__arrow i::after,.indwel-arch-cut__line::after{content:"";position:absolute;right:0;top:-4px;border-left:7px solid var(--archx-line);border-top:5px solid transparent;border-bottom:5px solid transparent}
.indwel-arch-cut__gate,.indwel-arch-cut__evidence{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(130px,.8fr) 30px minmax(0,1fr);gap:6px;align-items:center;text-align:center;margin-top:12px;font-size:11px;color:#486251}
.indwel-arch-cut__gate strong,.indwel-arch-cut__evidence strong{padding:8px 5px;border:1px solid #b59a68;border-radius:3px;background:#f6f2e6;font-size:11px}
.indwel-arch-cut__gate span:last-child,.indwel-arch-cut__evidence span:last-child{background:#e5efe6;border:1px solid #c3d4c5;border-radius:3px;padding:7px 4px}
/* Stage BU: a pathway is neither a component nor an enforcement gate.
   Give process inputs a restrained, bounded form; reserve ochre for firewalls. */
.indwel-arch-cut__gate>span:first-child,.indwel-arch-cut__evidence>span:first-child{
  box-sizing:border-box;display:flex;align-items:center;justify-content:center;
  min-width:0;min-height:40px;padding:9px 8px;line-height:1.35;
  border:1px solid #c0d0c2;border-radius:3px;background:#fbfdf9;color:#435e4b;
}
.indwel-arch-cut__gate>strong,.indwel-arch-cut__evidence>strong,
.indwel-arch-cut__gate>span:last-child,.indwel-arch-cut__evidence>span:last-child{
  box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:40px;line-height:1.35;
}
@media(forced-colors:active){
  .indwel-arch-cut__gate>span:first-child,.indwel-arch-cut__evidence>span:first-child{
    border-color:CanvasText;background:Canvas;color:CanvasText;
  }
}
.indwel-arch-cut__contract{display:flex;align-items:baseline;justify-content:space-between;gap:12px;background:#e7efe8;border:1px solid #b8cabb;padding:9px 12px;border-radius:3px;font-size:12px}
.indwel-arch-cut__contract span{font-size:11px;color:#59705e}
.indwel-arch-cut__continuity{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;font-size:11px;color:#4b6251}
.indwel-arch-cut__continuity strong{margin-right:auto;font-size:12px}
.indwel-arch-cut__continuity span{padding:5px 8px;background:#fff;border:1px solid #cfdbd0;border-radius:3px}
.indwel-arch-cut__action{border:1px solid #b4c9b7;border-radius:4px;padding:15px 18px;margin-top:13px;background:#f8fbf7}
.indwel-arch-cut__action h4{font-size:15px;font-weight:700;margin:0 0 11px}
.indwel-arch-cut__action-grid{display:grid;grid-template-columns:1.12fr minmax(98px,.45fr) .9fr;gap:12px;align-items:stretch}
.indwel-arch-cut__action-internal{display:flex;flex-direction:column;gap:9px}
.indwel-arch-cut__action-internal .indwel-arch-cut__node{flex:1}
.indwel-arch-cut__exchange{display:flex;flex-direction:column;justify-content:space-evenly;gap:16px}
.indwel-arch-cut__exchange>span{display:flex;flex-direction:column;gap:3px;font-size:10px;line-height:1.3;text-align:center;white-space:nowrap}
.indwel-arch-cut__line--return::after{right:auto;left:0;transform:rotate(180deg)}
.indwel-arch-cut__external{align-self:stretch;border:2px dashed #95b29a;background:#f2f7ef;padding:17px 14px;display:flex;flex-direction:column;justify-content:center;gap:5px;font-size:12px}
.indwel-arch-cut__external span{font-size:11px;color:#5e7463}
.indwel-arch-cut__settlement{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px;border-top:1px solid #c5d5c6;margin-top:12px;padding-top:11px;font-size:12px}
.indwel-arch-cut__settlement span{font-size:11px;color:#627766}
.vh-story .vh-prose--case-intro{margin:0 auto clamp(34px,4vw,56px);max-width:860px}
.vh-story .vh-prose--case-intro .estate-section-kicker{margin-bottom:15px}
.vh-story .vh-prose--opening{margin-bottom:24px}
@media(max-width:900px){
 .indwel-sat__link{min-height:38px}
 .indwel-sat .indwel-sat__node{min-height:65px;padding:11px 13px}
 .indwel-sat .indwel-sat__link b{width:2px;height:25px;margin-left:10px;margin-right:10px;transform:none!important}
 .indwel-sat .indwel-sat__link b::after{top:auto;right:-4px;bottom:0;border-top:7px solid var(--archx-line);border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:0}
 .indwel-arch-cut__authority{flex-direction:column;gap:5px}
 .indwel-arch-cut__governance,.indwel-arch-cut__work{grid-template-columns:1fr}
 .indwel-arch-cut__work>div{padding:9px 12px}
 .indwel-arch-cut__flow{grid-template-columns:1fr;gap:8px}
 .indwel-arch-cut__arrow{min-height:18px}
 .indwel-arch-cut__arrow i{width:2px;height:17px}
 .indwel-arch-cut__arrow i::after{top:auto;right:-4px;bottom:0;border-top:7px solid var(--archx-line);border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:0}
 .indwel-arch-cut__layer{padding:13px 12px}
 .indwel-arch-cut__gate,.indwel-arch-cut__evidence{grid-template-columns:1fr;gap:5px}
 .indwel-arch-cut__gate .indwel-arch-cut__line,.indwel-arch-cut__evidence .indwel-arch-cut__line{width:2px;height:14px;justify-self:center}
 .indwel-arch-cut__gate .indwel-arch-cut__line::after,.indwel-arch-cut__evidence .indwel-arch-cut__line::after{top:auto;right:-4px;bottom:0;border-top:7px solid var(--archx-line);border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:0}
 .indwel-arch-cut__contract{flex-direction:column;gap:5px}
 .indwel-arch-cut__continuity strong{width:100%}
 .indwel-arch-cut__action-grid{grid-template-columns:1fr;gap:12px}
 .indwel-arch-cut__exchange{gap:8px}
 .indwel-arch-cut__exchange>span{flex-direction:row;align-items:center;gap:10px;text-align:left}
 .indwel-arch-cut__exchange .indwel-arch-cut__line{flex:1}
 .indwel-arch-cut__external{padding:12px 14px}
 .indwel-arch-cut__settlement{flex-direction:column;gap:4px}
}
@media(max-width:360px){.indwel-arch-cut__os{padding:12px}.indwel-arch-cut__layer{padding:11px}.indwel-arch-cut__authority{padding:11px}}
@media(forced-colors:active){.indwel-arch-cut__node,.indwel-arch-cut__authority,.indwel-arch-cut__layer,.indwel-arch-cut__os{border:1px solid CanvasText}}

/* Stage BO: fixed connector spine on tablet/mobile. The caption may wrap,
   but every direction arrow remains on the same central axis. */
@media (max-width:900px) {
  .indwel-sat .indwel-sat__link {
    display:grid;
    grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);
    align-items:center;
    gap:9px;
    padding:5px 0;
    min-height:48px;
  }
  .indwel-sat .indwel-sat__link span {
    grid-column:1;
    justify-self:end;
    max-width:100%;
    text-align:right;
    overflow-wrap:anywhere;
  }
  .indwel-sat .indwel-sat__link b {
    grid-column:2;
    justify-self:center;
    margin:0;
  }
}

/* W9: satellite footnote links are explicit routes, not prose underlines.
   The arrow must never acquire an independently underlined glyph. */
.indwel-sat__note a{display:inline;text-decoration:none;color:#305b48;font-weight:680;outline-offset:4px}
.indwel-sat__note a:hover{color:#1b4332;text-decoration:none}
.indwel-sat__note a:focus-visible{outline:2px solid #305b48;text-decoration:none}
.indwel-sat__note a [aria-hidden="true"]{white-space:nowrap;text-decoration:none}
@media(forced-colors:active){.indwel-sat__note a{color:LinkText}.indwel-sat__note a:focus-visible{outline-color:Highlight}}

/* Iteration 2 figure-boundary closure: outer panel must not clip component borders, focus rings, or connector arrows. Grid dimensions stay source-identical. */
.indwel-sat{overflow:visible}
