.portfolio-hero{min-height:470px;padding:85px max(4vw,calc((100vw - 1280px)/2));background:linear-gradient(120deg,#e9f6ff 0%,#fff 55%,#fff1e7 100%);display:flex;align-items:flex-end;justify-content:space-between;gap:60px}.portfolio-hero h1{font-size:clamp(48px,7vw,96px);line-height:.9;letter-spacing:-.065em;margin:14px 0 28px}.portfolio-hero h1 em{font-style:normal;color:#f05a28}.portfolio-hero>div>p:last-child{max-width:620px;color:#5f7183;line-height:1.7;font-size:17px}.back-link{display:inline-block;color:#2374e1;font-size:12px;font-weight:800;margin-bottom:45px}.portfolio-stat{min-width:220px;max-width:240px;border-left:3px solid #f05a28;padding:14px 0 14px 22px}.portfolio-stat strong{display:block;font-size:38px}.portfolio-stat span{font-size:12px;color:#667085;line-height:1.5}
.portfolio-toolbar{padding:28px max(4vw,calc((100vw - 1280px)/2));background:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;position:sticky;top:78px;z-index:10;border-bottom:1px solid #e4ebf1}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{border:1px solid #dce5ec;background:#fff;color:#4f6274;border-radius:40px;padding:10px 16px;font:600 12px "Segoe UI",sans-serif;cursor:pointer}.filters button:hover,.filters button.active{background:#2374e1;border-color:#2374e1;color:#fff}.portfolio-toolbar>p{font-size:12px;color:#738294;white-space:nowrap}
.portfolio-grid{width:min(1380px,94vw);margin:0 auto;padding:45px 0 100px;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:360px;gap:14px}.work{position:relative;margin:0;overflow:hidden;border-radius:12px;background:#eaf0f4;box-shadow:0 10px 35px rgba(25,65,96,.08)}.work[hidden]{display:none}.work-featured,.work-wide{grid-column:span 2}.work-tall{grid-row:span 2}.work img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .4s}.work:hover img{transform:scale(1.035);filter:saturate(1.08)}.work:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,rgba(11,24,35,.88))}.work figcaption{position:absolute;left:24px;right:24px;bottom:23px;color:#fff;z-index:2;display:flex;flex-direction:column}.work figcaption span{color:#ff9a54;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.work figcaption strong{font-size:20px;margin-top:8px}.work figcaption small{color:#c9d2d9;margin-top:7px}
.portfolio-cta{padding:80px max(4vw,calc((100vw - 1280px)/2));background:linear-gradient(120deg,#2374e1,#39a9dc);color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:45px}.portfolio-cta h2{font-size:clamp(38px,5vw,64px);line-height:.96;letter-spacing:-.05em;margin:0}.portfolio-cta .button-accent{background:#f05a28}
@media(max-width:900px){.portfolio-hero{min-height:520px;align-items:flex-start;flex-direction:column;justify-content:center}.portfolio-toolbar{top:66px;align-items:flex-start}.portfolio-grid{grid-template-columns:1fr 1fr;grid-auto-rows:330px}.portfolio-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:580px){.portfolio-hero{padding:60px 5vw}.portfolio-hero h1{font-size:52px}.portfolio-toolbar{position:static;flex-direction:column}.portfolio-grid{width:90vw;grid-template-columns:1fr;grid-auto-rows:340px}.work-featured,.work-wide,.work-tall{grid-column:auto;grid-row:auto}.portfolio-cta{padding:65px 5vw}}
.work{cursor:pointer}.work:focus-visible{outline:3px solid #f39a50;outline-offset:3px}.case-dialog{width:min(980px,94vw);max-height:90vh;border:0;border-radius:26px;padding:0;color:#29384d}.case-dialog::backdrop{background:rgba(29,43,56,.72)}.dialog-close{position:absolute;right:14px;top:14px;z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:#fff;font-size:25px}.dialog-gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:4px;height:430px}.dialog-gallery img{width:100%;height:100%;object-fit:cover}.dialog-gallery img:first-child{grid-row:1/-1}.dialog-copy{padding:30px}.dialog-copy>span{font-size:11px;color:#d98045;text-transform:uppercase;font-weight:800}.dialog-copy h2{font-size:34px;margin:12px 0}.dialog-copy dl{margin:25px 0}.dialog-copy dl div{padding:10px 0}@media(max-width:580px){.dialog-gallery{height:270px}.dialog-copy{padding:22px}.dialog-copy h2{font-size:27px}}
/* Portfolio readability and even case grid */
.portfolio-hero>div>p:last-child{font-size:19px;max-width:760px;color:#52677b}.portfolio-stat span{font-size:15px}.portfolio-toolbar{justify-content:flex-start}.portfolio-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:420px;gap:18px}.work,.work-featured,.work-wide,.work-tall{grid-column:span 1;grid-row:span 1;border:1px solid #dfe8ef;border-radius:22px;background:#fff;padding:8px}.work img{object-fit:contain;background:#f1f5f7;border-radius:16px}.work:after{inset:48% 8px 8px;border-radius:16px;background:linear-gradient(transparent,rgba(23,44,64,.9))}.work figcaption{left:28px;right:28px;bottom:28px}.work figcaption strong{font-size:19px;line-height:1.3}.work figcaption small{font-size:13px}.portfolio-cta{background:linear-gradient(120deg,#719dcc,#91b9dd)}
@media(max-width:980px){.portfolio-grid{grid-template-columns:1fr 1fr;grid-auto-rows:400px}}@media(max-width:580px){.portfolio-grid{grid-template-columns:1fr;grid-auto-rows:390px}.portfolio-hero>div>p:last-child{font-size:17px}}
