/* Flagship compliance: scoped to its own main, preserving the shared site. */
.compliance-main { --compliance-space: clamp(4rem, 7vw, 7rem); }
.compliance-main h1, .compliance-main h2, .compliance-main h3 { font-weight: 650; }
.compliance-main h2 { font-size: clamp(2.1rem, 3.5vw, 3.3rem); line-height: 1.12; letter-spacing: -.045em; }
.compliance-main h3 { letter-spacing: -.025em; line-height: 1.25; }
.compliance-main p { text-wrap: pretty; }
.compliance-main .hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.compliance-main .section-kicker { font-size: .73rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.compliance-hero { isolation: isolate; position: relative; overflow: hidden; background: #0b1118; padding-top: var(--header-height); }
.compliance-hero-art { position: absolute; z-index: -2; inset: 0; }
.compliance-hero-art img { width: 100%; height: 100%; object-fit: cover; object-position: 64% center; }
.compliance-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, #0b1118 0%, rgba(11,17,24,.96) 21%, rgba(11,17,24,.73) 39%, rgba(11,17,24,.06) 65%), linear-gradient(0deg, #0b1118, transparent 24%); }
.compliance-hero-inner { display: flex; align-items: center; min-height: 690px; padding-block: 5rem 4.5rem; }
.compliance-hero-copy { width: 53%; max-width: 650px; }
.compliance-hero .section-kicker { color: #afc9fd; margin-bottom: 1.5rem; }
.compliance-hero h1 { font-size: clamp(3rem, 4.8vw, 4.7rem); max-width: none; letter-spacing: -.06em; line-height: 1.04; margin: 0 0 1.75rem; color: #fff; }
.compliance-hero h1 span { color: #80adff; display: block; }
.compliance-hero-summary { max-width: 31rem; font-size: 1.08rem; line-height: 1.7; color: #e1e8ed; margin-bottom: 1.8rem; }
.compliance-hero .hero-actions { gap: .75rem; }
.compliance-hero-detail { color: #b4beca; font-size: .84rem; max-width: 31rem; margin-top: 1.35rem; }
.compliance-hero-footer { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-top: 1px solid rgba(255,255,255,.13); color: #b4beca; font-size: .77rem; }
.compliance-hero-footer > span { text-transform: uppercase; letter-spacing: .13em; }
.compliance-hero-footer ul { display: flex; gap: 2rem; padding: 0; margin: 0; list-style: none; color: #f2f5f7; }
.compliance-hero-footer li::before { content: ""; display: inline-block; height: 5px; width: 5px; background: #2872fa; margin: 0 .65rem .12rem 0; }
.compliance-jump { background: #192a3d; border-block: 1px solid rgba(255,255,255,.08); }
.compliance-jump > div { display: grid; grid-template-columns: repeat(4, 1fr); }
.compliance-jump a { display: flex; justify-content: space-between; align-items: center; padding: 1.2rem 1.25rem; border-right: 1px solid rgba(255,255,255,.13); text-decoration: none; color: #e1e8ed; font-size: .82rem; gap: .5rem; }
.compliance-jump a:first-child { padding-left: 0; }
.compliance-jump a:last-child { border-right: 0; }
.compliance-jump a:hover { color: #fff; background: rgba(40,114,250,.12); }
.compliance-jump a span { color: #96baff; font-size: 1.1rem; }
.compliance-light { background: #f2f5f7; color: #3a4f66; }
.compliance-light h2, .compliance-light h3 { color: #192a3d; }
.compliance-light .section-kicker { color: #1559ed; }
.compliance-section-heading > p:last-child { max-width: 42rem; }
.compliance-introduction { padding-block: var(--compliance-space) 1.5rem; }
.compliance-introduction-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 7rem); }
.compliance-introduction-copy { padding-top: 2.3rem; }
.compliance-introduction-copy p:first-child { margin-top: 0; }
.compliance-statement { border-left: 3px solid #2872fa; padding-left: 1.2rem; color: #192a3d; font-weight: 600; }
.compliance-services { padding-bottom: var(--compliance-space); }
.compliance-service-group { border-top: 1px solid #cdd6df; padding-top: 3.5rem; margin-top: 3.5rem; display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2.5rem, 7vw, 7rem); }
.compliance-group-intro > h2 { font-size: clamp(2rem, 3vw, 2.9rem); margin-top: .5rem; }
.compliance-group-intro > p:not(.section-kicker) { font-size: .96rem; }
.compliance-group-icon { width: 34px; height: 34px; color: #1559ed; margin-bottom: 1.5rem; }
.compliance-work-image { margin: 2rem 0 0; }
.compliance-work-image img { width: 100%; height: 225px; object-fit: cover; border-radius: 3px 24px 3px 3px; }
.compliance-work-image figcaption { margin-top: .65rem; color: #526578; font-size: .76rem; }
.compliance-service-list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 2rem; align-content: start; }
.compliance-service-item { padding: 1.4rem 0; border-bottom: 1px solid #d5dde5; }
.compliance-service-item:first-child, .compliance-service-item:nth-child(2) { padding-top: .15rem; }
.compliance-service-item h3 { font-size: 1.16rem; margin: 0 0 .65rem; }
.compliance-service-item h3 a { text-decoration: none; }
.compliance-service-item h3 a span { color: #1559ed; padding-left: .25rem; }
.compliance-service-item h3 a:hover { color: #1559ed; }
.compliance-service-item p { font-size: .9rem; line-height: 1.7; margin: 0; }
.compliance-support { padding-block: var(--compliance-space); background: #111518; }
.compliance-support > .layout-shell > .compliance-section-heading { max-width: 740px; }
.compliance-support h2, .compliance-programme h2, .compliance-magrathea h2, .compliance-final h2 { color: #fff; }
.compliance-support .section-kicker, .compliance-programme .section-kicker, .compliance-magrathea .section-kicker { color: #96baff; }
.compliance-support-grid { margin-top: 3rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.compliance-support-level { padding: clamp(1.5rem, 3vw, 2.3rem); border: 1px solid #34404c; border-radius: 4px; background: #171e24; }
.compliance-support-mark { display: block; color: #80adff; font-size: 2.5rem; line-height: 1; margin-bottom: 2rem; }
.compliance-support-level h3 { font-size: 1.6rem; margin: 0 0 1rem; color: #fff; }
.compliance-support-level p { color: #b8c4cf; font-size: .95rem; }
.compliance-support-level ul { list-style: none; margin: 1.75rem 0 0; padding: 0; color: #e1e8ed; font-size: .87rem; }
.compliance-support-level li { border-top: 1px solid rgba(255,255,255,.15); padding: .75rem 0; }
.compliance-support-managed { background: #192a3d; border-color: #4771a4; box-shadow: inset 0 3px 0 #2872fa; }
.compliance-responsibility { margin: 1.75rem 0 0; max-width: 960px; color: #acb8c4; font-size: .87rem; }
.compliance-programme { background: #192a3d; padding-block: var(--compliance-space); }
.compliance-programme-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; }
.compliance-text-link { display: inline-flex; gap: 1rem; color: #fff; text-decoration-color: #80adff; text-underline-offset: .4rem; margin-top: 1rem; }
.compliance-working-loop { border-left: 1px solid #5f7792; margin-left: .5rem; padding-left: 2.2rem; }
.compliance-working-loop article { position: relative; padding-bottom: 1.8rem; }
.compliance-working-loop article:last-child { padding-bottom: 0; }
.compliance-working-loop h3 { color: #fff; margin: 0 0 .6rem; font-size: 1.25rem; }
.compliance-working-loop p { margin: 0; font-size: .92rem; color: #ccd7e1; }
.compliance-loop-point { position: absolute; left: -2.53rem; top: .4rem; width: 10px; height: 10px; background: #80adff; border-radius: 50%; box-shadow: 0 0 0 5px #192a3d; }
.compliance-sectors { padding-block: var(--compliance-space); }
.compliance-sector-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-top: 2.5rem; }
.compliance-sector-grid article { border-top: 2px solid #2872fa; padding-top: 1.5rem; }
.compliance-sector-grid h3 { font-size: 1.75rem; max-width: 450px; }
.compliance-sector-grid ul { padding-left: 1.2rem; font-size: .9rem; }
.compliance-sector-grid li { margin-block: .65rem; }
.compliance-magrathea { padding-block: var(--compliance-space); overflow: hidden; background: radial-gradient(ellipse at 70% 70%, #1a3457 0%, #111a24 45%, #0b1118 80%); }
.compliance-magrathea-heading { display: flex; gap: 3rem; align-items: end; justify-content: space-between; }
.compliance-magrathea-heading .compliance-section-heading { max-width: 680px; }
.compliance-magrathea-heading .hero-actions { flex-direction: column; align-items: stretch; flex: 0 0 auto; margin-bottom: 1rem; }
.compliance-platform-stage { margin-top: 3rem; }
.compliance-platform-label { display: flex; align-items: center; gap: .8rem; letter-spacing: .14em; font-weight: 700; font-size: .78rem; color: #fff; margin-bottom: 1rem; }
.compliance-platform-dot { width: 8px; height: 8px; border-radius: 50%; background: #80adff; }
.compliance-platform-label > span:last-child { margin-left: auto; font-weight: 400; letter-spacing: .03em; color: #b8c4cf; }
.compliance-platform-screen { margin: 0; background: #0b1118; border: 1px solid #50627a; padding: .8rem .8rem 0; border-radius: 14px; box-shadow: 0 2rem 4rem rgba(0,0,0,.28); }
.compliance-platform-screen img { width: 100%; height: auto; border-radius: 5px; }
.compliance-platform-screen figcaption { color: #aab8c8; padding: .8rem .5rem; font-size: .76rem; }
.compliance-platform-points { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; padding: 1.5rem 0 0; margin: 0; }
.compliance-platform-points li { border-top: 1px solid #526578; padding-top: 1rem; color: #e1e8ed; font-size: .9rem; }
.compliance-faqs { padding-block: var(--compliance-space); }
.compliance-faq-grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: 5rem; }
.compliance-questions details { border-top: 1px solid #c7d2dd; }
.compliance-questions details:last-child { border-bottom: 1px solid #c7d2dd; }
.compliance-questions summary { cursor: pointer; color: #192a3d; font-weight: 650; line-height: 1.5; font-size: 1.02rem; padding: 1.3rem 0; display: flex; justify-content: space-between; align-items: baseline; gap: 1.5rem; list-style: none; }
.compliance-questions summary::-webkit-details-marker { display: none; }
.compliance-questions summary span { color: #1559ed; font-size: 1.5rem; font-weight: 400; transition: transform .15s; }
.compliance-questions summary:focus-visible { outline: 3px solid #1559ed; outline-offset: 4px; }
.compliance-questions details[open] summary span { transform: rotate(45deg); }
.compliance-questions details > p { margin: 0; padding: 0 2rem 1.5rem 0; font-size: .95rem; }
.compliance-final { padding-block: var(--compliance-space); background: #1559ed; }
.compliance-final-inner { display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: center; }
.compliance-final .section-kicker, .compliance-final p { color: #fff; }
.compliance-final .compliance-section-heading { max-width: 720px; }
.compliance-final .hero-actions { flex-direction: column; }
.compliance-final .button-link { background: #fff; color: #1559ed; border-color: #fff; }
.compliance-final .button-link-secondary { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
.compliance-final .button-link:hover { background: #192a3d; border-color: #192a3d; color: #fff; }
@media (min-width: 1600px) {
  .compliance-hero-art img { object-fit: cover; object-position: center; }
  .compliance-hero-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #0b1118, transparent 35%); }
}
@media (max-width: 1000px) {
  .compliance-hero-inner { min-height: 620px; }
  .compliance-hero-copy { width: 65%; }
  .compliance-hero::after { background: linear-gradient(90deg,#0b1118 0%,rgba(11,17,24,.94) 25%,rgba(11,17,24,.65) 55%,rgba(11,17,24,.12)),linear-gradient(0deg,#0b1118,transparent 24%); }
  .compliance-hero-footer { gap: 1rem; }
  .compliance-hero-footer ul { gap: 1rem; }
  .compliance-jump a { font-size: .75rem; padding: 1rem .7rem; }
  .compliance-service-group { grid-template-columns: .7fr 1.3fr; gap: 2.5rem; }
  .compliance-service-list { column-gap: 1.4rem; }
  .compliance-support-grid { gap: .75rem; }
  .compliance-support-level { padding: 1.4rem; }
  .compliance-programme-grid, .compliance-faq-grid { gap: 3rem; }
  .compliance-magrathea-heading { align-items: start; gap: 1.5rem; }
}
@media (max-width: 700px) {
  .compliance-hero-art { inset: auto 0 44px; height: 350px; }
  .compliance-hero-art img { object-fit: cover; object-position: center; }
  .compliance-hero::after { background: linear-gradient(180deg,#0b1118 0%,#0b1118 52%,rgba(11,17,24,.05) 71%,rgba(11,17,24,.05) 83%,#0b1118 95%); }
  .compliance-hero-inner { min-height: 0; padding-block: 2.7rem 245px; }
  .compliance-hero-copy { width: 100%; max-width: 580px; }
  .compliance-hero h1 { font-size: clamp(2.35rem, 9.6vw, 3.3rem); letter-spacing: -.055em; }
  .compliance-hero-summary { font-size: 1rem; max-width: 35rem; }
  .compliance-hero .hero-actions { align-items: stretch; }
  .compliance-hero-detail { font-size: .8rem; }
  .compliance-hero-footer { padding-block: 1.1rem; min-height: 78px; }
  .compliance-hero-footer > span { display: none; }
  .compliance-hero-footer ul { width: 100%; justify-content: space-between; gap: .7rem; font-size: .68rem; }
  .compliance-hero-footer li::before { display: none; }
  .compliance-jump > div { grid-template-columns: 1fr 1fr; }
  .compliance-jump a { padding: .9rem .7rem; font-size: .71rem; }
  .compliance-jump a:first-child { padding-left: .7rem; }
  .compliance-jump a:nth-child(2) { border-right: 0; }
  .compliance-jump a:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.13); }
  .compliance-introduction-grid, .compliance-service-group, .compliance-programme-grid, .compliance-sector-grid, .compliance-faq-grid, .compliance-final-inner { grid-template-columns: 1fr; gap: 1.6rem; }
  .compliance-introduction-copy { padding-top: 0; }
  .compliance-introduction { padding-bottom: 0; }
  .compliance-service-group { margin-top: 2.5rem; padding-top: 2.5rem; }
  .compliance-group-icon { margin-bottom: 1rem; }
  .compliance-work-image img { height: 200px; }
  .compliance-service-list { column-gap: 1.5rem; }
  .compliance-service-item h3 { font-size: 1.1rem; }
  .compliance-service-item p { font-size: .87rem; }
  .compliance-support-grid { grid-template-columns: 1fr; gap: 1rem; margin-top: 2rem; }
  .compliance-support-level { padding: 1.7rem; }
  .compliance-support-mark { margin-bottom: 1.1rem; }
  .compliance-support-level ul { margin-top: 1rem; }
  .compliance-working-loop { margin-top: 1rem; }
  .compliance-sector-grid { gap: 2rem; }
  .compliance-magrathea-heading { display: block; }
  .compliance-magrathea-heading .hero-actions { flex-direction: row; margin-top: 1.75rem; }
  .compliance-platform-label { font-size: .72rem; }
  .compliance-platform-label > span:last-child { display: none; }
  .compliance-platform-screen { padding: .35rem .35rem 0; border-radius: 8px; }
  .compliance-platform-screen figcaption { font-size: .68rem; padding: .7rem; }
  .compliance-platform-points { grid-template-columns: 1fr; gap: .3rem; }
  .compliance-platform-points li { padding-block: .6rem; font-size: .87rem; }
  .compliance-final .hero-actions { align-items: stretch; }
}
@media (max-width: 390px) {
  .compliance-service-list { grid-template-columns: 1fr; }
  .compliance-service-item:nth-child(2) { padding-top: 1.4rem; }
}
@media (prefers-reduced-motion: reduce) {
  .compliance-questions summary span { transition: none; }
}
