/* Additional preview: quieter outcome cards and product-specific visual summaries. */
#root .outcomes { background:var(--bc-visual-core); padding:clamp(54px,6vw,88px) max(28px,calc((100vw - 1160px)/2)); }
#root .outcomes > .kicker { color:var(--bc-visual-accent); margin-bottom:32px; }
html[lang] #root .outcomes .outcome-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; border:0; background:none; box-shadow:none; }
#root .outcomes .outcome-grid .bc-outcome-card { display:block; position:relative; padding:30px 26px; background:var(--bc-visual-panel); border:1px solid var(--bc-visual-line); box-shadow:none; }
#root .outcomes .outcome-grid .bc-outcome-card::before,
.mobile-home #mb-outcomes .mb-prose .bc-outcome-card::before { content:""; display:block; position:static; width:46px; height:46px; margin:0 0 24px; background:var(--bc-visual-accent); -webkit-mask:var(--bc-outcome-icon) center/contain no-repeat; mask:var(--bc-outcome-icon) center/contain no-repeat; }
#root .outcomes .bc-outcome-card h2 { font:500 clamp(23px,2vw,28px)/1.2 var(--display-font); color:var(--bc-visual-ink); letter-spacing:-.02em; margin:0 0 16px; }
#root .outcomes .bc-outcome-card p { font:400 16px/1.65 var(--ui-font); color:var(--bc-visual-muted); margin:0; }
html[lang] #root .outcomes .outcome-grid .bc-outcome-card { transition:background-color 220ms ease,border-color 220ms ease,box-shadow 220ms ease; }
@media(hover:hover) and (pointer:fine) {
  html[lang] #root .outcomes .outcome-grid .bc-outcome-card:hover {
    --bc-card-content-lift:-3px; background:var(--bc-hover-surface); border-color:var(--bc-hover-line);
    outline:1px solid var(--bc-hover-line); outline-offset:-1px;
    box-shadow:inset 0 0 0 1px var(--bc-hover-line),inset 0 14px 34px var(--bc-hover-inset);
  }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  html[lang] #root .outcomes .outcome-grid .bc-outcome-card > *,
  html[lang] #root .outcomes .outcome-grid .bc-outcome-card::before {
    translate:0 var(--bc-card-content-lift,0); transition:translate 220ms cubic-bezier(.22,1,.36,1);
  }
}
.workshops-page .ws-choice-number.bc-offer-symbol { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; color:var(--ws-accent); }
.bc-offer-symbol .bc-symbol { width:28px; height:28px; }
.bc-offer-symbol>span { font:500 11px/1 var(--ui-font); letter-spacing:.06em; }
.workshops-page .bc-offer-map { margin:24px 0; padding:22px 18px; background:var(--ws-soft); border:1px solid var(--dd-line); }
.bc-offer-map figcaption { margin:0 0 20px; font:500 11px/1.4 var(--ui-font); letter-spacing:.09em; text-transform:uppercase; color:var(--ws-accent); }
.bc-offer-map-steps { display:grid; grid-template-columns:1fr 18px 1fr 18px 1fr; gap:7px; align-items:start; }
.bc-offer-map-step { min-width:0; display:flex; flex-direction:column; align-items:center; gap:12px; }
.bc-offer-map-step .bc-symbol { width:31px; height:31px; color:var(--ws-accent); }
.bc-offer-map-step>span { font:500 13px/1.45 var(--ui-font); color:var(--dd-ink); text-align:center; overflow-wrap:break-word; }
.bc-offer-map-arrow { color:var(--ws-accent); text-align:center; line-height:31px; font-size:20px; }
@media(min-width:701px) and (max-width:950px) {
  #root .outcomes .outcome-grid { gap:12px; }
  #root .outcomes .outcome-grid .bc-outcome-card { padding:23px 19px; }
  #root .outcomes .bc-outcome-card h2 { font-size:24px; }
}
@media(max-width:700px) {
  .mobile-home #mb-outcomes .mb-prose { padding-top:10px; }
  .mobile-home #mb-outcomes .mb-prose .bc-outcome-card { padding:22px; background:var(--mb-surface); border:1px solid var(--mb-line); margin:0 0 14px; }
  .mobile-home #mb-outcomes .mb-prose .bc-outcome-card::before { width:34px; height:34px; margin-bottom:14px; background:var(--mb-accent); }
  .mobile-home #mb-outcomes .mb-prose .bc-outcome-card h2 { margin:0 0 10px; font:500 22px/1.25 var(--display-font); }
  .mobile-home #mb-outcomes .mb-prose .bc-outcome-card p { margin:0; font-size:15px; line-height:1.6; }
  .workshops-page .ws-choice-number.bc-offer-symbol { padding-top:2px; gap:7px; }
  .bc-offer-symbol .bc-symbol { width:22px; height:22px; }
  .bc-offer-symbol>span { font-size:10px; }
  .workshops-page .bc-offer-map { padding:18px 12px; margin:20px 0; }
  .bc-offer-map-steps { grid-template-columns:1fr 10px 1fr 10px 1fr; gap:3px; }
  .bc-offer-map-step>span { font-size:11px; line-height:1.4; hyphens:none; overflow-wrap:normal; }
  .bc-offer-map-step .bc-symbol { width:26px; height:26px; }
  .bc-offer-map-arrow { font-size:15px; line-height:26px; }
}
@media(max-width:480px) {
  .bc-offer-map-steps { grid-template-columns:26px minmax(0,1fr); align-items:center; gap:12px; }
  .bc-offer-map-step { grid-column:1/-1; display:grid; grid-template-columns:26px minmax(0,1fr); gap:12px; align-items:center; }
  .bc-offer-map-step>span { text-align:left; font-size:13px; }
  .bc-offer-map-arrow { display:none; }
}

