.ld-methodology { --ld-methodology-gold: #c69642; --ld-methodology-surface: #f7f8fa; color: var(--ld-ink); font-size: 16px; line-height: 1.65; }
.ld-methodology h1, .ld-methodology h2, .ld-methodology h3, .ld-methodology h4 { font-family: var(--ld-serif); font-weight: 400; line-height: 1.22; }
.ld-methodology a:focus-visible, .ld-methodology button:focus-visible, .ld-methodology summary:focus-visible { outline: 2px solid var(--ld-accent); outline-offset: 5px; }
.ld-methodology-copy > * + * { margin-top: 16px; }
.ld-methodology-copy ul, .ld-methodology-copy ol { margin-block: 16px; padding-left: 21px; }
.ld-methodology-copy li + li { margin-top: 5px; }
.ld-methodology-copy a { text-decoration: underline; }
.ld-methodology-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--ld-accent); margin-bottom: 12px; }
.ld-methodology-hero { position: relative; isolation: isolate; background: var(--ld-navy); color: #fff; padding-block: 68px; overflow: hidden; }
.ld-methodology-hero__image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.ld-methodology-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--ld-navy) 0%, rgba(6,37,67,.85) 29%, rgba(6,37,67,.15) 67%, transparent); }
.ld-methodology-hero__copy { max-width: 560px; }
.ld-methodology-hero .ld-methodology-eyebrow { color: var(--ld-methodology-gold); }
.ld-methodology-hero h1 { font-size: clamp(34px, 3.3vw, 46px); letter-spacing: -.025em; margin-bottom: 22px; }
.ld-methodology-hero .ld-methodology-copy { max-width: 510px; color: #e9edf3; font-size: 16px; }
.ld-methodology-introduction { padding-block: 62px 58px; }
.ld-methodology-introduction .ld-methodology-copy { columns: 2; column-gap: 54px; font-size: 16px; line-height: 1.8; }
.ld-methodology-introduction p { break-inside: avoid; }
.ld-methodology-introduction p:nth-child(3) { break-before: column; margin-top: 0; }
.ld-methodology-introduction p:first-child { font-family: var(--ld-serif); font-size: 21px; line-height: 1.5; }
.ld-methodology-introduction p:last-child { color: var(--ld-ink); font-weight: 600; }
.ld-methodology-heading { display: flex; align-items: center; gap: 22px; margin-bottom: 35px; }
.ld-methodology-heading h2 { font-size: 30px; flex-shrink: 0; letter-spacing: -.015em; }
.ld-methodology-heading > span { height: 1px; flex: 1; background: var(--ld-rule); min-width: 20px; }
.ld-methodology-heading > p { color: #536886; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.ld-methodology-process { padding-bottom: 76px; }
.ld-methodology-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 20px; }
.ld-methodology-steps > li { position: relative; text-align: center; }
.ld-methodology-steps > li:not(:last-child)::before { content: ''; position: absolute; top: 31px; left: 50%; width: calc(100% + 20px); height: 1px; background: var(--ld-rule); }
.ld-methodology-step-icon { position: relative; display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border: 1px solid var(--ld-rule); border-radius: 50%; background: #fff; margin: 0 auto 18px; }
.ld-methodology-step-icon > .ld-icon { width: 29px; height: 29px; }
.ld-methodology-step-icon > span { position: absolute; left: -17px; top: 20px; background: var(--ld-accent); color: #fff; border-radius: 50%; width: 23px; height: 23px; font-size: 12px; line-height: 23px; }
.ld-methodology-steps h3 { font-size: 19px; margin-bottom: 12px; }
.ld-methodology-steps .ld-methodology-copy { font-size: 14px; line-height: 1.55; color: #425777; }
.ld-methodology-detail-band { padding-block: 74px 48px; background: var(--ld-methodology-surface); }
.ld-methodology-detail-layout { display: grid; grid-template-columns: minmax(0,1fr) 244px; gap: 36px; align-items: start; }
.ld-methodology-detail .ld-methodology-heading { gap: 16px; }
.ld-methodology-detail .ld-methodology-heading h2 { font-size: 28px; }
.ld-methodology-detail .ld-methodology-heading p { max-width: 140px; }
.ld-methodology-accordions { display: grid; gap: 12px; }
.ld-methodology-accordion { background: #fff; border: 1px solid #e3e6ec; border-radius: 3px; scroll-margin-top: 24px; overflow-anchor: none; }
.ld-methodology-accordion > summary { list-style: none; display: flex; align-items: center; gap: 15px; padding: 19px 22px; cursor: pointer; }
.ld-methodology-accordions .ld-methodology-accordion[open] > summary { border-bottom: 1px solid #e3e6ec; }
.ld-methodology-accordion > summary::-webkit-details-marker { display: none; }
.ld-methodology-accordion > summary > .ld-icon { flex: 0 0 23px; width: 23px; height: 23px; color: var(--ld-accent); }
.ld-methodology-accordion h3 { font-size: 20px; flex: 1; }
.ld-methodology-chevron { flex-shrink: 0; transition: transform 260ms ease; }
.ld-methodology-accordion summary[aria-expanded=true] .ld-methodology-chevron, .ld-methodology-accordion[open] summary:not([aria-expanded]) .ld-methodology-chevron { transform: rotate(180deg); }
.ld-methodology-panel { padding: 0 24px 25px 60px; font-size: 15px; color: #425777; }
.ld-methodology-accordions .ld-methodology-panel { padding-top: 18px; }
.ld-methodology-panel > * + * { margin-top: 22px; }
.ld-methodology-accordions .ld-methodology-panel > .ld-methodology-copy > ul { columns: 2; column-gap: 30px; }
.ld-methodology-accordions .ld-methodology-panel > .ld-methodology-copy > ul li { break-inside: avoid; }
.ld-methodology-peer { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.ld-methodology-peer article { padding: 18px; border: 1px solid #e3e6ec; background: #fff; }
.ld-methodology-peer h4 { font-size: 17px; color: var(--ld-ink); display: flex; gap: 10px; align-items: center; }
.ld-methodology-peer h4 .ld-icon { width: 20px; height: 20px; flex-shrink: 0; }
.ld-methodology-peer .ld-methodology-copy { margin-top: 12px; font-size: 14px; }
.ld-methodology-peer ul { margin-bottom: 0; }
.ld-methodology-scores { display: grid; gap: 18px; }
.ld-methodology-scores__layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,36%) minmax(0,1fr); grid-template-rows: repeat(3,minmax(76px,auto)); gap: 10px; align-items: stretch; }
.ld-methodology-scores__chart-block { grid-column: 2; grid-row: 1 / 4; display: grid; align-content: center; justify-items: center; gap: 12px; min-width: 0; }
.ld-methodology-scores__chart { position: relative; width: min(292px,100%); aspect-ratio: 1; display: grid; place-items: center; }
.ld-methodology-scores__chart svg { width: 100%; height: 100%; transform: rotate(-90deg); filter: drop-shadow(0 7px 11px rgb(7 35 65 / 10%)); }
.ld-methodology-scores__chart circle { fill: none; stroke-width: 33; }
.ld-methodology-scores__track { stroke: #e3e8ed; }
.ld-methodology-scores__segment--1 { --ld-score-color: #102f50; }
.ld-methodology-scores__segment--2 { --ld-score-color: #b87328; }
.ld-methodology-scores__segment--3 { --ld-score-color: #67849e; }
.ld-methodology-scores__segment--4 { --ld-score-color: #ab905c; }
.ld-methodology-scores__segment--5 { --ld-score-color: #3e617d; }
.ld-methodology-scores__segment--6 { --ld-score-color: #a2b3bd; }
.ld-methodology-scores__chart .ld-methodology-scores__segment { stroke: var(--ld-score-color); cursor: pointer; transition: stroke-width 150ms ease, opacity 150ms ease; }
.ld-methodology-scores__chart .ld-methodology-scores__segment:hover, .ld-methodology-scores__chart .ld-methodology-scores__segment.is-active, .ld-methodology-scores__chart .ld-methodology-scores__segment:focus-visible { stroke-width: 38; }
.ld-methodology-scores__chart .ld-methodology-scores__segment:focus { outline: none; }
.ld-methodology-scores__chart .ld-methodology-scores__segment:focus-visible { stroke-width: 43; }
.ld-methodology-scores__center { position: absolute; width: 52%; display: grid; justify-items: center; gap: 7px; color: var(--ld-ink); text-align: center; pointer-events: none; }
.ld-methodology-scores__center strong { font: 50px/1 var(--ld-serif); }
.ld-methodology-scores__center span { font-size: 13px; line-height: 1.3; color: #536886; }
.ld-methodology-scores__hint { color: #647891; font-size: 11px; letter-spacing: .06em; text-align: center; text-transform: uppercase; }
.ld-methodology-scores__legend { display: contents; }
.ld-methodology-score[data-score-index="0"] { grid-column: 1; grid-row: 1; }
.ld-methodology-score[data-score-index="3"] { grid-column: 1; grid-row: 2; }
.ld-methodology-score[data-score-index="1"] { grid-column: 1; grid-row: 3; }
.ld-methodology-score[data-score-index="2"] { grid-column: 3; grid-row: 1; }
.ld-methodology-score[data-score-index="4"] { grid-column: 3; grid-row: 2; }
.ld-methodology-score[data-score-index="5"] { grid-column: 3; grid-row: 3; }
.ld-methodology-score { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 76px; width: 100%; padding: 11px 9px; border: 1px solid #dfe4e9; border-radius: 2px; background: #fff; color: var(--ld-ink); text-align: left; cursor: pointer; }
.ld-methodology-score:hover, .ld-methodology-score:focus-visible, .ld-methodology-score[aria-pressed=true] { border-color: #c9934f; background: #f8f4ed; }
.ld-methodology-score__key { width: 6px; height: 32px; border-radius: 3px; background: var(--ld-score-color); flex: 0 0 6px; }
.ld-methodology-score strong { font: 21px/1.15 var(--ld-serif); white-space: nowrap; }
.ld-methodology-score__name { min-width: 0; font-size: 11px; line-height: 1.3; font-weight: 600; }
.ld-methodology-score-detail { padding: 19px 24px 22px; border: 1px solid #e1e5e9; border-left: 3px solid var(--ld-accent); background: #fff; }
.ld-methodology-score-detail + .ld-methodology-score-detail { margin-top: 10px; }
.ld-methodology-score-detail__eyebrow { color: var(--ld-accent); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ld-methodology-score-detail h4 { margin: 7px 0; color: var(--ld-ink); font-size: 19px; }
.ld-methodology-score-detail .ld-methodology-copy { font-size: 14px; line-height: 1.55; }
.ld-methodology-sidebar { position: sticky; top: 24px; align-self: start; display: flex; flex-direction: column; padding: 25px 22px; border: 1px solid #e3e6ec; background: #fff; }
.ld-methodology-sidebar h2 { font-size: 23px; margin-bottom: 19px; }
.ld-methodology-sidebar nav a { display: block; font-size: 12px; padding: 5px 0 5px 13px; border-left: 1px solid #d4d9e1; line-height: 1.5; }
.ld-methodology-sidebar nav a:hover, .ld-methodology-sidebar nav a:focus-visible { color: var(--ld-accent); border-left-color: var(--ld-accent); }
.ld-methodology-sidebar__actions { display: grid; gap: 18px; margin-top: auto; padding-top: 40px; }
.ld-methodology-sidebar .ld-button { font-size: 13px; white-space: normal; }
.ld-methodology-contact { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: transparent; color: var(--ld-ink); padding: 0; border: 0; font-size: 13px; }
.ld-methodology-contact .ld-icon { flex-shrink: 0; }
.ld-methodology [aria-disabled=true] { cursor: default; }
.ld-methodology .ld-button[aria-disabled=true]:hover { background: var(--ld-accent); border-color: var(--ld-accent); }
.ld-methodology-difference { background: var(--ld-navy); color: #fff; padding-block: 60px; }
.ld-methodology-difference .ld-methodology-eyebrow { color: var(--ld-methodology-gold); }
.ld-methodology-difference h2 { font-size: 32px; max-width: 850px; margin-bottom: 20px; }
.ld-methodology-difference__intro { max-width: 870px; color: #dce4ee; }
.ld-methodology-points { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; margin-block: 35px; }
.ld-methodology-points article { display: flex; align-items: flex-start; gap: 14px; }
.ld-methodology-points article > .ld-icon { color: var(--ld-methodology-gold); width: 25px; height: 25px; flex-shrink: 0; }
.ld-methodology-points h3 { font-size: 20px; margin-bottom: 12px; }
.ld-methodology-points .ld-methodology-copy { font-size: 14px; color: #dce4ee; }
.ld-methodology-difference__note { border-top: 1px solid rgba(255,255,255,.18); padding-top: 24px; color: #dce4ee; font-style: italic; font-size: 14px; }
.ld-methodology-faq { padding-block: 48px 80px; }
.ld-methodology-faq-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 24px; align-items: start; }
.ld-methodology-accordion--faq { background: var(--ld-methodology-surface); border-color: #e3e6ec; color: var(--ld-ink); }
.ld-methodology-accordion--faq h3 { font-size: 18px; line-height: 1.4; color: var(--ld-ink); }
.ld-methodology-accordion--faq .ld-methodology-panel { padding-left: 22px; color: #425777; }
.ld-methodology-cta { padding-block: 36px; background: var(--ld-cream); border-top: 1px solid #eee9e0; }
.ld-methodology-cta > .ld-container { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.ld-methodology-cta h2 { font-size: 27px; margin-bottom: 8px; }
.ld-methodology-cta .ld-methodology-copy { font-size: 15px; }
.ld-methodology-cta__actions { display: grid; gap: 15px; flex-shrink: 0; }
.ld-methodology section[id], .ld-methodology-introduction { scroll-margin-top: 24px; }
@media (min-width: 1101px) {
  .ld-methodology-hero h1 { font-size: 40px; }
  .ld-methodology-hero .ld-methodology-copy { font-size: 15px; }
}
@media (max-width: 1100px) {
  .ld-methodology-steps { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px 26px; }
  .ld-methodology-steps > li:nth-child(3)::before { display: none; }
  .ld-methodology-steps > li:not(:last-child)::before { width: calc(100% + 26px); }
  .ld-methodology-detail-layout { display: block; }
  .ld-methodology-sidebar { display: none; }
  .ld-methodology-hero__copy { max-width: 52%; }
  .ld-methodology-heading h2 { font-size: 28px; }
}
@media (max-width: 760px) {
  .ld-methodology-hero { padding-block: 48px; }
  .ld-methodology-hero__copy { max-width: 100%; }
  .ld-methodology-hero__image { opacity: .35; object-position: 70% center; }
  .ld-methodology-hero::after { background: linear-gradient(90deg, var(--ld-navy), rgba(6,37,67,.7)); }
  .ld-methodology-hero h1 { max-width: 540px; font-size: 36px; }
  .ld-methodology-hero .ld-methodology-copy { font-size: 15px; }
  .ld-methodology-introduction { padding-block: 44px 44px; }
  .ld-methodology-introduction .ld-methodology-copy { columns: auto; font-size: 15px; }
  .ld-methodology-introduction p:first-child { font-size: 20px; }
  .ld-methodology-introduction p:nth-child(3) { break-before: auto; margin-top: 16px; }
  .ld-methodology-heading { display: block; margin-bottom: 30px; }
  .ld-methodology-heading > p { margin-top: 12px; }
  .ld-methodology-detail .ld-methodology-heading p { max-width: none; }
  .ld-methodology-steps { grid-template-columns: 1fr; gap: 28px; counter-reset: ld-step; }
  .ld-methodology-steps > li { grid-column: auto; min-height: 84px; padding-left: 90px; text-align: left; counter-increment: ld-step; }
  .ld-methodology-steps > li:not(:last-child)::before, .ld-methodology-steps > li:nth-child(3)::before { display: block; top: 32px; left: 39px; width: 1px; height: calc(100% + 28px); }
  .ld-methodology-step-icon { position: absolute; top: 0; left: 8px; margin: 0; color: var(--ld-ink); }
  .ld-methodology-step-icon > span { display: none; }
  .ld-methodology-steps h3 { padding-top: 4px; margin-bottom: 9px; }
  .ld-methodology-steps h3::before { content: counter(ld-step) '. '; color: var(--ld-ink); }
  .ld-methodology-process { padding-bottom: 54px; }
  .ld-methodology-detail-band { padding-block: 54px; }
  .ld-methodology-accordion > summary { padding: 18px 16px; gap: 12px; }
  .ld-methodology-accordion h3 { font-size: 18px; }
  .ld-methodology-panel, .ld-methodology-accordion--faq .ld-methodology-panel { padding: 0 17px 22px; font-size: 14px; }
  .ld-methodology-accordions .ld-methodology-panel { padding-top: 16px; }
  .ld-methodology-peer { grid-template-columns: 1fr; }
  .ld-methodology-accordions .ld-methodology-panel > .ld-methodology-copy > ul { columns: auto; }
  .ld-methodology-scores__layout { grid-template-columns: 1fr; grid-template-rows: none; }
  .ld-methodology-scores__chart svg, .ld-methodology-scores__chart .ld-methodology-scores__segment { -webkit-tap-highlight-color: transparent; }
  .ld-methodology-scores__chart-block { grid-column: 1 / -1; grid-row: auto; }
  .ld-methodology-scores__layout .ld-methodology-score { grid-column: auto; grid-row: auto; }
  .ld-methodology[data-ready="true"] .ld-methodology-scores__legend { display: none; }
  .ld-methodology-score-detail { border-left-color: var(--ld-active-score-color, var(--ld-accent)); }
  .ld-methodology-scores__closing { display: none; }
  .ld-methodology-points { grid-template-columns: 1fr; gap: 27px; }
  .ld-methodology-difference { padding-block: 45px; }
  .ld-methodology-difference h2 { font-size: 28px; }
  .ld-methodology-faq { display: none; }
  .ld-methodology-cta > .ld-container { display: block; }
  .ld-methodology-cta h2 { font-size: 25px; }
  .ld-methodology-cta__actions { justify-items: start; margin-top: 25px; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .ld-methodology-steps { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .ld-methodology-steps > li { grid-column: span 2; }
  .ld-methodology-steps > li:nth-child(4) { grid-column: 2 / span 2; }
}
@media (min-width: 761px) and (max-width: 850px) {
  .ld-methodology-scores__center strong { font-size: 42px; }
  .ld-methodology-scores__center span { font-size: 11px; }
}
@media (max-width: 480px) {
  .ld-methodology-scores__chart { width: min(260px,100%); }
  .ld-methodology-scores__layout { gap: 8px; }
  .ld-methodology-score-detail { padding: 17px 18px 19px; }
}
@media (prefers-reduced-motion: reduce) {
  .ld-methodology-chevron { transition: none; }
  .ld-methodology-scores__chart .ld-methodology-scores__segment { transition: none; }
}
