:root {
    --aos-paper: #f2f0ea;
    --aos-card: #fffefa;
    --aos-ink: #171a18;
    --aos-muted: #656a65;
    --aos-dim: #8a8f89;
    --aos-line: #d3d3cb;
    --aos-line-strong: #969b94;
    --aos-teal: #08776e;
    --aos-teal-2: #58b7aa;
    --aos-teal-soft: #dcece8;
    --aos-blue: #355f8b;
    --aos-blue-soft: #e0e8ef;
    --aos-amber: #b56e25;
    --aos-amber-soft: #f3e6d3;
    --aos-red: #a74b44;
    --aos-red-soft: #f1deda;
    --aos-sans: var(--nv-font-sans, "Montserrat", "Noto Sans SC", sans-serif);
    --aos-serif: var(--nv-font-serif, Georgia, "Noto Sans SC", serif);
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 112px;
}

body.aos-page {
    margin: 0;
    color: var(--aos-ink);
    background: var(--aos-paper);
    font-family: var(--aos-sans);
    font-size: 16px;
    line-height: 1.6;
}

body.aos-drawer-open {
    overflow: hidden;
}

.aos-page *,
.aos-page *::before,
.aos-page *::after {
    box-sizing: border-box;
}

.aos-page a {
    color: inherit;
}

.aos-page button,
.aos-page summary,
.aos-page a {
    -webkit-tap-highlight-color: transparent;
}

.aos-page :focus-visible {
    outline: 3px solid #267fc0;
    outline-offset: 3px;
}

.aos-shell {
    width: min(100% - 40px, 1380px);
    margin: 24px auto 88px;
}

.aos-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(320px, .7fr);
    min-height: 640px;
    color: #f6f5ef;
    background: var(--aos-ink);
}

.aos-hero-main {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 54px clamp(40px, 6vw, 92px) 66px;
}

.aos-hero-main::after {
    position: absolute;
    right: -105px;
    bottom: -155px;
    width: 410px;
    height: 410px;
    border: 1px solid #37443f;
    border-radius: 50%;
    box-shadow: 0 0 0 54px #1c2421, 0 0 0 108px #1a201e;
    content: "";
    pointer-events: none;
}

.aos-eyebrow,
.aos-section-head > p,
.aos-section-head > div > p,
.aos-loop-intro > div > p,
.aos-hero-label,
.aos-card-eyebrow {
    margin: 0;
    color: #aeb5ae;
    font-size: 11px;
    font-weight: 780;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.aos-breadcrumb {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 18px;
    color: #aeb5ae;
    font-size: 13px;
}

.aos-breadcrumb a {
    text-decoration: none;
}

.aos-breadcrumb a:hover {
    color: white;
    text-decoration: underline;
}

.aos-kicker {
    position: relative;
    z-index: 1;
    margin: auto 0 18px;
    color: #a8d8d1;
    font-size: 14px;
    font-weight: 730;
    letter-spacing: .06em;
}

.aos-hero h1 {
    position: relative;
    z-index: 1;
    max-width: 940px;
    margin: 0;
    font-family: var(--aos-serif);
    font-size: clamp(54px, 6.6vw, 96px);
    font-weight: 500;
    letter-spacing: -.055em;
    line-height: 1.01;
}

.aos-hero h1 span {
    color: #69c0b5;
}

.aos-thesis {
    position: relative;
    z-index: 1;
    max-width: 790px;
    margin: 34px 0 0;
    color: #d1d5d0;
    font-size: clamp(17px, 1.55vw, 22px);
    line-height: 1.65;
}

.aos-hero-side {
    display: flex;
    flex-direction: column;
    padding: 38px 34px 34px;
    border-left: 1px solid #454944;
    background: #252925;
}

.aos-hero-side [data-nv-page-actions] {
    min-height: 42px;
    margin-bottom: auto;
}

.aos-hero-label {
    padding-bottom: 13px;
    border-bottom: 1px solid #50564f;
}

.aos-signal-grid article {
    display: grid;
    grid-template-columns: 92px 1fr;
    gap: 4px 14px;
    padding: 22px 0;
    border-bottom: 1px solid #50564f;
}

.aos-signal-grid strong {
    grid-row: 1 / span 2;
    color: #fffef8;
    font-family: var(--aos-serif);
    font-size: 39px;
    font-weight: 500;
    line-height: 1;
}

.aos-signal-grid span {
    color: #fff;
    font-size: 14px;
    font-weight: 730;
}

.aos-signal-grid small {
    color: #aeb5ae;
    font-size: 11px;
    line-height: 1.45;
}

.aos-release-meta {
    margin: 24px 0 0;
    color: #9da39d;
    font-size: 11px;
    line-height: 1.65;
}

.aos-section-nav {
    position: sticky;
    z-index: 20;
    top: var(--nv-header-height, 0px);
    display: flex;
    gap: 34px;
    align-items: center;
    min-height: 62px;
    padding: 0 4px;
    border-bottom: 1px solid var(--aos-line-strong);
    background: rgba(242, 240, 234, .95);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.aos-section-nav a {
    font-size: 13px;
    font-weight: 730;
    text-decoration: none;
}

.aos-section-nav a:hover {
    color: var(--aos-teal);
}

.aos-section {
    padding-top: 112px;
    scroll-margin-top: calc(var(--nv-header-height, 0px) + 64px);
}

.aos-section-head {
    max-width: 930px;
    margin-bottom: 44px;
}

.aos-section-head > p,
.aos-section-head > div > p,
.aos-loop-intro > div > p {
    color: var(--aos-teal);
}

.aos-section-head h2 {
    margin: 10px 0 16px;
    font-family: var(--aos-serif);
    font-size: clamp(38px, 4.3vw, 64px);
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: 1.12;
}

.aos-section-head > span,
.aos-section-head > p:last-child,
.aos-section-head > div + p {
    display: block;
    max-width: 740px;
    margin: 0;
    color: var(--aos-muted);
    font-size: 15px;
    line-height: 1.72;
}

.aos-section-head--split {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .65fr);
    gap: 72px;
    max-width: none;
    align-items: end;
}

.aos-section-head--split h2 {
    margin-bottom: 0;
}

.aos-archetype-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--aos-line-strong);
    border-bottom: 1px solid var(--aos-line-strong);
}

