.portfolio { --portfolio-gap:24px; }
.portfolio-heading { display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:end;padding:52px 0 40px; }
.portfolio-heading h1 {font-size:clamp(44px,5vw,76px);line-height:1.05;letter-spacing:-.045em;margin:0;text-transform:none;}
.portfolio-heading .lead {font-size:18px;max-width:480px;}
.portfolio-hero-image {height:470px;border-radius:var(--radius);overflow:hidden;background:var(--wash);}
.portfolio-hero-image img {width:100%;height:100%;object-fit:cover;}
.portfolio-hero-image.contain img {object-fit:contain;}
.portfolio .brand-subnav {display:flex;overflow-x:auto;gap:28px;white-space:nowrap;max-width:100%;padding:20px 0;border-bottom:1px solid var(--line);}
.portfolio .brand-subnav a {flex:none;font-size:13px;padding:10px 0;}
.portfolio-section {padding:60px 0 12px;scroll-margin-top:24px;}
.portfolio-section .section-heading {align-items:start;}
.portfolio-section .section-heading h2 {font-size:clamp(29px,3vw,42px);max-width:620px;line-height:1.13;margin:0;text-transform:none;}
.portfolio-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--portfolio-gap);}
.portfolio-grid.portfolio-halves {grid-template-columns:repeat(2,minmax(0,1fr));}
.portfolio-card {min-width:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--small-radius);overflow:hidden;background:var(--paper);}
.portfolio-media {height:240px;background:var(--wash);}
.portfolio-media img {width:100%;height:100%;object-fit:cover;}
.portfolio-media.contain {padding:30px;}
.portfolio-media.contain img {object-fit:contain;mix-blend-mode:multiply;}
.portfolio-card-body {padding:26px;}
.portfolio-card .eyebrow {font-size:10px;margin:0 0 14px;}
.portfolio-card h3 {font-size:25px;line-height:1.18;letter-spacing:-.025em;margin:0 0 13px;text-transform:none;}
.portfolio-card p {font-size:15px;line-height:1.6;margin:0;color:var(--muted);}
.portfolio-card.text-only {background:var(--wash);border-color:var(--wash);justify-content:center;}
.portfolio-card.text-only .portfolio-card-body {padding:32px;}
.portfolio-status {display:inline-flex;font-size:11px;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:7px 11px;margin:0 0 18px;background:var(--paper);}
.portfolio-enquiry {margin:60px 0;gap:32px;}
.portfolio-enquiry h2 {font-size:27px;line-height:1.2;letter-spacing:-.025em;margin:0 0 12px;text-transform:none;}
.portfolio-enquiry p {max-width:680px;}
.portfolio-enquiry>.btn {flex:none;}
@media(max-width:900px){.portfolio-heading{gap:30px;}.portfolio-heading h1{font-size:50px;}.portfolio-hero-image{height:380px;}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.portfolio-section .section-heading{display:block;}.portfolio-section .section-heading p{max-width:620px;margin-top:20px;}.portfolio-enquiry{flex-direction:column;align-items:start;}}
@media(max-width:560px){.portfolio{--portfolio-gap:18px;}.portfolio-heading{grid-template-columns:1fr;gap:24px;padding:35px 0 28px;}.portfolio-heading h1{font-size:43px;}.portfolio-heading .lead{font-size:16px;}.portfolio-heading .actions{gap:10px;}.portfolio-heading .btn{font-size:12px;padding:12px 17px;}.portfolio-hero-image{height:245px;border-radius:var(--small-radius);}.portfolio-grid,.portfolio-grid.portfolio-halves{grid-template-columns:1fr;}.portfolio-section{padding-top:40px;}.portfolio-media{height:245px;}.portfolio-card-body,.portfolio-card.text-only .portfolio-card-body{padding:24px;}.portfolio-card h3{font-size:25px;}.portfolio-enquiry{margin:40px 0;}.portfolio-enquiry h2{font-size:27px;}.portfolio .brand-subnav{gap:24px;}}
