/* P4YE Quarterly Reports — public archive and document styles. */
.page-reports { --pr-accent:#97B21D; --pr-accent-hover:#abc832; --pr-accent-dark:#52651C; background:#f5f7f4; }
.pr-wrap { width:min(1180px,calc(100% - 52px)); margin-inline:auto; }
.pr-kicker { display:inline-block; color:var(--pr-accent-dark); font-size:12px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.pr-crumbs { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:12px; font-weight:700; color:#57695e; }
.pr-crumbs a { color:inherit; text-decoration:none; }
.pr-crumbs a:hover,.pr-crumbs a:focus-visible { text-decoration:underline; }
.pr-crumbs--light { color:#beeac2; }
.pr-archive-hero { position:relative; overflow:hidden; padding:44px 0 91px; background:#03120e; color:white; }
.pr-archive-hero.has-hero-image { isolation:isolate; }
.pr-archive-hero .flow-hero-photo { width:100%; z-index:-2; }
.pr-archive-hero.has-hero-image::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(3,18,14,.93),rgba(3,18,14,.7)); }
.pr-archive-hero .pr-wrap { position:relative; z-index:1; }
.pr-archive-hero .pr-kicker { margin:57px 0 12px; color:var(--pr-accent); }
.pr-archive-hero h1 { font-size:clamp(46px,7.5vw,98px); line-height:.99; letter-spacing:-.055em; font-weight:900; max-width:900px; }
.pr-archive-hero h1 em { color:var(--pr-accent); font-style:normal; }
.pr-archive-hero p { max-width:600px; font-size:18px; line-height:1.7; color:#d5e7d8; margin-top:23px; }
.pr-hero-decoration { position:absolute; right:0; top:50%; transform:translateY(-44%); font-size:clamp(110px,23vw,360px); font-weight:900; letter-spacing:-.1em; color:#ecffe5; opacity:.045; pointer-events:none; }
.pr-archive-body { padding:65px 0 88px; }
.pr-archive-section-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:23px; }
.pr-archive-section-head h2 { margin:7px 0 0; font-size:clamp(29px,3.8vw,40px); letter-spacing:-.035em; color:#0b2315; line-height:1.12; }
.pr-archive-section-head--previous { margin-top:65px; }
.pr-small-muted { font-size:14px; color:#607568; }
.pr-featured-report { min-height:435px; display:grid; grid-template-columns:1.05fr .95fr; background:#07150d; border-radius:22px; color:#fff; overflow:hidden; box-shadow:0 18px 45px #152d1d18; }
.pr-featured-content { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:54px clamp(30px,5vw,78px); }
.pr-pill { display:inline-block; font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; border:1px solid var(--pr-accent-dark); color:var(--pr-accent); border-radius:50px; padding:9px 14px; }
.pr-featured-quarter { color:var(--pr-accent); font-weight:900; font-size:16px; margin-top:34px; }
.pr-featured-content h3 { color:#fff; font-size:clamp(33px,4.2vw,57px); line-height:1.06; letter-spacing:-.045em; margin:10px 0 16px; }
.pr-featured-content p { color:#cedfd0; font-size:17px; line-height:1.5; }
.pr-btn { display:inline-flex; gap:38px; align-items:center; justify-content:space-between; border-radius:9px; font-size:14px; font-weight:800; padding:15px 21px; text-decoration:none; min-height:52px; }
.pr-btn-green { background:var(--pr-accent); color:#142008; margin-top:32px; }
.pr-btn-green:hover { background:var(--pr-accent-hover); }
.pr-featured-art { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; min-height:360px; background:radial-gradient(circle at 70% 32%,#437d39 0%,#173b20 42%,#09180e 76%); }
.pr-featured-art:before { content:''; position:absolute; inset:23px; border:1px solid #c3fdb01c; border-radius:16px; z-index:1; pointer-events:none; }
.pr-featured-art img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.pr-featured-art--photo:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#07150d96,transparent 55%); }
.pr-art-quarter { font-size:clamp(100px,16vw,230px); color:var(--pr-accent); font-weight:900; letter-spacing:-.08em; }
.pr-art-caption { position:absolute; right:37px; bottom:33px; color:#ebffe5; font-size:11px; letter-spacing:.13em; text-transform:uppercase; z-index:2; }
.pr-report-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:21px; }
.pr-report-card { overflow:hidden; min-width:0; background:#fff; border:1px solid #d8e6da; border-radius:15px; transition:border-color .2s,transform .2s,box-shadow .2s; }
.pr-report-card:hover,.pr-report-card:focus-within { transform:translateY(-3px); border-color:var(--pr-accent); box-shadow:0 12px 36px #1a401825; }
.pr-card-link { display:block; height:100%; color:inherit; text-decoration:none; }
.pr-card-link:focus-visible { outline:3px solid var(--pr-accent); outline-offset:-3px; }
.pr-card-media { position:relative; display:flex; justify-content:center; align-items:center; height:190px; background:radial-gradient(ellipse at 70% 20%,#4b8739,#14311e 62%,#081a10); overflow:hidden; }
.pr-card-media img { width:100%; height:100%; object-fit:cover; }
.pr-card-watermark { font-size:100px; font-weight:900; letter-spacing:-.09em; color:var(--pr-accent); }
.pr-card-tag { position:absolute; left:18px; top:16px; padding:7px 13px; border-radius:40px; font-size:11px; font-weight:900; background:#f0f4dc; color:var(--pr-accent-dark); }
.pr-card-copy { padding:24px; }
.pr-card-date { color:var(--pr-accent-dark); font-size:12px; font-weight:800; }
.pr-card-copy h3 { font-size:22px; line-height:1.28; margin:11px 0 32px; color:#102719; letter-spacing:-.02em; }
.pr-card-cta { display:flex; justify-content:space-between; align-items:center; color:var(--pr-accent-dark); font-weight:900; font-size:14px; border-top:1px solid #e5eee5; padding-top:18px; }
.pr-empty { background:#fff; border:1px solid #dbe8d9; border-radius:18px; padding:75px 25px; text-align:center; }
.pr-empty h2 { color:#193826; font-size:clamp(25px,4vw,34px); line-height:1.15; }
.pr-empty p { color:#526e5d; font-size:16px; margin:16px auto 26px; max-width:490px; }
.pr-empty-icon { display:inline-flex; align-items:center; justify-content:center; width:70px; height:70px; background:#f0f4dc; color:var(--pr-accent-dark); border-radius:20px; font-size:32px; margin-bottom:20px; }
.pr-link { color:var(--pr-accent-dark); font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.pr-pagination { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:42px; color:#47614c; font-size:13px; }
.pr-pagination>* { min-width:90px; }
.pr-pagination>a { color:var(--pr-accent-dark); font-weight:800; text-decoration:underline; text-underline-offset:4px; }
/* Reader navigation and private preview */
.pr-preview-banner { background:#fff2c3; color:#513300; text-align:center; font-size:13px; padding:14px 20px; }
.pr-preview-banner a { color:#583500; text-decoration:underline; margin-left:10px; font-weight:800; }
.pr-reader-toolbar { background:white; border-bottom:1px solid #d8e5dc; }
.pr-reader-toolbar-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:17px; }
.pr-print-control { border:1px solid #afc6ae; background:white; color:#163921; border-radius:8px; padding:10px 15px; min-height:42px; cursor:pointer; font-size:12px; font-weight:900; }
.pr-print-control:hover { background:#e9f7e7; }
.pr-document { max-width:1120px; margin:42px auto 22px; padding:16px; background:var(--rp-bg); color:var(--rp-white); border-radius:24px; box-shadow:0 20px 65px #05180a19; }
.pr-document-intro { width:auto; padding:30px 42px 35px; color:var(--rp-white); }
.pr-document-intro .pr-kicker { color:var(--rp-green); }
.pr-document-intro h1 { margin:12px 0 8px; color:var(--rp-white); font-size:clamp(30px,4vw,50px); line-height:1.1; letter-spacing:-.04em; }
.pr-document-intro p { color:var(--rp-muted); font-size:14px; }
.pr-document-sections { display:flex; flex-direction:column; gap:13px; }
.pr-block { background:var(--rp-surface); border-radius:var(--rp-radius); overflow:hidden; break-inside:avoid-page; }
.pr-block-inner { padding:clamp(32px,5.3vw,75px); }
.pr-block-eyebrow { display:block; margin:0 0 17px; color:var(--rp-green); font-size:12px; font-weight:900; letter-spacing:.15em; line-height:1.5; text-transform:uppercase; }
.pr-block h2 { max-width:960px; margin:0 0 22px; font-size:clamp(28px,4.4vw,52px); line-height:1.1; letter-spacing:-.042em; font-weight:900; color:var(--rp-white); overflow-wrap:anywhere; }
.pr-block-intro { max-width:750px; font-size:17px; line-height:1.68; color:var(--rp-muted); }
.pr-prose { max-width:820px; color:var(--rp-muted); font-size:16px; line-height:1.82; overflow-wrap:anywhere; }
.pr-prose p+p,.pr-prose ul,.pr-prose ol { margin-top:1em; }
.pr-prose ul,.pr-prose ol { padding-left:1.4em; }
.pr-prose li { margin-bottom:.34em; }
.pr-prose strong { color:var(--rp-white); }
.pr-prose a { color:var(--rp-green); text-decoration:underline; }
.pr-cover { min-height:550px; position:relative; display:flex; align-items:flex-end; background:linear-gradient(135deg,#061009 0%,#183820 68%,#0b140c 100%); isolation:isolate; }
.pr-cover-image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; }
.pr-cover-overlay { position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#07130eea,#09170f91 60%,#07120b27),linear-gradient(0deg,#08110ae6,transparent 70%); }
.pr-cover-content { width:100%; }
.pr-cover h2 { max-width:790px; font-size:clamp(48px,7.5vw,94px); letter-spacing:-.065em; line-height:.97; margin-bottom:25px; }
.pr-cover-period { font-size:clamp(18px,2.5vw,25px); font-weight:700; color:#fff; }
.pr-cover-programme { margin-top:12px; color:#d6e4d3; font-size:15px; }
.pr-cover-brand { margin-top:50px; }
.pr-cover-brand img { width:138px; height:auto; }
.pr-cover--split .pr-cover-overlay { background:linear-gradient(90deg,#07130ff7 0%,#0d2519ef 55%,#0d251942 100%); }
.pr-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin-top:32px; }
.pr-cols-two-column { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pr-cols-three-column { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pr-cols-four-column { grid-template-columns:repeat(4,minmax(0,1fr)); }
.pr-stat-tile { min-width:0; min-height:145px; display:flex; flex-direction:column; justify-content:space-between; padding:23px; border-radius:14px; background:var(--rp-green); color:#071a0a; }
.pr-stat-tile strong { display:block; font-size:clamp(37px,4vw,56px); font-weight:900; letter-spacing:-.04em; line-height:1; overflow-wrap:anywhere; }
.pr-stat-tile span { font-size:13px; font-weight:800; line-height:1.4; }
.pr-image-copy-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:center; gap:clamp(24px,4vw,60px); }
.pr-layout-image-left-text-right .pr-copy-column { order:2; }
.pr-layout-image-left-text-right .pr-side-photo { order:1; }
.pr-layout-image-top .pr-image-copy-grid { display:flex; flex-direction:column-reverse; align-items:stretch; }
.pr-layout-image-top .pr-side-photo img { aspect-ratio:16/8; }
.pr-side-photo,.pr-summary-photo { margin:0; min-width:0; }
.pr-side-photo img,.pr-summary-photo img { width:100%; height:auto; aspect-ratio:4/3; border-radius:14px; object-fit:cover; }
.pr-text-narrow .pr-prose { max-width:680px; }
.pr-gallery-grid { display:grid; gap:15px; margin-top:31px; }
.pr-gallery-grid figure { min-width:0; margin:0; }
.pr-gallery-grid img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:12px; }
.pr-gallery-grid figcaption { margin-top:9px; color:var(--rp-muted); font-size:12px; line-height:1.5; }
.pr-quote-section { background:linear-gradient(130deg,#07100d33,#07100d99),linear-gradient(130deg,var(--rp-deepgreen),var(--rp-green)); }
.pr-quote-section .pr-block-eyebrow { color:#edffe4; }
.pr-quote-section blockquote { margin:28px 0 0; }
.pr-quote-section blockquote p { max-width:850px; font-size:clamp(28px,4.4vw,52px); font-weight:800; line-height:1.22; letter-spacing:-.03em; color:#fff; overflow-wrap:anywhere; }
.pr-quote-section blockquote footer { margin-top:25px; font-size:14px; font-weight:700; color:#e5f7d8; }
.pr-quote-simple { background:#183521; }
.pr-summary-section { background:linear-gradient(130deg,#18351d,var(--rp-surface)); }
.pr-summary-inner { display:grid; grid-template-columns:1fr; gap:32px; }
.pr-summary-inner:has(.pr-summary-photo) { grid-template-columns:1.1fr .9fr; align-items:center; }
.pr-report-outro { display:flex; flex-wrap:wrap; justify-content:space-between; gap:13px; padding:23px 40px 18px; font-size:11px; color:var(--rp-muted); }
.pr-after-report { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-block:32px 65px; }
@media (max-width:970px) {
  .pr-report-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pr-featured-content { padding:45px 33px; }
  .pr-image-copy-grid { gap:30px; }
  .pr-stat-grid.pr-cols-four-column,.pr-gallery-grid.pr-cols-four-column { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .pr-wrap { width:calc(100% - 34px); }
  .pr-archive-hero { padding:29px 0 58px; }
  .pr-archive-hero .pr-kicker { margin-top:40px; }
  .pr-archive-hero h1 { font-size:clamp(43px,11vw,61px); }
  .pr-archive-hero p { font-size:16px; }
  .pr-archive-body { padding:38px 0 55px; }
  .pr-featured-report { grid-template-columns:1fr; }
  .pr-featured-content { padding:31px 25px 36px; }
  .pr-featured-quarter { margin-top:24px; }
  .pr-featured-art { min-height:215px; order:-1; }
  .pr-archive-section-head--previous { margin-top:45px; }
  .pr-report-grid { grid-template-columns:1fr; }
  .pr-card-media { height:220px; }
  .pr-small-muted { display:none; }
  .pr-reader-toolbar-inner { flex-wrap:wrap; }
  .pr-document { border-radius:0; margin:12px auto; padding:8px; }
  .pr-document-intro { padding:22px 18px 27px; }
  .pr-document-intro h1 { font-size:31px; }
  .pr-document-intro p { line-height:1.7; }
  .pr-block-inner { padding:32px 22px; }
  .pr-block h2 { font-size:clamp(28px,8vw,36px); }
  .pr-cover { min-height:490px; }
  .pr-cover h2 { font-size:clamp(43px,12vw,62px); }
  .pr-image-copy-grid { grid-template-columns:1fr; gap:22px; }
  .pr-layout-image-left-text-right .pr-copy-column,.pr-layout-image-left-text-right .pr-side-photo { order:initial; }
  .pr-stat-grid.pr-cols-four-column,.pr-stat-grid.pr-cols-three-column,.pr-gallery-grid.pr-cols-four-column,.pr-gallery-grid.pr-cols-three-column { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pr-gallery-grid { gap:10px; }
  .pr-gallery-grid.pr-cols-two-column { grid-template-columns:1fr; }
  .pr-summary-inner:has(.pr-summary-photo) { grid-template-columns:1fr; }
  .pr-report-outro { padding:20px 15px; display:block; line-height:1.9; }
  .pr-report-outro span { display:block; }
  .pr-after-report { display:flex; flex-wrap:wrap; margin-block:25px 50px; }
}
@media (max-width:420px) {
  .pr-stat-grid,.pr-stat-grid.pr-cols-two-column,.pr-stat-grid.pr-cols-three-column,.pr-stat-grid.pr-cols-four-column { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .pr-stat-tile { min-height:128px; padding:14px; }
  .pr-stat-tile strong { font-size:36px; }
  .pr-stat-tile span { font-size:12px; }
  .pr-gallery-grid.pr-cols-three-column,.pr-gallery-grid.pr-cols-four-column { grid-template-columns:1fr; }
  .pr-crumbs { line-height:1.5; }
}
@media print {
  @page { size:A4; margin:12mm; }
  .site-header,.site-footer,.skip-link,.pr-reader-toolbar,.pr-preview-banner,.pr-after-report,.nojs { display:none !important; }
  html,body,.page-reports { background:#fff !important; color:#111; margin:0; padding:0; }
  .pr-document { max-width:none; width:100%; margin:0; padding:0; border:0; box-shadow:none; border-radius:0; }
  .pr-document-intro { padding:7mm 8mm; }
  .pr-block { break-inside:auto; page-break-inside:auto; margin-bottom:4mm; border-radius:5mm; }
  .pr-cover,.pr-quote-section,.pr-stat-tile,.pr-summary-section { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .pr-cover { min-height:180mm; break-after:page; }
  .pr-block-inner { padding:11mm; }
  .pr-block h2 { font-size:24pt; }
  .pr-prose { font-size:11pt; }
  .pr-stat-grid,.pr-gallery-grid { break-inside:avoid; }
  img { max-width:100%; }
}
