:root {
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4.5rem;
  --space-9: 6rem;
  --container: 76rem;
  --measure: 68ch;
  --shadow-sm: 0 0.25rem 1rem rgb(0 0 0 / 0.08);
  --shadow-lg: 0 1rem 3rem rgb(0 0 0 / 0.16);
  --transition: 180ms ease;
  --radius-none: 0;
  --radius-subtle: 0.4rem;
  --radius-rounded: 1.25rem;
}

[data-density='compact'] {
  --section-space: clamp(2.5rem, 5vw, 4.5rem);
}
[data-density='balanced'] {
  --section-space: clamp(3.5rem, 7vw, 6.5rem);
}
[data-density='spacious'] {
  --section-space: clamp(5rem, 9vw, 8rem);
}
[data-radius='none'] {
  --radius: var(--radius-none);
}
[data-radius='subtle'] {
  --radius: var(--radius-subtle);
}
[data-radius='rounded'] {
  --radius: var(--radius-rounded);
}

[data-typography='editorial'] {
  --font-display: Georgia, 'Times New Roman', serif;
  --font-body: Inter, ui-sans-serif, system-ui, sans-serif;
  --letter-display: -0.035em;
}
[data-typography='grotesk'] {
  --font-display: Arial Black, Impact, ui-sans-serif, system-ui, sans-serif;
  --font-body: Arial, Helvetica, ui-sans-serif, sans-serif;
  --letter-display: -0.045em;
}
[data-typography='humanist'] {
  --font-display: Avenir Next, Avenir, Trebuchet MS, ui-sans-serif, sans-serif;
  --font-body: Avenir Next, Avenir, ui-sans-serif, system-ui, sans-serif;
  --letter-display: -0.025em;
}
[data-typography='technical'] {
  --font-display: Bahnschrift, DIN Alternate, ui-sans-serif, system-ui, sans-serif;
  --font-body: Bahnschrift, ui-sans-serif, system-ui, sans-serif;
  --letter-display: -0.02em;
}
[data-typography='athletic'] {
  --font-display: Arial Narrow, Impact, ui-sans-serif, system-ui, sans-serif;
  --font-body: Inter, ui-sans-serif, system-ui, sans-serif;
  --letter-display: -0.03em;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}
body {
  margin: 0;
  min-width: 20rem;
  background: var(--color-background);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
img,
picture,
svg,
video {
  display: block;
  max-width: 100%;
}
button,
input,
select,
textarea {
  font: inherit;
}
a {
  color: inherit;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}
a:hover {
  text-decoration-thickness: 0.14em;
}
:focus-visible {
  outline: 0.2rem solid var(--color-accent);
  outline-offset: 0.2rem;
}
::selection {
  background: var(--color-accent);
  color: var(--color-background);
}

h1,
h2,
h3,
h4 {
  margin: 0 0 var(--space-4);
  font-family: var(--font-display);
  letter-spacing: var(--letter-display);
  line-height: 1.08;
  text-wrap: balance;
}
h1 {
  font-size: clamp(2.75rem, 8vw, 6.5rem);
}
h2 {
  font-size: clamp(2rem, 5vw, 4rem);
}
h3 {
  font-size: clamp(1.35rem, 2.5vw, 2rem);
}
p {
  margin: 0 0 var(--space-4);
}
ul,
ol {
  padding-inline-start: 1.25rem;
}

.skip-link {
  position: fixed;
  inset: var(--space-3) auto auto var(--space-3);
  z-index: 1000;
  transform: translateY(-200%);
  padding: var(--space-3) var(--space-4);
  background: var(--color-text);
  color: var(--color-background);
  border-radius: var(--radius);
}
.skip-link:focus {
  transform: none;
}

.container {
  width: min(100% - 2rem, var(--container));
  margin-inline: auto;
}
.measure {
  max-width: var(--measure);
}
.section {
  padding-block: var(--section-space);
}
.section[data-tone='muted'] {
  background: color-mix(in srgb, var(--color-surface) 90%, var(--color-background));
}
.section[data-tone='accent'] {
  background: var(--color-primary);
  color: var(--color-background);
}
.section[data-tone='dark'] {
  background: #111111;
  color: #ffffff;
}
.stack > * + * {
  margin-block-start: var(--stack-space, var(--space-4));
}
.cluster {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cluster-gap, var(--space-3));
  align-items: center;
}
.grid {
  display: grid;
  gap: var(--grid-gap, var(--space-5));
}
.auto-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
}

.eyebrow {
  margin: 0 0 var(--space-3);
  color: var(--color-accent);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.lead {
  max-width: var(--measure);
  font-size: clamp(1.05rem, 2vw, 1.3rem);
}
.muted {
  color: var(--color-muted-text);
}
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

[data-theme='editorial-dark'] {
  --hero-min: 80svh;
  --card-border: 1px solid color-mix(in srgb, var(--color-text) 25%, transparent);
}
[data-theme='warm-studio'] {
  --hero-min: 66svh;
  --card-border: 0;
}
[data-theme='clean-professional'] {
  --hero-min: 60svh;
  --card-border: 1px solid color-mix(in srgb, var(--color-text) 12%, transparent);
}
[data-theme='industrial'] {
  --hero-min: 72svh;
  --card-border: 2px solid var(--color-text);
}
[data-theme='athletic'] {
  --hero-min: 68svh;
  --card-border: 1px solid color-mix(in srgb, var(--color-text) 18%, transparent);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.site-header {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid color-mix(in srgb, var(--color-text) 12%, transparent);
  background: color-mix(in srgb, var(--color-background) 92%, transparent);
  backdrop-filter: blur(0.7rem);
}
.header-inner {
  display: flex;
  min-height: 4.75rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
}
.brand {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 800;
  text-decoration: none;
}
.primary-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.primary-nav a {
  font-weight: 700;
  text-decoration: none;
}
.mobile-nav {
  display: none;
}

.action {
  display: inline-flex;
  min-height: 2.9rem;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: 0.7rem 1.1rem;
  border: 0.12rem solid transparent;
  border-radius: var(--radius);
  font-weight: 800;
  line-height: 1.1;
  text-decoration: none;
  transition:
    transform var(--transition),
    box-shadow var(--transition),
    background var(--transition);
}
.action:hover {
  transform: translateY(-0.08rem);
  text-decoration: none;
}
.action--primary {
  background: var(--color-primary);
  color: var(--color-background);
  box-shadow: var(--shadow-sm);
}
.action--secondary {
  border-color: currentColor;
  background: transparent;
  color: inherit;
}
.action--text {
  padding-inline: 0;
  border-color: transparent;
  background: transparent;
  color: inherit;
  text-decoration: underline;
}

.card {
  overflow: clip;
  border: var(--card-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  box-shadow: var(--shadow-sm);
}
.card__media {
  aspect-ratio: var(--media-ratio, 4 / 3);
  overflow: hidden;
  background: color-mix(in srgb, var(--color-surface) 80%, var(--color-primary));
}
.card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--media-position, center);
}
.card__body {
  padding: var(--space-5);
}
.card__body > :last-child {
  margin-bottom: 0;
}
.card__link {
  text-decoration: none;
}

.hero {
  display: grid;
  min-height: var(--hero-min);
  align-items: center;
  overflow: clip;
}
.hero__grid {
  display: grid;
  gap: var(--space-7);
  align-items: center;
}
.hero__copy {
  max-width: 48rem;
}
.hero__media {
  min-height: 24rem;
  overflow: hidden;
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
}
.hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero--split .hero__grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
}
.hero--centered .hero__copy {
  margin-inline: auto;
  text-align: center;
}
.hero--centered .cluster {
  justify-content: center;
}
[data-theme='editorial-dark'] .hero {
  background: #101010;
  color: #ffffff;
}
[data-theme='warm-studio'] .hero__media {
  transform: rotate(1.2deg);
}
[data-theme='industrial'] .hero h1 {
  text-transform: uppercase;
}
[data-theme='athletic'] .hero {
  background: linear-gradient(
    125deg,
    var(--color-background),
    color-mix(in srgb, var(--color-primary) 18%, var(--color-background))
  );
}

.section-header {
  display: grid;
  gap: var(--space-3);
  margin-bottom: var(--space-6);
}
.section-header--split {
  grid-template-columns: minmax(0, 0.8fr) minmax(18rem, 1.2fr);
  align-items: end;
}
.section-header p {
  margin: 0;
  max-width: var(--measure);
}

.media {
  overflow: hidden;
  background: color-mix(in srgb, var(--color-surface) 75%, var(--color-primary));
}
.media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--media-position, center);
}

.site-footer {
  padding-block: var(--space-7);
  border-top: 1px solid color-mix(in srgb, var(--color-text) 12%, transparent);
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(2, minmax(12rem, 0.7fr));
  gap: var(--space-6);
}
.footer-grid ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer-meta {
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  border-top: 1px solid color-mix(in srgb, var(--color-text) 12%, transparent);
  font-size: 0.9rem;
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: 0 0 var(--space-5);
  padding: 0;
  list-style: none;
  font-size: 0.9rem;
}
.breadcrumbs li + li::before {
  content: '/';
  margin-inline-end: var(--space-2);
  opacity: 0.6;
}

.faq-list {
  display: grid;
  gap: var(--space-3);
}
.faq-list details {
  border: var(--card-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  padding: var(--space-4) var(--space-5);
}
.faq-list summary {
  cursor: pointer;
  font-weight: 800;
}
.faq-list details[open] summary {
  margin-bottom: var(--space-3);
}

.hours {
  width: 100%;
  border-collapse: collapse;
}
.hours th,
.hours td {
  padding: var(--space-2) 0;
  border-bottom: 1px solid color-mix(in srgb, var(--color-text) 12%, transparent);
  text-align: left;
}
.hours td {
  text-align: right;
}

.form {
  display: grid;
  gap: var(--space-4);
  max-width: 48rem;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}
.field {
  display: grid;
  gap: var(--space-2);
}
.field--full {
  grid-column: 1 / -1;
}
.field label,
.field legend {
  font-weight: 800;
}
.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 3rem;
  padding: 0.7rem 0.8rem;
  border: 0.12rem solid color-mix(in srgb, var(--color-text) 35%, transparent);
  border-radius: var(--radius);
  background: var(--color-background);
  color: var(--color-text);
}
.field textarea {
  min-height: 9rem;
  resize: vertical;
}
.field__hint {
  margin: 0;
  color: var(--color-muted-text);
  font-size: 0.9rem;
}
.checkbox {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
}
.checkbox input {
  width: 1.2rem;
  height: 1.2rem;
  margin-top: 0.2rem;
}

.consent-banner {
  position: fixed;
  right: var(--space-4);
  bottom: var(--space-4);
  z-index: 50;
  width: min(32rem, calc(100% - 2rem));
  padding: var(--space-5);
  border: var(--card-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  box-shadow: var(--shadow-lg);
}

.notice {
  padding: var(--space-4);
  border-left: 0.3rem solid var(--color-accent);
  background: color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));
}

@media (max-width: 52rem) {
  .primary-nav {
    display: none;
  }
  .mobile-nav {
    display: block;
    position: relative;
  }
  .mobile-nav summary {
    cursor: pointer;
    font-weight: 800;
  }
  .mobile-nav ul {
    position: absolute;
    right: 0;
    width: min(20rem, calc(100vw - 2rem));
    margin: var(--space-3) 0 0;
    padding: var(--space-4);
    border: var(--card-border);
    border-radius: var(--radius);
    background: var(--color-surface);
    box-shadow: var(--shadow-lg);
    list-style: none;
  }
  .mobile-nav li + li {
    margin-top: var(--space-3);
  }
  .hero--split .hero__grid,
  .section-header--split,
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .hero {
    min-height: auto;
  }
  .hero__media {
    min-height: 18rem;
  }
}

@media (max-width: 38rem) {
  .form-grid {
    grid-template-columns: 1fr;
  }
  .field--full {
    grid-column: auto;
  }
  .cluster .action {
    width: 100%;
  }
}

.synthetic-banner {
  padding-block: var(--space-3);
  background: #fff3bf;
  color: #241b00;
  border-bottom: 1px solid #d6b647;
}
.narrow {
  width: min(100%, 52rem);
}
.lede {
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  color: var(--color-muted-text);
}
.prose > * + * {
  margin-top: var(--space-4);
}
.prose h2,
.prose h3 {
  margin-top: var(--space-6);
}
.listing-grid {
  margin-top: var(--space-6);
}
.detail-header {
  display: grid;
  gap: var(--space-6);
  align-items: center;
  margin-bottom: var(--space-7);
}
.detail-header--media {
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.8fr);
}
.detail-header__media {
  min-height: 20rem;
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
}
.detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
  gap: var(--space-7);
  align-items: start;
}
.detail-aside {
  position: sticky;
  top: var(--space-5);
}
.media-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-7);
}
.media-grid .media {
  border-radius: var(--radius);
}
.related-content {
  margin-top: var(--space-7);
  padding: var(--space-5);
  border-top: 1px solid color-mix(in srgb, var(--color-text) 18%, transparent);
}
.portrait-media {
  --media-ratio: 4 / 5;
}
address {
  font-style: normal;
}
@media (max-width: 52rem) {
  .detail-header--media,
  .detail-grid {
    grid-template-columns: 1fr;
  }
  .detail-aside {
    position: static;
  }
}
@media (max-width: 38rem) {
  .media-grid {
    grid-template-columns: 1fr;
  }
}

