[hidden] { display: none !important; }
.carbon-intro { display: flex; justify-content: space-between; align-items: end; padding: 58px 0 36px; gap: 36px; }
.carbon-intro h1 { font-size: clamp(58px,6.5vw,92px); line-height: .99; letter-spacing: -.045em; margin: 22px 0; font-weight: 400; }
.carbon-intro h1 em { font-style: normal; color: var(--teal); }
.deck { font-size: 20px; color: var(--muted); line-height: 1.5; margin: 24px 0 0; }
.edition { text-align: right; padding-bottom: 7px; }
.edition strong { display: block; font-size: 64px; font-weight: 400; line-height: 1.3; }
.edition > span:last-child { color: var(--muted); font-size: 13px; }
.editorial-note { font-size: 13px; color: var(--muted); max-width: 980px; padding-bottom: 24px; }
.carbon-controls { display: flex; justify-content: space-between; align-items: end; gap: 24px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); padding: 24px 0; }
.type-buttons { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.type-buttons button, .quiet-button { background: transparent; border: 1px solid #a5b6ae; border-radius: 3px; padding: 9px 14px; color: var(--ink); }
.type-buttons button[aria-pressed=true] { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.sector-control label { display: block; margin-bottom: 12px; }
select { background: var(--paper); color: var(--ink); border: 1px solid #a5b6ae; padding: 9px 32px 9px 12px; border-radius: 3px; width: 100%; }
.study-grid { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 44px; padding-top: 30px; align-items: start; }
.ranking-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-bottom: 28px; }
.ranking-heading h2 { font-size: 18px; margin: 0; font-weight: 550; }
.ranking-heading > span { font-size: 12px; color: var(--muted); white-space: nowrap; }
.chart-head, .instrument-row { display: grid; grid-template-columns: minmax(145px,1.2fr) minmax(130px,1.5fr) 85px; gap: 20px; }
.chart-head { padding: 0 12px 12px; font-size: 11px; color: var(--muted); align-items: start; }
.chart-head small { display: block; font-size: 10px; margin-top: 4px; }
.axis { display: flex; justify-content: space-between; font-size: 10px; margin-top: 8px; }
.coverage-heading { text-align: right; }
.instrument-row { position: relative; width: 100%; border: 0; border-bottom: 1px solid var(--line); background: transparent; padding: 12px; color: var(--ink); text-align: left; align-items: center; min-height: 65px; border-radius: 0; }
.instrument-row:hover { background: #ebeee5; }
.instrument-row[aria-pressed=true] { background: #e5ece3; box-shadow: inset 3px 0 var(--teal); }
.instrument-name { font-size: 14px; line-height: 1.3; }
.instrument-name small { display: block; font-size: 10px; color: var(--muted); margin-top: 4px; letter-spacing: .04em; }
.price-track { position: relative; height: 38px; background: linear-gradient(90deg, transparent calc(25% - 1px),#dce1d8 25%, transparent calc(25% + 1px), transparent calc(50% - 1px),#dce1d8 50%, transparent calc(50% + 1px), transparent calc(75% - 1px),#dce1d8 75%, transparent calc(75% + 1px)); }
.price-bar { display: block; position: absolute; height: 10px; top: 23px; width: var(--value); background: var(--teal); }
.tax .price-bar { background: #b05232; }
.price-track .value { position: absolute; top: 0; left: 0; font-size: 14px; font-variant-numeric: tabular-nums; }
.benchmark-line { position: absolute; left: var(--benchmark); top: -13px; bottom: -14px; border-left: 1px dashed #91513d; pointer-events: none; }
.zero-dot { display: block; position: absolute; width: 6px; height: 6px; top: 25px; left: 0; background: var(--teal); border-radius: 50%; }
.coverage-value { font-size: 14px; text-align: right; font-variant-numeric: tabular-nums; }
.mini-track { display: block; height: 3px; margin-top: 8px; background: #d6ded4; }
.mini-fill { display: block; height: 100%; background: #697d70; width: var(--coverage); }
.chart-note { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; font-size: 11px; margin: 24px 0 14px; color: var(--muted); }
.key { display: inline-block; width: 10px; height: 10px; margin-left: 12px; }
.key:first-child { margin-left: 0; }.ets-key { background: var(--teal); }.tax-key { background: #b05232; }
.benchmark-key { height: 13px; border-left: 1px dashed #91513d; margin-left: 14px; }
.small-note { color: var(--muted); font-size: 12px; max-width: 64ch; }
.reading-panel { position: sticky; top: 20px; }
.benchmark-panel { background: var(--ink); color: var(--paper); padding: 24px; }
.benchmark-panel .eyebrow { color: #d2d9cf; }
.benchmark-value { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin: 22px 0 16px; }
.benchmark-value label { font-size: 12px; max-width: 90px; }
.benchmark-value output { font: 44px/1 Georgia,serif; }
input[type=range] { width: 100%; accent-color: #e9b080; cursor: pointer; min-height: 28px; margin: 0; }
.range-labels { display: flex; justify-content: space-between; font-size: 10px; color: #d2d9cf; }
#benchmark-result { font-size: 17px; line-height: 1.4; padding-top: 15px; border-top: 1px solid #586b66; margin-top: 22px; }
#benchmark-note { font-size: 11px; line-height: 1.6; color: #d2d9cf; }
.benchmark-panel .quiet-button { color: var(--paper); border-color: #75847d; font-size: 11px; margin-top: 6px; }
.instrument-panel { padding: 28px 0; border-bottom: 1px solid var(--line); }
.instrument-panel h2 { font-size: 29px; font-weight: 400; margin: 10px 0; line-height: 1.2; }
#detail-meta { color: var(--muted); font-size: 11px; }
.detail-numbers { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 24px 0 16px; }
.detail-numbers strong { font: 34px/1.1 Georgia,serif; display: block; }
.detail-numbers span { font-size: 10px; line-height: 1.4; display: block; margin-top: 8px; color: var(--muted); }
.coverage-strip { height: 7px; background: #d6ded4; }
.coverage-strip span { display: block; height: 100%; background: #697d70; }
#detail-gap { font-size: 14px; }
#detail-note, #detail-sectors, .reading-note p { font-size: 12px; line-height: 1.65; color: var(--muted); }
.instrument-panel a { font-size: 12px; }
.reading-note { margin-top: 25px; }
.download-strip { border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); margin-top: 40px; padding: 24px 0; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.download-strip p { font-size: 17px; margin: 8px 0 0; }.download-strip > div:last-child { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; font-size: 13px; }
.download-strip button { border: 0; background: transparent; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; padding: 8px 0; }
.live-table summary { cursor: pointer; padding: 20px 0; font-size: 13px; }
.table-scroll { overflow-x: auto; max-width: 100%; } table { border-collapse: collapse; width: 100%; font-size: 13px; }td,th { padding: 13px 15px; border-bottom: 1px solid var(--line); text-align: left; }caption { text-align: left; color: var(--muted); padding: 10px 15px; }
.fallback { margin-top: 35px; }.fallback img { width: 100%; height: auto; }.fallback h2 { font-size: 36px; }.fallback p { font-size: 13px; }
.method { display: grid; grid-template-columns: 1fr 2fr; gap: 80px; border-top: 1px solid var(--line); padding-top: 45px; margin-top: 45px; }
.method h2 { font-size: 36px; line-height: 1.1; font-weight: 400; margin: 12px 0 24px; }.method h3 { font-size: 15px; margin: 0 0 10px; }.method p { font-size: 13px; line-height: 1.8; color: var(--muted); margin: 0 0 28px; }
.demo-cta { border-top: 1px solid var(--line); margin-top: 28px; padding: 32px 0 0; display: flex; justify-content: space-between; gap: 30px; align-items: center; }.demo-cta p { font-size: 28px; }.demo-cta a { font-size: 13px; white-space: nowrap; }
@media(max-width:1100px) { .study-grid { grid-template-columns:minmax(0,1fr) 270px; gap:25px; }.chart-head,.instrument-row { grid-template-columns:minmax(120px,1fr) minmax(110px,1.2fr) 64px; gap:12px; }.benchmark-panel { padding:20px; } }
@media(max-width:850px) { .study-grid { grid-template-columns:1fr; }.reading-panel { position:static; display:grid; grid-template-columns:1fr 1fr; gap:25px; }.instrument-panel { padding:20px 0; }.reading-note { grid-column:1/-1; margin:0; }.method { gap:35px; }.carbon-intro h1 { font-size:64px; }.chart-head,.instrument-row { grid-template-columns:minmax(140px,1fr) minmax(150px,1.7fr) 90px; } }
@media(max-width:540px) { .masthead nav a:first-child { display:none; }.carbon-intro { padding:32px 0 20px; gap:12px; align-items:start; }.carbon-intro h1 { font-size:51px; margin:17px 0; }.carbon-intro .eyebrow { font-size:9px; }.edition { display:none; }.deck { font-size:17px; }.editorial-note { font-size:12px; }.carbon-controls { display:block; padding:20px 0; }.type-buttons { gap:6px; }.type-buttons button { font-size:12px; padding:9px 10px; }.sector-control { margin-top:20px; }.reading-panel { display:block; }.ranking-heading { padding-bottom:18px; }.ranking-heading h2 { font-size:16px; }.chart-head { grid-template-columns:1fr 84px; gap:20px; padding-left:12px; }.chart-head > span:first-child { display:none; }.instrument-row { grid-template-columns:1fr 84px; gap:12px 20px; padding-top:14px; padding-bottom:14px; }.instrument-name { grid-column:1/-1; font-size:15px; }.instrument-name small { display:inline; margin-left:9px; }.benchmark-line { top:0; bottom:0; }.price-track { height:36px; }.reading-panel { margin-top:12px; }.benchmark-panel { padding:24px; }.instrument-panel { margin-top:16px; }.download-strip,.demo-cta { align-items:start; flex-direction:column; gap:14px; }.method { grid-template-columns:1fr; gap:12px; }.method h2 br { display:none; }.demo-cta p { margin-bottom:0; font-size:25px; }.chart-note { font-size:10px; gap:6px; } }

#mobile-benchmark:empty { display: none; }
@media(max-width:850px) {
  #mobile-benchmark { margin-top: 24px; }
  #mobile-benchmark .benchmark-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 25px; }
  #mobile-benchmark .benchmark-panel > .eyebrow { grid-column: 1/-1; margin-bottom: 0; }
  #mobile-benchmark .benchmark-value { margin: 8px 0; grid-column: 1/-1; }
  #mobile-benchmark input, #mobile-benchmark .range-labels { grid-column: 1/-1; }
  #mobile-benchmark #benchmark-result { margin: 12px 0 0; }
  #mobile-benchmark #benchmark-note { margin-top: 12px; }
  #mobile-benchmark .quiet-button { justify-self: start; }
}
@media(max-width:540px) {
  #mobile-benchmark .benchmark-panel { display: block; }
  #mobile-benchmark #benchmark-result { font-size: 16px; }
}
