/* Only Programme Overview's last two sections. Assets are configured separately
   in content/wise-overview-scenes.json; publication copy stays in wise-pages.json. */
.wp-page .wp-purpose-scene,
.wp-page .wp-connections-scene { position:relative; isolation:isolate; background:#fff; color:var(--wp-blue); }
.wp-page .wp-purpose-scene { padding:68px 0 80px; }
.wp-purpose-backdrop,
.wp-connections-backdrop { position:absolute; inset:0; width:100%; height:100%!important; object-fit:cover; pointer-events:none; z-index:-3; }
.wp-purpose-backdrop { object-position:50% 63%; }
.wp-purpose-scene::before { content:''; position:absolute; inset:0; z-index:-2; pointer-events:none; background:linear-gradient(100deg,#fff 1%,#ffffffde 22%,#ffffff45 43%,transparent 69%); }
.wp-page .wp-purpose-layout { position:relative; display:grid; grid-template-columns:1.25fr 1fr; gap:48px; min-height:610px; align-items:start; }
.wp-page .wp-purpose-heading { position:relative; z-index:3; padding-top:18px; }
.wp-page .wp-purpose-heading h2 { max-width:11.8ch; font-size:clamp(54px,4.6vw,72px); line-height:1.015; letter-spacing:-.025em; text-wrap:initial; margin-bottom:0; }
.wp-page .wp-purpose-heading .wp-eyebrow { margin-bottom:24px; }
.wp-page .wp-purpose-panel { position:relative; z-index:4; padding:34px 36px; border:1px solid #ffffff; border-radius:26px; background:linear-gradient(130deg,#fffffffc,#f0f5fcfa); box-shadow:inset 0 2px 1px white,0 3px 3px #253f6621,0 14px 24px -10px #20375b3d,0 35px 60px -32px #152b5866; }
.wp-page .wp-purpose-panel p { font-size:clamp(19px,1.57vw,23px); line-height:1.55; margin:0; }
.wp-page .wp-purpose-panel p+p { border-top:1px solid #b7c5df; margin-top:26px; padding-top:26px; }
.wp-page .wp-purpose-objects { position:absolute; width:41%; left:18%; bottom:8px; margin:0; z-index:2; pointer-events:none; }
.wp-page .wp-purpose-object-image { width:100%; height:auto; filter:drop-shadow(0 12px 10px #51402929); }
.wp-purpose-ribbons { position:absolute; z-index:1; left:0; bottom:0; width:100%; height:260px; pointer-events:none; }
.wp-ribbon-red { fill:var(--wp-red); }
.wp-purpose-wave { position:absolute; z-index:3; left:0; bottom:-1px; width:100%; height:85px; pointer-events:none; }
.wp-page .wp-connections-scene { padding:68px 0 80px; }
.wp-page .wp-connections-backdrop { height:620px!important; object-position:center 39%; z-index:-3; -webkit-mask-image:linear-gradient(transparent,#000 16%,#000 55%,transparent); mask-image:linear-gradient(transparent,#000 16%,#000 55%,transparent); }
.wp-connections-scene::before { content:''; position:absolute; inset:0; z-index:-2; pointer-events:none; background:linear-gradient(90deg,#ffffffed 0%,#ffffffd9 38%,#ffffff2b 80%),linear-gradient(#ffffff00 120px,#ffffffd9 590px,#fff 760px); }
.wp-page .wp-connections-tree { position:absolute; left:-50px; bottom:-15px; width:clamp(210px,24vw,360px); height:auto; opacity:.55; filter:brightness(.88); z-index:-1; pointer-events:none; }
.wp-page .wp-connections-intro { max-width:850px; margin-bottom:30px; }
.wp-connections-intro::before { content:''; display:block; width:48px; height:4px; background:var(--wp-red); margin-bottom:20px; }
.wp-page .wp-connections-intro h2 { font-size:clamp(43px,4.05vw,61px); line-height:1.06; margin:0; text-wrap:balance; }
.wp-connection-cards { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.wp-page .wp-connection-card { position:relative; isolation:isolate; min-width:0; min-height:345px; padding:28px 28px 27px; background:linear-gradient(135deg,#fffffffc,#f1f6fcf5); border:1px solid #d8e4f1; border-radius:25px; box-shadow:inset 0 2px 1px #fff,0 3px 4px #29487517,0 12px 20px -9px #28456e45,0 28px 46px -24px #294c7661; transition:transform 300ms ease,box-shadow 300ms ease; }
.wp-connection-heading { display:flex; gap:15px; align-items:center; margin-bottom:15px; position:relative; z-index:1; }
.wp-page .wp-connection-heading h3 { margin:0; font-size:clamp(28px,2.25vw,34px); line-height:1.1; }
.wp-connection-icon { display:grid; place-items:center; flex:0 0 67px; width:67px; height:67px; border:1px solid #d1dcee; border-radius:50%; background:linear-gradient(135deg,#fff,#eef3fb); box-shadow:inset 0 2px 1px #fff,inset 0 -2px 2px #c3cee180,0 4px 0 #d7dfed,0 7px 12px #23396326; }
.wp-page .wp-connection-icon-image { width:55px; height:55px; object-fit:contain; filter:drop-shadow(0 2px 2px #142b4f24); }
.wp-page .wp-connection-card>p { position:relative; z-index:1; max-width:55%; font-size:18px; line-height:1.5; margin:0 0 15px; }
.wp-page .wp-connection-visual { position:absolute; z-index:0; right:4px; bottom:14px; width:45%; margin:0; pointer-events:none; }
.wp-page .wp-connection-object { width:100%; height:auto; max-height:245px; object-fit:contain; filter:drop-shadow(0 14px 11px #2436611c); }
.wp-page .wp-connection-link { position:relative; z-index:2; gap:13px; max-width:60%; font-size:17px; align-items:center; }
.wp-connection-link::before { content:''; position:absolute; top:-4px; left:0; width:34px; height:3px; background:var(--wp-red); }
.wp-page .wp-connection-link .wp-arrow { flex-basis:40px; width:40px; height:40px; color:#fff; border-color:#f45b60; background:linear-gradient(145deg,#f75659,var(--wp-red) 63%,#a80f1b); box-shadow:inset 0 2px 2px #ffffff9c,inset 0 -2px 3px #8b111970,0 3px 0 #b21620,0 7px 11px #8c202c30; }
.wp-page .wp-connections-closing { position:relative; z-index:1; max-width:980px; margin:34px auto 0; text-align:center; }
.wp-page .wp-connections-closing>p { font-size:18px; line-height:1.6; }
.wp-page .wp-connections-closing .wp-actions { justify-content:center; gap:24px; margin-top:26px; }
.wp-page .wp-connections-closing .wp-button { min-height:62px; padding-left:26px; }
.wp-page .wp-connections-closing .wp-button-blue { color:#fff; border-color:#182861; background:linear-gradient(145deg,#40599f,var(--wp-blue) 63%,#142359); box-shadow:inset 0 1px 1px #a2b6e5,0 5px 0 #152254,0 13px 23px #1c306d35; }
.wp-page .wp-connections-closing .wp-button-outline { color:var(--wp-blue); background:linear-gradient(145deg,#fff,#f6f9ff); border-color:#b9c9e9; box-shadow:inset 0 1px 1px white,0 4px 0 #e0e7f4,0 13px 23px #1c306d24; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .wp-connection-card:hover { transform:translateY(-4px); box-shadow:inset 0 2px 1px #fff,0 4px 6px #29487517,0 18px 25px -9px #28456e45,0 34px 49px -24px #294c7661; }
}
@media (max-width:1200px) and (min-width:981px) {
  .wp-page .wp-purpose-layout { gap:32px; grid-template-columns:1.1fr 1fr; min-height:620px; }
  .wp-page .wp-purpose-panel { padding:30px; }
  .wp-page .wp-purpose-heading h2 { font-size:56px; }
  .wp-page .wp-purpose-objects { left:8%; width:46%; }
  .wp-page .wp-connection-card { min-height:360px; padding:24px; }
  .wp-connection-icon { flex-basis:57px; width:57px; height:57px; }
  .wp-page .wp-connection-icon-image { width:48px; height:48px; }
  .wp-page .wp-connection-card>p { font-size:17px; max-width:57%; }
  .wp-page .wp-connection-link { max-width:65%; font-size:16px; }
}
@media (max-width:980px) {
  .wp-page .wp-purpose-scene { padding-top:56px; padding-bottom:70px; }
  .wp-page .wp-purpose-layout { grid-template-columns:1fr; gap:0; min-height:0; }
  .wp-page .wp-purpose-heading { padding:0; }
  .wp-page .wp-purpose-heading h2 { max-width:16ch; font-size:clamp(47px,7.2vw,64px); }
  .wp-page .wp-purpose-objects { position:relative; width:min(490px,75%); left:auto; bottom:auto; margin:-18px 0 -3px auto; }
  .wp-page .wp-purpose-panel { padding:32px 36px; }
  .wp-page .wp-purpose-panel p { font-size:20px; }
  .wp-purpose-backdrop { object-position:65% 25%; -webkit-mask-image:linear-gradient(#000 65%,transparent 92%); mask-image:linear-gradient(#000 65%,transparent 92%); }
  .wp-purpose-scene::before { background:linear-gradient(100deg,#fffffff2,#ffffff66 56%,transparent); }
  .wp-purpose-ribbons { top:330px; bottom:auto; height:calc(100% - 330px); }
  .wp-purpose-wave { height:60px; }
  .wp-page .wp-connections-intro { max-width:720px; }
  .wp-connection-cards { grid-template-columns:1fr; gap:26px; }
  .wp-page .wp-connection-card { min-height:305px; }
  .wp-page .wp-connection-card>p { max-width:52%; }
  .wp-page .wp-connection-visual { right:16px; width:43%; }
  .wp-page .wp-connection-object { max-height:245px; }
  .wp-page .wp-connection-link { max-width:58%; font-size:18px; }
  .wp-page .wp-connections-backdrop { height:560px!important; object-position:66% center; opacity:.7; }
}
@media (max-width:600px) {
  .wp-page .wp-purpose-scene { padding:46px 0 48px; }
  .wp-page .wp-purpose-heading h2 { font-size:clamp(42px,10.6vw,59px); max-width:12ch; }
  .wp-page .wp-purpose-heading .wp-eyebrow { font-size:12px; letter-spacing:.11em; margin-bottom:18px; }
  .wp-page .wp-purpose-objects { width:94%; margin:4px 0 14px auto; }
  .wp-page .wp-purpose-panel { padding:25px 24px; border-radius:22px; }
  .wp-page .wp-purpose-panel p { font-size:18px; line-height:1.6; }
  .wp-page .wp-purpose-panel p+p { margin-top:22px; padding-top:22px; }
  .wp-purpose-backdrop { object-position:61% top; }
  .wp-purpose-ribbons { top:290px; height:calc(100% - 290px); }
  .wp-purpose-wave { height:35px; }
  .wp-page .wp-connections-scene { padding:44px 0 66px; }
  .wp-page .wp-connections-intro { margin-bottom:26px; }
  .wp-page .wp-connections-intro h2 { font-size:clamp(36px,9.7vw,49px); line-height:1.09; text-wrap:initial; }
  .wp-connections-intro::before { margin-bottom:18px; width:34px; height:3px; }
  .wp-page .wp-connection-card { min-height:0; padding:24px; border-radius:22px; }
  .wp-connection-heading { gap:13px; margin-bottom:20px; }
  .wp-connection-icon { flex-basis:56px; width:56px; height:56px; }
  .wp-page .wp-connection-icon-image { width:47px; height:47px; }
  .wp-page .wp-connection-heading h3 { font-size:28px; }
  .wp-page .wp-connection-card>p { max-width:none; font-size:17px; line-height:1.6; margin-bottom:0; }
  .wp-page .wp-connection-visual { position:relative; right:auto; bottom:auto; width:min(100%,270px); height:205px; margin:5px auto 18px; }
  .wp-page .wp-connection-object { height:100%; width:100%; object-fit:contain; }
  .wp-page .wp-connection-link { max-width:none; width:100%; font-size:17px; justify-content:space-between; }
  .wp-page .wp-connections-closing { margin-top:32px; }
  .wp-page .wp-connections-closing>p { font-size:17px; line-height:1.65; }
  .wp-page .wp-connections-closing .wp-actions { gap:18px; }
  .wp-page .wp-connections-closing .wp-button { width:100%; max-width:350px; font-size:17px; text-align:left; }
  .wp-page .wp-connections-tree { width:235px; left:-76px; opacity:.16; }
}
@media (prefers-reduced-motion:reduce) { .wp-connection-card { transition:none; } }
