.core-page {
  --core-ink: #081124;
  --core-muted: #515c6f;
  --core-orange: #f04416;
  --core-orange-dark: #ce3510;
  --core-line: #d8dfe6;
  color: var(--core-ink);
  background: #fff;
}

.core-container { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }
.core-page .eyebrow { margin: 0; color: var(--core-orange-dark); font-size: 12px; font-weight: 780; letter-spacing: .12em; text-transform: uppercase; }
.core-page .eyebrow-line::before { display: inline-block; width: 34px; height: 2px; margin: 0 14px 3px 0; background: var(--core-orange); content: ""; }
.core-page main :is(h1,h2,h3) { text-wrap: balance; }
.core-page main h1 { margin: 12px 0 18px; color: var(--core-ink); font-size: var(--ps-opening-heading-size); font-weight: 745; line-height: .97; letter-spacing: -.032em; }
.core-page main h2 { margin: 10px 0 14px; color: var(--core-ink); font-size: var(--ps-section-heading-size); font-weight: 730; line-height: 1.025; letter-spacing: -.024em; }
.core-page main h3 { color: var(--core-ink); }
.core-page main :is(h1,h2) em { color: var(--core-orange); font-style: normal; }
.core-lede { max-width: 680px; margin: 0; color: var(--core-muted); font-size: 18px; line-height: 1.5; }