/* Project cards use the same restrained highlight as the typical engagements. */
html[lang] #root .experience .sector-list {
  gap:1px; border:1px solid var(--project-border); background:var(--project-border);
}
html[lang] #root .experience .sector-list > .bc-project-card {
  border:0;
  transition:background-color 220ms ease,border-color 220ms ease,box-shadow 220ms ease;
}
html[lang] #root .experience .sector-list > .bc-project-card > h3,
html[lang] #root .mobile-home .mb-project-list > .bc-project-card > h3 {
  display:grid; grid-template-columns:44px minmax(0,1fr); gap:18px; align-items:center;
}
html[lang] #root .experience .sector-list > .bc-project-card > h3::before,
html[lang] #root .mobile-home .mb-project-list > .bc-project-card > h3::before {
  content:""; display:block; position:static; width:44px; height:44px;
  background:var(--bc-visual-accent);
  -webkit-mask:var(--bc-project-icon) center/contain no-repeat;
  mask:var(--bc-project-icon) center/contain no-repeat;
}
html[lang] #root .experience .sector-list > .bc-project-card small,
html[lang] #root .mobile-home .mb-project-list > .bc-project-card small {
  margin-top:auto; padding-top:18px; border-top:1px solid var(--bc-visual-line);
  color:var(--bc-visual-accent);
}
html[lang] #root .experience .sector-list > .bc-project-card:focus-within {
  border-color:var(--bc-hover-line); outline:1px solid var(--bc-hover-line); outline-offset:-1px;
  background:var(--bc-hover-surface); box-shadow:inset 0 0 0 1px var(--bc-hover-line),inset 0 14px 34px var(--bc-hover-inset);
}
@media(hover:hover) and (pointer:fine) {
  html[lang] #root .experience .sector-list > .bc-project-card:hover {
    --bc-card-content-lift:-3px; background:var(--bc-hover-surface); border-color:var(--bc-hover-line);
    outline:1px solid var(--bc-hover-line); outline-offset:-1px;
    box-shadow:inset 0 0 0 1px var(--bc-hover-line),inset 0 14px 34px var(--bc-hover-inset);
  }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  html[lang] #root .experience .sector-list > .bc-project-card > * {
    translate:0 var(--bc-card-content-lift,0); transition:translate 220ms cubic-bezier(.22,1,.36,1);
  }
}
@media(max-width:700px) {
  html[lang] #root .mobile-home .mb-project-list { gap:1px; border:1px solid var(--mb-line); background:var(--mb-line); }
  html[lang] #root .mobile-home .mb-project-list > .bc-project-card { margin:0; border:0; }
  html[lang] #root .mobile-home .mb-project-list > .bc-project-card > h3 {
    display:block; hyphens:auto; -webkit-hyphens:auto;
  }
  html[lang] #root .mobile-home .mb-project-list > .bc-project-card > h3::before { width:34px; height:34px; margin-bottom:14px; }
  html[lang] #root .mobile-home .mb-project-list > .bc-project-card:nth-child(even) { background:var(--mb-soft,var(--mb-surface)); }
}
@media(prefers-reduced-motion:reduce) {
  html[lang] #root .experience .sector-list > .bc-project-card,
  html[lang] #root .experience .sector-list > .bc-project-card > *,
  html[lang] #root .outcomes .outcome-grid .bc-outcome-card,
  html[lang] #root .outcomes .outcome-grid .bc-outcome-card > *,
  html[lang] #root .outcomes .outcome-grid .bc-outcome-card::before { transition:none; translate:none; }
}

/* The contact invitation needs reading space, not another oversized hero. */
#root .contact > div:first-child { min-width:0; }
html[lang] #root .contact h2 {
  max-width:min(100%,760px);
  font-size:clamp(40px,3.7vw,58px);
  line-height:1.16;
  letter-spacing:-.025em;
  overflow-wrap:normal; word-break:normal;
  -webkit-hyphens:none; hyphens:none; text-wrap:balance;
}
@media(min-width:768px) and (max-width:1050px) {
  #root .contact { grid-template-columns:minmax(0,1fr); }
  #root .contact-copy { max-width:680px; padding-left:0; }
  html[lang] #root .contact h2 { max-width:700px; font-size:clamp(38px,5vw,48px); }
}
@media(max-width:767px) {
  html[lang] #root .contact h2 {
    max-width:100%; font-size:clamp(32px,8vw,40px)!important; line-height:1.18!important;
  }
  html[lang] #root .mobile-home .mb-contact > h2 {
    max-width:100%; font-size:32px; line-height:1.18; letter-spacing:-.025em;
  }
}