.aos-archetype-card {
    min-height: 380px;
    display: flex;
    flex-direction: column;
    padding: 28px 30px 30px;
    background: var(--aos-card);
}

.aos-archetype-card + .aos-archetype-card {
    border-left: 1px solid var(--aos-line);
}

.aos-archetype-number {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--aos-dim);
    font-size: 11px;
    font-weight: 760;
    letter-spacing: .12em;
}

.aos-archetype-number strong {
    color: var(--aos-teal);
    font-family: var(--aos-serif);
    font-size: 28px;
    font-weight: 500;
    letter-spacing: normal;
}

.aos-archetype-card h3 {
    margin: 44px 0 10px;
    font-family: var(--aos-serif);
    font-size: 31px;
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: 1.15;
}

.aos-archetype-companies {
    margin: 0 0 26px;
    color: var(--aos-teal);
    font-size: 12px;
    font-weight: 720;
}

.aos-inline-company {
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    cursor: pointer;
    font: inherit;
    font-weight: inherit;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 3px;
}

.aos-inline-company:hover {
    text-decoration-color: currentColor;
}

.aos-archetype-headline {
    margin: 0;
    font-size: 17px;
    font-weight: 740;
    line-height: 1.55;
}

.aos-archetype-description {
    margin: 13px 0 26px;
    color: var(--aos-muted);
    font-size: 14px;
    line-height: 1.72;
}

.aos-archetype-tension {
    margin: auto 0 0;
    padding-top: 17px;
    border-top: 1px solid var(--aos-line);
    color: #5f4937;
    font-size: 13px;
    line-height: 1.65;
}

.aos-archetype-tension strong {
    color: var(--aos-amber);
}

.aos-loop-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr);
    gap: 70px;
    align-items: end;
    margin: 72px 0 28px;
}

.aos-loop-intro h3 {
    margin: 8px 0 0;
    font-family: var(--aos-serif);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: 1.18;
}

.aos-loop-intro > span {
    color: var(--aos-muted);
    font-size: 14px;
    line-height: 1.72;
}

.aos-system-loop {
    position: relative;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    padding: 24px;
    border: 1px solid var(--aos-line-strong);
    background: #202421;
}

.aos-loop-step {
    position: relative;
    min-height: 220px;
    padding: 22px 22px 26px;
    color: #f4f4ed;
}

.aos-loop-step + .aos-loop-step {
    border-left: 1px solid #4b514c;
}

