


.pour .dgm { border-radius: var(--r-2); }


.split .split-grid { display: grid; gap: var(--s-7); align-items: center; }

.split--figright .split-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); align-items: center; }
.split--figright .split-fig { display: block; }
.split--figright .split-fig .dgm { margin: 0; }
.split--figright .split-copy { align-self: center; }
.split .split-copy .section-head { margin-bottom: var(--s-5); }
.split .split-copy .sec-ctas { margin-top: var(--s-6); }
.split .split-copy .prose-col p { max-width: 60ch; }


.split--titleleft .split-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); align-items: start; }
.split--titleleft .split-title .section-head { margin-bottom: 0; }
.split--titleleft .split-body .prose-col { margin-top: 0; }
.split--titleleft .split-body .prose-col p { max-width: 62ch; }


.owns--open {
  border: 0; border-top: 0; margin-left: calc(-1 * var(--s-4));
  margin-right: calc(-1 * var(--s-4)); column-gap: 0; row-gap: var(--s-5); }
.owns--open .own {
  border: 0; padding: var(--s-4); position: relative;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.owns--open .own:hover {
  transform: translateY(-2px); box-shadow: 0 10px 30px rgba(14, 31, 56, .05); }
.cinematic .owns--open .own:hover { box-shadow: 0 10px 30px rgba(14, 31, 56, .22); }
.owns--open .own .mark { transition: transform .35s cubic-bezier(.2, .7, .2, 1); }
.owns--open .own:hover .mark { transform: scale(1.08); }
.owns--open .own h3 { position: relative; padding-bottom: 10px; opacity: .9; }
.owns--open .own h3::after {
  content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 0;
  background: var(--rule-strong);
  transition: width .5s cubic-bezier(.3, .5, .2, 1); }
.cinematic .owns--open .own h3::after { background: var(--rule-inverse-strong); }
.owns--open .own:hover h3::after { width: 100%; }
.owns--open .own p { opacity: .84; transition: opacity var(--t-fast) var(--ease); }
.owns--open .own:hover p { opacity: 1; }
.owns--plain .own h3 { font-family: var(--serif); font-size: var(--fs-subhead);
  font-weight: 500; text-transform: none; letter-spacing: 0; opacity: .9;
  line-height: 1.35; margin: 0 0 var(--s-3); }
.owns--plain .own:hover h3 { opacity: 1; }
.owns--plain .own p { font-family: var(--sans); font-size: var(--fs-body);
  line-height: 1.7; margin: 0; }


.handoff { position: relative; margin-top: 0; }
.ho-rail { position: absolute; left: 27px; top: 11px; bottom: 11px; width: 1px;
  background: var(--rule-strong); transform: scaleY(0); transform-origin: top;
  transition: transform 1.15s cubic-bezier(.3, .5, .2, 1); }
.cinematic .ho-rail { background: var(--rule-inverse-strong); }
.handoff.drawn .ho-rail { transform: scaleY(1); }
.ho-row { display: grid; grid-template-columns: 54px minmax(0, 1fr) minmax(0, 2fr);
  column-gap: var(--s-5); align-items: start; padding: 0 0 var(--s-6); }
.ho-row:last-child { padding-bottom: 0; }
.ho-row .mark { margin: 0; position: relative; z-index: 1;
  transition: opacity var(--t-fast) var(--ease); opacity: .78; }
.ho-row h4 { font-family: var(--serif); font-size: var(--fs-subhead); font-weight: 500;
  text-transform: none; letter-spacing: 0; line-height: 1.35; margin: 0; opacity: .88;
  transition: opacity var(--t-fast) var(--ease); }
.ho-row p { font-family: var(--sans); font-size: var(--fs-body); line-height: 1.7;
  margin: 0; opacity: .86; }
.ho-row:hover .mark, .ho-row:hover h4 { opacity: 1; }


.sectors { list-style: none; margin: var(--s-5) 0 0; padding: 0;
  columns: 2; column-gap: var(--s-6); }
.sectors li { font-family: var(--serif); font-size: 1.06rem; line-height: 1.45;
  margin: 0 0 6px; break-inside: avoid; }


.plainbul { list-style: none; margin: var(--s-4) 0 0; padding: 0; }
.plainbul li { position: relative; padding-left: 26px; max-width: 62ch;
  font-family: var(--sans); font-size: var(--fs-body); line-height: 1.7;
  margin: 0 0 var(--s-2); opacity: .88; }
.plainbul li::before { content: ""; position: absolute; left: 0; top: .85em;
  width: 14px; height: 1px; background: var(--rule-strong); }
.cinematic .plainbul li::before { background: var(--rule-inverse-strong); }
.prose-after { margin-top: var(--s-5); }


.tight-group .section-head { margin-bottom: var(--s-6); }
.tight-group .owns { margin-top: 0; }
.tight-group .sec-ctas { margin-top: var(--s-6); }
.tight-group .fnote { border-top: 0; padding-top: 0; margin-top: var(--s-5); }
.sec-ctas { margin-top: var(--s-6); }


.no-rule::before { display: none !important; }


.contact-line { font-family: var(--sans); font-size: var(--fs-micro);
  letter-spacing: .02em; line-height: 1.9; opacity: .78; margin: var(--s-2) 0 0; }
.contact-line a { text-decoration: underline; text-underline-offset: 3px; }


.dgm .dgm-cap.quiet { text-align: right; font-size: 9.5px; letter-spacing: .14em;
  text-transform: none; opacity: .45; }
.cinematic .dgm .dgm-cap.quiet { opacity: .6; }

.dgm .hhit { fill: transparent !important; stroke: none !important;
  pointer-events: all; }
.stairfig .stair-step { opacity: .88; transition: opacity .3s ease; }
.stairfig .stair-step:hover { opacity: 1; }
.stairfig .stair-add { opacity: 0 !important; transition: opacity .3s ease; }
.stairfig .stair-step:hover .stair-add { opacity: .92 !important; }
.stairfig svg .stair-name { font-weight: 500; }

.stairfig[data-draw] svg line, .stairfig[data-draw] svg path,
.stairfig[data-draw] svg rect, .stairfig[data-draw] svg circle {
  transition: stroke-dashoffset .5s cubic-bezier(.16, .84, .34, 1) !important; }
.stairfig[data-draw] svg .stair-src {
  stroke-dasharray: none !important; stroke-dashoffset: 0 !important;
  opacity: 0; transition: opacity .45s ease-out !important; }
.stairfig[data-draw].drawn svg .stair-src { opacity: 1; }
.stairfig[data-draw] svg .stair-step[data-step="0"] * { transition-delay: 0s !important; }
.stairfig[data-draw] svg .stair-riser.r1 { transition-delay: .55s !important; }
.stairfig[data-draw] svg .stair-step[data-step="1"] * { transition-delay: .75s !important; }
.stairfig[data-draw] svg .stair-riser.r2 { transition-delay: 1.25s !important; }
.stairfig[data-draw] svg .stair-step[data-step="2"] * { transition-delay: 1.45s !important; }
.stairfig svg .stair-add { transition-delay: 0s !important; }

@media (max-width: 1000px) {
  .split .split-grid { grid-template-columns: minmax(0, 1fr) !important;
    gap: var(--s-6); }
  .split .split-fig { margin: 0; }
  .split--titleleft .split-title .section-head { margin-bottom: var(--s-5); }
}
@media (max-width: 900px) {
  
  .ho-row { grid-template-columns: 1fr; row-gap: var(--s-3); }
  .ho-rail { display: none; }
}
@media (max-width: 860px) {
  .owns--open .own { border-right: 0; border-bottom: 0; padding-right: var(--s-4); }
}
@media (max-width: 640px) {
  .sectors { columns: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .owns--open .own, .owns--open .own .mark, .owns--open .own h3::after,
  .stairfig .stair-step, .stairfig .stair-add { transition: none !important; }
  .owns--open .own:hover { transform: none !important; box-shadow: none !important; }
  .owns--open .own:hover .mark { transform: none !important; }
  
  .stairfig .stair-add { opacity: .92 !important; }
  
  .ho-rail { transition: none !important; transform: scaleY(1) !important; }
  .ho-row .mark, .ho-row h4 { transition: none !important; }
  .stairfig[data-draw] svg * {
    transition: none !important; transition-delay: 0s !important;
    opacity: 1 !important; }
}



@media (hover: none) {
  .stairfig .stair-add { opacity: .92 !important; }
}





.gapfig[data-draw] svg * { stroke-dasharray: none !important;
  stroke-dashoffset: 0 !important; transition: none !important; }
.gapfig[data-draw] svg text { opacity: 1 !important; }
.gapfig[data-draw] svg g[data-g] { opacity: 0;
  transition: opacity .6s ease-out !important; }
.gapfig[data-draw].drawn svg g[data-g] { opacity: 1; }
.gapfig svg g[data-g="1"] { transition-delay: 0.26s !important; }
.gapfig svg g[data-g="2"] { transition-delay: 0.52s !important; }
.gapfig svg g[data-g="3"] { transition-delay: 0.78s !important; }
.gapfig svg g[data-g="4"] { transition-delay: 1.04s !important; }
.gapfig svg g[data-g="5"] { transition-delay: 1.30s !important; }
.gapfig svg g[data-g="6"] { transition-delay: 1.56s !important; }
@media (prefers-reduced-motion: reduce) {
  .gapfig[data-draw] svg g[data-g] { opacity: 1 !important;
    transition: none !important; transition-delay: 0s !important; }
}


.sector-grid { display: grid; grid-template-columns: 5fr 3fr 3fr;
  gap: var(--s-7); align-items: start; margin-top: var(--s-6); }
.sector-prose .prose-col { margin-top: 0; }
.sector-prose .prose-col p { max-width: var(--measure); }

.sectors--one { columns: 1; column-gap: 0; margin-top: 0; }
.sectors--one li { margin: 0; padding: 7px 10px; border-radius: 2px;
  opacity: .82; cursor: default; outline: none;
  transition: background .18s var(--ease), opacity .18s var(--ease); }
.sectors--one li:hover, .sectors--one li.is-on {
  background: rgba(205, 167, 123, .07); opacity: 1; }
.sectors--one li:focus-visible { box-shadow: inset 2px 0 0 var(--brass-2, #B98F5F); }


.sector-stage { position: relative; aspect-ratio: 1 / 1; max-width: 100%; }

.sector-stage .sg { position: absolute; left: 6%; top: 6%;
  width: 88%; height: 88%; opacity: 0; pointer-events: none;
  transition: opacity .16s var(--ease); }
.sector-stage .sg.is-on { opacity: 1; transition: opacity .36s var(--ease); }
.sector-stage .sg path { fill: none; stroke: var(--ink); stroke-width: 1.4;
  stroke-linecap: round; stroke-linejoin: round;
  vector-effect: non-scaling-stroke; opacity: .6; }
.sector-stage .sg path.sg-b { stroke: var(--brass-2, #B98F5F); opacity: 0;
  transition: opacity .3s var(--ease); }
.sector-stage .sg.is-on path.sg-b { opacity: 1; transition-delay: .12s; }

@media (max-width: 900px) {
  
  .sector-grid { grid-template-columns: 1fr; gap: var(--s-6); }
  .sector-stage { display: none; }
  .sectors--one { margin-top: var(--s-2); }
  .sectors--one li { padding-left: 0; padding-right: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .sector-stage .sg, .sectors--one li { transition: none !important; }
  .sector-stage .sg path { stroke-dasharray: none !important;
    stroke-dashoffset: 0 !important; }
}


.band-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto 1fr auto; column-gap: var(--s-8);
  row-gap: var(--s-5); align-items: stretch; }
.band-col { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: subgrid; grid-row: 1 / span 3;
  row-gap: 0; align-content: stretch; scroll-margin-top: 120px; }
.band-col .section-head { margin-bottom: var(--s-5); }
.band-col .prose-col { margin: 0; align-self: start; }
.band-col .band-tail { align-self: start; }
.band-col .band-tail .sec-ctas { margin-top: var(--s-6); }
.band-col .band-tail .contact-line:first-of-type { margin-top: var(--s-4); }

#coverage-col .sec-ctas { display: flex; flex-wrap: wrap; gap: var(--s-3); }
#coverage-col .sec-ctas .btn { padding-left: 14px; padding-right: 14px;
  letter-spacing: .15em; white-space: nowrap; }
.band-legal { margin-top: var(--s-7); padding-top: var(--s-4);
  border-top: 1px solid var(--rule); }
.band-legal .legal-line { margin-top: 0; padding-top: 0; border-top: 0; }
@supports not (grid-template-rows: subgrid) {
  .band-col { display: flex; flex-direction: column; }
  .band-col .band-tail { margin-top: auto; }
}
@media (max-width: 900px) {
  .band-grid { grid-template-columns: 1fr; grid-template-rows: none;
    row-gap: var(--s-8); }
  
  .band-col { display: block; grid-row: auto; grid-column: auto; min-width: 0; }
  #coverage-col .sec-ctas { flex-wrap: wrap; }
}