:root{--bps-grid:color-mix(in srgb,var(--color-secondary) 14%,transparent);--bps-line:color-mix(in srgb,var(--color-text) 14%,transparent);--bps-mint:#59e2b3;--bps-amber:#f5b84b;--bps-danger:#ee766d}html{background:#07111d}.site-header{position:sticky;top:0;background:rgb(7 17 29/.94);border-color:#24405e}.header-inner{min-height:4.4rem}.bps-brand{display:inline-flex;align-items:center;gap:.65rem}.brand-mark{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid #386081;border-top-color:var(--bps-mint);font:800 .9rem/1 ui-monospace,monospace;letter-spacing:.08em}.brand-name{font-size:.94rem;letter-spacing:.015em}.primary-nav ul{gap:1.15rem}.primary-nav a{font-size:.88rem;color:#d7e1e9}.primary-nav a[aria-current=page]{color:var(--bps-mint)}.portal-link{padding:.6rem .8rem;border:1px solid #42627f;border-radius:.35rem}.preview-status{background:#10263d;color:#dfeaf2;border-bottom:1px solid #294b6b}.preview-status .container{display:flex;justify-content:space-between;gap:1rem;padding-block:.55rem;font-size:.82rem}.hero{position:relative;background-color:#07111d!important;background-image:linear-gradient(var(--bps-grid) 1px,transparent 1px),linear-gradient(90deg,var(--bps-grid) 1px,transparent 1px);background-size:48px 48px}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgb(89 226 179/.12),transparent 34%),radial-gradient(circle at 80% 60%,rgb(245 184 75/.08),transparent 32%);pointer-events:none}.hero__grid{position:relative}.hero h1{font-size:clamp(3.1rem,7.5vw,7rem);max-width:13ch}.hero__copy .lead,.hero__copy>p{max-width:62ch}.hero__media{border:1px solid #2a506f;box-shadow:0 2rem 6rem rgb(0 0 0/.35);background:#07111d}.action--primary{background:var(--bps-mint);color:#07111d}.action--inverse{background:#07111d;color:#fff}.action--secondary{border-color:#67839c}.text-link{font-weight:800;color:var(--bps-mint)}.factory-proof{border-block:1px solid #1d3852;background:#091727}.proof-grid,.content-split,.ask-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(20rem,1.1fr);gap:clamp(2rem,6vw,7rem);align-items:start}.proof-ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#284560;border:1px solid #284560}.proof-ledger div{background:#0f2033;padding:1.5rem}.proof-ledger dt{font-size:.8rem;color:#a9b8c7;text-transform:uppercase;letter-spacing:.1em}.proof-ledger dd{margin:.45rem 0 0;font:800 clamp(2rem,4vw,3.7rem)/1 var(--font-display);color:#fff}.section-heading-row{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem}.section-heading-row>div{max-width:52rem}.demo-badge,.work-status,.result-kicker{display:inline-flex;width:max-content;padding:.35rem .6rem;border:1px solid #3b627f;border-radius:99px;color:var(--bps-mint);font:700 .72rem/1.2 ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase}.project-guide{background:#06101b!important}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.guide-grid fieldset{border:1px solid #294861;background:#0d1d2e;padding:1.25rem}.guide-grid legend{padding:.25rem .5rem;color:var(--bps-mint);font-weight:800}.guide-grid label:not(.option){display:grid;gap:.45rem;margin-bottom:1rem;font-weight:700}.guide-grid select,.guide-grid input[type=text],.assistant-entry input{width:100%;border:1px solid #3b5b76;background:#071522;color:#fff;padding:.8rem;border-radius:.3rem}.option{display:flex;gap:.65rem;align-items:flex-start;margin:.65rem 0}.option input{margin-top:.3rem;accent-color:var(--bps-mint)}.guide-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding-top:1rem}.save-option{margin-left:auto}.guide-result{margin-top:2rem;padding:clamp(1.25rem,4vw,2.5rem);border:1px solid #3d6988;background:#0d1d2e}.guide-result h3{font-size:clamp(2rem,5vw,4.5rem);max-width:16ch}.result-costs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#2a4b66;border:1px solid #2a4b66;margin-block:2rem}.result-costs>div{background:#0a1725;padding:1.25rem;display:grid;gap:.45rem}.result-costs span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#a9b8c7}.result-costs strong{font-size:1.25rem}.result-costs small{color:#a9b8c7}.lab-layout{display:grid;grid-template-columns:minmax(17rem,.34fr) minmax(0,.66fr);gap:2rem}.lab-controls{display:grid;gap:1.4rem;align-content:start}.lab-controls>label,.lab-controls fieldset{display:grid;gap:.6rem;border:0;margin:0;padding:0}.lab-controls select{padding:.8rem;background:#0b1a2b;color:#fff;border:1px solid #365a76}.segmented{display:flex;flex-wrap:wrap;gap:.45rem}.segmented label,.segmented button{border:1px solid #365a76;background:#0b1a2b;color:#fff;padding:.55rem .7rem;border-radius:.3rem}.segmented input{position:absolute;opacity:0}.segmented label:has(input:checked),.segmented button[aria-selected=true]{border-color:var(--bps-mint);color:var(--bps-mint)}.module-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .8rem}.device-stage{background:#02070d;border:1px solid #365a76;border-radius:.75rem;overflow:hidden;min-height:40rem;transition:max-width .2s ease;width:100%;margin:auto}.device-stage[data-device=tablet]{max-width:48rem}.device-stage[data-device=mobile]{max-width:24rem}.device-chrome{height:2.4rem;background:#10253a;display:flex;gap:.4rem;align-items:center;padding-inline:1rem}.device-chrome span{width:.65rem;height:.65rem;border-radius:50%;background:#557089}.device-chrome span:first-child{background:var(--bps-danger)}.lab-preview{padding:clamp(1rem,3vw,2.2rem);background:#f4f7f8;color:#132238;min-height:37.6rem}.lab-demo-notice{font:700 .7rem ui-monospace,monospace;color:#526579;text-transform:uppercase;letter-spacing:.08em}.lab-preview header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.5rem;border-bottom:1px solid #cbd6df}.lab-preview button{padding:.55rem .8rem}.lab-hero{padding-block:clamp(2rem,6vw,5rem)}.lab-hero h3{font-size:clamp(2rem,5vw,4rem);max-width:12ch}.lab-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.8rem}.lab-module-grid article{border:1px solid #ccd7df;padding:1rem}.lab-module-grid span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#557}.lab-module-grid strong{display:block;margin:.4rem 0}.phone-frame{width:min(100%,22rem);margin:auto;padding:.75rem;background:#02070d;border:1px solid #466780;border-radius:2.5rem;box-shadow:0 2rem 5rem rgb(0 0 0/.3)}.phone-speaker{width:5rem;height:.35rem;background:#344b5d;border-radius:99px;margin:.35rem auto .75rem}.phone-screen{min-height:38rem;padding:1.25rem;border-radius:1.8rem;background:linear-gradient(160deg,#132238,#07111d);overflow:hidden}.mini-brand{font:800 .7rem ui-monospace,monospace;color:var(--bps-mint);letter-spacing:.12em}.phone-screen nav{display:flex;gap:.8rem;font-size:.75rem;margin-block:1.5rem}.mini-card{display:grid;gap:.5rem;border:1px solid #335571;padding:1rem;margin-top:3rem}.mini-card button{padding:.6rem}.phone-caption{margin-top:7rem;font-size:.76rem;color:#a9b8c7}.companion-tabs button{cursor:pointer}.ask-bps{background:#0a1929}.assistant-panel{border:1px solid #355b77;background:#0e2136;padding:1.25rem}.assistant-entry{display:flex;gap:.6rem}.assistant-answer{min-height:10rem;margin-top:1rem;padding:1rem;background:#071522;border-left:3px solid var(--bps-mint)}.question-chips button{background:transparent;color:#fff;border:1px solid #3b5f79;padding:.55rem .7rem}.portal-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#294b66;border:1px solid #294b66;padding:0;list-style:none}.portal-steps li{background:#0b1a2b;padding:1.5rem}.portal-steps span,.section-index{font:700 .75rem ui-monospace,monospace;color:var(--bps-mint);letter-spacing:.1em}.portal-steps strong{display:block;font-size:1.35rem;margin:.55rem 0}.preview-shell{border:1px solid #3a627e;background:#0b1a2b}.preview-banner{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:#f5b84b;color:#151008}.preview-body{display:grid;grid-template-columns:1fr .9fr;gap:2rem;padding:clamp(1.25rem,5vw,3rem);align-items:center}.preview-body img{border:1px solid #395d77}.preview-shell footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1rem;border-top:1px solid #2e516b;color:#a9b8c7;font-size:.8rem}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.work-card{border:1px solid #294b66;background:#0d1c2d}.work-card>div:last-child{padding:1.3rem}.work-media{aspect-ratio:3/2}.page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:3rem;align-items:end}.flagship-page-hero{border-bottom:1px solid #294b66;background-image:linear-gradient(var(--bps-grid) 1px,transparent 1px),linear-gradient(90deg,var(--bps-grid) 1px,transparent 1px);background-size:48px 48px}.flagship-page-hero h1{font-size:clamp(3rem,7vw,6.4rem);max-width:15ch}.system-stamp{border:1px solid #3a607c;padding:1rem;display:grid;gap:.4rem;font:700 .72rem ui-monospace,monospace;color:#a9b8c7;text-transform:uppercase}.system-stamp strong{color:#fff}.check-list{display:grid;gap:.8rem;padding:0;list-style:none}.check-list li{position:relative;padding-left:1.7rem}.check-list li:before{content:'↳';position:absolute;left:0;color:var(--bps-mint)}.closing-cta{background:var(--bps-mint)!important;color:#07111d!important}.final-cta{background:radial-gradient(circle at 80% 0,rgb(89 226 179/.18),transparent 32%),#07111d}.footer-top{display:grid;grid-template-columns:1.4fr repeat(3,minmax(10rem,.6fr));gap:2.5rem}.footer-top ul{list-style:none;padding:0}.footer-top h2{font-size:clamp(1.8rem,3vw,3rem)}.field__hint{font-size:.8rem;color:#a9b8c7}.notice{border:1px solid #3a5d76;padding:1rem;background:#0b1a2b}.form[data-preview-safe=true] button[type=submit]::after{content:' · preview only';font-weight:500}.offline-page{min-height:60vh}.synthetic-label{color:var(--bps-amber)}
@media(max-width:64rem){.primary-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{cursor:pointer;font-weight:800}.mobile-nav[open]{position:absolute;top:4rem;right:1rem;left:1rem;padding:1rem;background:#0b1a2b;border:1px solid #355b77}.mobile-nav ul{list-style:none;padding:0}.mobile-nav li+li{margin-top:.7rem}.proof-grid,.content-split,.ask-grid,.page-hero-grid{grid-template-columns:1fr}.result-costs,.portal-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}.system-stamp{max-width:24rem}}
@media(max-width:48rem){.preview-status .container,.section-heading-row,.preview-banner,.preview-shell footer{align-items:flex-start;flex-direction:column}.guide-grid,.lab-layout,.work-grid,.preview-body{grid-template-columns:1fr}.result-costs,.portal-steps,.footer-top{grid-template-columns:1fr}.module-picks{grid-template-columns:1fr}.save-option{margin-left:0}.assistant-entry{flex-direction:column}.device-stage{min-height:32rem}.lab-preview{min-height:29.6rem}.hero h1{font-size:clamp(2.8rem,14vw,4.5rem)}.brand-name{display:none}}
@media(prefers-reduced-motion:reduce){.device-stage{transition:none}}
@media print{.site-header,.mobile-nav,.project-guide,.capability-lab,.ask-bps,.final-cta,.preview-status{display:none!important}body{background:#fff!important;color:#111!important}.section{padding-block:1.5rem}.card,.work-card,.preview-shell{box-shadow:none;border:1px solid #777}}
/* Phase 2.4 responsive containment repairs validated against the required viewport matrix. */
.work-grid > *, .work-card, .work-card > div, .work-card img { min-width: 0; max-width: 100%; }
.work-card img { width: 100%; height: auto; }
.work-status, .demo-badge, .result-kicker { width: fit-content; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
.table-wrap table { min-width: 42rem; }
.page-hero-grid > *, .flagship-page-hero h1, .flagship-page-hero .lead { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
@media(max-width:64rem){.page-hero-grid{grid-template-columns:minmax(0,1fr)}}

.result-costs {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
}

.result-notice,
.result-verified {
  margin-block: 1.5rem;
  padding: 1rem;
  border: 1px solid var(--bps-amber);
  background: color-mix(in srgb, var(--bps-amber) 8%, #0a1725);
}

.result-notice h4 {
  margin-top: 0;
}

.result-details {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: 1rem;
  margin-block: 1.5rem;
}

.result-detail {
  padding: 1rem;
  border: 1px solid #2a4b66;
  background: #0a1725;
}

.result-detail h4 {
  margin-top: 0;
}

.result-detail :last-child {
  margin-bottom: 0;
}

.closing-cta .eyebrow {
  color: var(--color-background);
}

:root {
  --bps-ink: #162520;
  --bps-forest: #183c32;
  --bps-paper: #f1efe8;
  --bps-cream: #fbf9f2;
  --bps-signal: #e8ff5b;
  --bps-muted: #59645f;
  --bps-hairline: color-mix(in srgb, var(--bps-ink) 18%, transparent);
  --bps-soft-shadow: 0 1.5rem 4rem rgb(22 37 32 / 0.13);
}

html {
  max-width: 100%;
  overflow-x: clip;
  background: var(--bps-cream);
}

body {
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
  background: var(--bps-cream);
  color: var(--bps-ink);
  font-family: Arial, Helvetica, ui-sans-serif, system-ui, sans-serif;
}

h1,
h2,
h3,
h4 {
  font-family: Georgia, 'Times New Roman', serif;
  letter-spacing: -0.045em;
}

.eyebrow {
  color: var(--bps-muted);
  font-family: Arial, Helvetica, ui-sans-serif, system-ui, sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
}

.text-link {
  color: var(--bps-forest);
  font-weight: 800;
  text-decoration-color: color-mix(in srgb, var(--bps-forest) 35%, transparent);
}

.action {
  border-radius: 0;
  min-height: 3.35rem;
  padding-inline: 1.35rem;
}

.action--primary {
  background: var(--bps-forest);
  color: var(--bps-cream);
  box-shadow: none;
}

.action--primary:hover {
  background: var(--bps-ink);
}

.action--secondary {
  border-color: var(--bps-ink);
  color: var(--bps-ink);
}

.action--inverse {
  background: var(--bps-ink);
  color: var(--bps-cream);
}

.preview-status {
  border-bottom: 1px solid var(--bps-hairline);
  background: var(--bps-paper);
  color: var(--bps-muted);
}

.preview-status .container {
  align-items: center;
  padding-block: 0.42rem;
  font-size: 0.72rem;
  letter-spacing: 0.03em;
}

.preview-status strong {
  color: var(--bps-ink);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-color: var(--bps-hairline);
  background: color-mix(in srgb, var(--bps-cream) 94%, transparent);
  color: var(--bps-ink);
  backdrop-filter: blur(1rem);
}

.header-inner {
  min-height: 5.25rem;
  gap: 1.1rem;
}

.bps-brand {
  flex: 0 0 auto;
  color: var(--bps-ink);
}

.brand-mark {
  width: 2.55rem;
  height: 2.55rem;
  border: 1px solid var(--bps-ink);
  background: var(--bps-signal);
  color: var(--bps-ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
}

.brand-name {
  display: inline;
  color: var(--bps-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 0.98rem;
  letter-spacing: -0.02em;
}

.primary-nav {
  margin-left: auto;
}

.primary-nav > ul {
  flex-wrap: nowrap;
  gap: 1.25rem;
}

.primary-nav a,
.nav-dropdown summary {
  color: var(--bps-ink);
  font-size: 0.82rem;
  font-weight: 700;
}

.primary-nav > ul > li > a:not(.header-cta) {
  padding-block: 1rem;
}

.primary-nav a[aria-current='page'] {
  color: var(--bps-forest);
  text-decoration: underline;
  text-decoration-color: var(--bps-signal);
  text-decoration-thickness: 0.28rem;
  text-underline-offset: 0.35rem;
}

.nav-dropdown {
  position: relative;
}

.nav-dropdown summary {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding-block: 1rem;
  cursor: pointer;
  list-style: none;
}

.nav-dropdown summary::-webkit-details-marker {
  display: none;
}

.nav-dropdown summary::after {
  content: '+';
  color: var(--bps-muted);
  font-size: 1rem;
  font-weight: 400;
}

.nav-dropdown[open] summary::after {
  content: '−';
}

.nav-dropdown__panel {
  position: absolute;
  top: calc(100% + 0.7rem);
  left: 50%;
  width: min(23rem, calc(100vw - 2rem));
  padding: 1.25rem;
  border: 1px solid var(--bps-ink);
  background: var(--bps-cream);
  box-shadow: var(--bps-soft-shadow);
  transform: translateX(-38%);
}

.nav-dropdown__panel--wide {
  width: min(34rem, calc(100vw - 2rem));
}

.nav-dropdown__panel > p {
  margin-bottom: 0.8rem;
  color: var(--bps-muted);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.primary-nav .nav-dropdown__panel ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: stretch;
}

.nav-dropdown__panel li + li {
  border-top: 1px solid var(--bps-hairline);
}

.nav-dropdown__panel a {
  display: grid;
  gap: 0.15rem;
  padding: 0.65rem 0;
  text-decoration: none;
}

.nav-dropdown__panel a:hover strong,
.nav-dropdown__panel a:focus-visible strong {
  text-decoration: underline;
  text-decoration-color: var(--bps-signal);
  text-decoration-thickness: 0.3rem;
  text-underline-offset: 0.25rem;
}

.nav-dropdown__panel a span {
  color: var(--bps-muted);
  font-size: 0.74rem;
  font-weight: 400;
}

.header-cta {
  display: inline-flex;
  min-height: 2.65rem;
  align-items: center;
  padding: 0.55rem 0.85rem;
  background: var(--bps-forest);
  color: var(--bps-cream) !important;
}

.portal-utility {
  display: grid;
  flex: 0 0 auto;
  gap: 0.05rem;
  padding-left: 1rem;
  border-left: 1px solid var(--bps-hairline);
  color: var(--bps-ink);
  line-height: 1.1;
  text-decoration: none;
}

.portal-utility span {
  color: var(--bps-muted);
  font-size: 0.61rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.portal-utility strong {
  font-size: 0.76rem;
}

.bps-home-hero {
  min-height: auto;
  overflow: clip;
  border-bottom: 1px solid var(--bps-hairline);
  background: var(--bps-cream) !important;
  color: var(--bps-ink);
}

.bps-home-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(24rem, 1.1fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.bps-home-hero__copy {
  position: relative;
  z-index: 2;
}

.bps-home-hero h1 {
  max-width: 10ch;
  margin-bottom: 1.5rem;
  color: var(--bps-ink);
  font-size: clamp(3.6rem, 7.7vw, 7.4rem);
  line-height: 0.91;
}

.bps-home-hero h1 em {
  color: var(--bps-forest);
  font-weight: 400;
  text-decoration: underline;
  text-decoration-color: var(--bps-signal);
  text-decoration-thickness: 0.18em;
  text-underline-offset: 0.06em;
}

.bps-home-hero .lead {
  max-width: 38rem;
  color: var(--bps-muted);
  font-size: clamp(1.08rem, 1.6vw, 1.32rem);
}

.bps-home-hero__actions {
  margin-top: 2rem;
}

.ownership-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1.6rem;
  margin: 2.25rem 0 0;
  padding: 1.2rem 0 0;
  border-top: 1px solid var(--bps-hairline);
  color: var(--bps-muted);
  font-size: 0.78rem;
  font-weight: 700;
  list-style: none;
}

.ownership-strip li::before {
  content: '✓';
  margin-right: 0.45rem;
  color: var(--bps-forest);
}

.site-composition {
  position: relative;
  min-width: 0;
  padding: clamp(1rem, 3vw, 2.5rem) 0 clamp(2.5rem, 6vw, 5rem) clamp(1rem, 4vw, 3rem);
}

.site-composition::before {
  content: '';
  position: absolute;
  inset: 10% -18% 0 12%;
  background: var(--bps-signal);
  transform: rotate(-3deg);
}

.site-composition__browser {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border: 1px solid var(--bps-ink);
  background: var(--bps-paper);
  box-shadow: var(--bps-soft-shadow);
  transform: rotate(1.2deg);
}

.site-composition__chrome {
  display: flex;
  min-height: 2.4rem;
  align-items: center;
  gap: 0.35rem;
  padding: 0.55rem 0.7rem;
  border-bottom: 1px solid var(--bps-hairline);
  background: var(--bps-cream);
}

.site-composition__chrome > span {
  width: 0.55rem;
  height: 0.55rem;
  border: 1px solid var(--bps-ink);
  border-radius: 50%;
}

.site-composition__chrome > div {
  width: min(16rem, 62%);
  margin-left: 0.45rem;
  padding: 0.2rem 0.65rem;
  background: var(--bps-paper);
  color: var(--bps-muted);
  font-size: 0.58rem;
}

.site-composition__nav {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.35rem;
  padding: 1.1rem 1.2rem;
  background: var(--bps-forest);
  color: var(--bps-cream);
}

.site-composition__nav strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.1rem;
}

.site-composition__nav span {
  color: color-mix(in srgb, var(--bps-cream) 70%, transparent);
  font-size: 0.55rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.site-composition__nav button {
  padding: 0.45rem 0.65rem;
  border: 0;
  background: var(--bps-signal);
  color: var(--bps-ink);
  font-size: 0.58rem;
  font-weight: 800;
  opacity: 1;
}

.site-composition__hero {
  min-height: 20rem;
  padding: clamp(2rem, 5vw, 4.5rem) clamp(1.4rem, 4vw, 3rem) 2.2rem;
  background:
    linear-gradient(120deg, rgb(24 60 50 / 0.92), rgb(24 60 50 / 0.62)),
    linear-gradient(35deg, var(--bps-forest), var(--bps-paper));
  color: var(--bps-cream);
}

.site-composition__hero > p {
  margin-bottom: 0.7rem;
  color: var(--bps-signal);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.site-composition__hero h2 {
  max-width: 9ch;
  font-size: clamp(2.5rem, 5.5vw, 5.4rem);
  line-height: 0.92;
}

.site-composition__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  margin-top: 2rem;
  font-size: 0.65rem;
}

.site-composition__meta span::before {
  content: '●';
  margin-right: 0.4rem;
  color: var(--bps-signal);
}

.site-composition__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: var(--bps-cream);
}

.site-composition__cards > div {
  display: grid;
  gap: 0.2rem;
  padding: 1rem;
  border-top: 1px solid var(--bps-hairline);
  border-right: 1px solid var(--bps-hairline);
}

.site-composition__cards > div:last-child {
  border-right: 0;
}

.site-composition__cards span {
  color: var(--bps-muted);
  font-size: 0.58rem;
}

.site-composition__cards strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 0.85rem;
}

.site-composition__note {
  position: absolute;
  right: -1rem;
  bottom: 0.6rem;
  z-index: 3;
  display: grid;
  gap: 0.2rem;
  max-width: 14rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--bps-ink);
  background: var(--bps-cream);
  transform: rotate(-2deg);
}

.site-composition__note span {
  color: var(--bps-muted);
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.site-composition__note strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 0.95rem;
  line-height: 1.1;
}

.section-heading-row {
  align-items: end;
  margin-bottom: clamp(2rem, 5vw, 4rem);
}

.section-heading-row h2 {
  max-width: 15ch;
  color: var(--bps-ink);
  font-size: clamp(2.6rem, 5.8vw, 5.4rem);
  line-height: 0.98;
}

.section-note {
  max-width: 26rem;
  margin: 0;
  color: var(--bps-muted);
}

.outcome-section {
  background: var(--bps-paper);
}

.outcome-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--bps-ink);
  border-bottom: 1px solid var(--bps-ink);
}

.outcome-card {
  min-width: 0;
  padding: clamp(1.3rem, 3vw, 2.2rem);
  border-right: 1px solid var(--bps-hairline);
}

.outcome-card:last-child {
  border-right: 0;
}

.outcome-card > span,
.process-grid > li > span {
  color: var(--bps-muted);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.outcome-card h3 {
  margin-top: 2.5rem;
  font-size: clamp(1.45rem, 2vw, 2rem);
}

.outcome-card p,
.audience-card p,
.solution-card p,
.process-grid p {
  color: var(--bps-muted);
}

.audience-section {
  background: var(--bps-cream);
  scroll-margin-top: 7rem;
}

.audience-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.audience-card {
  min-width: 0;
  min-height: 14rem;
  padding: clamp(1.4rem, 3vw, 2.2rem);
  border: 1px solid var(--bps-hairline);
  background: var(--bps-cream);
  scroll-margin-top: 8rem;
}

.audience-card:nth-child(2),
.audience-card:nth-child(5) {
  background: var(--bps-paper);
}

.audience-card h3 {
  max-width: 12ch;
  font-size: clamp(1.55rem, 2.6vw, 2.4rem);
}

.solutions-section {
  background: var(--bps-forest);
  color: var(--bps-cream);
}

.solutions-section .eyebrow,
.solutions-section .section-note,
.solutions-section .text-link {
  color: var(--bps-signal);
}

.solutions-section .section-heading-row h2 {
  color: var(--bps-cream);
}

.solution-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid color-mix(in srgb, var(--bps-cream) 32%, transparent);
}

.solution-card {
  min-width: 0;
  min-height: 25rem;
  padding: clamp(1.5rem, 3.5vw, 2.7rem);
  border-right: 1px solid color-mix(in srgb, var(--bps-cream) 28%, transparent);
}

.solution-card:last-child {
  border-right: 0;
}

.solution-card__label {
  color: var(--bps-signal) !important;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.solution-card h3 {
  margin-top: 3rem;
  color: var(--bps-cream);
  font-size: clamp(2rem, 3.5vw, 3.4rem);
}

.solution-card p {
  color: color-mix(in srgb, var(--bps-cream) 72%, transparent);
}

.solution-card > a {
  display: inline-block;
  margin-top: 1.5rem;
  color: var(--bps-signal);
  font-weight: 800;
}

.work-showcase {
  background: var(--bps-paper);
}

.work-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.work-card {
  overflow: hidden;
  border: 1px solid var(--bps-hairline);
  background: var(--bps-cream);
  color: var(--bps-ink);
}

.work-card > a:first-child {
  display: block;
  overflow: hidden;
}

.work-media {
  aspect-ratio: 3 / 2;
  transition: transform 260ms ease;
}

.work-card:hover .work-media {
  transform: scale(1.025);
}

.work-card > div:last-child {
  padding: 1.4rem;
}

.work-card h3 {
  margin-top: 1rem;
  font-size: clamp(1.7rem, 2.7vw, 2.4rem);
}

.work-status {
  padding: 0;
  border: 0;
  color: var(--bps-muted);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.62rem;
}

.demo-badge,
.result-kicker {
  border-color: var(--bps-forest);
  color: var(--bps-forest);
}

.notice {
  border-color: var(--bps-hairline);
  background: var(--bps-paper);
  color: var(--bps-ink);
}

.notice h2,
.notice h3,
.notice strong,
.notice p {
  color: var(--bps-ink);
}

.field__hint {
  color: var(--bps-muted);
}

.work-card__link {
  color: var(--bps-forest);
  font-weight: 800;
}

.home-process {
  background: var(--bps-cream);
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--bps-ink);
  list-style: none;
}

.process-grid > li {
  min-width: 0;
  padding: 2rem 2rem 0 0;
}

.process-grid > li + li {
  padding-left: 2rem;
  border-left: 1px solid var(--bps-hairline);
}

.process-grid h3 {
  margin-top: 3rem;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
}

.portal-clarity {
  border-block: 1px solid var(--bps-ink);
  background: var(--bps-signal);
  color: var(--bps-ink);
}

.portal-clarity__grid,
.home-final-cta__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(20rem, 1.15fr);
  gap: clamp(2rem, 8vw, 8rem);
  align-items: start;
}

.portal-clarity h2,
.home-final-cta h2 {
  max-width: 12ch;
  font-size: clamp(2.8rem, 6vw, 5.8rem);
  line-height: 0.96;
}

.portal-clarity .eyebrow {
  color: var(--bps-forest);
}

.portal-clarity .lead {
  color: var(--bps-ink);
}

.home-final-cta {
  background: var(--bps-ink);
  color: var(--bps-cream);
}

.home-final-cta h2 {
  color: var(--bps-cream);
}

.home-final-cta p {
  max-width: 34rem;
  color: color-mix(in srgb, var(--bps-cream) 75%, transparent);
  font-size: 1.15rem;
}

.home-final-cta .eyebrow {
  color: var(--bps-signal);
}

.home-final-cta .action--primary {
  margin-top: 1rem;
  background: var(--bps-signal);
  color: var(--bps-ink);
}

.flagship-page-hero {
  border-bottom: 1px solid var(--bps-hairline);
  background: var(--bps-cream);
  background-image: none;
  color: var(--bps-ink);
}

.page-hero-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr);
  align-items: end;
}

.flagship-page-hero h1 {
  max-width: 13ch;
  color: var(--bps-ink);
  font-size: clamp(3.3rem, 7vw, 6.8rem);
  line-height: 0.94;
}

.flagship-page-hero .lead {
  color: var(--bps-muted);
}

.breadcrumbs {
  color: var(--bps-muted);
}

.ownership-promise {
  padding: 1.4rem;
  border-top: 0.5rem solid var(--bps-signal);
  background: var(--bps-forest);
  color: var(--bps-cream);
}

.ownership-promise > span {
  display: block;
  color: var(--bps-signal);
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ownership-promise > strong {
  display: block;
  margin-top: 1rem;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.7rem;
  line-height: 1.08;
}

.ownership-promise > p {
  margin: 0.9rem 0 0;
  color: color-mix(in srgb, var(--bps-cream) 75%, transparent);
  font-size: 0.85rem;
}

.page-section-list > .section:nth-child(even),
.section[data-tone='muted'] {
  background: var(--bps-paper);
}

.page-section-list h2 {
  color: var(--bps-ink);
}

.section-index {
  color: var(--bps-muted);
  font-family: Arial, Helvetica, sans-serif;
}

.check-list li::before {
  content: '—';
  color: var(--bps-forest);
}

.closing-cta {
  background: var(--bps-signal) !important;
  color: var(--bps-ink) !important;
}

.closing-cta .eyebrow {
  color: var(--bps-forest);
}

.project-guide,
.ask-bps {
  background: var(--bps-forest) !important;
  color: var(--bps-cream);
}

[data-tone='dark'] {
  color: var(--bps-cream);
}

[data-tone='dark'] h1,
[data-tone='dark'] h2,
[data-tone='dark'] h3,
[data-tone='dark'] h4,
[data-tone='dark'] p,
[data-tone='dark'] strong {
  color: var(--bps-cream);
}

[data-tone='dark'] .eyebrow,
[data-tone='dark'] .section-index {
  color: var(--bps-signal);
}

[data-tone='dark'] .action--secondary,
.project-guide .action--secondary {
  border-color: var(--bps-cream);
  color: var(--bps-cream);
}

.project-guide .section-heading-row h2,
.ask-bps h2 {
  color: var(--bps-cream);
}

.project-guide .eyebrow,
.project-guide .demo-badge,
.ask-bps .eyebrow {
  color: var(--bps-signal);
}

.project-guide .field__hint,
.ask-bps .field__hint,
[data-tone='dark'] .field__hint {
  color: color-mix(in srgb, var(--bps-cream) 82%, transparent);
}

.guide-grid fieldset,
.assistant-panel,
.guide-result {
  border-color: color-mix(in srgb, var(--bps-cream) 35%, transparent);
  background: color-mix(in srgb, var(--bps-ink) 55%, var(--bps-forest));
}

.guide-grid select,
.guide-grid input[type='text'],
.assistant-entry input {
  border-color: color-mix(in srgb, var(--bps-cream) 45%, transparent);
  background: var(--bps-ink);
  color: var(--bps-cream);
}

.phone-screen,
.preview-shell {
  color: var(--bps-cream);
}

.phone-screen h3,
.phone-screen p,
.phone-screen strong,
.preview-shell h2,
.preview-shell p,
.preview-shell footer {
  color: var(--bps-cream);
}

.phone-screen .demo-badge,
.preview-shell .eyebrow {
  border-color: var(--bps-signal);
  color: var(--bps-signal);
}

.preview-banner,
.preview-banner strong,
.preview-banner span {
  color: var(--bps-ink);
}

.site-footer {
  border: 0;
  background: var(--bps-forest);
  color: var(--bps-cream);
}

.site-footer .bps-brand,
.site-footer h2,
.site-footer h3,
.site-footer a {
  color: var(--bps-cream);
}

.site-footer .brand-mark {
  color: var(--bps-ink);
}

.site-footer .brand-name {
  color: var(--bps-cream);
}

.site-footer .footer-top {
  grid-template-columns: minmax(18rem, 1.4fr) repeat(3, minmax(10rem, 0.65fr));
}

.site-footer .footer-top h2 {
  margin-top: 2rem;
  font-size: clamp(2.2rem, 4vw, 3.8rem);
}

.site-footer .footer-top h3 {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.site-footer .footer-top ul {
  display: grid;
  gap: 0.55rem;
}

.site-footer .footer-top a:not(.action) {
  color: color-mix(in srgb, var(--bps-cream) 78%, transparent);
  font-size: 0.86rem;
}

.site-footer .action--primary {
  margin-top: 1rem;
  background: var(--bps-signal);
  color: var(--bps-ink);
}

.site-footer .footer-meta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-color: color-mix(in srgb, var(--bps-cream) 18%, transparent);
  color: color-mix(in srgb, var(--bps-cream) 62%, transparent);
}

.site-footer .footer-meta p {
  margin: 0;
}

@media (max-width: 74rem) {
  .primary-nav,
  .portal-utility {
    display: none;
  }

  .mobile-nav {
    display: block;
    position: relative;
  }

  .mobile-nav[open] {
    position: relative;
    inset: auto;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .mobile-nav > summary {
    padding: 0.65rem 0.8rem;
    border: 1px solid var(--bps-ink);
    color: var(--bps-ink);
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 800;
    list-style: none;
  }

  .mobile-nav > summary::-webkit-details-marker {
    display: none;
  }

  .mobile-nav > nav {
    position: absolute;
    top: calc(100% + 0.8rem);
    right: 0;
    width: min(36rem, calc(100vw - 2rem));
    max-height: calc(100vh - 7rem);
    overflow-y: auto;
    padding: 1.2rem;
    border: 1px solid var(--bps-ink);
    background: var(--bps-cream);
    box-shadow: var(--bps-soft-shadow);
  }

  .mobile-nav__group + .mobile-nav__group {
    margin-top: 1.2rem;
    padding-top: 1.2rem;
    border-top: 1px solid var(--bps-hairline);
  }

  .mobile-nav__heading {
    margin-bottom: 0.6rem;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  .mobile-nav ul,
  .mobile-nav__primary {
    position: static;
    width: auto;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .mobile-nav li + li {
    margin-top: 0.35rem;
  }

  .mobile-nav a {
    display: block;
    padding: 0.35rem 0;
    color: var(--bps-ink);
    font-weight: 700;
  }

  .mobile-nav__primary {
    margin-top: 1.2rem !important;
    padding-top: 1.2rem !important;
    border-top: 1px solid var(--bps-ink) !important;
  }

  .bps-home-hero__grid,
  .page-hero-grid,
  .portal-clarity__grid,
  .home-final-cta__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .bps-home-hero__copy {
    max-width: 48rem;
  }

  .site-composition {
    width: min(100%, 48rem);
    margin-inline: auto;
  }

  .outcome-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .outcome-card:nth-child(2) {
    border-right: 0;
  }

  .outcome-card:nth-child(-n + 2) {
    border-bottom: 1px solid var(--bps-hairline);
  }

  .audience-grid,
  .work-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .solution-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .solution-card {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--bps-cream) 28%, transparent);
  }

  .solution-card:last-child {
    border-bottom: 0;
  }

  .site-footer .footer-top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 48rem) {
  .section-heading-row {
    align-items: flex-start;
  }

  .bps-home-hero {
    padding-top: 4rem;
  }

  .bps-home-hero h1 {
    font-size: clamp(3.35rem, 16vw, 5.4rem);
  }

  .site-composition {
    padding-left: 0;
  }

  .site-composition::before {
    inset: 8% -10% 2% 8%;
  }

  .site-composition__nav {
    grid-template-columns: auto 1fr;
  }

  .site-composition__nav button {
    display: none;
  }

  .site-composition__hero {
    min-height: 16rem;
  }

  .site-composition__note {
    right: 0;
  }

  .outcome-grid,
  .audience-grid,
  .work-grid,
  .process-grid,
  .site-footer .footer-top {
    grid-template-columns: minmax(0, 1fr);
  }

  .outcome-card,
  .outcome-card:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid var(--bps-hairline);
  }

  .outcome-card:last-child {
    border-bottom: 0;
  }

  .process-grid > li,
  .process-grid > li + li {
    padding: 1.5rem 0;
    border-left: 0;
    border-bottom: 1px solid var(--bps-hairline);
  }

  .process-grid > li:last-child {
    border-bottom: 0;
  }

  .process-grid h3 {
    margin-top: 1.5rem;
  }

  .portal-clarity h2,
  .home-final-cta h2 {
    font-size: clamp(2.7rem, 13vw, 4.6rem);
  }

  .site-footer .footer-meta {
    flex-direction: column;
  }
}

@media (max-width: 23.5rem) {
  .container {
    width: min(100% - 1.25rem, var(--container));
  }

  .brand-name {
    display: none;
  }

  .site-composition__cards strong {
    font-size: 0.72rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-composition__browser,
  .site-composition__note {
    transform: none;
  }

  .work-media {
    transition: none;
  }
}

@media print {
  .site-composition,
  .nav-dropdown__panel,
  .portal-clarity,
  .home-final-cta {
    box-shadow: none;
  }
}

/* Phase 3.1 V2: cinematic flagship and public portal-tour presentation. */
:root {
  --v2-night: #07120f;
  --v2-deep: #102b24;
  --v2-green: #183c32;
  --v2-lime: #e8ff5b;
  --v2-cream: #fbf9f2;
  --v2-paper: #f1efe8;
  --v2-line-dark: rgb(251 249 242 / 0.22);
  --v2-line-light: rgb(22 37 32 / 0.18);
  --v2-shadow: 0 2.5rem 7rem rgb(0 0 0 / 0.34);
}

.action,
.v2-product-board a,
.v2-solution-stories a,
.portal-app button,
.portal-boundary a,
.portal-boundary button,
.portal-access-card button {
  min-height: 2.75rem;
}

.action--glass {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.35rem;
  border: 1px solid rgb(251 249 242 / 0.62);
  color: var(--v2-cream);
  font-weight: 800;
  text-decoration: none;
  backdrop-filter: blur(0.8rem);
  background: rgb(7 18 15 / 0.3);
}

.action--glass:hover,
.action--glass:focus-visible {
  border-color: var(--v2-lime);
  background: rgb(7 18 15 / 0.72);
}

.v2-hero {
  position: relative;
  min-height: clamp(44rem, 86vh, 58rem);
  overflow: clip;
  background: var(--v2-night);
  color: var(--v2-cream);
  isolation: isolate;
}

.v2-hero__photo {
  position: absolute;
  z-index: -3;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto !important;
}

.v2-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.015);
}

.v2-hero__veil {
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgb(4 13 11 / 0.98) 0%,
      rgb(4 13 11 / 0.92) 31%,
      rgb(4 13 11 / 0.45) 60%,
      rgb(4 13 11 / 0.14) 100%
    ),
    linear-gradient(0deg, rgb(4 13 11 / 0.9) 0%, transparent 36%);
}

.v2-hero::after {
  content: '';
  position: absolute;
  z-index: -1;
  right: -9rem;
  bottom: -16rem;
  width: 44rem;
  height: 44rem;
  border: 1px solid rgb(232 255 91 / 0.34);
  border-radius: 50%;
  box-shadow:
    0 0 0 6rem rgb(232 255 91 / 0.04),
    0 0 0 13rem rgb(232 255 91 / 0.025);
}

.v2-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(24rem, 0.8fr);
  gap: clamp(3rem, 7vw, 8rem);
  align-items: end;
  min-height: inherit;
  padding-block: clamp(5.5rem, 10vw, 9rem) clamp(3rem, 7vw, 5rem);
}

.v2-hero__copy {
  align-self: center;
  max-width: 48rem;
}

.v2-hero .eyebrow {
  color: var(--v2-lime);
}

.v2-hero h1 {
  max-width: 9ch;
  margin: 0.65rem 0 1.75rem;
  color: var(--v2-cream);
  font-size: clamp(4.2rem, 8.6vw, 8.6rem);
  line-height: 0.84;
  letter-spacing: -0.065em;
  text-wrap: balance;
}

.v2-hero h1 em {
  color: var(--v2-lime);
  font-weight: 400;
}

.v2-hero .lead {
  max-width: 37rem;
  color: rgb(251 249 242 / 0.82);
  font-size: clamp(1.08rem, 1.5vw, 1.34rem);
}

.v2-hero__actions {
  margin-top: 2rem;
}

.v2-hero .action--primary {
  background: var(--v2-lime);
  color: var(--v2-night);
}

.v2-ownership {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.45rem;
  margin: 2rem 0 0;
  padding: 1.1rem 0 0;
  border-top: 1px solid var(--v2-line-dark);
  color: rgb(251 249 242 / 0.72);
  font-size: 0.76rem;
  font-weight: 800;
  list-style: none;
}

.v2-ownership li::before {
  content: '●';
  margin-right: 0.45rem;
  color: var(--v2-lime);
  font-size: 0.5rem;
}

.v2-product-board {
  align-self: end;
  overflow: hidden;
  border: 1px solid rgb(251 249 242 / 0.36);
  background: rgb(7 18 15 / 0.83);
  box-shadow: var(--v2-shadow);
  color: var(--v2-cream);
  backdrop-filter: blur(1rem);
}

.v2-product-board__top,
.v2-product-board__footer {
  display: flex;
  min-height: 3.25rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 1rem;
  border-bottom: 1px solid var(--v2-line-dark);
  font-size: 0.68rem;
}

.v2-product-board__top > span {
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.v2-product-board__top > strong {
  padding: 0.28rem 0.48rem;
  background: var(--v2-lime);
  color: var(--v2-night);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.v2-product-board__body {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(11rem, 0.95fr);
  gap: 1.6rem;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.v2-product-board__body > div > p {
  color: var(--v2-lime);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.v2-product-board h2 {
  margin-top: 0.7rem;
  color: var(--v2-cream);
  font-size: clamp(1.65rem, 2.8vw, 2.7rem);
  line-height: 1;
}

.v2-product-board dl {
  margin: 0;
}

.v2-product-board dl > div {
  padding: 0.7rem 0;
  border-top: 1px solid var(--v2-line-dark);
}

.v2-product-board dt {
  color: rgb(251 249 242 / 0.58);
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.v2-product-board dd {
  margin: 0.25rem 0 0;
  font-size: 0.78rem;
  font-weight: 800;
}

.v2-product-board__footer {
  border-top: 1px solid var(--v2-line-dark);
  border-bottom: 0;
}

.v2-product-board__footer i {
  display: inline-block;
  width: 0.45rem;
  height: 0.45rem;
  margin-right: 0.35rem;
  border-radius: 50%;
  background: var(--v2-lime);
  box-shadow: 0 0 0 0.22rem rgb(232 255 91 / 0.14);
}

.v2-product-board__footer a {
  display: inline-flex;
  align-items: center;
  color: var(--v2-lime);
  font-weight: 800;
}

.v2-panorama {
  overflow: hidden;
  background: var(--v2-paper);
}

.v2-panorama__intro,
.portal-demo__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: end;
  margin-bottom: clamp(2rem, 5vw, 4rem);
}

.v2-panorama__intro h2,
.v2-section-lead h2,
.portal-demo__intro h2 {
  max-width: 13ch;
  color: var(--v2-night);
  font-size: clamp(3rem, 6.2vw, 6.4rem);
  line-height: 0.92;
}

.v2-panorama__intro > p,
.v2-section-lead > p:last-child,
.portal-demo__intro > p {
  color: var(--bps-muted);
  font-size: 1.05rem;
}

.v2-panorama__figure {
  position: relative;
  margin: 0;
  box-shadow: 0 2rem 5rem rgb(22 37 32 / 0.18);
}

.v2-panorama__figure .media {
  overflow: hidden;
}

.v2-panorama__figure img {
  width: 100%;
  transition: transform 500ms ease;
}

.v2-panorama__figure:hover img {
  transform: scale(1.012);
}

.v2-panorama__figure figcaption {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: var(--v2-night);
  color: var(--v2-cream);
}

.v2-panorama__figure figcaption span {
  display: flex;
  min-height: 4.2rem;
  align-items: center;
  gap: 0.8rem;
  padding: 0.8rem 1rem;
  border-right: 1px solid var(--v2-line-dark);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(0.9rem, 1.6vw, 1.2rem);
}

.v2-panorama__figure figcaption span:last-child {
  border-right: 0;
}

.v2-panorama__figure figcaption b {
  color: var(--v2-lime);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.62rem;
}

.v2-outcomes,
.v2-solutions {
  background: var(--v2-cream);
}

.v2-section-lead {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.55fr);
  gap: 0.65rem clamp(2rem, 8vw, 8rem);
  align-items: end;
  margin-bottom: clamp(2.5rem, 6vw, 5rem);
}

.v2-section-lead .eyebrow {
  grid-column: 1 / -1;
}

.v2-outcome-list {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--v2-night);
  list-style: none;
}

.v2-outcome-list li {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr) minmax(9rem, auto);
  gap: clamp(1rem, 4vw, 4rem);
  align-items: center;
  padding: clamp(1.5rem, 4vw, 3rem) 0;
  border-bottom: 1px solid var(--v2-line-light);
}

.v2-outcome-list__number {
  color: var(--bps-muted);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.v2-outcome-list h3 {
  margin: 0;
  color: var(--v2-night);
  font-size: clamp(2rem, 4.3vw, 4.4rem);
  line-height: 0.94;
}

.v2-outcome-list p {
  max-width: 46rem;
  color: var(--bps-muted);
}

.v2-outcome-list > li > strong {
  padding: 0.55rem 0.8rem;
  border: 1px solid var(--v2-line-light);
  color: var(--v2-green);
  font-size: 0.7rem;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.v2-audiences,
.v2-process {
  position: relative;
  overflow: hidden;
  background: var(--v2-green);
  color: var(--v2-cream);
}

.v2-audiences::before,
.v2-process::before {
  content: '';
  position: absolute;
  right: -15rem;
  top: -20rem;
  width: 48rem;
  height: 48rem;
  border: 1px solid rgb(232 255 91 / 0.18);
  border-radius: 50%;
  box-shadow:
    0 0 0 7rem rgb(232 255 91 / 0.025),
    0 0 0 14rem rgb(232 255 91 / 0.018);
}

.v2-section-lead--light h2 {
  color: var(--v2-cream);
}

.v2-section-lead--light .eyebrow {
  color: var(--v2-lime);
}

.v2-section-lead--light > p:last-child {
  color: rgb(251 249 242 / 0.72);
}

.v2-audience-list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--v2-line-dark);
}

.v2-audience-list article {
  display: grid;
  min-height: 11rem;
  grid-template-columns: 2rem 1fr;
  gap: 1.2rem;
  align-items: start;
  padding: clamp(1.4rem, 3vw, 2.4rem);
  border-right: 1px solid var(--v2-line-dark);
  border-bottom: 1px solid var(--v2-line-dark);
  scroll-margin-top: 8rem;
  transition: background 220ms ease;
}

.v2-audience-list article:nth-child(2n) {
  border-right: 0;
}

.v2-audience-list article:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.v2-audience-list article:hover {
  background: rgb(232 255 91 / 0.08);
}

.v2-audience-list article > span {
  color: var(--v2-lime);
  font-size: 0.64rem;
  font-weight: 800;
}

.v2-audience-list h3 {
  color: var(--v2-cream);
  font-size: clamp(1.65rem, 3vw, 3rem);
  line-height: 1;
}

.v2-audience-list p {
  color: rgb(251 249 242 / 0.66);
}

.v2-solution-stories {
  display: grid;
  gap: 1.25rem;
}

.v2-solution-stories > article {
  display: grid;
  min-height: 30rem;
  grid-template-columns: minmax(0, 0.9fr) minmax(25rem, 1.1fr);
  overflow: hidden;
  border: 1px solid var(--v2-line-light);
  background: var(--v2-paper);
}

.v2-solution-stories > article:nth-child(even) .v2-solution-stories__copy {
  order: 2;
}

.v2-solution-stories__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 5vw, 4.5rem);
}

