@font-face {font-family:'DP Prata';src:url('assets/fonts/Prata-400-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face {font-family:'DP Onest';src:url('assets/fonts/Onest-400-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face {font-family:'DP Onest';src:url('assets/fonts/Onest-400-latin.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}

:root {
  --navy:#061b3a;
  --deep:#04172f;
  --deepest:#031327;
  --ice:#f4f7fa;
  --orange:#ff5a1f;
  --teal:#159fa3;
  --cobalt:#1649d8;
  --muted:#a8b4c5;
  --line:rgba(225,234,241,.17);
  --ink:#10233c;
  --pad:max(clamp(24px,4vw,72px),calc((100vw - 1560px)/2));
  --section-space:clamp(64px,6vw,104px);
  --body:'DP Onest',Arial,sans-serif;
  --display:'DP Prata',Georgia,serif;
  --ui:var(--body)
}

* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:30px
}
body {
  margin:0;
  background:var(--navy);
  color:var(--ice);
  font-family:var(--body);
  font-size:16px;
  line-height:1.65;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased
}
::selection {
  background:var(--orange);
  color:var(--deepest)
}
a {
  color:inherit;
  text-decoration:none
}
button {
  font:inherit
}
a,button,summary {
  -webkit-tap-highlight-color:transparent
}
button,summary {
  cursor:pointer
}
button {
  color:inherit
}
img {
  display:block;
  max-width:100%;
  height:auto
}
svg {
  display:block
}
h1,h2,h3,p {
  margin:0
}
h1,h2,h3 {
  font-family:var(--display);
  font-weight:400
}
h2 {
  font-size:clamp(36px,3.5vw,60px);
  line-height:1.18;
  letter-spacing:-.035em
}
a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:2px solid var(--orange);
  outline-offset:7px
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.skip-link {
  position:fixed;
  top:12px;
  left:12px;
  z-index:100;
  padding:12px 20px;
  background:var(--ice);
  color:var(--navy);
  transform:translateY(-160%)
}
.skip-link:focus {
  transform:none
}
.section-pad {
  padding:var(--section-space) var(--pad)
}
.eyebrow,.micro-note,.detail-label {
  text-transform:uppercase;
  font-size:10px;
  line-height:1.6;
  letter-spacing:.18em;
  font-weight:500
}
.eyebrow {
  margin-bottom:28px
}
.orange {
  color:var(--orange)
}
.muted-ink {
  color:#627182
}
.tiny-line {
  display:inline-block;
  width:22px;
  height:1px;
  background:var(--orange);
  vertical-align:middle
}
.section-topline {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:30px;
  margin-bottom:40px
}
.section-topline .eyebrow {
  margin:0
}
.micro-note {
  color:var(--muted);
  font-size:9px;
  letter-spacing:.16em
}
.section-light {
  background:var(--ice);
  color:var(--ink)
}

.header {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:112px;
  padding:0 var(--pad);
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:17px;
  flex-shrink:0
}
.brand img {
  width:37px;
  height:40px
}
.brand>span {
  font-size:15px;
  letter-spacing:.3em;
  white-space:nowrap;
  font-weight:500
}
.nav {
  display:flex;
  align-items:center;
  gap:clamp(20px,2.3vw,42px)
}
.nav>a {
  text-transform:uppercase;
  font-size:9px;
  font-weight:500;
  letter-spacing:.15em;
  white-space:nowrap;
  position:relative;
  padding:10px 0
}
.nav>a:after {
  content:'';
  position:absolute;
  bottom:3px;
  left:0;
  width:0;
  height:1px;
  background:var(--orange);
  transition:width .2s
}
.nav>a:hover:after,.nav>a[aria-current]:after {
  width:100%
}
.outline-button {
  display:inline-flex;
  align-items:center;
  gap:22px;
  border:1px solid var(--orange);
  border-radius:28px;
  padding:10px 19px;
  text-transform:uppercase;
  font-size:9px;
  letter-spacing:.13em;
  white-space:nowrap;
  transition:background .2s,color .2s
}
.outline-button span {
  font-size:20px;
  color:var(--orange);
  line-height:1
}
.outline-button:hover {
  background:var(--orange);
  color:var(--deepest)
}
.outline-button:hover span {
  color:var(--deepest)
}
.menu-button,.nav-mobile-contact {
  display:none!important
}

.hero {
  position:relative;
  min-height:0;
  isolation:isolate;
  overflow:hidden;
  background:var(--deep)
}
.hero:before {
  content:'';
  position:absolute;
  top:112px;
  bottom:70px;
  left:50%;
  width:1px;
  background:var(--line);
  opacity:.6;
  z-index:-1
}
.hero-content {
  position:relative;
  padding:128px 0 106px var(--pad);
  width:55%;
  z-index:2
}
.hero .eyebrow {
  font-size:9px;
  color:#b9c6d5;
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:22px
}
.hero h1 {
  font-size:clamp(64px,6vw,104px);
  font-weight:300;
  line-height:1;
  letter-spacing:-.03em
}
.hero h1>span {
  color:var(--orange);
  white-space:nowrap
}
.hero-intro {
  font-size:18px;
  font-weight:400;
  line-height:1.65;
  max-width:min(100%,500px);
  margin-top:24px;
  color:#e0e6ed
}
.hero-detail {
  font-size:14px;
  color:#aab8ca;
  max-width:480px;
  margin-top:12px;
  line-height:1.7
}
.arrow-link {
  display:flex;
  align-items:center;
  gap:20px;
  margin-top:29px;
  max-width:360px;
  text-transform:uppercase;
  font-size:10px;
  letter-spacing:.19em;
  font-weight:500
}
.arrow-circle {
  width:47px;
  height:47px;
  flex:0 0 47px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--orange);
  color:var(--deepest);
  font-size:25px;
  line-height:1;
  transition:transform .25s
}
.arrow-link:hover .arrow-circle {
  transform:rotate(45deg)
}
.link-line {
  height:1px;
  background:#6a7c8f;
  flex:1;
  transition:transform .25s;
  transform-origin:left
}
.arrow-link:hover .link-line {
  transform:scaleX(.7)
}
.hero-art {
  position:absolute;
  inset:92px 0 70px 46%;
  z-index:-1;
  overflow:hidden
}
.mountain {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:75% 50%;
  filter:saturate(.65) brightness(.72)
}
.art-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,var(--deep) 0%,rgba(4,23,47,.8) 9%,transparent 39%,rgba(4,23,47,.06) 80%,var(--deep) 100%),linear-gradient(180deg,var(--deep),transparent 18%,transparent 70%,var(--deep))
}
.hero-monogram {
  position:absolute;
  top:0;
  left:-6%;
  width:100%;
  height:100%
}
.hero-side-note {
  position:absolute;
  right:var(--pad);
  top:82px;
  bottom:79px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  text-transform:uppercase;
  font-size:9px;
  line-height:2;
  letter-spacing:.22em
}
.hero-side-note>span:first-child {
  border-left:1px solid var(--line);
  padding-left:18px
}
.hero-side-note>span:last-child {
  font-size:8px;
  color:#b8c6d1
}
.hero-side-note>span:last-child:before {
  content:'';
  display:block;
  width:25px;
  height:1px;
  background:var(--orange);
  margin-bottom:20px
}
.hero-bottom {
  position:absolute;
  bottom:0;
  left:var(--pad);
  right:var(--pad);
  height:70px;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  text-transform:uppercase;
  font-size:9px;
  letter-spacing:.17em;
  color:#aebcce
}
.hero-bottom p i {
  font-style:normal;
  margin:0 10px;
  color:#566d87
}
.hero-bottom a {
  display:flex;
  align-items:center;
  gap:30px;
  color:#e5eaf0
}
.hero-bottom a span {
  font-size:20px;
  color:var(--orange)
}

.approach {
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(0,1.8fr);
  gap:clamp(40px,4vw,72px)
}
.approach-intro h2 {
  font-size:clamp(35px,3vw,49px)
}
.approach-intro>p:not(.eyebrow) {
  font-size:16px;
  line-height:1.75;
  color:#4d6077;
  margin-top:24px;
  max-width:480px
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:24px;
  font-size:9px;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-bottom:1px solid #617083;
  padding-bottom:9px;
  transition:gap .2s
}
.text-link:hover {
  gap:32px
}
.text-link span {
  font-size:19px;
  color:var(--orange);
  line-height:1
}
.dark-link {
  margin-top:27px;
  border-color:#9ba8b7
}
.dark-link span {
  color:var(--orange)
}
.approach-steps {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-self:center;
  gap:28px;
  position:relative;
  --step-size:clamp(130px,12vw,180px)
}
.step-connector {
  position:absolute;
  top:calc(var(--step-size)/2);
  left:15%;
  right:-15px;
  height:1px;
  background:#8ba8b0
}
.step-connector>span {
  position:absolute;
  right:0;
  top:-19px;
  color:var(--orange);
  font-size:26px
}
.step {
  position:relative
}
.step-visual {
  position:relative;
  width:var(--step-size);
  max-width:100%;
  aspect-ratio:1;
  margin-bottom:24px
}
.step-visual img {
  border-radius:50%;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.8);
  transition:transform .5s
}
.step:hover .step-visual img {
  transform:rotate(5deg)
}
.step-dot {
  position:absolute;
  top:50%;
  left:calc(100% - 5px);
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--orange);
  border:2px solid var(--ice);
  transform:translateY(-50%);
  box-shadow:0 0 0 1px var(--orange)
}
.step:first-of-type .step-dot {
  background:var(--navy);
  box-shadow:0 0 0 1px var(--navy)
}
.step:last-of-type .step-dot {
  background:var(--teal);
  box-shadow:0 0 0 1px var(--teal)
}
.step-index {
  font-size:10px;
  letter-spacing:.15em;
  margin-bottom:4px;
  color:#5b6f82
}
.step h3 {
  font:500 11px/1.5 var(--body);
  text-transform:uppercase;
  letter-spacing:.11em;
  margin-bottom:12px
}
.step>p:last-child {
  font-size:14px;
  color:#4d6077;
  line-height:1.75;
  max-width:30ch
}

