


.eyebrow,
.hero-eyebrow,
.np-eyebrow,
.wwp-eyebrow,
.wwp-card-eyebrow,
.pdx-num,
.section-num { display: none !important; }
.hero-map .hm-head .eyebrow { display: none !important; }


.italic-teal { color: inherit !important; font-style: inherit !important; }
.cta-band h3 .italic-teal,
.display .italic-teal,
.display.on-dark .italic-teal,
.h-section .italic-teal,
.h-section.on-dark .italic-teal,
.h-sub .italic-teal,
.feature-row h4 .italic-teal,
.tri-grid h3 .italic-teal,
.quad-grid h3 .italic-teal,
.intel-grid h5 .italic-teal,
.program h2 .italic-teal,
.page-hero h1 .italic-teal { color: inherit !important; font-style: inherit !important; }


.hero-accent { display: block; font-family: var(--serif); font-style: italic;
  color: var(--teal-glow); font-size: var(--fs-subhead); letter-spacing: .01em;
  margin: var(--s-3) 0 0; }


.pour .section-head h2 { margin: 0; }
.pour .section-head .lede,
.pour .section-head p { margin-top: var(--s-4); }
.pour .prose-col { max-width: var(--measure); }
.pour .prose-col p + p { margin-top: var(--s-4); }
.pour .prose-col p { font-family: var(--sans); font-size: var(--fs-body); line-height: 1.7; }
.pour .on-dark .prose-col p { color: var(--cream); }
.pour .xlinks { display: flex; flex-wrap: wrap; gap: var(--s-5); margin-top: var(--s-5); }
.pour blockquote.pull { margin: var(--s-5) 0 0; padding-left: var(--s-4);
  border-left: 1px solid var(--rule-strong); font-family: var(--serif);
  font-size: var(--fs-subhead); line-height: 1.5; color: var(--ink); }


.shot { margin-top: var(--s-6); border: 1px solid var(--rule-strong); background: var(--ink-3); }
.shot img { display: block; width: 100%; height: auto; }
.shot figcaption { font-family: var(--mono); font-size: var(--fs-micro);
  letter-spacing: .1em; text-transform: uppercase; color: var(--ink);
  background: var(--cream-2); border-top: 1px solid var(--rule-strong);
  padding: var(--s-3) var(--s-4); line-height: 1.6; }
.cinematic .shot figcaption, .shot.on-dark figcaption { color: var(--cream);
  background: rgba(243,238,232,0.06); border-top-color: var(--rule-inverse-strong); }
.shot--empty { display: flex; align-items: center; justify-content: center;
  min-height: 300px; background: var(--cream-2); }
.shot--empty .shot-empty-label { font-family: var(--mono); font-size: var(--fs-micro);
  letter-spacing: .16em; text-transform: uppercase; color: var(--ink); opacity: .6; }


.ptable { width: 100%; border-collapse: collapse; margin-top: var(--s-5);
  font-family: var(--sans); font-size: var(--fs-body); }
.ptable th { font-family: var(--mono); font-size: var(--fs-micro); font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; text-align: left;
  padding: 0 var(--s-4) var(--s-3) 0; border-bottom: 1px solid var(--rule-strong);
  color: var(--ink); white-space: nowrap; }
.ptable td { padding: var(--s-4) var(--s-4) var(--s-4) 0;
  border-bottom: 1px solid var(--rule); vertical-align: top; line-height: 1.6; }
.ptable td:last-child, .ptable th:last-child { padding-right: 0; }
.ptable tr:last-child td { border-bottom: 0; }
.ptable .k { font-family: var(--serif); font-size: var(--fs-subhead); }
.cinematic .ptable th { color: var(--cream); border-bottom-color: var(--rule-inverse-strong); }
.cinematic .ptable td { color: var(--cream); border-bottom-color: var(--rule-inverse); }
.ptable-scroll { overflow-x: auto; }


.rowset { margin-top: var(--s-5); border-top: 1px solid var(--rule-strong); }
.rowset .row { display: grid; grid-template-columns: minmax(180px, 22%) 1fr;
  gap: var(--s-5); padding: var(--s-4) 0; border-bottom: 1px solid var(--rule); }
.rowset .row:last-child { border-bottom: 0; }
.rowset .row h4 { font-family: var(--serif); font-size: var(--fs-subhead);
  font-weight: 500; margin: 0; line-height: 1.35; }
.rowset .row p { font-family: var(--sans); font-size: var(--fs-body);
  line-height: 1.7; margin: 0; }
.cinematic .rowset { border-top-color: var(--rule-inverse-strong); }
.cinematic .rowset .row { border-bottom-color: var(--rule-inverse); }
.cinematic .rowset .row h4, .cinematic .rowset .row p { color: var(--cream); }
@media (max-width: 780px) { .rowset .row { grid-template-columns: 1fr; gap: var(--s-2); } }


.doors { display: grid; grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--rule-strong); border-left: 1px solid var(--rule-strong);
  margin-top: var(--s-6); }
.doors .door { border-right: 1px solid var(--rule-strong);
  border-bottom: 1px solid var(--rule-strong); padding: var(--s-5);
  display: flex; flex-direction: column; gap: var(--s-3);
  transition: background var(--t-fast) var(--ease); text-decoration: none; color: inherit; }
.doors .door:hover { background: var(--cream-2); }
.doors .door h3 { font-family: var(--serif); font-size: var(--fs-subhead);
  font-weight: 500; margin: 0; }
.doors .door p { font-family: var(--sans); font-size: var(--fs-body);
  line-height: 1.65; margin: 0; flex: 1; }
.doors .door .go { font-family: var(--mono); font-size: var(--fs-micro);
  letter-spacing: .14em; text-transform: uppercase; color: var(--teal); }
.doors--2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 900px) { .doors, .doors--2 { grid-template-columns: 1fr; } }


.qsheet { margin-top: var(--s-5); border-top: 1px solid var(--rule-strong); }
.qsheet .q { padding: var(--s-4) 0; border-bottom: 1px solid var(--rule); }
.qsheet .q:last-child { border-bottom: 0; }
.qsheet .q p.a { font-family: var(--sans); font-size: var(--fs-body);
  line-height: 1.7; margin: var(--s-2) 0 0; }
