/* Product leadership portfolio: uses the existing site's warm-paper/navy palette. */
.pf-kicker{color:var(--secondary);font-size:.69rem;letter-spacing:.17em;font-weight:700;text-transform:uppercase;margin:0 0 1.1rem}
.pf-hero{background:linear-gradient(127deg,#17313e 0%,#163f4b 63%,#245967 100%);color:#fcf9ef;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,.7fr);gap:5rem;position:relative;overflow:hidden;padding:clamp(2rem,5vw,5.1rem);margin:1.8rem 0 0;min-height:450px;align-items:end}
.pf-hero-grain{position:absolute;right:-120px;top:-200px;width:510px;height:510px;border:1px solid rgba(255,255,255,.14);border-radius:50%;pointer-events:none}
.pf-hero-grain:before,.pf-hero-grain:after{content:"";position:absolute;inset:38px;border:1px solid rgba(255,255,255,.13);border-radius:50%}
.pf-hero-grain:after{inset:95px}
.pf-hero-main,.pf-hero-side{z-index:1;position:relative}
.pf-hero .pf-kicker,.pf-contact .pf-kicker{color:#bad1cc}
.pf-hero h1{font-size:clamp(2.5rem,4.8vw,4.7rem);max-width:16ch;margin:.25rem 0 1.7rem;line-height:1.08}
.pf-hero .pf-lead{font-size:clamp(1.05rem,1.45vw,1.27rem);line-height:1.62;max-width:65ch;color:#e2e8e1}
.pf-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:2rem}
.pf-btn-light{display:inline-flex;align-items:center;justify-content:space-between;gap:2.2rem;background:#f8f5ed;color:#17313e;text-decoration:none;padding:.85rem 1.2rem;font-size:.86rem;font-weight:700;min-height:50px}
.pf-btn-light:hover{background:#dcebe6;color:#17313e}
.pf-text-light{color:#eef4ee;font-size:.85rem;text-decoration:none}
.pf-hero-side{border-left:1px solid rgba(255,255,255,.22);padding-left:1.6rem;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;font-size:.95rem}
.pf-side-label{font-size:.67rem;letter-spacing:.13em;color:#c2d5d0;margin:0 0 .5rem}
.pf-hero-side span:nth-of-type(even){color:#85b0a6;padding-left:.3rem}
.pf-hero-side>p:last-child{font-size:.8rem;color:#cadbd6;line-height:1.5;margin:1.1rem 0 0}
.pf-section{padding:4.1rem 0;border-bottom:1px solid var(--rule)}
.pf-section-top{display:flex;gap:2rem;align-items:end;justify-content:space-between;margin-bottom:1.5rem}
.pf-section-top .pf-kicker{margin:0}
.pf-aside{font-size:.82rem;color:var(--muted);margin:0;text-align:right}
.pf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.pf-card{background:#fffefa;border:1px solid var(--rule);padding:clamp(1.4rem,2.8vw,2.25rem);display:flex;flex-direction:column;min-height:330px;transition:border-color .2s,transform .2s}
.pf-card:hover{border-color:#75908f;transform:translateY(-2px)}
.pf-card-feature{background:#e8efeb}
.pf-card-line{display:flex;gap:1rem;justify-content:space-between;align-items:baseline;font-size:.65rem;letter-spacing:.09em;font-weight:700;text-transform:uppercase;color:#5a7073;margin:0 0 2rem}
.pf-card-line span:last-child{text-align:right}
.pf-card h2{font-size:clamp(1.8rem,2.6vw,2.65rem);margin:0 0 1rem;letter-spacing:-.025em}
.pf-card h2 a{color:var(--ink);text-decoration:none}
.pf-card h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.pf-card>p:not(.pf-card-line){font-size:.97rem;line-height:1.65;color:#465d63}
.pf-card-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin:auto 0 .6rem;padding-top:1.4rem}
.pf-card-tags span{font-size:.65rem;border:1px solid #bccfc9;padding:.22rem .55rem;color:#38555a}
.pf-card-link{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid #cdd6d0;padding-top:.9rem;margin-top:1rem;text-decoration:none;font-size:.82rem;font-weight:700;color:#204f58}
.pf-framework{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem;align-items:start}
.pf-framework h2,.pf-section h2{max-width:20ch;font-size:clamp(2rem,3.3vw,3.25rem);line-height:1.17}
.pf-paragraph{font-size:1.07rem;line-height:1.75;color:#485d63;max-width:58ch}
.pf-process{counter-reset:steps;list-style:none;padding:0;margin:0}
.pf-process li{display:flex;gap:1.5rem;align-items:flex-start;border-top:1px solid var(--rule);padding:1rem 0;margin:0}
.pf-process li:before{counter-increment:steps;content:"0" counter(steps);color:#8e5b4e;font-size:.73rem;font-weight:700;padding-top:.2rem;min-width:1.8rem}
.pf-process li strong{min-width:6.4rem;font-size:.94rem}
.pf-process li span{font-size:.85rem;line-height:1.55;color:var(--muted)}
.pf-proof-list{display:flex;flex-direction:column;border-top:1px solid var(--rule)}
.pf-proof-list a{display:grid;grid-template-columns:36px minmax(130px,1.2fr) minmax(190px,1fr) 24px;align-items:center;gap:1.4rem;padding:1.2rem .3rem;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink)}
.pf-proof-list a:hover{background:#ecefe9}
.pf-proof-list a>span{font-size:.7rem;color:#9c604f}
.pf-proof-list strong{font-size:.98rem;font-weight:600}
.pf-proof-list small{font-size:.77rem;color:var(--muted);line-height:1.5}
.pf-proof-list b{font-weight:400;font-size:1.2rem;color:#9c604f;text-align:right}
.pf-disclosure{font-size:.78rem;color:#617276;max-width:95ch;line-height:1.7;margin-top:1.2rem}
.pf-contact{background:#1d3a42;color:#f4f6ee;padding:clamp(1.7rem,3.5vw,3rem);margin:3.4rem 0;display:flex;gap:2.2rem;align-items:center;justify-content:space-between}
.pf-contact h2{font-size:clamp(1.6rem,2.5vw,2.4rem);max-width:22ch;margin:0}
.pf-contact .pf-btn-light{flex:none}
.pf-crumb{display:flex;gap:1rem;flex-wrap:wrap;font-size:.78rem;color:var(--muted);padding-top:2rem}
.pf-crumb a{text-decoration:none;font-weight:700;color:#325964}
.pf-case-hero{padding:3.2rem 0 3.3rem;border-bottom:2px solid #c7d0c8}
.pf-case-hero h1{font-size:clamp(2.5rem,5vw,5rem);max-width:20ch;line-height:1.09;margin:.4rem 0 1.4rem}
.pf-case-hero .pf-lead{max-width:60ch;font-size:1.22rem;line-height:1.75;color:#4b5d61}
.pf-case-meta{display:flex;gap:.7rem 1.2rem;flex-wrap:wrap;margin-top:2.2rem}
.pf-case-meta span{font-size:.73rem;text-transform:uppercase;letter-spacing:.07em;padding:.42rem .75rem;border:1px solid #bcc8c0;color:#496067}
.pf-case-two{display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem}
.pf-case-two>div:last-child{padding-top:.3rem}
.pf-case-two>div:last-child p{max-width:65ch;line-height:1.8;color:#465b60;margin-top:0;margin-bottom:1.2rem}
.pf-flow{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:2rem 0 2.5rem}
.pf-flow span[role="listitem"]{padding:.65rem .85rem;border:1px solid #bacbc6;background:#e9f0eb;font-size:.82rem;font-weight:700}
.pf-flow span:not([role="listitem"]){font-size:1rem;color:#9a6252}
.pf-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.pf-three article{border-top:2px solid #446f74;background:#fffefa;padding:1.6rem}
.pf-three h3{font-size:1.5rem;margin:0 0 .85rem}
.pf-three p{font-size:.9rem;color:var(--muted);line-height:1.65}
.pf-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.pf-step{display:block;font-size:.76rem;letter-spacing:.1em;color:#a35b46;margin-bottom:1.4rem}
.pf-evidence h2{margin-bottom:1.4rem}
.pf-boundary{border-left:3px solid #ad6954;background:#eaece5;padding:1.3rem 1.5rem;margin-top:2rem;max-width:900px}
.pf-boundary strong{font-size:.86rem}
.pf-boundary p{font-size:.9rem;line-height:1.7;color:#536466;margin:.6rem 0 0}
.pf-timeline{border-top:1px solid var(--rule)}
.pf-timeline>div{display:grid;grid-template-columns:135px 1fr;gap:2rem;padding:1.8rem 0;border-bottom:1px solid var(--rule)}
.pf-timeline time{font-weight:700;color:#985d49;font-size:1rem}
.pf-timeline h2{font-size:clamp(1.5rem,2.3vw,2rem);margin:0 0 .7rem}
.pf-timeline p{color:#52666c;font-size:.95rem;line-height:1.7;max-width:73ch}
.pf-timeline a{font-size:.82rem;font-weight:700;text-decoration:none}
.pf-next{display:flex;gap:1rem;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:2.4rem 0 4rem}
.pf-next a{font-size:.9rem;font-weight:700;text-decoration:none}
@media(max-width:950px){.pf-hero{gap:2rem;grid-template-columns:1fr}.pf-hero-side{display:none}.pf-framework,.pf-case-two{gap:2rem}.pf-four{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-contact{align-items:flex-start;flex-direction:column}.pf-proof-list a{grid-template-columns:27px 1fr 20px;gap:1rem}.pf-proof-list small{grid-column:2;grid-row:2}.pf-proof-list b{grid-column:3;grid-row:1}}
@media(max-width:650px){.pf-hero{padding:2rem 1.35rem;min-height:0}.pf-hero h1{font-size:clamp(2.15rem,10vw,3.1rem)}.pf-grid,.pf-framework,.pf-case-two,.pf-three,.pf-four{grid-template-columns:1fr}.pf-section{padding:2.8rem 0}.pf-section-top{display:block}.pf-aside{text-align:left;margin-top:.45rem}.pf-card{min-height:0}.pf-card-line{margin-bottom:1.2rem}.pf-case-hero{padding:2.4rem 0}.pf-case-hero h1{font-size:clamp(2.1rem,9.2vw,3.4rem)}.pf-case-hero .pf-lead{font-size:1.05rem}.pf-timeline>div{grid-template-columns:1fr;gap:.2rem}.pf-flow{gap:.3rem}.pf-proof-list a{grid-template-columns:24px 1fr 20px}.pf-next{padding-bottom:2rem}.pf-contact .pf-btn-light{width:100%}}
@media(prefers-reduced-motion:reduce){.pf-card{transition:none}.pf-card:hover{transform:none}}