.aos-loop-step:not(:last-child)::after {
    position: absolute;
    z-index: 2;
    top: 47px;
    right: -10px;
    width: 19px;
    height: 19px;
    display: grid;
    place-items: center;
    border: 1px solid #69716b;
    border-radius: 50%;
    color: #87c9c0;
    background: #202421;
    content: "›";
    font-size: 17px;
    line-height: 1;
}

.aos-loop-step > span {
    color: #75c6bb;
    font-family: var(--aos-serif);
    font-size: 24px;
}

.aos-loop-step h4 {
    margin: 34px 0 12px;
    font-size: 17px;
}

.aos-loop-step p {
    margin: 0;
    color: #b8beb8;
    font-size: 12px;
    line-height: 1.68;
}

.aos-insight-list {
    display: grid;
    gap: 32px;
}

.aos-insight-card {
    overflow: hidden;
    border-top: 1px solid var(--aos-line-strong);
    background: var(--aos-card);
}

.aos-analysis-mark { display:block; margin:12px 38px 0; color:var(--aos-muted); font-size:9px; font-weight:750; letter-spacing:.08em; text-align:right; opacity:.62; }
.aos-source-body > .aos-analysis-mark { margin-right:0; }
.aos-source-summary { color:var(--aos-muted); font-size:10px; line-height:1.45; }

.aos-insight-top {
    display: grid;
    grid-template-columns: 104px minmax(0, 1.3fr) minmax(280px, .62fr);
    gap: 34px;
    padding: 34px 38px 38px;
}

.aos-insight-index {
    color: var(--aos-teal);
    font-family: var(--aos-serif);
    font-size: 58px;
    line-height: .92;
}

.aos-insight-copy h3 {
    max-width: 830px;
    margin: 0;
    font-family: var(--aos-serif);
    font-size: clamp(30px, 3.4vw, 49px);
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: 1.15;
}

.aos-insight-thesis {
    max-width: 820px;
    margin: 22px 0 0;
    color: #373b37;
    font-size: 17px;
    line-height: 1.8;
}

.aos-implication {
    align-self: end;
    padding: 20px 0 0 22px;
    border-top: 2px solid var(--aos-teal);
    border-left: 1px solid var(--aos-line);
}

.aos-implication > span {
    color: var(--aos-teal);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
}

.aos-implication p {
    margin: 10px 0 0;
    color: #333733;
    font-size: 13px;
    line-height: 1.75;
}

.aos-chart {
    padding: 30px 38px 34px;
    border-top: 1px solid var(--aos-line);
    background: #f5f5f0;
}

.aos-chart-head {
    display: flex;
    justify-content: space-between;
    gap: 32px;
    align-items: end;
    margin-bottom: 24px;
}

.aos-chart-head h4 {
    margin: 0;
    font-size: 19px;
    line-height: 1.35;
}

.aos-chart-head p {
    max-width: 520px;
    margin: 0;
    color: var(--aos-muted);
    font-size: 11px;
    line-height: 1.55;
    text-align: right;
}

.aos-distribution-map {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.aos-distribution-item {
    min-height: 174px;
    padding: 20px;
    border: 1px solid var(--aos-line);
    background: var(--aos-card);
}

.aos-distribution-item h5,
.aos-decision-item h5,
.aos-compute-item h5,
.aos-gap-card h5 {
    margin: 0;
    color: var(--aos-teal);
    font-size: 13px;
}

.aos-distribution-item > strong {
    display: block;
    margin-top: 24px;
    font-size: 17px;
    line-height: 1.42;
}

.aos-distribution-item p {
    margin: 8px 0 0;
    color: var(--aos-muted);
    font-size: 12px;
    line-height: 1.55;
}

.aos-distribution-item small {
    display: block;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--aos-line);
    color: var(--aos-dim);
    font-size: 10px;
}

.aos-decision-grid {
    display: grid;
    border-top: 1px solid var(--aos-line);
}

.aos-decision-item {
    display: grid;
    grid-template-columns: 128px minmax(170px, .65fr) minmax(240px, 1.35fr) minmax(160px, .65fr);
    gap: 18px;
    align-items: start;
    padding: 18px 14px;
    border-bottom: 1px solid var(--aos-line);
}

.aos-decision-item p,
.aos-decision-item small {
    margin: 0;
    color: #373b37;
    font-size: 12px;
    line-height: 1.58;
}

.aos-decision-item small {
    color: var(--aos-muted);
}

