








.research *{box-sizing: border-box;}
.research html{scroll-behavior: smooth; scroll-padding-top: 90px;}
.research body{margin: 0px; background: var(--paper); color: var(--ink); font-family: var(--body); font-size: 16px; line-height: 1.55;}
.research button,.research input,.research select{font: inherit; color: var(--ink);}
.research button,.research a,.research input,.research select,.research summary{-webkit-tap-highlight-color: transparent;}
.research button,.research a,.research summary{touch-action: manipulation;}
.research a{color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px;}
.research button{cursor: pointer;}
.research button:focus-visible,.research a:focus-visible,.research input:focus-visible,.research select:focus-visible,.research summary:focus-visible{outline: 3px solid var(--blue); outline-offset: 4px;}
.research button:hover,.research a:hover{filter: brightness(0.9);}
.research button:disabled{cursor: not-allowed;}
.research h1,.research h2,.research h3,.research p{margin: 0px;}
.research h1,.research h2,.research h3,.research .wordmark,.research .number{font-family: var(--display);}
.research h1,.research h2,.research h3{font-weight: 600;}
.research h2{font-size: clamp(30px, 3.5vw, 46px); line-height: 1.1; letter-spacing: -1.7px;}
.research h3{font-size: 22px; line-height: 1.3; letter-spacing: -0.5px;}
.research p + p{margin-top: 12px;}
.research strong{font-weight: 700;}
.research main{max-width: 1320px; padding: 0px 54px; margin: auto;}
.research .masthead{max-width: 1440px; margin: auto; padding: 25px 54px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); gap: 24px;}
.research .wordmark{font-size: 16px; font-weight: 700; letter-spacing: -0.3px; text-decoration: none; display: flex; align-items: center; gap: 12px;}
.research .brand-mark{font-size: 26px; background: var(--blue); color: white; width: 46px; height: 46px; display: grid; place-content: center;}
.research .masthead nav{display: flex; gap: 28px;}
.research .masthead nav a{font-size: 14px; font-weight: 700; text-decoration: none; padding: 12px 0px;}
.research .masthead nav a:hover{text-decoration: underline;}
.research .edition,.research .eyebrow{font-size: 12px; letter-spacing: 1.7px; font-weight: 700;}
.research .edition{white-space: nowrap;}
.research .hero{padding: 72px 0px 68px; display: grid; grid-template-columns: 1.4fr 1fr; gap: 70px; align-items: center;}
.research .hero h1{font-size: clamp(60px, 7.3vw, 104px); line-height: 0.99; letter-spacing: -6px; margin: 23px 0px;}
.research .hero h1 span{color: var(--blue);}
.research .intro{font-size: 20px; line-height: 1.5; max-width: 520px;}
.research .text-link{display: inline-flex; gap: 20px; font-size: 15px; font-weight: 700; padding: 12px 0px;}
.research .hero .text-link{margin-top: 19px;}
.research .hero-note{background: var(--yellow); padding: 34px; border: 1px solid var(--line);}
.research .hero-note h2{font-size: 34px; letter-spacing: -1.4px; margin: 18px 0px;}
.research .hero-note p{font-size: 15px;}
.research .hero-note .eyebrow{font-size: 11px;}
.research .hero-note a{display: inline-flex; padding-top: 20px; font-weight: 700; font-size: 14px;}
.research .work-equation{display: grid; grid-template-columns: auto 1fr auto auto 1fr; align-items: center; gap: 10px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 18px 0px; margin: 22px 0px 16px;}
.research .work-equation strong{font-family: var(--display); font-size: 36px; line-height: 1;}
.research .work-equation span{font-size: 13px; line-height: 1.2;}
.research .work-equation b{margin: 0px 6px; font-size: 25px;}
.research .hero-note .small{font-size: 13px;}
.research .section{padding: 54px 0px; border-top: 2px solid var(--line); scroll-margin-top: 25px;}
.research .section-heading{margin-bottom: 28px;}
.research .section-heading .eyebrow{color: var(--deep); margin-bottom: 17px;}
.research .section-heading > p:last-child,.research .section-heading > div > p:last-child{margin-top: 14px; max-width: 800px;}
.research .heading-split{display: flex; justify-content: space-between; align-items: end; gap: 24px;}
.research .history-pending{display: grid; grid-template-columns: 1.1fr 1fr; gap: 55px; background: var(--ink); color: rgb(255, 255, 255); padding: 30px 34px;}
.research .label{font-size: 11px; letter-spacing: 1.2px; font-weight: 700; display: inline-block; padding: 6px 8px;}
.research .label.yellow{background: var(--yellow); color: var(--ink);}
.research .history-pending h3{font-size: 29px; margin: 17px 0px 12px;}
.research .history-pending p{font-size: 15px;}
.research .history-rule p{display: flex; flex-direction: column; border-bottom: 1px solid rgb(255, 255, 255); padding: 0px 0px 12px; margin-bottom: 12px;}
.research .history-rule strong{font-size: 12px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 3px;}
.research .history-rule a{display: inline-block; font-size: 13px; font-weight: 700; margin-top: 5px;}
.research .disclosure{border-bottom: 1px solid var(--line);}
.research .disclosure summary{position: relative; list-style: none; padding: 20px 42px 20px 0px; font-size: 14px; font-weight: 700; cursor: pointer;}
.research .disclosure summary::-webkit-details-marker{display: none;}
.research .disclosure summary::after{content: "+"; font-size: 26px; font-weight: 400; position: absolute; right: 4px; top: 10px;}
.research .disclosure[open] summary::after{content: "−";}
.research .details-body{padding: 0px 0px 24px; font-size: 15px;}
.research .details-body p{max-width: 1000px;}
.research .details-body h3{font-size: 20px; margin-bottom: 12px;}
.research .method-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;}
.research .unit-switch{display: flex; flex-shrink: 0; border: 1px solid var(--ink);}
.research .unit-switch button{border: 0px; background: rgb(255, 255, 255); padding: 12px 15px; font-size: 13px; font-weight: 700; min-height: 46px;}
.research .unit-switch button.active{background: var(--ink); color: white;}
.research .comparison-head{display: grid; grid-template-columns: 1.1fr 1.7fr 1fr 1fr; gap: 26px; padding: 16px 0px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 11px; text-transform: uppercase; letter-spacing: 0.9px; font-weight: 700;}
.research .comparison-head span span{display: block; font-size: 10px; letter-spacing: 0px; text-transform: none;}
.research .chain-row{display: grid; grid-template-columns: 1.1fr 1.7fr 1fr 1fr; gap: 26px; align-items: center; padding: 23px 0px; border-bottom: 1px solid var(--line); min-height: 108px;}
.research .chain-name{display: flex; gap: 12px; align-items: center;}
.research .chain-icon{width: 36px; height: 36px; flex-shrink: 0; display: grid; place-items: center; font-size: 19px; font-weight: 700; color: rgb(255, 255, 255); background: var(--ink);}
.research .chain-name h3{font-size: 19px; letter-spacing: -0.5px;}
.research .evidence-type{display: block; font-size: 11px; font-weight: 700; margin-top: 2px; text-transform: uppercase; letter-spacing: 0.5px;}
.research .fee-value{display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-family: var(--display); font-size: 24px; font-weight: 600; line-height: 1.2;}
.research .relative{font-family: var(--body); font-size: 11px; font-weight: 700; white-space: nowrap;}
.research .bar-track{height: 6px; margin-top: 9px; background: rgb(234, 240, 255);}
.research .bar-fill{height: 100%; background: var(--blue); transition: width 0.2s;}
.research .native-value{font-variant-numeric: tabular-nums; font-size: 16px; font-weight: 700; overflow-wrap: anywhere;}
.research .native-value small,.research .work-value small{display: block; font-size: 12px; font-weight: 500; margin-top: 4px;}
.research .work-value{font-size: 15px; font-weight: 700;}
.research .table-note{display: grid; grid-template-columns: 1.6fr 1fr; gap: 40px; font-size: 13px; margin: 18px 0px 30px;}
.research .price-strip{display: flex; align-items: center; gap: 35px; background: var(--lightblue); padding: 22px 26px; border: 1px solid var(--ink);}
.research .price-strip .eyebrow{font-size: 10px; margin-bottom: 8px;}
.research .price-strip select{padding: 8px 28px 8px 10px; min-height: 44px; font-size: 14px;}
.research .price-tokens{display: grid; grid-template-columns: repeat(4, 1fr); gap: 35px; flex: 1 1 0%;}
.research .price-tokens span{display: block; font-size: 11px; font-weight: 700;}
.research .price-tokens strong{font-family: var(--display); font-size: 21px; white-space: nowrap;}
.research .scale-section{background: var(--blue); color: rgb(255, 255, 255); margin: 0px -54px; padding: 48px 54px; border-top: 0px;}
.research .scale-section .eyebrow{color: rgb(255, 255, 255);}
.research .scale-section .section-heading p{max-width: 660px;}
.research .scenario-controls{display: grid; grid-template-columns: 1.4fr 0.65fr 0.8fr 1.2fr; align-items: start; gap: 24px; padding: 28px 0px; border-top: 1px solid rgb(255, 255, 255); border-bottom: 1px solid rgb(255, 255, 255); margin-top: 28px;}
.research label{display: block; font-size: 12px; font-weight: 700; margin-bottom: 9px;}
.research input,.research select{width: 100%; border: 1px solid var(--ink); border-radius: 0px; background: rgb(255, 255, 255); min-height: 48px; padding: 10px 12px; font-size: 16px; font-variant-numeric: tabular-nums;}
.research .volume-control input{font-size: 25px; font-family: var(--display); font-weight: 600; padding: 8px 12px; line-height: 1;}
.research .input-unit{display: flex; background: rgb(255, 255, 255); color: var(--ink); align-items: center; border: 1px solid var(--ink);}
.research .input-unit input{border: 0px; min-width: 0px;}
.research .input-unit span{padding-right: 15px; font-weight: 700;}
.research .presets{display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px;}
.research .presets button{font-size: 12px; border: 1px solid rgb(255, 255, 255); padding: 6px 11px; min-height: 36px; background: var(--blue); color: rgb(255, 255, 255); font-weight: 700;}
.research .presets button.active{background: var(--yellow); color: var(--ink); border-color: var(--yellow);}
.research .scenario-context{border-left: 1px solid rgb(255, 255, 255); padding-left: 22px;}
.research .scenario-context strong{display: block; font: 600 28px/1.1 var(--display);}
.research .scenario-context span{font-size: 12px; display: block; margin: 3px 0px 15px;}
.research .scenario-context span:last-child{margin-bottom: 0px;}
.research .projection-wrap{overflow-x: auto; margin-top: 18px;}
.research .projection-table{width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums;}
.research .projection-table th{font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; text-align: right; padding: 14px 16px 14px 0px; border-bottom: 1px solid rgb(255, 255, 255);}
.research .projection-table td{padding: 19px 16px 19px 0px; border-bottom: 1px solid rgb(255, 255, 255); font-size: 17px; font-weight: 600; text-align: right; vertical-align: middle;}
.research .projection-table th:first-child,.research .projection-table td:first-child{text-align: left;}
.research .projection-table th:last-child,.research .projection-table td:last-child{text-align: left; padding-left: 24px; padding-right: 0px;}
.research .projection-table td:last-child{font-size: 13px; min-width: 200px;}
.research .projection-table small{display: block; font-size: 11px; font-weight: 500; margin-top: 4px;}
.research .capacity-status{display: inline-flex; gap: 6px; align-items: center;}
.research .capacity-dot{display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--yellow);}
.research .projection-note{margin-top: 16px; font-size: 13px; max-width: 920px;}
.research .scale-section .disclosure{border-color: rgb(255, 255, 255);}
.research .advanced-controls{display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 20px;}
.research .advanced-controls label{min-height: 37px;}
.research .scale-section .details-body{font-size: 13px;}
.research .section-actions{display: flex; gap: 12px; margin-top: 22px;}
.research .button{display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 11px 18px; font-size: 13px; font-weight: 700; text-decoration: none; border: 1px solid var(--ink);}
.research .button.solid{background: var(--yellow); color: var(--ink); border-color: var(--yellow);}
.research .button.outline{border-color: rgb(255, 255, 255); background: transparent; color: rgb(255, 255, 255);}
.research .performance-grid{display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line);}
.research .performance-card{padding: 24px 20px; border-right: 1px solid var(--line);}
.research .performance-card:last-child{border: 0px;}
.research .performance-card h3{font-size: 18px; margin-bottom: 23px;}
.research .performance-value{font: 600 26px/1.1 var(--display); white-space: nowrap;}
.research .performance-card .metric-label{font-size: 11px; font-weight: 700; margin: 5px 0px 20px; min-height: 34px;}
.research .performance-card p{font-size: 13px;}
.research .performance-card a{display: inline-block; font-size: 12px; font-weight: 700; padding-top: 15px;}
.research .performance-card .footnote{font-size: 11px; margin-top: 10px;}
.research .evidence-section{padding-bottom: 54px;}
.research .evidence-links{display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line);}
.research .evidence-links > a{padding: 21px 0px; display: grid; grid-template-columns: 28px 1fr; column-gap: 12px; border-bottom: 1px solid var(--line); text-decoration: none;}
.research .evidence-links > a:nth-child(2n+1){margin-right: 34px;}
.research .evidence-links a > span:first-child{font-size: 11px; font-weight: 700; padding-top: 4px; color: var(--deep);}
.research .evidence-links strong{font-size: 17px;}
.research .evidence-links a > span:last-child{grid-column: 2; font-size: 13px; margin-top: 4px;}
.research .evidence-links a:hover strong{text-decoration: underline;}
.research .source-list{display: grid; grid-template-columns: 1fr 1fr; gap: 10px 30px; margin-top: 18px; font-size: 13px;}
.research .source-list a{display: block; line-height: 1.5;}
.research footer{border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1440px; margin: auto; padding: 30px 54px;}
.research footer p,.research footer > a:last-child{font-size: 12px;}
.research footer > a:last-child{font-weight: 700;}
.research .sr-only{position: absolute; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; border: 0px;}
.research .small{font-size: 13px;}
.research .history-kpis{display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 22px 0px;}
.research .history-kpis strong{font: 600 40px var(--display); display: block;}
.research .history-kpis span{font-size: 13px;}
.research .history-chart{display: flex; gap: 8px; height: 190px; align-items: end; border-bottom: 1px solid var(--ink);}
.research .history-bar{background: var(--blue); flex: 1 1 0%; position: relative; min-height: 1px;}
.research .history-bar:hover{background: var(--deep);}
.research .history-chart-caption{display: flex; justify-content: space-between; font-size: 12px; margin-top: 10px;}
@media (min-width: 1500px){.research .hero h1{font-size: 110px;}
.research .hero{gap: 95px;}}
@media (max-width: 1050px){.research main{padding: 0px 30px;}
.research .masthead{padding: 20px 30px;}
.research .edition{display: none;}
.research .hero{gap: 35px; padding-top: 52px;}
.research .hero h1{letter-spacing: -4px;}
.research .hero-note{padding: 26px;}
.research .work-equation{gap: 7px;}
.research .work-equation strong{font-size: 29px;}
.research .comparison-head,.research .chain-row{grid-template-columns: 1.1fr 1.4fr 1fr 0.85fr; gap: 18px;}
.research .scale-section{margin: 0px -30px; padding: 42px 30px;}
.research .performance-grid{grid-template-columns: repeat(3, 1fr);}
.research .performance-card{border-bottom: 1px solid var(--ink);}
.research .performance-card:nth-child(3){border-right: 0px;}
.research .performance-card:nth-child(4){border-bottom: 0px;}
.research .performance-card:last-child{border-right: 1px solid var(--ink);}
.research .price-tokens{gap: 20px;}
.research .price-tokens strong{font-size: 18px;}
.research .scenario-controls{grid-template-columns: 1.2fr 0.7fr 0.8fr;}
.research .scenario-context{grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr auto 1fr; gap: 12px; border: 0px; padding: 0px; align-items: center;}
.research .scenario-context span{margin: 0px;}
.research .heading-split{align-items: start; flex-direction: column;}
.research .method-grid{gap: 24px;}
.research .projection-table td{font-size: 15px;}
.research footer{padding: 30px;}}
@media (max-width: 720px){.research html{scroll-padding-top: 20px;}
.research main{padding: 0px 22px;}
.research .masthead{padding: 15px 22px; align-items: center;}
.research .wordmark{font-size: 13px; gap: 8px;}
.research .brand-mark{width: 33px; height: 33px; font-size: 20px;}
.research .masthead nav{gap: 16px;}
.research .masthead nav a{font-size: 12px;}
.research .masthead nav a:nth-child(3),.research .masthead nav a:nth-child(4){display: none;}
.research .hero{grid-template-columns: 1fr; padding: 40px 0px; gap: 30px;}
.research .hero h1{font-size: clamp(62px, 12.8vw, 91px); letter-spacing: -4.6px; margin: 18px 0px;}
.research .intro{font-size: 18px; max-width: 500px;}
.research .hero-note{padding: 25px;}
.research .hero-note h2{font-size: 29px;}
.research .hero-note .work-equation{max-width: 400px;}
.research .hero-note h2 br{display: none;}
.research .section{padding: 36px 0px;}
.research .section-heading{margin-bottom: 24px;}
.research h2{font-size: 32px; letter-spacing: -1.2px;}
.research .section-heading p{font-size: 14px;}
.research .eyebrow{font-size: 10px;}
.research .history-pending{grid-template-columns: 1fr; gap: 25px; padding: 25px;}
.research .history-pending h3{font-size: 25px;}
.research .history-rule p{font-size: 13px;}
.research .method-grid{grid-template-columns: 1fr; gap: 20px;}
.research .unit-switch{width: 100%;}
.research .unit-switch button{flex: 1 1 0%;}
.research .comparison-head{display: none;}
.research .chain-row{grid-template-columns: 1fr 1.2fr; gap: 15px 25px; padding: 22px 0px;}
.research .chain-row:first-child{border-top: 1px solid var(--ink);}
.research .chain-name h3{font-size: 18px;}
.research .chain-icon{width: 31px; height: 31px; font-size: 16px;}
.research .chain-name{gap: 9px;}
.research .fee-value{font-size: 23px; flex-wrap: wrap; gap: 3px;}
.research .relative{font-size: 10px;}
.research .native-value{font-size: 14px; padding-left: 40px;}
.research .native-value small,.research .work-value small{font-size: 11px;}
.research .work-value{font-size: 13px;}
.research .table-note{grid-template-columns: 1fr; gap: 14px;}
.research .price-strip{padding: 20px; flex-direction: column; gap: 20px; align-items: stretch;}
.research .price-strip > div:first-child{display: flex; align-items: center; gap: 20px;}
.research .price-strip .eyebrow{margin: 0px; width: 110px;}
.research .price-strip select{max-width: 240px;}
.research .price-tokens{grid-template-columns: repeat(4, 1fr); gap: 10px;}
.research .price-tokens strong{font-size: 16px;}
.research .scale-section{margin: 0px -22px; padding: 36px 22px;}
.research .scenario-controls{grid-template-columns: 1fr 1fr; gap: 20px;}
.research .volume-control{grid-column: 1 / -1;}
.research .scenario-context{grid-template-columns: auto 1fr; gap: 8px 14px;}
.research .scenario-context span{font-size: 12px;}
.research .scenario-context strong{font-size: 24px;}
.research .presets button{min-height: 44px;}
.research .projection-wrap{overflow: visible;}
.research .projection-table,.research .projection-table tbody{display: block;}
.research .projection-table thead{display: none;}
.research .projection-table tr{display: grid; grid-template-columns: 1fr 1fr; gap: 16px 25px; border-bottom: 1px solid rgb(255, 255, 255); padding: 23px 0px;}
.research .projection-table td{border: 0px; padding: 0px; text-align: left; display: block; font-size: 22px;}
.research .projection-table td:first-child{grid-column: 1 / -1; font-size: 19px; font-family: var(--display);}
.research .projection-table td::before{content: attr(data-label); display: block; font-size: 10px; font-weight: 500; letter-spacing: 0.5px; margin-bottom: 3px; text-transform: uppercase;}
.research .projection-table td:first-child::before{display: none;}
.research .projection-table th:last-child,.research .projection-table td:last-child{padding: 0px; min-width: 0px; font-size: 12px;}
.research .projection-table td:nth-child(4){font-size: 15px;}
.research .projection-table small{font-size: 11px;}
.research .advanced-controls{grid-template-columns: 1fr 1fr; gap: 20px 16px;}
.research .advanced-controls label{font-size: 11px;}
.research .section-actions{flex-wrap: wrap;}
.research .button{flex: 1 1 0%; white-space: nowrap; font-size: 12px; padding: 12px;}
.research .performance-grid{grid-template-columns: 1fr 1fr;}
.research .performance-card{padding: 23px 20px;}
.research .performance-card:nth-child(2n){border-right: 0px;}
.research .performance-card:nth-child(3){border-right: 1px solid var(--ink);}
.research .performance-card:nth-child(4){border-bottom: 1px solid var(--ink);}
.research .performance-card:last-child{border-bottom: 0px; border-right: 1px solid var(--ink);}
.research .performance-value{font-size: 25px;}
.research .performance-card .metric-label{margin-bottom: 12px;}
.research .performance-card h3{margin-bottom: 17px;}
.research .evidence-links{grid-template-columns: 1fr;}
.research .evidence-links > a:nth-child(2n+1){margin-right: 0px;}
.research .source-list{grid-template-columns: 1fr;}
.research .disclosure summary{font-size: 13px;}
.research .details-body{font-size: 14px;}
.research footer{padding: 25px 22px; flex-wrap: wrap;}
.research footer p{margin: 0px; font-size: 11px;}
.research footer > a:last-child{width: 100%;}
.research .history-kpis{grid-template-columns: 1fr;}
.research .history-chart{gap: 4px;}}
@media (prefers-reduced-motion: reduce){.research html{scroll-behavior: auto;}
.research *{transition: none !important;}}
@media print{.research .masthead nav,.research .unit-switch,.research .scenario-controls,.research .advanced-controls,.research .section-actions,.research details,.research footer{display: none !important;}
.research .hero{padding: 20px 0px;}
.research .hero h1{font-size: 60px;}
.research .section{padding: 20px 0px;}
.research .scale-section{color: rgb(16, 16, 16); background: white; margin: 0px; padding: 20px 0px;}
.research .scale-section .eyebrow{color: rgb(16, 16, 16);}
.research .projection-table td,.research .projection-table th{border-color: rgb(16, 16, 16);}
.research .history-pending{background: white; color: rgb(16, 16, 16); border: 1px solid rgb(16, 16, 16);}
.research .history-rule p{border-color: rgb(16, 16, 16);}
.research .bar-fill{print-color-adjust: exact;}
.research .performance-grid{grid-template-columns: repeat(5, 1fr);}
.research a{text-decoration: none;}}
.research .history-toolbar,.research .chart-toolbar{display: flex; justify-content: space-between; align-items: center; gap: 20px;}
.research .history-toolbar select,.research .chart-toolbar select{width: auto; font-size: 13px;}
.research .history-toolbar{padding-bottom: 18px; border-bottom: 1px solid var(--ink);}
.research .history-kpis{margin: 25px 0px 35px;}
.research .history-kpis strong{font-size: clamp(27px, 3vw, 42px); letter-spacing: -1.7px;}
.research .chart-toolbar{margin: 10px 0px 20px;}
.research .chart-toolbar h3{font-size: 19px;}
.research .history-chart{position: relative;}
.research .history-bar{border: 0px; padding: 0px; min-width: 0px; cursor: pointer;}
.research .history-bar span{display: none; position: absolute; bottom: calc(100% + 10px); left: 50%; transform: translateX(-50%); z-index: 2; background: var(--ink); color: rgb(255, 255, 255); font-size: 12px; line-height: 1.5; padding: 10px 12px; min-width: 135px; text-align: center; pointer-events: none;}
.research .history-bar:hover span,.research .history-bar:focus span{display: block;}
.research .history-highlight{background: var(--yellow); padding: 16px 20px; margin-top: 25px; font-size: 14px; border: 1px solid var(--ink);}
.research .history-footer{display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-top: 20px;}
.research .history-footer p{font-size: 13px; max-width: 710px;}
.research .history-footer a{font-size: 13px; white-space: nowrap;}
.research .history-detail-wrap{overflow: auto;}
.research .history-detail-table{border-collapse: collapse; width: 100%; font-size: 13px; font-variant-numeric: tabular-nums; margin-bottom: 18px;}
.research .history-detail-table th,.research .history-detail-table td{text-align: right; padding: 12px; border-bottom: 1px solid var(--ink); white-space: nowrap;}
.research .history-detail-table th:first-child,.research .history-detail-table td:first-child{text-align: left; padding-left: 0px;}
.research .history-detail-table th{font-size: 11px;}
.research .history-complete .small{margin: 18px 0px 20px;}
.research .history-bar:nth-child(-n+3) span{left: 0px; transform: none;}
.research .history-bar:nth-last-child(-n+3) span{left: auto; right: 0px; transform: none;}
@media (max-width: 720px){.research .history-toolbar,.research .history-footer{align-items: start; flex-direction: column; gap: 14px;}
.research .history-toolbar .label{font-size: 9px;}
.research .history-kpis{grid-template-columns: 1fr 1fr; gap: 20px;}
.research .history-kpis strong{font-size: 29px; letter-spacing: -1px;}
.research .history-kpis span{font-size: 11px;}
.research .history-kpis > div:last-child{grid-column: 1 / -1;}
.research .history-chart{height: 150px;}
.research .chart-toolbar h3{font-size: 15px;}
.research .chart-toolbar select{max-width: 175px; font-size: 12px;}
.research .history-footer a{padding-top: 0px;}
.research .history-bar span{min-width: 105px; font-size: 10px;}}
.research .presets button{min-width: 44px;}
@media (max-width: 720px){.research .native-value{padding-left: 0px; white-space: nowrap;}
.research .native-value small{white-space: normal;}}
.research .census-progress{display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-top: 0px; padding: 20px 25px;}
.research .census-progress strong{font: 600 26px var(--display); display: block;}
.research .census-progress span{font-size: 12px; display: block;}
.research .census-progress p{grid-column: 1 / -1; font-size: 11px; border-top: 1px solid var(--ink); padding-top: 12px;}
@media (max-width: 720px){.research .census-progress{grid-template-columns: 1fr 1fr; padding: 20px; gap: 16px;}
.research .census-progress strong{font-size: 24px;}
.research .census-progress > div:first-child{grid-column: 1 / -1;}
.research .census-progress span{font-size: 11px;}}
.research .completed-months{margin: 26px 0px 4px;}
.research .completed-months h3{font-size: 19px; margin-bottom: 12px;}
.research .completed-months .text-link{font-size: 13px;}
.research .completed-months .history-detail-table{margin-bottom: 12px;}
.research .core-controls{display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 24px 0px;}
.research .core-controls label{display: block; font-size: 12px; font-weight: 700; margin-bottom: 8px;}
.research .core-results{display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; background: var(--yellow); color: var(--ink); padding: 22px; border: 1px solid var(--ink); margin-bottom: 16px;}
.research .core-results span{display: block; font-size: 12px;}
.research .core-results strong{display: block; font: 600 28px var(--display); margin-top: 5px;}
.research .core-results small{font: 700 12px var(--body);}
.research .hypercore-model .small{font-size: 13px; margin-top: 14px;}
@media (max-width: 720px){.research .core-controls{grid-template-columns: 1fr 1fr; gap: 16px;}
.research .core-results{grid-template-columns: 1fr; padding: 20px; gap: 16px;}
.research .core-results > div + div{border-top: 1px solid var(--ink); padding-top: 16px;}
.research .core-controls label{font-size: 11px;}}
.research .september-scenario{margin: 20px 0px; font-size: 11px; color: var(--deep);}
.research .september-table{width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums;}
.research .september-table th,.research .september-table td{border-bottom: 1px solid var(--ink); padding: 20px 13px; text-align: right; vertical-align: top;}
.research .september-table th:first-child{text-align: left; padding-left: 0px;}
.research .september-table thead th{font-size: 10px; text-transform: uppercase; letter-spacing: 0.6px; border-top: 1px solid var(--ink);}
.research .september-table tbody th{font-size: 16px; min-width: 175px;}
.research .september-table small{display: block; font-size: 11px; line-height: 1.4; font-weight: 400; max-width: 175px; margin-top: 6px;}
.research .september-table td small{margin-left: auto;}
.research .september-table tbody tr:last-child td:nth-child(2) small{color: var(--red); font-weight: 700;}
.research .september-section .section-heading > div > p:last-child{font-size: 15px; max-width: 720px;}
.research .september-section .section-heading{align-items: end;}
.research .september-table-wrap{overflow: auto;}
@media (max-width: 720px){.research .september-table thead{display: none;}
.research .september-table tr{display: grid; grid-template-columns: 1fr 1fr; gap: 0px 18px; border-bottom: 1px solid var(--ink); padding: 16px 0px;}
.research .september-table th,.research .september-table td{border: 0px; text-align: left; padding: 10px 0px;}
.research .september-table tbody th{grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; gap: 15px;}
.research .september-table th small{margin: 0px; max-width: 160px; text-align: right;}
.research .september-table td::before{content: attr(data-label); display: block; font-size: 10px; margin-bottom: 6px;}
.research .september-table td small{margin-left: 0px;}
.research .september-table td{font-size: 15px;}
.research .september-table tbody tr:last-child td:nth-child(2) small{font-size: 11px;}
.research .september-section .heading-split{align-items: start; flex-direction: column;}}
.research .history-chart{gap: 4px; overflow: auto hidden; align-items: stretch; padding-top: 5px;}
.research .history-bar{flex: 1 0 44px; min-width: 44px; height: 100%; min-height: 44px; background: transparent;}
.research .history-bar::after{content: ""; position: absolute; bottom: 0px; left: 0px; right: 0px; height: max(1px,var(--bar-height)); background: var(--blue); pointer-events: none;}
.research .history-bar:hover,.research .history-bar:focus{background: var(--lightblue); filter: none;}
.research .history-bar:hover::after,.research .history-bar:focus::after{background: var(--deep);}
.research .history-bar span,.research .history-bar:hover span,.research .history-bar:focus span{display: none;}
.research .history-bar:focus-visible{outline-offset: -3px;}
.research #historySelected{font-weight: 700; min-height: 21px; margin: 12px 0px 0px;}
@media (max-width: 720px){.research .history-chart-caption{font-size: 10px; gap: 8px;}}
.research .history-detail-table td small{display: block; font-size: 11px;}
/* Research tools inherit the approved A + C design while retaining their controls. */
.research {min-width:0}
.research .section {padding:40px 0;border:0;margin:0;background:var(--bg);color:var(--ink)}
.research h2,.research h3 {font-family:var(--display);font-weight:800;letter-spacing:-.04em}
.research h2 {font-size:clamp(30px,3.1vw,46px)}
.research .section-heading {margin-bottom:28px}
.research .section-heading .eyebrow {font-size:14px;color:var(--muted);letter-spacing:.09em;margin-bottom:14px}
.research p,.research .details-body {font-size:17px;line-height:1.55}
.research .small,.research .table-note,.research .footnote,.research .projection-note,.research .history-footer p {font-size:15px;line-height:1.5}
.research label,.research .metric-label {font-size:15px}
.research input,.research select {border-color:var(--line);border-radius:3px;color:var(--ink);background:var(--bg);font-size:16px;min-height:48px}
.research .disclosure {border-color:var(--line)}
.research .disclosure summary {font-size:17px;min-height:48px}
.research .unit-switch {border-color:var(--line);border-radius:3px;overflow:hidden}
.research .unit-switch button,.research .presets button {font-size:15px;min-height:44px;background:var(--bg);color:var(--ink);border-color:var(--line)}
.research .unit-switch button.active,.research .presets button.active {background:var(--green);color:white;border-color:var(--green)}
.research .price-strip,.research .history-highlight,.research .core-results {background:var(--soft);color:var(--ink);border-color:var(--line);border-radius:0}
.research .price-strip {margin-top:24px}
.research .price-strip .eyebrow,.research .price-tokens span {font-size:14px}
.research .price-tokens strong {font-family:var(--mono);font-size:20px;font-weight:400}
.research .comparison-head,.research .evidence-type,.research .relative {font-size:14px;text-transform:none;letter-spacing:0}
.research .comparison-head span span {font-size:14px}
.research .chain-name {font-size:20px;font-weight:700}
.research .chain-name h3 {font-size:23px}
.research .chain-row {border-color:var(--line)}
.research .chain-icon {background:var(--green);font-family:var(--display)}
.research .fee-value {font-family:var(--mono);font-weight:400;font-size:22px}
.research .relative {font-family:var(--body);font-weight:400}
.research .bar-track {background:var(--soft)}
.research .bar-fill {background:var(--green)}
.research .native-value,.research .work-value {font-size:17px;font-weight:400}
.research .native-value small,.research .work-value small {font-size:14px}
.research .scenario-controls {border-color:var(--line)}
.research .scenario-context {border-color:var(--line)}
.research .scenario-context span {font-size:14px}
.research .scale-section .eyebrow {color:var(--muted)}
.research .scale-section .disclosure {border-color:var(--line)}
.research .projection-table th,.research .projection-table td {border-color:var(--line);color:var(--ink)}
.research .projection-table th {font-size:14px}
.research .projection-table td {font-size:17px}
.research .projection-table small,.research .capacity-status {font-size:14px;line-height:1.4}
.research .capacity-dot {display:none}
.research .advanced-controls label {font-size:15px}
.research .input-unit {border-color:var(--line);border-radius:3px}
.research .section-actions {gap:16px}
.research .button {border-radius:3px;min-height:44px;font-size:15px}
.research .button.solid {background:var(--green);color:#fff;border-color:var(--green)}
.research .button.outline {background:var(--bg);color:var(--ink);border-color:var(--line)}
.research .performance-grid {grid-template-columns:repeat(3,1fr);gap:24px}
.research .performance-card {padding:20px 0;border:0;border-top:1px solid var(--line)}
.research .performance-card p,.research .performance-card .footnote {font-size:16px}
.research .performance-card a {font-size:15px}
.research .performance-value {font-family:var(--display);font-weight:700;color:var(--green)}
.research .history-toolbar,.research .chart-toolbar {flex-wrap:wrap;border-color:var(--line)}
.research .history-toolbar select,.research .chart-toolbar select {font-size:15px;max-width:100%}
.research .label.yellow {background:var(--soft);font-size:14px;letter-spacing:.03em;padding:8px 10px}
.research .history-kpis {display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.research .history-kpis strong {font-family:var(--display);font-weight:700;font-size:clamp(30px,3vw,42px)}
.research .history-kpis span {font-size:15px;line-height:1.4}
.research .history-highlight {font-size:17px}
.research .history-chart-caption {font-size:14px}
.research .history-detail-table {font-size:15px}
.research .history-detail-table th {font-size:14px}
.research .history-detail-table th,.research .history-detail-table td {border-color:var(--line)}
.research .history-footer {align-items:start;flex-wrap:wrap}
.research .history-footer a {font-size:15px}
.research .history-bar:after {background:var(--green)}
.research .history-bar:hover:after,.research .history-bar:focus-visible:after {background:var(--orange)}
.research .history-bar:hover,.research .history-bar:focus {background:transparent}
.research .history-bar span {font-size:14px}
.research .core-controls label,.research .core-results span,.research .core-results small {font-size:15px}
.research .hypercore-model .small {font-size:15px}
.research .september-table {font-size:16px}
.research .september-table thead th,.research .september-table small,.research .september-scenario {font-size:14px;text-transform:none;letter-spacing:0}
.research .september-table th,.research .september-table td {border-color:var(--line)}
.research .september-table tbody tr:last-child td:nth-child(2) small {font-size:14px;color:var(--warning)}
.research .evidence-links a {border-color:var(--line);background:var(--bg);min-height:110px}
.research .evidence-links a span {font-size:15px}
.research .evidence-links a strong {font-family:var(--display);font-size:23px;font-weight:700}
.research .source-list a {font-size:16px;border-color:var(--line)}
.research button:focus-visible,.research a:focus-visible,.research input:focus-visible,.research select:focus-visible,.research summary:focus-visible {outline-color:var(--orange)}
.research .text-link {font-size:16px}
.extended {margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0}
.extended>summary {padding:20px 0;min-height:48px;font-size:18px}
.extended+.extended {margin-top:0;border-top:0}
#history {border-bottom:1px solid var(--line);padding:68px 0}
#evidence {padding:68px 0;border-bottom:1px solid var(--line)}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link {position:absolute;top:-80px;left:20px;z-index:20;padding:12px 20px;background:var(--green);color:white}
.skip-link:focus {top:12px}
@media(max-width:1000px){.research .comparison-head,.research .chain-row {grid-template-columns:1.1fr 1.5fr 1fr 1fr;gap:20px}.research .fee-value {font-size:20px;flex-wrap:wrap}.research .scenario-controls {grid-template-columns:1fr 1fr}.research .method-grid {grid-template-columns:1fr 1fr}.research .core-controls {grid-template-columns:1fr 1fr}}
@media(max-width:720px){.site-header nav a:first-child {display:block}.site-header nav a[href="#history"] {display:none}.research .section {padding:26px 0}.research .heading-split {display:block}.research .unit-switch {margin-top:20px;width:fit-content}.research .comparison-head {display:none}.research .chain-row {grid-template-columns:1fr 1fr;gap:18px;min-height:0;padding:24px 0}.research .chain-name {grid-column:1/-1}.research .fee-value {font-size:22px}.research .native-value {white-space:nowrap}.research .native-value small {white-space:normal}.research .chain-row>div:last-child {grid-column:1/-1}.research .price-strip {display:block;padding:20px}.research .price-tokens {gap:20px;margin-top:20px;grid-template-columns:1fr 1fr}.research .scenario-controls {grid-template-columns:1fr 1fr;gap:20px}.research .volume-control {grid-column:1/-1}.research .scenario-context {grid-column:1/-1;padding:0;border:0}.research .scenario-context strong {font-size:28px}.research .projection-table td:before {font-size:14px}.research .advanced-controls {grid-template-columns:1fr 1fr}.research .performance-grid,.research .method-grid {grid-template-columns:1fr}.research .history-kpis {grid-template-columns:1fr;gap:22px}.research .history-kpis>div:last-child {grid-column:auto}.research .history-kpis strong {font-size:38px}.research .history-toolbar .label {font-size:14px}.research .chart-toolbar {display:block}.research .chart-toolbar h3 {font-size:22px;margin-bottom:12px}.research .chart-toolbar select {max-width:none;width:100%}.research .history-chart {height:180px}.research .history-chart-caption {font-size:13px}.research .core-results {grid-template-columns:1fr}.research .september-table td:before {font-size:14px}.research .september-table th small {font-size:14px}.research .evidence-links {grid-template-columns:1fr}.research .evidence-links a {min-height:100px}.research .source-list {grid-template-columns:1fr}#history,#evidence {padding:46px 0}.extended>summary {font-size:17px}.sample-costs {flex-wrap:wrap}.footer a {display:inline-block;padding:8px 0}}
@media(prefers-reduced-motion:reduce){.research *{transition:none!important}}

/* Keep the slider and assumptions disclosure usable as touch targets. */
#workloadScale {height:44px;min-height:44px;color:var(--ink)}
#compare>details>summary {min-height:44px;padding:12px 0}

/* Five-chain comparison: the monthly gas model and the decoded order sample. */
[hidden] { display: none !important; }
.comparison-basis { display:flex; flex-wrap:wrap; gap:10px; margin:26px 0; }
.comparison-basis button { min-height:44px; padding:10px 18px; border:1px solid var(--line); border-radius:3px; background:var(--paper); color:var(--ink); font:600 16px/1.35 var(--body); cursor:pointer; }
.comparison-basis button[aria-pressed="true"] { background:var(--green); color:white; border-color:var(--green); }
.comparison-basis button:hover { background:var(--soft); }
.comparison-basis button[aria-pressed="true"]:hover { background:var(--green); }
.sample-scope { padding:18px 0; margin:0 0 28px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-size:17px; max-width:1000px; }
#compare .matrix { grid-template-columns:repeat(5,minmax(0,1fr)); column-gap:24px; }
#compare .matrix-card { min-width:0; }
#compare .matrix-card::before { left:-12px; }
#compare .chain-name { font-size:24px; }
#compare .quote { font-size:clamp(22px,2vw,28px); }
#compare .quote.unavailable { font-family:var(--display); font-size:24px; letter-spacing:-.04em; line-height:1.35; }
#compare .unit-line { display:block; min-height:78px; }
#compare .unit-line strong, #compare .unit-line span { display:block; }
#compare .capacity-copy { display:block; }
#compare .capacity-copy span { display:block; }
.solana-explanation { font-size:16px; line-height:1.45; margin:22px 0; }
.sample-link { min-height:44px; padding:10px 12px; font:600 15px/1.35 var(--body); color:var(--green); background:var(--paper); border:1px solid var(--green); border-radius:3px; text-align:left; cursor:pointer; }
.sample-link:hover { background:var(--soft); }
.native-sample strong { display:block; font:400 15px/1.5 var(--mono); margin:8px 0 12px; overflow-wrap:anywhere; }
#sampleBasisNote { margin-top:24px; max-width:1000px; }
@media (min-width:600px) and (max-width:1199px) {
  #compare .matrix { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 26px; }
  #compare .matrix-card::before { left:-13px; display:block; }
  #compare .matrix-card:nth-child(odd)::before { display:none; }
  #compare .quote { font-size:30px; }
  #compare .unit-line { display:flex; min-height:0; }
  #compare .capacity-copy { display:flex; }
  #compare .solana-unavailable { grid-column:1/-1; border-top:1px solid var(--line); padding-top:24px; }
  .sample-link { width:fit-content; }
}
@media (max-width:599px) {
  #compare .matrix { grid-template-columns:1fr; }
  #compare .matrix-card::before { display:none; }
  #compare .quote { font-size:32px; }
  #compare .unit-line { display:flex; min-height:0; }
  #compare .capacity-copy { display:flex; }
  .comparison-basis button, .sample-link { width:100%; }
}
#solanaEstimateNote { margin-top:20px; max-width:1000px; }

/* A shared zero baseline makes fees comparable in one view and one screenshot. */
.monthly-receipt { background:var(--bg); border-top:1px solid var(--line); padding:20px 0; gap:28px; margin:28px 0; }
.monthly-receipt .stat .number { font-size:34px; }
.monthly-receipt .stat .number small { font-size:20px; }
.monthly-receipt .eyebrow { letter-spacing:.04em; }
.monthly-receipt .stat:first-child .eyebrow { max-width:240px; }
#totalReceipt .stat:last-child .number small { font-size:20px; }
.fee-chart { --chart-label:160px; --chart-value:200px; margin:32px 0 0; padding:28px; border:1px solid var(--line); background:var(--bg); }
.fee-chart-header { display:flex; justify-content:space-between; gap:28px; align-items:start; margin-bottom:26px; }
.fee-chart-header .eyebrow { margin-bottom:9px; letter-spacing:.06em; }
.fee-chart-header h3 { font-size:28px; line-height:1.15; }
#feeChartSubtitle { font-size:17px; color:var(--muted); margin-top:8px; }
#exportFeeChart { min-height:44px; flex-shrink:0; padding:10px 16px; }
.fee-axis { padding:0 calc(var(--chart-value) + 24px) 0 calc(var(--chart-label) + 24px); margin-bottom:8px; }
.fee-axis > div { display:flex; justify-content:space-between; position:relative; color:var(--muted); font:400 14px/1.5 var(--mono); }
.fee-axis span:nth-child(2) { position:absolute; left:50%; transform:translateX(-50%); }
.fee-chart-row { display:grid; grid-template-columns:var(--chart-label) minmax(0,1fr) var(--chart-value); align-items:center; gap:24px; min-height:72px; }
.fee-chart-name strong { display:block; font:700 21px/1.3 var(--body); }
.fee-chart-name small { display:block; font-size:14px; line-height:1.5; color:var(--muted); }
.fee-chart-track { position:relative; height:28px; background:var(--soft); }
.fee-chart-track::before { content:""; position:absolute; left:50%; top:0; bottom:0; border-left:1px dashed var(--line); }
.fee-chart-fill { position:relative; height:100%; width:var(--fee-width); background:var(--green); }
.fee-chart-amount { text-align:right; }
.fee-chart-amount strong { display:block; font:600 21px/1.3 var(--mono); letter-spacing:-.05em; }
.fee-chart-amount small { display:block; color:var(--muted); font-size:14px; line-height:1.5; margin-top:3px; }
#feeChartCaption { border-top:1px solid var(--line); margin-top:18px; padding-top:16px; }
#feeChartCaption #solanaEstimateNote, #feeChartCaption #sampleBasisNote { margin:0; }
.fee-chart-source { display:flex; justify-content:space-between; gap:16px; margin-top:18px; font-size:14px; color:var(--muted); }
.fee-chart-source span:first-child { font-weight:600; }
.chain-details { margin-top:22px; }
.chain-details > summary { min-height:44px; padding:10px 0; }
.chain-details .matrix { margin-bottom:22px; }
@media (max-width:1000px) {
  .fee-chart { --chart-label:120px; --chart-value:180px; padding:24px; }
  .fee-chart-row { gap:18px; }
  .fee-axis { padding-right:calc(var(--chart-value) + 18px); padding-left:calc(var(--chart-label) + 18px); }
  .fee-chart-amount strong { font-size:20px; }
  .fee-chart-header { flex-wrap:wrap; gap:16px; }
}
@media (max-width:720px) {
  .fee-chart { padding:20px; }
  .fee-chart-header h3 { font-size:25px; }
  .fee-axis { padding:0; margin-top:20px; margin-bottom:20px; }
  .fee-chart-row { grid-template-columns:minmax(0,1fr) auto; gap:9px 12px; margin-bottom:23px; min-height:0; }
  .fee-chart-name { grid-column:1; grid-row:1; }
  .fee-chart-name strong { font-size:20px; }
  .fee-chart-amount { grid-column:2; grid-row:1; }
  .fee-chart-track { grid-column:1/-1; grid-row:2; height:24px; }
  .fee-chart-source { flex-direction:column; gap:4px; }
  .monthly-receipt { padding:20px 0; }
  .monthly-receipt .stat .number { font-size:30px; }
  .monthly-receipt .stat .number small { font-size:18px; }
}
@media (max-width:380px) {
  .fee-chart { padding:16px; }
  .fee-chart-name strong { font-size:18px; }
  .fee-chart-amount strong { font-size:18px; }
  .fee-chart-amount small { max-width:150px; }
}
.comparison-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:26px 0; }
.comparison-toolbar .comparison-basis { margin:0; }
@media (max-width:720px) {
  .comparison-toolbar { flex-wrap:wrap; gap:14px; }
  .comparison-toolbar .comparison-basis { flex:1 0 100%; }
  .fee-chart-row { margin-bottom:17px; }
  .fee-chart-amount small { display:none; }
  .fee-chart-source { margin-top:14px; }
}

/* Fees and capacity share each monthly row, including the exported figure. */
.fee-chart.has-capacity { --chart-label:124px; --chart-value:178px; --chart-capacity:250px; }
.fee-chart-column-headings { display:none; }
.has-capacity .fee-chart-column-headings,
.has-capacity .fee-chart-row { display:grid; grid-template-columns:var(--chart-label) minmax(0,1fr) var(--chart-value) var(--chart-capacity); gap:24px; }
.has-capacity .fee-chart-column-headings { margin-bottom:6px; align-items:start; color:var(--muted); font-size:15px; font-weight:600; }
.chart-fee-heading { grid-column:2/4; }
.chart-demand-heading { grid-column:4; }
.chart-demand-heading small { display:block; font-size:14px; font-weight:400; }
.has-capacity .fee-axis { padding-right:calc(var(--chart-value) + var(--chart-capacity) + 48px); margin-top:-20px; }
.has-capacity .fee-chart-row { min-height:93px; }
.fee-chart-capacity { min-width:0; border-left:1px solid var(--line); padding-left:20px; }
.chart-capacity-copy { display:flex; align-items:baseline; flex-wrap:wrap; gap:3px 8px; }
.chart-capacity-copy strong { font:600 20px/1.3 var(--mono); letter-spacing:-.05em; }
.chart-capacity-copy span, .fee-chart-capacity small { font-size:14px; line-height:1.4; color:var(--muted); }
.fee-chart-capacity small { display:block; margin-top:8px; }
.chart-capacity-rail { position:relative; height:11px; background:var(--soft); margin-top:9px; }
.chart-capacity-fill { width:var(--capacity-width); height:100%; background:var(--green); }
.chart-capacity-marker { position:absolute; top:-4px; bottom:-4px; left:83.333333%; border-left:2px solid var(--ink); }
.chart-capacity-marker.pricing-target, .chart-capacity-marker.base-pricing-target { border-left-style:dashed; }
.chart-capacity-marker.base-pricing-target { left:16.666667%; }
.chart-capacity-overflow { position:absolute; right:2px; top:-7px; color:white; font:700 19px/24px var(--body); }
.chart-capacity-fill.above-budget { background:var(--orange); }
.chart-capacity-copy .above-budget, .fee-chart-capacity small.above-budget { color:var(--orange); }
#feeChartCaption #chartCapacityNote { margin:0 0 10px; }
@media (min-width:1001px) and (max-width:1199px) {
  .fee-chart.has-capacity { --chart-label:110px; --chart-value:160px; --chart-capacity:228px; }
  .has-capacity .fee-chart-row, .has-capacity .fee-chart-column-headings { gap:18px; }
  .has-capacity .fee-axis { padding-left:calc(var(--chart-label) + 18px); padding-right:calc(var(--chart-value) + var(--chart-capacity) + 36px); }
  .has-capacity .fee-chart-amount strong { font-size:20px; }
  .fee-chart-capacity { padding-left:16px; }
}
@media (max-width:1000px) {
  .has-capacity .fee-chart-column-headings { display:block; margin-bottom:8px; }
  .has-capacity .chart-demand-heading { display:none; }
  .has-capacity .fee-axis { padding:0; margin-top:0; margin-bottom:18px; }
  .has-capacity .fee-chart-row { grid-template-columns:minmax(0,1fr) auto; gap:10px 18px; min-height:0; margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid var(--line); }
  .has-capacity .fee-chart-row:last-child { border-bottom:0; padding-bottom:0; }
  .has-capacity .fee-chart-name { grid-column:1; grid-row:1; }
  .has-capacity .fee-chart-amount { grid-column:2; grid-row:1; }
  .has-capacity .fee-chart-track { grid-column:1/-1; grid-row:2; }
  .fee-chart-capacity { grid-column:1/-1; grid-row:3; border-left:0; padding:8px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:7px 24px; align-items:center; }
  .chart-capacity-copy { grid-column:1; }
  .chart-capacity-rail { grid-column:2; grid-row:1; margin:0; }
  .fee-chart-capacity small { grid-column:1/-1; margin:0; }
}
@media (max-width:480px) {
  .fee-chart-capacity { grid-template-columns:1fr; gap:8px; }
  .chart-capacity-rail { grid-column:1; grid-row:2; }
  .fee-chart-capacity small { grid-row:3; }
  .chart-capacity-copy strong { font-size:19px; }
}

.study-story { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.65fr); gap:64px; border-top:1px solid var(--line); }
.study-story .eyebrow { margin-bottom:16px; }
.study-story h2 { font-size:clamp(30px,3vw,42px); max-width:380px; }
.story-copy { max-width:740px; }
.story-copy p { line-height:1.6; }
.story-copy .fine { margin-top:24px; }
@media (max-width:720px) {
  .study-story { grid-template-columns:1fr; gap:24px; }
  .study-story h2 { max-width:none; }
}