.why {
  background:var(--navy);
  border-bottom:1px solid var(--line)
}
.why-heading {
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr);
  gap:clamp(40px,5vw,80px);
  align-items:end
}
.why-heading h2 span {
  color:#8a9bb1
}
.why-heading>p {
  font-size:16px;
  line-height:1.75;
  color:#b3c0d0;
  max-width:480px
}
.frictions {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:64px;
  gap:48px
}
.frictions article {
  position:relative;
  border-top:1px solid var(--line);
  padding-top:24px;
  overflow:hidden
}
.friction-index {
  font-size:10px;
  color:var(--orange);
  letter-spacing:.15em
}
.frictions h3 {
  font-size:24px;
  margin:14px 0 13px;
  letter-spacing:-.025em
}
.frictions p {
  font-size:15px;
  color:#aebdce;
  max-width:42ch
}
.friction-graphic {
  height:90px;
  position:relative;
  margin-top:24px
}
.friction-graphic i {
  opacity:.8;
  position:absolute;
  display:block;
  top:15px;
  width:62px;
  height:62px;
  border:1px solid #526b87;
  border-radius:50%
}
.ambiguity i:nth-child(1) {
  left:5px
}
.ambiguity i:nth-child(2) {
  left:35px
}
.ambiguity i:nth-child(3) {
  left:65px
}
.friction-graphic b {
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--orange);
  position:absolute;
  top:42px;
  left:62px
}
.disconnected i {
  border-radius:0;
  width:39px;
  height:39px;
  transform:rotate(45deg);
  top:26px
}
.disconnected i:nth-child(1) {
  left:11px
}
.disconnected i:nth-child(2) {
  left:90px;
  top:5px
}
.disconnected i:nth-child(3) {
  left:166px
}
.disconnected b {
  left:82px;
  top:55px
}
.handoffs i {
  border-radius:0;
  width:44px;
  height:32px;
  top:28px
}
.handoffs i:nth-child(1) {
  left:0
}
.handoffs i:nth-child(2) {
  left:75px
}
.handoffs i:nth-child(3) {
  left:150px
}
.handoffs i:not(:last-of-type):after {
  content:'';
  position:absolute;
  width:17px;
  right:-25px;
  top:15px;
  border-top:1px dashed #718498
}
.handoffs b {
  left:131px;
  top:41px
}

.outcomes {
  background:var(--deep);
  padding-top:var(--section-space);
  padding-bottom:var(--section-space)
}
.outcomes-intro {
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr);
  gap:clamp(40px,5vw,80px);
  align-items:end;
  margin-bottom:60px
}
.outcomes-intro>p {
  font-size:16px;
  color:#aebdce;
  line-height:1.75;
  max-width:480px
}
.outcome {
  border-top:1px solid var(--line)
}
.outcome:last-child {
  border-bottom:1px solid var(--line)
}
.outcome summary {
  display:grid;
  grid-template-columns:44px minmax(0,1.4fr) minmax(0,.85fr) 40px;
  gap:32px;
  list-style:none;
  align-items:center;
  padding:34px 0;
  transition:background .2s
}
.outcome summary::-webkit-details-marker {
  display:none
}
.outcome summary:hover .outcome-title>span:last-child {
  color:var(--orange)
}
.outcome-index {
  align-self:start;
  font-family:var(--display);
  font-size:14px;
  color:var(--orange);
  padding-top:0
}
.outcome-title {
  display:block;
  align-self:start
}
.outcome-title>.eyebrow {
  display:block;
  font-size:8px;
  color:#a8b8ca;
  letter-spacing:.16em;
  margin-bottom:13px
}
.outcome-title>span:last-child {
  display:block;
  font-family:var(--display);
  font-size:clamp(28px,2.6vw,40px);
  font-weight:300;
  letter-spacing:-.04em;
  line-height:1.2;
  transition:color .2s
}
.outcome-summary {
  font-size:14px;
  line-height:1.75;
  color:#a3b3c7;
  max-width:340px;
  justify-self:end
}
.expand-icon {
  position:relative;
  display:block;
  width:34px;
  height:34px;
  border:1px solid #516279;
  border-radius:50%;
  transition:background .2s,border-color .2s
}
.expand-icon:before,.expand-icon:after {
  content:'';
  position:absolute;
  top:16px;
  left:10px;
  width:12px;
  height:1px;
  background:#d9e1e9;
  transition:transform .25s
}
.expand-icon:after {
  transform:rotate(90deg)
}
.outcome[open] .expand-icon {
  border-color:var(--orange);
  background:var(--orange)
}
.outcome[open] .expand-icon:before {
  background:var(--deep)
}
.outcome[open] .expand-icon:after {
  transform:rotate(0);
  background:var(--deep)
}
.outcome-detail {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,.85fr);
  gap:56px;
  padding:4px 0 45px 76px
}
.detail-label {
  font-size:9px;
  color:#8fa3bb;
  margin-bottom:13px
}
.outcome-detail>div>p:not(.detail-label) {
  font-size:16px;
  line-height:1.75;
  color:#c0cddd;
  max-width:60ch
}
.outcome-result {
  padding-left:30px;
  border-left:1px solid var(--line)
}
.outcome-detail .outcome-result>p:not(.detail-label) {
  font-family:var(--display);
  font-size:22px;
  font-weight:300;
  line-height:1.5;
  letter-spacing:-.02em;
  color:#e5ebf2
}
.outcome-result .text-link {
  margin-top:25px
}
.outcomes-foot {
  margin-top:37px;
  font-size:13px;
  display:flex;
  align-items:center;
  justify-content:end;
  gap:17px;
  color:#b6c4d4
}

.expertise-section {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  column-gap:6%;
  row-gap:64px;
  overflow:hidden
}
.expertise-intro>p:not(.eyebrow) {
  font-size:16px;
  line-height:1.75;
  color:#53667b;
  max-width:520px;
  margin-top:27px
}
.expertise-diagram {
  position:relative;
  min-height:325px;
  align-self:center;
  aspect-ratio:1.35;
  width:100%;
  max-width:520px;
  justify-self:center
}
.orbit {
  position:absolute;
  top:14%;
  left:21%;
  width:58%;
  height:73%;
  border:1px solid #8ba8b3;
  border-radius:50%;
  transform:rotate(-37deg)
}
.orbit-two {
  top:24%;
  left:9%;
  height:51%;
  width:83%;
  transform:rotate(30deg);
  border-color:#b2bfc8
}
.orbit-three {
  top:4%;
  left:28%;
  width:46%;
  height:92%;
  transform:rotate(29deg);
  border-color:#bbcad6
}
.orbit-center {
  position:absolute;
  top:42%;
  left:37%;
  width:28%;
  text-align:center;
  font-size:18px;
  font-weight:300;
  font-family:var(--display);
  line-height:1.4;
  letter-spacing:-.02em
}
.orbit-center>span {
  display:block;
  width:10px;
  height:10px;
  background:var(--orange);
  border-radius:50%;
  margin:0 auto 12px;
  box-shadow:0 0 0 6px var(--ice),0 0 0 7px var(--orange)
}
.orbit-label {
  position:absolute;
  font-size:10px;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.15em;
  background:var(--ice);
  padding:9px 14px
}
.label-business {
  left:31%;
  top:1%
}
.label-product {
  right:0;
  top:31%
}
.label-experience {
  right:8%;
  bottom:9%
}
.label-data {
  left:17%;
  bottom:0
}
.label-engineering {
  left:-7%;
  top:32%
}
.expertise-disciplines {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  grid-column:1/-1;
  border-top:1px solid #cbd4de;
  padding-top:26px;
  gap:28px
}
.expertise-disciplines article {
  padding-right:0
}
.expertise-disciplines article>span {
  font-size:9px;
  color:#61748b
}
.expertise-disciplines h3 {
  font-size:18px;
  margin:8px 0 12px;
  letter-spacing:-.03em
}
.expertise-disciplines p {
  font-size:14px;
  line-height:1.75;
  color:#55677b
}

.about {
  padding-block:var(--section-space)
}
.about-intro {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);
  gap:clamp(40px,5vw,80px);
  align-items:center;
  margin-bottom:64px
}
.about-intro>div p {
  font-size:17px;
  font-weight:300;
  line-height:1.8;
  max-width:500px;
  color:#d2dce7
}
.about-intro>div p+p {
  font-size:16px;
  line-height:1.75;
  color:#aabbd0;
  margin-top:23px
}
.founders {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:56px
}
.founder {
  border-top:1px solid var(--line);
  padding-top:30px
}
.founder-heading {
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-bottom:23px
}
.founder h3 {
  font-size:26px;
  letter-spacing:-.04em;
  margin-bottom:10px
}
.founder .eyebrow {
  font-size:8px;
  color:#9eb1c7;
  margin:0
}
.founder-link,.founder-mark {
  width:37px;
  height:37px;
  display:grid;
  place-items:center;
  font-size:24px;
  border:1px solid #526780;
  border-radius:50%;
  flex:0 0 37px;
  color:var(--orange)
}
.founder-link:hover {
  background:var(--orange);
  color:var(--navy);
  border-color:var(--orange)
}
.founder-mark {
  border-color:transparent;
  color:#657f9d
}
.founder>p {
  font-size:16px;
  line-height:1.75;
  color:#bac8d9;
  max-width:60ch
}
.founder>p.founder-focus {
  color:#9bafc7;
  margin-top:20px;
  font-size:14px
}

