.fhpc-public-portfolio-count{display:block;margin-top:7px;color:#687b92;font-size:11px;font-weight:650}.fhpc-portfolio-detail-visual{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(220px,.72fr);gap:10px;min-width:0;padding:10px;background:#f2f5f8}.fhpc-portfolio-cover,.fhpc-portfolio-supporting>a,.fhpc-portfolio-gallery-photo{position:relative;display:block;min-width:0;overflow:hidden;border-radius:12px;background:#e6edf3}.fhpc-portfolio-cover{aspect-ratio:4/3}.fhpc-portfolio-cover img,.fhpc-portfolio-supporting img,.fhpc-portfolio-gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.fhpc-portfolio-cover:hover img,.fhpc-portfolio-supporting>a:hover img,.fhpc-portfolio-gallery-photo:hover img{transform:scale(1.025)}.fhpc-portfolio-supporting{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr)) auto;gap:10px;min-width:0}.fhpc-portfolio-supporting>a{aspect-ratio:4/3}.fhpc-portfolio-view-all{grid-column:1/-1;display:flex!important;align-items:center;justify-content:space-between;min-height:48px!important;padding:0 14px;border:1px solid #dce5ee;border-radius:12px;background:linear-gradient(145deg,#fff,#edf4fb)!important;color:#193653!important;font-size:13px;font-weight:750;text-decoration:none}.fhpc-portfolio-detail-visual .fhpc-public-image-label,.fhpc-portfolio-gallery-photo .fhpc-public-image-label{position:absolute;left:10px;bottom:10px;padding:6px 9px;border-radius:999px;background:rgba(15,34,55,.78);color:#fff;font-size:10px;font-weight:700;line-height:1.2;backdrop-filter:blur(8px)}.fhpc-public-property-detail-copy{padding:24px}.fhpc-public-property-detail-copy h1{font-size:clamp(28px,4.5vw,40px)}.fhpc-public-property-detail-copy>p{color:#526781;font-size:15px;line-height:1.7}.fhpc-public-property-detail-copy .fhpc-public-property-description{white-space:pre-line;color:#586b83;font-size:15px;max-width:800px}.fhpc-portfolio-explore-link{margin-top:10px}.fhpc-portfolio-public-gallery{padding:34px 0 10px;scroll-margin-top:80px}.fhpc-portfolio-public-heading{margin-bottom:22px}.fhpc-portfolio-public-heading h2{margin:6px 0;font-size:clamp(24px,4vw,32px);line-height:1.15;letter-spacing:-.035em;color:var(--fhpc-public-navy)}.fhpc-portfolio-public-heading p{margin:0;color:#63768e;font-size:14px}.fhpc-portfolio-location-group{margin-top:25px}.fhpc-portfolio-location-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:11px;padding-bottom:9px;border-bottom:1px solid #e1e8ef}.fhpc-portfolio-location-heading h3{margin:0;color:#203952;font-size:18px;letter-spacing:-.02em}.fhpc-portfolio-location-heading>span{flex:none;color:#718198;font-size:12px}.fhpc-portfolio-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0}.fhpc-portfolio-gallery-photo{aspect-ratio:4/3}.fhpc-portfolio-gallery-photo:focus-visible,.fhpc-portfolio-cover:focus-visible,.fhpc-portfolio-supporting>a:focus-visible{outline:3px solid #1769e8;outline-offset:3px}.fhpc-portfolio-viewer{position:fixed;width:min(1100px,calc(100vw - 24px));height:min(94dvh,920px);max-width:none;max-height:none;padding:58px 12px 14px;border:0;border-radius:16px;background:#101923;color:#fff;overflow:hidden}.fhpc-portfolio-viewer::backdrop{background:rgba(7,16,27,.86);backdrop-filter:blur(5px)}.fhpc-portfolio-viewer[open]{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:8px}.fhpc-portfolio-viewer figure{display:grid;place-items:center;gap:10px;min-width:0;min-height:0;margin:0}.fhpc-portfolio-viewer figure img{display:block;max-width:100%;max-height:calc(94dvh - 120px);object-fit:contain}.fhpc-portfolio-viewer figcaption{min-height:20px;color:#d7e1ea;text-align:center;font-size:13px}.fhpc-portfolio-viewer button{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font:inherit;font-size:28px;cursor:pointer}.fhpc-portfolio-viewer button:focus-visible{outline:3px solid #90c4ff;outline-offset:2px}.fhpc-portfolio-viewer .fhpc-portfolio-viewer-close{position:absolute;top:9px;right:9px;font-size:30px;line-height:1}.fhpc-public-portfolio-count{color:#6c7d92}.fhpc-public-properties-grid .fhpc-public-property-image img{width:100%;height:100%;object-fit:cover}
@media(min-width:640px){.fhpc-portfolio-detail-visual{padding:14px;gap:12px}.fhpc-public-property-detail-copy{padding:30px}.fhpc-portfolio-gallery-grid{gap:13px}.fhpc-portfolio-public-gallery{padding-top:44px}}
@media(max-width:760px){.fhpc-portfolio-detail-visual{grid-template-columns:minmax(0,1fr);gap:8px;padding:8px}.fhpc-portfolio-cover{aspect-ratio:16/11}.fhpc-portfolio-supporting{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto;gap:7px}.fhpc-portfolio-supporting>a{aspect-ratio:1}.fhpc-portfolio-view-all{grid-column:1/-1;min-height:44px!important}.fhpc-portfolio-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fhpc-portfolio-public-gallery{padding-top:30px}}
@media(max-width:520px){.fhpc-portfolio-supporting{grid-template-columns:repeat(2,minmax(0,1fr))}.fhpc-portfolio-supporting>a{aspect-ratio:4/3}.fhpc-portfolio-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.fhpc-portfolio-location-heading h3{font-size:16px}.fhpc-portfolio-viewer{width:calc(100vw - 12px);height:calc(100dvh - 12px);padding:52px 6px 8px;border-radius:12px}.fhpc-portfolio-viewer[open]{grid-template-columns:40px minmax(0,1fr) 40px;gap:4px}.fhpc-portfolio-viewer button{width:40px;height:44px;border-radius:12px;font-size:25px}.fhpc-portfolio-viewer .fhpc-portfolio-viewer-close{top:5px;right:5px;width:44px;height:44px;border-radius:50%}.fhpc-portfolio-viewer figure img{max-height:calc(100dvh - 124px)}}
.fhpc-portfolio-supporting{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr)) 48px}.fhpc-portfolio-supporting-one{grid-template-rows:auto auto;align-content:start}.fhpc-portfolio-supporting-one>a:first-child{aspect-ratio:16/10}.fhpc-portfolio-detail-visual-single{grid-template-columns:minmax(0,1fr)}.fhpc-portfolio-detail-visual-single .fhpc-portfolio-cover{aspect-ratio:16/9}
@media(max-width:760px){.fhpc-portfolio-supporting{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.fhpc-portfolio-supporting>a,.fhpc-portfolio-supporting-one>a:first-child{aspect-ratio:4/3}.fhpc-portfolio-view-all{grid-column:1/-1;aspect-ratio:auto!important;min-height:44px!important;height:auto}}
.fhpc-portfolio-view-all{aspect-ratio:auto!important;height:auto}


/* Reference-led public Property presentation. */
body.fhpc-public-detail-page{background:#f5f8fc}
.fhpc-public-detail-page .fhpc-public-property-main{width:min(1320px,calc(100% - 64px));padding:30px 0 64px}
.fhpc-public-detail-page .fhpc-public-property-back{min-height:42px;margin-bottom:14px;color:#526780;font-size:13px}
.fhpc-portfolio-detail-visual{position:relative;grid-template-columns:minmax(0,1.85fr) minmax(250px,1fr);gap:5px;height:clamp(330px,30vw,430px);padding:0;border-radius:19px;background:#e8eef5;box-shadow:0 12px 32px rgba(16,40,70,.09)}
.fhpc-portfolio-cover,.fhpc-portfolio-supporting>a{height:100%;min-height:0;aspect-ratio:auto;border-radius:0}
.fhpc-portfolio-cover{border-radius:17px 0 0 17px}
.fhpc-portfolio-supporting{position:relative;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1.08fr) minmax(0,.92fr);gap:5px;min-height:0}
.fhpc-portfolio-supporting>a{border-radius:0}
.fhpc-portfolio-supporting-count-3>a:first-child{grid-column:1/-1}
.fhpc-portfolio-supporting-count-1{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.fhpc-portfolio-supporting-count-1>a:first-child{grid-column:auto}
.fhpc-portfolio-supporting-count-2{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}
.fhpc-portfolio-supporting-count-2>a:first-child{grid-column:auto}
.fhpc-portfolio-detail-visual .fhpc-public-image-label,.fhpc-portfolio-gallery-photo .fhpc-public-image-label{left:12px;bottom:12px;padding:6px 10px;border:1px solid rgba(255,255,255,.72);background:rgba(255,255,255,.95);color:#263f5b;font-size:10px;line-height:1.2;box-shadow:0 3px 12px rgba(16,40,70,.13);backdrop-filter:blur(8px)}
.fhpc-portfolio-cover-counter{position:absolute;right:12px;bottom:12px;z-index:2;min-height:38px;padding:0 15px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(16,40,70,.72);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.02em;backdrop-filter:blur(8px)}
.fhpc-portfolio-detail-visual .fhpc-portfolio-view-all{position:absolute;right:15px;bottom:15px;z-index:3;width:auto;min-width:176px;min-height:48px!important;padding:0 18px;border:1px solid rgba(255,255,255,.48);border-radius:999px;background:rgba(16,40,70,.95)!important;color:#fff!important;display:flex!important;align-items:center;justify-content:center;gap:10px;box-shadow:0 8px 22px rgba(16,40,70,.22);font-size:13px;font-weight:700;text-decoration:none}
.fhpc-portfolio-detail-visual .fhpc-portfolio-view-all:hover{background:#1769e8!important}
.fhpc-public-detail-page .fhpc-property-overview{margin-top:8px;padding:27px 30px 0;border:1px solid #edf1f6;border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(16,40,70,.045)}
.fhpc-property-overview-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);align-items:center;gap:30px;padding-bottom:22px}
.fhpc-property-overview-copy{min-width:0}
.fhpc-property-overview-copy h1{margin:8px 0 7px;color:#102846;font-size:clamp(32px,3.2vw,44px);font-weight:760;line-height:1.08;letter-spacing:-.05em;overflow-wrap:anywhere}
.fhpc-property-overview-meta{display:flex;align-items:center;flex-wrap:wrap;gap:9px 14px;color:#465e7b;font-size:13px;line-height:1.45}
.fhpc-property-overview-postcode{display:inline-flex;align-items:center;gap:6px}
.fhpc-property-overview-postcode .fhpc-icon{width:16px;height:16px;color:#1769e8}
.fhpc-property-overview-separator{color:#c2cedb}
.fhpc-property-overview-description{max-width:760px;margin:12px 0 0;color:#586d87;font-size:13px;line-height:1.55}
.fhpc-property-message{display:flex;align-items:center;gap:15px;min-height:82px;padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,#eff6ff,#f4f8ff);color:#173554}
.fhpc-property-message .fhpc-icon{width:34px;height:34px;flex:none;color:#1769e8}
.fhpc-property-message p{margin:0;font-size:13px;font-weight:550;line-height:1.5}
.fhpc-property-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));align-items:stretch;gap:0;margin:0;padding:17px 0 19px;border-top:1px solid #e7edf4;list-style:none}
.fhpc-property-summary li{display:flex;align-items:center;gap:11px;min-width:0;padding:5px 14px;border-right:1px solid #e5ebf2}
.fhpc-property-summary li:first-child{padding-left:4px}
.fhpc-property-summary li:last-child{border-right:0}
.fhpc-property-summary-icon{display:grid;width:32px;height:32px;flex:none;place-items:center;color:#102846}
.fhpc-property-summary-icon .fhpc-icon{width:27px;height:27px}
.fhpc-property-summary-copy{display:flex;min-width:0;flex-direction:column;gap:1px;color:#344d6b;font-size:12px;line-height:1.3}
.fhpc-property-summary-copy strong{color:#102846;font-size:15px;font-weight:750;line-height:1.15}
.fhpc-public-detail-page .fhpc-portfolio-public-gallery{padding:38px 0 10px;scroll-margin-top:84px}
.fhpc-portfolio-public-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.fhpc-portfolio-public-heading h2{margin:6px 0 4px;font-size:clamp(27px,3vw,36px);font-weight:750;line-height:1.12;letter-spacing:-.045em}
.fhpc-portfolio-public-heading p{margin:0;color:#72849c;font-size:14px;line-height:1.5}
.fhpc-portfolio-gallery-all{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 15px;border:1px solid #1769e8;border-radius:11px;background:#fff;color:#1769e8;text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap}
.fhpc-portfolio-gallery-all:hover{background:#f0f6ff}
.fhpc-portfolio-gallery-all .fhpc-icon{width:17px;height:17px}
.fhpc-portfolio-location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:28px 24px;min-width:0}
.fhpc-portfolio-location-group{min-width:0;margin:0}
.fhpc-portfolio-location-group:last-child:nth-child(3n+1){grid-column:span 2}
.fhpc-portfolio-location-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 10px;padding:0;border:0}
.fhpc-portfolio-location-heading h3{min-width:0;margin:0;color:#102846;font-size:19px;font-weight:700;line-height:1.25;letter-spacing:-.035em;overflow-wrap:anywhere}
.fhpc-portfolio-location-heading>span{flex:none;color:#8494a8;font-size:12px;line-height:1.3}
.fhpc-portfolio-location-photos{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;min-width:0}
.fhpc-portfolio-location-photos.has-multiple{grid-template-columns:repeat(2,minmax(0,1fr))}
.fhpc-portfolio-location-photos .fhpc-portfolio-gallery-photo{min-width:0;aspect-ratio:4/3;border-radius:12px;background:#e8eff6}
.fhpc-portfolio-location-photos .fhpc-portfolio-gallery-photo img{display:block;width:100%;height:100%;object-fit:cover}
.fhpc-portfolio-location-photos.has-multiple .is-location-cover{grid-column:1/-1;aspect-ratio:16/10}
.fhpc-portfolio-location-group.has-two-photos .is-location-detail{grid-column:1/-1;aspect-ratio:16/9}
.fhpc-portfolio-location-group.has-odd-thumbnails .is-location-detail:last-child{grid-column:1/-1;aspect-ratio:16/9}
.fhpc-portfolio-location-photos .fhpc-portfolio-gallery-photo:focus-visible{outline:3px solid #1769e8;outline-offset:3px}
@media(min-width:1500px){.fhpc-public-detail-page .fhpc-public-property-main{width:min(1380px,calc(100% - 80px))}}
@media(max-width:1023px){
	.fhpc-public-detail-page .fhpc-public-property-main{width:calc(100% - 48px);padding-top:26px}
	.fhpc-portfolio-detail-visual{grid-template-columns:minmax(0,1.2fr) minmax(220px,1fr);height:clamp(310px,39vw,370px)}
	.fhpc-property-overview-top{grid-template-columns:minmax(0,1fr) minmax(225px,.72fr);gap:20px}
	.fhpc-public-detail-page .fhpc-property-overview{padding-inline:22px}
	.fhpc-property-summary{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
	.fhpc-property-summary li{padding-inline:10px}
	.fhpc-portfolio-location-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}
	.fhpc-portfolio-location-group:last-child:nth-child(2n+1){grid-column:span 2}
}
@media(max-width:760px){
	.fhpc-portfolio-detail-visual{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;height:auto;gap:6px}
	.fhpc-portfolio-cover,.fhpc-portfolio-supporting>a{height:auto;aspect-ratio:4/3}
	.fhpc-portfolio-cover{border-radius:16px}
	.fhpc-portfolio-supporting{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;gap:6px}
	.fhpc-portfolio-supporting-count-1{grid-template-columns:minmax(0,1fr)}
	.fhpc-portfolio-supporting-count-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
	.fhpc-portfolio-supporting-count-3{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto}
	.fhpc-portfolio-supporting-count-3>a:first-child{grid-column:auto}
	.fhpc-portfolio-supporting>a{border-radius:10px}
	.fhpc-portfolio-detail-visual .fhpc-portfolio-view-all{position:static;grid-column:1/-1;width:100%;margin-top:2px}
	.fhpc-portfolio-cover-counter{right:10px;bottom:10px;min-height:34px;padding-inline:12px}
	.fhpc-property-overview-top{grid-template-columns:minmax(0,1fr) minmax(205px,.72fr);gap:14px}
	.fhpc-property-message{gap:10px;padding:13px}
	.fhpc-property-message p{font-size:12px}
	.fhpc-property-summary{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}
	.fhpc-property-summary li:nth-child(2n){border-right:0}
	.fhpc-portfolio-location-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
	.fhpc-portfolio-location-group:last-child:nth-child(2n+1){grid-column:span 2}
}
@media(max-width:639px){
	.fhpc-public-detail-page .fhpc-public-property-main{width:calc(100% - 32px);padding:20px 0 44px}
	.fhpc-public-detail-page .fhpc-public-property-back{margin-bottom:10px}
	.fhpc-portfolio-detail-visual{gap:6px;border-radius:16px}
	.fhpc-portfolio-cover{aspect-ratio:4/3}
	.fhpc-portfolio-supporting>a{aspect-ratio:4/3}
	.fhpc-portfolio-supporting-count-1>a:first-child{aspect-ratio:16/9}
	.fhpc-portfolio-supporting-count-2>a{aspect-ratio:4/3}
	.fhpc-portfolio-supporting-count-3>a{aspect-ratio:1/1}
	.fhpc-public-detail-page .fhpc-property-overview{margin-top:7px;padding:20px 17px 0;border-radius:15px}
	.fhpc-property-overview-top{grid-template-columns:minmax(0,1fr);gap:15px;padding-bottom:18px}
	.fhpc-property-overview-copy h1{font-size:clamp(29px,8vw,37px)}
	.fhpc-property-overview-meta{gap:6px 10px;font-size:12px}
	.fhpc-property-message{min-height:68px}
	.fhpc-property-message .fhpc-icon{width:29px;height:29px}
	.fhpc-property-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 0 14px}
	.fhpc-property-summary li{padding:8px 6px;border-right:0;border-bottom:1px solid #edf1f6}
	.fhpc-property-summary li:nth-last-child(-n+2){border-bottom:0}
	.fhpc-property-summary li:first-child{padding-left:6px}
	.fhpc-property-summary-icon{width:29px;height:29px}
	.fhpc-property-summary-icon .fhpc-icon{width:24px;height:24px}
	.fhpc-property-summary-copy{font-size:11px}
	.fhpc-property-summary-copy strong{font-size:14px}
	.fhpc-public-detail-page .fhpc-portfolio-public-gallery{padding-top:29px}
	.fhpc-portfolio-public-heading{align-items:flex-start;gap:12px;margin-bottom:19px}
	.fhpc-portfolio-public-heading h2{font-size:27px}
	.fhpc-portfolio-public-heading p{max-width:370px;font-size:13px}
	.fhpc-portfolio-gallery-all{min-height:42px;padding-inline:10px;font-size:11px}
	.fhpc-portfolio-gallery-all .fhpc-icon{display:none}
	.fhpc-portfolio-location-grid{grid-template-columns:minmax(0,1fr);gap:21px}
	.fhpc-portfolio-location-group:last-child:nth-child(3n+1),.fhpc-portfolio-location-group:last-child:nth-child(2n+1){grid-column:auto}
	.fhpc-portfolio-location-heading{margin-bottom:8px}
	.fhpc-portfolio-location-heading h3{font-size:18px}
	.fhpc-portfolio-location-photos .fhpc-portfolio-gallery-photo{aspect-ratio:4/3}
	.fhpc-portfolio-location-photos.has-multiple{gap:6px}
	.fhpc-portfolio-location-photos.has-multiple .is-location-cover{aspect-ratio:16/10}
	.fhpc-portfolio-location-group.has-two-photos .is-location-detail,.fhpc-portfolio-location-group.has-odd-thumbnails .is-location-detail:last-child{aspect-ratio:16/9}
}
@media(max-width:380px){
	.fhpc-portfolio-public-heading{flex-direction:column}
	.fhpc-portfolio-gallery-all{align-self:flex-end}
	.fhpc-property-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
	.fhpc-portfolio-viewer[open]{grid-template-columns:34px minmax(0,1fr) 34px}
	.fhpc-portfolio-viewer button{width:34px;height:40px}
}
@media(max-width:639px){
	.fhpc-portfolio-supporting .fhpc-public-image-label{left:4px;bottom:4px;max-width:calc(100% - 8px);padding:3px 5px;font-size:8px;line-height:1.1;white-space:nowrap}
}
