/* Critical ID supporting pages — shared editorial system. */
.desktop-nav a[aria-current="page"] { color: var(--teal-dark); }
.desktop-nav a[aria-current="page"]:after { transform: scaleX(1); }
.mobile-menu nav a[aria-current="page"] { color: var(--teal-dark); font-weight: 650; }
.page-hero { background: var(--paper); padding-block: 42px 0; border-bottom: 1px solid var(--rule); }
.page-hero-top { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.page-hero-top .eyebrow { color: var(--teal-dark); font-size: 9px; }
.page-home-link { display: inline-flex; align-items: center; gap: 9px; color: var(--ink-soft); font-size: 11px; }
.page-home-link:hover { color: var(--teal-dark); }
.page-home-link .icon { width: 13px; height: 13px; }
.page-hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .55fr); gap: 8%; align-items: end; padding-block: clamp(72px, 9vw, 132px) clamp(85px, 9vw, 126px); }
.page-hero h1 { font-size: clamp(58px, 6.6vw, 104px); letter-spacing: -.067em; line-height: 1.06; }
.page-hero h1 span { color: var(--teal); }
.page-hero-grid > p { color: var(--ink-soft); font-size: clamp(15px, 1.35vw, 18px); line-height: 1.75; max-width: 375px; padding-bottom: 8px; }
.page-hero-footer, .page-jump { display: flex; gap: 25px; align-items: center; border-top: 1px solid #d6e0e1; padding-block: 20px; color: var(--muted); font: 9px var(--mono); letter-spacing: .055em; }
.page-hero-footer span:not(:last-child):after { content: '→'; display: inline-block; margin-left: 25px; color: var(--teal); }
.page-jump { justify-content: space-between; font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: 0; }
.page-jump a { padding: 8px 0; }
.page-jump a:hover { color: var(--teal); }
.editorial-section { padding-block: clamp(85px, 9.2vw, 140px); }
.editorial-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 5% 9%; align-items: end; margin-bottom: 63px; }
.editorial-heading > .eyebrow { grid-column: 1 / -1; }
.editorial-heading h2 { font-size: clamp(43px, 4.8vw, 68px); }
.editorial-heading > p { max-width: 430px; color: var(--ink-soft); line-height: 1.82; font-size: 15px; }
.process-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.process-grid article { padding: 30px 42px 38px 0; }
.process-grid article + article { border-left: 1px solid var(--rule); padding-left: 42px; }
.process-index { font: 10px var(--mono); letter-spacing: .05em; color: var(--teal-dark); }
.process-grid h3 { font-size: clamp(25px, 2.3vw, 35px); margin: 55px 0 20px; }
.process-grid p { color: var(--ink-soft); font-size: 14px; line-height: 1.85; }
.feature-band { padding-block: clamp(85px, 8vw, 125px); background: #edf3f3; overflow: hidden; }
.feature-band-grid { display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: 10%; align-items: center; }
.feature-band h2 { margin: 28px 0 24px; font-size: clamp(43px,4.4vw,62px); }
.feature-band h2 span { color: var(--teal); }
.feature-band p:not(.eyebrow) { max-width: 420px; color: var(--ink-soft); font-size: 15px; line-height: 1.85; }
.feature-band .underlined-link { margin-top: 28px; }
.feature-object { display: flex; flex-direction: column; justify-content: center; min-height: 420px; background: #f7faf9; border: 1px solid #dce8e6; border-radius: 6px; overflow: hidden; }
.feature-object img { width: 120%; max-width: none; margin-left: -10%; filter: drop-shadow(3px 16px 16px #1c3a4018); }
.feature-object figcaption { align-self: flex-end; margin: -15px 24px 22px; font: 8px var(--mono); letter-spacing: .06em; color: var(--muted); }
.hierarchy { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 38px 22px; border: 1px solid var(--rule); border-radius: 5px; font: 10px var(--mono); letter-spacing: .03em; text-align: center; }
.hierarchy span, .hierarchy strong { white-space: nowrap; }
.hierarchy strong { color: var(--teal-dark); font-weight: 650; }
.hierarchy i { flex: 1; height: 1px; min-width: 10px; max-width: 80px; background: #a8c7c5; position: relative; }
.hierarchy i:after { content: ''; position: absolute; right: 0; top: -3px; width: 5px; height: 5px; border-top: 1px solid var(--teal); border-right: 1px solid var(--teal); transform: rotate(45deg); }
.hierarchy-note { font-size: 11px; color: var(--muted); margin-top: 18px; }
.status-section { background: var(--paper); padding-block: clamp(80px,8vw,120px); }
.status-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 12%; }
.status-layout h2 { margin-top: 25px; font-size: clamp(40px,4.2vw,60px); }
.status-rows { border-top: 1px solid var(--rule); }
.status-rows > div { display: grid; grid-template-columns: .56fr 1fr; gap: 30px; border-bottom: 1px solid var(--rule); padding-block: 23px; }
.status-rows span { color: var(--teal-dark); font-size: 13px; font-weight: 650; }
.status-rows p { color: var(--ink-soft); font-size: 13px; line-height: 1.8; }
.page-cta { background: #153c46; color: #fff; padding-block: clamp(75px,8vw,120px); }
.page-cta .eyebrow { color: #b5d3d3; }
.page-cta h2 { margin: 28px 0 45px; font-size: clamp(50px,7vw,95px); }
.page-cta-inner > div { display: flex; align-items: end; justify-content: space-between; gap: 40px; border-top: 1px solid #ffffff36; padding-top: 25px; }
.page-cta-inner > div p { font-size: 15px; line-height: 1.8; color: #c3d5d7; max-width: 570px; }
.page-cta .button { white-space: nowrap; }
.product-editorial { padding-block: clamp(85px,8vw,120px); }
.product-editorial:nth-of-type(odd) { background: var(--paper); }
.product-editorial-grid { display: grid; grid-template-columns: minmax(0,.68fr) minmax(0,1fr); gap: 9%; align-items: center; }
.product-editorial:nth-of-type(odd) .product-editorial-copy { grid-column: 2; grid-row: 1; }
.product-editorial:nth-of-type(odd) .product-editorial-photo { grid-column: 1; grid-row: 1; }
.product-editorial-copy h2 { margin: 25px 0 27px; font-size: clamp(48px,4.8vw,70px); }
.product-editorial-copy strong { display: block; font-size: 20px; font-weight: 500; letter-spacing: -.025em; max-width: 330px; line-height: 1.45; }
.product-editorial-copy p { color: var(--ink-soft); max-width: 440px; font-size: 14px; line-height: 1.85; margin-top: 22px; }
.product-status { display: inline-block; border-top: 1px solid var(--rule); padding-top: 20px; margin-top: 40px; color: var(--teal-dark); font: 9px var(--mono); letter-spacing: .06em; }
.product-editorial-photo { position: relative; overflow: hidden; border-radius: 5px; background: #e8eef0; aspect-ratio: 1.28; }
.product-editorial-photo img { width: 100%; height: 100%; object-fit: cover; }
.product-editorial-photo figcaption { position: absolute; bottom: 15px; left: 18px; font: 8px var(--mono); letter-spacing: .08em; color: var(--ink-soft); }
.principle-line { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--rule); }
.principle-line span { padding: 30px 15px 0 0; font: 10px var(--mono); color: var(--teal-dark); }
.sector-editorial { border-top: 1px solid var(--rule); }
.sector-editorial article { display: grid; grid-template-columns: 80px minmax(0,1fr) minmax(170px,.5fr); gap: 4%; align-items: start; padding-block: 32px; border-bottom: 1px solid var(--rule); }
.sector-editorial-num { font: 10px var(--mono); color: var(--teal-dark); padding-top: 11px; }
.sector-editorial h3 { font-size: clamp(26px,2.6vw,37px); margin-bottom: 13px; }
.sector-editorial p { max-width: 550px; color: var(--ink-soft); font-size: 14px; line-height: 1.8; }
.sector-editorial small { font-size: 11px; color: var(--teal-dark); line-height: 1.75; border-left: 1px solid #bad3d1; padding-left: 20px; margin-top: 10px; }
.sector-integrity { color: var(--muted); font-size: 11px; margin-top: 22px; }
.roles { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.roles article { border-top: 2px solid var(--teal); padding: 24px 26px 30px 0; }
.roles article + article { border-left: 1px solid var(--rule); padding-left: 26px; }
.roles article > span { font: 10px var(--mono); color: var(--teal-dark); }
.roles h3 { font-size: clamp(26px,2.3vw,34px); margin-block: 50px 17px; }
.roles p { font-size: 14px; color: var(--ink-soft); line-height: 1.8; }
.access-visual { background: #fff; padding: 35px; border: 1px solid #dce8e6; border-radius: 6px; }
.access-visual div { display: grid; grid-template-columns: 1fr 1.3fr; gap: 7px 20px; border: 1px solid var(--rule); padding: 22px; }
.access-visual div > span { font: 9px var(--mono); color: var(--teal-dark); grid-row: span 2; align-self: center; }
.access-visual strong { font-size: 15px; font-weight: 600; }
.access-visual small { font-size: 11px; color: var(--ink-soft); }
.access-visual > i { display: block; width: fit-content; font: normal 8px var(--mono); color: var(--teal-dark); margin: 10px auto; text-align: center; }
.assurance-list { border-top: 1px solid var(--rule); }
.assurance-list > div { display: grid; grid-template-columns: .75fr 1.25fr; gap: 8%; align-items: start; padding-block: 25px; border-bottom: 1px solid var(--rule); }
.assurance-list h3 { font-size: 24px; }
.assurance-list p { color: var(--ink-soft); font-size: 14px; line-height: 1.8; }
.about-intro { display: grid; grid-template-columns: 1fr .8fr; gap: 14%; align-items: start; }
.about-intro h2 { margin-top: 28px; font-size: clamp(42px,4.8vw,68px); }
.about-intro > div:last-child { padding-top: 45px; }
.about-intro p:not(.eyebrow) { color: var(--ink-soft); font-size: 16px; line-height: 1.85; margin-bottom: 20px; }
.about-intro .underlined-link { margin-top: 13px; }
.about-statement { background: #e7f0ee; padding-block: 90px; }
.about-statement span { font: 10px var(--mono); letter-spacing: .09em; color: var(--teal-dark); }
.about-statement p { font-size: clamp(42px,5.4vw,78px); line-height: 1.2; letter-spacing: -.055em; margin-top: 34px; }
.about-statement em { color: var(--teal); font-style: normal; }
.about-contact { scroll-margin-top: 80px; }
.about-contact .contact-bottom p { max-width: 560px; }
.about-contact .contact-bottom .button { white-space: nowrap; }
@media(max-width:980px) {
  .page-hero-grid { gap: 5%; }
  .page-hero h1 { font-size: clamp(55px,6.6vw,74px); }
  .process-grid article { padding-right: 20px; }
  .process-grid article + article { padding-left: 20px; }
  .hierarchy { flex-wrap: wrap; justify-content: center; gap: 15px; }
  .feature-band-grid { gap: 5%; }
  .product-editorial-grid { gap: 5%; }
}
@media(max-width:760px) {
  .page-hero { padding-top: 24px; }
  .page-hero-grid { display: block; padding-block: 72px 75px; }
  .page-hero h1 { font-size: clamp(49px,8.2vw,68px); }
  .page-hero-grid > p { padding: 0; margin-top: 28px; font-size: 15px; }
  .page-hero-footer { flex-wrap: wrap; gap: 10px 15px; font-size: 7px; }
  .page-hero-footer span:not(:last-child):after { margin-left: 15px; }
  .editorial-heading { display: block; margin-bottom: 40px; }
  .editorial-heading h2 { margin-top: 24px; font-size: clamp(40px,7.4vw,58px); }
  .editorial-heading > p { margin-top: 24px; font-size: 14px; }
  .process-grid, .roles { grid-template-columns: 1fr; }
  .process-grid article, .process-grid article + article { padding: 25px 0 30px; border-left: 0; border-bottom: 1px solid var(--rule); }
  .process-grid article:last-child { border-bottom: 0; }
  .process-grid h3, .roles h3 { margin-top: 22px; }
  .feature-band-grid, .status-layout, .product-editorial-grid, .about-intro { display: block; }
  .feature-object { margin-top: 40px; min-height: 330px; }
  .hierarchy { display: grid; gap: 0; justify-content: stretch; text-align: left; padding: 23px; }
  .hierarchy i { width: 1px; height: 22px; min-width: 1px; margin-left: 5px; }
  .hierarchy i:after { right: -2px; top: auto; bottom: 0; transform: rotate(135deg); }
  .status-rows { margin-top: 32px; }
  .page-cta-inner > div { align-items: start; flex-direction: column; }
  .product-editorial-grid { display: flex; flex-direction: column; align-items: stretch; gap: 30px; }
  .product-editorial:nth-of-type(odd) .product-editorial-copy, .product-editorial:nth-of-type(odd) .product-editorial-photo { grid-column: auto; grid-row: auto; }
  .product-editorial-copy h2 { font-size: clamp(42px,7.4vw,60px); }
  .product-editorial-copy strong { font-size: 18px; }
  .product-status { margin-top: 25px; }
  .product-editorial-photo { aspect-ratio: 1.35; }
  .sector-editorial article { grid-template-columns: 35px 1fr; gap: 5px 10px; }
  .sector-editorial small { grid-column: 2; margin-top: 5px; }
  .roles { gap: 0; }
  .roles article, .roles article + article { padding: 25px 0; border-left: 0; border-top-width: 1px; }
  .access-visual { margin-top: 38px; padding: 20px; }
  .assurance-list > div { display: block; }
  .assurance-list p { margin-top: 13px; }
  .about-intro > div:last-child { padding-top: 30px; }
  .about-statement { padding-block: 70px; }
  .about-contact .contact-bottom .button { white-space: normal; }
}
@media(max-width:430px) {
  .page-hero h1 { font-size: 45px; }
  .page-home-link { font-size: 10px; }
  .page-hero-top .eyebrow { font-size: 7px; }
  .page-jump { flex-wrap: wrap; gap: 5px 12px; font-size: 11px; }
  .page-jump a { flex-basis: 45%; }
  .page-cta .button { width: 100%; }
  .access-visual div { grid-template-columns: 1fr; }
  .access-visual div > span { grid-row: auto; }
  .feature-object { min-height: 260px; }
}
/* Organisational evidence is editorial, not a wall of certification badges. */
.home-assurance { padding-block: clamp(75px, 8vw, 120px); border-top: 1px solid var(--rule); }
.home-assurance-grid { display: grid; grid-template-columns: 1fr .8fr; gap: 12%; align-items: end; }
.home-assurance h2 { margin-top: 26px; font-size: clamp(43px, 4.4vw, 64px); }
.home-assurance h2 span { color: var(--teal); }
.home-assurance-grid > div:last-child > p { max-width: 530px; color: var(--ink-soft); font-size: 15px; line-height: 1.8; }
.home-assurance .underlined-link { margin-top: 22px; }
.home-assurance small { display: block; color: var(--muted); font-size: 10px; margin-top: 23px; line-height: 1.6; }
.home-assurance-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 62px; }
.home-assurance-facts > div { border-top: 1px solid var(--rule); padding: 22px 12px 0 0; }
.home-assurance-facts > div + div { padding-left: 24px; border-left: 1px solid var(--rule); }
.home-assurance-facts span { display: block; color: var(--muted); font: 8px var(--mono); letter-spacing: .05em; }
.home-assurance-facts strong { display: block; color: var(--ink); font-size: clamp(17px, 1.6vw, 24px); font-weight: 500; letter-spacing: -.03em; margin-top: 10px; }
.company-assurance { background: var(--paper); padding-block: clamp(85px, 9vw, 135px); scroll-margin-top: 75px; }
.company-assurance-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid #cad9da; }
.company-assurance article { padding: 34px 9% 38px 0; border-bottom: 1px solid #cad9da; }
.company-assurance article:nth-child(even) { padding-left: 9%; border-left: 1px solid #cad9da; }
.company-assurance article > span { font: 9px var(--mono); letter-spacing: .07em; color: var(--teal-dark); }
.company-assurance h3 { margin-top: 27px; font-size: clamp(26px, 2.4vw, 36px); }
.company-assurance strong { display: block; margin-top: 10px; color: var(--teal); font-size: clamp(22px, 2vw, 29px); font-weight: 500; letter-spacing: -.025em; }
.company-assurance article p { margin-top: 17px; max-width: 460px; color: var(--ink-soft); font-size: 13px; line-height: 1.8; }
.company-assurance article a { display: inline-block; margin-top: 23px; padding-bottom: 5px; border-bottom: 1px solid #92b0b1; font-size: 11px; font-weight: 650; }
.company-assurance article a:hover { color: var(--teal); }
.company-assurance-note { color: var(--muted); font-size: 11px; line-height: 1.7; max-width: 750px; margin-top: 22px; }
@media(max-width:760px) {
  .home-assurance-grid { display: block; }
  .home-assurance-grid > div:last-child { margin-top: 28px; }
  .home-assurance-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 0; margin-top: 40px; }
  .home-assurance-facts > div:nth-child(odd) { padding-left: 0; border-left: 0; }
  .home-assurance-facts > div:nth-child(even) { padding-left: 16px; }
  .company-assurance-grid { grid-template-columns: 1fr; }
  .company-assurance article, .company-assurance article:nth-child(even) { padding: 27px 0 30px; border-left: 0; }
  .company-assurance h3 { margin-top: 20px; }
}

/* Duty of care: human reason, practical buyer case, and explicit scope. */
.duty-teaser { padding-block: clamp(85px, 9vw, 138px); background: #eaf2f0; }
.duty-teaser-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.77fr); gap: 12%; align-items: end; }
.duty-teaser h2 { margin-top: 28px; font-size: clamp(44px, 5.1vw, 74px); line-height: 1.16; }
.duty-teaser h2 span, .investment-case h2 span { color: var(--teal); }
.duty-teaser-grid > div:last-child > p { max-width: 560px; color: var(--ink-soft); font-size: 15px; line-height: 1.85; }
.duty-teaser-grid > div:last-child > p + p { margin-top: 18px; }
.duty-teaser .underlined-link { margin-top: 24px; }
.duty-teaser small { display: block; max-width: 530px; margin-top: 21px; color: var(--muted); font-size: 10px; line-height: 1.7; }
.business-case { padding-block: clamp(90px, 9vw, 140px); scroll-margin-top: 80px; }
.business-case-intro { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.78fr); gap: 12%; margin-top: 28px; }
.business-case h2 { font-size: clamp(44px, 5.3vw, 76px); line-height: 1.14; }
.business-case h2 span { color: var(--teal); }
.business-case-intro > div > p { color: var(--ink-soft); font-size: 15px; line-height: 1.85; }
.business-case-intro > div > p + p { margin-top: 17px; }
.business-case-intro .business-case-sources { margin-top: 20px; font-size: 11px; }
.business-case-sources a { color: var(--teal-dark); border-bottom: 1px solid #8caead; }
.business-case-sources span { padding-inline: 9px; color: var(--muted); }
.business-case-statement { max-width: 1120px; margin-block: clamp(75px, 8vw, 125px) 55px; padding: 20px 0 20px 5%; border-left: 2px solid var(--teal); font-size: clamp(31px, 3.6vw, 52px); line-height: 1.32; letter-spacing: -.045em; }
.business-benefits { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.business-benefits article { padding: 30px 32px 36px 0; }
.business-benefits article + article { padding-left: 32px; border-left: 1px solid var(--rule); }
.business-benefits span { font: 10px var(--mono); color: var(--teal-dark); }
.business-benefits h3 { margin-top: 48px; font-size: clamp(25px, 2.5vw, 36px); }
.business-benefits p { margin-top: 16px; color: var(--ink-soft); font-size: 13px; line-height: 1.85; }
.business-case-foot { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-top: 24px; }
.business-case-foot > p { max-width: 650px; color: var(--muted); font-size: 11px; line-height: 1.75; }
.business-case-foot .underlined-link { flex: none; }
.investment-case { padding-block: clamp(85px, 8vw, 125px); background: var(--paper); }
.investment-case-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.82fr); gap: 12%; }
.investment-case h2 { margin-top: 28px; font-size: clamp(42px, 4.7vw, 67px); line-height: 1.2; }
.investment-case-grid > div:last-child > p:first-child { color: var(--ink-soft); font-size: 15px; line-height: 1.85; }
.investment-points { display: grid; grid-template-columns: 1fr; margin-top: 30px; border-top: 1px solid var(--rule); }
.investment-points span { padding-block: 17px; border-bottom: 1px solid var(--rule); color: var(--teal-dark); font-size: 13px; font-weight: 650; }
.investment-case .investment-note { margin-top: 20px; color: var(--muted); font-size: 10px; line-height: 1.7; }
@media(max-width:760px) {
  .duty-teaser-grid, .business-case-intro, .investment-case-grid { display: block; }
  .duty-teaser-grid > div:last-child, .business-case-intro > div, .investment-case-grid > div:last-child { margin-top: 30px; }
  .business-case-statement { margin-block: 65px 35px; padding-left: 22px; }
  .business-benefits { grid-template-columns: 1fr; }
  .business-benefits article, .business-benefits article + article { padding: 25px 0 29px; border-left: 0; border-bottom: 1px solid var(--rule); }
  .business-benefits article:last-child { border-bottom: 0; }
  .business-benefits h3 { margin-top: 23px; }
  .business-case-foot { display: block; }
  .business-case-foot .underlined-link { margin-top: 17px; }
}