.aos-compute-groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.aos-compute-group {
    min-height: 280px;
    padding: 22px;
    border: 1px solid var(--aos-line);
    background: var(--aos-card);
}

.aos-compute-group > p {
    margin: 0;
    color: var(--aos-teal);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
}

.aos-compute-group > h5 {
    margin: 6px 0 8px;
    font-family: var(--aos-serif);
    font-size: 26px;
    font-weight: 500;
}

.aos-compute-group > span {
    display: block;
    min-height: 44px;
    color: var(--aos-muted);
    font-size: 12px;
    line-height: 1.55;
}

.aos-compute-items {
    margin-top: 18px;
    border-top: 1px solid var(--aos-line);
}

.aos-compute-item {
    padding: 15px 0;
    border-bottom: 1px solid var(--aos-line);
}

.aos-compute-item:last-child {
    border-bottom: 0;
}

.aos-compute-item p {
    margin: 5px 0 0;
    color: #363a36;
    font-size: 12px;
    line-height: 1.58;
}

.aos-openness-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    background: var(--aos-card);
}

.aos-openness-table th,
.aos-openness-table td {
    padding: 17px 18px;
    border: 1px solid var(--aos-line);
    vertical-align: top;
    font-size: 12px;
    line-height: 1.6;
    text-align: left;
}

.aos-openness-table th {
    color: var(--aos-muted);
    background: #eeeee9;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.aos-openness-table td:first-child {
    color: var(--aos-teal);
    font-weight: 740;
}

.aos-chart-reference {
    display: flex;
    gap: 15px;
    align-items: baseline;
    margin-top: 18px;
    padding: 15px 18px;
    border-left: 3px solid var(--aos-amber);
    background: var(--aos-amber-soft);
}

.aos-chart-reference strong {
    font-family: var(--aos-serif);
    font-size: 26px;
    font-weight: 500;
}

.aos-chart-reference span {
    color: #5c4a39;
    font-size: 12px;
}

.aos-gap-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.aos-gap-card {
    padding: 22px;
    border: 1px solid var(--aos-line);
    background: var(--aos-card);
}

.aos-gap-compare {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0;
}

.aos-gap-compare div {
    min-height: 118px;
    padding: 16px;
    border-top: 3px solid var(--aos-teal);
    background: var(--aos-teal-soft);
}

.aos-gap-compare div:last-child {
    border-top-color: var(--aos-amber);
    background: var(--aos-amber-soft);
}

.aos-gap-compare span {
    display: block;
    color: var(--aos-muted);
    font-size: 10px;
    font-weight: 780;
    letter-spacing: .08em;
}

.aos-gap-compare strong {
    display: block;
    margin-top: 9px;
    font-size: 14px;
    line-height: 1.55;
}

.aos-gap-card > p {
    margin: 0;
    color: var(--aos-muted);
    font-size: 12px;
    line-height: 1.65;
}

.aos-source-details {
    border-top: 1px solid var(--aos-line);
    background: var(--aos-card);
}

.aos-source-details > summary {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 15px 38px;
    color: var(--aos-muted);
    cursor: pointer;
    font-size: 11px;
    font-weight: 720;
    list-style: none;
}

.aos-source-details > summary::-webkit-details-marker {
    display: none;
}

.aos-source-details > summary::before {
    content: "＋";
    color: var(--aos-teal);
}

.aos-source-details[open] > summary::before {
    content: "−";
}

.aos-source-count {
    color: var(--aos-dim);
    font-weight: 500;
}

.aos-source-body {
    padding: 0 38px 30px;
}

.aos-boundary-note {
    margin: 0 0 18px;
    padding: 15px 17px;
    border-left: 3px solid var(--aos-amber);
    color: #5b4b3d;
    background: var(--aos-amber-soft);
    font-size: 12px;
    line-height: 1.65;
}

.aos-source-list {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.aos-source-list li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    padding: 12px 0;
    border-bottom: 1px solid var(--aos-line);
}

.aos-source-tier {
    display: inline-grid;
    width: 27px;
    height: 27px;
    place-items: center;
    border: 1px solid var(--aos-teal);
    color: var(--aos-teal);
    font-size: 10px;
    font-weight: 800;
}

.aos-source-list a {
    color: #243b4a;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.aos-source-list p {
    margin: 4px 0 0;
    color: var(--aos-muted);
    font-size: 10px;
    line-height: 1.5;
}