.contact {
  background:var(--cobalt);
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-top:78px;
  padding-bottom:66px
}
.contact-content {
  position:relative;
  z-index:1
}
.contact .eyebrow {
  color:#dce5ff
}
.contact h2 {
  font-size:clamp(68px,8vw,130px);
  font-weight:300;
  line-height:.98;
  letter-spacing:-.065em;
  position:relative;
  width:fit-content
}
.contact h2>span {
  color:#bfceff
}
.contact h2>svg {
  position:absolute;
  left:calc(100% + 60px);
  top:22px;
  width:86px;
  height:86px;
  stroke:#f4f7fa;
  stroke-width:1.5;
  fill:none
}
.contact-bottom {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  margin-top:47px;
  align-items:end
}
.contact-bottom>p {
  font-size:15px;
  color:#e0e7ff;
  font-weight:300;
  line-height:1.8
}
.contact-bottom>div {
  justify-self:end;
  display:flex;
  align-items:start;
  flex-direction:column;
  gap:14px
}
.contact-email {
  font-size:clamp(14px,1.6vw,25px);
  font-weight:300;
  letter-spacing:-.02em;
  border-bottom:1px solid #9ab3ff;
  padding-bottom:13px;
  display:flex;
  gap:24px;
  align-items:center
}
.contact-email span {
  font-size:25px
}
.copy-email {
  background:none;
  border:0;
  padding:5px 0;
  font-size:10px;
  color:#d3dfff;
  letter-spacing:.035em
}
.copy-email span {
  padding-left:6px;
  font-size:14px
}
.copy-email:hover {
  color:#fff;
  text-decoration:underline
}
.contact-orbit {
  position:absolute;
  z-index:0;
  right:-10%;
  top:-60%;
  width:76%;
  aspect-ratio:1;
  border:1px solid #ffffff19;
  border-radius:50%
}
.contact-orbit i {
  position:absolute;
  inset:12%;
  border:1px solid #ffffff19;
  border-radius:50%
}
.contact-orbit i+i {
  inset:26%
}
.contact-orbit span {
  position:absolute;
  left:12%;
  bottom:17%;
  width:13px;
  height:13px;
  background:var(--orange);
  border-radius:50%
}
.footer {
  padding:42px var(--pad);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  background:var(--deepest)
}
.footer .brand img {
  width:31px;
  height:34px
}
.footer .brand>span {
  font-size:12px
}
.footer>p {
  text-transform:uppercase;
  font-size:8px;
  letter-spacing:.14em;
  color:#9fb0c5
}
.footer>div {
  display:flex;
  align-items:center;
  gap:25px;
  font-size:10px;
  color:#b8c6d7
}
.footer small {
  font-size:9px
}
.footer>div>a:first-child span {
  padding-left:4px;
  color:var(--orange)
}
.back-top {
  border:1px solid #4b5f77;
  width:33px;
  height:33px;
  display:grid;
  place-items:center;
  font-size:18px;
  border-radius:50%
}
.back-top:hover {
  border-color:var(--orange);
  color:var(--orange)
}


/* Keep flexible grid tracks from inheriting a child's minimum text width. */
.header > *, .section-pad > *, .approach-steps > *, .outcome summary > *,
.outcome-detail > *, .expertise-disciplines > *, .founders > *, .contact-bottom > * {
  min-width: 0;
}

.contact-email {
  max-width: 100%;
   overflow-wrap: anywhere;
}

.hero-bottom p {
  max-width: 100%;
}


/* Compact desktop: preserve usable text widths before switching to a menu. */
@media (max-width: 1360px) {
.header {
  height: 96px;
   gap: 22px;
}

.brand > span {
  font-size: 13px;
   letter-spacing: .24em;
}

.nav {
  gap: 22px;
}

.outline-button {
  gap: 14px;
   padding: 10px 15px;
}

.hero-side-note {
  display: none;
}

.why-heading h2, .outcomes-intro h2 {
  font-size: clamp(36px,3.45vw,48px);
}

.frictions {
  gap: 36px;
}

.outcome summary {
  gap: 24px;
   grid-template-columns: 36px minmax(0,1.35fr) minmax(0,.85fr) 36px;
}

.outcome-detail {
  padding-left: 60px;
   gap: 40px;
}

.expertise-disciplines {
  gap: 22px;
}

.founders {
  gap: 44px;
}

.footer > p {
  display: none;
}

}

@media (max-width: 1100px) {
.header-contact {
  margin-left: auto;
}

.menu-button {
  display: flex !important;
   flex: 0 0 44px;
   flex-direction: column;
   justify-content: center;
   gap: 6px;
   width: 44px;
   height: 44px;
   background: none;
   border: 1px solid #6a7c91;
   border-radius: 50%;
   padding: 0 13px;
}

.menu-button span {
  display: block;
   width: 16px;
   height: 1px;
   background: var(--ice);
   transition: transform .2s;
}

.menu-button[aria-expanded=true] span:first-child {
  transform: translateY(3.5px) rotate(45deg);
}

.menu-button[aria-expanded=true] span:last-child {
  transform: translateY(-3.5px) rotate(-45deg);
}

.nav {
  display: none;
   position: absolute;
   left: var(--pad);
   right: var(--pad);
   top: 84px;
   background: #061b3afa;
   backdrop-filter: blur(16px);
   border: 1px solid #34506e;
   padding: 18px 28px;
   box-shadow: 0 20px 45px #0004;
}

.nav.is-open {
  display: flex;
   flex-direction: column;
   align-items: stretch;
   gap: 0;
}

.nav > a {
  font-size: 12px;
   letter-spacing: .12em;
   padding: 13px 0;
}

.nav-mobile-contact {
  display: flex !important;
   justify-content: space-between;
   border-top: 1px solid var(--line);
   margin-top: 10px;
   color: var(--orange);
}

.hero-content {
  width: 57%;
   padding-top: 122px;
}

.hero h1 {
  font-size: clamp(60px,6.4vw,72px);
}

.hero-intro {
  font-size: 17px;
   max-width: 440px;
}

.hero-art {
  left: 47%;
}

.hero-bottom {
  font-size: 8px;
   gap: 20px;
}

.hero-bottom p i {
  margin: 0 5px;
}

.hero-bottom a {
  gap: 16px;
}

.approach {
  grid-template-columns: minmax(280px,.9fr) minmax(0,1.8fr);
   gap: 32px;
}

.approach-intro h2 {
  font-size: 36px;
}

.approach-steps {
  gap: 20px;
   --step-size: 130px;
}

.step h3 {
  font-size: 10px;
}

.step > p:last-child {
  font-size: 14px;
}

.why-heading, .outcomes-intro, .about-intro {
  gap: 36px;
}

.outcome-summary {
  display: none;
}

.outcome summary {
  grid-template-columns: 36px minmax(0,1fr) 36px;
}

.outcome-title > span:last-child {
  font-size: 32px;
}

.outcome-detail {
  grid-template-columns: minmax(0,1.2fr) minmax(0,1fr);
   gap: 32px;
}

.expertise-disciplines {
  grid-template-columns: repeat(3,minmax(0,1fr));
   gap: 32px;
}

.contact-email {
  font-size: 19px;
   gap: 16px;
}

}

/* Tablet and narrow browser panels: give each group the full row when needed. */
@media (max-width: 960px) {
.approach {
  grid-template-columns: 1fr;
   gap: 44px;
}

.approach-intro {
  display: grid;
   grid-template-columns: repeat(2,minmax(0,1fr));
   column-gap: 40px;
}

.approach-intro .eyebrow {
  grid-column: 1 / -1;
}

.approach-intro > p:not(.eyebrow) {
  margin-top: 0;
   align-self: center;
   max-width: none;
}

.approach-intro .text-link {
  width: fit-content;
}

.approach-steps {
  gap: 36px;
   --step-size: clamp(130px,18vw,170px);
}

.step > p:last-child {
  max-width: none;
}

.why-heading, .outcomes-intro {
  grid-template-columns: 1fr;
   gap: 24px;
}

.why-heading > p, .outcomes-intro > p {
  max-width: 65ch;
}

.why-heading h2, .outcomes-intro h2 {
  max-width: 22ch;
}

.micro-note {
  display: none;
}

.frictions {
  gap: 28px;
   margin-top: 44px;
}

.frictions h3 {
  font-size: 23px;
}

.expertise-intro h2 {
  font-size: 36px;
}

.expertise-diagram {
  min-height: 290px;
}

.orbit-label {
  font-size: 9px;
   padding: 7px;
}

.about-intro {
  grid-template-columns: 1fr;
   gap: 28px;
   margin-bottom: 44px;
}

.about-intro h2 {
  max-width: 24ch;
}

.about-intro > div {
  display: grid;
   grid-template-columns: repeat(2,minmax(0,1fr));
   gap: 40px;
}

.about-intro > div p + p {
  margin: 0;
}

.founders {
  gap: 36px;
}

.founder h3 {
  font-size: 24px;
}

.founder-heading {
  gap: 12px;
}

.contact-bottom {
  grid-template-columns: 1fr;
   gap: 28px;
}

.contact-bottom > div {
  justify-self: start;
}

}

