/* Portfolio page only. Existing site styles remain in styles.css and enhancements.css. */
.portfolio-intro{padding-bottom:58px}
.portfolio-intro .container{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:70px;align-items:end}
.portfolio-intro h1{max-width:820px}
.portfolio-intro .intro-copy{max-width:520px;color:var(--muted);font-size:1.04rem;line-height:1.8;padding-bottom:8px}
.portfolio-note{margin-top:18px;padding:14px 16px;border-left:2px solid var(--gold);background:#efe9dc;color:#475963;font-size:.84rem;line-height:1.65}
.portfolio-feature{padding-top:60px}
.portfolio-feature-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:42px;align-items:start}
.portfolio-preview{display:block;background:#fff;border:1px solid #d9ded9;border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 46px #061c2b12;transition:transform .35s var(--ease),box-shadow .35s}
.portfolio-preview:hover{transform:translateY(-5px);box-shadow:0 26px 60px #061c2b1c}
.portfolio-preview:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.portfolio-preview img{width:100%;aspect-ratio:1320/894;object-fit:cover;object-position:top center}
.portfolio-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;background:#fff;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.portfolio-preview-bar strong{color:var(--ink);font-size:.86rem}
.portfolio-preview-bar span{display:inline-flex;align-items:center;gap:8px}
.portfolio-preview-bar svg{width:17px;height:17px;color:#9a6f2d}
.portfolio-detail{padding-top:8px}
.portfolio-kicker{display:inline-flex;align-items:center;gap:9px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#8d672a;margin-bottom:17px}
.portfolio-kicker:before{content:'';width:21px;height:2px;background:var(--gold)}
.portfolio-detail h2{font-size:clamp(2rem,3vw,3.1rem)}
.portfolio-detail>p{color:var(--muted);margin-top:20px}
.portfolio-detail .button{margin-top:27px}
.concept-disclosure{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:.78rem!important;line-height:1.65;color:#66747b!important}
.portfolio-capabilities{background:#eef0ed;border-top:1px solid #e5e7e3;border-bottom:1px solid #e5e7e3}
.portfolio-capabilities .section-heading{align-items:start}
.portfolio-filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 34px}
.portfolio-filter{appearance:none;border:1px solid #cad1cf;background:#fff;color:var(--ink);border-radius:999px;padding:10px 15px;font-size:.8rem;font-weight:650;line-height:1.2;transition:background .2s,border-color .2s,transform .2s,color .2s}
.portfolio-filter:hover{transform:translateY(-2px);border-color:#ad9467}
.portfolio-filter[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.capability-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.capability-card{background:#fff;border:1px solid #dce1dc;border-radius:12px;padding:23px 21px;min-height:178px;display:flex;flex-direction:column;transition:transform .28s var(--ease),box-shadow .28s,border-color .28s}
.capability-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #061c2b0d;border-color:#cbb88f}
.capability-card[hidden]{display:none!important}
.capability-num{font-size:.68rem;letter-spacing:.12em;color:#9b7332;font-weight:700;margin-bottom:25px}
.capability-card h3{font-size:1.08rem;letter-spacing:-.025em}
.capability-card p{font-size:.84rem;line-height:1.6;color:var(--muted);margin-top:10px}
.capability-tag{font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;color:#8c672b;font-weight:700;margin-top:auto;padding-top:18px}
.filter-empty{display:none;margin-top:20px;padding:23px;border:1px dashed #b9c0bd;border-radius:12px;background:#fff;color:var(--muted)}
.filter-empty.is-visible{display:block}
.portfolio-anything{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;margin-top:39px;padding-top:32px;border-top:1px solid #cfd5d1}
.portfolio-anything h3{font-size:1.45rem}
.portfolio-anything p{color:var(--muted);font-size:.92rem;margin-top:8px;max-width:650px}
@media(max-width:1100px){.portfolio-intro .container{gap:45px}.portfolio-feature-grid{grid-template-columns:1.25fr .75fr;gap:32px}.capability-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.portfolio-intro .container{grid-template-columns:1fr;gap:23px}.portfolio-intro .intro-copy{padding-bottom:0;max-width:650px}.portfolio-feature-grid{grid-template-columns:1fr}.portfolio-detail{max-width:650px}.capability-grid{grid-template-columns:repeat(2,1fr)}.portfolio-anything{grid-template-columns:1fr;gap:20px}.portfolio-anything .button{justify-self:start}}
@media(max-width:640px){.portfolio-intro{padding-bottom:42px}.portfolio-intro h1{font-size:2.95rem}.portfolio-intro .intro-copy{font-size:.96rem}.portfolio-feature{padding-top:38px}.portfolio-preview{border-radius:10px}.portfolio-preview-bar{align-items:flex-start;flex-direction:column;gap:5px;padding:14px 15px}.portfolio-detail h2{font-size:2.25rem}.portfolio-detail .button{width:100%;justify-content:space-between}.portfolio-filters{gap:8px;margin-bottom:25px}.portfolio-filter{font-size:.75rem;padding:9px 12px}.capability-grid{grid-template-columns:1fr;gap:11px}.capability-card{min-height:0;padding:20px}.capability-num{margin-bottom:16px}.capability-tag{padding-top:14px}.portfolio-anything{margin-top:31px;padding-top:27px}.portfolio-anything .button{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.portfolio-preview,.capability-card,.portfolio-filter{transition:none}.portfolio-preview:hover,.capability-card:hover,.portfolio-filter:hover{transform:none}}