.aos-source-list time {
    color: var(--aos-dim);
    font-size: 10px;
    white-space: nowrap;
}

.aos-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

.aos-filter-row button {
    min-height: 39px;
    padding: 8px 15px;
    border: 1px solid var(--aos-line-strong);
    border-radius: 999px;
    color: var(--aos-muted);
    background: transparent;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
}

.aos-filter-row button:hover,
.aos-filter-row button[aria-pressed="true"] {
    border-color: var(--aos-teal);
    color: #fff;
    background: var(--aos-teal);
}

.aos-benchmark-wrap {
    overflow-x: auto;
    border-top: 1px solid var(--aos-line-strong);
    border-bottom: 1px solid var(--aos-line-strong);
    background: var(--aos-card);
}

.aos-benchmark-table {
    width: 100%;
    min-width: 1280px;
    border-collapse: collapse;
    table-layout: fixed;
}

.aos-benchmark-table th,
.aos-benchmark-table td {
    padding: 17px 16px;
    border-right: 1px solid var(--aos-line);
    border-bottom: 1px solid var(--aos-line);
    vertical-align: top;
    text-align: left;
}

.aos-benchmark-table th:last-child,
.aos-benchmark-table td:last-child {
    border-right: 0;
}

.aos-benchmark-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    color: var(--aos-muted);
    background: #e9e9e3;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.aos-benchmark-table th:first-child,
.aos-benchmark-table td:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
    width: 180px;
    background: var(--aos-card);
}

.aos-benchmark-table th:first-child {
    z-index: 3;
    background: #e9e9e3;
}

.aos-benchmark-table th:nth-child(2),
.aos-benchmark-table td:nth-child(2) { width: 225px; }
.aos-benchmark-table th:nth-child(3),
.aos-benchmark-table td:nth-child(3) { width: 220px; }
.aos-benchmark-table th:nth-child(4),
.aos-benchmark-table td:nth-child(4) { width: 220px; }
.aos-benchmark-table th:nth-child(5),
.aos-benchmark-table td:nth-child(5) { width: 270px; }
.aos-benchmark-table th:nth-child(6),
.aos-benchmark-table td:nth-child(6) { width: 210px; }
.aos-benchmark-table th:nth-child(7),
.aos-benchmark-table td:nth-child(7) { width: 120px; }

.aos-benchmark-row {
    cursor: pointer;
}

.aos-benchmark-row:hover td,
.aos-benchmark-row:focus td {
    background: var(--aos-teal-soft);
}

.aos-company-cell strong {
    display: block;
    font-family: var(--aos-serif);
    font-size: 19px;
    font-weight: 500;
}

.aos-company-cell span {
    display: block;
    margin-top: 5px;
    color: var(--aos-teal);
    font-size: 10px;
    font-weight: 730;
}

.aos-company-cell small {
    display: block;
    margin-top: 14px;
    color: var(--aos-muted);
    font-size: 10px;
}

.aos-benchmark-table td:not(:first-child) {
    color: #3c403c;
    font-size: 12px;
    line-height: 1.62;
}

.aos-confidence {
    display: inline-grid;
    min-width: 38px;
    min-height: 30px;
    place-items: center;
    border: 1px solid var(--aos-teal);
    color: var(--aos-teal);
    font-weight: 800;
}

.aos-table-note {
    margin: 13px 0 0;
    color: var(--aos-dim);
    font-size: 11px;
}

.aos-method-section {
    padding-bottom: 30px;
}

.aos-method-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.aos-method-grid details {
    border-top: 3px solid var(--aos-teal);
    background: var(--aos-card);
}

.aos-method-grid summary {
    min-height: 112px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 22px 24px;
    cursor: pointer;
    list-style: none;
}

.aos-method-grid summary::-webkit-details-marker {
    display: none;
}

.aos-method-grid summary span {
    font-size: 16px;
    font-weight: 740;
}

.aos-method-grid summary small {
    margin-top: 5px;
    color: var(--aos-muted);
    font-size: 11px;
}

.aos-method-grid summary::after {
    align-self: end;
    margin-top: -25px;
    color: var(--aos-teal);
    content: "+";
    font-size: 21px;
}

.aos-method-grid details[open] summary::after {
    content: "−";
}

.aos-method-grid details > div {
    padding: 0 24px 26px;
    border-top: 1px solid var(--aos-line);
}

.aos-method-grid ol,
.aos-method-grid ul {
    margin: 18px 0 0;
    padding-left: 20px;
}