@media (max-width: 700px) {
  .hero { display: flex; flex-direction: column; }
  .hero-content { order: 1; }
  .hero-art { order: 2; }
  .hero-bottom { order: 3; }
:root {
  --pad: 26px;
   --section-space: 64px;
}

.header {
  height: 84px;
}

.brand {
  gap: 12px;
}

.brand img {
  width: 32px;
   height: 35px;
}

.header-contact {
  display: none;
}

.hero-content {
  width: 100%;
   padding: 120px var(--pad) 52px;
}

.hero h1 {
  font-size: clamp(56px,10vw,72px);
}

.hero-intro {
  max-width: 520px;
   font-size: 18px;
}

.hero-detail {
  max-width: 480px;
}

.hero-art {
  position: relative;
   inset: auto;
   height: clamp(250px,52vw,360px);
   margin: -16px 0 0;
}

.mountain {
  object-position: 75% 58%;
}

.hero-monogram {
  left: 15%;
   top: -10%;
   width: 75%;
   height: 120%;
}

.art-shade {
  background: linear-gradient(180deg,var(--deep),transparent 35%,transparent 80%,var(--deep)),linear-gradient(90deg,#04172f88,transparent 45%,#04172f55);
}

.hero-bottom {
  position: relative;
   inset: auto;
   margin: 0 var(--pad);
   min-height: 72px;
   height: auto;
   gap: 20px;
   padding: 18px 0;
}

.hero-bottom p {
  font-size: 8px;
   letter-spacing: .09em;
   line-height: 2;
}

.hero-bottom a {
  font-size: 0;
   flex-shrink: 0;
}

.hero-bottom a span {
  font-size: 24px;
}

.hero:before {
  display: none;
}

.approach-intro {
  display: block;
}

.approach-intro h2 {
  font-size: 40px;
}

.approach-intro > p:not(.eyebrow) {
  margin-top: 24px;
   max-width: 56ch;
}

.approach-steps {
  gap: 24px;
   --step-size: clamp(115px,20vw,150px);
}

.step h3 {
  white-space: normal;
}

.section-topline {
  margin-bottom: 28px;
}

.why-heading h2, .outcomes-intro h2 {
  font-size: clamp(33px,6vw,40px);
}

.frictions {
  grid-template-columns: 1fr;
   gap: 30px;
}

.frictions article {
  padding: 24px 140px 0 34px;
}

.friction-index {
  position: absolute;
   top: 29px;
   left: 0;
}

.frictions h3 {
  margin: 0 0 12px;
}

.frictions p {
  max-width: 50ch;
}

.friction-graphic {
  position: absolute;
   right: 0;
   top: 32px;
   width: 140px;
   transform: scale(.65);
   transform-origin: center right;
   margin: 0;
}

.outcomes-intro {
  margin-bottom: 36px;
}

.outcome summary {
  grid-template-columns: 24px minmax(0,1fr) 32px;
   gap: 16px;
   padding: 28px 0;
}

.outcome-title > span:last-child {
  font-size: 28px;
}

.outcome-title > .eyebrow {
  font-size: 8px;
   letter-spacing: .1em;
}

.outcome-detail {
  grid-template-columns: 1fr;
   gap: 26px;
   padding: 0 0 32px 40px;
}

.outcome-result {
  padding: 22px 0 0;
   border-top: 1px solid var(--line);
   border-left: 0;
}

.outcome-detail .outcome-result > p:not(.detail-label) {
  font-size: 22px;
   max-width: 35ch;
}

.outcomes-foot {
  justify-content: start;
   align-items: baseline;
}

.outcomes-foot .tiny-line {
  flex-shrink: 0;
}

.expertise-section {
  grid-template-columns: 1fr;
   row-gap: 40px;
}

.expertise-intro h2 {
  font-size: 38px;
   max-width: 24ch;
}

.expertise-diagram {
  width: min(100%,460px);
   min-height: 300px;
}

.expertise-disciplines {
  grid-template-columns: repeat(2,minmax(0,1fr));
   gap: 32px;
}

.expertise-disciplines h3 {
  font-size: 20px;
}

.about-intro > div {
  grid-template-columns: 1fr;
   gap: 20px;
}

.about-intro h2 {
  font-size: 38px;
}

.founders {
  grid-template-columns: 1fr;
   gap: 40px;
}

.founder h3 {
  font-size: 27px;
}

.contact h2 {
  font-size: clamp(58px,11vw,78px);
}

.contact h2 > svg {
  width: 42px;
   height: 42px;
   left: calc(100% + 26px);
   top: 10px;
}

.contact-email {
  font-size: clamp(16px,3.8vw,23px);
   gap: 12px;
}

.contact-orbit {
  width: 120%;
   top: -10%;
   right: -65%;
}

.footer {
  display: grid;
   grid-template-columns: 1fr;
   gap: 26px;
}

.footer > div {
  flex-wrap: wrap;
   gap: 18px;
}

.footer small {
  margin-left: auto;
}

}

@media (max-width: 520px) {
:root {
  --pad: 22px;
   --section-space: 56px;
}

.hero-content {
  padding-top: 116px;
   padding-bottom: 38px;
}

.hero h1 {
  font-size: clamp(48px,12.7vw,66px);
}

.hero .eyebrow {
  font-size: 8px;
   letter-spacing: .12em;
   gap: 10px;
}

.hero-intro {
  font-size: 17px;
}

.hero-detail {
  font-size: 14px;
}

.arrow-link {
  font-size: 9px;
   gap: 16px;
}

.hero-art {
  height: clamp(220px,60vw,290px);
}

.hero-monogram {
  left: 6%;
   width: 90%;
}

.approach-steps {
  grid-template-columns: 1fr;
   gap: 32px;
   --step-size: 112px;
}

.step {
  display: grid;
   grid-template-columns: var(--step-size) minmax(0,1fr);
   grid-template-rows: auto auto 1fr;
   column-gap: 24px;
}

.step-visual {
  grid-row: 1 / 4;
   margin: 0;
}

.step-index {
  grid-column: 2;
   margin: 0 0 4px;
}

.step h3 {
  grid-column: 2;
   font-size: 11px;
   margin-bottom: 8px;
}

.step > p:last-child {
  grid-column: 2;
   font-size: 14px;
}

.step-connector {
  top: 56px;
   bottom: 56px;
   left: 56px;
   right: auto;
   width: 1px;
   height: auto;
}

.step-connector > span {
  display: none;
}

.step-dot {
  top: 100%;
   left: calc(50% - 5px);
}

.frictions article {
  padding-right: 0;
}

.friction-graphic {
  display: none;
}

.outcome-title > span:last-child {
  font-size: 25px;
}

.outcome summary {
  grid-template-columns: 20px minmax(0,1fr) 30px;
   gap: 12px;
}

.outcome-detail {
  padding-left: 0;
}

.expand-icon {
  width: 30px;
   height: 30px;
}

.expand-icon:before, .expand-icon:after {
  top: 14px;
   left: 8px;
}

.expertise-diagram {
  min-height: 270px;
}

.orbit-label {
  font-size: 8px;
}

.label-engineering {
  left: -3%;
}

.expertise-disciplines {
  gap: 28px 24px;
}

.contact-email {
  font-size: 16px;
}

.footer > div {
  gap: 14px;
}

.footer small {
  font-size: 9px;
}

}

@media (max-width: 360px) {
:root {
  --pad: 18px;
}

.brand > span {
  font-size: 12px;
}

.hero .eyebrow {
  font-size: 7px;
}

.hero h1 {
  font-size: 46px;
}

.step {
  column-gap: 18px;
   --step-size: 88px;
}

.step-connector {
  left: 44px;
}

.contact h2 {
  font-size: 54px;
}

.contact h2 > svg {
  width: 30px;
   height: 30px;
   left: calc(100% + 18px);
}

.contact-email {
  font-size: 14px;
}

.expertise-disciplines {
  grid-template-columns: 1fr;
}

.outcome-title > span:last-child {
  font-size: 23px;
}

}

@media (prefers-reduced-motion: reduce) {
html {
  scroll-behavior: auto;
}

*, *:before, *:after {
  animation: none !important;
   transition: none !important;
}

}

/* Delta Point typography: Prata + Onest (approved option 12). */
:root h1,:root h2,:root h3,:root .outcome-title>span:last-child,:root .outcome-detail .outcome-result>p:not(.detail-label),:root .orbit-center p {font-weight:400}
:root h1,:root h2,:root .outcome-title>span:last-child {letter-spacing:-.015em}
:root .contact h2 {letter-spacing:-.025em}
:root .nav,:root .brand,:root .eyebrow,:root .micro-note,:root .detail-label,:root .outline-button,:root .arrow-link,:root .text-link,:root .orbit-label,:root .hero-bottom,:root .step-index,:root .friction-index,:root .outcome-index,:root .footer,:root .copy-email {font-family:var(--ui)}
:root .contact-email,:root .contact-bottom>p,:root .founder-focus {font-weight:400}
@media(max-width:520px) {:root .hero h1 {font-size:clamp(42px,11.5vw,60px)}}

/* Approved Figtree wordmark and stronger DP symbol, as outlined SVG artwork. */
.brand .brand-wordmark {
  display:block;
  width:252px;
  height:auto;
}
.footer .brand .brand-wordmark {width:222px;height:auto}
@media(max-width:1360px) {
  .header .brand .brand-wordmark {width:232px}
}
@media(max-width:700px) {
  .header .brand .brand-wordmark {width:210px}
}
@media(max-width:360px) {
  .header .brand .brand-wordmark {width:196px}
}


/* Design pass: a quieter opening and a clear light/dark reading rhythm. */
:root { --section-space:clamp(72px,6.7vw,104px); }
.hero { background:var(--navy); }
.hero:before { display:none; }
.hero-content { width:62%; padding:clamp(150px,12vw,180px) 24px 90px var(--pad); }
:root .hero h1 { font-size:clamp(50px,6.1vw,92px); line-height:1.12; letter-spacing:-.025em; }
.hero-intro { max-width:43ch; margin-top:28px; font-size:18px; line-height:1.75; }
.hero .arrow-link { margin-top:32px; }
.hero-art { inset:104px 0 28px 50%; }
.art-shade { background:linear-gradient(90deg,var(--navy),rgba(6,27,58,.65) 14%,transparent 45%,rgba(6,27,58,.12) 80%,var(--navy)),linear-gradient(180deg,var(--navy),transparent 22%,transparent 75%,var(--navy)); }
.section-topline { margin-bottom:32px; }
.eyebrow { font-size:11px; letter-spacing:.14em; }
.why { background:var(--ice); color:var(--navy); border:0; }
.why-heading { display:block; }
.why-heading h2 { max-width:none; }
.why-heading h2 span { color:#53667b; }
.frictions { margin-top:38px; gap:40px; }
.frictions article { border-color:#c7d1dd; padding:20px 0 0; }
.friction-index { color:#53667b; }
.frictions h3 { margin:8px 0 10px; }
.frictions p { color:#4d6077; max-width:30ch; }
.outcomes { background:var(--navy); }
.outcomes-intro { margin-bottom:40px; }
.outcomes-intro h2 { max-width:none; }
.outcomes-intro>p { color:#c0cddd; }
.outcome summary { grid-template-columns:36px minmax(0,1fr) 44px; gap:24px; padding:28px 0; }
.outcome-index,.outcome-title>.eyebrow { font-size:14px; font-weight:500; line-height:1.6; }
.outcome-title>.eyebrow { letter-spacing:.06em; margin-bottom:8px; color:#b8c6d7; }
.outcome-title>span:last-child { font-size:clamp(25px,2.3vw,35px); }
.outcome-detail { padding-left:60px; }
.expand-icon { width:40px; height:40px; justify-self:end; }
.expand-icon:before,.expand-icon:after { top:19px; left:13px; }
.approach { background:var(--ice); }
.approach h2 .orange { color:var(--navy); }
.expertise-section { background:var(--navy); color:var(--ice); }
.expertise-intro .muted-ink { color:#a8b9ce; }
.expertise-intro>p:not(.eyebrow),.expertise-disciplines p { color:#c0cddd; }
.expertise-disciplines { border-color:var(--line); }
.expertise-disciplines article>span { color:#a8b9ce; }
.expertise-section .orbit { border-color:#60748e; }
.expertise-section .orbit-two { border-color:#425b78; }
.expertise-section .orbit-three { border-color:#526a86; }
.expertise-section .orbit-label { background:var(--navy); }
.expertise-section .orbit-center>span { box-shadow:0 0 0 6px var(--navy),0 0 0 7px var(--orange); }
.about { background:var(--ice); color:var(--navy); }
.about h2 .orange { color:var(--navy); }
.about-intro { margin-bottom:44px; }
.about-intro>div p,.founder>p { color:#4d6077; }
.founder { border-color:#c7d1dd; }
.founder .eyebrow { color:#53667b; font-size:10px; }
.founder-link { border-color:#8393a6; color:var(--navy); }
.founder-mark { display:none; }
.about-intro>div { display:block; }

@media(min-width:1101px) {
  .nav>a { font-size:10px; letter-spacing:.1em; }
}
@media(max-width:1100px) {
  .hero-content { padding-top:148px; padding-bottom:76px; }
  .hero-intro { font-size:17px; }
}
@media(max-width:960px) {
  .hero-content { width:66%; }
  .hero-art { left:47%; }
  .outcomes-intro { gap:22px; }
  .outcome-title>span:last-child { font-size:28px; }
  .expertise-section { row-gap:44px; }
}
@media(max-width:700px) {
  :root { --section-space:64px; }
  .hero-content { width:100%; padding:124px var(--pad) 40px; }
  :root .hero h1 { font-size:clamp(37px,8.7vw,60px); }
  .hero-intro { max-width:43ch; margin-top:22px; }
  .hero .arrow-link { margin-top:26px; }
  .hero-art { position:relative; inset:auto; height:clamp(200px,43vw,280px); margin:0; }
  .hero-monogram { top:-8%; height:116%; }
  .art-shade { background:linear-gradient(180deg,var(--navy),transparent 30%,transparent 75%,var(--navy)),linear-gradient(90deg,rgba(6,27,58,.55),transparent 45%,rgba(6,27,58,.3)); }
  .section-topline { margin-bottom:26px; }
  .why-heading h2,.outcomes-intro h2 { font-size:clamp(29px,5.5vw,38px); line-height:1.25; }
  .frictions { gap:22px; margin-top:30px; }
  .frictions article { padding:20px 0 0 34px; }
  .friction-index { top:24px; }
  .frictions h3 { margin:0 0 8px; font-size:22px; }
  .frictions p { max-width:45ch; }
  .outcome summary { grid-template-columns:20px minmax(0,1fr) 40px; gap:12px; padding:24px 0; }
  .outcome-title>span:last-child { font-size:24px; line-height:1.3; }
  .outcome-title>.eyebrow { letter-spacing:.04em; }
  .outcome-detail { padding:0 0 28px; }
  .about-intro h2 { font-size:34px; }
  .about-intro { margin-bottom:32px; }
  .founder h3 { font-size:25px; }
}
@media(max-width:360px) {
  :root .hero h1 { font-size:33px; }
  .hero-intro { font-size:16px; }
  .outcome-title>span:last-child { font-size:21px; }
  .founder .eyebrow { font-size:9px; }
  .orbit-center { left:29%; width:44%; font-size:16px; }
}

/* Why: an editorial headline and problem cards matching the delivery stages. */
.why .section-topline { margin-bottom:30px; }
.why .section-topline .eyebrow { display:flex; align-items:center; gap:14px; }
.why .section-topline .eyebrow:before { content:''; width:28px; height:3px; background:var(--orange); }
.why-heading { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); align-items:center; gap:48px; }
.why-heading h2 { font-size:clamp(42px,4.2vw,68px); line-height:1.17; letter-spacing:-.025em; }
.why-heading h2 span { display:block; color:var(--navy); }
.why-connection { width:100%; max-width:calc(var(--section-heading-size) * 6); justify-self:end; }
.why-connection svg { width:100%; height:auto; overflow:visible; }
.connection-guide { stroke:#dce3eb; stroke-width:1; }
.connection-track { stroke:var(--navy); stroke-width:2; }
.connection-origin { fill:var(--ice); stroke:var(--navy); stroke-width:2; }
.connection-gap { stroke:#8393a6; stroke-width:2; stroke-dasharray:2 6; }
.connection-join,.connection-arrow { stroke:var(--orange); stroke-width:3; }
.connection-halo { fill:var(--ice); stroke:var(--orange); stroke-width:1; }
.connection-point { fill:var(--orange); }
.why .frictions { margin-top:64px; gap:24px; background:transparent; border:0; }
.why .frictions article { padding:38px 24px 28px; border-top:2px solid var(--orange); background:#e8edf3; overflow:visible; }
.why .frictions article+article { border-left:0; }
.why .friction-index { position:absolute; top:-23px; left:24px; display:grid; place-items:center; width:44px; height:44px; border:2px solid var(--ice); border-radius:50%; background:var(--navy); color:var(--ice); font:500 18px/1 var(--ui); letter-spacing:normal; }
.why .friction-index:after { display:none; }
.why .frictions h3 { margin:0 0 12px; font-size:clamp(23px,2vw,30px); line-height:1.25; }
.why .frictions p { max-width:34ch; color:#41556f; font-size:16px; line-height:1.7; }
@media(max-width:1100px) {
  .why-heading { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:32px; }
  .why-heading h2 { font-size:clamp(38px,4.3vw,47px); }
  .why .frictions { gap:20px; }
  .why .frictions article { padding:36px 20px 24px; }
  .why .friction-index { left:20px; }
  .why .frictions h3 { min-height:2.5em; }
}
@media(max-width:700px) {
  .why-heading { grid-template-columns:1fr; gap:24px; }
  .why-heading h2 { font-size:clamp(32px,6vw,43px); line-height:1.2; }
  .why-break { display:none; }
  .why-connection { max-width:320px; justify-self:center; margin:-12px 0 -8px; }
  .why .frictions { margin-top:52px; gap:36px; }
  .why .frictions article { padding:28px 24px 24px; }
  .why .friction-index { left:24px; top:-17px; width:32px; height:32px; font-size:14px; }
  .why .frictions h3 { min-height:0; margin:0 0 9px; font-size:25px; }
  .why .frictions p { max-width:46ch; font-size:15px; }
}
@media(max-width:520px) {
  .why-heading { gap:0; }
  .why-connection { display:none; }
  .why .frictions h3 { font-size:22px; }
}
@media(max-width:360px) {
  .why-heading h2 { font-size:29px; }
  .why .frictions article { padding-left:18px; padding-right:18px; }
  .why .friction-index { left:18px; }
  .why .frictions h3 { font-size:21px; }
}

/* Expanded outcomes: readable service and result copy, without capability tags. */
.outcome-detail .detail-label { font-size:11px; letter-spacing:.1em; color:#b8c6d7; margin-bottom:12px; }
.outcome-detail>div>p:not(.detail-label) { font-size:17px; }
.outcome-result .text-link { font-size:11px; line-height:1.6; letter-spacing:.08em; margin-top:20px; }

/* How we work: three connected stages with full-width imagery and readable copy. */
.approach { display:block; }
.approach .section-topline { margin-bottom:30px; }
.approach .section-topline .eyebrow { display:flex; align-items:center; gap:14px; }
.approach .section-topline .eyebrow:before { content:''; width:28px; height:3px; background:var(--orange); }
.approach-lead { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:64px; }
.approach-lead h2 { font-size:clamp(42px,4.2vw,68px); line-height:1.17; letter-spacing:-.025em; }
.approach-summary { max-width:46ch; }
.approach-summary>p { color:#41556f; font-size:18px; line-height:1.75; }
.approach-summary .text-link { font-size:11px; letter-spacing:.08em; margin-top:22px; }
.delivery-path { --stage-image-height:clamp(150px,14vw,200px); position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:0; margin:44px 0 0; list-style:none; }
.delivery-path:before { content:''; position:absolute; z-index:1; top:calc(var(--stage-image-height) - 1px); left:46px; right:18px; height:2px; background:var(--orange); }
.delivery-path:after { content:''; position:absolute; z-index:1; top:calc(var(--stage-image-height) - 5px); right:18px; width:8px; height:8px; border-top:2px solid var(--orange); border-right:2px solid var(--orange); transform:rotate(45deg); }
.delivery-stage { position:relative; min-width:0; background:#e8edf3; }
.stage-image { height:var(--stage-image-height); overflow:hidden; }
.stage-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.8); }
.stage-index { position:absolute; z-index:2; top:calc(var(--stage-image-height) - 22px); left:24px; display:grid; place-items:center; width:44px; height:44px; border:2px solid var(--ice); border-radius:50%; background:var(--navy); color:var(--ice); font:500 18px/1 var(--ui); }
.stage-body { padding:38px 24px 28px; }
.stage-body h3 { margin-bottom:12px; font-size:clamp(23px,2vw,30px); line-height:1.25; letter-spacing:-.025em; }
.stage-body p { max-width:34ch; color:#41556f; font-size:16px; line-height:1.7; }
@media(max-width:1100px) {
  .approach-lead { gap:40px; }
  .approach-lead h2 { font-size:clamp(38px,4.3vw,47px); }
  .approach-summary>p { font-size:17px; }
  .delivery-path { gap:20px; }
  .stage-body { padding:36px 20px 24px; }
  .stage-index { left:20px; }
  .delivery-path:before { left:42px; }
}
@media(max-width:700px) {
  .approach-lead { grid-template-columns:1fr; gap:24px; }
  .approach-lead h2 { font-size:clamp(34px,6vw,43px); }
  .approach-summary { max-width:48ch; }
  .approach-summary>p { font-size:16px; }
  .delivery-path { --stage-image-height:88px; grid-template-columns:1fr; gap:30px; margin-top:36px; }
  .delivery-path:before,.delivery-path:after { display:none; }
  .delivery-stage { display:grid; grid-template-columns:88px minmax(0,1fr); gap:24px; background:transparent; }
  .delivery-stage:not(:last-child):after { content:''; position:absolute; top:88px; bottom:-30px; left:43px; width:2px; background:var(--orange); }
  .stage-image { position:relative; z-index:1; }
  .stage-index { top:72px; left:28px; width:32px; height:32px; font-size:14px; }
  .stage-body { padding:0; }
  .stage-body h3 { margin-bottom:9px; font-size:25px; }
  .stage-body p { max-width:42ch; font-size:15px; }
}
@media(max-width:520px) {
  .delivery-path { --stage-image-height:72px; }
  .delivery-stage { grid-template-columns:72px minmax(0,1fr); gap:20px; }
  .delivery-stage:not(:last-child):after { top:72px; left:35px; }
  .stage-index { top:56px; left:20px; }
  .stage-body h3 { font-size:22px; }
}
@media(max-width:360px) {
  .approach-lead h2 { font-size:32px; }
  .delivery-stage { column-gap:16px; }
  .stage-body h3 { font-size:21px; }
}

/* Integrated expertise: five disciplines and one shared outcome in one composition. */
.expertise-section { display:block; }
.expertise-section .section-topline { margin-bottom:36px; }
.expertise-section .section-topline .eyebrow { display:flex; align-items:center; gap:14px; }
.expertise-section .section-topline .eyebrow:before { content:''; width:28px; height:3px; background:var(--orange); }
.expertise-layout { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr); gap:clamp(40px,5vw,80px); align-items:center; }
.expertise-lead h2 { max-width:18ch; font-size:clamp(42px,4.2vw,64px); line-height:1.17; letter-spacing:-.025em; text-wrap:balance; }
.expertise-lead h2 .muted-ink { color:var(--orange); }
.expertise-lead>p { max-width:38ch; margin-top:28px; color:#c0cddd; font-size:17px; line-height:1.75; }
.expertise-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 20px; padding-top:18px; }
.discipline-card { position:relative; min-width:0; padding:34px 22px 24px; background:#10294a; border-top:2px solid var(--orange); }
.discipline-index { position:absolute; top:-19px; left:22px; display:grid; place-items:center; width:36px; height:36px; border:2px solid var(--navy); border-radius:50%; background:var(--ice); color:var(--navy); font:500 15px/1 var(--ui); }
.discipline-card h3 { margin-bottom:10px; font-size:clamp(23px,2vw,29px); line-height:1.25; letter-spacing:-.025em; }
.discipline-card p { max-width:29ch; color:#c0cddd; font-size:16px; line-height:1.7; }
.expertise-outcome { display:flex; flex-direction:column; justify-content:center; gap:18px; padding:24px; background:var(--orange); color:var(--navy); }
.expertise-outcome-mark { display:grid; place-items:center; width:32px; height:32px; border:1px solid currentColor; border-radius:50%; }
.expertise-outcome-mark:after { content:''; width:10px; height:10px; border-radius:50%; background:currentColor; }
.expertise-outcome p { font-family:var(--display); font-size:clamp(27px,2.6vw,38px); line-height:1.2; letter-spacing:-.02em; }
@media(max-width:1100px) {
  .expertise-layout { gap:36px; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); }
  .expertise-lead h2 { font-size:clamp(36px,4.1vw,45px); }
  .expertise-grid { gap:30px 16px; }
  .discipline-card { padding:30px 18px 22px; }
  .discipline-index { left:18px; }
  .discipline-card h3 { font-size:23px; }
  .discipline-card p { font-size:15px; }
  .expertise-outcome { padding:22px; }
}
@media(max-width:900px) {
  .expertise-layout { grid-template-columns:1fr; gap:40px; }
  .expertise-lead h2 { max-width:24ch; font-size:clamp(36px,4.8vw,44px); }
  .expertise-lead>p { max-width:58ch; }
  .expertise-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 20px; }
  .discipline-card { padding:30px 20px 24px; }
  .discipline-index { left:20px; }
}
@media(max-width:700px) {
  .expertise-section .section-topline { margin-bottom:30px; }
  .expertise-lead h2 { font-size:clamp(32px,5.5vw,40px); }
  .expertise-lead>p { margin-top:24px; font-size:16px; }
  .expertise-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 18px; }
  .discipline-card h3 { font-size:22px; }
  .expertise-outcome p { font-size:29px; }
}
@media(max-width:520px) {
  .expertise-layout { gap:32px; }
  .expertise-grid { grid-template-columns:1fr; gap:0; padding:0; background:#10294a; }
  .discipline-card { padding:22px 20px 22px 68px; border-top:1px solid #34516e; }
  .discipline-card:first-child { border-top:2px solid var(--orange); }
  .discipline-index { top:22px; left:20px; width:32px; height:32px; font-size:14px; border-color:#10294a; }
  .discipline-card h3 { margin-bottom:7px; }
  .discipline-card p { max-width:40ch; }
  .expertise-outcome { flex-direction:row; align-items:center; justify-content:flex-start; gap:18px; padding:24px 20px; }
  .expertise-outcome-mark { flex-shrink:0; }
  .expertise-outcome p { font-size:27px; }
  .expertise-outcome p br { display:none; }
}
@media(max-width:360px) {
  .expertise-lead h2 { font-size:30px; }
  .discipline-card { padding-left:60px; padding-right:18px; }
  .discipline-index { left:16px; }
  .expertise-outcome { gap:14px; padding-inline:18px; }
}

/* Senior by design: people lead, the wider network supports them. */
.about .section-topline { margin-bottom:30px; }
.about .section-topline .eyebrow { display:flex; align-items:center; gap:14px; }
.about .section-topline .eyebrow:before { content:''; width:28px; height:3px; background:var(--orange); }
.senior-lead { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr); align-items:center; gap:64px; }
.senior-lead h2 { font-size:clamp(42px,4.2vw,68px); line-height:1.17; letter-spacing:-.025em; }
.senior-lead h2>span { display:block; }
.senior-lead>p { max-width:43ch; color:#41556f; font-size:18px; line-height:1.75; }
.senior-team { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:24px; margin-top:40px; }
.person-profile { position:relative; display:grid; grid-template-columns:clamp(112px,10.5vw,168px) minmax(0,1fr); grid-template-areas:'portrait identity' 'portrait bio'; column-gap:24px; row-gap:14px; align-content:start; min-width:0; padding:28px; border-top:2px solid #b5c1cf; background:#e8edf3; color:var(--navy); }
.person-portrait { grid-area:portrait; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; align-self:start; border-radius:2px; background:#d5dbe2; }
.person-identity { grid-area:identity; min-width:0; }
.person-label { min-height:26px; margin:0 0 8px; color:#41556f; font-size:11px; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; }
.person-profile h3 { margin:0 0 10px; font-size:clamp(28px,2.4vw,38px); line-height:1.22; letter-spacing:-.025em; }
.person-specialism { margin:0; font-size:13px; font-weight:500; line-height:1.5; }
.person-bio { grid-area:bio; max-width:41ch; color:#41556f; font-size:16px; line-height:1.7; }
.founder-lead { border-top-color:var(--orange); }
.founder-lead .person-label { padding-right:44px; }
.founder-lead h3 { font-size:clamp(30px,2.7vw,40px); }
.profile-link { position:absolute; top:14px; right:14px; display:grid; place-items:center; width:44px; height:44px; border:1px solid #8393a6; border-radius:50%; color:var(--navy); font-size:22px; }
.profile-link:hover { border-color:var(--navy); }
.profile-link:focus-visible { outline:2px solid var(--navy); outline-offset:4px; }
.senior-support { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:40px; margin-top:28px; padding-top:24px; border-top:1px solid #c7d1dd; }
.senior-network { min-width:0; display:flex; align-items:flex-start; gap:20px; color:var(--navy); }
.network-symbol { flex:0 0 72px; display:block; width:72px; height:auto; margin-top:5px; color:#8393a6; }
.senior-network .eyebrow { margin:0 0 8px; color:#41556f; font-size:10px; line-height:1.5; letter-spacing:.1em; }
.senior-network h3 { margin:0 0 6px; font-family:var(--ui); font-size:20px; line-height:1.4; letter-spacing:-.015em; }
.network-description { max-width:52ch; color:#41556f; font-size:15px; line-height:1.6; }
.network-invite { min-width:0; padding-left:28px; border-left:1px solid #c7d1dd; }
.network-invite h3 { margin:0 0 4px; color:#41556f; font-family:var(--ui); font-size:16px; line-height:1.5; letter-spacing:0; }
.network-invite-description { margin:0; color:#41556f; font-size:14px; line-height:1.6; }
.network-invite-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:2px; color:#41556f; font-size:14px; font-weight:500; text-decoration:underline; text-underline-offset:4px; text-decoration-color:#8393a6; }
.network-invite-link span { font-size:18px; }
.network-invite-link:hover { color:var(--navy); }
.network-invite-link:focus-visible { outline:2px solid var(--navy); outline-offset:4px; }
@media(max-width:1100px) {
  .senior-lead { gap:40px; }
  .senior-lead h2 { font-size:clamp(38px,4.3vw,47px); }
  .senior-lead>p { font-size:17px; }
  .senior-team { gap:20px; }
  .person-profile { grid-template-columns:108px minmax(0,1fr); column-gap:20px; padding:24px; }
  .profile-link { right:12px; top:10px; }
  .senior-support { gap:28px; }
  .senior-network { gap:16px; }
  .network-symbol { flex-basis:56px; width:56px; }
  .network-invite { padding-left:24px; }
}
@media(max-width:960px) {
  .senior-team { grid-template-columns:1fr; gap:20px; }
  .person-profile { grid-template-columns:140px minmax(0,1fr); column-gap:24px; }
  .person-profile h3 { font-size:30px; }
  .founder-lead h3 { font-size:34px; }
}
@media(max-width:760px) {
  .senior-support { grid-template-columns:1fr; gap:24px; }
  .network-invite { padding:16px 0 0; border-left:0; border-top:1px solid #c7d1dd; }
  .person-bio { max-width:52ch; }
}
@media(max-width:700px) {
  .senior-lead { grid-template-columns:1fr; gap:24px; }
  .senior-lead>p { font-size:16px; max-width:48ch; }
  .senior-team { gap:20px; margin-top:32px; }
  .person-profile { grid-template-columns:120px minmax(0,1fr); column-gap:20px; padding:22px; }
  .person-label { font-size:10px; }
  .person-profile h3 { font-size:28px; }
  .founder-lead h3 { font-size:31px; }
  .person-specialism { font-size:12px; }
  .person-bio { font-size:15px; }
  .profile-link { top:8px; right:12px; }
  .senior-network { gap:14px; }
  .network-symbol { flex-basis:44px; width:44px; }
  .senior-network h3 { font-size:18px; }
}
@media(max-width:560px) {
  .person-profile { grid-template-columns:88px minmax(0,1fr); grid-template-areas:'portrait identity' 'bio bio'; column-gap:18px; row-gap:18px; }
  .person-profile h3 { font-size:25px; }
  .founder-lead h3 { font-size:27px; }
  .person-bio { font-size:15px; line-height:1.65; }
}
@media(max-width:360px) {
  .person-profile { grid-template-columns:80px minmax(0,1fr); column-gap:14px; padding-inline:18px; }
  .person-profile h3 { font-size:22px; }
  .founder-lead h3 { font-size:24px; }
  .network-symbol { display:none; }
}

/* Contact: a specific invitation and one clear route to a founder. */
.contact-close { padding-block:var(--section-space); }
.contact-close .section-topline { margin-bottom:42px; }
.contact-close .section-topline .eyebrow { display:flex; align-items:center; gap:14px; color:var(--ice); }
.contact-close .section-topline .eyebrow:before { content:''; width:28px; height:3px; background:var(--orange); }
.contact-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr); align-items:center; gap:clamp(48px,6vw,96px); }
.contact-lead,.reachout-card { min-width:0; }
.contact .contact-lead h2 { width:auto; color:var(--ice); font-size:clamp(42px,4.6vw,72px); font-weight:400; line-height:1.17; letter-spacing:-.025em; }
.contact .contact-lead h2>span { color:var(--ice); }
.contact-invitation { max-width:44ch; margin-top:28px; color:var(--ice); font-size:18px; line-height:1.75; }
.contact-new { max-width:49ch; margin-top:32px; padding-top:24px; border-top:1px solid #809ce8; color:#e0e7ff; font-size:15px; line-height:1.75; }
.contact-new strong { color:var(--ice); font-weight:500; }
.reachout-card { position:relative; padding:40px 32px 32px; border-top:2px solid var(--orange); background:var(--ice); color:var(--navy); }
.reachout-mark { position:absolute; top:-23px; left:32px; display:grid; place-items:center; width:44px; height:44px; border:2px solid var(--cobalt); border-radius:50%; background:var(--navy); color:var(--ice); font:400 26px/1 var(--ui); }
.reachout-card h3 { margin-bottom:16px; font-size:clamp(27px,2.5vw,36px); line-height:1.25; letter-spacing:-.025em; }
.reachout-intro { max-width:38ch; color:#41556f; font-size:16px; line-height:1.75; }
.contact-action { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:56px; margin-top:26px; padding:14px 20px; background:var(--orange); color:var(--navy); font-size:16px; font-weight:500; }
.contact-action span { font-size:25px; line-height:1; }
.contact-action:hover { background:var(--navy); color:var(--ice); }
.reachout-card a:focus-visible { outline:2px solid var(--navy); outline-offset:4px; }
@media(max-width:1100px) {
  .contact-layout { gap:40px; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
  .contact .contact-lead h2 { font-size:clamp(38px,4.5vw,49px); }
  .contact-invitation { font-size:17px; }
  .reachout-card { padding:36px 26px 26px; }
  .reachout-mark { left:26px; }
  .reachout-card h3 { font-size:28px; }
}
@media(max-width:760px) {
  .contact-layout { grid-template-columns:1fr; gap:48px; }
  .contact-close .section-topline { margin-bottom:30px; }
  .contact .contact-lead h2 { font-size:clamp(34px,6vw,45px); }
  .contact-invitation { margin-top:24px; max-width:49ch; font-size:16px; }
  .contact-new { max-width:52ch; margin-top:24px; padding-top:20px; }
  .reachout-card { padding:34px 26px 26px; }
  .reachout-intro { max-width:52ch; }
}
@media(max-width:520px) {
  .reachout-card { padding:30px 22px 22px; }
  .reachout-mark { left:22px; top:-19px; width:36px; height:36px; font-size:22px; }
  .reachout-card h3 { font-size:26px; }
  .reachout-intro { font-size:15px; }
  .contact-action { margin-top:22px; font-size:15px; }
}
@media(max-width:360px) {
  .contact .contact-lead h2 { font-size:31px; }
  .reachout-card { padding-inline:18px; }
  .reachout-mark { left:18px; }
  .reachout-card h3 { font-size:24px; }
}

/* Final visual rhythm: shared heading scale, section labels, and readable controls. */
:root {
  --section-heading-size:clamp(42px,4.2vw,64px);
  --section-label-gap:32px;
  --section-copy-size:18px;
}
.section-pad h2,.contact-close .contact-lead h2 {
  font-size:var(--section-heading-size);
  line-height:1.2;
  letter-spacing:-.025em;
}
.section-pad .section-topline { margin-bottom:var(--section-label-gap); }
.section-pad .section-topline .eyebrow { display:flex; align-items:center; gap:14px; }
.section-pad .section-topline .eyebrow:before { content:''; flex:0 0 28px; height:3px; background:var(--orange); }
.outcomes-intro { display:block; margin-bottom:44px; }
.outcomes-intro h2>.orange { white-space:nowrap; }
.approach-summary>p,.expertise-lead>p,.senior-lead>p,.contact-invitation { font-size:var(--section-copy-size); line-height:1.75; }
.hero .arrow-link { font-size:11px; letter-spacing:.08em; gap:14px; }
.header-contact { font-size:11px; letter-spacing:.08em; }
.footer>p { font-size:10px; letter-spacing:.1em; }
.footer>div { font-size:12px; }
.footer small { font-size:11px; }
.footer .back-top { width:44px; height:44px; flex:0 0 44px; }
@media(min-width:1101px) {
  .nav>a { font-size:11px; letter-spacing:.08em; }
}
@media(max-width:1100px) {
  :root { --section-heading-size:clamp(38px,4.3vw,47px); --section-copy-size:17px; }
}
@media(min-width:701px) and (max-width:900px) {
  .stage-body h3 { min-height:2.5em; }
}
@media(max-width:700px) {
  :root { --section-heading-size:clamp(32px,6vw,40px); --section-label-gap:28px; --section-copy-size:16px; }
  .why-heading h2,.senior-lead h2 { text-wrap:balance; }
  .why-heading h2>span { text-wrap:balance; }
  .senior-lead h2>span { display:inline; }
  .outcomes-intro { margin-bottom:36px; }
  .footer { gap:24px; padding-block:36px; }
  .footer .brand .brand-wordmark { width:210px; }
  .footer>div { display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:8px 20px; width:100%; }
  .footer>div>a:first-child { grid-column:1; grid-row:1; display:inline-flex; align-items:center; min-height:44px; width:max-content; }
  .footer small { grid-column:1; grid-row:2; margin:0; }
  .footer .back-top { grid-column:2; grid-row:1 / 3; }
}
@media(max-width:360px) {
  :root { --section-heading-size:30px; }
  .footer .brand .brand-wordmark { width:196px; }
}

/* The complete headline turns downward on a three-sided prism. */
.hero h1>.hero-rotator { display:grid; color:var(--ice); white-space:normal; overflow:visible; padding-block:.08em; margin-block:-.08em; }
.hero-phrase { grid-area:1 / 1; display:grid; grid-template-rows:repeat(2,1fr); min-width:0; visibility:hidden; }
.hero-phrase.is-current { visibility:visible; }
.hero-rotator.is-turning>.hero-phrase { visibility:hidden; }
.hero-line,.hero-emphasis { display:block; }
.hero-emphasis { color:var(--orange); }
.hero-prism-scene { grid-area:1 / 1; position:relative; min-width:0; perspective:1100px; perspective-origin:50% 50%; pointer-events:none; }
.hero-prism { position:absolute; inset:0; transform-style:preserve-3d; will-change:transform; }
.hero-prism-face { position:absolute; inset:0; display:grid; grid-template-rows:repeat(2,1fr); min-width:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; }
.hero-actions { display:flex; align-items:center; gap:20px; max-width:424px; margin-top:32px; }
.hero .hero-actions .arrow-link { flex:1; min-width:0; margin:0; }
.hero-rotation-toggle { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid #6a7c8f; border-radius:50%; background:transparent; color:var(--ice); cursor:pointer; }
.hero-rotation-toggle[hidden] { display:none; }
.hero-rotation-toggle:hover { border-color:var(--ice); }
.hero-rotation-toggle svg { width:14px; height:14px; grid-area:1 / 1; }
.hero-rotation-toggle .rotation-play,.hero-rotation-toggle.is-paused .rotation-pause { display:none; }
.hero-rotation-toggle.is-paused .rotation-play { display:block; }
@media(max-width:700px) {
  .hero-actions { gap:16px; margin-top:26px; }
  .hero-actions .link-line { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-rotation-toggle { display:none; }
}

/* Shared proportions and alignment for the header and footer. */
.header,.footer { --brand-logo-width:180px; }
.header {
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);
  column-gap:clamp(32px,3.2vw,48px);
}
.header .brand,.footer .brand { min-height:44px; justify-self:start; }
.header .brand .logo-option4,.footer .brand .logo-option4 {
  width:var(--brand-logo-width);
  /* Center the lettering optically; the DP mark extends above its capitals. */
  transform:translateY(calc(var(--brand-logo-width) * -.0285));
}
/* The text-only artwork is centered without the separate mark's offset. */
.header .brand .logo-text-only,.footer .brand .logo-text-only {
  width:var(--brand-logo-width);
  transform:none;
}
.header .nav { justify-self:center; gap:clamp(24px,2.1vw,32px); }
.header .nav > a,.header .header-contact {
  font-size:14px;
  font-weight:400;
  line-height:1.2;
  letter-spacing:.05em;
  min-height:44px;
  display:inline-flex;
  align-items:center;
}
.header .nav > a { padding:8px 0; }
/* Reinforce the pill for standard-density screens while preserving its footprint. */
.header .header-contact { font-size:13px; border-width:2px; padding:0 13px; gap:10px; justify-self:end; margin-left:0; }
.header .header-contact > span { font-size:16px; }
.footer {
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);
  align-items:center;
  gap:32px;
  padding-block:32px;
}
.footer .brand { grid-column:1; }
.footer > p { display:block; grid-column:2; justify-self:center; margin:0; font-size:11px; line-height:1.5; letter-spacing:.08em; white-space:nowrap; }
.footer > div { grid-column:3; justify-self:end; display:flex; flex-wrap:nowrap; align-items:center; gap:24px; width:auto; font-size:13px; }
.footer > div > a:first-child { display:inline-flex; align-items:center; min-height:44px; white-space:nowrap; }
.footer small { margin:0; font-size:12px; line-height:1.5; white-space:nowrap; }
@media(max-width:1100px) {
  .header { grid-template-columns:minmax(0,1fr) auto auto; column-gap:16px; }
  .header .menu-button { grid-column:3; justify-self:end; }
  .header .nav { justify-self:stretch; top:calc(100% - 4px); padding:16px 22px; }
  .header .nav.is-open { gap:0; }
  .header .nav > a { font-size:16px; }
  .footer { grid-template-columns:auto minmax(0,1fr); }
  .footer > p { display:none; }
  .footer > div { grid-column:2; }
}
@media(max-width:700px) {
  .header,.footer { --brand-logo-width:160px; }
  .header { grid-template-columns:minmax(0,1fr) 44px; }
  .header .menu-button { grid-column:2; }
  .header .header-contact { display:none; }
  .footer { grid-template-columns:minmax(0,1fr) 44px; gap:8px 20px; padding-block:28px; }
  .footer .brand { grid-column:1; grid-row:1; }
  .footer > div { display:contents; }
  .footer > div > a:first-child { grid-column:1; grid-row:2; justify-self:start; width:max-content; }
  .footer small { grid-column:1 / -1; grid-row:3; font-size:11px; }
  .footer .back-top { grid-column:2; grid-row:1; justify-self:end; }
}
@media(max-width:360px) {
  .header,.footer { --brand-logo-width:150px; }
}

/* Standalone DP artwork: keep its own proportions and a comfortable home target. */
.header .brand:has(.logo-updated-mark),.footer .brand:has(.logo-updated-mark) {
  min-width:44px;
}
.header .brand .logo-updated-mark,.footer .brand .logo-updated-mark {
  width:auto;
  height:44px;
  transform:none;
}
@media(max-width:700px) {
  .header .brand .logo-updated-mark,.footer .brand .logo-updated-mark { height:40px; }
}

/* Approved SVG components, balanced to the logo comparison proportions. */
.header .brand .brand-lockup,.footer .brand .brand-lockup {
  display:inline-flex;
  align-items:center;
  gap:10px;
  height:44px;
  flex-shrink:0;
}
.header .brand .brand-symbol,.footer .brand .brand-symbol { display:block; width:auto; height:34px; }
.header .brand .brand-text,.footer .brand .brand-text { display:block; width:auto; height:28px; }
.header .brand .brand-separator,.footer .brand .brand-separator { display:block; width:1px; height:32px; flex:0 0 1px; opacity:.35; }
@media(max-width:1360px) {
  .header .brand .brand-lockup,.footer .brand .brand-lockup { gap:9px; }
  .header .brand .brand-symbol,.footer .brand .brand-symbol { height:32px; }
  .header .brand .brand-text,.footer .brand .brand-text { height:26px; }
  .header .brand .brand-separator,.footer .brand .brand-separator { height:30px; }
}
@media(max-width:700px) {
  .header .brand .brand-lockup,.footer .brand .brand-lockup { gap:6px; }
  .header .brand .brand-symbol,.footer .brand .brand-symbol { height:25px; }
  .header .brand .brand-text,.footer .brand .brand-text { height:23px; }
  .header .brand .brand-separator,.footer .brand .brand-separator { height:27px; }
}
