/* CTC inner pages — page-title + intro, 760px reading column. Type from design/tokens.json (page-title, intro, body). */
body.inner{min-height:100vh;display:flex;flex-direction:column}
body.inner main{flex:1;padding-top:78px}              /* 76px solid header + 2px blue rule */

.page-head{padding:72px 96px 40px;max-width:calc(760px + 192px)}
.page-title{font-size:34px;line-height:38px}           /* page-title: Nexa XBold 34/38, sentence case */
.page-title span{color:var(--ctc-blue)}                /* optional blue lead word (titleLead) */
.intro{margin-top:16px;font-size:16px;line-height:23px;font-weight:300}   /* intro: Lato Light 16/23 */
.page-body{padding:0 96px 96px;max-width:calc(760px + 192px)}

/* Link panels (Legal notices hub): each page is a ctc-blue-tint-10 panel ("panel fill behind grouped content").
   Hover/focus: the 2px blue line draws across the top (as the sector tabs) and the title turns blue. No underline. */
.page-body.link-list{max-width:none}
.link-list ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.link-list li{display:flex}
.link-list a{position:relative;flex:1;display:flex;align-items:flex-start;min-height:160px;padding:32px;background:var(--ctc-blue-tint-10);color:var(--ctc-black);font-family:var(--font-display);font-weight:700;font-size:22px;line-height:28px;transition:color var(--t-colour) var(--ease)}
.link-list a::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--ctc-blue);transform:scaleX(0);transform-origin:right center;transition:transform var(--t-underline) var(--ease)}
.link-list a:hover,.link-list a:focus-visible{color:var(--ctc-blue)}
.link-list a:hover::before,.link-list a:focus-visible::before{transform:scaleX(1);transform-origin:left center}
.link-list a:focus-visible{outline:2px solid var(--ctc-blue);outline-offset:4px}

/* Press: thumbnail grid in the live page's order. 16:10 thumbnails with a 1px rule; on hover the 2px blue line draws across the top
   (as the sector tabs and legal panels) and the headline turns blue. */
.page-body.press,.page-head--wide{max-width:calc(1248px + 192px);margin-left:auto;margin-right:auto}   /* wide pages: title and grid centred together */
.press-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px}
.press-card{display:flex;flex-direction:column}
.press-card__thumb{position:relative;display:block;aspect-ratio:16 / 10;overflow:hidden;background:var(--ctc-blue-tint-10);border:1px solid var(--ctc-rule)}
.press-card__thumb img{width:100%;height:100%;object-fit:cover;object-position:top}
.press-card__thumb::after{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:2px;background:var(--ctc-blue);transform:scaleX(0);transform-origin:right center;transition:transform var(--t-underline) var(--ease)}
.press-card:hover .press-card__thumb::after,.press-card:focus-within .press-card__thumb::after{transform:scaleX(1);transform-origin:left center}
.press-card__meta{margin-top:16px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:14px;line-height:20px;color:var(--ctc-text-muted)}
.press-card__outlet{font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ctc-blue)}  /* eyebrow */
.press-card__title{margin-top:8px;font-size:19px;line-height:25px}
.press-card__title a{color:var(--ctc-black);transition:color var(--t-colour) var(--ease)}
.press-card:hover .press-card__title a,.press-card__title a:focus-visible{color:var(--ctc-blue)}
.press-card__title a:focus-visible{outline:2px solid var(--ctc-blue);outline-offset:4px}
.press-card__links{margin-top:12px;display:flex;gap:20px;font-size:14px;line-height:20px}

/* Video presentation (unlisted): 16:9 player across the content width, centred with the title */
.page-body.video-page{max-width:calc(1248px + 192px);margin-left:auto;margin-right:auto}
.video-frame{background:var(--ctc-black);aspect-ratio:16 / 9}
.video-frame video{width:100%;height:100%;background:var(--ctc-black)}

@media (max-width: 1100px){
  .page-head{padding:56px 32px 32px}
  .page-body{padding:0 32px 72px}
  .link-list ul{gap:16px}
  .press-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}
  .link-list a{min-height:140px;padding:24px}
}
@media (max-width: 760px){
  .page-head{padding:48px 20px 28px}
  .page-title{font-size:28px;line-height:34px}
  .page-body{padding:0 20px 56px}
  .link-list ul{grid-template-columns:1fr;gap:12px}
  .press-grid{grid-template-columns:1fr;gap:40px}
  .press-card__title{font-size:18px;line-height:24px}
  .link-list a{min-height:0;padding:24px 20px;font-size:20px;line-height:26px}
}
