


.pour .dgm[data-fig-seq] svg g[data-g] { transition: opacity .72s ease-out; }
.pour .dgm[data-fig-seq="reveal"] svg g[data-g] { opacity: 0; }
.pour .dgm[data-fig-seq="highlight"] svg g[data-g] { opacity: .34; }
.pour .dgm[data-fig-seq].shown svg g[data-g] { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  .pour .dgm[data-fig-seq] svg g[data-g] {
    opacity: 1 !important; transition: none !important; }
}


.pour .dgm .pf-div, .pour .dgm .pf-rule, .pour .dgm .pf-cat-rule { opacity: .34; }


.pour .dgm .pf-cat-bg { fill: transparent; stroke: none;
  transition: fill .18s cubic-bezier(.2,.6,.2,1); }
.pour .dgm .pf-cat-edge { stroke: transparent; stroke-width: 2; }
.pour .dgm .pf-plan { opacity: .5; transition: opacity .18s ease; }
.pour .dgm .pf-cat { cursor: default; }
.pour .dgm .pf-cat:hover .pf-cat-bg,
.pour .dgm .pf-cat.is-on .pf-cat-bg { fill: rgba(14, 31, 56, .05); }
.pour .cinematic .dgm .pf-cat:hover .pf-cat-bg,
.pour .cinematic .dgm .pf-cat.is-on .pf-cat-bg { fill: rgba(243, 238, 232, .07); }
.pour .dgm .pf-cat:hover .pf-plan,
.pour .dgm .pf-cat.is-on .pf-plan { opacity: 1; }
.pour .dgm .pf-cat:focus { outline: none; }