.qsheet .q h4 { font-family: var(--serif); font-size: var(--fs-subhead);
  font-weight: 500; margin: 0; }


.dgm { margin-top: var(--s-6); border: 1px solid var(--rule-strong);
  background: var(--cream-2); padding: var(--s-5); }
.dgm svg { display: block; width: 100%; height: auto; }
.dgm .dgm-cap { font-family: var(--mono); font-size: var(--fs-micro);
  letter-spacing: .1em; text-transform: uppercase; color: var(--ink);
  opacity: .65; margin: var(--s-4) 0 0; line-height: 1.6; }
.dgm text { font-family: var(--mono); font-size: 11px; letter-spacing: .12em;
  text-transform: uppercase; fill: var(--ink); }
.dgm text.t-body { font-family: var(--sans); font-size: 12px; letter-spacing: 0;
  text-transform: none; fill: var(--ink); opacity: .75; }
.dgm line, .dgm path, .dgm rect, .dgm polyline { stroke: #0E1F38; stroke-width: 1;
  fill: none; vector-effect: non-scaling-stroke; }
.dgm rect.field { fill: rgba(14,31,56,0.03); }

.cinematic .dgm { background: none; border: 0; box-shadow: none; padding: 0; border-radius: 0; }
.cinematic .dgm text, .cinematic .dgm text.t-body { fill: #F3EEE8; }
.cinematic .dgm line, .cinematic .dgm path, .cinematic .dgm rect,
.cinematic .dgm polyline { stroke: #F3EEE8; }
.cinematic .dgm rect.field { fill: rgba(243,238,232,0.05); }
.cinematic .dgm .dgm-cap { color: var(--cream); }


.owns { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: var(--s-6);
  border-top: 1px solid var(--rule-strong); }
.owns .own { padding: var(--s-5) var(--s-5) var(--s-5) 0;
  border-right: 1px solid var(--rule); }
.owns .own:last-child { border-right: 0; }
.owns .own h4 { font-family: var(--mono); font-size: var(--fs-micro); font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; margin: 0 0 var(--s-3); }
.owns .own p { font-family: var(--sans); font-size: var(--fs-body); line-height: 1.7; margin: 0; }
.owns .own .actor { font-family: var(--serif); font-size: var(--fs-subhead);
  display: block; margin-bottom: var(--s-2); }
@media (max-width: 860px) { .owns { grid-template-columns: 1fr; }
  .owns .own { border-right: 0; border-bottom: 1px solid var(--rule); padding-right: 0; } }


.fnote { margin-top: var(--s-5); padding-top: var(--s-3);
  border-top: 1px solid var(--rule-strong); font-family: var(--sans);
  font-size: var(--fs-body); line-height: 1.7; max-width: var(--measure); }
.fnote .src { font-family: var(--mono); font-size: var(--fs-micro);
  letter-spacing: .1em; text-transform: uppercase; display: block;
  margin-top: var(--s-2); opacity: .7; }
.cinematic .fnote { color: var(--cream); border-top-color: var(--rule-inverse-strong); }


.fineprint { margin-top: var(--s-6); padding-top: var(--s-4);
  border-top: 1px solid var(--rule); font-family: var(--sans);
  font-size: var(--fs-body); line-height: 1.7; opacity: .78; max-width: var(--measure); }


.cform { margin-top: var(--s-6); max-width: 720px; }
.cform .fieldrow { margin-top: var(--s-5); }
.cform label { display: block; font-family: var(--mono); font-size: var(--fs-micro);
  letter-spacing: .14em; text-transform: uppercase; color: var(--ink);
  margin-bottom: var(--s-2); }
.cform input, .cform select, .cform textarea { width: 100%; font-family: var(--sans);
  font-size: var(--fs-body); color: var(--ink); background: var(--cream);
  border: 1px solid var(--rule-strong); border-radius: var(--r-0);
  padding: var(--s-3); line-height: 1.5; }
.cform textarea { min-height: 120px; resize: vertical; }
.cform select { appearance: none; background-image:
  linear-gradient(45deg, transparent 50%, #0E1F38 50%),
  linear-gradient(135deg, #0E1F38 50%, transparent 50%);
  background-position: calc(100% - 18px) 20px, calc(100% - 12px) 20px;
  background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; padding-right: 40px; }
.cform input:focus, .cform select:focus, .cform textarea:focus {
  outline: 2px solid var(--teal); outline-offset: 1px; }
.cform .helper { font-family: var(--sans); font-size: var(--fs-body);
  line-height: 1.6; opacity: .7; margin: var(--s-2) 0 0; }
.cform .two { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-5); }
@media (max-width: 700px) { .cform .two { grid-template-columns: 1fr; } }
.cform .audience-fields { margin-top: var(--s-6); padding-top: var(--s-5);
  border-top: 1px solid var(--rule-strong); }
.cform .submit-row { margin-top: var(--s-6); }
.cconfirm { margin-top: var(--s-6); border: 1px solid var(--rule-strong);
  background: var(--cream-2); padding: var(--s-5); }
.cconfirm p { font-family: var(--sans); font-size: var(--fs-body);
  line-height: 1.7; margin: 0; max-width: var(--measure); }
.cconfirm .after { font-family: var(--mono); font-size: var(--fs-micro);
  letter-spacing: .12em; text-transform: uppercase; margin-top: var(--s-4); display: block; }


.bench { margin-top: var(--s-6); border-top: 1px solid var(--rule-strong); }
.bench .who { display: grid; grid-template-columns: minmax(220px, 28%) 1fr;
  gap: var(--s-5); padding: var(--s-5) 0; border-bottom: 1px solid var(--rule); }
.bench .who:last-child { border-bottom: 0; }
.bench .who h4 { font-family: var(--sans); font-size: var(--fs-body); font-weight: 600;
  margin: 0; letter-spacing: .01em; }
.bench .who .title { font-family: var(--mono); font-size: var(--fs-micro);
  letter-spacing: .12em; text-transform: uppercase; opacity: .7;
  margin: var(--s-2) 0 0; display: block; }
.bench .who p.bio { font-family: var(--serif); font-size: var(--fs-subhead);
  line-height: 1.55; margin: 0; }
@media (max-width: 780px) { .bench .who { grid-template-columns: 1fr; gap: var(--s-3); } }


.ladder { margin-top: var(--s-5); border-top: 1px solid var(--rule-strong); }
.ladder .rung { display: grid; grid-template-columns: minmax(120px, 16%) 1fr;
  gap: var(--s-5); padding: var(--s-4) 0; border-bottom: 1px solid var(--rule); }
.ladder .rung:last-child { border-bottom: 0; }
.ladder .rung h4 { font-family: var(--serif); font-size: var(--fs-subhead);
  font-weight: 500; margin: 0; }
.ladder .rung p { font-family: var(--sans); font-size: var(--fs-body);
  line-height: 1.7; margin: 0; }
@media (max-width: 780px) { .ladder .rung { grid-template-columns: 1fr; gap: var(--s-2); } }


.hero-map .hm-inner:has(> .hm-mid:empty) { min-height: 0; grid-template-rows: auto auto auto;
  row-gap: var(--s-6); padding-top: var(--s-7); padding-bottom: var(--s-6); }
.hero-map .hm-mid:empty { min-height: 0; display: none; }



.dgm--narrow { display: none !important; }
@media (max-width: 820px) {
  .dgm:not(.dgm--wide):not(.dgm--narrow) { overflow-x: auto; }
  .dgm:not(.dgm--wide):not(.dgm--narrow) svg { min-width: 700px; }
  .dgm--wide { display: none !important; }
  .dgm--narrow { display: block !important; flex: 1 1 100% !important;
    min-width: 0; width: auto !important;
    
    max-width: 336px; margin-left: auto !important; margin-right: auto !important;
    padding: var(--s-3) var(--s-2) !important; }
  .dgm--narrow > svg { width: 320px !important; max-width: 100% !important;
    min-width: 0 !important; margin-left: auto; margin-right: auto; }
  .owns .own { padding-bottom: var(--s-4); }
}

}





[data-seq] > *, [data-seq-item] { opacity:0; transform:translateY(14px);
  transition:opacity .6s cubic-bezier(.2,.6,.2,1), transform .6s cubic-bezier(.2,.6,.2,1);
  will-change:opacity, transform; }
[data-seq] > *.seq-in, [data-seq-item].seq-in { opacity:1; transform:translateY(0); }


.dgm[data-draw] svg line, .dgm[data-draw] svg path, .dgm[data-draw] svg rect,
.dgm[data-draw] svg polyline, .dgm[data-draw] svg circle, .dgm[data-draw] svg polygon,
.stagefig[data-draw] svg line, .stagefig[data-draw] svg path, .stagefig[data-draw] svg rect,
.stagefig[data-draw] svg polyline, .stagefig[data-draw] svg circle, .stagefig[data-draw] svg polygon {
  stroke-dasharray:var(--len, 420); stroke-dashoffset:var(--len, 420);
  transition:stroke-dashoffset 1.05s cubic-bezier(.3,.5,.2,1); }
.dgm[data-draw].drawn svg line, .dgm[data-draw].drawn svg path, .dgm[data-draw].drawn svg rect,
.dgm[data-draw].drawn svg polyline, .dgm[data-draw].drawn svg circle, .dgm[data-draw].drawn svg polygon,
.stagefig[data-draw].drawn svg line, .stagefig[data-draw].drawn svg path, .stagefig[data-draw].drawn svg rect,
.stagefig[data-draw].drawn svg polyline, .stagefig[data-draw].drawn svg circle, .stagefig[data-draw].drawn svg polygon {
  stroke-dashoffset:0; }
.dgm[data-draw] svg text, .stagefig[data-draw] svg text { opacity:0; transition:opacity .5s ease; }
.dgm[data-draw].drawn svg text, .stagefig[data-draw].drawn svg text { opacity:1; }
.dgm[data-draw] svg .nodraw, .stagefig[data-draw] svg .nodraw {
  stroke-dasharray:none !important; stroke-dashoffset:0 !important; }

@media (prefers-reduced-motion: reduce) {
  [data-seq] > *, [data-seq-item] { opacity:1 !important; transform:none !important; }
  .dgm[data-draw] svg *, .stagefig[data-draw] svg * {
    stroke-dashoffset:0 !important; opacity:1 !important; transition:none !important; }
}


.dgm circle, .dgm ellipse, .dgm polygon,
.stagefig line, .stagefig path, .stagefig rect, .stagefig polyline,
.stagefig circle, .stagefig ellipse, .stagefig polygon {
  stroke:#0E1F38; stroke-width:1; fill:none; vector-effect:non-scaling-stroke; }
.cinematic .dgm circle, .cinematic .dgm ellipse, .cinematic .dgm polygon,
.stagefig line, .stagefig path, .stagefig rect, .stagefig polyline,
.stagefig circle, .stagefig ellipse, .stagefig polygon { stroke:#F3EEE8; }
.dgm .w2, .stagefig .w2 { stroke-width:2; }
.dgm .hair-teal, .stagefig .hair-teal { stroke:var(--teal) !important; }
.cinematic .dgm .hair-teal, .stagefig .hair-teal { stroke:var(--teal-glow) !important; }
.dgm .hair-brass, .stagefig .hair-brass { stroke:var(--brass-2, #B98F5F) !important; }
.cinematic .dgm .hair-brass, .stagefig .hair-brass { stroke:var(--brass-glow) !important; }
.dgm .ink, .stagefig .ink { fill:#0E1F38; stroke:none; }
.cinematic .dgm .ink, .stagefig .ink { fill:#F3EEE8; }
.dgm .soft, .stagefig .soft { opacity:.34; }
.dgm text.t-num { font-family:var(--serif); font-size:58px; letter-spacing:-.01em;
  text-transform:none; fill:#0E1F38; }
.cinematic .dgm text.t-num, .stagefig text.t-num { font-family:var(--serif); font-size:58px;
  letter-spacing:-.01em; text-transform:none; fill:#F3EEE8; }
.dgm text.t-mini, .stagefig text.t-mini { font-size:9.5px; letter-spacing:.14em; opacity:.62; }
.stagefig text { font-family:var(--mono); font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; fill:#F3EEE8; opacity:.72; }
.stagefig text.t-body { font-family:var(--sans); font-size:12px; letter-spacing:0;
  text-transform:none; opacity:.62; }


.hero-map .hm-mid > .stagefig { width:min(1040px, 94%); margin:0 auto; }
.stagefig { position:relative; z-index:3; }
.stagefig svg { display:block; width:100%; height:auto; overflow:visible; }
.stagefig { margin-bottom:var(--s-7); }
.stagefig figcaption { font-family:var(--mono); font-size:var(--fs-micro);
  letter-spacing:.14em; text-transform:uppercase; color:var(--cream);
  opacity:.5; text-align:center; margin-top:var(--s-4); }
@media (max-width:640px) { .hero-map .hm-mid > .stagefig { display:none; } }


.plt-dot { fill:rgba(243,238,232,0.40) !important; stroke:none !important; opacity:0;
  animation:pltIn .9s ease .35s forwards; }
.plt-dot.on { fill:rgba(243,238,232,0.9) !important; }
.plt-line { stroke:rgba(243,238,232,0.15) !important; stroke-width:1;
  stroke-dasharray:760; stroke-dashoffset:760;
  animation:pltDraw 1.5s cubic-bezier(.25,.7,.25,1) forwards; }
.plt-gate { stroke:var(--brass-glow) !important; stroke-width:1.4;
  stroke-dasharray:48; stroke-dashoffset:48;
  animation:pltDraw .7s cubic-bezier(.25,.7,.25,1) 1.7s forwards; }
.plt-gate-node { fill:var(--brass-glow); stroke:none !important; opacity:0;
  animation:pltIn .5s ease 2.0s forwards; }
.plt-out { stroke:rgba(243,238,232,0.8) !important; stroke-width:1.4;
  stroke-dasharray:380; stroke-dashoffset:380;
  animation:pltDraw 1.0s cubic-bezier(.25,.7,.25,1) 2.1s forwards; }
.plt-pulse { fill:#F3EEE8; stroke:none !important; opacity:0;
  offset-path:path('M760 150 H1140'); animation:pltTravel 6s linear 3.2s infinite; }
.plt-cap { opacity:0; animation:pltIn .8s ease 2.3s forwards; }
@keyframes pltIn { to { opacity:1; } }
@keyframes pltDraw { to { stroke-dashoffset:0; } }
@keyframes pltTravel { 0%{opacity:0; offset-distance:0%} 6%{opacity:.9}
  92%{opacity:.9} 100%{opacity:0; offset-distance:100%} }
@media (prefers-reduced-motion: reduce) {
  .plt-dot, .plt-gate-node, .plt-cap { opacity:1 !important; animation:none !important; }
  .plt-line, .plt-gate, .plt-out { stroke-dashoffset:0 !important; animation:none !important; }
  .plt-pulse { display:none !important; }
}


.hc-mon { position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.hc-grid { position:absolute; inset:0;
  background-image:radial-gradient(rgba(243,238,232,0.075) 1px, transparent 1px);
  background-size:30px 30px;
  mask-image:radial-gradient(115% 95% at 50% 45%, #000 35%, transparent 80%);
  -webkit-mask-image:radial-gradient(115% 95% at 50% 45%, #000 35%, transparent 80%);
  animation:hcGridDrift 46s ease-in-out infinite alternate; }
.hc-trace, .hc-posture { position:absolute; left:0; right:0; width:100%; height:210px; top:auto; bottom:-30px;
  mask-image:linear-gradient(90deg,#000 0 24%, rgba(0,0,0,.4) 40% 60%, #000 76% 100%);
  -webkit-mask-image:linear-gradient(90deg,#000 0 24%, rgba(0,0,0,.4) 40% 60%, #000 76% 100%); }
.hc-line-base { fill:none; stroke:rgba(243,238,232,0.14); stroke-width:1.6; }
.hc-line-draw { fill:none; stroke:rgba(243,238,232,0.85); stroke-width:1.6;
  stroke-dasharray:340 1560; stroke-dashoffset:340; animation:hcDraw 8.5s linear .8s infinite; }
.hc-posture path { fill:none; stroke:var(--brass-glow); opacity:.28; stroke-width:1.1;
  stroke-dasharray:1500; stroke-dashoffset:1500; animation:hcPosture 3.4s ease-out 1.6s forwards; }
.hc-beat { position:absolute; top:auto; bottom:80px; width:10px; height:10px; margin-left:-5px;
  border-radius:50%; border:1px solid rgba(243,238,232,0.7); opacity:0;
  animation:hcBeat 8.5s ease-out 1.6s infinite; }
.hc-beat.b2 { animation-delay:4.3s; } .hc-beat.b3 { animation-delay:7.1s; }
@keyframes hcGridDrift { from{background-position:0 0} to{background-position:26px 14px} }
@keyframes hcDraw { from{stroke-dashoffset:340} to{stroke-dashoffset:-1560} }
@keyframes hcPosture { to{stroke-dashoffset:0} }
@keyframes hcBeat { 0%,2%{opacity:0; transform:scale(.4)} 6%{opacity:.8; transform:scale(1)}
  16%{opacity:0; transform:scale(2.6)} 100%{opacity:0} }
@media (prefers-reduced-motion: reduce) {
  .hc-grid { animation:none !important; }
  .hc-line-draw { animation:none !important; stroke-dasharray:none !important;
    stroke-dashoffset:0 !important; opacity:.5; }
  .hc-posture path { animation:none !important; stroke-dashoffset:0 !important; }
  .hc-beat { animation:none !important; opacity:0 !important; }
}


.prt-band { width:min(760px,100%); margin:0 auto; font-family:var(--mono); position:relative; z-index:3; }
.prt-tiles { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:0 0 22px; }
.prt-tile { position:relative; border:1px solid var(--rule-inverse-strong);
  padding:12px 12px 10px; text-align:left; opacity:0; transform:translateY(8px);
  animation:prtFade .6s var(--ease-out) forwards; }
.prt-tile:nth-child(2){ animation-delay:.18s } .prt-tile:nth-child(3){ animation-delay:.36s }
.prt-tile-k { display:block; font-size:var(--fs-micro); letter-spacing:.14em;
  text-transform:uppercase; color:var(--cream); opacity:.72; }
.prt-tile-bars { display:flex; gap:4px; align-items:flex-end; height:18px; margin-top:10px; }
.prt-tile-bars span { width:5px; background:rgba(243,238,232,.55); transform:scaleY(0);
  transform-origin:bottom; animation:prtBar .6s var(--ease-out) forwards; }
.prt-tile-bars span:nth-child(2){animation-delay:.35s} .prt-tile-bars span:nth-child(3){animation-delay:.5s}
.prt-tile-bars span:nth-child(4){animation-delay:.65s} .prt-tile-bars span:nth-child(5){animation-delay:.8s}
.prt-tile-tick { position:absolute; bottom:10px; right:10px; width:14px; height:14px; }
.prt-tile-tick path { stroke:var(--brass-glow); stroke-width:1.4; fill:none;
  stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:20; stroke-dashoffset:20;
  animation:prtTick .5s var(--ease-out) 1.1s forwards; }
.prt-lane { display:grid; grid-template-columns:170px 1fr; align-items:center; gap:14px;
  margin-top:9px; opacity:0; transform:translateY(6px);
  animation:prtFade .6s var(--ease-out) forwards; }
.prt-lane:nth-of-type(1){animation-delay:.9s} .prt-lane:nth-of-type(2){animation-delay:1.1s}
.prt-lane-k { font-size:var(--fs-micro); letter-spacing:.14em; text-transform:uppercase;
  color:var(--cream); text-align:right; opacity:.8; }
.prt-track { position:relative; height:12px; border-top:1px solid var(--rule-inverse);
  border-bottom:1px solid var(--rule-inverse); }
.prt-block { position:absolute; top:2px; bottom:2px; transform:scaleX(0); transform-origin:left;
  animation:prtDraw .9s var(--ease-out) forwards; }
.prt-block-you { left:33%; width:42%; background:rgba(243,238,232,.30); animation-delay:1.2s; }
.prt-block-read { left:0; width:100%; background:rgba(243,238,232,.14); animation-delay:1.45s;
  overflow:hidden; }
.prt-pulse { position:absolute; top:0; bottom:0; width:26%; left:-26%;
  background:linear-gradient(90deg, transparent, rgba(243,238,232,.5), transparent);
  animation:prtPulse 3.2s linear 2.4s infinite; }
.prt-band { margin-bottom:var(--s-6); }
.prt-cap { margin:14px 0 var(--s-2); font-size:var(--fs-micro); letter-spacing:.14em;
  text-transform:uppercase; color:var(--cream); opacity:.55; text-align:center; }
@keyframes prtFade { to{opacity:1; transform:none} }
@keyframes prtBar { to{transform:scaleY(1)} }
@keyframes prtTick { to{stroke-dashoffset:0} }
@keyframes prtDraw { to{transform:scaleX(1)} }
@keyframes prtPulse { from{left:-26%} to{left:100%} }
@media (max-width:640px) { .prt-tiles { grid-template-columns:1fr 1fr; }
  .prt-lane { grid-template-columns:1fr; gap:5px; } .prt-lane-k { text-align:left; } }
@media (prefers-reduced-motion: reduce) {
  .prt-tile, .prt-lane, .prt-block, .prt-tile-bars span {
    opacity:1 !important; transform:none !important; animation:none !important; }
  .prt-tile-tick path { stroke-dashoffset:0; animation:none; }
  .prt-pulse { display:none !important; }
}


.ringfig { margin-top:var(--s-6); }
.ringfig svg { display:block; width:100%; height:auto; overflow:visible; }
.ring-track { stroke:rgba(14,31,56,0.10) !important; stroke-width:8; fill:none; }
.cinematic .ring-track { stroke:rgba(243,238,232,0.10) !important; }
.ring-seg { stroke:#0E1F38; stroke-width:8; fill:none; opacity:.7; stroke-linecap:butt;
  stroke-dasharray:var(--sl); stroke-dashoffset:var(--sl);
  transition:stroke-dashoffset .5s cubic-bezier(.3,.5,.2,1); }
.cinematic .ring-seg { stroke:#F3EEE8; }
.ringfig.drawn .ring-seg { stroke-dashoffset:0; }
.ring-tick { stroke:var(--brass-2,#B98F5F) !important; stroke-width:1.1; opacity:.7; }
.cinematic .ring-tick { stroke:var(--brass-glow) !important; }
.ring-bar { stroke:#0E1F38; stroke-width:3; opacity:.55; stroke-linecap:butt;
  stroke-dasharray:var(--bl); stroke-dashoffset:var(--bl);
  transition:stroke-dashoffset .8s cubic-bezier(.3,.5,.2,1); }
.cinematic .ring-bar { stroke:#F3EEE8; }
.ringfig.drawn .ring-bar { stroke-dashoffset:0; }
.ringfig text { font-family:var(--mono); font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; fill:#0E1F38; opacity:.72; }
.cinematic .ringfig text { fill:#F3EEE8; }
.ringfig text.t-num { font-family:var(--serif); font-size:76px; letter-spacing:-.01em;
  text-transform:none; opacity:1; }
.ringfig text.t-row { font-family:var(--sans); font-size:13px; letter-spacing:0;
  text-transform:none; opacity:.82; }
.ringfig text.t-val { font-family:var(--mono); font-size:13px; letter-spacing:.06em; opacity:.62; }
.ringfig text.t-mini { font-size:9.5px; letter-spacing:.16em; opacity:.5; }
.ringfig .rule { stroke:rgba(14,31,56,0.16) !important; }
.cinematic .ringfig .rule { stroke:rgba(243,238,232,0.16) !important; }
.ringfig .dgm-cap, .ringfig figcaption { font-family:var(--mono); font-size:var(--fs-micro);
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink); opacity:.65;
  margin:var(--s-4) 0 0; line-height:1.6; }
.cinematic .ringfig figcaption { color:var(--cream); }
@media (prefers-reduced-motion: reduce) {
  .ring-seg, .ring-bar { stroke-dashoffset:0 !important; transition:none !important; }
}


.flowfig .flow-node { opacity:0; transition:opacity .55s ease; }
.flowfig .flow-node rect { stroke:rgba(14,31,56,0.28); fill:rgba(14,31,56,0.02); }
.cinematic .flowfig .flow-node rect { stroke:rgba(243,238,232,0.26); fill:rgba(243,238,232,0.03); }
.flowfig .flow-node-human rect { stroke:var(--brass-2,#B98F5F) !important; }
.cinematic .flowfig .flow-node-human rect { stroke:var(--brass-glow) !important; }
.flowfig .flow-conn { stroke-dasharray:3 4; opacity:.5; }
.flowfig .flow-draw { stroke-dasharray:220; stroke-dashoffset:220;
  transition:stroke-dashoffset .6s cubic-bezier(.3,.5,.2,1); }
.flowfig.lit .fn-0 { opacity:1; transition-delay:.05s; }
.flowfig.lit .fd1 { stroke-dashoffset:0; transition-delay:.30s; }
.flowfig.lit .fn-1 { opacity:1; transition-delay:.45s; }
.flowfig.lit .fd2 { stroke-dashoffset:0; transition-delay:.70s; }
.flowfig.lit .fn-2 { opacity:1; transition-delay:.85s; }
.flowfig.lit .fd3 { stroke-dashoffset:0; transition-delay:1.10s; }
.flowfig.lit .fn-3 { opacity:1; transition-delay:1.25s; }
.flowfig.lit .fd4 { stroke-dashoffset:0; transition-delay:1.50s; }
.flowfig.lit .fn-4 { opacity:1; transition-delay:1.65s; }
.flowfig .flow-pulse { fill:#0E1F38; stroke:none !important; opacity:0; }
.cinematic .flowfig .flow-pulse { fill:#F3EEE8; }
.flowfig.lit .flow-pulse { animation:flowPulse 6s linear 2.4s infinite; }
@keyframes flowPulse { 0%{offset-distance:0%; opacity:0} 5%{opacity:.85}
  92%{opacity:.85} 100%{offset-distance:100%; opacity:0} }
@media (prefers-reduced-motion: reduce) {
  .flowfig .flow-node { opacity:1 !important; }
  .flowfig .flow-draw { stroke-dashoffset:0 !important; }
  .flowfig .flow-pulse { display:none !important; }
}



.cyclefig .cyc-ring { stroke-dasharray:6 7 !important; stroke-dashoffset:0 !important;
  opacity:.35; }
.cyclefig .cyc-node { opacity:0; transition:opacity .5s ease; }
.cyclefig.lit .cyc-node { opacity:1; }
.cyclefig.lit .cn-0 { transition-delay:.10s; } .cyclefig.lit .cn-1 { transition-delay:.35s; }
.cyclefig.lit .cn-2 { transition-delay:.60s; } .cyclefig.lit .cn-3 { transition-delay:.85s; }
.cyclefig.lit .cn-4 { transition-delay:1.10s; }
.cyclefig .cyc-trav { fill:#0E1F38; stroke:none !important; opacity:0; }
.cinematic .cyclefig .cyc-trav { fill:#F3EEE8; }
.cyclefig.lit .cyc-trav { animation:cycTravel 14s linear 1.6s infinite; }
@keyframes cycTravel { 0%{offset-distance:0%; opacity:0} 4%{opacity:.8}
  96%{opacity:.8} 100%{offset-distance:100%; opacity:0} }
@media (prefers-reduced-motion: reduce) {
  .cyclefig .cyc-node { opacity:1 !important; }
  .cyclefig .cyc-trav { display:none !important; }
}


.mark { display:block; width:54px; height:22px; margin:0 0 var(--s-3); opacity:.9; }
.mark svg { width:54px; height:22px; overflow:visible; display:block; }
.mark .mk-line { stroke:rgba(14,31,56,0.55); stroke-width:1.4; fill:none;
  stroke-dasharray:120; stroke-dashoffset:120; }
.cinematic .mark .mk-line, .on-dark .mark .mk-line { stroke:rgba(243,238,232,0.7); }
.mark .mk-node { fill:rgba(14,31,56,0.7); stroke:none; transform-box:fill-box;
  transform-origin:center; transform:scale(0); }
.cinematic .mark .mk-node { fill:rgba(243,238,232,0.85); }
.mark .mk-box { stroke:rgba(14,31,56,0.5); stroke-width:1.1; fill:none; }
.cinematic .mark .mk-box { stroke:rgba(243,238,232,0.6); }
.mark .mk-tick { stroke:var(--brass-2,#B98F5F); stroke-width:1.4; fill:none;
  stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:16; stroke-dashoffset:16; }
.cinematic .mark .mk-tick { stroke:var(--brass-glow); }
.markrow.seq-in .mk-line, .markrow.drawn .mk-line { animation:mkDraw 1.5s cubic-bezier(.4,.1,.2,1) .25s forwards; }
.markrow.seq-in .mk-node, .markrow.drawn .mk-node { animation:mkPop .45s cubic-bezier(.2,.8,.3,1.5) .3s forwards; }
.markrow.seq-in .mk-node.n2, .markrow.drawn .mk-node.n2 { animation-delay:.75s; }
.markrow.seq-in .mk-node.n3, .markrow.drawn .mk-node.n3 { animation-delay:1.2s; }
.markrow.seq-in .mk-tick, .markrow.drawn .mk-tick { animation:mkDraw16 .5s cubic-bezier(.2,.8,.3,1.4) .4s forwards; }
.markrow.seq-in .mk-tick.t2, .markrow.drawn .mk-tick.t2 { animation-delay:.8s; }
.markrow.seq-in .mk-tick.t3, .markrow.drawn .mk-tick.t3 { animation-delay:1.2s; }

.markrow:hover .mk-line { animation:mkDraw 1.1s cubic-bezier(.4,.1,.2,1) forwards; }
.markrow:hover .mk-node { animation:mkPop .4s cubic-bezier(.2,.8,.3,1.5) forwards; }
.markrow:hover .mk-node.n2 { animation-delay:.3s; }
.markrow:hover .mk-node.n3 { animation-delay:.6s; }
.markrow:hover .mk-tick { animation:mkDraw16 .4s cubic-bezier(.2,.8,.3,1.4) forwards; }
.markrow:hover .mk-tick.t2 { animation-delay:.25s; }
.markrow:hover .mk-tick.t3 { animation-delay:.5s; }
@keyframes mkDraw { to { stroke-dashoffset:0; } }
@keyframes mkDraw16 { to { stroke-dashoffset:0; } }
@keyframes mkPop { to { transform:scale(1); } }
@media (prefers-reduced-motion: reduce) {
  .mk-line, .mk-tick { stroke-dashoffset:0 !important; animation:none !important; }
  .mk-node { transform:scale(1) !important; animation:none !important; }
}


.rowset .row h4, .doors .door h3, .owns .own h4, .qsheet .q h4 {
  transition:opacity var(--t-fast) var(--ease); }
.rowset .row h4 { opacity:.88; }
.rowset .row:hover h4, .owns .own:hover h4, .qsheet .q:hover h4 { opacity:1; }
.doors .door { position:relative; }
.doors .door::after { content:""; position:absolute; left:0; bottom:-1px; height:1px; width:0;
  background:var(--brass-2,#B98F5F); transition:width .45s cubic-bezier(.3,.5,.2,1); }
.doors .door:hover::after { width:100%; }


.off { display:grid; grid-template-columns:.85fr 1.35fr; gap:var(--s-7);
  margin-top:var(--s-6); align-items:start; }
.off-steps { display:flex; flex-direction:column; border-top:1px solid var(--rule); }
.off-step { position:relative; display:grid; grid-template-columns:34px 1fr; gap:var(--s-3);
  align-items:baseline; text-align:left; padding:var(--s-4) 0; background:none; border:0;
  border-bottom:1px solid var(--rule); cursor:pointer; color:var(--ink); font:inherit; }
.off-num { font-family:var(--mono); font-size:var(--fs-micro); letter-spacing:.14em;
  color:var(--ink); opacity:.45; transition:opacity .3s; }
.off-title { font-family:var(--serif); font-size:var(--fs-subhead); line-height:1.2;
  color:var(--ink); opacity:.55; transition:opacity .3s; }
.off-step.is-active .off-num, .off-step.is-active .off-title, .off-step:hover .off-title { opacity:1; }
.off-bar { position:absolute; left:0; bottom:-1px; height:1px; width:0; background:var(--brass-2,#B98F5F); }
.off.is-running .off-step.is-active .off-bar { animation:offFill var(--off-ms,4800ms) linear forwards; }
.off.is-paused .off-step.is-active .off-bar { animation-play-state:paused; }
@keyframes offFill { from { width:0; } to { width:100%; } }
.off-panels { position:relative; }
.off-panel p { font-family:var(--sans); font-size:var(--fs-body); line-height:1.7;
  color:var(--ink); margin:0; max-width:52ch; }
.off-panel .actor { display:block; font-family:var(--mono); font-size:var(--fs-micro);
  letter-spacing:.14em; text-transform:uppercase; opacity:.6; margin:0 0 var(--s-3); }
.off-panel { animation:offIn .5s cubic-bezier(.2,.7,.2,1) both; }
@keyframes offIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media (max-width:760px) { .off { grid-template-columns:1fr; gap:var(--s-4); } }
@media (prefers-reduced-motion: reduce) {
  .off-panel[hidden] { display:block !important; }
  .off-panel { animation:none !important; padding:var(--s-3) 0; border-bottom:1px solid var(--rule); }
  .off-bar { display:none !important; }
  .off-step .off-num, .off-step .off-title { opacity:1 !important; }
}


.pour .hero-map .hm-head > *,
.pour .hero-map .hm-mid > .stagefig,
.pour .hero-map .hm-mid > .prt-band,
.pour .hero-map .hm-foot > .lede,
.pour .hero-map .hm-foot > .hero-ctas {
  opacity:0; transform:translateY(14px);
  animation:heroRise .85s cubic-bezier(.2,.65,.25,1) forwards; }
.pour .hero-map .hm-head > h1 { animation-delay:.10s; }
.pour .hero-map .hm-head > .hero-accent { animation-delay:.55s; }
.pour .hero-map .hm-mid > .stagefig,
.pour .hero-map .hm-mid > .prt-band { animation-delay:.70s; }
.pour .hero-map .hm-foot > .lede { animation-delay:1.05s; }
.pour .hero-map .hm-foot > .lede + .lede { animation-delay:1.15s; }
.pour .hero-map .hm-foot > .hero-ctas { animation-delay:1.30s; }
@keyframes heroRise { to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  .pour .hero-map .hm-head > *, .pour .hero-map .hm-mid > .stagefig,
  .pour .hero-map .hm-mid > .prt-band, .pour .hero-map .hm-foot > .lede,
  .pour .hero-map .hm-foot > .hero-ctas {
    opacity:1 !important; transform:none !important; animation:none !important; }
}


.hero-cursor-glow {
  background:radial-gradient(circle, rgba(243,238,232,0.085) 0%,
    rgba(243,238,232,0.028) 40%, transparent 58%) !important; }


.hero-map .hm-mid:not(:empty) { min-height:0; }
.pour .hero-map .hm-mid > * { margin-top:var(--s-5); }


@media (max-width:820px) {
  .ringfig { overflow-x:auto; }
  .ringfig svg { min-width:660px; }
}


.ring-stage .dgm-cap, .eng-stage .dgm-cap, .flow-fig .dgm-cap {
  display:block; font-family:var(--mono); font-size:var(--fs-micro);
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink);
  opacity:.6; margin:var(--s-4) 0 0; line-height:1.6; }
.cinematic .ring-stage .dgm-cap, .cinematic .eng-stage .dgm-cap,
.cinematic .flow-fig .dgm-cap { color:var(--cream); }


@media (max-width: 1000px) {
  .split--figleft .split-grid > .split-fig,
  .split--figleftwide .split-grid > .split-fig { order: 2; }
  .split--figleft .split-grid > .split-copy,
  .split--figleftwide .split-grid > .split-copy { order: 1; }
}


@media (max-width: 820px) {
  
  .btn, .hero-ctas .btn, .sec-ctas .btn, .acc-all-btn {
    min-height: 44px; box-sizing: border-box; }

  
  .hero-ctas, .sec-ctas { flex-direction: column; align-items: stretch; }
  .hero-ctas > .btn, .sec-ctas > .btn { width: 100%; justify-content: center; }

  
  .nav-mark, .nav-cta, .np-tel, .np-toggle {
    min-height: 44px; display: inline-flex; align-items: center; }
  .nav-cta { justify-content: center; }

  
  .footer-col li { margin-bottom: 0; }
  .footer-col li a { display: block; padding: 11px 0; }
  .footer-legal a, .footer-legal .link-inline, .footer .link-inline,
  .footer-bottom a {
    display: inline-block; padding: 15px 0; }
  
  .footer-bottom span { display: flex; flex-wrap: wrap; gap: 0 var(--s-4); }
}

/* Sector hero art (Who We Work With). Law Firms: case files glowing softly, one flagged with a red ring (#E24B4A, the esports risk-map red). Financial Services: ledger bars. */
.sx-files { display:flex; gap:28px; align-items:flex-end; }
.sx-file-wrap { position:relative; display:block; width:40px; height:52px; flex:none; }
.sx-file { display:block; width:40px; height:52px; overflow:visible;
  filter:drop-shadow(0 0 3px rgba(243,238,232,.2)); animation:sxBreathe 10s ease-in-out infinite; }
.sx-file path { fill:none; stroke:rgba(243,238,232,.34); stroke-width:1.2; stroke-linejoin:round; }
.sx-file-wrap.is-flag .sx-file { animation:sxFlagGlow 10s ease-in-out infinite; }
.sx-file-wrap.is-flag .sx-file path { animation:sxFlagStroke 10s ease-in-out infinite; }
.sx-ring { position:absolute; left:-24px; top:-22px; width:88px; height:96px; max-width:none; overflow:visible; pointer-events:none; }
.sx-ring path { fill:none; stroke:#E24B4A; stroke-width:2; stroke-linecap:round;
  stroke-dasharray:300; stroke-dashoffset:300; opacity:0;
  filter:drop-shadow(0 0 4px rgba(226,75,74,.5)); animation:sxRing 10s ease-in-out infinite; }
@keyframes sxBreathe { 0%,100% { opacity:.8 } 50% { opacity:1 } }
@keyframes sxFlagGlow { 0%,14% { opacity:.8; filter:drop-shadow(0 0 3px rgba(243,238,232,.2)) }
  22%,84% { opacity:1; filter:drop-shadow(0 0 10px rgba(243,238,232,.6)) }
  94%,100% { opacity:.8; filter:drop-shadow(0 0 3px rgba(243,238,232,.2)) } }
@keyframes sxFlagStroke { 0%,14% { stroke:rgba(243,238,232,.34) } 22%,84% { stroke:rgba(243,238,232,.95) } 94%,100% { stroke:rgba(243,238,232,.34) } }
@keyframes sxRing { 0%,26% { stroke-dashoffset:300; opacity:0 } 28% { opacity:1 } 38%,82% { stroke-dashoffset:0; opacity:1 } 92%,100% { stroke-dashoffset:0; opacity:0 } }
.sx-bars { position:absolute; left:5vw; right:5vw; bottom:48px; height:96px; display:flex; align-items:flex-end; justify-content:space-between; }
.sx-bars span { width:10px; height:calc(var(--h) * 1%); border:1px solid rgba(243,238,232,.2); border-bottom:0;
  transform-origin:bottom; transform:scaleY(0);
  animation:sxRise .9s cubic-bezier(.2,.7,.2,1) var(--d) forwards, sxLit 12s ease-in-out var(--l) infinite; }
.sx-bars span.b { border-color:rgba(205,167,123,.6); }
@keyframes sxRise { to { transform:scaleY(1) } }
@keyframes sxLit { 0%,100% { background:transparent } 4% { background:rgba(243,238,232,.24) } 10% { background:transparent } }
@media (max-width:640px) {
  .sx-files .sx-file-wrap:nth-child(n+6) { display:none; }
  .sx-bars span:nth-child(even) { display:none; }
  .sx-bars { height:52px; }
}
@media (max-width:359px) {
  .sx-files { gap:18px; }
}
@media (prefers-reduced-motion: reduce) {
  .sx-file, .sx-file path, .sx-ring path, .sx-bars span { animation:none !important; }
  .sx-file-wrap.is-flag .sx-file path { stroke:rgba(243,238,232,.95); }
  .sx-ring path { stroke-dashoffset:0; opacity:1; }
  .sx-bars span { transform:none; }
}

/* Who We Work With heroes: one height, and every art row sits on the same baseline (48px above the hero bottom). */
.hero-map.hero-www { align-content:start; }
@media (min-width:641px) { .hero-map.hero-www { min-height:760px; } }
@media (max-width:640px) { .hero-map.hero-www { min-height:900px; } }
.hm-art { position:absolute; left:6vw; right:6vw; bottom:48px; z-index:2; pointer-events:none; }
.hm-art-col { max-width:1180px; margin:0 auto; }
.hm-art .prt-band { width:min(760px,100%); margin:0; }
.hm-art .prt-tiles { margin:0; }
.hm-art .prt-tile { padding:9px 12px 8px; }
@media (max-width:640px) { .hm-art .prt-tile:nth-child(3) { display:none; } }