.v2-solution-stories__copy > span {
  color: var(--v2-green);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.v2-solution-stories h3 {
  max-width: 9ch;
  margin: 2rem 0 1rem;
  color: var(--v2-night);
  font-size: clamp(2.7rem, 5vw, 5.2rem);
  line-height: 0.9;
}

.v2-solution-stories p {
  max-width: 34rem;
  color: var(--bps-muted);
}

.v2-solution-stories a {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  margin-top: 1.2rem;
  color: var(--v2-green);
  font-weight: 800;
}

.v2-ui-scene {
  position: relative;
  display: grid;
  min-width: 0;
  place-content: center;
  padding: clamp(2rem, 6vw, 5rem);
  background: var(--v2-night);
  color: var(--v2-cream);
  isolation: isolate;
}

.v2-ui-scene::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 8%;
  border: 1px solid rgb(232 255 91 / 0.22);
  background: linear-gradient(145deg, rgb(24 60 50 / 0.82), rgb(7 18 15 / 0.45));
  box-shadow: var(--v2-shadow);
  transform: rotate(-2deg);
}

.v2-ui-scene--presence > div {
  display: grid;
  gap: 1.2rem;
  max-width: 23rem;
  padding: 2rem;
  border-left: 0.45rem solid var(--v2-lime);
  background: var(--v2-green);
}

.v2-ui-scene--presence small {
  color: var(--v2-lime);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.v2-ui-scene--presence b {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 0.94;
}

.v2-ui-scene--presence ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1rem 0 0;
  padding: 0;
  color: rgb(251 249 242 / 0.72);
  font-size: 0.65rem;
  list-style: none;
}

.v2-ui-scene--presence li {
  padding: 0.45rem 0.6rem;
  border: 1px solid var(--v2-line-dark);
}

.v2-ui-scene--action {
  align-content: center;
  justify-items: start;
}

.v2-ui-scene--action > * {
  position: relative;
}

.v2-ui-scene--action p {
  color: var(--v2-lime);
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.v2-ui-scene--action strong {
  display: block;
  margin-top: 1rem;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.4rem, 5vw, 5rem);
  line-height: 0.95;
}

.v2-ui-scene--action > span {
  margin-top: 0.8rem;
  color: rgb(251 249 242 / 0.7);
}

.v2-ui-scene--action button {
  margin-top: 2rem;
  padding: 0.75rem 1rem;
  border: 0;
  background: var(--v2-lime);
  color: var(--v2-night);
  font-weight: 800;
  opacity: 1;
}

.v2-ui-scene--return {
  gap: 0.7rem;
}

.v2-ui-scene--return > div {
  display: grid;
  min-width: min(23rem, 70vw);
  grid-template-columns: 7rem 1fr;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--v2-line-dark);
  background: rgb(24 60 50 / 0.76);
}

.v2-ui-scene--return span {
  color: var(--v2-lime);
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.work-showcase {
  background: var(--v2-night);
  color: var(--v2-cream);
}

.work-showcase .section-heading-row h2,
.work-showcase .lead {
  color: var(--v2-cream);
}

.work-showcase .eyebrow,
.work-showcase .text-link {
  color: var(--v2-lime);
}

.work-showcase .work-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
  gap: 1.25rem;
}

.work-showcase .work-card {
  border-color: var(--v2-line-dark);
  background: #0c1c18;
  color: var(--v2-cream);
}

.work-showcase .work-card:first-child {
  grid-row: span 2;
}

.work-showcase .work-card:first-child .work-media {
  aspect-ratio: 4 / 3;
}

.work-showcase .work-card:not(:first-child) {
  display: grid;
  grid-template-columns: minmax(9rem, 0.8fr) minmax(0, 1.2fr);
}

.work-showcase .work-card:not(:first-child) .work-media {
  height: 100%;
  aspect-ratio: auto;
}

.work-showcase .work-card h3,
.work-showcase .work-card p {
  color: var(--v2-cream);
}

.work-showcase .work-status {
  color: rgb(251 249 242 / 0.6);
}

.work-showcase .work-card__link {
  color: var(--v2-lime);
}

.v2-process ol {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}

.v2-process li {
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  gap: clamp(1rem, 4vw, 4rem);
  padding: clamp(1.6rem, 4vw, 3rem) 0;
  border-top: 1px solid var(--v2-line-dark);
}

.v2-process li:last-child {
  border-bottom: 1px solid var(--v2-line-dark);
}

.v2-process li > span {
  color: var(--v2-lime);
  font-size: 0.68rem;
  font-weight: 800;
}

.v2-process h3 {
  color: var(--v2-cream);
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 0.94;
}

.v2-process p {
  max-width: 45rem;
  color: rgb(251 249 242 / 0.68);
}

.v2-portal-teaser {
  background: var(--v2-lime);
  color: var(--v2-night);
}

.v2-portal-teaser__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(24rem, 1.2fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: center;
}

.v2-portal-teaser h2 {
  max-width: 11ch;
  color: var(--v2-night);
  font-size: clamp(3rem, 6vw, 6rem);
  line-height: 0.9;
}

.v2-portal-teaser p {
  color: rgb(7 18 15 / 0.75);
}

.v2-portal-teaser .action--primary {
  background: var(--v2-night);
  color: var(--v2-cream);
}

.v2-mini-dashboard {
  padding: clamp(1.4rem, 4vw, 2.6rem);
  background: var(--v2-night);
  box-shadow: var(--v2-shadow);
  color: var(--v2-cream);
  transform: rotate(1deg);
}

.v2-mini-dashboard > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--v2-line-dark);
  color: rgb(251 249 242 / 0.66);
  font-size: 0.65rem;
}

.v2-mini-dashboard > div:first-child b {
  color: var(--v2-lime);
  text-transform: uppercase;
}

.v2-mini-dashboard h3 {
  margin-top: 2rem;
  color: var(--v2-cream);
  font-size: clamp(2rem, 4vw, 3.6rem);
}

.v2-mini-dashboard > p {
  color: rgb(251 249 242 / 0.62);
}

.v2-mini-dashboard__bar {
  height: 0.45rem;
  margin: 1.4rem 0;
  background: rgb(251 249 242 / 0.14);
}

.v2-mini-dashboard__bar i {
  display: block;
  width: 62%;
  height: 100%;
  background: var(--v2-lime);
}

.v2-mini-dashboard ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.v2-mini-dashboard li {
  display: grid;
  grid-template-columns: 7rem 1fr;
  gap: 1rem;
  padding: 0.8rem 0;
  border-top: 1px solid var(--v2-line-dark);
}

.v2-mini-dashboard li span {
  color: rgb(251 249 242 / 0.56);
  font-size: 0.68rem;
}

.v2-final-cta {
  background: var(--v2-paper);
  text-align: center;
}

.v2-final-cta h2 {
  max-width: 12ch;
  margin: 0.5rem auto 1rem;
  color: var(--v2-night);
  font-size: clamp(4rem, 9vw, 9rem);
  line-height: 0.85;
}

.v2-final-cta p {
  color: var(--bps-muted);
  font-size: 1.15rem;
}

.v2-final-cta .action {
  margin-top: 1.25rem;
}

/* Public portal tour */
.portal-public-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(5rem, 10vw, 9rem);
  background:
    radial-gradient(circle at 78% 24%, rgb(232 255 91 / 0.12), transparent 28%),
    linear-gradient(135deg, var(--v2-night), var(--v2-green));
  color: var(--v2-cream);
}

.portal-public-hero::after {
  content: '';
  position: absolute;
  right: -12rem;
  bottom: -18rem;
  width: 43rem;
  height: 43rem;
  border: 1px solid rgb(232 255 91 / 0.24);
  border-radius: 50%;
  box-shadow:
    0 0 0 7rem rgb(232 255 91 / 0.025),
    0 0 0 14rem rgb(232 255 91 / 0.018);
}

.portal-public-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(21rem, 0.75fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: end;
}

.portal-public-hero .eyebrow {
  color: var(--v2-lime);
}

.portal-public-hero h1 {
  max-width: 11ch;
  margin-block: 0.8rem 1.5rem;
  color: var(--v2-cream);
  font-size: clamp(3.8rem, 7.5vw, 7.6rem);
  line-height: 0.88;
}

.portal-public-hero .lead {
  max-width: 48rem;
  color: rgb(251 249 242 / 0.76);
}

.portal-public-hero .cluster {
  margin-top: 2rem;
}

.portal-public-hero .action--primary {
  background: var(--v2-lime);
  color: var(--v2-night);
}

.portal-access-card {
  padding: clamp(1.5rem, 3vw, 2.4rem);
  border: 1px solid var(--v2-line-dark);
  border-top: 0.45rem solid var(--v2-lime);
  background: rgb(7 18 15 / 0.62);
  box-shadow: var(--v2-shadow);
  backdrop-filter: blur(1rem);
}

