/* Full-stack recap: three work domains above shared platform layers. */
/* Home: the platform map joins the river artwork without a white spacer. */
[data-page="home"] .pf-stack.pf-section{padding-bottom:0}
[data-page="home"] .pf-stack + .cta-band.project-cta{margin-top:0}
.pf-stack.pf-section{width:100%;max-width:none;margin:0;padding:76px 0 20px;font-family:var(--font-sans,Inter,Arial,sans-serif)}.pf-stack-intro{text-align:center;max-width:950px;margin:0 auto 38px;padding:0 24px}.pf-stack-intro h2{font:400 46px/1.15 var(--font-sans,Inter,Arial,sans-serif);letter-spacing:-.025em;margin:0 0 22px;text-wrap:balance}.pf-stack-intro>p{font-size:17px;line-height:1.55;color:#62676c;max-width:780px;margin:auto}.pf-stack .pf-stack-stage{border-radius:0;margin:0;background:var(--fig-base);--fig-base:#173d32;--fig-light:#305748;--fig-ink:#09281f;position:relative;isolation:isolate;overflow:hidden;padding:32px 36px;color:#f2f7ef}.pf-stack-stage>.v-backdrop{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.55;pointer-events:none}.pf-stack-map{position:relative;color:#f2f7ef}.pf-stack-workspace{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 0 20px}.pf-stack-workspace>img{display:block;width:165px;height:auto;flex-shrink:0}.pf-stack-workspace>div{text-align:right}.pf-stack-workspace b{display:block;font-size:17px;line-height:1.4;font-weight:500}.pf-stack-workspace span{display:block;font-size:13px;color:#bacfc2;margin-top:5px}.pf-stack-bus{display:block;width:100%;height:32px;overflow:visible}.pf-stack-bus path{fill:none;stroke:#c8dbce;stroke-opacity:.75;stroke-width:1;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}.pf-stack-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:18px 0 28px}.pf-stack-column{min-width:0;padding:0 26px}.pf-stack-column:first-child{padding-left:0}.pf-stack-column:last-child{padding-right:0}.pf-stack-column+.pf-stack-column{border-left:1px solid #bed3c128}.pf-stack-column h3{font:400 23px/1.25 var(--font-sans,Inter,Arial,sans-serif);letter-spacing:-.015em;color:#f2f7ef;margin:0 0 18px;min-height:29px}.pf-stack-column>a{display:flex;align-items:center;justify-content:space-between;gap:10px;color:inherit;text-decoration:none;padding:11px 0;min-height:62px;border-top:1px solid #bed3c128;box-sizing:border-box}.pf-stack-column b{display:block;font-size:15px;line-height:1.4;font-weight:500}.pf-stack-column span{display:block;font-size:13px;line-height:1.5;color:#bacfc2;margin-top:4px}.pf-stack-column i{font-style:normal;font-size:18px;color:#9bbba5;opacity:.65;transition:opacity .15s,transform .15s}.pf-stack-column a:hover i{opacity:1;transform:translate(2px,-2px)}.pf-stack-column a:hover b{text-decoration:underline;text-underline-offset:4px}.pf-stack a:focus-visible{outline:2px solid #d0e7c9;outline-offset:5px;border-radius:2px}.pf-stack-layer{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:center;gap:26px;padding:18px 0;border-top:1px solid #bed3c140}.pf-stack-layer-title{font-size:14px;font-weight:500;color:#f2f7ef;text-decoration:none}.pf-stack-layer-title>span{color:#a7c6b0;margin-left:5px}.pf-stack-layer>p{font-size:13px;line-height:1.6;color:#c5d7ca;margin:0}.pf-stack-layer>p>span{padding:0 10px;color:#819d88}.pf-stack-layer-title:hover{text-decoration:underline;text-underline-offset:4px}.pf-stack-base{display:flex;justify-content:space-between;align-items:center;gap:24px;background:#071f1733;border-top:1px solid #bed3c140;margin:0 -36px -32px;padding:20px 36px}.pf-stack-base>div{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.pf-stack-base a{font-size:13px;color:#c5d7ca;text-decoration:none}.pf-stack-base a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.pf-stack-base>span{font-size:13px;line-height:1.5;white-space:nowrap;color:#a7c6b0}
@media(max-width:1100px){.pf-stack.pf-section{padding-top:62px}.pf-stack .pf-stack-stage{padding:28px}.pf-stack-column{padding-inline:20px}.pf-stack-column h3{font-size:21px;min-height:53px}.pf-stack-layer{grid-template-columns:210px minmax(0,1fr);gap:20px}.pf-stack-base{margin:0 -28px -28px;padding:18px 28px;gap:18px}.pf-stack-base>div{gap:18px}}
@media(max-width:760px){.pf-stack.pf-section{padding:52px 0 0}.pf-stack-intro{margin-bottom:28px}.pf-stack-intro h2{font-size:33px;line-height:1.15}.pf-stack-intro>p{font-size:16px}.pf-stack .pf-stack-stage{padding:24px 20px}.pf-stack-workspace{display:block;padding-bottom:20px;border-bottom:1px solid #bed3c140}.pf-stack-workspace>img{width:135px}.pf-stack-workspace>div{margin-top:20px;text-align:left}.pf-stack-workspace b{font-size:16px}.pf-stack-workspace span{font-size:12px}.pf-stack-bus{display:none}.pf-stack-columns{grid-template-columns:1fr;padding:0}.pf-stack-column,.pf-stack-column:first-child,.pf-stack-column:last-child{padding:24px 0}.pf-stack-column+.pf-stack-column{border-left:0;border-top:1px solid #bed3c140}.pf-stack-column h3{font-size:23px;min-height:0;margin-bottom:16px}.pf-stack-column b{font-size:15px}.pf-stack-column span{font-size:13px}.pf-stack-layer{grid-template-columns:1fr;gap:8px;padding-block:18px}.pf-stack-layer>p{font-size:13px}.pf-stack-layer>p>span{padding:0 6px}.pf-stack-base{display:block;margin:0 -20px -24px;padding:20px}.pf-stack-base>div{gap:14px 20px}.pf-stack-base>span{display:block;margin-top:16px;font-size:12px}}

