@font-face {
  font-family: "Geist Variable";
  src: url("/fonts/Geist-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Geist Mono Variable";
  src: url("/fonts/GeistMono-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  color-scheme: light dark;
  --font-display: "Geist Variable", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --font-sans: "Geist Variable", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
  --font-mono: "Geist Mono Variable", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  --dark: #090909;
  --paper: #f7f6f1;
  --ink: #171714;
  --muted: #686861;
  --dark-muted: rgba(255,255,255,.67);
  --line-dark: rgba(255,255,255,.16);
  --line-light: #d5d3cc;
  --focus: #8d7762;
  --field-dark: #0b0b0a;
  --field-light: #f7f6f1;
  --hero-background: #090909;
  --dark-background: #090909;
  --light-background: #f7f6f1;
  --header-dark-background: #090909;
  --header-light-background: #f7f6f1;
  --footer-background: #090909;
  --selection: rgba(139,119,98,.26);

  --pad: clamp(22px, 3.8vw, 56px);
  --max: 1180px;
  --measure: 740px;
  --radius: 3px;

  /* Corporate typography authority—one scale, one rail, no incidental sizing. */
  --type-display-xl: clamp(56px, 5vw, 72px);
  --type-display-lg: clamp(38px, 3.55vw, 52px);
  --type-display-md: clamp(29px, 2.8vw, 41px);
  --type-lede: clamp(19px, 1.45vw, 21.5px);
  --type-body-lg: clamp(17.5px, 1.22vw, 19px);
  --type-body: 16.5px;
  --type-body-sm: 15px;
  --type-nav: 14.5px;
  --type-control: 14px;
  --type-label: 12.5px;
  --type-micro: 12px;
  --leading-display-xl: .99;
  --leading-display-lg: 1.045;
  --leading-display-md: 1.12;
  --leading-body: 1.58;
  --tracking-display-xl: -.034em;
  --tracking-display-lg: -.029em;
  --tracking-display-md: -.021em;
  --tracking-label: .072em;
}

:root[data-theme="mineral"] {
  --dark: #101310;
  --paper: #f2efe7;
  --ink: #1a1b17;
  --muted: #6d6b61;
  --line-dark: rgba(239,235,224,.18);
  --line-light: #d4cfc4;
  --focus: #7b6754;
  --field-dark: #121611;
  --field-light: #f2efe7;
  --hero-background: linear-gradient(145deg, #0d100e 0%, #171813 58%, #111512 100%);
  --dark-background: linear-gradient(145deg, #101310 0%, #151713 100%);
  --light-background: linear-gradient(145deg, #f4f1e9 0%, #ece8de 100%);
  --header-dark-background: #0f120f;
  --header-light-background: #f1eee6;
  --footer-background: linear-gradient(145deg, #0f120f 0%, #171713 100%);
  --selection: rgba(123,103,84,.28);
}

:root[data-theme="wash"] {
  --dark: #0b0c0d;
  --paper: #f5f2ec;
  --ink: #171617;
  --muted: #6c6867;
  --line-dark: rgba(248,241,235,.19);
  --line-light: #d8d1ca;
  --focus: #6b7f7d;
  --field-dark: #101113;
  --field-light: #f4f0ea;
  --hero-background:
    radial-gradient(circle at 12% 18%, rgba(143,105,75,.34), transparent 36%),
    radial-gradient(circle at 82% 10%, rgba(67,106,107,.43), transparent 40%),
    radial-gradient(circle at 64% 86%, rgba(110,82,103,.22), transparent 34%),
    linear-gradient(140deg, #08090a 0%, #151312 56%, #0c1010 100%);
  --dark-background:
    radial-gradient(circle at 8% 12%, rgba(130,93,68,.19), transparent 34%),
    radial-gradient(circle at 92% 16%, rgba(57,98,99,.24), transparent 40%),
    #0b0c0d;
  --light-background:
    radial-gradient(circle at 8% 8%, rgba(177,137,104,.14), transparent 34%),
    radial-gradient(circle at 90% 3%, rgba(86,127,125,.15), transparent 38%),
    linear-gradient(150deg, #f7f3ee 0%, #efebe5 100%);
  --header-dark-background: rgba(11,12,13,.96);
  --header-light-background: rgba(245,242,236,.96);
  --footer-background:
    radial-gradient(circle at 12% 10%, rgba(143,105,75,.2), transparent 38%),
    radial-gradient(circle at 88% 18%, rgba(67,106,107,.25), transparent 40%),
    #0b0c0d;
  --selection: rgba(73,112,111,.28);
}

* { box-sizing: border-box }
html { scroll-behavior: smooth; background: var(--dark) }
html, body { margin: 0; padding: 0 }
body {
  background: var(--dark);
  color: #fff;
  font-family: var(--font-sans);
  font-size: var(--type-body);
  line-height: var(--leading-body);
  letter-spacing: -.003em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-kerning: normal;
  font-synthesis: none;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  transition: background-color .28s ease, color .28s ease;
}
::selection { background: var(--selection) }
a { color: inherit; text-decoration: none }
button, input, textarea, select { font: inherit }
button, a { -webkit-tap-highlight-color: transparent }
img { max-width: 100% }

:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 4px;
}

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1000;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  background: var(--paper);
  color: var(--ink);
  border: 0;
  font-size: 14px;
  font-weight: 620;
}
.skip-link:focus-visible {
  width: auto;
  height: auto;
  padding: 10px 14px;
  clip-path: none;
  border: 1px solid var(--ink);
}

.masthead {
  height: 72px;
  border-bottom: 1px solid;
  position: relative;
  z-index: 40;
}
.masthead--dark { background: var(--header-dark-background); color: #fff; border-color: var(--line-dark) }
.masthead--light { background: var(--header-light-background); color: var(--ink); border-color: var(--line-light) }
.masthead__inner {
  width: min(100%, calc(var(--max) + (var(--pad) * 2)));
  height: 100%;
  margin: 0 auto;
  padding: 0 var(--pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.masthead__actions { display: flex; align-items: center; gap: 28px; position: relative }
.masthead nav,
.footer nav {
  display: flex;
  align-items: center;
  gap: clamp(22px,2.5vw,38px);
  font-family: var(--font-sans);
  font-size: var(--type-nav);
  line-height: 1;
  font-weight: 540;
  letter-spacing: 0;
}
.masthead nav a,
.footer nav a {
  position: relative;
  padding: 7px 0;
  color: inherit;
}
.masthead nav a::after,
.footer nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 1px;
  height: 1px;
  background: currentColor;
  transition: right .18s ease;
}
.masthead nav a:hover::after,
.masthead nav a[aria-current="page"]::after,
.footer nav a:hover::after { right: 0 }

.brand-lockup { display: inline-flex; align-items: center; flex: 0 0 auto }
.brand-lockup .indwel-brand-mark { --indwel-brand-width: 100%; display: block }
.brand-lockup--header { width: clamp(118px,9.9vw,137px) }
.brand-lockup--footer { width: clamp(214px,20.4vw,302px) }
.brand-lockup--footer.indwel-brand-mark { --indwel-brand-width: clamp(214px,20.4vw,302px) }

.menu-toggle,
.theme-toggle {
  background: transparent;
  color: inherit;
  border: 0;
  padding: 7px 0;
  font-family: var(--font-sans);
  font-size: var(--type-control);
  line-height: 1;
  font-weight: 560;
  letter-spacing: 0;
  cursor: pointer;
}
.menu-toggle { display: none }
.theme-picker { position: relative }
.theme-toggle { display: inline-flex; align-items: baseline; gap: 7px }
.theme-toggle strong { font-size: 12.5px; font-weight: 520; opacity: .66 }
.theme-panel {
  position: absolute;
  top: calc(100% + 13px);
  right: 0;
  min-width: 212px;
  padding: 7px;
  background: var(--paper);
  color: var(--ink);
  border: 1px solid var(--line-light);
  box-shadow: 0 18px 46px rgba(0,0,0,.18);
  z-index: 60;
}
.theme-panel[hidden] { display: none }
.theme-panel button {
  width: 100%;
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  gap: 10px;
  padding: 10px 9px;
  background: transparent;
  color: inherit;
  border: 0;
  text-align: left;
  font-size: 13.5px;
  font-weight: 540;
  cursor: pointer;
}
.theme-panel button:hover,
.theme-panel button[aria-pressed="true"] { background: rgba(0,0,0,.055) }
.theme-swatch {
  width: 28px;
  height: 18px;
  display: block;
  border: 1px solid rgba(0,0,0,.2);
}
.theme-swatch--mono { background: linear-gradient(90deg, #090909 0 50%, #f7f6f1 50%) }
.theme-swatch--mineral { background: linear-gradient(90deg, #101310 0 50%, #f2efe7 50%) }
.theme-swatch--wash {
  background:
    radial-gradient(circle at 25% 40%, rgba(170,112,74,.85), transparent 42%),
    radial-gradient(circle at 78% 25%, rgba(62,116,116,.9), transparent 46%),
    #111217;
}
body.menu-open { overflow: hidden }

.field {
  padding-block: clamp(72px,7.4vw,108px);
  padding-inline: 0;
  display: grid;
  grid-template-columns:
    [full-start] minmax(var(--pad), 1fr)
    [rail-start] minmax(0, var(--max))
    [rail-end] minmax(var(--pad), 1fr)
    [full-end];
}
.field > * {
  grid-column: rail;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}

/*
 * Rail authority
 *
 * Every ordinary field owns one explicit content rail. This prevents a
 * component's local margin or max-width from silently recentring itself or
 * falling back to the field padding edge. Flex-centred hero fields retain a
 * conventional padded wrapper because their direct child is already the rail.
 */
.field.interior-hero,
.field.legal-hero,
.field.not-found-hero {
  display: flex;
  padding-inline: var(--pad);
}
.field.interior-hero > *,
.field.legal-hero > *,
.field.not-found-hero > * {
  width: 100%;
  max-width: var(--max);
  margin-left: auto;
  margin-right: auto;
}

.rail-measure,
.rail-measure--wide,
.rail-measure--narrow {
  justify-self: start;
  margin-left: 0;
  margin-right: 0;
}
.rail-measure { max-width: var(--measure) }
.rail-measure--wide { max-width: 920px }
.rail-measure--narrow { max-width: 640px }
.field--black { background: var(--dark-background); color: #fff }
.field--white { background: var(--light-background); color: var(--ink) }
.field--mineral { background: var(--light-background); color: var(--ink); border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light) }
.hero { background: var(--hero-background); color: #fff }

.eyebrow {
  font-family: var(--font-sans);
  font-size: var(--type-label);
  line-height: 1.2;
  font-weight: 640;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  margin: 0 0 clamp(23px,2.5vw,32px);
  opacity: .66;
}

h1, h2, h3 { text-wrap: balance; font-family: var(--font-display); font-optical-sizing: auto }
p, li { text-wrap: pretty }
h1, h2 { font-weight: 520 }
.hero {
  min-height: calc(59vh - 72px);
  display: flex;
  align-items: center;
}
.hero__grid {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0,1.04fr) minmax(360px,.96fr);
  gap: clamp(54px,8vw,112px);
  align-items: end;
}
.hero h1,
.interior-hero h1,
.legal-hero h1 {
  font-size: var(--type-display-xl);
  line-height: var(--leading-display-xl);
  letter-spacing: var(--tracking-display-xl);
  margin: 0;
  max-width: 760px;
}
.hero__aside { padding-bottom: 2px }
.lede {
  font-size: var(--type-lede);
  line-height: 1.52;
  letter-spacing: -.006em;
  margin: 0 0 26px;
  max-width: 640px;
}
.hero-principle {
  font-size: 16.5px;
  line-height: 1.56;
  margin: -2px 0 26px;
  max-width: 560px;
  color: var(--dark-muted);
}
.text-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 28px;
  font-family: var(--font-sans);
  font-size: 13.5px;
  line-height: 1.2;
  font-weight: 590;
  letter-spacing: 0;
}
.text-actions a {
  border-bottom: 1px solid currentColor;
  padding-bottom: 4px;
}
.text-actions--dark { color: var(--ink) }

.argument-section { padding-top: clamp(82px,8.2vw,120px); padding-bottom: clamp(84px,8.5vw,124px) }
.argument-block { max-width: var(--max); margin: 0 auto }
.argument-block--ruled {
  border-top: 1px solid var(--line-light);
  margin-top: clamp(74px,8vw,110px);
  padding-top: clamp(66px,7vw,96px);
}
.argument-block--last { padding-bottom: 0 }
.argument-section h2,
.work-challenge h2,
.applications-section h2,
.platform-section h2,
.capability-section h2,
.use-case-section h2,
.engineering-core h2,
.engineering-section h2,
.closing-band h2,
.legal-section h2 {
  font-size: var(--type-display-lg);
  line-height: var(--leading-display-lg);
  letter-spacing: var(--tracking-display-lg);
  margin: 0;
  max-width: 920px;
}
.argument-intro {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: clamp(36px,5vw,72px);
  margin-top: clamp(38px,5vw,62px);
  max-width: 1000px;
  font-size: var(--type-body-lg);
  line-height: 1.6;
  letter-spacing: -.002em;
}
.argument-intro p { margin: 0 }
.argument-intro--single { grid-template-columns: 1fr; max-width: 840px }

.contrast-table { margin-top: clamp(42px,5vw,68px); border-top: 1px solid var(--line-light) }
.contrast-row {
  display: grid;
  grid-template-columns: minmax(150px,.58fr) 1fr 1fr;
  gap: clamp(20px,3vw,44px);
  padding: 18px 0;
  border-bottom: 1px solid var(--line-light);
  font-size: clamp(16px,1.14vw,17.5px);
  line-height: 1.5;
}
.contrast-row > span:first-child {
  font-size: 13px;
  font-weight: 620;
  letter-spacing: .006em;
  color: var(--muted);
  padding-top: 2px;
}
.contrast-row--head {
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .065em;
  text-transform: uppercase;
  color: var(--muted);
}
.contrast-row--head > span { padding-top: 0 !important; font-size: inherit !important; color: inherit !important }
.closing-line {
  font-size: clamp(22px,2vw,28px);
  line-height: 1.28;
  letter-spacing: -.018em;
  margin: clamp(46px,5vw,66px) 0 0;
  max-width: 840px;
}
.closing-line--dark { color: var(--ink) }

.principle-strip,
.principle-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  margin-top: clamp(42px,5vw,66px);
  border-top: 1px solid var(--line-light);
  border-left: 1px solid var(--line-light);
}
.principle-strip article,
.principle-grid article {
  min-height: 170px;
  padding: 26px 28px 30px;
  border-right: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
}
.principle-strip h3,
.principle-grid h3 {
  font-size: 21px;
  line-height: 1.18;
  font-weight: 570;
  letter-spacing: -.017em;
  margin: 0 0 22px;
}
.principle-strip p,
.principle-grid p { font-size: 16px; line-height: 1.6; letter-spacing: -.002em; margin: 0 }
.cognition-claim {
  display: grid;
  grid-template-columns: minmax(210px,.56fr) minmax(0,1.44fr);
  gap: clamp(30px,4vw,60px);
  align-items: start;
  margin-top: clamp(40px,4.8vw,62px);
  padding-top: clamp(34px,4vw,50px);
  border-top: 1px solid var(--line-light);
  max-width: 960px;
}
.cognition-claim h3 {
  font-size: clamp(23px,2.05vw,29px);
  line-height: 1.22;
  letter-spacing: -.019em;
  font-weight: 540;
  margin: 0;
}
.cognition-claim p {
  font-size: var(--type-body-lg);
  line-height: 1.6;
  margin: 0;
}

.challenge-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(390px,.92fr);
  gap: clamp(52px,7vw,104px);
  align-items: start;
}
.challenge-grid > div > p:last-child {
  font-size: clamp(17px,1.27vw,19px);
  line-height: 1.62;
  max-width: 590px;
  margin: 29px 0 0;
}
.work-form,
.ask-form,
.contact-form { display: grid; gap: 17px }
.work-form label,
.ask-form label,
.contact-form label {
  font-family: var(--font-sans);
  font-size: 13.5px;
  line-height: 1.2;
  font-weight: 620;
  letter-spacing: .004em;
}
.work-form textarea,
.ask-form textarea,
.contact-form textarea,
.contact-form input,
.contact-form select {
  width: 100%;
  background: color-mix(in srgb, currentColor 3%, transparent);
  color: inherit;
  border: 1px solid currentColor;
  border-radius: var(--radius);
  padding: 15px 16px;
  line-height: 1.5;
  margin-top: 9px;
}
.work-form textarea,
.ask-form textarea { font-size: 17px; letter-spacing: -.002em }
.work-form button,
.ask-form button,
.contact-form button {
  background: var(--paper);
  color: var(--ink);
  border: 1px solid var(--paper);
  border-radius: var(--radius);
  padding: 14px 20px;
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 620;
  letter-spacing: 0;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.work-form button:hover,
.ask-form button:hover,
.contact-form button:hover { background: transparent; color: inherit }
.work-result { margin-top: 68px; border-top: 1px solid var(--line-dark); padding-top: 48px }
.work-result h2,
.ask-answer h2 {
  font-size: var(--type-display-lg);
  line-height: var(--leading-display-lg);
  letter-spacing: var(--tracking-display-lg);
  margin: 0;
}
.answer-intro {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 42px;
  margin-top: 36px;
  font-size: 17px;
  line-height: 1.6;
}
.answer-intro p { margin: 0 }
.result-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  border-left: 1px solid var(--line-dark);
  border-top: 1px solid var(--line-dark);
  margin-top: 44px;
}
.result-grid article { padding: 24px; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark) }
.result-grid h3 { font-size: 18px; line-height: 1.2; font-weight: 580; letter-spacing: -.014em; margin: 0 0 14px }
.result-grid p { margin: 0; line-height: 1.58; font-size: 15.5px; letter-spacing: -.001em }
.answer-close { font-size: clamp(20px,1.9vw,27px); letter-spacing: -.014em; margin: 40px 0 0 }

.section-lede {
  font-size: var(--type-lede);
  line-height: 1.56;
  letter-spacing: -.006em;
  max-width: 820px;
  margin: 27px 0 0;
}
.section-lede--light { color: #fff }
.application-list { margin-top: clamp(42px,5vw,66px); border-top: 1px solid var(--line-light) }
.application-list a {
  display: grid;
  grid-template-columns: minmax(190px,260px) 1fr;
  gap: 32px;
  padding: 21px 0;
  border-bottom: 1px solid var(--line-light);
  font-size: var(--type-body-lg);
  line-height: 1.52;
  letter-spacing: -.002em;
}
.application-list strong { font-weight: 590 }
.application-list span { color: #44443e }
.closing-threshold {
  display: grid;
  grid-template-columns: minmax(0,1.06fr) minmax(320px,.74fr);
  gap: clamp(44px,6vw,84px);
  align-items: end;
  border-top: 1px solid var(--line-light);
  margin-top: clamp(70px,8vw,106px);
  padding-top: clamp(60px,6vw,84px);
}
.closing-threshold h3 {
  font-size: clamp(29px,3.1vw,43px);
  line-height: 1.12;
  letter-spacing: -.019em;
  font-weight: 520;
  margin: 0;
}
.closing-threshold > p { font-size: 17.5px; line-height: 1.6; margin: 0 }
.closing-threshold .text-actions { grid-column: 2 }


.platform-section,
.capability-section { position: relative; overflow: hidden }
.platform-intro,
.capability-intro {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(340px,.72fr);
  gap: clamp(48px,7vw,104px);
  align-items: end;
}
.platform-intro .section-lede,
.capability-intro .section-lede { margin: 0; max-width: 590px }
.system-rail {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin-top: clamp(48px,5.8vw,78px);
  border-top: 1px solid var(--line-light);
  border-left: 1px solid var(--line-light);
}
.system-rail article {
  min-height: 218px;
  padding: 24px 22px 27px;
  border-right: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
}
.system-rail span,
.capability-ledger__heading span {
  display: block;
  font-family: var(--font-mono);
  font-size: 11.5px;
  line-height: 1;
  letter-spacing: .055em;
  color: var(--muted);
}
.system-rail h3 {
  margin: 38px 0 14px;
  font-size: clamp(18px,1.32vw,21px);
  line-height: 1.16;
  font-weight: 560;
  letter-spacing: -.016em;
}
.system-rail p { margin: 0; font-size: 15.5px; line-height: 1.55; letter-spacing: -.001em; color: var(--muted) }
.platform-summary {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 36px;
  align-items: end;
  padding-top: 30px;
}
.platform-summary > p { margin: 0; max-width: 780px; font-size: 16.5px; line-height: 1.62 }
.platform-summary .text-actions { justify-content: flex-end }

.platform-hero .lede { max-width: 900px }
.capability-ledger { margin-top: clamp(50px,6vw,82px); border-top: 1px solid var(--line-light) }
.capability-ledger article {
  display: grid;
  grid-template-columns: minmax(240px,.65fr) minmax(300px,1fr) minmax(260px,.75fr);
  gap: clamp(28px,4vw,58px);
  padding: 30px 0 32px;
  border-bottom: 1px solid var(--line-light);
  align-items: start;
}
.capability-ledger__heading { display: grid; grid-template-columns: 36px 1fr; gap: 12px; align-items: baseline }
.capability-ledger__heading h3 { margin: 0; font-size: 22px; line-height: 1.22; font-weight: 560; letter-spacing: -.018em }
.capability-ledger article > p { margin: 0; font-size: 17px; line-height: 1.6; letter-spacing: -.002em }
.capability-ledger ul { list-style: none; margin: 0; padding: 0; color: var(--muted); font-size: 14.5px; line-height: 1.55 }
.capability-ledger li { padding: 7px 0; border-bottom: 1px solid color-mix(in srgb, var(--line-light), transparent 35%) }
.capability-ledger li:last-child { border-bottom: 0 }
.use-case-matrix { margin-top: clamp(42px,5vw,66px); border-top: 1px solid var(--line-light) }
.use-case-matrix a {
  display: grid;
  grid-template-columns: minmax(250px,.62fr) 1fr;
  gap: 34px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line-light);
  align-items: baseline;
}
.use-case-matrix strong { font-size: 16.5px; font-weight: 570; letter-spacing: -.008em }
.use-case-matrix span { font-size: 16.5px; line-height: 1.52; letter-spacing: -.002em; color: var(--muted) }


.deployment-section { position: relative; overflow: hidden }
.deployment-intro {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(340px,.72fr);
  gap: clamp(48px,7vw,104px);
  align-items: end;
}
.deployment-intro .section-lede { margin: 0; max-width: 590px }
.deployment-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin-top: clamp(48px,5.8vw,78px);
  border-top: 1px solid var(--line-light);
  border-left: 1px solid var(--line-light);
}
.deployment-grid article {
  min-height: 330px;
  padding: 27px 28px 30px;
  border-right: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
  display: flex;
  flex-direction: column;
}
.deployment-grid article > span {
  font-family: var(--font-mono);
  font-size: 11.5px;
  line-height: 1;
  letter-spacing: .055em;
  color: var(--muted);
}
.deployment-grid h3 {
  margin: 38px 0 16px;
  font-size: clamp(21px,1.65vw,25px);
  line-height: 1.16;
  font-weight: 560;
  letter-spacing: -.019em;
}
.deployment-grid p {
  margin: 0;
  font-size: 16.5px;
  line-height: 1.58;
  letter-spacing: -.002em;
  color: var(--muted);
}
.deployment-grid ul {
  list-style: none;
  margin: auto 0 0;
  padding: 30px 0 0;
  font-size: 14px;
  line-height: 1.48;
}
.deployment-grid li {
  padding: 8px 0;
  border-top: 1px solid color-mix(in srgb, var(--line-light), transparent 22%);
}
.deployment-note {
  max-width: 900px;
  margin: 31px 0 0;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.55;
}

.footer {
  background: var(--footer-background);
  color: #fff;
  border-top: 1px solid var(--line-dark);
}
.footer__inner {
  max-width: calc(var(--max) + (var(--pad) * 2));
  margin: 0 auto;
  padding: 52px var(--pad) 32px;
}
.footer__top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  gap: 44px;
  padding-bottom: 42px;
}
.footer__brand { display: flex; align-items: flex-end }
.footer__statement {
  justify-self: end;
  text-align: right;
  max-width: 420px;
  font-family: var(--font-display);
  font-size: clamp(20px,2vw,28px);
  line-height: 1.25;
  letter-spacing: -.016em;
  margin: 0;
}
.footer__bottom {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 38px;
  padding-top: 25px;
  border-top: 1px solid var(--line-dark);
}
.footer__primary,
.footer__legal { gap: 27px !important; font-size: 12.5px !important }
.footer__legal { opacity: .7 }
.footer__copyright {
  font-size: 12px;
  line-height: 1.45;
  letter-spacing: 0;
  margin: 0;
  opacity: .62;
  white-space: nowrap;
}

.interior-hero,
.legal-hero {
  min-height: 46vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.contact-hero { min-height: 40vh }
.interior-hero .lede,
.legal-hero .lede { max-width: 780px; margin-top: 30px }

.section-index {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  width: 100%;
  margin-top: clamp(42px,5vw,64px);
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
}
.section-index a {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 16px 14px 16px 0;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 580;
}
.section-index a + a { padding-left: 18px; border-left: 1px solid var(--line-light) }
.section-index span {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .04em;
  color: var(--muted);
}
.section-index a:hover strong,
.section-index a:hover { color: var(--focus) }
.engineering-core { padding-top: clamp(80px,8vw,112px); padding-bottom: clamp(82px,8vw,114px) }
.engineering-block { max-width: var(--max); margin: 0 auto }
.engineering-block--ruled {
  border-top: 1px solid var(--line-dark);
  margin-top: clamp(66px,7vw,96px);
  padding-top: clamp(60px,6vw,84px);
}
.engineering-block--last { padding-bottom: 0 }
.narrative-copy {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: clamp(30px,4vw,58px);
  margin-top: clamp(38px,4.5vw,58px);
  font-size: var(--type-body-lg);
  line-height: 1.6;
  letter-spacing: -.002em;
}
.narrative-copy--two { grid-template-columns: repeat(2,1fr); max-width: 920px; margin-left: 0 }
.narrative-copy p { margin: 0 }
.competitor-line {
  margin: 31px 0 0;
  max-width: 980px;
  font-family: var(--font-sans);
  font-size: 13.5px;
  line-height: 1.62;
  letter-spacing: 0;
  color: rgba(255,255,255,.62);
}
.causal-spine {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 42px;
  font-family: var(--font-mono);
  font-size: 11.5px;
  line-height: 1.2;
  letter-spacing: .015em;
}
.causal-spine span { border: 1px solid currentColor; padding: 10px 12px }
.causal-spine i { font-style: normal; opacity: .48 }
.closing-band { background: var(--hero-background) }
.closing-band > .text-actions { margin-top: 31px }

.ask-page { background: var(--light-background); color: var(--ink) }
.ask-hero { min-height: 49vh; display: flex; align-items: center }
.ask-hero__grid {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(360px,.72fr);
  gap: clamp(58px,8vw,112px);
  align-items: end;
}
.ask-hero h1 {
  font-size: var(--type-display-xl);
  line-height: var(--leading-display-xl);
  letter-spacing: var(--tracking-display-xl);
  margin: 0;
  font-weight: 520;
}
.ask-hero .lede { max-width: 760px; margin-top: 30px; margin-bottom: 0 }
.ask-return { border-top: 1px solid var(--line-light); padding-top: 22px }
.ask-return .eyebrow { margin-bottom: 18px }
.ask-return ol { list-style: none; margin: 0; padding: 0 }
.ask-return li {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 12px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line-light);
}
.ask-return li span { font-family: var(--font-mono); font-size: 11px; color: var(--muted); letter-spacing: .04em }
.ask-return li strong { font-size: 15px; line-height: 1.4; font-weight: 560; letter-spacing: -.003em }
.ask-stage { border-top: 1px solid var(--line-light); border-bottom: 0 }
.ask-stage__inner { max-width: 980px !important }
.ask-stage__prompts { display: grid; grid-template-columns: 180px 1fr; gap: 36px; align-items: start }
.ask-stage__prompts .eyebrow { margin: 10px 0 0 }
.prompt-chips { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 }
.prompt-chips button {
  background: transparent;
  color: var(--ink);
  border: 1px solid color-mix(in srgb, var(--ink), transparent 48%);
  border-radius: var(--radius);
  padding: 10px 13px;
  cursor: pointer;
  font-family: var(--font-sans);
  font-size: 13.5px;
  line-height: 1.2;
  font-weight: 560;
  letter-spacing: 0;
}
.prompt-chips button:hover,
.prompt-chips button:focus-visible { background: color-mix(in srgb, var(--ink), transparent 94%) }
.ask-form { border-top: 1px solid var(--line-light); margin-top: 38px; padding-top: 34px }
.ask-form textarea { min-height: 190px; background: color-mix(in srgb, var(--paper), transparent 24%); color: var(--ink); border-color: color-mix(in srgb, var(--ink), transparent 26%) }
.form-action-row { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center }
.form-action-row .form-note { max-width: 530px }
.ask-form button { min-width: 176px; background: var(--ink); color: var(--paper); border-color: var(--ink) }
.ask-form button:hover { background: transparent; color: var(--ink) }
.form-note { font-size: 13.5px; line-height: 1.5; letter-spacing: -.001em; opacity: .7; margin: 0; font-weight: 430 }
.ask-answer { margin-top: 58px; border-top: 1px solid var(--ink); padding-top: 42px; scroll-margin-top: 90px }
.ask-answer:focus { outline: 0 }
.ask-answer p { font-size: 17.5px; line-height: 1.62; margin: 23px 0 0 }

.contact-section { padding-top: clamp(74px,7vw,102px); padding-bottom: clamp(78px,7.5vw,108px) }
.contact-stage {
  display: grid;
  grid-template-columns: minmax(280px,.7fr) minmax(480px,1.05fr);
  gap: clamp(58px,8vw,112px);
  align-items: start;
}
.contact-brief h2 {
  font-size: clamp(31px,3vw,43px);
  line-height: 1.08;
  letter-spacing: -.025em;
  margin: 0;
  max-width: 480px;
}
.contact-brief > p:not(.eyebrow) { font-size: 17px; line-height: 1.6; color: var(--dark-muted); margin: 28px 0 0; max-width: 500px }
.contact-brief ol { list-style: none; margin: 38px 0 0; padding: 0; border-top: 1px solid var(--line-dark) }
.contact-brief li { display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 17px 0; border-bottom: 1px solid var(--line-dark) }
.contact-brief li > span { font-family: var(--font-mono); font-size: 11px; letter-spacing: .04em; color: var(--dark-muted) }
.contact-brief li strong { display: block; font-size: 15.5px; line-height: 1.35; font-weight: 590 }
.contact-brief li p { margin: 5px 0 0; color: var(--dark-muted); font-size: 14px; line-height: 1.48 }
.contact-form { width: 100%; border-top: 1px solid var(--line-dark); padding-top: 24px }
.contact-form label { display: grid }
.contact-pair { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px }
.contact-form button { margin-top: 9px }
.contact-form input, .contact-form textarea, .contact-form select { font-size: 16px; letter-spacing: -.002em; background: rgba(255,255,255,.025) }
.contact-form .form-note a { text-decoration: underline; text-underline-offset: 3px }
.form-status {
  margin: 2px 0 0;
  padding: 14px 16px;
  border: 1px solid var(--line-dark);
  font-size: 14px;
  line-height: 1.5;
  color: var(--dark-muted);
}
.form-status:focus { outline: 0 }

.not-found-hero { min-height: calc(72vh - 72px); display: flex; align-items: center }
.not-found-hero h1 {
  font-size: var(--type-display-xl);
  line-height: var(--leading-display-xl);
  letter-spacing: var(--tracking-display-xl);
  margin: 0;
  font-weight: 520;
  max-width: 760px;
}
.not-found-hero .lede { margin-top: 30px; max-width: 760px }
.not-found-hero .text-actions { margin-top: 30px }

.legal-body {
  display: grid;
  grid-template-columns: 190px minmax(0,760px);
  gap: clamp(50px,8vw,120px);
  align-items: start;
}
.legal-body > * { margin: 0 }
.legal-index {
  position: sticky;
  top: 100px;
  display: grid;
  gap: 10px;
  font-size: 14px;
  font-weight: 560;
}
.legal-index a { padding: 8px 0; border-bottom: 1px solid var(--line-light) }
.legal-content { display: grid; gap: 0 }
.legal-section { scroll-margin-top: 96px; padding-bottom: 78px }
.legal-section + .legal-section { border-top: 1px solid var(--line-light); padding-top: 70px }
.legal-section p:not(.eyebrow) { font-size: 17.5px; line-height: 1.66; letter-spacing: -.002em; margin: 25px 0 0 }
.legal-section a { text-decoration: underline; text-underline-offset: 3px }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important }
}

@media (max-width: 920px) {
  .hero { min-height: auto; padding-top: 86px; padding-bottom: 92px }
  .hero__grid,
  .challenge-grid,
  .argument-intro,
  .cognition-claim,
  .platform-intro,
  .capability-intro,
  .deployment-intro,
  .narrative-copy,
  .narrative-copy--two,
  .answer-intro,
  .closing-threshold { grid-template-columns: 1fr }
  .hero__aside { max-width: 700px }
  .principle-strip,
  .principle-grid,
  .result-grid { grid-template-columns: repeat(2,1fr) }
  .system-rail { grid-template-columns: repeat(2,1fr) }
  .deployment-grid { grid-template-columns: 1fr; border-left: 0 }
  .deployment-grid article { min-height: 0; border-left: 1px solid var(--line-light) }
  .capability-ledger article { grid-template-columns: minmax(220px,.7fr) 1fr }
  .capability-ledger ul { grid-column: 2 }
  .platform-summary { grid-template-columns: 1fr }
  .platform-summary .text-actions { justify-content: flex-start }
  .closing-threshold .text-actions { grid-column: 1 }
  .footer__top { grid-template-columns: 1fr }
  .footer__statement { justify-self: start; text-align: left }
  .footer__bottom { grid-template-columns: 1fr 1fr; align-items: start }
  .footer__copyright { grid-column: 1 / -1 }
  .legal-body { grid-template-columns: 1fr }
  .legal-index { position: static; grid-template-columns: repeat(3,1fr); gap: 18px }
  .ask-hero__grid,
  .contact-stage { grid-template-columns: 1fr }
  .ask-return { max-width: 700px }
  .ask-stage__prompts { grid-template-columns: 1fr; gap: 18px }
  .ask-stage__prompts .eyebrow { margin-top: 0; margin-bottom: 0 }
  .section-index { grid-template-columns: repeat(2,1fr) }
  .section-index a:nth-child(3) { border-left: 0; border-top: 1px solid var(--line-light) }
  .section-index a:nth-child(4) { border-top: 1px solid var(--line-light) }
}

@media (max-width: 680px) {
  :root { --pad: 20px }
  .masthead { height: 64px }
  .masthead__inner { padding-left: 20px; padding-right: 20px }
  .brand-lockup--header { width: 105px }
  .masthead__actions { gap: 16px }
  .menu-toggle { display: block }
  .theme-toggle { font-size: 13px }
  .theme-toggle strong { display: none }
  .masthead nav {
    display: none;
    position: fixed;
    top: 64px;
    left: 0;
    right: 0;
    bottom: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 17px;
    padding: 34px 20px 40px;
    background: var(--header-light-background);
    color: var(--ink);
    border-top: 1px solid var(--line-light);
    font-size: 17px;
    line-height: 1.2;
    z-index: 50;
  }
  .masthead--dark nav { background: var(--header-dark-background); color: #fff; border-color: var(--line-dark) }
  .masthead nav[data-open="true"] { display: flex }
  .theme-panel { position: fixed; top: 64px; left: 0; right: 0; min-width: 0; padding: 14px 18px; border-left: 0; border-right: 0 }
  .theme-panel button { padding: 14px 10px; font-size: 15px }
  .field { padding: 64px 0 70px }
  .hero { padding-top: 76px; padding-bottom: 80px }
  .hero h1,
  .interior-hero h1,
  .legal-hero h1 { font-size: clamp(38px,10.4vw,47px) }
  .argument-section h2,
  .work-challenge h2,
  .applications-section h2,
  .platform-section h2,
  .capability-section h2,
  .use-case-section h2,
  .engineering-core h2,
  .engineering-section h2,
  .closing-band h2,
  .legal-section h2 { font-size: clamp(31px,8.4vw,40px) }
  .argument-block--ruled { margin-top: 54px; padding-top: 47px }
  .contrast-row { grid-template-columns: 1fr; gap: 6px; padding: 17px 0 }
  .contrast-row--head { display: none }
  .contrast-row > span:first-child { padding-top: 0; margin-bottom: 4px; font-size: 12px }
  .principle-strip,
  .principle-grid,
  .result-grid { grid-template-columns: 1fr; border-left: 0 }
  .principle-strip article,
  .principle-grid article { border-left: 1px solid var(--line-light) }
  .field--black .result-grid article { border-left: 1px solid var(--line-dark) }
  .system-rail { grid-template-columns: 1fr; border-left: 0 }
  .system-rail article { min-height: 0; border-left: 1px solid var(--line-light) }
  .system-rail h3 { margin-top: 28px }
  .capability-ledger article { grid-template-columns: 1fr; gap: 18px; padding: 25px 0 28px }
  .capability-ledger ul { grid-column: 1 }
  .capability-ledger__heading { grid-template-columns: 30px 1fr }
  .use-case-matrix a { grid-template-columns: 1fr; gap: 6px }
  .deployment-grid h3 { margin-top: 28px }
  .deployment-grid article { padding: 24px 22px 27px }
  .application-list a { grid-template-columns: 1fr; gap: 6px }
  .closing-threshold { margin-top: 60px; padding-top: 54px }
  .causal-spine i { display: none }
  .ask-hero { min-height: auto }
  .ask-hero h1,
  .not-found-hero h1 { font-size: clamp(38px,10.4vw,47px) }
  .ask-return { margin-top: 8px }
  .ask-stage__prompts { gap: 16px }
  .prompt-chips button { font-size: 13px; padding: 9px 11px }
  .form-action-row { grid-template-columns: 1fr }
  .form-action-row button { width: 100% }
  .contact-pair { grid-template-columns: 1fr }
  .contact-brief h2 { font-size: clamp(31px,8.4vw,40px) }
  .section-index { grid-template-columns: 1fr }
  .section-index a + a,
  .section-index a:nth-child(3),
  .section-index a:nth-child(4) { padding-left: 0; border-left: 0; border-top: 1px solid var(--line-light) }
  .not-found-hero { min-height: calc(70vh - 64px) }
  .footer__inner { padding: 42px 20px 28px }
  .footer__top { padding-bottom: 34px }
  .footer__bottom { grid-template-columns: 1fr; gap: 18px }
  .footer__primary,
  .footer__legal { flex-wrap: wrap; gap: 18px !important }
  .brand-lockup--footer { width: min(76vw,280px) }
  .brand-lockup--footer.indwel-brand-mark { --indwel-brand-width: min(76vw,280px) }
  .legal-index { grid-template-columns: 1fr; gap: 0 }
  .legal-section { padding-bottom: 62px }
  .legal-section + .legal-section { padding-top: 56px }
}

.sr-only {
  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;
}
