/* Portfolio page refinement — page-specific only */
.portfolio-hero{padding:78px 0 54px;background:linear-gradient(180deg,#f7f9f5 0%,#eef3ee 100%);border-bottom:1px solid var(--line)}
.portfolio-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.portfolio-hero h1{margin:12px 0 16px;max-width:720px;font-size:clamp(38px,5.2vw,64px);line-height:1.04;letter-spacing:-.045em;color:var(--blue)}
.portfolio-hero p{max-width:650px;margin:0;color:var(--muted);font-size:16px}
.portfolio-hero-visual{min-height:390px;border-radius:30px;background:url('../../portofolio/portofolio-05.webp') center/cover no-repeat;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.portfolio-hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,53,80,.02),rgba(15,53,80,.62))}
.portfolio-hero-badge{position:absolute;z-index:2;left:22px;right:22px;bottom:22px;padding:17px 18px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(15,53,80,.78);color:#fff;backdrop-filter:blur(8px)}
.portfolio-hero-badge strong{display:block;font-size:14px}.portfolio-hero-badge span{display:block;margin-top:3px;font-size:12px;color:#d6e2e5}
.portfolio-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}
.portfolio-trust-item{padding:18px;border:1px solid var(--line);background:#fff;border-radius:18px}.portfolio-trust-item strong{display:block;color:var(--blue);font-size:14px}.portfolio-trust-item span{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px;flex-wrap:wrap}
.portfolio-filters{display:flex;gap:8px;flex-wrap:wrap}.portfolio-filter{border:1px solid #cfddd5;background:#fff;color:#49616a;border-radius:999px;padding:9px 14px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:.2s}.portfolio-filter:hover,.portfolio-filter.active{background:var(--green);border-color:var(--green);color:#fff}
.portfolio-count{font-size:12px;color:var(--muted);font-weight:700}
.portfolio-grid-refined{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.portfolio-item{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 8px 26px rgba(15,53,80,.045);transition:.24s}.portfolio-item:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.portfolio-photo{aspect-ratio:16/10;background:#eaf0ec;overflow:hidden;position:relative}.portfolio-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.portfolio-item:hover .portfolio-photo img{transform:scale(1.035)}
.portfolio-tag{position:absolute;left:14px;top:14px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--green);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.portfolio-info{padding:20px}.portfolio-meta{display:flex;justify-content:space-between;gap:12px;color:#7b8a8f;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.portfolio-info h3{margin:8px 0 7px;color:var(--blue);font-size:19px;line-height:1.2}.portfolio-info p{margin:0;color:var(--muted);font-size:13px}.portfolio-location{display:flex;gap:6px;margin-top:13px;color:#607278;font-size:11px;font-weight:700}
.portfolio-proof{margin-top:42px;padding:30px;border-radius:26px;background:var(--blue);color:#fff;display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:center}.portfolio-proof h2{margin:7px 0 10px;color:#fff;font-size:32px;line-height:1.1}.portfolio-proof p{margin:0;color:#c8d6da;font-size:14px}.portfolio-proof-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.portfolio-proof-list div{padding:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);border-radius:16px}.portfolio-proof-list strong{display:block;color:#fff;font-size:13px}.portfolio-proof-list span{display:block;margin-top:3px;color:#b8cbd0;font-size:11px}
.portfolio-cta{margin-top:22px;padding:34px;border-radius:26px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.portfolio-cta h2{margin:0 0 7px;color:var(--blue);font-size:28px;line-height:1.1}.portfolio-cta p{margin:0;color:var(--muted);font-size:13px;max-width:680px}
.portfolio-lightbox{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:24px;background:rgba(5,22,33,.86)}.portfolio-lightbox.open{display:grid}.portfolio-lightbox img{max-width:min(1100px,94vw);max-height:84vh;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.4)}.portfolio-lightbox button{position:absolute;right:20px;top:18px;border:0;background:rgba(255,255,255,.12);color:#fff;width:42px;height:42px;border-radius:50%;font-size:25px;cursor:pointer}.portfolio-empty{padding:35px;border:1px dashed #c9d8d0;border-radius:20px;color:var(--muted);background:#fff}
@media(max-width:900px){.portfolio-hero-grid{grid-template-columns:1fr}.portfolio-hero-visual{min-height:330px}.portfolio-trust{grid-template-columns:repeat(2,1fr)}.portfolio-grid-refined{grid-template-columns:repeat(2,1fr)}.portfolio-proof{grid-template-columns:1fr}.portfolio-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.portfolio-hero{padding:56px 0 36px}.portfolio-hero h1{font-size:40px}.portfolio-hero-visual{min-height:270px;border-radius:24px}.portfolio-trust{grid-template-columns:1fr}.portfolio-grid-refined{grid-template-columns:1fr}.portfolio-proof-list{grid-template-columns:1fr}.portfolio-proof{padding:24px}.portfolio-cta{padding:25px}.portfolio-cta h2{font-size:24px}}