.aos-method-grid li {
    margin: 0 0 10px;
    color: var(--aos-muted);
    font-size: 12px;
    line-height: 1.65;
}

.aos-level-list {
    margin-top: 18px;
}

.aos-level-item {
    display: grid;
    grid-template-columns: 32px 70px 1fr;
    gap: 10px;
    padding: 11px 0;
    border-bottom: 1px solid var(--aos-line);
    color: var(--aos-muted);
    font-size: 11px;
    line-height: 1.55;
}

.aos-level-item strong:first-child {
    color: var(--aos-teal);
}

.aos-drawer-backdrop {
    position: fixed;
    z-index: 1100;
    inset: var(--nv-header-height, 68px) 0 0;
    background: rgba(14, 18, 16, .58);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}

.aos-drawer {
    position: fixed;
    z-index: 1110;
    top: var(--nv-header-height, 68px);
    right: 0;
    bottom: 0;
    width: min(1120px, 94vw);
    overflow-y: auto;
    color: var(--aos-ink);
    background: var(--aos-paper);
    box-shadow: -18px 0 60px rgba(0, 0, 0, .26);
    transform: translateX(104%);
    transition: transform 260ms ease;
}

.aos-drawer[aria-hidden="false"] {
    transform: translateX(0);
}

.aos-drawer-head {
    position: sticky;
    z-index: 10;
    top: 0;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    padding: 26px 34px;
    border-bottom: 1px solid var(--aos-line);
    background: rgba(242, 240, 234, .96);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.aos-drawer-head p {
    margin: 0;
    color: var(--aos-teal);
    font-size: 10px;
    font-weight: 780;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.aos-drawer-head h2 {
    margin: 4px 0 2px;
    font-family: var(--aos-serif);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 500;
    letter-spacing: -.04em;
    line-height: 1.1;
}

.aos-drawer-head span {
    color: var(--aos-muted);
    font-size: 12px;
}

.aos-drawer-head button {
    min-width: 70px;
    min-height: 42px;
    border: 1px solid var(--aos-line-strong);
    border-radius: 999px;
    color: var(--aos-ink);
    background: var(--aos-card);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 720;
}

.aos-drawer-content {
    padding: 0 34px 70px;
}

.aos-drawer-verdict {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(270px, .62fr);
    gap: 42px;
    align-items: end;
    padding: 46px 0 40px;
    border-bottom: 1px solid var(--aos-line-strong);
}

.aos-drawer-verdict h3 {
    margin: 0;
    font-family: var(--aos-serif);
    font-size: clamp(34px, 4.4vw, 57px);
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: 1.14;
}

.aos-drawer-verdict p {
    margin: 0;
    color: var(--aos-muted);
    font-size: 14px;
    line-height: 1.75;
}

.aos-drawer-section {
    padding: 46px 0 0;
}

.aos-drawer-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, .6fr);
    gap: 34px;
    align-items: end;
    margin-bottom: 25px;
}

.aos-drawer-section-head p {
    margin: 0 0 5px;
    color: var(--aos-teal);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
}

.aos-drawer-section-head h3 {
    margin: 0;
    font-family: var(--aos-serif);
    font-size: clamp(27px, 3vw, 40px);
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: 1.17;
}

.aos-drawer-section-head span {
    color: var(--aos-muted);
    font-size: 12px;
    line-height: 1.6;
}

.aos-company-loop {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--aos-line-strong);
    background: var(--aos-card);
}

.aos-company-loop article {
    position: relative;
    min-height: 175px;
    padding: 21px;
    border-right: 1px solid var(--aos-line);
    border-bottom: 1px solid var(--aos-line);
}

.aos-company-loop article:nth-child(3n) {
    border-right: 0;
}

.aos-company-loop article:nth-last-child(-n + 3) {
    border-bottom: 0;
}

.aos-company-loop article > span {
    color: var(--aos-teal);
    font-family: var(--aos-serif);
    font-size: 21px;
}

.aos-company-loop h4 {
    margin: 16px 0 8px;
    font-size: 14px;
}

.aos-company-loop p {
    margin: 0;
    color: var(--aos-muted);
    font-size: 11px;
    line-height: 1.63;
}

.aos-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.aos-metric-card {
    min-height: 155px;
    padding: 20px;
    border-top: 3px solid var(--aos-teal);
    background: var(--aos-card);
}