.portal-access-card > span {
  color: var(--v2-lime);
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.portal-access-card h2 {
  margin-top: 1rem;
  color: var(--v2-cream);
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  line-height: 1;
}

.portal-access-card p {
  color: rgb(251 249 242 / 0.68);
}

.portal-access-card button,
.portal-boundary button {
  width: 100%;
  margin-top: 1rem;
  padding: 0.65rem 0.8rem;
  border: 1px solid rgb(251 249 242 / 0.32);
  background: rgb(251 249 242 / 0.08);
  color: rgb(251 249 242 / 0.72);
  opacity: 1;
}

.portal-demo {
  background: var(--v2-paper);
}

.portal-app {
  overflow: hidden;
  border: 1px solid var(--v2-line-light);
  background: var(--v2-cream);
  box-shadow: 0 2.5rem 7rem rgb(22 37 32 / 0.18);
}

.portal-app__topbar {
  display: flex;
  min-height: 4.5rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 1.1rem;
  border-bottom: 1px solid var(--v2-line-dark);
  background: var(--v2-night);
  color: var(--v2-cream);
}

.portal-app__brand {
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  gap: 0.8rem;
  color: var(--v2-cream);
  text-decoration: none;
}

.portal-app__brand > span {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border: 1px solid var(--v2-lime);
  background: var(--v2-lime);
  color: var(--v2-night);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.portal-app__topbar > div {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.portal-demo-badge {
  padding: 0.4rem 0.55rem;
  border: 1px solid var(--v2-line-dark);
  color: var(--v2-lime);
  font-size: 0.6rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.portal-avatar {
  display: grid;
  width: 2.4rem;
  height: 2.4rem;
  place-items: center;
  border-radius: 50%;
  background: var(--v2-green);
  font-size: 0.65rem;
  font-weight: 800;
}

.portal-app__layout {
  display: grid;
  grid-template-columns: 15rem minmax(0, 1fr);
  min-height: 43rem;
}

.portal-app__nav {
  display: flex;
  flex-direction: column;
  padding: 1.4rem 1rem;
  border-right: 1px solid var(--v2-line-light);
  background: #e9e7df;
}

.portal-app__nav > p {
  margin: 0 0 0.8rem;
  color: var(--bps-muted);
  font-size: 0.62rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.portal-app__nav [role='tablist'] {
  display: grid;
  gap: 0.25rem;
}

.portal-app__nav button {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 0.75rem;
  padding: 0.65rem 0.75rem;
  border: 0;
  background: transparent;
  color: var(--v2-night);
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.portal-app__nav button[aria-selected='true'] {
  background: var(--v2-green);
  color: var(--v2-cream);
}

.portal-app__privacy {
  margin-top: auto;
  padding: 1rem;
  border-left: 0.25rem solid var(--v2-lime);
  background: var(--v2-night);
  color: var(--v2-cream);
}

.portal-app__privacy p {
  margin: 0.35rem 0 0;
  color: rgb(251 249 242 / 0.66);
  font-size: 0.72rem;
}

.portal-app__content {
  min-width: 0;
  padding: clamp(1.25rem, 4vw, 2.6rem);
  background: var(--v2-cream);
}

.portal-project-heading,
.portal-panel-heading,
.portal-progress > div:first-child {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
}

.portal-project-heading {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--v2-line-light);
}

.portal-project-heading p,
.portal-panel-heading span {
  margin: 0;
  color: var(--bps-muted);
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.portal-project-heading h3 {
  margin-top: 0.25rem;
  color: var(--v2-night);
  font-size: clamp(1.8rem, 3vw, 2.8rem);
}

.portal-project-heading > span,
.portal-panel-heading > b {
  padding: 0.4rem 0.55rem;
  background: #dce4d9;
  color: var(--v2-green);
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

[data-portal-panel] {
  padding-top: 1.4rem;
}

[data-portal-panel][hidden] {
  display: none;
}

.portal-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.8fr);
  gap: 1rem;
}

.portal-next-action,
.portal-progress,
.portal-metrics article,
.portal-file-list,
.portal-review-card,
.portal-message,
.portal-handoff-list {
  border: 1px solid var(--v2-line-light);
  background: var(--v2-paper);
}

.portal-next-action,
.portal-progress {
  padding: clamp(1.2rem, 3vw, 2rem);
}

.portal-next-action > span,
.portal-progress span {
  color: var(--bps-muted);
  font-size: 0.66rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.portal-next-action h4,
.portal-panel-heading h4 {
  margin-top: 1rem;
  color: var(--v2-night);
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  line-height: 1;
}

.portal-next-action p {
  color: var(--bps-muted);
}

.portal-next-action button,
.portal-review-card button {
  margin-top: 1rem;
  padding: 0.7rem 0.9rem;
  border: 0;
  background: var(--v2-green);
  color: var(--v2-cream);
  font-weight: 800;
  cursor: pointer;
}

.portal-progress > div:first-child strong {
  color: var(--v2-green);
  font-size: 2rem;
}

.portal-progress__track {
  height: 0.45rem;
  margin: 1.3rem 0;
  background: rgb(22 37 32 / 0.12);
}

.portal-progress__track i {
  display: block;
  width: 62%;
  height: 100%;
  background: var(--v2-green);
}

.portal-progress ol {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  color: var(--bps-muted);
  font-size: 0.78rem;
  list-style: none;
}

.portal-progress li::before {
  content: '○';
  margin-right: 0.55rem;
}

.portal-progress li.is-complete::before,
.portal-progress li.is-active::before {
  content: '●';
  color: var(--v2-green);
}

.portal-progress li.is-active {
  color: var(--v2-night);
  font-weight: 800;
}

.portal-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.portal-metrics article {
  display: grid;
  gap: 0.45rem;
  padding: 1rem;
}

.portal-metrics span,
.portal-metrics small {
  color: var(--bps-muted);
  font-size: 0.68rem;
}

.portal-metrics strong {
  color: var(--v2-night);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.7rem;
}

.portal-file-list,
.portal-handoff-list {
  margin: 1.2rem 0 0;
  padding: 0;
  list-style: none;
}

.portal-file-list li,
.portal-handoff-list li {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  border-bottom: 1px solid var(--v2-line-light);
}

.portal-file-list li:last-child,
.portal-handoff-list li:last-child {
  border-bottom: 0;
}

.portal-file-icon {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  background: var(--v2-green);
  color: var(--v2-cream);
  font-size: 0.65rem;
  font-weight: 800;
}

.portal-file-list small,
.portal-handoff-list p,
.portal-message small {
  display: block;
  color: var(--bps-muted);
  font-size: 0.7rem;
}

.portal-file-list li > b {
  color: var(--v2-green);
  font-size: 0.66rem;
}

.portal-file-list li > b.is-pending {
  color: #75520b;
}

.portal-review-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: end;
  margin-top: 1.2rem;
  padding: clamp(1.3rem, 4vw, 2.4rem);
  background: linear-gradient(135deg, var(--v2-green), var(--v2-night));
  color: var(--v2-cream);
}

.portal-review-card span {
  color: var(--v2-lime);
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.portal-review-card h5 {
  max-width: 16ch;
  margin: 1rem 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 0.95;
}

.portal-review-card p {
  color: rgb(251 249 242 / 0.7);
}

.portal-review-card button {
  background: var(--v2-lime);
  color: var(--v2-night);
}

.portal-message {
  margin-top: 1.2rem;
  padding: clamp(1.3rem, 4vw, 2.4rem);
}

.portal-message > span {
  color: var(--v2-green);
  font-size: 0.7rem;
  font-weight: 800;
}

.portal-message p {
  max-width: 46rem;
  color: var(--v2-night);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.6rem, 3vw, 2.5rem);
}

.portal-handoff-list li {
  grid-template-columns: 3rem minmax(0, 1fr);
  align-items: start;
}

.portal-handoff-list li > span {
  color: var(--v2-green);
  font-size: 0.68rem;
  font-weight: 800;
}

.portal-demo-feedback {
  margin: 1rem 0 0;
  color: var(--bps-muted);
  font-size: 0.72rem;
}

.portal-boundary {
  background: var(--v2-night);
  color: var(--v2-cream);
}

.portal-boundary .portal-demo__intro h2 {
  color: var(--v2-cream);
}

.portal-boundary .eyebrow {
  color: var(--v2-lime);
}

.portal-boundary__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--v2-line-dark);
}

.portal-boundary article {
  min-width: 0;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border-right: 1px solid var(--v2-line-dark);
}

.portal-boundary article:last-child {
  border-right: 0;
}

.portal-boundary article > span {
  color: var(--v2-lime);
  font-size: 0.65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.portal-boundary h3 {
  margin-top: 2rem;
  color: var(--v2-cream);
  font-size: clamp(2rem, 3.5vw, 3.4rem);
}

.portal-boundary p {
  color: rgb(251 249 242 / 0.68);
}

.portal-boundary a {
  display: inline-flex;
  align-items: center;
  margin-top: 1rem;
  color: var(--v2-lime);
  font-weight: 800;
}

.portal-boundary button {
  margin-top: 1rem;
}

.v2-hero a:focus-visible,
.v2-solution-stories a:focus-visible,
.portal-app button:focus-visible,
.portal-app a:focus-visible,
.portal-boundary a:focus-visible {
  outline: 0.2rem solid var(--v2-lime);
  outline-offset: 0.2rem;
}

@media (prefers-reduced-motion: no-preference) {
  .v2-hero__photo img {
    animation: v2-hero-breathe 18s ease-in-out infinite alternate;
  }

  .v2-product-board {
    animation: v2-board-drift 7s ease-in-out infinite alternate;
  }

  .v2-mini-dashboard {
    animation: v2-mini-drift 8s ease-in-out infinite alternate;
  }
}

@keyframes v2-hero-breathe {
  to {
    transform: scale(1.055);
  }
}

@keyframes v2-board-drift {
  to {
    transform: translateY(-0.55rem);
  }
}

@keyframes v2-mini-drift {
  to {
    transform: rotate(0deg) translateY(-0.4rem);
  }
}

@media (max-width: 64rem) {
  .v2-hero__inner,
  .portal-public-hero__grid,
  .v2-portal-teaser__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-hero__veil {
    background: linear-gradient(90deg, rgb(4 13 11 / 0.97), rgb(4 13 11 / 0.6));
  }

  .v2-product-board {
    max-width: 42rem;
  }

  .v2-solution-stories > article {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-solution-stories > article:nth-child(even) .v2-solution-stories__copy {
    order: 0;
  }

  .v2-ui-scene {
    min-height: 27rem;
  }

  .work-showcase .work-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .work-showcase .work-card:first-child {
    grid-row: auto;
  }

  .portal-app__layout {
    grid-template-columns: 12rem minmax(0, 1fr);
  }

  .portal-overview-grid,
  .portal-review-card {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 48rem) {
  .v2-hero {
    min-height: auto;
  }

  .v2-hero__inner {
    padding-block: 5rem 2.5rem;
  }

  .v2-hero__photo img {
    object-position: 68% center;
  }

  .v2-hero__veil {
    background: linear-gradient(
      180deg,
      rgb(4 13 11 / 0.84) 0%,
      rgb(4 13 11 / 0.88) 45%,
      rgb(4 13 11 / 0.98) 100%
    );
  }

  .v2-hero h1 {
    font-size: clamp(3.8rem, 19vw, 6.2rem);
  }

  .v2-product-board__body,
  .v2-panorama__intro,
  .v2-section-lead,
  .portal-demo__intro {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-panorama__figure .media {
    aspect-ratio: 1 / 1.2 !important;
  }

  .v2-panorama__figure img {
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .v2-panorama__figure figcaption {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-panorama__figure figcaption span {
    border-right: 0;
    border-bottom: 1px solid var(--v2-line-dark);
  }

  .v2-panorama__figure figcaption span:last-child {
    border-bottom: 0;
  }

  .v2-outcome-list li {
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }

  .v2-outcome-list > li > strong {
    grid-column: 2;
    justify-self: start;
  }

  .v2-audience-list,
  .portal-boundary__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-audience-list article,
  .v2-audience-list article:nth-child(2n),
  .v2-audience-list article:nth-last-child(-n + 2),
  .portal-boundary article {
    border-right: 0;
    border-bottom: 1px solid var(--v2-line-dark);
  }

  .v2-audience-list article:last-child,
  .portal-boundary article:last-child {
    border-bottom: 0;
  }

  .work-showcase .work-card:not(:first-child) {
    grid-template-columns: minmax(0, 1fr);
  }

  .work-showcase .work-card:not(:first-child) .work-media {
    height: auto;
    aspect-ratio: 3 / 2;
  }

  .v2-process li {
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }

  .portal-app__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .portal-app__nav {
    border-right: 0;
    border-bottom: 1px solid var(--v2-line-light);
  }

  .portal-app__nav [role='tablist'] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .portal-app__privacy {
    margin-top: 1rem;
  }

  .portal-metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  .portal-file-list li {
    grid-template-columns: 3rem minmax(0, 1fr);
  }

  .portal-file-list li > b {
    grid-column: 2;
  }
}

@media (max-width: 25rem) {
  .v2-hero__actions,
  .portal-public-hero .cluster,
  .v2-portal-teaser .cluster {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-hero__actions .action,
  .portal-public-hero .action,
  .v2-portal-teaser .action {
    width: 100%;
  }

  .v2-product-board__top,
  .v2-product-board__footer,
  .portal-app__topbar,
  .portal-project-heading,
  .portal-panel-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .portal-app__nav [role='tablist'] {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .v2-hero__photo img,
  .v2-product-board,
  .v2-mini-dashboard,
  .v2-panorama__figure img,
  .v2-audience-list article,
  .work-media {
    animation: none !important;
    transition: none !important;
    transform: none;
  }
}

/* Phase 3.1 functional-reality iteration: public journeys, proof taxonomy, and safe tools. */

.mobile-nav__heading {
  margin: 0 0 0.65rem;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.v2-audience-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
  margin-top: 0.8rem;
}

.v2-audience-actions a {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  color: var(--v2-lime);
  font-size: 0.72rem;
  font-weight: 850;
}

.guide-scenarios {
  display: grid;
  grid-template-columns: minmax(12rem, 0.55fr) minmax(0, 1.45fr);
  gap: 1.5rem;
  align-items: end;
  margin: 2rem 0;
  padding: 1.25rem;
  border: 1px solid rgb(251 249 242 / 0.28);
  background: rgb(251 249 242 / 0.06);
}

.guide-scenarios p {
  margin: 0.25rem 0 0;
}

.guide-scenarios button {
  min-height: 2.75rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid rgb(251 249 242 / 0.38);
  background: transparent;
  color: var(--v2-cream);
  font: inherit;
  font-size: 0.76rem;
  font-weight: 800;
  cursor: pointer;
}

.guide-scenarios button:hover,
.guide-scenarios button:focus-visible {
  border-color: var(--v2-lime);
  background: rgb(232 255 91 / 0.12);
}

.result-context {
  color: var(--bps-muted);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.result-next {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: center;
  margin-top: 2rem;
  padding: 1.25rem;
  border: 1px solid rgb(22 37 32 / 0.24);
  background: var(--v2-paper);
}

.result-next span,
.start-result__heading span,
.start-result__grid article > span,
.start-review-gate span {
  color: var(--v2-green);
  font-size: 0.66rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.result-next h4,
.result-next p {
  margin: 0.2rem 0 0;
}

.lab-demo-notice {
  display: inline-flex;
  margin: 1rem;
  padding: 0.35rem 0.55rem;
  background: var(--lab-accent, var(--v2-lime));
  color: var(--v2-night);
  font-size: 0.62rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.device-stage[data-vertical='appointment-personal-care'] {
  --lab-accent: #f3b8a9;
  --lab-surface: #fff7f1;
  --lab-ink: #412b2a;
}

.device-stage[data-vertical='home-trade-services'] {
  --lab-accent: #f1bd4f;
  --lab-surface: #13241e;
  --lab-ink: #fbf9f2;
}

.device-stage[data-vertical='professional-local-services'] {
  --lab-accent: #b9d4d0;
  --lab-surface: #eff5f3;
  --lab-ink: #102b24;
}

.device-stage[data-vertical='retail-food-product-brands'] {
  --lab-accent: #ff6b48;
  --lab-surface: #fff0d5;
  --lab-ink: #421c12;
}

.device-stage[data-vertical='health-fitness-membership'] {
  --lab-accent: #9dff6d;
  --lab-surface: #0c1f2a;
  --lab-ink: #f8fff4;
}

.device-stage[data-vertical='creative-media-experience'] {
  --lab-accent: #d3b4ff;
  --lab-surface: #17121f;
  --lab-ink: #fff8ef;
}

.device-stage .lab-preview {
  background: var(--lab-surface, var(--v2-cream));
  color: var(--lab-ink, var(--v2-night));
  transition:
    background-color 180ms ease,
    color 180ms ease;
}

.lab-preview > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem clamp(1rem, 3vw, 2rem);
  border-block: 1px solid currentColor;
}

.lab-preview > header > div {
  display: grid;
  gap: 0.15rem;
}

.lab-preview > header small {
  opacity: 0.7;
}

.lab-preview button {
  min-height: 2.75rem;
  padding: 0.65rem 0.9rem;
  border: 1px solid currentColor;
  background: var(--lab-accent, var(--v2-lime));
  color: #07120f;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 850;
  cursor: pointer;
}

.lab-preview .lab-hero {
  min-height: 17rem;
  display: grid;
  align-content: end;
  gap: 0.75rem;
  padding: clamp(2rem, 7vw, 5rem) clamp(1rem, 5vw, 3rem);
  background: linear-gradient(
    135deg,
    transparent,
    color-mix(in srgb, var(--lab-accent) 24%, transparent)
  );
}

.lab-preview .lab-hero h3 {
  max-width: 18ch;
  margin: 0;
  color: inherit;
  font-size: clamp(2rem, 5vw, 4.5rem);
  line-height: 0.98;
}

.lab-module-grid article button {
  width: 100%;
  margin-top: auto;
  background: transparent;
  color: inherit;
}

.lab-action-detail {
  display: grid;
  gap: 0.35rem;
  margin: 1rem;
  padding: 1rem;
  border: 1px solid currentColor;
  background: color-mix(in srgb, var(--lab-accent) 16%, transparent);
}

.lab-action-detail span {
  font-size: 0.65rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.start-hero {
  background: var(--v2-night);
  color: var(--v2-cream);
}

.start-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(20rem, 0.9fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: end;
}

.start-hero h1 {
  max-width: 13ch;
  color: var(--v2-cream);
  font-size: clamp(3.6rem, 7vw, 7rem);
  line-height: 0.9;
}

.start-hero .eyebrow {
  color: var(--v2-lime);
}

.start-hero .lead {
  color: rgb(251 249 242 / 0.75);
}

.start-steps {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--v2-line-dark);
  list-style: none;
}

.start-steps li {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.2rem 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--v2-line-dark);
}

.start-steps li > span {
  grid-row: 1 / 3;
  color: var(--v2-lime);
  font-size: 0.68rem;
  font-weight: 900;
}

.start-steps small {
  color: rgb(251 249 242 / 0.62);
}

.start-application__grid {
  display: grid;
  grid-template-columns: minmax(17rem, 0.62fr) minmax(0, 1.38fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: start;
}

.start-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding: clamp(1rem, 4vw, 2rem);
  border: 1px solid var(--v2-line-light);
  background: var(--v2-cream);
  box-shadow: 0 2rem 5rem rgb(22 37 32 / 0.1);
}

.start-form label:not(.option) {
  display: grid;
  gap: 0.45rem;
  font-size: 0.76rem;
  font-weight: 850;
}

.start-form input,
.start-form select,
.start-form textarea {
  width: 100%;
  min-height: 2.75rem;
}

.start-form__wide {
  grid-column: 1 / -1;
}

.start-result {
  background: var(--v2-paper);
}

.start-result__heading,
.start-review-gate {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, auto);
  gap: 2rem;
  align-items: start;
  padding: 1.5rem;
  border: 1px solid var(--v2-line-light);
  background: var(--v2-cream);
}

.start-result__heading > strong {
  padding: 0.65rem 0.8rem;
  background: var(--v2-lime);
  color: var(--v2-night);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.start-result__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block: 1rem;
  border: solid var(--v2-line-light);
  border-width: 1px 0 0 1px;
}

.start-result__grid article {
  min-width: 0;
  padding: 1.5rem;
  border: solid var(--v2-line-light);
  border-width: 0 1px 1px 0;
  background: var(--v2-cream);
}

.start-review-gate {
  margin-bottom: 1rem;
}

.start-review-gate ol {
  margin: 0;
}

.work-index-hero {
  background: var(--v2-night);
  color: var(--v2-cream);
}

.work-index-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: end;
}

.work-index-hero h1 {
  min-width: 0;
  max-width: 17ch;
  color: var(--v2-cream);
  font-size: clamp(3.25rem, 6vw, 6.6rem);
  line-height: 0.94;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.listing-grid .card {
  min-width: 0;
}

.listing-grid .card__body {
  min-width: 0;
}

.listing-grid .card h2 {
  max-width: 100%;
  font-size: clamp(1.75rem, 2.25vw, 2.65rem);
  line-height: 1.05;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.page-hero-grid > *,
.flagship-page-hero h1,
.flagship-page-hero .lead {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.work-index-hero .eyebrow,
.work-ledger--demos .eyebrow {
  color: var(--v2-lime);
}

.work-index-hero .lead {
  color: rgb(251 249 242 / 0.72);
}

.flagship-case__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}

.flagship-case__media {
  box-shadow: var(--v2-shadow);
  transform: rotate(-1.2deg);
}

.flagship-case__facts {
  margin: 1.5rem 0;
  border-top: 1px solid var(--v2-line-light);
}

.flagship-case__facts div {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr);
  gap: 1rem;
  padding: 0.8rem 0;
  border-bottom: 1px solid var(--v2-line-light);
}

.flagship-case__facts dt {
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.flagship-case__facts dd {
  margin: 0;
}

.work-ledger__heading {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: 1.5rem;
  max-width: 58rem;
  margin-bottom: 2rem;
}

.work-ledger__heading > span {
  color: var(--v2-green);
  font-size: 0.72rem;
  font-weight: 900;
}

.work-ledger__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.proof-card,
.demo-proof-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--v2-line-light);
  background: var(--v2-cream);
}

.proof-card__media {
  border-bottom: 1px solid var(--v2-line-light);
}

.proof-card > div,
.demo-proof-card {
  padding: 1.25rem;
}

.proof-card .cluster {
  align-items: start;
}

.proof-card a,
.demo-proof-card a {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  font-weight: 850;
}

.work-ledger--demos {
  background: var(--v2-night);
  color: var(--v2-cream);
}

.work-ledger--demos h2,
.work-ledger--demos h3 {
  color: var(--v2-cream);
}

.work-ledger--demos .work-ledger__heading > span,
.work-ledger--demos a {
  color: var(--v2-lime);
}

.demo-proof-card {
  border-color: var(--v2-line-dark);
  background: rgb(251 249 242 / 0.06);
}

.verified-external {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin-block: 2rem;
  padding: 1rem;
  border: 1px solid var(--v2-line-light);
  background: var(--v2-paper);
}

.verified-external > div {
  display: grid;
  gap: 0.25rem;
}

.verified-external span {
  color: var(--v2-green);
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.portal-lifecycle {
  display: grid;
  gap: 1rem;
  margin-block: 1.25rem 1.5rem;
  padding: 1rem;
  border: 1px solid var(--v2-line-light);
  background: var(--v2-paper);
}

.portal-lifecycle__summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: end;
}

.portal-lifecycle__summary > div {
  display: grid;
  gap: 0.35rem;
}

.portal-lifecycle__summary span,
.portal-lifecycle__evidence small {
  color: var(--v2-green);
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.portal-lifecycle__summary h4,
.portal-lifecycle__summary p {
  margin: 0;
}

.portal-lifecycle__summary progress {
  width: min(16rem, 100%);
  accent-color: var(--v2-green);
}

.portal-lifecycle__summary button,
.portal-lifecycle__action {
  min-height: 2.75rem;
  border: 1px solid var(--v2-green);
  background: var(--v2-green);
  color: var(--v2-cream);
  font-weight: 850;
}

.portal-lifecycle__evidence {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.portal-lifecycle__evidence li {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--v2-line-light);
  background: var(--v2-cream);
}

.portal-lifecycle__evidence li[data-state='evidence-recorded'] {
  border-color: var(--v2-green);
}

.portal-lifecycle__evidence li[aria-current='step'] {
  box-shadow: inset 0 0 0 2px var(--v2-lime);
}

.portal-lifecycle__evidence span {
  font-size: 0.68rem;
  font-weight: 900;
}

.portal-lifecycle__evidence strong {
  overflow-wrap: anywhere;
}

.portal-lifecycle__action {
  margin-top: 1rem;
  padding-inline: 1rem;
}

.portal-lifecycle__action:disabled,
[data-portal-demo-action]:disabled {
  border-color: var(--v2-line-light);
  background: var(--v2-paper);
  color: var(--v2-muted);
  cursor: not-allowed;
}

@media (min-width: 64.01rem) and (max-height: 56.25rem) {
  .v2-hero {
    min-height: calc(100svh - 6.5rem);
  }

  .v2-hero__inner {
    padding-block: clamp(3.5rem, 6vh, 4.5rem) clamp(2.25rem, 4vh, 3rem);
  }

  .v2-hero h1 {
    margin-block: 0.55rem 1.25rem;
    font-size: clamp(4.5rem, 7.6vw, 6.8rem);
  }

  .v2-hero__actions,
  .v2-ownership {
    margin-top: 1.25rem;
  }
}

@media (max-width: 64rem) {
  .v2-hero {
    min-height: auto;
  }

  .v2-hero__inner {
    gap: 2.5rem;
    padding-block: clamp(2.5rem, 6vw, 4rem);
  }

  .v2-hero h1 {
    font-size: clamp(4rem, 9.2vw, 6rem);
  }

  .v2-hero__actions {
    margin-top: 1.25rem;
  }

  .v2-ownership {
    margin-top: 1.25rem;
  }

  .start-hero__grid,
  .start-application__grid,
  .work-index-hero__grid,
  .flagship-case__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .work-ledger__grid,
  .start-result__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 48rem) {
  .work-index-hero h1 {
    font-size: clamp(2.15rem, 10.5vw, 4.2rem);
    line-height: 0.98;
  }

  .portal-lifecycle__summary,
  .portal-lifecycle__evidence {
    grid-template-columns: minmax(0, 1fr);
  }

  .portal-public-hero {
    padding-block: 2.5rem 3rem;
  }

  .portal-public-hero h1 {
    margin-block: 0.55rem 1rem;
    font-size: clamp(2.7rem, 13vw, 4rem);
    line-height: 0.92;
  }

  .portal-public-hero .lead {
    font-size: 0.96rem;
    line-height: 1.45;
  }

  .portal-public-hero .cluster {
    margin-top: 1.25rem;
  }

  .v2-hero__inner {
    padding-block: 2rem;
  }

  .v2-hero h1 {
    margin-block: 0.45rem 0.85rem;
    font-size: clamp(3.2rem, 16vw, 4.8rem);
  }

  .v2-hero .lead {
    font-size: 1rem;
    line-height: 1.42;
  }

  .guide-scenarios,
  .result-next,
  .start-result__heading,
  .start-review-gate {
    grid-template-columns: minmax(0, 1fr);
  }

  .start-form,
  .work-ledger__grid,
  .start-result__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .start-form__wide {
    grid-column: auto;
  }

  .work-ledger__heading {
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.75rem;
  }

  .flagship-case__facts div {
    grid-template-columns: minmax(0, 1fr);
  }

  .verified-external {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 25rem) {
  .v2-hero__inner {
    padding-block: 1.6rem 2rem;
  }

  .v2-hero .eyebrow {
    max-width: 28ch;
    font-size: 0.62rem;
  }

  .v2-hero h1 {
    font-size: clamp(2.9rem, 15.4vw, 3.8rem);
  }

  .v2-hero .lead {
    margin-bottom: 0;
    font-size: 0.94rem;
  }

  .v2-hero__actions {
    margin-top: 0.9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .device-stage .lab-preview {
    transition: none;
  }
}

/* Phase 3.1 marketability pass: page-specific composition without changing product logic. */

/* Home: keep the photographic opening, then vary the editorial rhythm and proof hierarchy. */
.v2-outcomes {
  position: relative;
  overflow: hidden;
}

.v2-outcomes::after {
  content: 'OUTCOME';
  position: absolute;
  right: -0.08em;
  bottom: -0.18em;
  z-index: 0;
  color: rgb(24 60 50 / 0.035);
  font:
    800 clamp(7rem, 19vw, 20rem) / 0.8 Arial,
    Helvetica,
    sans-serif;
  letter-spacing: -0.08em;
  pointer-events: none;
}

.v2-outcomes .container {
  position: relative;
  z-index: 1;
}

.v2-outcome-list li {
  transition:
    background-color 160ms ease,
    padding-inline 160ms ease;
}

.v2-outcome-list li:hover {
  padding-inline: 1rem;
  background: rgb(232 255 91 / 0.14);
}

.work-showcase {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 8%, rgb(232 255 91 / 0.12), transparent 24rem),
    linear-gradient(145deg, #07120f 0%, #0d211b 56%, #06100d 100%);
}

.work-showcase::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.3;
  background-image: linear-gradient(rgb(251 249 242 / 0.06) 1px, transparent 1px);
  background-size: 100% 5.5rem;
  pointer-events: none;
}

.work-showcase .container {
  position: relative;
}

.work-showcase .work-card {
  position: relative;
  border-color: rgb(251 249 242 / 0.18);
  background: rgb(251 249 242 / 0.055);
  box-shadow: 0 1.5rem 4rem rgb(0 0 0 / 0.14);
}

.work-showcase .work-card--featured {
  border-bottom: 0.45rem solid var(--v2-lime);
}

.work-showcase .work-card--featured > div:last-child {
  padding: clamp(1.5rem, 3vw, 2.4rem);
}

.work-card__meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.work-card__meta > span {
  color: var(--v2-lime);
  font:
    800 0.68rem/1 Arial,
    Helvetica,
    sans-serif;
  letter-spacing: 0.12em;
}

.work-card__meta .work-status {
  margin: 0;
  text-align: right;
}

.work-showcase .work-card h3 {
  margin-top: 1rem;
  font-size: clamp(2rem, 3.3vw, 4.2rem);
  line-height: 0.96;
}

.work-showcase .work-card:not(:first-child) h3 {
  font-size: clamp(1.6rem, 2vw, 2.4rem);
}

/* Websites: a dedicated sales composition instead of the generic interior-page template. */
.marketing-hero--websites {
  position: relative;
  min-height: 46rem;
  overflow: hidden;
  border-bottom: 0;
  background:
    radial-gradient(circle at 88% 12%, rgb(232 255 91 / 0.14), transparent 22rem),
    linear-gradient(135deg, #06100d 0%, #173d32 100%);
  color: var(--v2-cream);
}

.marketing-hero--websites::after {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.45;
  background-image:
    linear-gradient(rgb(251 249 242 / 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgb(251 249 242 / 0.055) 1px, transparent 1px);
  background-size: 5.5rem 5.5rem;
  mask-image: linear-gradient(90deg, transparent 30%, #000);
  pointer-events: none;
}

.marketing-hero--websites .page-hero-grid {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(0, 1.02fr) minmax(28rem, 0.98fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.marketing-hero--websites h1,
.marketing-hero--websites .breadcrumbs,
.marketing-hero--websites .breadcrumbs a {
  color: var(--v2-cream);
}

.marketing-hero--websites h1 {
  max-width: 11ch;
  font-size: clamp(4rem, 6.3vw, 7.2rem);
}

.marketing-hero--websites .eyebrow {
  color: var(--v2-lime);
}

.marketing-hero--websites .lead {
  max-width: 42rem;
  color: rgb(251 249 242 / 0.76);
  font-size: clamp(1.05rem, 1.45vw, 1.28rem);
}

.websites-hero-scene {
  position: relative;
  overflow: hidden;
  border: 1px solid rgb(251 249 242 / 0.45);
  background: var(--v2-cream);
  color: var(--v2-night);
  box-shadow: 0 3rem 8rem rgb(0 0 0 / 0.42);
  transform: rotate(1.15deg);
}

.websites-hero-scene::after {
  content: 'BPS / SYNTHETIC DIRECTION';
  position: absolute;
  right: -3.5rem;
  bottom: 5rem;
  color: rgb(7 18 15 / 0.1);
  font:
    900 2rem/1 Arial,
    Helvetica,
    sans-serif;
  letter-spacing: 0.08em;
  transform: rotate(-90deg);
}

.websites-hero-scene__chrome {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--v2-line-light);
  background: #e8e5db;
}

.websites-hero-scene__chrome i {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--v2-green);
}

.websites-hero-scene__chrome i:first-child {
  background: #d7583e;
}

.websites-hero-scene__chrome span {
  margin-left: auto;
  color: #526159;
  font-size: 0.65rem;
}

.websites-hero-scene__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.35rem;
  border-bottom: 1px solid var(--v2-line-light);
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
}

.websites-hero-scene__body {
  min-height: 25rem;
  display: grid;
  align-content: end;
  padding: clamp(2rem, 5vw, 4.3rem) clamp(1.5rem, 4vw, 3.4rem);
  background: linear-gradient(135deg, rgb(232 255 91 / 0.14), transparent 48%), var(--v2-cream);
}

.websites-hero-scene__body p {
  margin: 0;
  color: var(--v2-green);
  font-size: 0.66rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.11em;
}

.websites-hero-scene__body h2 {
  max-width: 9ch;
  margin: 0.8rem 0 1.8rem;
  color: var(--v2-night);
  font-size: clamp(2.8rem, 4.4vw, 5.1rem);
  line-height: 0.9;
}

.websites-hero-scene__body > span {
  color: #526159;
  font-size: 0.75rem;
}

.websites-hero-scene__action {
  display: flex;
  justify-content: space-between;
  padding: 1rem 1.35rem;
  background: var(--v2-lime);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.websites-outcome-strip {
  border-bottom: 1px solid var(--v2-line-dark);
  background: var(--v2-lime);
  color: var(--v2-night);
}

.websites-outcome-strip .container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-block: 0;
}

.websites-outcome-strip article {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.5rem;
  border-right: 1px solid rgb(7 18 15 / 0.22);
}

.websites-outcome-strip article:first-child {
  border-left: 1px solid rgb(7 18 15 / 0.22);
}

.websites-outcome-strip article > span {
  font:
    900 0.68rem/1 Arial,
    Helvetica,
    sans-serif;
}

.websites-outcome-strip strong {
  display: block;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.45rem;
}

.websites-outcome-strip p {
  margin: 0.4rem 0 0;
  font-size: 0.78rem;
  line-height: 1.4;
}

.page-section-list--websites .marketing-section {
  position: relative;
  overflow: hidden;
}

.page-section-list--websites .content-split {
  grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(3rem, 9vw, 9rem);
  align-items: start;
}

.page-section-list--websites h2 {
  max-width: 11ch;
  font-size: clamp(3rem, 5.5vw, 6.2rem);
  line-height: 0.92;
}

.page-section-list--websites .lead {
  max-width: 43rem;
  font-size: clamp(1.05rem, 1.4vw, 1.25rem);
}

.page-section-list--websites .check-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin-top: 2rem;
  border-top: 1px solid currentColor;
}

.page-section-list--websites .check-list li {
  min-height: 6rem;
  display: flex;
  align-items: center;
  padding: 1rem 1rem 1rem 1.75rem;
  border-bottom: 1px solid currentColor;
}

.page-section-list--websites .check-list li:nth-child(odd) {
  border-right: 1px solid currentColor;
}

.page-section-list--websites .marketing-section--2 {
  background-color: var(--v2-green) !important;
  background-image: radial-gradient(
    circle at 8% 90%,
    rgb(232 255 91 / 0.12),
    transparent 24rem
  ) !important;
  color: var(--v2-cream);
}

.page-section-list--websites .marketing-section--2 h2,
.page-section-list--websites .marketing-section--2 .lead {
  color: var(--v2-cream);
}

.page-section-list--websites .marketing-section--2 .content-split > div:first-child {
  grid-column: 2;
}

.page-section-list--websites .marketing-section--2 .content-split > div:last-child {
  grid-column: 1;
  grid-row: 1;
}

.page-section-list--websites .marketing-section--2 .section-index,
.page-section-list--websites .marketing-section--2 .check-list li::before {
  color: var(--v2-lime);
}

.page-section-list--websites .marketing-section--3::after {
  content: 'CLICK';
  position: absolute;
  right: -0.06em;
  bottom: -0.2em;
  color: rgb(24 60 50 / 0.045);
  font:
    900 clamp(8rem, 22vw, 22rem) / 0.8 Arial,
    Helvetica,
    sans-serif;
  letter-spacing: -0.08em;
  pointer-events: none;
}

.page-section-list--websites .marketing-section--3 .container {
  position: relative;
  z-index: 1;
}

/* Work: use editorial proof bands and deliberate feature hierarchy. */
.work-index-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 85% 15%, rgb(232 255 91 / 0.13), transparent 23rem), #06100d;
}

.work-index-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.38;
  background: repeating-linear-gradient(
    90deg,
    transparent 0,
    transparent calc(16.666% - 1px),
    rgb(251 249 242 / 0.07) calc(16.666% - 1px),
    rgb(251 249 242 / 0.07) 16.666%
  );
  pointer-events: none;
}

.work-index-hero__grid {
  position: relative;
  z-index: 1;
}

.work-index-hero__proof {
  display: grid;
  gap: 2rem;
}

.work-index-proof-counts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  border: solid rgb(251 249 242 / 0.22);
  border-width: 1px 0 0 1px;
}

.work-index-proof-counts div {
  padding: 1rem;
  border: solid rgb(251 249 242 / 0.22);
  border-width: 0 1px 1px 0;
}

.work-index-proof-counts dt {
  color: var(--v2-lime);
  font:
    800 clamp(2rem, 4vw, 3.5rem)/0.9 Georgia,
    'Times New Roman',
    serif;
}

.work-index-proof-counts dd {
  margin: 0.55rem 0 0;
  color: rgb(251 249 242 / 0.66);
  font-size: 0.68rem;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.flagship-case {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(
      90deg,
      transparent 0 49.95%,
      var(--v2-line-light) 49.95% 50.05%,
      transparent 50.05%
    ),
    var(--v2-cream);
}

.flagship-case__media {
  border: 0.75rem solid #fff;
  box-shadow: 0 2rem 5rem rgb(7 18 15 / 0.22);
}

.work-ledger__heading {
  margin-bottom: clamp(2.5rem, 5vw, 5rem);
}

.work-ledger__heading h2 {
  max-width: 17ch;
  font-size: clamp(2.8rem, 5vw, 5.7rem);
  line-height: 0.92;
}

.work-ledger--public {
  background: var(--v2-green);
  color: var(--v2-cream);
}

.work-ledger--public h2,
.work-ledger--public h3,
.work-ledger--public p {
  color: var(--v2-cream);
}

.work-ledger--public .eyebrow,
.work-ledger--public .work-ledger__heading > span,
.work-ledger--public a {
  color: var(--v2-lime);
}

.work-ledger--public .work-ledger__grid,
.work-ledger--reference .work-ledger__grid {
  grid-template-columns: minmax(0, 1fr);
}

.proof-card--public,
.proof-card--reference {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
  align-items: stretch;
}

.proof-card--public {
  border: 0;
  background: var(--v2-night);
  color: var(--v2-cream);
  box-shadow: 0 2.5rem 7rem rgb(0 0 0 / 0.26);
}

.proof-card--public h3,
.proof-card--public p {
  color: var(--v2-cream);
}

.proof-card--public .proof-card__media,
.proof-card--reference .proof-card__media {
  height: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border: 0;
}

.proof-card--public > div,
.proof-card--reference > div {
  display: grid;
  align-content: center;
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  padding: clamp(2rem, 5vw, 5rem);
}

.proof-card--public h3,
.proof-card--reference h3 {
  font-size: clamp(2.7rem, 5vw, 5.4rem);
  line-height: 0.92;
}

.work-ledger--systems {
  background: #e9e6dc !important;
}

.work-ledger--systems .work-ledger__grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(17rem, 0.75fr);
  grid-template-areas: 'first second' 'first third';
}

.work-ledger--systems .proof-card:nth-child(1) {
  grid-area: first;
}

.work-ledger--systems .proof-card:nth-child(2) {
  grid-area: second;
}

.work-ledger--systems .proof-card:nth-child(3) {
  grid-area: third;
}

.proof-card--system {
  display: grid;
  grid-template-columns: minmax(9rem, 0.8fr) minmax(0, 1.2fr);
  background: var(--v2-cream);
}

.proof-card--system:first-child {
  grid-template-columns: minmax(0, 1fr);
}

.proof-card--system:first-child h3 {
  font-size: clamp(2.4rem, 4vw, 4.7rem);
  line-height: 0.94;
}

.proof-card--system .proof-card__media {
  height: 100%;
  object-fit: cover;
}

.work-ledger--reference {
  background: linear-gradient(120deg, rgb(232 255 91 / 0.17), transparent 50%), var(--v2-paper);
}

.proof-card--reference {
  grid-template-columns: minmax(20rem, 0.72fr) minmax(0, 1.28fr);
  background: var(--v2-cream);
}

.work-ledger--demos .work-ledger__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border: solid var(--v2-line-dark);
  border-width: 1px 0 0 1px;
}

.work-ledger--demos .demo-proof-card {
  min-height: 17rem;
  display: grid;
  align-content: start;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-width: 0 1px 1px 0;
  background: transparent;
}

.work-ledger--demos .demo-proof-card:nth-child(2),
.work-ledger--demos .demo-proof-card:nth-child(3) {
  background: rgb(232 255 91 / 0.055);
}

.work-ledger--demos .demo-proof-card h3 {
  margin-top: auto;
  font-size: clamp(2rem, 3.2vw, 3.6rem);
  line-height: 0.95;
}

/* Capability Lab: a guided studio with the customer outcome inside the preview. */
.marketing-hero[data-page='capabilities'] {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 83% 35%, rgb(232 255 91 / 0.48), transparent 16rem), var(--v2-cream);
}

.marketing-hero[data-page='capabilities']::before {
  content: '';
  position: absolute;
  right: -10rem;
  bottom: -14rem;
  width: 42rem;
  height: 42rem;
  border: 1px solid rgb(24 60 50 / 0.18);
  border-radius: 50%;
  box-shadow:
    0 0 0 6rem rgb(24 60 50 / 0.035),
    0 0 0 12rem rgb(24 60 50 / 0.025);
}

.marketing-hero[data-page='capabilities'] .container {
  position: relative;
}

.capability-lab {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 10%, rgb(232 255 91 / 0.14), transparent 28rem),
    linear-gradient(150deg, #06100d, #12342b 68%, #07120f);
  color: var(--v2-cream);
}

.capability-lab::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.26;
  background-image: linear-gradient(rgb(251 249 242 / 0.07) 1px, transparent 1px);
  background-size: 100% 5.5rem;
  pointer-events: none;
}

.capability-lab > .container {
  position: relative;
}

.capability-lab .section-heading-row {
  align-items: end;
  margin-bottom: 2.5rem;
}

.capability-lab h2,
.capability-lab .lead {
  color: var(--v2-cream);
}

.capability-lab h2 {
  max-width: 14ch;
  font-size: clamp(3.3rem, 6.4vw, 7rem);
  line-height: 0.9;
}

.capability-lab .eyebrow,
.capability-lab .demo-badge {
  color: var(--v2-lime);
}

.lab-journey {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 clamp(2rem, 5vw, 4rem);
  padding: 0;
  border: solid var(--v2-line-dark);
  border-width: 1px 0 0 1px;
  list-style: none;
}

.lab-journey li {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.8rem;
  padding: 1.2rem;
  border: solid var(--v2-line-dark);
  border-width: 0 1px 1px 0;
}

.lab-journey li > span {
  color: var(--v2-lime);
  font-size: 0.68rem;
  font-weight: 900;
}

.lab-journey strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.35rem;
}

.lab-journey p {
  grid-column: 2;
  margin: 0;
  color: rgb(251 249 242 / 0.62);
  font-size: 0.76rem;
}

.capability-lab .lab-layout {
  grid-template-columns: minmax(18rem, 0.3fr) minmax(0, 0.7fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: start;
}

.capability-lab .lab-controls {
  padding: 1.35rem;
  border: 1px solid var(--v2-line-dark);
  border-top: 0.4rem solid var(--v2-lime);
  background: rgb(251 249 242 / 0.065);
  box-shadow: 0 1.5rem 4rem rgb(0 0 0 / 0.14);
}

.lab-controls__intro {
  display: grid;
  gap: 0.55rem;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid var(--v2-line-dark);
}

.lab-controls__intro span,
.lab-preview-column__heading span {
  color: var(--v2-lime);
  font-size: 0.65rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.09em;
}

.lab-controls__intro strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.45rem;
  line-height: 1.05;
}

.capability-lab .lab-controls > label,
.capability-lab .lab-controls fieldset {
  padding-top: 1.2rem;
  border-top: 1px solid var(--v2-line-dark);
}

.capability-lab .lab-controls > label:first-of-type {
  border-top: 0;
}

.capability-lab .lab-controls select,
.capability-lab .segmented label {
  border-color: rgb(251 249 242 / 0.35);
  background: #07120f;
}

.capability-lab .module-picks {
  grid-template-columns: minmax(0, 1fr);
}

.capability-lab .option {
  min-height: 2.5rem;
  margin: 0;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgb(251 249 242 / 0.12);
}

.lab-preview-column {
  min-width: 0;
}

.lab-preview-column__heading {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.8rem;
  color: rgb(251 249 242 / 0.62);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.capability-lab .device-stage {
  max-width: 100%;
  border: 0.55rem solid #020706;
  border-radius: 0.9rem;
  box-shadow: 0 3rem 8rem rgb(0 0 0 / 0.38);
}

.capability-lab .device-chrome {
  background: #020706;
}

.lab-preview .lab-hero {
  min-height: 24rem;
  align-content: center;
}

.lab-preview .lab-hero h3 {
  max-width: 14ch;
  font-size: clamp(3rem, 6.4vw, 6.8rem);
  line-height: 0.9;
}

.lab-hero__kicker {
  color: inherit;
  font-size: 0.66rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.lab-visual-direction {
  max-width: 44rem;
  font-size: 0.86rem;
  opacity: 0.78;
}

.lab-proof-plan {
  max-width: 44rem;
  padding-top: 1rem;
  border-top: 1px solid currentColor;
  font-size: 0.8rem;
}

.capability-lab .lab-module-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0 1rem;
  border: solid currentColor;
  border-width: 1px 0 0 1px;
}

.capability-lab .lab-module-grid article {
  min-height: 14rem;
  display: grid;
  align-content: start;
  border: solid currentColor;
  border-width: 0 1px 1px 0;
  background: transparent;
}

.capability-lab .lab-module-grid article:nth-child(3n + 1) {
  background: color-mix(in srgb, var(--lab-accent) 15%, transparent);
}

.capability-lab .lab-module-grid strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.5rem, 2.2vw, 2.4rem);
  line-height: 1;
}

.capability-lab .lab-action-detail {
  margin-top: 2rem;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.capability-lab > .container > .field__hint {
  margin: 1.2rem 0 0;
  color: rgb(251 249 242 / 0.62);
}

.page-section-list[data-page='capabilities'] .marketing-section {
  padding-block: clamp(4rem, 7vw, 7rem);
}

.page-section-list[data-page='capabilities'] .marketing-section h2 {
  max-width: 12ch;
  font-size: clamp(3rem, 5.2vw, 5.5rem);
  line-height: 0.94;
}

.capability-evidence {
  border-top: 0.45rem solid var(--v2-lime);
  background: var(--v2-paper) !important;
}

.capability-evidence h2 {
  max-width: 13ch;
  font-size: clamp(3rem, 5.3vw, 5.8rem);
  line-height: 0.92;
}

.capability-evidence > .container > .lead {
  max-width: 46rem;
}

.capability-details {
  margin-top: 2rem;
  border-block: 1px solid var(--v2-line-light);
}

.capability-details summary {
  min-height: 4.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  font-weight: 900;
}

.capability-details summary::after {
  content: '+';
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 1px solid var(--v2-green);
  border-radius: 50%;
  font-size: 1.2rem;
}

.capability-details[open] summary::after {
  content: '−';
}

.capability-details .table-wrap {
  margin-bottom: 2rem;
}

@media (max-width: 64rem) {
  .marketing-hero--websites {
    min-height: auto;
  }

  .marketing-hero--websites .page-hero-grid,
  .page-section-list--websites .content-split,
  .capability-lab .lab-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .websites-hero-scene {
    width: min(100%, 44rem);
  }

  .page-section-list--websites .marketing-section--2 .content-split > div:first-child,
  .page-section-list--websites .marketing-section--2 .content-split > div:last-child {
    grid-column: auto;
    grid-row: auto;
  }

  .work-index-hero__proof {
    max-width: 42rem;
  }

  .proof-card--public,
  .proof-card--reference,
  .work-ledger--systems .work-ledger__grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: none;
  }

  .work-ledger--systems .proof-card:nth-child(n) {
    grid-area: auto;
  }

  .proof-card--system {
    grid-template-columns: minmax(12rem, 0.7fr) minmax(0, 1.3fr);
  }

  .proof-card--public .proof-card__media,
  .proof-card--reference .proof-card__media {
    height: auto;
  }
}

@media (max-width: 48rem) {
  .v2-outcome-list li:hover {
    padding-inline: 0;
    background: transparent;
  }

  .work-card__meta {
    align-items: flex-start;
    flex-direction: column;
  }

  .work-card__meta .work-status {
    text-align: left;
  }

  .marketing-hero--websites {
    padding-block: 3.5rem;
  }

  .marketing-hero--websites h1 {
    font-size: clamp(3.15rem, 15vw, 5rem);
  }

  .websites-hero-scene {
    transform: none;
  }

  .websites-hero-scene__body {
    min-height: 20rem;
  }

  .websites-outcome-strip .container,
  .lab-journey,
  .work-index-proof-counts,
  .work-ledger--demos .work-ledger__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .websites-outcome-strip article,
  .websites-outcome-strip article:first-child {
    border-left: 1px solid rgb(7 18 15 / 0.22);
    border-bottom: 0;
  }

  .page-section-list--websites h2,
  .work-ledger__heading h2,
  .page-section-list[data-page='capabilities'] .marketing-section h2 {
    font-size: clamp(2.6rem, 12vw, 4.4rem);
  }

  .page-section-list--websites .check-list,
  .capability-lab .lab-module-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-section-list--websites .check-list li:nth-child(odd) {
    border-right: 0;
  }

  .proof-card--system {
    grid-template-columns: minmax(0, 1fr);
  }

  .capability-lab .section-heading-row {
    gap: 1.2rem;
  }

  .capability-lab h2 {
    font-size: clamp(3rem, 14vw, 5rem);
  }

  .lab-preview-column__heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .capability-lab .device-stage[data-device='desktop'],
  .capability-lab .device-stage[data-device='tablet'],
  .capability-lab .device-stage[data-device='mobile'] {
    max-width: 100%;
  }

  .lab-preview > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .lab-preview .lab-hero {
    min-height: 20rem;
  }

  .lab-preview .lab-hero h3 {
    font-size: clamp(2.7rem, 12vw, 4.4rem);
  }
}

@media (max-width: 25rem) {
  .work-ledger__heading {
    grid-template-columns: minmax(0, 1fr);
  }

  .work-ledger__heading h2 {
    font-size: clamp(2.25rem, 11vw, 3.4rem);
  }

  .flagship-case__media {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v2-outcome-list li,
  .websites-hero-scene {
    transition: none;
    transform: none;
  }
}

/* Phase 3.1 inviting studio pass.
   This layer deliberately softens the public sales surfaces without changing product logic. */

:root {
  --studio-ink: #10261f;
  --studio-forest: #173f34;
  --studio-moss: #527363;
  --studio-cream: #fbf8f0;
  --studio-sand: #efe8dc;
  --studio-clay: #d9c8b6;
  --studio-blush: #eadbd0;
  --studio-line: rgb(16 38 31 / 0.14);
  --studio-shadow: 0 1.8rem 5rem rgb(28 48 40 / 0.15);
  --studio-radius: clamp(1.5rem, 3vw, 3.25rem);
}

.v2-hero .action,
.marketing-hero--websites .action,
.work-index-hero .action,
.capability-lab .action {
  border-radius: 999px;
}

/* Home: warm editorial opening with an arched photograph and a quiet project note. */
.v2-hero {
  min-height: clamp(43rem, 84vh, 55rem);
  overflow: hidden;
  background:
    radial-gradient(circle at 5% 12%, rgb(217 200 182 / 0.58), transparent 24rem),
    var(--studio-cream);
  color: var(--studio-ink);
}

.v2-hero__photo {
  z-index: -2;
  inset: clamp(1.5rem, 3vw, 3rem) clamp(1.5rem, 4vw, 4.5rem) clamp(1.5rem, 3vw, 3rem) auto;
  width: min(53vw, 52rem);
  height: auto;
  overflow: hidden;
  border-radius: 18rem 18rem 2.5rem 2.5rem;
  box-shadow: var(--studio-shadow);
}

.v2-hero__photo img {
  object-position: 58% center;
  filter: saturate(0.88) contrast(0.94) brightness(1.08);
}

.v2-hero__veil {
  z-index: -1;
  background: linear-gradient(
    90deg,
    var(--studio-cream) 0%,
    rgb(251 248 240 / 0.98) 37%,
    rgb(251 248 240 / 0.6) 56%,
    transparent 76%
  );
}

.v2-hero::after {
  right: -12rem;
  bottom: -22rem;
  width: 40rem;
  height: 40rem;
  border-color: rgb(23 63 52 / 0.12);
  box-shadow:
    0 0 0 5rem rgb(23 63 52 / 0.025),
    0 0 0 10rem rgb(23 63 52 / 0.018);
}

.v2-hero__inner {
  grid-template-columns: minmax(0, 0.85fr) minmax(22rem, 0.7fr);
  align-items: center;
  padding-block: clamp(5rem, 9vw, 8rem);
}

.v2-hero__copy {
  z-index: 2;
  max-width: 43rem;
}

.v2-hero .eyebrow,
.v2-hero h1,
.v2-hero h1 em {
  color: var(--studio-ink);
}

.v2-hero h1 {
  font-size: clamp(4.4rem, 8vw, 8.2rem);
  line-height: 0.86;
}

.v2-hero h1 em {
  position: relative;
  display: inline-block;
}

.v2-hero h1 em::after {
  content: '';
  position: absolute;
  z-index: -1;
  right: -0.05em;
  bottom: 0.04em;
  left: -0.04em;
  height: 0.16em;
  border-radius: 999px;
  background: var(--v2-lime);
  transform: rotate(-1deg);
}

.v2-hero .lead {
  color: rgb(16 38 31 / 0.76);
}

.v2-hero .action--primary {
  box-shadow: 0 0.8rem 2rem rgb(73 93 41 / 0.18);
}

.v2-hero .action--glass {
  border-color: rgb(16 38 31 / 0.28);
  background: rgb(251 248 240 / 0.72);
  color: var(--studio-ink);
}

.v2-hero .action--glass:hover,
.v2-hero .action--glass:focus-visible {
  border-color: var(--studio-forest);
  background: var(--studio-forest);
  color: var(--studio-cream);
}

.v2-ownership {
  border: 0;
  color: rgb(16 38 31 / 0.68);
}

.v2-ownership li::before {
  color: var(--studio-forest);
}

.v2-product-board {
  align-self: end;
  margin: 0 0 1rem -4rem;
  overflow: visible;
  border: 0;
  border-radius: 2rem 2rem 2rem 0.5rem;
  background: rgb(251 248 240 / 0.94);
  box-shadow: 0 1.5rem 4rem rgb(16 38 31 / 0.2);
  color: var(--studio-ink);
  backdrop-filter: blur(1rem);
  transform: rotate(-1.25deg);
}

.v2-product-board__top,
.v2-product-board__footer {
  border-color: var(--studio-line);
}

.v2-product-board__top > strong {
  border-radius: 999px;
}

.v2-product-board__body {
  grid-template-columns: minmax(0, 1fr);
}

.v2-product-board__body > div > p,
.v2-product-board__footer a {
  color: var(--studio-forest);
}

.v2-product-board h2 {
  max-width: 15ch;
  color: var(--studio-ink);
}

.v2-product-board dl {
  display: none;
}

.v2-product-board__footer {
  color: rgb(16 38 31 / 0.65);
}

.v2-panorama {
  background:
    radial-gradient(circle at 92% 8%, rgb(217 200 182 / 0.4), transparent 19rem),
    var(--studio-cream);
}

.v2-panorama__figure {
  overflow: hidden;
  border-radius: 12rem 12rem 2.25rem 2.25rem;
  box-shadow: var(--studio-shadow);
}

.v2-panorama__figure figcaption {
  gap: 0.75rem;
  padding: 1rem clamp(1rem, 3vw, 2rem);
  background: var(--studio-cream);
  color: var(--studio-ink);
}

.v2-panorama__figure figcaption span {
  min-height: 2.75rem;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: var(--studio-sand);
}

.v2-panorama__figure figcaption b {
  color: var(--studio-forest);
}

.v2-outcomes,
.v2-solutions {
  background: var(--studio-cream);
}

.v2-outcomes::after {
  display: none;
}

.v2-outcome-list {
  border-top-color: var(--studio-line);
}

.v2-outcome-list li {
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  border-bottom-color: var(--studio-line);
}

.v2-outcome-list__number {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 50%;
  background: var(--studio-sand);
  color: var(--studio-forest);
}

.v2-outcome-list > li > strong {
  border: 0;
  border-radius: 999px;
  background: rgb(23 63 52 / 0.07);
}

.v2-outcome-list li:hover {
  padding-inline: 0;
  background: transparent;
}

.v2-audiences {
  background:
    radial-gradient(circle at 90% 15%, rgb(234 219 208 / 0.1), transparent 26rem),
    var(--studio-forest);
}

.v2-audiences::before {
  top: auto;
  right: -11rem;
  bottom: -16rem;
  width: 38rem;
  height: 38rem;
  border-color: rgb(251 248 240 / 0.16);
  box-shadow:
    0 0 0 5rem rgb(251 248 240 / 0.02),
    0 0 0 10rem rgb(251 248 240 / 0.015);
}

.v2-audience-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem clamp(1.5rem, 4vw, 4rem);
  border: 0;
}

.v2-audience-list article,
.v2-audience-list article:nth-child(2n),
.v2-audience-list article:nth-last-child(-n + 2) {
  min-height: 12rem;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.7rem;
  padding: 1.5rem 0;
  border: 0;
  border-bottom: 1px solid rgb(251 248 240 / 0.18);
}

.v2-audience-list article > span {
  display: grid;
  width: 2.6rem;
  height: 2.6rem;
  place-items: center;
  border-radius: 50%;
  background: rgb(251 248 240 / 0.09);
}

.v2-audience-list article:hover {
  background: transparent;
}

.v2-audience-list h3 {
  max-width: 13ch;
  font-size: clamp(1.8rem, 2.7vw, 2.8rem);
}

.v2-audience-actions {
  gap: 0.55rem 1rem;
}

.v2-audience-actions a {
  color: var(--studio-cream);
  text-decoration-color: rgb(232 255 91 / 0.52);
  text-underline-offset: 0.3em;
}

.v2-solution-stories {
  gap: clamp(5rem, 9vw, 9rem);
}

.v2-solution-stories > article {
  min-height: 30rem;
  grid-template-columns: minmax(0, 0.8fr) minmax(25rem, 1.2fr);
  gap: clamp(2rem, 7vw, 7rem);
  overflow: visible;
  border: 0;
  background: transparent;
}

.v2-solution-stories__copy {
  padding: clamp(1rem, 3vw, 2.5rem) 0;
}

.v2-solution-stories h3 {
  margin-top: 1.2rem;
}

.v2-ui-scene {
  min-height: 33rem;
  overflow: hidden;
  border-radius: 14rem 14rem 2.5rem 2.5rem;
  background-color: var(--studio-forest);
  background-image:
    linear-gradient(0deg, rgb(10 31 25 / 0.72), rgb(10 31 25 / 0.16)),
    url('assets/bps-local-business-triptych-v2-2172.webp');
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: var(--studio-shadow);
}

.v2-ui-scene--presence {
  background-position: left center;
}

.v2-ui-scene--action {
  background-position: center center;
}

.v2-ui-scene--return {
  background-position: right center;
}

.v2-ui-scene::before {
  display: none;
}

.v2-ui-scene--presence > div,
.v2-ui-scene--return > div {
  border: 0;
  border-radius: 1.25rem;
  background: rgb(16 38 31 / 0.82);
  backdrop-filter: blur(0.55rem);
}

.v2-ui-scene--presence > div {
  border-left: 0;
}

.v2-ui-scene--presence li {
  border: 0;
  border-radius: 999px;
  background: rgb(251 248 240 / 0.12);
}

.v2-ui-scene--action button {
  border-radius: 999px;
}

/* Selected work on the homepage: fewer hard frames, more image-led rhythm. */
.work-showcase {
  background:
    radial-gradient(circle at 92% 6%, rgb(217 200 182 / 0.09), transparent 24rem),
    var(--studio-forest);
}

.work-showcase::before {
  display: none;
}

.work-showcase .work-grid {
  gap: clamp(2rem, 4vw, 4rem);
}

.work-showcase .work-card,
.work-showcase .work-card--featured {
  overflow: visible;
  border: 0;
  border-bottom: 0;
  background: transparent;
  box-shadow: none;
}

.work-showcase .work-card .work-media {
  overflow: hidden;
  border-radius: 9rem 9rem 1.5rem 1.5rem;
  background: rgb(251 248 240 / 0.08);
}

.work-showcase .work-card > div:last-child,
.work-showcase .work-card--featured > div:last-child {
  padding: 1.4rem 0 0;
}

.work-showcase .work-card:not(:first-child) {
  display: block;
}

.work-showcase .work-card:not(:first-child) .work-media {
  height: auto;
  aspect-ratio: 3 / 2;
}

.work-card__meta {
  align-items: center;
}

/* Process: a human planning moment beside a quiet three-step narrative. */
.v2-process {
  background:
    radial-gradient(circle at 8% 92%, rgb(217 200 182 / 0.09), transparent 24rem),
    var(--studio-forest);
}

.v2-process::before {
  display: none;
}

.v2-process > .container {
  display: grid;
  grid-template-columns: minmax(20rem, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: center;
}

.v2-process .v2-section-lead {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.v3-process-photo {
  position: relative;
  margin: 0;
}

.v3-process-photo .media {
  overflow: hidden;
  border-radius: 12rem 12rem 1.5rem 1.5rem;
  box-shadow: 0 2rem 5rem rgb(0 0 0 / 0.24);
}

.v3-process-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.v3-process-photo figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  background: rgb(251 248 240 / 0.9);
  color: var(--studio-ink);
  font-size: 0.62rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.v2-process li {
  grid-template-columns: 3rem minmax(0, 1fr);
  border-top-color: rgb(251 248 240 / 0.16);
}

.v2-process li:last-child {
  border-bottom-color: rgb(251 248 240 / 0.16);
}

.v2-process li > span {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 50%;
  background: rgb(251 248 240 / 0.1);
}

.v2-portal-teaser {
  background:
    radial-gradient(circle at 85% 20%, rgb(232 255 91 / 0.16), transparent 22rem),
    var(--studio-sand);
}

.v2-mini-dashboard {
  overflow: hidden;
  border-radius: 2.5rem 2.5rem 2.5rem 0.5rem;
  box-shadow: var(--studio-shadow);
  transform: rotate(0.5deg);
}

.v2-mini-dashboard li {
  border-color: rgb(251 248 240 / 0.14);
}

.v2-final-cta {
  position: relative;
  overflow: hidden;
  background: var(--studio-cream);
}

.v2-final-cta::before {
  content: '';
  position: absolute;
  top: -14rem;
  left: 50%;
  width: 35rem;
  height: 24rem;
  border-radius: 0 0 50% 50%;
  background: rgb(217 200 182 / 0.22);
  transform: translateX(-50%);
}

.v2-final-cta .container {
  position: relative;
}

/* Websites: replace the browser mockup with a human first-impression story. */
.marketing-hero--websites {
  min-height: 47rem;
  background:
    radial-gradient(circle at 4% 8%, rgb(217 200 182 / 0.46), transparent 24rem),
    var(--studio-cream);
  color: var(--studio-ink);
}

.marketing-hero--websites::after {
  display: none;
}

.marketing-hero--websites .page-hero-grid {
  grid-template-columns: minmax(0, 0.92fr) minmax(27rem, 0.78fr);
  gap: clamp(3rem, 7vw, 7rem);
}

.marketing-hero--websites h1,
.marketing-hero--websites .breadcrumbs,
.marketing-hero--websites .breadcrumbs a {
  color: var(--studio-ink);
}

.marketing-hero--websites .eyebrow {
  color: var(--studio-forest);
}

.marketing-hero--websites .lead {
  color: rgb(16 38 31 / 0.72);
}

.websites-hero-scene {
  position: relative;
  overflow: visible;
  border: 0;
  border-radius: 14rem 14rem 2.5rem 2.5rem;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.websites-hero-scene::after {
  display: none;
}

.websites-hero-scene .media {
  overflow: hidden;
  border-radius: inherit;
  box-shadow: var(--studio-shadow);
}

.websites-hero-scene .media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 52% center;
}

.websites-hero-scene__story {
  position: absolute;
  right: -1rem;
  bottom: 2rem;
  width: min(22rem, 72%);
  padding: 1.4rem 1.5rem;
  border-radius: 1.5rem 1.5rem 1.5rem 0.35rem;
  background: rgb(251 248 240 / 0.94);
  box-shadow: 0 1.2rem 3rem rgb(16 38 31 / 0.2);
  backdrop-filter: blur(0.8rem);
}

.websites-hero-scene__story span {
  color: var(--studio-moss);
  font-size: 0.62rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.09em;
}

.websites-hero-scene__story strong {
  display: block;
  margin-top: 0.65rem;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.45rem, 2.6vw, 2.4rem);
  line-height: 1;
}

.websites-hero-scene__story p {
  margin: 0.65rem 0 0;
  color: rgb(16 38 31 / 0.66);
  font-size: 0.78rem;
}

.websites-outcome-strip {
  border: 0;
  background: var(--studio-sand);
}

.websites-outcome-strip .container {
  gap: clamp(1rem, 4vw, 4rem);
  padding-block: 1rem;
}

.websites-outcome-strip article,
.websites-outcome-strip article:first-child {
  align-items: center;
  border: 0;
  border-radius: 999px;
  background: rgb(251 248 240 / 0.52);
}

.websites-outcome-strip article > span {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 50%;
  background: var(--studio-forest);
  color: var(--studio-cream);
}

.page-section-list--websites .marketing-section {
  overflow: hidden;
  background: var(--studio-cream) !important;
}

.page-section-list--websites .marketing-section--2 {
  background:
    radial-gradient(circle at 92% 82%, rgb(234 219 208 / 0.1), transparent 26rem),
    var(--studio-forest) !important;
}

.page-section-list--websites .marketing-section--3::after {
  display: none;
}

.page-section-list--websites .content-split {
  grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.08fr);
}

.page-section-list--websites .check-list {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.9rem;
  border: 0;
}

.page-section-list--websites .check-list li,
.page-section-list--websites .check-list li:nth-child(odd) {
  min-height: auto;
  padding: 0.85rem 1rem 0.85rem 3rem;
  border: 0;
  border-radius: 999px;
  background: rgb(23 63 52 / 0.06);
}

.page-section-list--websites .check-list li::before {
  left: 1rem;
}

.page-section-list--websites .marketing-section--2 .check-list li {
  background: rgb(251 248 240 / 0.08);
}

/* Work: lead with a human planning image, then let each evidence class breathe. */
.work-index-hero {
  background:
    radial-gradient(circle at 5% 9%, rgb(217 200 182 / 0.48), transparent 24rem),
    var(--studio-cream);
  color: var(--studio-ink);
}

.work-index-hero::after {
  display: none;
}

.work-index-hero__grid {
  grid-template-columns: minmax(0, 0.82fr) minmax(25rem, 0.78fr);
  align-items: center;
}

.work-index-hero h1,
.work-index-hero .eyebrow,
.work-index-hero .lead {
  color: var(--studio-ink);
}

.work-index-hero h1 {
  max-width: 10ch;
  font-size: clamp(4.1rem, 7.4vw, 7.4rem);
  line-height: 0.88;
}

.work-index-hero__proof {
  gap: 1.5rem;
}

.work-index-hero__image {
  position: relative;
  margin: 0;
}

.work-index-hero__image .media {
  overflow: hidden;
  border-radius: 12rem 12rem 1.75rem 1.75rem;
  box-shadow: var(--studio-shadow);
}

.work-index-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.work-index-hero__image figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  background: rgb(251 248 240 / 0.92);
  color: var(--studio-ink);
  font-size: 0.58rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.work-index-proof-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  border: 0;
}

.work-index-proof-counts div {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.6rem 0.85rem;
  border: 0;
  border-radius: 999px;
  background: var(--studio-sand);
}

.work-index-proof-counts dt {
  color: var(--studio-forest);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.4rem;
}

.work-index-proof-counts dd {
  margin: 0;
  color: rgb(16 38 31 / 0.66);
}

.flagship-case {
  background: var(--studio-cream);
}

.flagship-case__grid {
  gap: clamp(3rem, 9vw, 9rem);
}

.flagship-case__media {
  border: 0;
  border-radius: 12rem 12rem 1.5rem 1.5rem;
  box-shadow: var(--studio-shadow);
}

.flagship-case__facts div {
  border-color: var(--studio-line);
}

.work-ledger__heading {
  gap: clamp(1rem, 3vw, 2.5rem);
}

.work-ledger__heading > span {
  display: grid;
  width: 2.8rem;
  height: 2.8rem;
  place-items: center;
  border-radius: 50%;
  background: var(--studio-sand);
  color: var(--studio-forest);
}

.work-ledger--public .work-ledger__heading > span,
.work-ledger--demos .work-ledger__heading > span {
  background: var(--studio-sand);
  color: var(--studio-ink);
}

.work-ledger--public {
  background: var(--studio-forest);
}

.proof-card--public,
.proof-card--reference,
.proof-card--system {
  gap: clamp(2rem, 6vw, 6rem);
  border: 0;
  background: transparent;
  box-shadow: none;
}

.proof-card--public .proof-card__media,
.proof-card--reference .proof-card__media,
.proof-card--system .proof-card__media {
  overflow: hidden;
  border-radius: 10rem 10rem 1.5rem 1.5rem;
}

.proof-card--public > div,
.proof-card--reference > div {
  padding: clamp(1rem, 3vw, 2.5rem) 0;
}

.work-ledger--systems {
  background: var(--studio-sand) !important;
}

.work-ledger--systems .work-ledger__grid {
  gap: clamp(2rem, 5vw, 5rem);
}

.proof-card--system > div {
  padding: 1rem 0;
}

.work-ledger--reference {
  background:
    radial-gradient(circle at 90% 14%, rgb(217 200 182 / 0.42), transparent 23rem),
    var(--studio-cream);
}

.work-ledger--demos {
  background: var(--studio-ink);
}

.work-ledger--demos .work-ledger__grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  border: 0;
}

.work-ledger--demos .demo-proof-card,
.work-ledger--demos .demo-proof-card:nth-child(2),
.work-ledger--demos .demo-proof-card:nth-child(3) {
  min-height: auto;
  display: grid;
  grid-template-columns: minmax(13rem, 0.45fr) minmax(0, 0.35fr) auto;
  gap: clamp(1rem, 4vw, 4rem);
  align-items: center;
  padding: 1.8rem 0;
  border: 0;
  border-bottom: 1px solid rgb(251 248 240 / 0.16);
  background: transparent;
}

.work-ledger--demos .demo-proof-card h3 {
  margin: 0;
  font-size: clamp(2rem, 3.2vw, 3.5rem);
}

.work-ledger--demos .demo-proof-card p {
  margin: 0;
}

.work-ledger--demos .demo-proof-card .work-status {
  grid-column: 1 / -1;
}

/* Capability Lab: a warm studio rather than a dark configuration console. */
.marketing-hero[data-page='capabilities'] {
  background:
    radial-gradient(circle at 88% 34%, rgb(217 200 182 / 0.58), transparent 20rem),
    var(--studio-cream);
}

.marketing-hero[data-page='capabilities']::before {
  border-color: rgb(23 63 52 / 0.12);
  box-shadow:
    0 0 0 5rem rgb(23 63 52 / 0.025),
    0 0 0 10rem rgb(23 63 52 / 0.018);
}

.marketing-hero[data-page='capabilities'] .ownership-promise {
  border: 0;
  border-radius: 2rem 2rem 2rem 0.45rem;
  background: var(--studio-forest);
  box-shadow: var(--studio-shadow);
}

.page-section-list[data-page='capabilities'] .marketing-section {
  background: var(--studio-cream) !important;
}

.page-section-list[data-page='capabilities'] .marketing-section:nth-child(even) {
  background: var(--studio-sand) !important;
}

.page-section-list[data-page='capabilities'] .check-list {
  border: 0;
}

.page-section-list[data-page='capabilities'] .check-list li {
  border-bottom-color: var(--studio-line);
}

.capability-lab {
  background:
    radial-gradient(circle at 96% 8%, rgb(23 63 52 / 0.1), transparent 28rem),
    radial-gradient(circle at 2% 88%, rgb(217 200 182 / 0.56), transparent 24rem),
    var(--studio-sand);
  color: var(--studio-ink);
}

.capability-lab::before {
  display: none;
}

.capability-lab h2,
.capability-lab .lead {
  color: var(--studio-ink);
}

.capability-lab .lead {
  max-width: 45rem;
}

.capability-lab .eyebrow,
.capability-lab .demo-badge {
  color: var(--studio-forest);
}

.capability-lab .demo-badge {
  padding: 0.55rem 0.8rem;
  border-radius: 999px;
  background: rgb(23 63 52 / 0.08);
}

.lab-journey {
  gap: clamp(1rem, 3vw, 2.5rem);
  border: 0;
}

.lab-journey li {
  grid-template-columns: 2.8rem minmax(0, 1fr);
  padding: 0;
  border: 0;
}

.lab-journey li > span {
  display: grid;
  width: 2.6rem;
  height: 2.6rem;
  place-items: center;
  border-radius: 50%;
  background: var(--studio-forest);
  color: var(--studio-cream);
}

.lab-journey p {
  color: rgb(16 38 31 / 0.62);
}

.capability-lab .lab-layout {
  grid-template-columns: minmax(18rem, 0.28fr) minmax(0, 0.72fr);
  gap: clamp(2rem, 5vw, 5rem);
}

.capability-lab .lab-controls {
  padding: clamp(1.4rem, 3vw, 2rem);
  border: 0;
  border-radius: 2.5rem 2.5rem 2.5rem 0.5rem;
  background: rgb(251 248 240 / 0.88);
  box-shadow: 0 1.5rem 4rem rgb(16 38 31 / 0.11);
  color: var(--studio-ink);
}

.lab-controls__intro {
  border-bottom-color: var(--studio-line);
}

.lab-controls__intro span,
.lab-preview-column__heading span {
  color: var(--studio-forest);
}

.capability-lab .lab-controls > label,
.capability-lab .lab-controls fieldset {
  border-top-color: var(--studio-line);
}

.capability-lab .lab-controls select,
.capability-lab .segmented label {
  border-color: var(--studio-line);
  border-radius: 999px;
  background: var(--studio-sand);
  color: var(--studio-ink);
}

.capability-lab .segmented label:has(input:checked) {
  background: var(--studio-forest);
  color: var(--studio-cream);
}

.capability-lab .option {
  border-bottom-color: var(--studio-line);
}

.capability-lab input[type='checkbox'] {
  accent-color: var(--studio-forest);
}

.lab-preview-column__heading {
  color: rgb(16 38 31 / 0.62);
}

.capability-lab .device-stage {
  border: 0.65rem solid var(--studio-ink);
  border-radius: 2.5rem;
  box-shadow: var(--studio-shadow);
}

.capability-lab .device-chrome {
  background: var(--studio-ink);
}

.capability-lab .lab-module-grid {
  gap: 1rem;
  margin: 1rem;
  border: 0;
}

.capability-lab .lab-module-grid article,
.capability-lab .lab-module-grid article:nth-child(3n + 1) {
  min-height: 13rem;
  border: 0;
  border-radius: 1.25rem;
  background: color-mix(in srgb, var(--lab-accent) 9%, white);
}

.capability-lab .lab-action-detail {
  border-radius: 1.25rem;
}

.capability-lab > .container > .field__hint {
  color: rgb(16 38 31 / 0.62);
}

.capability-evidence {
  border: 0;
  background: var(--studio-cream) !important;
}

.capability-details {
  border-color: var(--studio-line);
}

@media (max-width: 64rem) {
  .v2-hero__photo {
    inset: 1.5rem 1.5rem 1.5rem auto;
    width: 58%;
  }

  .v2-hero__inner {
    grid-template-columns: minmax(0, 0.95fr) minmax(18rem, 0.55fr);
  }

  .v2-product-board {
    margin-left: -2.5rem;
  }

  .v2-audience-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-process > .container {
    grid-template-columns: minmax(16rem, 0.8fr) minmax(0, 1.2fr);
  }

  .marketing-hero--websites .page-hero-grid,
  .page-section-list--websites .content-split,
  .work-index-hero__grid,
  .capability-lab .lab-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .websites-hero-scene {
    width: min(90%, 43rem);
    margin-inline: auto;
  }

  .work-index-hero__image {
    max-width: 44rem;
  }
}

@media (max-width: 48rem) {
  .v2-hero {
    min-height: 41rem;
  }

  .v2-hero__inner {
    display: block;
    padding-block: 4.25rem 3rem;
  }

  .v2-hero__photo {
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
    opacity: 0.24;
    box-shadow: none;
  }

  .v2-hero__photo img {
    object-position: 66% center;
    filter: saturate(0.65) brightness(1.22);
  }

  .v2-hero__veil {
    background: linear-gradient(
      180deg,
      rgb(251 248 240 / 0.82),
      rgb(251 248 240 / 0.92) 60%,
      var(--studio-cream)
    );
  }

  .v2-hero h1 {
    max-width: 8ch;
    font-size: clamp(3.55rem, 18vw, 5.2rem);
  }

  .v2-hero .lead {
    max-width: 31rem;
  }

  .v2-product-board {
    display: none;
  }

  .v2-panorama__figure {
    border-radius: 8rem 8rem 1.5rem 1.5rem;
  }

  .v2-panorama__figure figcaption {
    display: flex;
    flex-wrap: wrap;
  }

  .v2-panorama__figure figcaption span,
  .v2-panorama__figure figcaption span:last-child {
    min-height: 2.5rem;
    border: 0;
  }

  .v2-outcome-list li {
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }

  .v2-outcome-list > li > strong {
    grid-column: 2;
    justify-self: start;
  }

  .v2-audience-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-audience-list article,
  .v2-audience-list article:nth-child(2n),
  .v2-audience-list article:nth-last-child(-n + 2) {
    min-height: auto;
    border-bottom: 1px solid rgb(251 248 240 / 0.18);
  }

  .v2-solution-stories {
    gap: 5rem;
  }

  .v2-solution-stories > article {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }

  .v2-solution-stories > article:nth-child(even) .v2-solution-stories__copy {
    order: 0;
  }

  .v2-ui-scene {
    min-height: 27rem;
    border-radius: 8rem 8rem 1.5rem 1.5rem;
  }

  .work-showcase .work-card .work-media {
    border-radius: 7rem 7rem 1.25rem 1.25rem;
  }

  .v2-process > .container {
    grid-template-columns: minmax(0, 1fr);
  }

  .v3-process-photo .media {
    border-radius: 8rem 8rem 1.25rem 1.25rem;
  }

  .v2-portal-teaser__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .marketing-hero--websites {
    padding-block: 3.5rem 5rem;
  }

  .websites-hero-scene {
    width: 92%;
    margin-top: 1rem;
    border-radius: 8rem 8rem 1.5rem 1.5rem;
  }

  .websites-hero-scene__story {
    right: -4%;
    bottom: -2.5rem;
    width: 82%;
  }

  .websites-outcome-strip .container {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.6rem;
    padding-block: 2rem;
  }

  .websites-outcome-strip article,
  .websites-outcome-strip article:first-child {
    border: 0;
  }

  .page-section-list--websites .check-list li,
  .page-section-list--websites .check-list li:nth-child(odd) {
    border: 0;
  }

  .work-index-hero h1 {
    font-size: clamp(3.3rem, 15vw, 5rem);
  }

  .work-index-hero__image .media,
  .flagship-case__media,
  .proof-card--public .proof-card__media,
  .proof-card--reference .proof-card__media,
  .proof-card--system .proof-card__media {
    border-radius: 7rem 7rem 1.25rem 1.25rem;
  }

  .work-index-proof-counts {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .proof-card--public,
  .proof-card--reference,
  .proof-card--system {
    grid-template-columns: minmax(0, 1fr);
  }

  .work-ledger--demos .demo-proof-card,
  .work-ledger--demos .demo-proof-card:nth-child(2),
  .work-ledger--demos .demo-proof-card:nth-child(3) {
    grid-template-columns: minmax(0, 1fr);
  }

  .capability-lab .section-heading-row {
    align-items: flex-start;
  }

  .lab-journey {
    grid-template-columns: minmax(0, 1fr);
  }

  .capability-lab .lab-controls {
    border-radius: 2rem 2rem 2rem 0.4rem;
  }

  .capability-lab .device-stage {
    border-width: 0.45rem;
    border-radius: 1.5rem;
  }
}

@media (max-width: 25rem) {
  .v2-hero__inner {
    padding-block: 2rem 1.5rem;
  }

  .v2-hero h1 {
    margin-block: 0.35rem 0.8rem;
  }

  .v2-hero .lead {
    font-size: 0.92rem;
    line-height: 1.42;
  }

  .v2-hero__actions {
    margin-top: 1rem;
  }

  .v2-ownership {
    margin-top: 1rem;
    padding-top: 0;
  }

  .v2-hero h1,
  .work-index-hero h1,
  .marketing-hero--websites h1,
  .capability-lab h2 {
    font-size: clamp(2.9rem, 15vw, 4rem);
  }

  .websites-hero-scene__story {
    right: 0;
    width: 92%;
  }

  .work-index-hero__image figcaption,
  .v3-process-photo figcaption {
    position: static;
    display: inline-block;
    margin-top: 0.65rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v2-product-board,
  .v2-hero__photo img,
  .v2-panorama__figure img,
  .v3-process-photo img,
  .work-index-hero__image img {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* Phase 3.1 clean editorial pass.
   Composition, scale, whitespace, and proof establish the visual system; chrome does not. */

:root {
  --editorial-ink: #10261f;
  --editorial-forest: #173f34;
  --editorial-cream: #fbf8f0;
  --editorial-paper: #f0ece3;
  --editorial-line: rgb(16 38 31 / 0.2);
}

/* Shared public language: square actions, quiet labels, and no decorative pill system. */
.v2-hero .action,
.marketing-hero--websites .action,
.work-index-hero .action,
.capability-lab .action,
.websites-outcome-strip article,
.page-section-list--websites .check-list li,
.v2-outcome-list > li > strong,
.work-index-proof-counts div,
.capability-lab .demo-badge,
.capability-lab .lab-controls select,
.capability-lab .segmented label {
  border-radius: 0;
}

.v2-outcome-list__number,
.v2-audience-list article > span,
.v2-process li > span,
.work-ledger__heading > span,
.lab-journey li > span,
.websites-outcome-strip article > span {
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
}

/* Home hero: one proposition and one dominant image, with almost no interface chrome. */
.v2-hero {
  min-height: clamp(42rem, 82vh, 56rem);
  background: var(--editorial-cream);
}

.v2-hero__inner {
  grid-template-columns: minmax(0, 0.82fr) minmax(26rem, 1.18fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  padding-block: clamp(5rem, 8vw, 8rem);
}

.v2-hero__photo {
  inset: 0 0 0 auto;
  width: 56%;
  height: 100%;
  border-radius: 0;
  box-shadow: none;
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
}

.v2-hero__photo img {
  filter: saturate(0.88) contrast(0.96) brightness(1.03);
}

.v2-hero__veil {
  background: linear-gradient(
    90deg,
    var(--editorial-cream) 0%,
    var(--editorial-cream) 39%,
    rgb(251 248 240 / 0.68) 53%,
    transparent 72%
  );
}

.v2-hero::after {
  display: none;
}

.v2-hero h1 {
  max-width: 8ch;
  margin-block: 0.7rem 1.4rem;
  font-size: clamp(4.4rem, 8vw, 8.5rem);
  line-height: 0.83;
}

.v2-hero h1 em::after {
  height: 0.08em;
  border-radius: 0;
}

.v2-hero__actions {
  margin-top: 1.6rem;
}

.v2-hero .action--glass {
  border: 0;
  border-bottom: 1px solid var(--editorial-ink);
  padding-inline: 0.2rem;
  background: transparent;
  backdrop-filter: none;
}

.v2-ownership {
  gap: 0;
  margin-top: 2.5rem;
  padding: 1rem 0 0;
  border-top: 1px solid var(--editorial-line);
}

.v2-ownership li {
  padding-right: 1.25rem;
}

.v2-ownership li::before {
  content: '—';
  margin-right: 0.4rem;
  font-size: inherit;
}

.editorial-hero-note {
  position: absolute;
  z-index: 2;
  right: clamp(2rem, 5vw, 5.5rem);
  bottom: clamp(2rem, 5vw, 4.5rem);
  display: grid;
  width: min(25rem, 31vw);
  gap: 0.5rem;
  padding-left: 1.2rem;
  border-left: 0.22rem solid var(--v2-lime);
  color: white;
  text-shadow: 0 0.1rem 1.2rem rgb(0 0 0 / 0.5);
}

.editorial-hero-note span {
  font-size: 0.65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.editorial-hero-note strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.7rem, 3vw, 3.1rem);
  line-height: 0.98;
}

.editorial-hero-note a {
  width: fit-content;
  color: white;
  font-size: 0.78rem;
  font-weight: 800;
  text-underline-offset: 0.35em;
}

/* A full-width image break, followed immediately by actual work. */
.v2-panorama {
  padding-bottom: 0;
  background: var(--editorial-cream);
}

.v2-panorama__intro {
  max-width: 72rem;
}

.v2-panorama__figure {
  width: min(94vw, 100rem);
  margin-inline: 50%;
  overflow: visible;
  border-radius: 0;
  box-shadow: none;
  transform: translateX(-50%);
}

.v2-panorama__figure .media {
  height: clamp(25rem, 48vw, 46rem);
  min-height: clamp(25rem, 48vw, 46rem);
  aspect-ratio: auto !important;
}

.v2-panorama__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.v2-panorama__figure figcaption {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  background: var(--editorial-cream);
}

.v2-panorama__figure figcaption span,
.v2-panorama__figure figcaption span:last-child {
  min-height: 4rem;
  justify-content: flex-start;
  padding-inline: clamp(1rem, 3vw, 2.5rem);
  border: 0;
  border-right: 1px solid var(--editorial-line);
  border-radius: 0;
  background: transparent;
}

.v2-panorama__figure figcaption span:last-child {
  border-right: 0;
}

/* Early work: an asymmetric visual field instead of cards. */
.work-showcase {
  background: var(--editorial-cream);
  color: var(--editorial-ink);
}

.work-showcase .section-heading-row h2,
.work-showcase .lead,
.work-showcase .work-card h3,
.work-showcase .work-card p {
  color: var(--editorial-ink);
}

.work-showcase .eyebrow,
.work-showcase .text-link,
.work-showcase .work-card__link {
  color: var(--editorial-forest);
}

.work-showcase .work-grid {
  grid-template-columns: minmax(0, 1.5fr) minmax(15rem, 0.5fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.work-showcase .work-card {
  display: block;
  border: 0;
}

.work-showcase .work-card:first-child {
  grid-row: span 2;
}

.work-showcase .work-card:nth-child(2) {
  margin-top: clamp(4rem, 12vw, 12rem);
}

.work-showcase .work-card:nth-child(3) {
  width: 120%;
  margin-left: -20%;
}

.work-showcase .work-card .work-media {
  border-radius: 0;
  background: var(--editorial-paper);
}

.work-showcase .work-card:first-child .work-media {
  aspect-ratio: 5 / 4;
}

.work-showcase .work-card > div:last-child,
.work-showcase .work-card--featured > div:last-child {
  padding-top: 1rem;
}

.work-showcase .work-card__meta > span {
  color: var(--editorial-forest);
}

.work-showcase .work-status {
  color: rgb(16 38 31 / 0.6);
}

/* Customer outcomes and audiences become simple editorial indexes. */
.v2-outcomes {
  background: var(--editorial-paper);
}

.v2-outcome-list li {
  grid-template-columns: 3rem minmax(0, 1fr) minmax(8rem, auto);
  padding-block: clamp(1.5rem, 3vw, 2.5rem);
}

.v2-outcome-list__number {
  align-self: start;
  padding-top: 0.45rem;
  color: var(--editorial-forest);
}

.v2-outcome-list > li > strong {
  padding: 0;
  background: transparent;
  text-align: right;
}

.v2-audiences {
  background: var(--editorial-cream);
  color: var(--editorial-ink);
}

.v2-audiences::before {
  display: none;
}

.v2-audiences .v2-section-lead--light h2,
.v2-audiences .v2-section-lead--light > p:last-child,
.v2-audience-list h3,
.v2-audience-list p {
  color: var(--editorial-ink);
}

.v2-audiences .v2-section-lead--light .eyebrow {
  color: var(--editorial-forest);
}

.v2-audience-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(3rem, 9vw, 9rem);
}

.v2-audience-list article,
.v2-audience-list article:nth-child(2n),
.v2-audience-list article:nth-last-child(-n + 2) {
  min-height: 0;
  grid-template-columns: 2rem minmax(0, 1fr);
  padding: 1.8rem 0;
  border-bottom: 1px solid var(--editorial-line);
}

.v2-audience-list article > span {
  padding-top: 0.35rem;
  color: var(--editorial-forest);
}

.v2-audience-actions a {
  color: var(--editorial-forest);
}

/* Three offer stories use image scale and offset, not frames. */
.v2-solutions {
  overflow: hidden;
  background: var(--editorial-cream);
}

.v2-solution-stories {
  gap: clamp(7rem, 13vw, 13rem);
}

.v2-solution-stories > article {
  grid-template-columns: minmax(18rem, 0.62fr) minmax(0, 1.38fr);
  gap: clamp(3rem, 9vw, 9rem);
  align-items: center;
}

.v2-solution-stories > article:nth-child(even) {
  grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr);
}

.v2-solution-stories__copy {
  padding: 0;
}

.v2-solution-stories h3 {
  max-width: 8ch;
}

.v2-ui-scene {
  min-height: clamp(34rem, 55vw, 54rem);
  border-radius: 0;
  box-shadow: none;
  clip-path: polygon(8% 0, 100% 0, 94% 100%, 0 100%);
}

.v2-solution-stories > article:nth-child(even) .v2-ui-scene {
  clip-path: polygon(0 0, 92% 0, 100% 100%, 6% 100%);
}

.v2-ui-scene--presence > div,
.v2-ui-scene--return > div {
  border-radius: 0;
}

.v2-ui-scene--presence li,
.v2-ui-scene--action button {
  border-radius: 0;
}

/* Process: one documentary image beside a restrained timeline. */
.v2-process {
  background: var(--editorial-forest);
}

.v3-process-photo .media {
  height: clamp(28rem, 36vw, 34rem);
  min-height: 34rem;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  clip-path: polygon(0 0, 92% 0, 100% 100%, 7% 100%);
}

.v3-process-photo img {
  opacity: 1;
  filter: saturate(0.96) contrast(1.02) brightness(1.02);
}

.v3-process-photo figcaption {
  right: auto;
  bottom: -1.8rem;
  left: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: rgb(251 248 240 / 0.68);
}

.v2-process li > span {
  color: var(--v2-lime);
}

.v2-portal-teaser {
  background: var(--editorial-paper);
}

.v2-mini-dashboard {
  border-radius: 0;
  box-shadow: 1.1rem 1.1rem 0 rgb(23 63 52 / 0.12);
  transform: none;
}

.v2-final-cta::before {
  display: none;
}

/* Websites: immersive image, compact signals, and open editorial sections. */
.marketing-hero--websites {
  min-height: clamp(44rem, 82vh, 57rem);
  padding-block: 0;
  background: var(--editorial-cream);
}

.marketing-hero--websites .page-hero-grid {
  grid-template-columns: minmax(0, 0.8fr) minmax(28rem, 1.2fr);
  min-height: inherit;
  align-items: center;
}

.websites-hero-scene {
  position: absolute;
  inset: 0 0 0 auto;
  width: 52%;
  margin: 0;
  border-radius: 0;
}

.websites-hero-scene .media {
  height: 100%;
  aspect-ratio: auto !important;
  border-radius: 0;
  box-shadow: none;
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
}

.websites-hero-scene__story {
  right: clamp(1.5rem, 4vw, 4rem);
  bottom: clamp(2rem, 6vw, 6rem);
  width: min(25rem, 72%);
  padding: 1.2rem 0 0 1.2rem;
  border-left: 0.22rem solid var(--v2-lime);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: white;
  text-shadow: 0 0.1rem 1rem rgb(0 0 0 / 0.52);
  backdrop-filter: none;
}

.websites-hero-scene__story span,
.websites-hero-scene__story p {
  color: white;
}

.websites-outcome-strip {
  background: var(--editorial-cream);
}

.websites-outcome-strip .container {
  gap: 0;
  padding-block: 0;
  border-top: 1px solid var(--editorial-line);
  border-bottom: 1px solid var(--editorial-line);
}

.websites-outcome-strip article,
.websites-outcome-strip article:first-child {
  padding: 1.5rem clamp(1rem, 3vw, 2rem);
  border-right: 1px solid var(--editorial-line);
  background: transparent;
}

.websites-outcome-strip article:last-child {
  border-right: 0;
}

.websites-outcome-strip article > span {
  color: var(--editorial-forest);
}

.page-section-list--websites .marketing-section {
  padding-block: clamp(6rem, 11vw, 11rem);
}

.page-section-list--websites .content-split {
  grid-template-columns: minmax(18rem, 0.65fr) minmax(0, 1fr);
  gap: clamp(3rem, 11vw, 11rem);
}

.page-section-list--websites .check-list {
  gap: 0;
  border-top: 1px solid currentColor;
}

.page-section-list--websites .check-list li,
.page-section-list--websites .check-list li:nth-child(odd) {
  padding: 1rem 0 1rem 1.8rem;
  border-bottom: 1px solid currentColor;
  border-radius: 0 !important;
  background: transparent;
  box-shadow: none;
  clip-path: none;
}

.page-section-list--websites .check-list li::before {
  left: 0;
}

/* Work: proof-led chapters with image fields, not cards. */
.work-index-hero {
  min-height: clamp(43rem, 82vh, 55rem);
  padding-block: 0;
  background: var(--editorial-cream);
}

.work-index-hero__grid {
  grid-template-columns: minmax(0, 0.75fr) minmax(28rem, 1.25fr);
  min-height: inherit;
  gap: clamp(3rem, 8vw, 8rem);
}

.work-index-hero__image .media {
  border-radius: 0;
  box-shadow: none;
  clip-path: polygon(10% 0, 100% 0, 94% 100%, 0 100%);
}

.work-index-hero__image figcaption {
  position: static;
  margin-top: 0.65rem;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.work-index-proof-counts {
  gap: 0;
  border-top: 1px solid var(--editorial-line);
}

.work-index-proof-counts div {
  flex: 1 1 11rem;
  padding: 0.8rem 0;
  border-bottom: 1px solid var(--editorial-line);
  background: transparent;
}

.flagship-case__grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(20rem, 0.75fr);
  gap: clamp(3rem, 9vw, 9rem);
}

.flagship-case__media {
  width: calc(100% + 8vw);
  max-width: none;
  margin-left: -8vw;
  border-radius: 0;
  box-shadow: none;
}

.proof-card--public,
.proof-card--reference {
  grid-template-columns: minmax(0, 1.35fr) minmax(20rem, 0.65fr);
}

.proof-card--public .proof-card__media,
.proof-card--reference .proof-card__media,
.proof-card--system .proof-card__media {
  border-radius: 0;
}

.work-ledger--systems .work-ledger__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-areas: none;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

.work-ledger--systems .proof-card:nth-child(1) {
  grid-area: auto;
  grid-column: 1 / 8;
}

.work-ledger--systems .proof-card:nth-child(2) {
  grid-area: auto;
  grid-column: 8 / 13;
  margin-top: 8rem;
}

.work-ledger--systems .proof-card:nth-child(3) {
  grid-area: auto;
  grid-column: 3 / 10;
}

.proof-card--system,
.proof-card--system:first-child {
  display: block;
}

.proof-card--system > div {
  padding-top: 1rem;
}

.work-ledger--demos .demo-proof-card,
.work-ledger--demos .demo-proof-card:nth-child(2),
.work-ledger--demos .demo-proof-card:nth-child(3) {
  padding-block: 2rem;
}

/* Capability Lab: one studio canvas, with controls as a column—not a card. */
.marketing-hero[data-page='capabilities'] .ownership-promise {
  padding: 0 0 0 1.5rem;
  border: 0;
  border-left: 0.22rem solid var(--v2-lime);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--editorial-ink);
}

.marketing-hero[data-page='capabilities'] .ownership-promise strong,
.marketing-hero[data-page='capabilities'] .ownership-promise p {
  color: var(--editorial-ink);
}

.page-section-list[data-page='capabilities'] .marketing-section {
  padding-block: clamp(6rem, 10vw, 10rem);
}

.capability-lab {
  padding-block: clamp(7rem, 11vw, 11rem);
  background: var(--editorial-paper);
}

.lab-journey {
  gap: 0;
  border-top: 1px solid var(--editorial-line);
  border-bottom: 1px solid var(--editorial-line);
}

.lab-journey li {
  padding: 1.2rem 1.2rem 1.2rem 0;
  border-right: 1px solid var(--editorial-line);
}

.lab-journey li:last-child {
  border-right: 0;
  padding-left: 1.2rem;
}

.lab-journey li:nth-child(2) {
  padding-left: 1.2rem;
}

.lab-journey li > span {
  align-self: start;
  padding-top: 0.25rem;
  color: var(--editorial-forest);
}

.lab-journey p,
.lab-preview-column__heading,
.capability-lab > .container > .field__hint {
  color: #40534a;
}

.capability-lab .lab-layout {
  grid-template-columns: minmax(17rem, 0.26fr) minmax(0, 0.74fr);
  gap: clamp(3rem, 8vw, 8rem);
}

.capability-lab .lab-controls {
  position: sticky;
  top: 6rem;
  padding: 0 clamp(2rem, 4vw, 4rem) 0 0;
  border: 0;
  border-right: 1px solid var(--editorial-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.capability-lab .lab-controls select {
  border: 0;
  border-bottom: 1px solid var(--editorial-ink);
  background: transparent;
}

.capability-lab .segmented {
  gap: 0;
  border-bottom: 1px solid var(--editorial-line);
}

.capability-lab .segmented label,
.capability-lab .segmented label:has(input:checked) {
  padding-inline: 0;
  border: 0;
  background: transparent;
  color: var(--editorial-ink);
}

.capability-lab .segmented label:has(input:checked) {
  border-bottom: 0.2rem solid var(--editorial-forest);
}

.capability-lab .option {
  min-height: 0;
  padding-block: 0.6rem;
}

.capability-lab .device-stage {
  border-width: 0.4rem;
  border-radius: 0;
  box-shadow: 1rem 1rem 0 rgb(16 38 31 / 0.1);
}

.capability-lab .lab-module-grid {
  gap: 0;
  border-top: 1px solid currentColor;
}

.capability-lab .lab-module-grid article,
.capability-lab .lab-module-grid article:nth-child(3n + 1) {
  min-height: 12rem;
  border-radius: 0;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  background: transparent;
}

.capability-lab .lab-action-detail {
  border-radius: 0;
}

@media (max-width: 64rem) {
  .v2-hero__inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-hero__photo {
    width: 58%;
  }

  .editorial-hero-note {
    width: min(21rem, 38vw);
  }

  .work-showcase .work-grid,
  .v2-process > .container,
  .marketing-hero--websites .page-hero-grid,
  .work-index-hero__grid,
  .capability-lab .lab-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-section-list--websites .content-split {
    grid-template-columns: minmax(0, 1fr);
  }

  .work-showcase .work-card:nth-child(2) {
    margin-top: 0;
  }

  .work-showcase .work-card:nth-child(3) {
    width: 100%;
    margin-left: 0;
  }

  .work-ledger--systems .work-ledger__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .work-ledger--systems .proof-card:nth-child(n) {
    grid-column: auto;
    margin-top: 0;
  }

  .capability-lab .lab-controls {
    position: static;
    padding-right: 0;
    padding-bottom: 2rem;
    border-right: 0;
    border-bottom: 1px solid var(--editorial-line);
  }
}

@media (max-width: 48rem) {
  .v2-hero {
    min-height: 41rem;
  }

  .v2-hero__inner {
    padding-block: 3.4rem 2.5rem;
  }

  .v2-hero__photo {
    width: 100%;
    opacity: 0.2;
    clip-path: none;
  }

  .editorial-hero-note {
    display: none;
  }

  .v2-panorama__figure {
    width: 100vw;
  }

  .v2-panorama__figure .media {
    height: 18rem;
    min-height: 18rem;
  }

  .v2-panorama__figure figcaption {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-panorama__figure figcaption span,
  .v2-panorama__figure figcaption span:last-child {
    border-right: 0;
    border-bottom: 1px solid var(--editorial-line);
  }

  .work-showcase .work-grid,
  .v2-audience-list,
  .v2-solution-stories > article,
  .v2-solution-stories > article:nth-child(even),
  .work-ledger--systems .work-ledger__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-outcome-list li {
    grid-template-columns: 2rem minmax(0, 1fr);
  }

  .v2-outcome-list > li > strong {
    grid-column: 2;
    text-align: left;
  }

  .v2-audience-list article,
  .v2-audience-list article:nth-child(2n),
  .v2-audience-list article:nth-last-child(-n + 2) {
    grid-template-columns: 1.7rem minmax(0, 1fr);
  }

  .v2-solution-stories {
    gap: 6rem;
  }

  .v2-ui-scene,
  .v2-solution-stories > article:nth-child(even) .v2-ui-scene,
  .v3-process-photo .media {
    height: 22rem;
    min-height: 22rem;
    clip-path: none;
  }

  .marketing-hero--websites {
    min-height: auto;
    padding-block: 3.5rem 0;
  }

  .marketing-hero--websites .page-hero-grid {
    display: block;
  }

  .websites-hero-scene {
    position: relative;
    inset: auto;
    width: 100vw;
    margin: 3rem 0 0 50%;
    transform: translateX(-50%);
  }

  .websites-hero-scene .media {
    height: 30rem;
    min-height: 30rem;
    aspect-ratio: auto !important;
    clip-path: none;
  }

  .websites-hero-scene__story {
    position: static;
    width: 100%;
    padding: 1.35rem 1rem;
    border-left: 0;
    background: var(--editorial-forest);
    color: var(--editorial-cream);
    text-shadow: none;
  }

  .websites-hero-scene__story span,
  .websites-hero-scene__story p {
    color: var(--editorial-cream);
  }

  .websites-outcome-strip .container {
    display: block;
  }

  .websites-outcome-strip article,
  .websites-outcome-strip article:first-child {
    padding-inline: 0;
    border-right: 0;
    border-bottom: 1px solid var(--editorial-line);
  }

  .page-section-list--websites .marketing-section {
    padding-block: 5.5rem;
  }

  .page-section-list--websites .content-split {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.5rem;
  }

  .work-index-hero {
    min-height: auto;
    padding-block: 4rem;
  }

  .work-index-hero__image .media {
    clip-path: none;
  }

  .flagship-case__grid,
  .proof-card--public,
  .proof-card--reference {
    grid-template-columns: minmax(0, 1fr);
  }

  .flagship-case__media {
    width: 100%;
    margin-left: 0;
  }

  .lab-journey {
    grid-template-columns: minmax(0, 1fr);
  }

  .lab-journey li,
  .lab-journey li:nth-child(2),
  .lab-journey li:last-child {
    padding: 1rem 0;
    border-right: 0;
    border-bottom: 1px solid var(--editorial-line);
  }

  .capability-lab .device-stage {
    box-shadow: 0.5rem 0.5rem 0 rgb(16 38 31 / 0.1);
  }
}

@media (max-width: 25rem) {
  .v2-hero__inner {
    padding-block: 2rem 1.5rem;
  }

  .v2-hero h1 {
    font-size: clamp(2.85rem, 15vw, 4rem);
  }

  .websites-hero-scene .media {
    min-height: 24rem;
  }

  .work-index-hero h1 {
    font-size: clamp(3rem, 15vw, 4.3rem);
  }
}

/* Phase 3.1 black-and-gold refinement.
   Gold is used as a precise signal and rule, never as ornamental chrome. */

:root {
  --gold: #d4af63;
  --gold-bright: #e2c27d;
  --gold-deep: #765511;
  --black: #090909;
  --black-soft: #12110f;
  --ivory: #f6f1e7;
  --ivory-deep: #e9e0d0;

  --bps-ink: #15130f;
  --bps-forest: var(--black);
  --bps-paper: var(--ivory-deep);
  --bps-cream: var(--ivory);
  --bps-signal: var(--gold);
  --bps-muted: #665d4f;
  --bps-hairline: rgb(21 19 15 / 0.18);
  --bps-soft-shadow: 0 1.5rem 4rem rgb(9 9 9 / 0.14);

  --v2-night: var(--black);
  --v2-deep: var(--black-soft);
  --v2-green: #181612;
  --v2-lime: var(--gold);
  --v2-cream: var(--ivory);
  --v2-paper: var(--ivory-deep);
  --v2-line-dark: rgb(212 175 99 / 0.34);
  --v2-line-light: rgb(21 19 15 / 0.18);
  --v2-shadow: 0 2.5rem 7rem rgb(0 0 0 / 0.38);

  --editorial-ink: #15130f;
  --editorial-forest: #1d1a15;
  --editorial-cream: var(--ivory);
  --editorial-paper: var(--ivory-deep);
  --editorial-line: rgb(82 61 22 / 0.24);

  --studio-ink: #15130f;
  --studio-forest: var(--black-soft);
  --studio-moss: #765511;
  --studio-cream: var(--ivory);
  --studio-sand: var(--ivory-deep);
  --studio-clay: #cfb477;
  --studio-blush: #eee5d5;
  --studio-line: rgb(82 61 22 / 0.2);
  --studio-shadow: 0 1.8rem 5rem rgb(9 9 9 / 0.16);
}

html,
body {
  background: var(--ivory);
  color: var(--bps-ink);
}

::selection {
  background: var(--gold);
  color: var(--black);
}

.site-header {
  border-color: rgb(212 175 99 / 0.28);
  background: rgb(9 9 9 / 0.96);
  color: var(--ivory);
}

.site-header .bps-brand,
.site-header .brand-name,
.site-header .primary-nav a,
.site-header .nav-dropdown summary,
.site-header .portal-utility,
.site-header .portal-utility strong,
.site-header .mobile-nav > summary {
  color: var(--ivory);
}

.site-header .brand-mark {
  border-color: var(--gold);
  background: transparent;
  color: var(--gold);
}

.site-header .primary-nav a[aria-current='page'],
.site-header .nav-dropdown summary::after,
.site-header .portal-utility span {
  color: var(--gold-bright);
}

.site-header .header-cta {
  background: var(--gold);
  color: var(--black) !important;
}

.site-header .header-cta:hover,
.site-header .header-cta:focus-visible {
  background: var(--gold-bright);
}

.site-header .portal-utility {
  border-color: rgb(212 175 99 / 0.34);
}

.site-header .nav-dropdown__panel,
.site-header .mobile-nav nav {
  border-color: var(--gold);
  background: var(--black-soft);
  color: var(--ivory);
}

.site-header .nav-dropdown__panel a,
.site-header .nav-dropdown__panel strong,
.site-header .mobile-nav a,
.site-header .mobile-nav__heading {
  color: var(--ivory);
}

.site-header .nav-dropdown__panel > p,
.site-header .nav-dropdown__panel a span {
  color: #c8beac;
}

.site-header .nav-dropdown__panel li + li,
.site-header .mobile-nav__group {
  border-color: rgb(212 175 99 / 0.22);
}

.action--primary,
.closing-cta .action--primary,
.site-footer .action--primary {
  border-color: var(--gold);
  background: var(--gold);
  color: var(--black);
}

.action--primary:hover,
.action--primary:focus-visible,
.site-footer .action--primary:hover,
.site-footer .action--primary:focus-visible {
  border-color: var(--gold-bright);
  background: var(--gold-bright);
  color: var(--black);
}

.eyebrow,
.text-link,
a:not(.action) {
  text-decoration-color: color-mix(in srgb, var(--gold) 62%, transparent);
}

/* The dominant opening surface becomes unmistakably black and gold. */
.v2-hero {
  background: var(--black);
  color: var(--ivory);
}

.v2-hero__veil {
  background: linear-gradient(
    90deg,
    var(--black) 0%,
    var(--black) 39%,
    rgb(9 9 9 / 0.76) 54%,
    rgb(9 9 9 / 0.06) 77%
  );
}

.v2-hero__photo img {
  filter: saturate(0.68) sepia(0.08) contrast(1.08) brightness(0.86);
}

.v2-hero h1,
.v2-hero .lead,
.v2-hero .v2-ownership,
.v2-hero .v2-ownership li,
.v2-hero .action--glass {
  color: var(--ivory);
}

.v2-hero .eyebrow,
.v2-hero h1 em,
.editorial-hero-note span,
.editorial-hero-note a {
  color: var(--gold-bright);
}

.v2-hero h1 em::after,
.editorial-hero-note {
  border-color: var(--gold);
}

.v2-hero .action--glass {
  border-color: var(--gold);
}

.v2-ownership {
  border-color: rgb(212 175 99 / 0.36);
}

.v2-panorama__figure figcaption b,
.v2-outcome-list__number,
.v2-audience-list article > span,
.v2-process li > span,
.work-ledger__heading > span,
.lab-journey li > span,
.websites-outcome-strip article > span {
  color: var(--gold-deep);
}

.v2-audiences,
.v2-process,
.work-ledger--demos,
.site-footer {
  background: var(--black);
}

.v2-audiences .eyebrow,
.v2-process .eyebrow,
.work-ledger--demos .eyebrow,
.site-footer h3 {
  color: var(--gold-bright);
}

.v2-audiences h2,
.v2-audiences h3,
.v2-audiences p,
.v2-process h2,
.v2-process h3,
.v2-process p,
.v2-process li > span,
.site-footer,
.site-footer .bps-brand,
.site-footer .brand-name,
.site-footer h2,
.site-footer a {
  color: var(--ivory);
}

.v2-audiences .v2-section-lead--light h2,
.v2-audiences .v2-section-lead--light > p:last-child,
.v2-audience-list h3,
.v2-audience-list p {
  color: var(--ivory);
}

.v2-audiences .v2-section-lead--light .eyebrow,
.v2-audience-list article > span,
.v2-audience-actions a,
.v2-process li > span {
  color: var(--gold-bright);
}

.v2-audience-list,
.v2-audience-list article,
.v2-process ol,
.v2-process li,
.site-footer .footer-meta {
  border-color: rgb(212 175 99 / 0.3);
}

.v2-solution-stories__copy > span,
.v2-solution-stories__copy > a,
.work-card__link,
.work-showcase .text-link,
.work-status,
.demo-proof-card a,
.proof-card a {
  color: var(--gold-deep);
}

.v2-ui-scene,
.v2-mini-dashboard,
.device-stage,
.portal-app,
.guide-result {
  border-color: rgb(212 175 99 / 0.42);
}

.v2-mini-dashboard__bar i,
.result-kicker,
.demo-badge {
  background-color: var(--gold);
}

/* Compact public-safe project ledger. It reads like an editorial index, not a card row. */
.bps-projects-strip {
  border-block: 1px solid rgb(212 175 99 / 0.36);
  background: var(--black-soft);
  color: var(--ivory);
}

.bps-projects-strip__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.58fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: end;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.bps-projects-strip__intro h2 {
  max-width: 12ch;
  margin: 0.35rem 0 0;
  color: var(--ivory);
  font-size: clamp(2.7rem, 6vw, 5.4rem);
  line-height: 0.95;
}

.bps-projects-strip__intro > p {
  max-width: 43ch;
  margin: 0;
  color: #cbc1af;
}

.bps-projects-strip .eyebrow,
.bps-projects-strip__status,
.bps-projects-strip__number {
  color: var(--gold-bright);
}

.bps-projects-strip__list {
  border-top: 1px solid rgb(212 175 99 / 0.38);
}

.bps-projects-strip__list article {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) minmax(10rem, auto);
  gap: clamp(1rem, 3vw, 2.5rem);
  align-items: center;
  padding-block: clamp(1.5rem, 3vw, 2.3rem);
  border-bottom: 1px solid rgb(212 175 99 / 0.24);
}

.bps-projects-strip__number {
  align-self: start;
  font:
    700 0.7rem/1.2 Arial,
    Helvetica,
    sans-serif;
  letter-spacing: 0.14em;
}

.bps-projects-strip__status {
  margin: 0 0 0.45rem;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.bps-projects-strip__list h3 {
  margin: 0;
  color: var(--ivory);
  font-size: clamp(1.65rem, 3vw, 2.65rem);
}

.bps-projects-strip__list article > div > p:last-child {
  max-width: 54ch;
  margin: 0.45rem 0 0;
  color: #cbc1af;
}

.bps-projects-strip__list article > a,
.bps-projects-strip__quiet {
  justify-self: end;
  color: var(--gold-bright);
  font-size: 0.78rem;
  font-weight: 800;
  text-align: right;
}

.bps-projects-strip__quiet {
  color: #9f9585;
  font-weight: 600;
}

/* Work and marketing pages inherit the palette without gaining extra chrome. */
.work-index-hero,
.marketing-hero--websites,
.portal-public-hero,
.start-hero {
  background-color: var(--black);
  color: var(--ivory);
}

.work-index-hero h1,
.work-index-hero .lead,
.marketing-hero--websites h1,
.marketing-hero--websites .lead,
.portal-public-hero h1,
.portal-public-hero .lead,
.start-hero h1,
.start-hero .lead {
  color: var(--ivory);
}

.work-index-hero .eyebrow,
.marketing-hero--websites .eyebrow,
.portal-public-hero .eyebrow,
.start-hero .eyebrow {
  color: var(--gold-bright);
}

.work-index-proof-counts,
.work-index-proof-counts div,
.websites-outcome-strip article,
.flagship-case__facts,
.flagship-case__facts div {
  border-color: rgb(118 85 17 / 0.32);
}

.work-index-proof-counts dt,
.flagship-case__facts dt,
.websites-outcome-strip article > span {
  color: var(--gold-deep);
}

.marketing-hero--websites .breadcrumbs a,
.marketing-hero--websites .breadcrumbs span,
.work-index-hero figcaption,
.work-index-proof-counts dd {
  color: var(--ivory);
}

.work-index-proof-counts dt,
.work-ledger--public .proof-card a,
.work-ledger--demos .demo-proof-card a {
  color: var(--gold-bright);
}

.closing-cta {
  background: var(--gold) !important;
  color: var(--black) !important;
}

.closing-cta .eyebrow,
.closing-cta h2,
.closing-cta p {
  color: var(--black) !important;
}

@media (max-width: 48rem) {
  .v2-hero__photo {
    opacity: 0.34;
  }

  .v2-hero__veil {
    background: linear-gradient(180deg, rgb(9 9 9 / 0.9), rgb(9 9 9 / 0.58));
  }

  .bps-projects-strip__intro,
  .bps-projects-strip__list article {
    grid-template-columns: minmax(0, 1fr);
  }

  .bps-projects-strip__intro {
    gap: 1.25rem;
  }

  .bps-projects-strip__list article {
    gap: 0.65rem;
  }

  .bps-projects-strip__list article > a,
  .bps-projects-strip__quiet {
    justify-self: start;
    text-align: left;
  }
}

/* Phase 3.1 owner direction: a concise, welcoming front door and clearer next steps. */

@media (min-width: 49rem) {
  .welcome-hero {
    min-height: max(40rem, calc(100svh - 8rem));
  }

  .welcome-hero .v2-hero__inner {
    padding-block: clamp(3.25rem, 6vh, 4.5rem) clamp(2.25rem, 4vh, 3rem);
  }

  .welcome-hero h1 {
    font-size: clamp(4.1rem, 7vw, 6.8rem);
  }
}

.welcome-hero .v2-hero__inner {
  align-items: center;
}

.welcome-hero .v2-hero__copy {
  max-width: 58rem;
}

.welcome-hero .v2-hero__copy .lead {
  max-width: 43rem;
}

.welcome-mission {
  padding-block: clamp(5rem, 9vw, 9rem);
  background: var(--ivory);
}

.welcome-mission__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(24rem, 1.18fr);
  gap: clamp(3rem, 7vw, 7.5rem);
  align-items: center;
}

.welcome-mission__copy h2,
.welcome-paths__heading h2,
.welcome-principles h2 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(2.75rem, 6.4vw, 6.6rem);
  line-height: 0.94;
  letter-spacing: -0.055em;
}

.welcome-mission__copy .lead {
  max-width: 34rem;
  margin-top: 2rem;
  color: var(--black);
}

.welcome-mission__copy > p:last-child {
  max-width: 36rem;
  color: #554d41;
}

.welcome-mission__media {
  margin: 0;
}

.welcome-mission__media .media {
  width: 100%;
  min-height: 32rem;
  overflow: hidden;
}

.welcome-mission__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.welcome-paths {
  padding-block: clamp(5rem, 9vw, 8rem);
  background: var(--black);
  color: var(--ivory);
}

.welcome-paths__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.48fr);
  gap: 2rem 5rem;
  align-items: end;
  padding-bottom: clamp(2.5rem, 5vw, 4.75rem);
}

.welcome-paths__heading .eyebrow {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--gold-bright);
}

.welcome-paths__heading h2 {
  color: var(--ivory);
}

.welcome-paths__heading > p:last-child {
  max-width: 32rem;
  margin: 0;
  color: #d9cfbd;
  font-size: 1.08rem;
}

.welcome-paths__list {
  border-top: 1px solid rgb(226 194 125 / 0.38);
}

.welcome-path {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) minmax(12rem, 0.34fr);
  gap: 1.25rem 2.25rem;
  align-items: center;
  padding-block: clamp(1.8rem, 3.6vw, 3.2rem);
  border-bottom: 1px solid rgb(226 194 125 / 0.28);
  color: inherit;
  text-decoration: none;
}

.welcome-path > span {
  color: var(--gold-bright);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.welcome-path h3 {
  margin: 0;
  color: var(--ivory);
  font-size: clamp(1.55rem, 3.2vw, 3rem);
  line-height: 1;
}

.welcome-path p {
  max-width: 48rem;
  margin: 0.55rem 0 0;
  color: #c9bfaf;
}

.welcome-path > strong {
  justify-self: end;
  color: var(--gold-bright);
  font-size: 0.88rem;
  text-align: right;
}

.welcome-path:hover h3,
.welcome-path:focus-visible h3,
.welcome-path:hover > strong,
.welcome-path:focus-visible > strong {
  color: #fff4d8;
}

.welcome-principles {
  padding-block: clamp(5rem, 9vw, 8rem);
  background: var(--ivory-deep);
}

.welcome-principles__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(22rem, 1.2fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: start;
}

.welcome-principles h2 {
  font-size: clamp(2.5rem, 5vw, 5.4rem);
}

.welcome-principles ul {
  margin: 0;
  padding: 0;
  border-top: 1px solid rgb(118 85 17 / 0.4);
  list-style: none;
}

.welcome-principles li {
  display: grid;
  grid-template-columns: minmax(10rem, 0.72fr) minmax(0, 1fr);
  gap: 1.5rem;
  padding-block: 1.5rem;
  border-bottom: 1px solid rgb(118 85 17 / 0.3);
}

.welcome-principles li strong {
  color: var(--black);
}

.welcome-principles li span {
  color: #5f5649;
}

.work-ledger--projects {
  padding-block: clamp(4rem, 7vw, 6rem);
}

.work-projects__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 2.5rem;
  border-top: 1px solid rgb(118 85 17 / 0.35);
}

.work-projects__list article {
  padding: 2rem 2rem 2rem 0;
  border-bottom: 1px solid rgb(118 85 17 / 0.3);
}

.work-projects__list article + article {
  padding-inline: 2rem 0;
  border-left: 1px solid rgb(118 85 17 / 0.3);
}

.work-projects__list h3 {
  margin: 0.5rem 0;
  font-size: clamp(1.8rem, 3vw, 3rem);
}

.work-projects__list article > p:last-child {
  max-width: 38rem;
  margin-bottom: 0;
}

.pricing-welcome {
  padding-block: clamp(5rem, 9vw, 8rem) 3rem;
  background: var(--black);
  color: var(--ivory);
}

.pricing-welcome__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: end;
}

.pricing-welcome h1 {
  max-width: 10ch;
  margin: 0;
  color: var(--ivory);
  font-size: clamp(3.2rem, 8vw, 8rem);
  line-height: 0.9;
  letter-spacing: -0.06em;
}

.pricing-welcome .eyebrow {
  color: var(--gold-bright);
}

.pricing-welcome__intro .lead {
  color: var(--ivory);
}

.pricing-welcome__intro > p:last-child {
  color: #cfc4b1;
}

.pricing-market-note {
  display: grid;
  grid-template-columns: minmax(10rem, 0.32fr) minmax(20rem, 0.9fr) minmax(12rem, 0.38fr);
  gap: 2rem 3rem;
  align-items: start;
  margin-top: clamp(3rem, 7vw, 6rem);
  padding-block: 1.5rem;
  border-block: 1px solid rgb(226 194 125 / 0.34);
}

.pricing-market-note > div:first-child {
  display: grid;
  gap: 0.25rem;
}

.pricing-market-note strong {
  color: var(--gold-bright);
}

.pricing-market-note span,
.pricing-market-note p {
  color: #cfc4b1;
}

.pricing-market-note p {
  margin: 0;
}

.pricing-market-note__links {
  display: grid;
  gap: 0.65rem;
}

.pricing-market-note__links a {
  color: var(--gold-bright);
  font-size: 0.82rem;
  font-weight: 800;
}

.project-guide .guide-scenarios button {
  min-height: 2.75rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid rgb(21 19 15 / 0.38);
  background: transparent;
  color: var(--black);
  font-weight: 800;
}

.project-guide .guide-scenarios button:hover,
.project-guide .guide-scenarios button:focus-visible {
  border-color: var(--black);
  background: var(--black);
  color: var(--gold-bright);
}

.project-guide {
  background: var(--ivory) !important;
  color: var(--black) !important;
}

.project-guide .section-heading-row h2,
.project-guide .section-heading-row .lead,
.project-guide legend,
.project-guide label {
  color: var(--black);
}

.project-guide .eyebrow {
  color: var(--gold-deep);
}

.project-guide .demo-badge {
  border-color: rgb(118 85 17 / 0.4);
  background: transparent;
  color: var(--gold-deep);
}

.guide-scenarios p {
  color: #554d41;
}

.project-guide fieldset,
.guide-scenarios,
.guide-result {
  border-color: rgb(118 85 17 / 0.32);
  background: #fffaf0;
}

.guide-result > h3 {
  font-size: clamp(2.4rem, 5vw, 5.25rem);
}

.result-costs--simple {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.result-costs--simple > div {
  min-height: 13rem;
  background: var(--black);
  color: var(--ivory);
}

.result-costs--simple span,
.result-costs--simple small {
  color: #cfc4b1;
}

.result-costs--simple strong {
  color: var(--gold-bright);
  font-size: clamp(2rem, 4vw, 3.6rem);
}

.result-cost-details {
  margin-block: 1.5rem;
  border-block: 1px solid rgb(118 85 17 / 0.3);
}

.result-cost-details summary {
  padding-block: 1rem;
  color: var(--gold-deep);
  font-weight: 850;
  cursor: pointer;
}

.result-cost-details[open] {
  padding-bottom: 1.25rem;
}

.demo-status,
.preview-example-tags span,
.portal-access-note {
  display: inline-flex;
  width: fit-content;
  padding: 0.55rem 0.8rem;
  border: 1px solid rgb(118 85 17 / 0.35);
  color: var(--gold-deep);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.preview-example-tags span {
  border-color: rgb(226 194 125 / 0.52);
  color: var(--gold-bright);
}

.portal-access-card .portal-access-note,
.portal-boundary .portal-access-note {
  margin-top: 1rem;
}

@media (max-width: 64rem) {
  .welcome-mission__grid,
  .welcome-principles__grid,
  .pricing-welcome__grid,
  .pricing-market-note {
    grid-template-columns: minmax(0, 1fr);
  }

  .welcome-mission__media {
    max-width: 52rem;
  }

  .welcome-paths__heading {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 48rem) {
  .welcome-hero .v2-hero__inner {
    padding-block: 2.5rem 2rem;
  }

  .welcome-hero .v2-hero__copy {
    padding-block: 0;
  }

  .welcome-hero h1 {
    font-size: clamp(3.1rem, 15vw, 4.6rem);
  }

  .welcome-hero .v2-hero__actions {
    align-items: stretch;
  }

  .welcome-hero .v2-hero__actions a {
    width: 100%;
    justify-content: center;
  }

  .welcome-mission__media .media {
    min-height: 20rem;
  }

  .welcome-path {
    grid-template-columns: 2rem minmax(0, 1fr);
  }

  .welcome-path > strong {
    grid-column: 2;
    justify-self: start;
    text-align: left;
  }

  .welcome-principles li {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.35rem;
  }

  .work-projects__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .work-projects__list article,
  .work-projects__list article + article {
    padding-inline: 0;
    border-left: 0;
  }

  .result-costs--simple {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 25rem) {
  .welcome-hero .v2-hero__inner {
    padding-block: 1.5rem;
  }
}

/* Founder story */
.founder-page {
  --founder-paper: #f5f0e6;
  --founder-paper-deep: #e9e0d0;
  --founder-ink: #17140e;
  --founder-muted: #5b5448;
  --founder-gold: #d3ab58;
  background: var(--founder-paper);
  color: var(--founder-ink);
}

.founder-page .founder-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(4rem, 8vw, 8rem);
  border-bottom: 1px solid var(--warm-line-strong);
  background:
    radial-gradient(circle at 82% 16%, rgb(211 171 88 / 0.17), transparent 26rem),
    linear-gradient(rgb(211 171 88 / 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgb(211 171 88 / 0.055) 1px, transparent 1px),
    #050505;
  background-size: auto, 4rem 4rem, 4rem 4rem, auto;
  color: var(--ivory);
}

.founder-hero::after {
  content: 'BPS';
  position: absolute;
  right: -0.04em;
  bottom: -0.22em;
  color: rgb(211 171 88 / 0.045);
  font: 800 clamp(13rem, 32vw, 36rem) / 0.8 var(--sans);
  letter-spacing: -0.09em;
  pointer-events: none;
}

.founder-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(15rem, 0.38fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: center;
}

.founder-hero__copy h1 {
  max-width: 9ch;
  margin-block: 1rem 0.8rem;
  color: var(--ivory);
  font-size: clamp(4rem, 9vw, 8.5rem);
  line-height: 0.82;
}

.founder-hero__copy .eyebrow {
  margin-top: clamp(3rem, 8vw, 7rem);
  color: var(--gold-bright);
}

.founder-role {
  color: var(--gold-bright);
  font: 700 0.75rem / 1.35 var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.founder-hero__copy .lead {
  max-width: 30rem;
  margin-top: 2rem;
  color: #e3ddd2;
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 2.8vw, 2.35rem);
  line-height: 1.25;
}

.founder-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: clamp(2.5rem, 6vw, 5rem) 0 0;
  border-block: 1px solid var(--warm-line);
}

.founder-facts div {
  min-width: 0;
  padding: 1rem 0.8rem 1rem 0;
  border-right: 1px solid var(--warm-line);
}

.founder-facts div + div { padding-left: 0.8rem; }
.founder-facts div:last-child { border-right: 0; }
.founder-facts dt { color: #918d84; font: 600 0.58rem / 1 var(--mono); letter-spacing: 0.09em; text-transform: uppercase; }
.founder-facts dd { margin: 0.5rem 0 0; color: var(--ivory); font-weight: 750; }

.founder-portrait {
  width: min(100%, 18rem);
  margin: 0;
  justify-self: end;
}

.founder-portrait__frame {
  position: relative;
  padding: clamp(0.65rem, 1.5vw, 1rem);
  border: 1px solid var(--warm-line-strong);
  background: #0d0e0c;
  box-shadow: 1.5rem 1.5rem 0 rgb(211 171 88 / 0.1), 0 2.5rem 7rem rgb(0 0 0 / 0.58);
}

.founder-portrait__frame::before,
.founder-portrait__frame::after {
  content: '';
  position: absolute;
  width: 3.5rem;
  height: 3.5rem;
  pointer-events: none;
}

.founder-portrait__frame::before { top: -0.55rem; left: -0.55rem; border-top: 1px solid var(--gold-bright); border-left: 1px solid var(--gold-bright); }
.founder-portrait__frame::after { right: -0.55rem; bottom: -0.55rem; border-right: 1px solid var(--gold-bright); border-bottom: 1px solid var(--gold-bright); }

.founder-portrait img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.9) contrast(1.04);
}

.founder-portrait figcaption {
  margin-top: 1.25rem;
  color: var(--ivory);
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.25;
}

.founder-portrait figcaption span { color: #9d9991; font: 600 0.56rem / 1.4 var(--mono); letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap; }

.founder-page .founder-opening {
  border-bottom: 1px solid rgb(23 20 14 / 0.14);
  background: var(--founder-paper-deep);
}

.founder-opening__grid {
  display: grid;
  grid-template-columns: minmax(17rem, 0.65fr) minmax(0, 1.15fr);
  gap: clamp(3rem, 9vw, 10rem);
  align-items: start;
}

.founder-opening blockquote {
  position: sticky;
  top: 7.5rem;
  margin: 0;
  padding: 0 0 0 2rem;
  border-left: 1px solid #8a641f;
}

.founder-opening blockquote p {
  color: var(--founder-ink);
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3.4vw, 3.25rem);
  line-height: 1.08;
}

.founder-opening blockquote cite { color: #6c4b0c; font: 700 0.66rem / 1.4 var(--mono); font-style: normal; letter-spacing: 0.09em; text-transform: uppercase; }

.founder-story { background: var(--founder-paper); }
.founder-chapter { border-bottom: 1px solid rgb(23 20 14 / 0.14); }
.founder-chapter:nth-child(even) { background: #eee7da; }

.founder-chapter__grid {
  display: grid;
  grid-template-columns: minmax(15rem, 0.6fr) minmax(0, 1.25fr);
  gap: clamp(3rem, 9vw, 10rem);
  align-items: start;
}

.founder-chapter header {
  position: sticky;
  top: 7.5rem;
  padding-left: 2rem;
  border-left: 1px solid #8a641f;
}

.founder-chapter header span { color: #6c4b0c; font: 700 0.65rem / 1 var(--mono); letter-spacing: 0.1em; }
.founder-chapter h2 { max-width: 13ch; margin-top: 1.25rem; color: var(--founder-ink); font-size: clamp(2.7rem, 5vw, 5.2rem); line-height: 0.94; }

.founder-prose {
  max-width: 66ch;
  color: var(--founder-muted);
  font-size: clamp(1.03rem, 1.35vw, 1.16rem);
  line-height: 1.82;
}

.founder-prose > * + * { margin-top: 1.35rem; }
.founder-prose p { margin-bottom: 0; }
.founder-page .founder-prose > p:not(.founder-principle, .founder-pull, .founder-statement) { color: var(--founder-muted); }

.founder-principle,
.founder-pull {
  margin-block: clamp(2.5rem, 5vw, 4.5rem) !important;
  padding-block: 1.2rem;
  border-block: 1px solid rgb(108 75 12 / 0.35);
  color: var(--founder-ink);
  font-family: var(--font-display);
  font-size: clamp(1.65rem, 3vw, 2.8rem);
  line-height: 1.2;
}

.founder-statement {
  color: #6c4b0c;
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 1;
}

.founder-cadence {
  margin-block: clamp(2rem, 5vw, 4rem) !important;
  padding-left: 1.5rem;
  border-left: 1px solid rgb(108 75 12 / 0.42);
}

.founder-cadence p { color: var(--founder-ink); font-weight: 700; }
.founder-cadence p + p { margin-top: 0.6rem; }
.founder-cadence--questions p { font-family: var(--font-display); font-size: clamp(1.25rem, 2vw, 1.75rem); font-weight: 500; line-height: 1.35; }
.founder-cadence--products p { color: #6c4b0c; font-family: var(--font-display); font-size: clamp(1.25rem, 2vw, 1.75rem); font-weight: 500; }

.founder-chapter--dark {
  background:
    radial-gradient(circle at 12% 14%, rgb(211 171 88 / 0.12), transparent 28rem),
    #090a09 !important;
  color: var(--ivory);
}

.founder-chapter--dark header { border-left-color: var(--gold-bright); }
.founder-chapter--dark header span { color: var(--gold-bright); }
.founder-chapter--dark h2,
.founder-chapter--dark .founder-prose,
.founder-chapter--dark .founder-cadence p,
.founder-chapter--dark .founder-pull { color: var(--ivory); }
.founder-chapter--dark .founder-prose > p:not(.founder-pull, .founder-statement) { color: #c9c4ba; }
.founder-chapter--dark .founder-cadence { border-left-color: var(--warm-line-strong); }
.founder-chapter--dark .founder-pull { border-color: var(--warm-line-strong); }
.founder-chapter--dark .founder-statement { color: var(--gold-bright); }

.founder-cta .cluster { gap: 1.25rem 2rem; }
.founder-cta .text-link { color: var(--founder-ink); }

@media (max-width: 64rem) {
  .founder-hero__grid,
  .founder-opening__grid,
  .founder-chapter__grid { grid-template-columns: minmax(0, 1fr); }
  .founder-hero__grid { gap: 4rem; }
  .founder-hero__copy h1 { max-width: 12ch; }
  .founder-portrait { width: min(100%, 18rem); justify-self: start; }
  .founder-opening blockquote,
  .founder-chapter header { position: static; }
  .founder-chapter h2 { max-width: 17ch; }
}

@media (max-width: 48rem) {
  .founder-hero { padding-block: 4rem; }
  .founder-hero__copy .eyebrow { margin-top: 3rem; }
  .founder-hero__copy h1 { font-size: clamp(3.7rem, 17vw, 5.5rem); }
  .founder-facts { grid-template-columns: 1fr; }
  .founder-facts div,
  .founder-facts div + div { padding: 0.9rem 0; border-right: 0; border-bottom: 1px solid var(--warm-line); }
  .founder-facts div:last-child { border-bottom: 0; }
  .founder-hero__grid { gap: 2.75rem; }
  .founder-portrait { width: min(70vw, 14rem); margin-inline: auto; justify-self: center; }
  .founder-portrait figcaption { text-align: center; }
  .founder-portrait__frame { box-shadow: 0.8rem 0.8rem 0 rgb(211 171 88 / 0.1), 0 2rem 5rem rgb(0 0 0 / 0.5); }
  .founder-opening blockquote,
  .founder-chapter header { padding-left: 1.25rem; }
  .founder-chapter h2 { font-size: clamp(2.6rem, 13vw, 4rem); }
  .founder-prose { font-size: 1rem; line-height: 1.75; }
}

/* Work proof should show the work itself, not a generic interface drawing. */
.flagship-case__media[src$="bps-site-live.png"] {
  aspect-ratio: 1905 / 882;
  object-fit: contain;
  object-position: top center;
  border: 1px solid var(--warm-line-strong);
  background: #050505;
  box-shadow: 0 2rem 5rem rgb(0 0 0 / 0.2);
}

.proof-card--public .proof-card__media[src$="da-skull-wings-product.jpg"] {
  object-position: center;
  background: #f5f0e6;
}

.content-split img[src$="bps-site-live.png"],
.content-split img[src$="da-skull-wings-product.jpg"] {
  width: 100%;
  height: auto;
  border: 1px solid var(--warm-line-strong);
  background: #f5f0e6;
}

.preview-body--list {
  grid-template-columns: 1fr;
}
