/* Portfolio index: selector + project cards; project page: full item restyle. */
.pf-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid color-mix(in srgb, currentColor 18%, transparent);}
.pf-col{padding:clamp(24px,2.6vw,36px) clamp(18px,2vw,32px);border-right:1px solid color-mix(in srgb, currentColor 18%, transparent);border-bottom:1px solid color-mix(in srgb, currentColor 18%, transparent);}
.pf-col:first-child{padding-left:0;}
.pf-col:last-child{border-right:0;}
.pf-col h3{font-size:clamp(17px,1.8vw,21px);margin:0 0 14px;font-weight:600;}
.pf-col ul{list-style:none;margin:0;padding:0;}
.pf-col li{margin:0 0 2px;}
.pf-col a{display:block;padding:7px 10px;text-decoration:none;font-size:15px;line-height:1.4;color:inherit;opacity:.74;border-left:2px solid transparent;transition:.18s ease;}
.pf-col a:hover{opacity:1;background:color-mix(in srgb, currentColor 6%, transparent);}
.pf-all{display:flex;justify-content:space-between;align-items:center;gap:20px;text-decoration:none;color:#fff;background:var(--brand-navy,#2b2f5e);padding:clamp(26px,3.2vw,42px) clamp(22px,3vw,40px);margin:clamp(20px,3vw,32px) 0;transition:.22s ease;}
.pf-all:hover{filter:brightness(1.15);}
.pf-all .pf-all-text{display:flex;flex-direction:column;gap:6px;}
.pf-all strong{font-family:var(--font-heading);font-size:clamp(20px,2.4vw,28px);font-weight:600;letter-spacing:.01em;}
.pf-all span span,.pf-all-text>span{font-size:14.5px;opacity:.72;}
.pf-all svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.6;flex:none;}
.pf-hint{font-family:var(--font-heading);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;opacity:.5;margin:0 0 14px;}
.pf-card-head{display:flex;align-items:center;gap:10px;min-height:28px;}
.pf-logo{height:26px;width:auto;max-width:104px;object-fit:contain;filter:grayscale(1);opacity:.75;flex:none;}
.pf-back{margin:clamp(28px,4vw,44px) 0 0;}
.pf-count{font-family:var(--font-heading);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;opacity:.5;margin:clamp(20px,3vw,32px) 0 18px;}
.pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,30px);}
.pf-card{border:1px solid color-mix(in srgb, currentColor 18%, transparent);padding:clamp(22px,2.4vw,32px);display:flex;flex-direction:column;gap:12px;transition:.22s ease;}
.pf-card:hover{border-color:color-mix(in srgb, currentColor 42%, transparent);}
.pf-card[hidden]{display:none;}
.pf-tag{font-family:var(--font-heading);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.45;font-weight:600;}
.pf-card h3{font-size:17.5px;line-height:1.3;margin:0;font-weight:600;}
.pf-card p{font-size:14px;line-height:1.62;opacity:.74;margin:0;}
.pf-card .textlink{margin-top:auto;align-self:flex-start;font-size:12.5px;}
@media (max-width:1000px){.pf-selector{grid-template-columns:1fr;}.pf-col{border-right:0;padding-left:0;padding-right:0;}.pf-grid{grid-template-columns:1fr;}}
@media (min-width:1001px) and (max-width:1280px){.pf-grid{grid-template-columns:repeat(2,1fr);}}

/* full project item (ported MVC5 markup, restyled to the new brand) */
.pfull{font-size:15.5px;line-height:1.7;}
.pfull .container{border:0!important;padding:0!important;margin:0!important;width:auto;max-width:none;}
.pfull .row{display:block;margin:0;}
.pfull [class*="col-"]{width:auto;float:none;padding:0;}
.pfull h3{font-size:clamp(22px,2.6vw,30px);line-height:1.22;font-weight:600;margin:0 0 18px;color:var(--brand-navy,#2b2f5e);}
.pfull h4{font-size:17px;font-weight:600;margin:20px 0 10px;}
.pfull p{margin:0 0 14px;}
.pfull img{max-width:100%;height:auto;}
.pfull b{font-weight:600;}
.pfull [style*="color: #2c5c8f"],.pfull [style*="color:#2c5c8f"]{color:var(--brand-navy,#2b2f5e)!important;}
.pfull [style*="border-left"]{border-left-color:var(--brand-navy,#2b2f5e)!important;}
.pfull .text-right img{padding-top:0!important;}
