
/* Project portfolio page — follows the approved homepage Manrope type system */
.portfolio-hero{min-height:510px;position:relative;overflow:hidden;background:#10283f;color:#fff}
.portfolio-hero-image{position:absolute;inset:0;background:url('assets/cover-000.jpg') center 54%/cover no-repeat;filter:saturate(.72)}
.portfolio-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,27,43,.94),rgba(8,27,43,.72) 54%,rgba(8,27,43,.28)),linear-gradient(0deg,rgba(8,27,43,.6),transparent 60%)}
.portfolio-hero-content{position:relative;z-index:1;padding-top:82px;padding-bottom:75px}
.portfolio-kicker{font-size:11px;font-weight:700;letter-spacing:.16em;color:#d7c29f;margin:24px 0 0}
.portfolio-hero h1{font-size:clamp(48px,5.7vw,74px);font-weight:750;line-height:1.08;letter-spacing:-.045em;margin:17px 0}
.portfolio-hero h1 em{font-style:normal;font-weight:600;color:#d8b77e}
.portfolio-lead{max-width:590px;color:#e0e6e9;font-size:17px;line-height:1.7;margin:0 0 28px}
.portfolio-index{position:absolute;right:max(32px,calc((100vw - 1180px)/2));bottom:32px;z-index:1;display:flex;align-items:center;gap:14px;color:#fff;font-size:11px;font-weight:800;letter-spacing:.18em}
.portfolio-index span{font-size:9px;font-weight:600;letter-spacing:.13em;color:#d3dce0;border-left:1px solid rgba(255,255,255,.45);padding-left:14px}
.portfolio-intro{background:var(--cream);padding:76px 0 0}
.portfolio-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end}
.portfolio-intro h2,.portfolio-heading h2{font-size:clamp(35px,4vw,50px);font-weight:750;line-height:1.15;letter-spacing:-.04em;color:var(--navy);margin:20px 0 0}
.portfolio-intro h2 em,.portfolio-heading h2 em{font-style:normal;color:#b08b54;font-weight:600}
.portfolio-intro-grid>p{font-size:16px;line-height:1.75;color:#65727a;margin:0 0 4px}
.portfolio-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d8d9d3;margin-top:54px;padding:24px 0 30px}
.portfolio-stats>div{display:flex;flex-direction:column;gap:5px;border-right:1px solid #d8d9d3;padding:0 25px}
.portfolio-stats>div:first-child{padding-left:0}
.portfolio-stats>div:last-child{border:0}
.portfolio-stats strong{font-size:28px;line-height:1.2;font-weight:750;color:#17364e}
.portfolio-stats span{font-size:12px;color:#687680;font-weight:600}
.portfolio-section{padding:88px 0 96px;background:#fff}
.portfolio-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:36px}
.portfolio-heading>p{max-width:360px;color:#687680;font-size:14px;line-height:1.7;margin:0 0 4px}
.portfolio-controls{padding:22px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.filter-row,.status-switch{display:flex;flex-wrap:wrap;gap:8px}
.filter-chip,.status-chip{font:700 12px/1.3 var(--font-main);color:#405565;background:#f6f7f6;border:1px solid #e1e5e4;padding:10px 14px;cursor:pointer;transition:.18s}
.filter-chip:hover,.status-chip:hover{border-color:#c9a66b;color:#17364e}
.filter-chip.active,.status-chip.active{background:#10283f;border-color:#10283f;color:#fff}
.search-status-row{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:17px}
.search-box{display:flex;align-items:center;gap:10px;max-width:390px;width:100%;height:43px;border:1px solid #dfe3e3;padding:0 13px;color:#a17c48}
.search-box span{font-size:22px;line-height:1}
.search-box input{width:100%;border:0;outline:0;background:transparent;font:500 13px var(--font-main);color:#17364e}
.search-box input::placeholder{color:#929da4}
.results-line{display:flex;justify-content:space-between;align-items:center;padding:19px 0 17px;color:#77838a;font-size:12px}
.results-line button{border:0;background:none;color:#9b7747;font:700 12px var(--font-main);cursor:pointer}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.portfolio-card{border:1px solid #e3e7e6;background:#fff;padding:24px 23px 22px;min-height:260px;display:flex;flex-direction:column;transition:transform .2s,border-color .2s,box-shadow .2s}
.portfolio-card:hover{transform:translateY(-3px);border-color:#c9a66b;box-shadow:0 12px 28px rgba(16,40,63,.07)}
.card-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}
.card-category{font-size:10px;line-height:1.4;font-weight:800;letter-spacing:.09em;color:#9a784b;text-transform:uppercase}
.card-status{font-size:10px;font-weight:750;padding:5px 8px;background:#edf3ef;color:#3d7158;white-space:nowrap}
.card-status.ongoing{background:#f4efe5;color:#8b6938}
.portfolio-card h3{font-size:18px;line-height:1.35;font-weight:750;letter-spacing:-.02em;color:#17364e;margin:0 0 9px}
.card-location{font-size:11px;font-weight:700;color:#7b878e;letter-spacing:.035em;margin-bottom:12px}
.portfolio-card>p{font-size:13px;line-height:1.7;color:#64727b;margin:0 0 16px}
.card-meta{margin-top:auto;padding-top:13px;border-top:1px solid #edf0ef;display:grid;gap:6px}
.card-meta span{font-size:11px;line-height:1.5;color:#77838a}
.card-meta b{font-weight:750;color:#405565}
.no-results{padding:55px 20px;text-align:center;background:#f7f8f7;color:#5d6d77;display:flex;flex-direction:column;gap:7px}
.no-results strong{font-size:17px;color:#17364e}
.no-results span{font-size:13px}
.portfolio-note{margin-top:32px;padding:20px 23px;background:#f4f2ec;border-left:3px solid #c9a66b}
.portfolio-note strong{font-size:12px;font-weight:800;color:#17364e}
.portfolio-note p{font-size:12px;line-height:1.7;color:#66747c;margin:7px 0 0}
.portfolio-cta{background:#10283f;color:#fff;padding:76px 0}
.portfolio-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.portfolio-cta h2{font-size:clamp(36px,4vw,50px);line-height:1.14;letter-spacing:-.04em;font-weight:750;margin:19px 0 12px}
.portfolio-cta h2 em{font-style:normal;color:#d8b77e;font-weight:600}
.portfolio-cta p{font-size:14px;line-height:1.7;color:#c0cbd1;max-width:510px;margin:0}
.portfolio-cta .button{flex-shrink:0}
.main-nav a.active{color:#a27e49}
@media(max-width:900px){
 .portfolio-grid{grid-template-columns:repeat(2,1fr)}
 .portfolio-intro-grid{gap:40px}
}
@media(max-width:680px){
 .portfolio-hero{min-height:490px}
 .portfolio-hero-content{padding-top:70px;padding-bottom:95px}
 .portfolio-hero h1{font-size:48px}
 .portfolio-lead{font-size:15px}
 .portfolio-index{left:32px;right:auto;bottom:24px}
 .portfolio-intro{padding-top:60px}
 .portfolio-intro-grid{grid-template-columns:1fr;gap:20px}
 .portfolio-intro-grid>p{font-size:14px}
 .portfolio-stats{grid-template-columns:1fr 1fr;row-gap:20px;margin-top:35px}
 .portfolio-stats>div{padding:0 12px;border:0}
 .portfolio-stats>div:nth-child(odd){padding-left:0}
 .portfolio-stats strong{font-size:25px}
 .portfolio-section{padding:66px 0}
 .portfolio-heading{display:block}
 .portfolio-heading>p{margin-top:18px}
 .search-status-row{align-items:stretch;flex-direction:column}
 .search-box{max-width:none}
 .status-switch{gap:6px}
 .status-chip{flex:1}
 .portfolio-grid{grid-template-columns:1fr}
 .portfolio-card{min-height:0;padding:21px}
 .portfolio-cta-inner{align-items:flex-start;flex-direction:column}
 .portfolio-cta{padding:62px 0}
}

/* Project-specific photo galleries supplied in SITE PHOTOS.docx */
.project-gallery{height:190px;position:relative;overflow:hidden;margin:-24px -23px 20px;background:#e8eceb}
.project-gallery>img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .45s ease}
.gallery-controls{position:absolute;inset:auto 10px 10px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.gallery-controls button{pointer-events:auto;width:30px;height:30px;border:1px solid #ffffff9c;border-radius:50%;background:#10283fd9;color:#fff;font-size:21px;line-height:1;cursor:pointer}
.gallery-count{font-size:10px;font-weight:700;letter-spacing:.06em;color:#fff;background:#10283fc9;padding:6px 9px}
@media(max-width:680px){.project-gallery{height:210px;margin:-21px -21px 18px}}