.core-hero { position: relative; min-height: 500px; overflow: hidden; background: #f6f8fa; }
.core-hero__grid { display: grid; grid-template-columns: minmax(0,1.04fr) minmax(0,.96fr); min-height: 500px; }
.core-hero__copy { position: relative; z-index: 2; align-self: center; padding: 50px 26px 54px 0; }
.core-hero__media { position: relative; min-height: 500px; margin: 0; }
.core-hero__media::before { position: absolute; z-index: 1; inset: 0 auto 0 0; width: 35%; background: linear-gradient(90deg,#f6f8fa,transparent); content: ""; }
.core-hero__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.core-section { padding: 78px 0; }
.core-section--pale { border-block: 1px solid #e1e7ec; background: #f4f7f9; }
.core-section__head { max-width: 820px; margin-bottom: 34px; }
.core-section__head > p:last-child { max-width: 760px; margin: 0; color: var(--core-muted); font-size: 17px; line-height: 1.55; }
.core-page :where(a,button,input,textarea,summary):focus-visible { outline: 3px solid #a32c0b; outline-offset: 4px; }
.core-page :is(.page-closing,.site-footer) :where(a,button):focus-visible { outline-color: #fff; }
.core-page .back-to-top { visibility: hidden; opacity: 0; pointer-events: none; }
.core-page .back-to-top.is-visible:not(.is-over-footer):not(.is-over-core-end) { visibility: visible; opacity: 1; pointer-events: auto; }
.core-page .back-to-top:is(.is-over-footer,.is-over-core-end) { visibility: hidden; opacity: 0; pointer-events: none; }

/* Curated Insights hub */
.insights-hero .core-hero__grid { grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); }
.insights-hero .core-hero__copy { max-width: 690px; }
.insights-evidence-map { position:relative; align-self:center; margin:40px 0 40px 44px; padding:30px; overflow:hidden; border:1px solid #d5dde4; border-radius:6px; background:rgba(255,255,255,.96); box-shadow:0 18px 48px rgba(10,31,55,.09); }
.insights-evidence-map::before { position:absolute; inset:0; opacity:.42; background-image:linear-gradient(rgba(23,56,82,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(23,56,82,.08) 1px,transparent 1px); background-size:24px 24px; content:""; pointer-events:none; }
.insights-evidence-map > * { position:relative; }
.insights-evidence-map > p { margin:0 0 18px; color:var(--core-orange-dark); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.insights-evidence-map ol { display:grid; gap:0; margin:0; padding:0; list-style:none; border-top:1px solid #cfd8e0; }
.insights-evidence-map li { display:grid; grid-template-columns:34px 1fr; gap:12px; align-items:center; padding:13px 0; border-bottom:1px solid #cfd8e0; }
.insights-evidence-map li > span { display:grid; place-items:center; width:27px; height:27px; border:1px solid rgba(206,53,16,.55); border-radius:50%; color:var(--core-orange-dark); font-size:9px; font-weight:800; }
.insights-evidence-map li div { display:grid; gap:2px; }
.insights-evidence-map li strong { font-size:14px; }
.insights-evidence-map li small { color:var(--core-muted); font-size:12px; }
.insights-evidence-map__result { display:flex; align-items:center; gap:12px; margin-top:20px; color:#17324a; font-size:12px; }
.insights-evidence-map__result i { flex:1; height:1px; background:var(--core-orange); }
.insights-evidence-map__result strong { max-width:120px; color:var(--core-ink); font-size:12px; text-align:right; }
.featured-guide { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: 72px; align-items: center; }
.featured-guide__intro > p:last-child,.series-grid > div:first-child > p:last-child { margin: 0; color: var(--core-muted); font-size: 17px; line-height: 1.55; }
.featured-insight { overflow: hidden; border: 1px solid var(--core-line); border-radius: 6px; background: #fff; box-shadow: 0 18px 46px rgba(10,31,55,.09); }
.featured-insight__framework { padding:26px 30px 28px; color:#fff; background:#071923; background-image:radial-gradient(circle at 86% 30%,rgba(240,68,22,.18),transparent 33%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:auto,28px 28px,28px 28px; }
.featured-insight__framework > p { margin:0 0 22px; color:#ff7448; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.featured-insight__framework > div { display:grid; grid-template-columns:auto 1fr auto 1fr auto; gap:12px; align-items:center; }
.featured-insight__framework span { font-size:12px; font-weight:700; }
.featured-insight__framework i { height:1px; background:linear-gradient(90deg,#f04416,#ff8b62); }
.featured-insight__framework > strong { display:block; margin-top:24px; padding-top:18px; border-top:1px solid rgba(255,255,255,.2); font-size:17px; }
.featured-insight > div:not(.featured-insight__framework) { padding: 27px 30px 30px; }
.insight-kicker { margin: 0 0 10px; color: var(--core-orange-dark); font-size: 11px; font-weight: 780; letter-spacing: .1em; text-transform: uppercase; }
.featured-insight h3 { margin: 0; font-size: 27px; line-height: 1.12; letter-spacing: -.025em; }
.featured-insight h3 + p { margin: 15px 0 4px; color: var(--core-muted); font-size: 16px; line-height: 1.5; }
.featured-insight .text-link { display: inline-flex; gap: 8px; margin-top: 20px; color: var(--core-orange-dark); font-weight: 750; text-decoration: none; }
.featured-insight .link-label { border-bottom: 1px solid currentColor; }
.editorial-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--core-line); background: #fff; }
.editorial-grid article { min-height: 245px; padding: 30px; border-left: 1px solid var(--core-line); }
.editorial-grid article:first-child { border-left: 0; }
.editorial-grid span { color: var(--core-orange-dark); font-size: 12px; font-weight: 780; letter-spacing: .1em; }
.editorial-grid h3 { margin: 34px 0 10px; font-size: 22px; line-height: 1.15; }
.editorial-grid p { margin: 0; color: var(--core-muted); line-height: 1.52; }
.insights-series { color: #fff; background: #071923; }
.insights-series .eyebrow { color: #ff6a40; }
.insights-series .eyebrow-line::before { background: #ff6a40; }
.core-page .insights-series h2 { color: #fff; }
.insights-series .series-grid > div:first-child > p:last-child { color: #d5e0e7; }
.series-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 72px; align-items: center; }
.series-focus { border-top: 1px solid rgba(255,255,255,.25); }
.series-focus p { display: grid; grid-template-columns: 42px 1fr; gap: 16px; align-items: center; min-height: 76px; margin: 0; border-bottom: 1px solid rgba(255,255,255,.2); color: #fff; font-weight: 650; }
.series-focus span { color: #ff6a40; font-size: 12px; font-weight: 780; letter-spacing: .1em; }

/* Contact */
.contact-hero .core-hero__copy { max-width: 700px; }
.contact-body { position: relative; overflow: hidden; background: #f5f8fa; }
.contact-body::before { position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(#cfd9e3 1px,transparent 1px),linear-gradient(90deg,#cfd9e3 1px,transparent 1px); background-size: 40px 40px; content: ""; }
.contact-grid { position: relative; display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 72px; align-items: start; }
.contact-copy > p:not(.eyebrow) { max-width: 560px; margin: 0; color: var(--core-muted); font-size: 17px; line-height: 1.55; }
.contact-steps { margin-top: 38px; border-top: 1px solid #cbd4dc; }
.contact-steps article { display: grid; grid-template-columns: 38px 1fr; column-gap: 16px; padding: 19px 0; border-bottom: 1px solid #cbd4dc; }
.contact-steps span { grid-row: 1/3; color: var(--core-orange-dark); font-size: 12px; font-weight: 780; letter-spacing: .1em; }
.contact-steps h3 { margin: 0 0 5px; font-size: 18px; }
.contact-steps p { margin: 0; color: var(--core-muted); font-size: 14px; line-height: 1.45; }
.contact-email { margin-top: 36px; }
.contact-email p { margin: 0 0 7px; color: var(--core-muted); }
.contact-email a { color: var(--core-orange-dark); font-size: 21px; font-weight: 700; text-decoration: none; }
.contact-form { padding: 34px; border: 1px solid rgba(240,68,22,.42); border-radius: 8px; background: rgba(255,255,255,.96); box-shadow: 0 18px 44px rgba(17,39,59,.09); }
.form-intro { margin-bottom: 26px; padding-bottom: 22px; border-bottom: 1px solid var(--core-line); }
.form-intro h3 { margin: 10px 0 7px; font-size: 26px; letter-spacing: -.02em; }
.form-intro > p:last-child { margin: 0; color: var(--core-muted); }
.form-field { display: grid; gap: 7px; margin-bottom: 18px; }
.form-field label { color: #15305d; font-weight: 680; }
.optional,.form-details summary span { color: #667181; font-size: 12px; font-weight: 500; }
.form-field input,.form-field textarea { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #758195; border-radius: 5px; background: #fff; color: var(--core-ink); font: inherit; }
.form-field textarea { min-height: 124px; resize: vertical; }
.form-field :is(input,textarea):focus { border-color: var(--core-orange-dark); outline: 3px solid rgba(206,53,16,.22); outline-offset: 1px; }
.form-details { margin: 4px 0 22px; border: 1px solid #d1d9e1; border-radius: 5px; background: #f6f8fa; }
.form-details summary { padding: 16px; color: #17305e; font-weight: 650; cursor: pointer; }
.form-details__inner { padding: 0 16px 2px; }
.contact-form .button { width: 100%; justify-content: center; font-size: 16px; }
.form-note { margin: 14px 0 0; color: var(--core-muted); font-size: 12px; line-height: 1.45; }
.form-status { min-height: 22px; margin: 10px 0 0; color: #17305e; font-size: 13px; font-weight: 650; }

/* Shared closing section retains the locked homepage role scale. */
.page-closing .cta-growth-layout > div { max-width: 700px; }
.core-page .page-closing .eyebrow { color: #fff; }
.core-page .page-closing .eyebrow-line::before { background: #fff; }
.core-page .page-closing .cta-growth-layout h2 { color: #fff; font-size: var(--ps-closing-heading-size); line-height: 1; letter-spacing: -.03em; }

@media (max-width: 1120px) {
  .core-container { width: min(100% - 48px,1180px); }
  .featured-guide,.series-grid,.contact-grid { gap: 44px; }
}

@media (max-width: 980px) {
  .core-hero,.core-hero__grid { min-height: auto; }
  .core-hero__grid,.insights-hero .core-hero__grid { grid-template-columns: 1fr; }
  .core-hero__copy { padding: 46px 0 34px; }
  .core-hero__media { height: 330px; min-height: 330px; }
  .core-hero__media::before { inset: 0 0 auto; width: 100%; height: 28%; background: linear-gradient(#f6f8fa,transparent); }
  .insights-evidence-map { margin:0 0 42px; }
  .featured-guide,.contact-grid { grid-template-columns: 1fr; }
  .featured-guide__intro,.contact-copy { max-width: 720px; }
  .contact-grid { gap: 42px; }
}

@media (max-width: 760px) {
  .core-container { width: min(100% - 40px,1180px); }
  .core-section { padding: 62px 0; }
  .editorial-grid { grid-template-columns: 1fr; }
  .editorial-grid article { min-height: 0; border-top: 1px solid var(--core-line); border-left: 0; }
  .editorial-grid article:first-child { border-top: 0; }
  .editorial-grid h3 { margin-top: 20px; }
  .series-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .core-container { width: calc(100% - 32px); }
  .core-hero__copy { padding: 34px 0 30px; }
  .core-hero__media { height: 245px; min-height: 245px; }
  .core-lede { font-size: 16px; }
  .core-section { padding: 52px 0; }
  .featured-insight > div:not(.featured-insight__framework) { padding: 22px 20px 24px; }
  .featured-insight > .featured-insight__framework { padding:22px 20px 24px; }
  .featured-insight__framework > div { grid-template-columns:1fr; gap:7px; }
  .featured-insight__framework i { width:32px; }
  .featured-insight h3 { font-size: 23px; }
  .editorial-grid article { padding: 24px 22px; }
  .contact-form { padding: 24px 18px; }
  .contact-email a { font-size: 18px; overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) { .featured-insight { transition: none; } }


/* v30 — evidence-led insight library */
.insight-library-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.insight-library-grid article { display:grid; grid-template-rows:auto 1fr; overflow:hidden; border:1px solid #dce3ea; border-radius:6px; background:#fff; box-shadow:0 12px 28px rgba(10,29,52,.06); }
.guide-path { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr auto; gap:11px; align-items:center; min-height:116px; padding:26px 24px; color:#fff; background:#071923; background-image:linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px); background-size:24px 24px; }
.guide-path span,.guide-path strong { font-size:11px; font-weight:750; letter-spacing:.02em; }
.guide-path strong { color:#ff7448; }
.guide-path i { height:1px; background:linear-gradient(90deg,#f04416,#ff8b62); }
.guide-path--rf { background-color:#0a2130; }
.guide-path--analytical { background-color:#102333; }
.guide-path--process { background-color:#0b2630; }
.insight-library-grid article > div { display:flex; flex-direction:column; align-items:flex-start; padding:24px; }
.insight-library-grid article > .guide-path { display:grid; padding:26px 24px; }
.insight-library-grid article p { margin:0 0 10px; color:var(--orange); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.insight-library-grid article h3 { margin:0 0 22px; font-size:22px; line-height:1.12; }
.insight-library-grid article small { margin:-10px 0 22px; color:var(--core-muted); font-size:13px; line-height:1.45; }
.insight-library-grid article .text-link { margin-top:auto; }
@media(max-width:980px){.insight-library-grid{grid-template-columns:1fr}}
@media(max-width:560px){.insight-library-grid article>div{padding:21px}.insight-library-grid article>.guide-path{grid-template-columns:auto 1fr auto; row-gap:12px; padding:22px 20px}.guide-path i:nth-of-type(2){display:none}.insight-library-grid article h3{font-size:20px}}

/* v31 — technical-image library cards and shared eyebrow geometry */
.core-page main .eyebrow::before,
.core-page main .eyebrow-line::before {
  width:30px;
  height:2px;
  flex-basis:30px;
  margin:0;
}

.featured-insight__visual,
.guide-visual {
  position:relative;
  margin:0;
  overflow:hidden;
  background:#dfe6ea;
}

.featured-insight__visual { aspect-ratio:16 / 8.2; }
.guide-visual { aspect-ratio:16 / 7.4; }

.featured-insight__visual img,
.guide-visual img {
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.84) contrast(1.02);
}

.featured-insight__visual::after,
.guide-visual::after {
  position:absolute;
  inset:35% 0 0;
  background:linear-gradient(180deg,transparent,rgba(4,22,35,.86));
  content:"";
}

.featured-insight__visual figcaption,
.guide-visual figcaption {
  position:absolute;
  z-index:1;
  right:0;
  bottom:0;
  left:0;
  padding:18px 22px;
  color:#fff;
  font-size:13px;
  font-weight:720;
  line-height:1.35;
}

.featured-insight__visual figcaption { padding:22px 28px; font-size:15px; }
.insight-library-grid article > .guide-visual { display:block; padding:0; }
.insight-library-grid article > div:not(.guide-visual) { padding:24px; }

.insight-library-grid article > .guide-infographic {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:178px;
  padding:22px 24px;
  overflow:hidden;
  border-bottom:1px solid #d8e0e6;
  background:#f7f9fa;
  background-image:linear-gradient(rgba(24,60,86,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(24,60,86,.055) 1px,transparent 1px);
  background-size:22px 22px;
}
.guide-infographic::after { position:absolute; right:-46px; bottom:-74px; width:210px; height:210px; border:38px solid rgba(240,68,22,.07); border-radius:50%; content:""; }
.guide-infographic > * { position:relative; z-index:1; }
.guide-infographic > p { margin:0 0 16px !important; color:var(--core-orange-dark) !important; font-size:10px !important; letter-spacing:.14em !important; }
.guide-infographic > div { display:grid !important; grid-template-columns:1fr auto 1fr auto 1fr auto 1.1fr; gap:7px; align-items:center; width:100%; padding:0 !important; }
.guide-infographic span,
.guide-infographic strong { display:grid; place-items:center; min-height:54px; padding:8px; border:1px solid #ccd7df; border-radius:4px; color:#17324a; background:rgba(255,255,255,.92); font-size:10px; font-weight:760; line-height:1.2; text-align:center; }
.guide-infographic strong { border:2px solid var(--core-orange); color:var(--core-ink); background:#fff5f1; }
.guide-infographic i { color:var(--core-orange); font-size:16px; font-style:normal; }
.guide-infographic > small { margin-top:13px !important; color:#4b5e6d !important; font-size:11px !important; line-height:1.35 !important; }
.guide-infographic--process strong { border-color:#16728b; background:#eef8fa; }

@media(max-width:560px){
  .featured-insight__visual { aspect-ratio:16 / 9; }
  .guide-visual { aspect-ratio:16 / 8.4; }
  .featured-insight__visual figcaption,
  .guide-visual figcaption { padding:16px 18px; font-size:12px; }
  .insight-library-grid article > div:not(.guide-visual) { padding:21px; }
  .insight-library-grid article > .guide-infographic { min-height:188px; padding:20px 18px; }
  .guide-infographic > div { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
  .guide-infographic > div i { display:none; }
  .guide-infographic span,
  .guide-infographic strong { min-height:58px; padding:6px 4px; font-size:9px; }
}