.aos-metric-card span {
    color: var(--aos-muted);
    font-size: 10px;
    font-weight: 720;
}

.aos-metric-card strong {
    display: block;
    margin-top: 19px;
    font-family: var(--aos-serif);
    font-size: 27px;
    font-weight: 500;
    line-height: 1.15;
}

.aos-metric-card small {
    display: block;
    margin-top: 10px;
    color: var(--aos-dim);
    font-size: 9px;
    line-height: 1.45;
}

.aos-timeline {
    position: relative;
    margin-left: 10px;
    padding-left: 28px;
    border-left: 1px solid var(--aos-line-strong);
}

.aos-timeline article {
    position: relative;
    padding: 0 0 28px;
}

.aos-timeline article::before {
    position: absolute;
    top: 5px;
    left: -34px;
    width: 10px;
    height: 10px;
    border: 2px solid var(--aos-paper);
    border-radius: 50%;
    background: var(--aos-teal);
    box-shadow: 0 0 0 1px var(--aos-teal);
    content: "";
}

.aos-timeline time {
    color: var(--aos-teal);
    font-size: 10px;
    font-weight: 760;
}

.aos-timeline h4 {
    margin: 5px 0 8px;
    font-size: 16px;
}

.aos-timeline p {
    max-width: 850px;
    margin: 0;
    color: var(--aos-muted);
    font-size: 12px;
    line-height: 1.65;
}

.aos-timeline .aos-timeline-insight {
    margin-top: 8px;
    color: #303b37;
    font-weight: 650;
}

.aos-gene-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.aos-gene-card {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    padding: 22px;
    border: 1px solid var(--aos-line);
    background: var(--aos-card);
}

.aos-gene-path {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    color: var(--aos-teal);
    font-size: 10px;
    font-weight: 730;
}

.aos-gene-path a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(16, 145, 135, .28);
}

.aos-gene-path a:hover {
    border-bottom-color: currentColor;
}

.aos-gene-path i {
    color: var(--aos-dim);
    font-style: normal;
}

.aos-gene-card h4 {
    margin: 25px 0 16px;
    font-family: var(--aos-serif);
    font-size: 29px;
    font-weight: 500;
    letter-spacing: -.03em;
}

.aos-gene-card h4 a {
    color: inherit;
    text-decoration: none;
}

.aos-gene-card h4 a:hover {
    color: var(--aos-teal);
}

.aos-gene-card dl {
    margin: 0;
}

.aos-gene-card dt {
    margin-top: 15px;
    color: var(--aos-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .1em;
}

.aos-gene-card dd {
    margin: 5px 0 0;
    color: #3a3e3a;
    font-size: 12px;
    line-height: 1.65;
}

.aos-gene-card footer {
    margin-top: auto;
    padding-top: 15px;
    color: var(--aos-dim);
    font-size: 9px;
}

.aos-dna-link {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    margin-top: 46px;
    padding: 23px 25px;
    border: 1px solid var(--aos-line-strong);
    background: #202421;
}

.aos-dna-link div strong,
.aos-dna-link div span {
    display: block;
}

.aos-dna-link div strong {
    color: #fff;
    font-size: 14px;
}

.aos-dna-link div span {
    margin-top: 4px;
    color: #aeb5ae;
    font-size: 11px;
}

.aos-dna-link a {
    flex: 0 0 auto;
    padding: 10px 15px;
    border: 1px solid #6fbcb2;
    color: #9fe0d7;
    font-size: 11px;
    font-weight: 730;
    text-decoration: none;
}

.aos-dna-link a:hover {
    color: #202421;
    background: #9fe0d7;
}

.aos-drawer .aos-source-details {
    margin-top: 12px;
}

.aos-error {
    position: fixed;
    z-index: 1200;
    right: 20px;
    bottom: 20px;
    width: min(420px, calc(100% - 40px));
    padding: 18px 20px;
    border-left: 4px solid var(--aos-red);
    color: #4c2f2c;
    background: var(--aos-red-soft);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .15);
}

.aos-error strong,
.aos-error span {
    display: block;
}

.aos-error span {
    margin-top: 4px;
    font-size: 12px;
}