.pour .dgm .pf-cat.is-on .pf-cat-edge { stroke: var(--brass-2, #B98F5F); }
.pour .cinematic .dgm .pf-cat.is-on .pf-cat-edge { stroke: var(--brass-glow); }
@media (hover: none) {
  
  .pour .dgm .pf-plan { opacity: .82; }
}



.split--figright .split-grid { grid-template-columns: minmax(0, 3fr) minmax(0, 8fr);
  align-items: start; }
@media (min-width: 821px) {
  .pf-merge .split-fig { position: sticky; top: 96px; align-self: start; }
}
.split--figright .split-fig .dgm { margin-top: 0; }
.split--figright .split-copy > p { font-family: var(--sans);
  font-size: var(--fs-body); line-height: 1.7; margin: 0 0 var(--s-4);
  max-width: 46ch; }
.split--figright .split-copy > p:last-child { margin-bottom: 0; }

.pf-merge .split-copy .evrows { margin-top: var(--s-5); max-width: none; }
.pf-merge .split-copy .evrow { max-width: none; }
.pf-merge .split-copy .pf-after { margin-top: var(--s-5); }
.split .split-copy > h3.pf-h3 { margin-top: var(--s-7); padding-top: var(--s-4);
  border-top: 1px solid var(--rule-strong); scroll-margin-top: 120px; }


.cadrows .row { grid-template-columns: 88px minmax(200px, 360px) 1fr;
  align-items: start; }

.cadrows .row .mark { width: 64px; height: 20px; margin: 7px 0 0; opacity: .9; }
.cadrows .row .mark svg { width: 64px; height: 20px; }
.cadrows.rowset .markrow.seq-in .mk-tick { animation-delay: 0s; }
.cadrows.rowset .markrow.seq-in .mk-tick.t2 { animation-delay: .10s; }
.cadrows.rowset .markrow.seq-in .mk-tick.t3 { animation-delay: .20s; }
.cadrows.rowset .markrow.seq-in .mk-tick.t4 { animation-delay: .30s; }
.cadrows.rowset .markrow:hover .mk-tick { animation-delay: 0s; }
.cadrows.rowset .markrow:hover .mk-tick.t2 { animation-delay: .06s; }
.cadrows.rowset .markrow:hover .mk-tick.t3 { animation-delay: .12s; }
.cadrows.rowset .markrow:hover .mk-tick.t4 { animation-delay: .18s; }
@media (max-width: 820px) {
  .cadrows .row { grid-template-columns: 1fr; gap: var(--s-2); }
  .cadrows .row .mark { margin: 0 0 var(--s-2); }
}
@media (prefers-reduced-motion: reduce) {
  .mk-tick { stroke-dashoffset: 0 !important; animation: none !important; }
}


@media (max-width: 820px) {
  .pour .dgm.dgm--fit { overflow-x: visible !important;
    padding-left: 8px; padding-right: 8px; }
  .pour .dgm.dgm--fit svg { min-width: 0 !important; width: 100% !important;
    max-width: 336px; margin: 0 auto; }
}


.evrows { margin-top: var(--s-5); border-top: 1px solid var(--rule-strong);
  max-width: var(--measure); }
.evrow { font-family: var(--sans); font-size: var(--fs-body); line-height: 1.7;
  margin: 0; padding: var(--s-4) 0; border-bottom: 1px solid var(--rule);
  max-width: var(--measure); }
.evrow:last-child { border-bottom: 0; }
.evrow strong { font-family: var(--serif); font-size: var(--fs-subhead);
  font-weight: 500; font-style: normal; }
.cinematic .evrows { border-top-color: var(--rule-inverse-strong); }
.cinematic .evrow { border-bottom-color: var(--rule-inverse); color: var(--cream); }


.pf-steps { display: grid; grid-template-columns: 1fr 1fr;
  gap: var(--s-6) var(--s-8); margin-top: var(--s-7); }
.pf-step h3 { font-family: var(--serif); font-size: var(--fs-subhead);
  font-weight: 500; line-height: 1.35; margin: 0 0 var(--s-3);
  padding-top: var(--s-4); border-top: 1px solid var(--rule-inverse-strong); }
.pf-step p { font-family: var(--sans); font-size: var(--fs-body);
  line-height: 1.7; margin: 0; max-width: 52ch; }
@media (max-width: 860px) { .pf-steps { grid-template-columns: 1fr;
  gap: var(--s-5); margin-top: var(--s-6); } }


.ctl-no { font-family: var(--mono); font-size: var(--fs-micro);
  letter-spacing: .1em; opacity: .55; margin-right: 4px;
  vertical-align: 1px; }


.pf-plans { table-layout: fixed; }
.pf-plans th:first-child, .pf-plans td:first-child { width: 28%; }
@media (max-width: 720px) {
  .pf-plans, .pf-plans tbody, .pf-plans tr, .pf-plans td { display: block;
    width: 100% !important; }
  .pf-plans thead { position: absolute; width: 1px; height: 1px;
    overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
    white-space: nowrap; }
  .pf-plans tr { border-bottom: 1px solid var(--rule); padding: var(--s-4) 0; }
  .pf-plans tr:last-child { border-bottom: 0; }
  .pf-plans td { border-bottom: 0 !important; padding: 0 0 var(--s-2) 0; }
  .pf-plans td:last-child { padding-bottom: 0; }
}


.contact-line { margin-top: var(--s-4) !important; }




.pour .dgm .pf-cat { transition: opacity .18s var(--ease); }
.pour .dgm.pf-cat-hot .pf-cat:not(.is-on) { opacity: .55; }
.pour .dgm .pf-q { transition: opacity .18s var(--ease); }
.pour .dgm .pf-cat.is-on .pf-q { opacity: 1; }
.pour .dgm .pf-arrow { transition: stroke .2s var(--ease); }
.pour .dgm.pf-cat-hot .pf-arrow { stroke: var(--brass-2, #B98F5F); }
.pour .cinematic .dgm.pf-cat-hot .pf-arrow { stroke: var(--brass-glow); }


.pour .dgm .pf-head-rule { opacity: .55; }


.pour .dgm text.pf-lane-k { font-family: var(--mono); font-size: 10px;
  letter-spacing: .16em; text-transform: none; opacity: .55; }
.pour .dgm .pf-lane-rule { stroke-dasharray: 2 5; opacity: .18; }
.pour .dgm .pf-path { stroke-width: 1.1; opacity: .45; stroke-dasharray: 3 4; }
.pour .dgm .pf-arrowhead { stroke-width: 1.2; fill: none; opacity: .55;
  stroke-linecap: round; stroke-linejoin: round; }
.pour .dgm .pf-node rect { fill: rgba(14, 31, 56, .04);
  stroke: rgba(14, 31, 56, .28); }
.pour .cinematic .dgm .pf-node rect { fill: rgba(243, 238, 232, .04);
  stroke: rgba(243, 238, 232, .28); }
.pour .dgm text.pf-k { font-family: var(--serif); font-size: 15px;
  letter-spacing: 0; text-transform: none; }
.pour .dgm text.pf-s { font-family: var(--mono); font-size: 8.5px;
  letter-spacing: .08em; text-transform: none; opacity: .55; }
.pour .dgm text.pf-n { font-family: var(--mono); font-size: 8.5px;
  letter-spacing: .12em; opacity: .42; }

.pour .dgm .pf-dot { fill: var(--brass-2, #B98F5F); stroke: none; opacity: 0; }

.pour .cinematic .dgm .pf-path { stroke: var(--teal-glow); opacity: .62; }
.pour .cinematic .dgm .pf-arrowhead { stroke: var(--teal-glow); opacity: .9; }
.pour .cinematic .dgm .pf-dot { fill: var(--teal-glow); }

.pour #finding .dgm { background: none; border: 0; box-shadow: none; padding: 0; border-radius: 0; }

.pour .dgm[data-fig-seq].shown .pf-dot {
  animation: pfDotTravel 2.4s linear 2.8s forwards; }
@keyframes pfDotTravel {
  0%   { offset-distance: 0%;   opacity: 0; }
  5%   { opacity: .95; }
  100% { offset-distance: 100%; opacity: .95; }
}
@media (prefers-reduced-motion: reduce) {
  .pour .dgm .pf-dot { animation: none !important; offset-distance: 100%;
    opacity: .95; }
}


.pour .dgm .pf-stage { transition: opacity .2s var(--ease); }
.pour .dgm .pf-stage:focus { outline: none; }
.pour .dgm rect.pf-hit, .pour .cinematic .dgm rect.pf-hit {
  fill: none; stroke: none; pointer-events: all; }
.pour .dgm.pf-stage-hot .pf-stage:not(.is-hot) { opacity: .6; }
.pour .dgm .pf-rec-rule { stroke-dasharray: var(--len);
  stroke-dashoffset: var(--len); transition: stroke-dashoffset .2s var(--ease); }
.pour .dgm .pf-stage.is-hot .pf-rec-rule { stroke-dashoffset: 0; }
.pour .dgm .pf-status { transition: opacity .18s var(--ease); }
.pour .dgm .pf-stage.is-hot .pf-status { opacity: 1; }



.pour .evrow { transition: background .18s var(--ease); }
.pour .evrow:hover { background: rgba(205, 167, 123, .07); }


.acc-sign { transition: transform .2s var(--ease); }
.acc-sign::before { transition: opacity .2s var(--ease); }
.acc-sign::after { transition: transform .3s var(--ease), opacity .2s var(--ease); }
.acc-btn:hover .acc-sign { transform: scale(1.12); }
.acc-btn:hover .acc-sign::before, .acc-btn:hover .acc-sign::after { opacity: .95; }
.acc-panel:not([hidden]) { animation: pfAccOpen .18s var(--ease) both;
  overflow: hidden; }
@keyframes pfAccOpen { from { opacity: 0; max-height: 0; }
  to { opacity: 1; max-height: 2000px; } }

.rowset--acc .row { position: relative; padding-left: 14px; }
.rowset--acc .row::before { content: ""; position: absolute; left: 0; top: 0;
  bottom: 0; width: 3px; background: var(--brass-2, #B98F5F); opacity: 0;
  transition: opacity .2s var(--ease); }
.rowset--acc .row:hover::before { opacity: 1; }


@media (prefers-reduced-motion: reduce) {
  .pour .dgm .pf-cat, .pour .dgm .pf-q, .pour .dgm .pf-arrow,
  .pour .dgm .pf-panel, .pour .dgm .pf-head-rule, .pour .dgm .pf-field,
  .pour .dgm .pf-stage, .pour .dgm .pf-rec-rule, .pour .dgm .pf-status,
  .pour .rowset .row h4::after, .pour .evrow, .pour .evrow strong::after,
  .pour .pf-plans td.k::after, .acc-sign, .acc-sign::before,
  .acc-sign::after, .rowset--acc .row::before {
    transition: none !important; }
  .acc-panel:not([hidden]) { animation: none !important; overflow: visible; }
  
}


@media (max-width: 820px) {
  .acc-btn { min-height: 44px; }
  .acc-all-btn { min-height: 44px; display: inline-flex; align-items: center; }
}
