/* ===== FCP post popup =====
   Renders an Insights post in a centred overlay. Content comes from the post's
   BlogPosting JSON-LD, so this owns its own markup and typography rather than
   inheriting the CMS fragment. */

.fcp-pp{
  position:fixed; inset:0; z-index:2147483600;
  display:flex; align-items:flex-start; justify-content:center;
  padding:48px 20px;
  padding-top:max(48px, calc(env(safe-area-inset-top,0px) + 48px));
  background:rgba(9,14,22,.62);
  -webkit-backdrop-filter:saturate(120%) blur(3px); backdrop-filter:saturate(120%) blur(3px);
  overflow-y:auto; -webkit-overflow-scrolling:touch;
  opacity:0; transition:opacity .2s ease;
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
.fcp-pp.is-open{ opacity:1; }
.fcp-pp[hidden]{ display:none !important; }

.fcp-pp__box{
  position:relative; width:100%; max-width:720px; margin:auto;
  background:#fff; color:#12202f; border-radius:20px; overflow:hidden;
  box-shadow:0 24px 70px rgba(6,12,22,.38);
  transform:translateY(10px) scale(.995); transition:transform .22s cubic-bezier(.2,.7,.3,1);
}
.fcp-pp.is-open .fcp-pp__box{ transform:none; }

.fcp-pp__close{
  position:absolute; top:16px; right:16px; z-index:3;
  width:40px; height:40px; padding:0; display:flex; align-items:center; justify-content:center;
  border:0; border-radius:50%; cursor:pointer;
  background:rgba(12,18,28,.55); color:#fff;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  transition:background .15s ease, transform .15s ease;
}
.fcp-pp__close:hover{ background:rgba(12,18,28,.8); transform:scale(1.06); }
.fcp-pp__close:focus-visible{ outline:2px solid #7fb2ff; outline-offset:3px; }

/* hero */
.fcp-pp__hero{ position:relative; width:100%; aspect-ratio:16/9; background:#e9eef4; overflow:hidden; }
.fcp-pp__hero img{ width:100%; height:100%; object-fit:cover; display:block; }
.fcp-pp__hero::after{
  content:""; position:absolute; inset:auto 0 0 0; height:38%;
  background:linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,.28));
  pointer-events:none;
}

/* article */
.fcp-pp__body{ padding:30px 44px 38px; }
.fcp-pp__eyebrow{
  display:inline-block; font-size:11.5px; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:#5b7a99; margin:0 0 14px;
}
.fcp-pp__title{
  margin:0 0 14px; font-size:30px; line-height:1.22; font-weight:600;
  letter-spacing:-.015em; color:#0e1a2b;
}
.fcp-pp__standfirst{ margin:0; font-size:17.5px; line-height:1.62; color:#4a5a6b; max-width:60ch; }

.fcp-pp__rule{ height:1px; background:#e7ecf2; margin:34px 0 22px; border:0; }
.fcp-pp__morehead{
  font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:#8b9bad; margin:0 0 16px;
}
.fcp-pp__more{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:0; padding:0; list-style:none; }
.fcp-pp__card{ display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.fcp-pp__thumb{ aspect-ratio:3/2; border-radius:10px; overflow:hidden; background:#e9eef4; }
.fcp-pp__thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.fcp-pp__card:hover .fcp-pp__thumb img{ transform:scale(1.05); }
.fcp-pp__ctext{ display:flex; flex-direction:column; min-width:0; }
.fcp-pp__ctag{ margin:11px 0 5px; font-size:10.5px; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:#8b9bad; }
.fcp-pp__ctitle{ font-size:14.5px; line-height:1.4; font-weight:600; color:#16283c; }
.fcp-pp__card:hover .fcp-pp__ctitle{ color:#2f6fd0; }

.fcp-pp__loading{ padding:80px 20px; text-align:center; color:#8b9bad; font-size:14px; }

@media (max-width:720px){
  .fcp-pp{ padding:0; background:rgba(9,14,22,.72); }
  .fcp-pp__box{ max-width:none; min-height:100%; border-radius:0; margin:0; }
  .fcp-pp__body{ padding:24px 20px 40px;
    padding-bottom:max(40px, calc(env(safe-area-inset-bottom,0px) + 40px)); }
  .fcp-pp__title{ font-size:24px; }
  .fcp-pp__standfirst{ font-size:16.5px; }
  .fcp-pp__more{ grid-template-columns:1fr; gap:16px; }
  .fcp-pp__card{ flex-direction:row; gap:14px; align-items:center; }
  .fcp-pp__thumb{ flex:0 0 96px; aspect-ratio:1/1; border-radius:8px; }
  .fcp-pp__ctext{ flex:1 1 auto; }
  .fcp-pp__ctag{ margin:0 0 4px; }
  .fcp-pp__ctitle{ font-size:15px; }
  .fcp-pp__close{ top:12px; right:12px; width:44px; height:44px; }
}
@media (prefers-reduced-motion:reduce){
  .fcp-pp,.fcp-pp__box,.fcp-pp__thumb img{ transition:none; }
}
body.fcp-pp-open{ overflow:hidden; }

/* standalone post pages: a way back to Insights */
.fcp-back{
  position:fixed; top:calc(var(--fcp-bar-h,40px) + 12px); right:16px; z-index:2147483000;
  width:44px; height:44px; display:flex; align-items:center; justify-content:center;
  background:rgba(14,26,43,.72); border:1px solid rgba(255,255,255,.2);
  border-radius:50%; cursor:pointer; transition:background .15s ease;
}
.fcp-back:hover{ background:rgba(14,26,43,.92); }
.fcp-back:focus-visible{ outline:2px solid #7fb2ff; outline-offset:3px; }
@media print{ .fcp-pp,.fcp-back{ display:none !important; } }
