.hero-grid {
  display:grid;
  grid-template-columns:.94fr 1.06fr;
  align-items:center;
  gap:26px
}
.hero-copy {
  padding:20px 0
}
.hero-copy .intro {
  margin-top:26px;
  line-height:2.1
}
.hero-copy .text-button {
  margin-top:32px
}
.hero-footnote {
  display:flex;
  align-items:center;
  gap:13px;
  margin-top:76px;
  font-size:11px;
  color:var(--muted)
}
.hero-footnote>span:first-child {
  font-family:var(--serif);
  font-size:17px;
  color:var(--ink);
  letter-spacing:2px
}
.hero-footnote>span:nth-child(2) {
  font:italic 13px Georgia,serif
}
.hero-footnote-rule {
  height:15px;
  border-left:1px solid var(--line);
  margin:0 8px
}
.mobile-break {
  display:none
}
.hero-art {
  position:relative;
  padding:34px 0 10px
}
.art-index,.art-bottom {
  font:9px var(--sans);
  letter-spacing:1.5px;
  color:var(--muted);
  display:flex;
  justify-content:space-between
}
.art-index {
  margin-bottom:28px
}
.art-index>span {
  color:var(--accent)
}
.art-bottom {
  border-top:1px solid var(--line);
  padding-top:14px;
  margin:0 30px
}
.house-drawing {
  width:100%;
  height:auto
}
.systems-grid {
  display:grid;
  grid-template-columns:1fr 120px 1fr;
  align-items:stretch
}
.system-block {
  background:var(--sage);
  padding:30px 34px
}
.structure-block {
  background:#ede9e0
}
.system-heading {
  display:flex;
  align-items:center;
  gap:20px
}
.system-heading>.icon {
  margin-left:auto;
  color:var(--accent);
  width:32px;
  height:32px
}
.system-index {
  font:44px Georgia,serif;
  color:#a5ae9c
}
.system-heading h3 {
  font-size:24px;
  letter-spacing:1px;
  margin-top:7px
}
.system-heading .kicker {
  font-size:9px
}
.system-description {
  font-size:12px;
  color:var(--muted);
  margin:22px 0
}
.system-links {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 25px
}
.system-links button {
  display:flex;
  align-items:center;
  gap:12px;
  padding:18px 0;
  border:0;
  border-top:1px solid #cbd1c1;
  background:none;
  text-align:left;
  font-size:13px
}
.structure-block .system-links button {
  border-color:#d3cfc5
}
.system-links button>.icon {
  width:21px;
  height:21px
}
.system-links button>.icon:last-child {
  width:15px;
  height:15px;
  margin-left:auto;
  opacity:.5
}
.system-links button:hover {
  color:var(--accent)
}
.system-junction {
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative
}
.system-junction:before {
  content:"";
  position:absolute;
  inset:50% 0 auto;
  border-top:1px solid var(--line)
}
.system-junction span {
  font:17px/1.5 var(--serif);
  text-align:center;
  position:relative;
  background:var(--paper);
  padding:16px
}
.system-junction i {
  display:none
}
.explorer {
  display:grid;
  grid-template-columns:260px 1fr;
  gap:52px
}
.category-tabs {
  display:flex;
  flex-direction:column
}
.category-tabs button {
  background:none;
  border:0;
  border-top:1px solid var(--line);
  padding:21px 15px;
  display:flex;
  gap:16px;
  align-items:center;
  text-align:left
}
.category-tabs button:last-child {
  border-bottom:1px solid var(--line)
}
.category-tabs .tab-order {
  font-size:10px;
  color:#9ca193
}
.category-tabs .icon {
  width:22px;
  height:22px
}
.category-tabs button>.icon:last-child {
  width:17px;
  height:17px;
  margin-left:auto;
  opacity:0
}
.category-tabs button[aria-selected=true] {
  background:var(--sage);
  color:var(--accent)
}
.category-tabs button[aria-selected=true]>.icon:last-child {
  opacity:1
}
.category-panel {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  background:#eceee6;
  padding:35px 38px;
  min-height:380px;
  align-items:center
}
.slide-structure .category-panel {
  background:#eeebe4
}
.category-copy h3 {
  font:32px var(--serif);
  margin:18px 0 12px;
  letter-spacing:1px
}
.category-copy>p:not(.kicker) {
  font-size:12px;
  color:var(--muted);
  line-height:1.8
}
.feature-list {
  list-style:none;
  padding:0;
  margin:24px 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px 15px
}
.feature-list li {
  font-size:14px;
  display:flex;
  gap:10px;
  align-items:center;
  white-space:nowrap
}
.feature-list li:before {
  content:"";
  width:4px;
  height:4px;
  background:var(--accent)
}
.category-scope {
  font-size:9px;
  color:var(--muted);
  letter-spacing:1px
}
.category-visual svg {
  width:100%;
  max-height:335px
}
.category-visual svg text {
  fill:var(--ink);
  font:16px var(--sans);
  stroke:none
}
.category-visual svg .orbit-caption {
  font-size:12px;
  fill:var(--muted)
}
.category-visual svg .orbit-title {
  font-size:24px;
  font-family:var(--serif)
}
.journey-steps {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  padding:10px 0 30px
}
.journey-step {
  text-align:left;
  padding:0 22px;
  border:0;
  border-right:1px solid var(--line);
  background:none;
  position:relative
}
.journey-step:first-child {
  padding-left:0
}
.journey-step:last-child {
  border-right:0
}
.journey-number {
  font:43px Georgia,serif;
  color:#bbc1b3;
  display:block;
  margin-bottom:23px
}
.journey-step>.icon {
  color:var(--accent);
  width:28px;
  height:28px;
  margin-bottom:18px
}
.journey-step h3 {
  font-size:21px;
  margin-bottom:12px
}
.journey-step p {
  font-size:11px;
  line-height:1.8;
  color:var(--muted);
  min-height:40px
}
.journey-more {
  display:flex;
  align-items:center;
  gap:22px;
  font-size:10px;
  margin-top:23px;
  color:var(--accent)
}
.journey-more .icon {
  height:16px;
  width:16px
}
.journey-step:hover .journey-more {
  gap:30px
}
.journey-foundation {
  background:var(--sage);
  display:flex;
  gap:30px;
  padding:22px 25px;
  font-size:11px;
  align-items:center;
  justify-content:space-between
}
.foundation-name {
  font-size:15px;
  letter-spacing:2px
}
.journey-foundation>span:not(:first-child) {
  color:var(--muted)
}
.insight-grid {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:28px
}
.needs-panel {
  background:var(--sage);
  padding:30px
}
.needs-dialog {
  display:flex;
  align-items:center;
  gap:30px;
  padding:32px 0
}
.needs-dialog>.icon {
  width:45px;
  height:45px;
  color:var(--accent)
}
.needs-dialog h3 {
  font:27px/1.6 var(--serif)
}
.role-track {
  border-top:1px solid #cbd1c1;
  display:flex;
  align-items:center;
  gap:15px;
  padding-top:24px;
  font-size:11px;
  line-height:1.6
}
.role-track .icon {
  width:17px;
  height:17px
}
.role-track strong {
  font-weight:500;
  color:var(--accent)
}
.double-arrow {
  font-size:19px;
  color:var(--muted)
}
.house-info-panel {
  border:1px solid var(--line);
  padding:30px
}
.info-top {
  display:flex;
  justify-content:space-between;
  gap:15px
}
.branch-controls {
  display:flex;
  gap:0;
  border:1px solid var(--line);
  margin:28px 0 25px
}
.branch-controls button {
  flex:1;
  padding:12px;
  border:0;
  background:none;
  font-size:12px
}
.branch-controls button[aria-pressed=true] {
  background:var(--ink);
  color:var(--surface)
}
.branch-row {
  display:flex;
  gap:15px;
  align-items:center
}
.branch-row>span {
  display:flex;
  gap:8px;
  align-items:center;
  font-size:12px
}
.branch-row>.icon {
  height:17px;
  width:17px;
  color:var(--accent)
}
.branch-row>span>.icon {
  height:19px;
  width:19px
}
.branch-result {
  padding:15px 0 0 28px;
  margin-left:10px;
  position:relative;
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  gap:12px;
  min-height:126px
}
.branch-line {
  position:absolute;
  left:0;
  top:8px;
  bottom:22px;
  width:15px;
  border-left:1px solid #bac4ae;
  border-bottom:1px solid #bac4ae
}
.branch-status {
  font-size:10px;
  color:var(--muted)
}
.branch-result strong {
  display:flex;
  gap:10px;
  align-items:center;
  font-size:13px;
  font-weight:500;
  color:var(--accent)
}
.branch-result .icon {
  width:19px;
  height:19px
}
.branch-return {
  font-size:10px;
  color:var(--muted)
}
.merge-strip {
  display:flex;
  justify-content:center;
  gap:22px;
  align-items:center;
  font-size:12px;
  margin-top:30px
}
.merge-strip strong {
  font-weight:500
}
.merge-strip>.icon {
  width:40px;
  height:20px;
  color:var(--accent)
}
.quick-layout {
  display:grid;
  grid-template-columns:175px 1fr 240px;
  gap:28px;
  align-items:center
}
.input-stack {
  display:flex;
  flex-direction:column;
  gap:16px
}
.input-stack>div {
  display:flex;
  align-items:center;
  gap:12px;
  background:#eceee6;
  padding:20px;
  font-size:12px
}
.input-stack .icon {
  color:var(--accent);
  width:22px;
  height:22px
}
.design-core {
  border:1px solid #c7cdbd;
  position:relative;
  padding:30px
}
.design-core:before,.output-card:before {
  content:"";
  position:absolute;
  left:-29px;
  top:50%;
  width:28px;
  border-top:1px solid #adb99e
}
.core-label {
  font-size:10px;
  letter-spacing:1.4px;
  color:var(--accent);
  margin-bottom:25px
}
.twin-agents {
  display:grid;
  grid-template-columns:1fr 35px 1fr;
  align-items:center
}
.twin-agents article {
  padding:25px 15px;
  background:var(--sage);
  text-align:center
}
.twin-agents article>.icon {
  margin:0 auto 20px;
  color:var(--accent);
  height:29px;
  width:29px
}
.twin-agents article>span {
  font-size:20px;
  font-family:var(--serif)
}
.twin-agents h3 {
  font-size:12px;
  margin-top:10px;
  font-weight:400
}
.agent-connection {
  font-size:23px;
  text-align:center;
  color:var(--muted)
}
.supply-line {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-top:25px
}
.supply-line>span {
  width:50px;
  border-top:1px solid var(--line)
}
.supply-line p {
  font-size:11px;
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--muted)
}
.supply-line .icon {
  width:19px;
  height:19px
}
.output-card {
  position:relative;
  text-align:center;
  padding:0 10px
}
.document-drawing {
  width:130px;
  height:150px;
  margin:0 auto 20px
}
.output-card h3 {
  font-size:21px;
  margin-top:12px
}
.output-recipient {
  display:block;
  font-size:11px;
  margin-top:12px;
  color:var(--muted)
}
.stage-strip {
  border-top:1px solid var(--line);
  display:flex;
  gap:25px;
  align-items:center;
  padding-top:22px;
  margin-top:40px;
  font-size:12px
}
.stage-label {
  font-size:10px;
  letter-spacing:1px;
  color:var(--muted);
  margin-right:auto
}
.detail-layout {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:50px;
  align-items:stretch
}
.detail-collaboration {
  border:1px solid var(--line);
  padding:28px
}
.detail-role {
  display:flex;
  justify-content:center;
  gap:20px;
  align-items:center;
  font-size:12px;
  color:var(--muted);
  margin-bottom:28px
}
.detail-role>.icon {
  color:var(--accent)
}
.detail-role>span+span {
  border-left:1px solid var(--line);
  padding-left:20px
}
.detail-agents {
  display:grid;
  grid-template-columns:1fr 30px 1fr;
  align-items:center
}
.detail-agents>div {
  background:var(--sage);
  text-align:center;
  padding:30px 10px
}
.detail-agents>div>span {
  font:22px var(--serif)
}
.detail-agents strong {
  display:block;
  font-weight:400;
  font-size:12px;
  margin-top:14px
}
.detail-agents>span {
  text-align:center;
  color:var(--accent);
  font-size:23px
}
.customer-feedback {
  display:flex;
  gap:15px;
  justify-content:center;
  align-items:center;
  font-size:11px;
  margin-top:28px;
  color:var(--accent)
}
.customer-feedback>span:nth-child(2) {
  display:flex;
  gap:8px;
  align-items:center
}
.customer-feedback .icon {
  width:18px;
  height:18px
}
.feedback-line {
  width:40px;
  border-top:1px dashed #b9bfae
}
.design-outputs {
  display:grid;
  grid-template-columns:.75fr 1fr;
  gap:20px;
  position:relative
}
.design-outputs:before {
  content:"";
  position:absolute;
  left:-50px;
  width:50px;
  border-top:1px solid #bac4ae;
  top:50%
}
.interpretation {
  background:#eee9e0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  padding:22px 14px;
  text-align:center
}
.interpretation>.icon {
  height:38px;
  width:38px;
  margin-bottom:25px;
  color:var(--accent)
}
.design-outputs h3 {
  font-size:18px
}
.design-outputs p {
  font-size:10px;
  color:var(--muted);
  margin-top:13px
}
.drawing-output {
  background:#e9ece2;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  padding:22px 16px;
  text-align:center
}
.paper-pair {
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:20px
}
.paper-pair .document-drawing {
  width:83px;
  height:100px;
  margin:0
}
.paper-pair .document-drawing+svg {
  margin-left:-24px;
  transform:translateY(12px)
}
.delivery-layout {
  display:grid;
  grid-template-columns:170px 1.1fr 1.4fr 170px;
  gap:35px;
  align-items:center;
  padding:12px 0 20px
}
.delivery-origin {
  padding:25px 0
}
.delivery-origin>.icon {
  height:38px;
  width:38px;
  color:var(--accent);
  margin-bottom:20px
}
.delivery-origin h3 {
  font:24px/1.7 var(--serif)
}
.input-separator {
  display:none
}
.delivery-platform {
  background:var(--sage);
  padding:36px 20px;
  text-align:center;
  position:relative
}
.delivery-platform:before,.delivery-team:before,.acceptance:before {
  content:"";
  position:absolute;
  left:-36px;
  top:50%;
  width:35px;
  border-top:1px solid #adb99e
}
.delivery-platform>.icon {
  height:40px;
  width:40px;
  margin:25px auto;
  color:var(--accent)
}
.delivery-platform h3 {
  font-size:19px
}
.delivery-team {
  display:flex;
  gap:30px;
  align-items:center;
  position:relative;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:28px 0
}
.steward {
  flex:1;
  text-align:center;
  color:var(--accent);
  font-size:16px
}
.steward .icon {
  margin:0 auto 14px;
  width:30px;
  height:30px
}
.team-branches {
  flex:1;
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:10px 0 10px 25px;
  border-left:1px solid var(--line)
}
.team-branches>div {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  white-space:nowrap
}
.team-branches .icon {
  width:21px;
  height:21px;
  color:var(--muted)
}
.acceptance {
  text-align:center;
  position:relative
}
.acceptance>.icon {
  height:58px;
  width:58px;
  margin:0 auto 25px;
  color:var(--accent)
}
.acceptance h3 {
  font:30px var(--serif);
  margin-top:10px
}
.delivery-caption {
  display:grid;
  grid-template-columns:170px 1.1fr 1.4fr 170px;
  gap:35px;
  margin-top:25px;
  font-size:10px;
  color:var(--muted);
  letter-spacing:2px;
  text-align:center
}
.delivery-caption>span:first-child {
  text-align:left
}
.closing-heading {
  text-align:center
}
.closing-heading>.eyebrow {
  justify-content:center
}
.closing-heading h2 {
  font-size:clamp(34px,2.6vw,52px);
  line-height:1.55
}
.closing-heading .intro {
  margin:20px auto 0;
  font-size:13px
}
.outcomes-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:50px
}
.flow-step {
  padding:0 27px;
  border-left:1px solid var(--line);
  position:relative
}
.flow-step:first-child {
  border-left:0
}
.step-number {
  font:12px Georgia,serif;
  color:var(--muted)
}
.flow-step>.icon {
  width:25px;
  height:25px;
  color:var(--accent);
  position:absolute;
  top:0;
  right:27px
}
.flow-step h3 {
  font-size:18px;
  margin:22px 0 12px
}
.flow-step p {
  font-size:11px;
  color:var(--muted);
  line-height:1.8
}
.closing-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:45px;
  padding-top:25px;
  border-top:1px solid var(--line)
}
.closing-brand {
  font:24px var(--serif);
  letter-spacing:3px;
  margin-right:20px
}
.closing-english {
  font:italic 15px Georgia,serif;
  color:var(--accent)
}