@media (max-width: 1100px) {
    .aos-hero {
        grid-template-columns: minmax(0, 1.4fr) minmax(280px, .7fr);
    }

    .aos-archetype-grid,
    .aos-compute-groups,
    .aos-gene-grid {
        grid-template-columns: 1fr;
    }

    .aos-archetype-card {
        min-height: auto;
    }

    .aos-archetype-card + .aos-archetype-card {
        border-top: 1px solid var(--aos-line);
        border-left: 0;
    }

    .aos-system-loop {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .aos-loop-step:nth-child(4) {
        border-left: 0;
    }

    .aos-loop-step:nth-child(n + 4) {
        border-top: 1px solid #4b514c;
    }

    .aos-loop-step:nth-child(3)::after {
        display: none;
    }

    .aos-insight-top {
        grid-template-columns: 80px minmax(0, 1fr);
    }

    .aos-implication {
        grid-column: 2;
    }

    .aos-distribution-map {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aos-decision-item {
        grid-template-columns: 110px minmax(150px, .7fr) minmax(0, 1.3fr);
    }

    .aos-decision-item small {
        grid-column: 2 / -1;
    }

    .aos-method-grid {
        grid-template-columns: 1fr;
    }

    .aos-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .aos-shell {
        width: min(100% - 24px, 1380px);
        margin-top: 12px;
    }

    .aos-hero {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .aos-hero-main {
        min-height: 590px;
        padding: 34px 24px 42px;
    }

    .aos-hero-side {
        padding: 26px 24px;
        border-top: 1px solid #454944;
        border-left: 0;
    }

    .aos-hero-side [data-nv-page-actions] {
        margin-bottom: 50px;
    }

    .aos-section-nav {
        gap: 20px;
        overflow-x: auto;
        white-space: nowrap;
    }

    .aos-section {
        padding-top: 78px;
    }

    .aos-section-head--split,
    .aos-loop-intro,
    .aos-drawer-verdict,
    .aos-drawer-section-head {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .aos-system-loop {
        grid-template-columns: 1fr;
        padding: 12px;
    }

    .aos-loop-step,
    .aos-loop-step:nth-child(4) {
        min-height: auto;
        border-top: 1px solid #4b514c;
        border-left: 0;
    }

    .aos-loop-step:first-child {
        border-top: 0;
    }

    .aos-loop-step::after {
        display: none;
    }

    .aos-insight-top {
        grid-template-columns: 1fr;
        gap: 22px;
        padding: 28px 22px;
    }

    .aos-insight-index {
        font-size: 40px;
    }

    .aos-implication {
        grid-column: auto;
    }

    .aos-chart {
        padding: 24px 18px;
    }

    .aos-chart-head {
        display: block;
    }

    .aos-chart-head p {
        margin-top: 8px;
        text-align: left;
    }

    .aos-distribution-map,
    .aos-gap-grid,
    .aos-gap-compare {
        grid-template-columns: 1fr;
    }

    .aos-decision-item {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .aos-decision-item small {
        grid-column: auto;
    }

    .aos-openness-table {
        min-width: 750px;
    }

    .aos-chart:has(.aos-openness-table) {
        overflow-x: auto;
    }

    .aos-source-details > summary,
    .aos-source-body {
        padding-right: 20px;
        padding-left: 20px;
    }

    .aos-source-list li {
        grid-template-columns: minmax(0, 1fr);
    }

    .aos-source-list time {
        grid-column: 1;
    }

    .aos-drawer {
        width: 100vw;
    }

    .aos-drawer-head {
        padding: 20px;
    }

    .aos-drawer-content {
        padding: 0 20px 50px;
    }

    .aos-company-loop,
    .aos-metric-grid {
        grid-template-columns: 1fr;
    }

    .aos-company-loop article,
    .aos-company-loop article:nth-child(3n),
    .aos-company-loop article:nth-last-child(-n + 3) {
        border-right: 0;
        border-bottom: 1px solid var(--aos-line);
    }

    .aos-company-loop article:last-child {
        border-bottom: 0;
    }

    .aos-dna-link {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media print {
    .aos-section-nav,
    .nv-site-header,
    [data-nv-page-actions],
    .aos-filter-row,
    .aos-drawer-backdrop,
    .aos-drawer {
        display: none !important;
    }

    body.aos-page {
        background: white;
    }

    .aos-shell {
        width: 100%;
        margin: 0;
    }

    .aos-hero {
        min-height: 520px;
    }

    .aos-insight-card,
    .aos-archetype-card,
    .aos-method-grid details {
        break-inside: avoid;
    }

    .aos-source-details > summary {
        display: none;
    }

    .aos-source-details > .aos-source-body {
        display: block !important;
    }
}
