/* Market report layout; palette and typography follow the existing site. */
.market-page { font-variant-numeric: tabular-nums; }
.market-page [hidden] { display: none !important; }
.market-skip { position: absolute; left: 20px; top: -80px; z-index: 100; padding: 12px; background: var(--white); }
.market-skip:focus { top: 10px; }
.market-main { width: min(1240px, calc(100% - 64px)); margin: 0 auto; }
.market-intro { display: grid; grid-template-columns: 1.5fr 1fr; gap: 50px; align-items: center; padding: 58px 0 40px; }
.market-intro h1 { font-size: clamp(38px, 4.5vw, 64px); letter-spacing: -.055em; line-height: 1.04; margin: 14px 0 20px; }
.market-intro h1 span { color: var(--coral); }
.market-deck { font-size: 16px; line-height: 1.65; color: var(--muted); margin: 0; }
.market-edition { border-left: 1px solid var(--line); padding: 12px 0 12px 38px; }
.edition-label { display: block; color: var(--teal-dark); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 750; }
.market-edition strong { display: block; font-size: 31px; letter-spacing: -.04em; margin: 9px 0; }
.market-edition p { margin: 0 0 20px; color: var(--muted); font-size: 13px; }
.market-edition a { font-size: 12px; color: var(--teal-dark); text-underline-offset: 5px; font-weight: 700; }
.market-controls { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 18px 0; }
.market-segments, .market-range { display: flex; gap: 4px; padding: 4px; background: var(--mist); border-radius: 7px; }
.market-page button, .market-page select { font: inherit; }
.market-segments button, .market-range button { border: 0; background: transparent; color: var(--muted); border-radius: 4px; padding: 11px 17px; font-size: 12px; font-weight: 750; cursor: pointer; min-height: 42px; }
.market-segments button[aria-pressed="true"] { background: var(--teal-dark); color: white; box-shadow: 0 2px 5px #04565c15; }
.market-range button[aria-pressed="true"] { background: white; color: var(--teal-dark); box-shadow: 0 1px 5px #04565c14; }
.market-month { display: flex; align-items: center; gap: 12px; font-size: 11px; color: var(--muted); }
.market-month select { color: var(--ink); padding: 11px 32px 11px 12px; background: white; border: 1px solid var(--line); border-radius: 5px; font-weight: 700; font-size: 12px; min-height: 44px; }
.market-page :is(button, select, a, summary, [tabindex]):focus-visible { outline: 3px solid var(--coral); outline-offset: 4px; }
.market-status { color: var(--muted); font-size: 11px; margin: 12px 0 30px; }
.market-section-head { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin: 0 0 20px; }
.market-main .eyebrow { font-size: 10px; letter-spacing: .14em; margin: 0 0 8px; color: var(--teal-dark); }
.market-main h2 { font-size: clamp(23px, 2.8vw, 31px); line-height: 1.15; letter-spacing: -.035em; margin: 0; }
.comparison-note { color: var(--muted); font-size: 10px; }
.market-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.metric-card { background: white; border: 1px solid var(--line); border-radius: 8px; padding: 23px 22px 19px; min-width: 0; }
.metric-card:first-child { border-top: 3px solid var(--teal); padding-top: 21px; }
.metric-label { font-size: 12px; color: var(--muted); margin: 0 0 15px; }
.metric-value { font-size: clamp(27px, 2.7vw, 38px); line-height: 1.1; letter-spacing: -.05em; display: block; white-space: nowrap; }
.metric-change { display: block; color: var(--teal-dark); font-size: 11px; font-weight: 650; margin: 17px 0 5px; }
.metric-sample { color: var(--muted); font-size: 10px; margin: 0; }
.market-takeaway { background: var(--mist); border-left: 3px solid var(--teal); color: var(--teal-dark); padding: 16px 20px; margin: 16px 0 0; font-size: 13px; line-height: 1.6; }
.market-trends { padding: 40px 0 26px; }
.market-range button { padding: 7px 12px; font-size: 11px; min-height: 36px; }
.market-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.market-chart-card { background: white; border: 1px solid var(--line); border-radius: 8px; padding: 25px 24px 17px; min-width: 0; }
.chart-heading h3 { margin: 0 0 5px; font-size: 16px; letter-spacing: -.02em; }
.chart-heading span { color: var(--muted); font-size: 11px; }
.market-chart { margin: 18px -8px 0; }
.market-chart svg { display: block; width: 100%; height: auto; overflow: visible; }
.chart-axis { fill: var(--muted); font-size: 10px; }
.chart-grid { stroke: var(--line); stroke-dasharray: 3 4; stroke-width: 1; }
.chart-line { fill: none; stroke: var(--teal); stroke-width: 2.8; stroke-linejoin: round; }
.chart-point { fill: white; stroke: var(--teal); stroke-width: 2; }
.chart-point:hover, .chart-point:focus { fill: var(--teal-dark); r: 6; }
.chart-bar { fill: #91bdb8; }
.chart-bar:last-of-type { fill: var(--teal-dark); }
.chart-bar:hover, .chart-bar:focus { fill: var(--teal); }
.chart-footnote { border-top: 1px solid var(--line); padding-top: 12px; margin: 10px 0 0; color: var(--muted); font-size: 10px; }
.market-details { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.market-context { padding: 24px; border: 1px solid var(--line); border-radius: 8px; }
#secondary-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; }
.secondary-metric span { color: var(--muted); display: block; font-size: 11px; }
.secondary-metric strong { display: block; font-size: 25px; letter-spacing: -.03em; margin: 5px 0; }
.secondary-metric small { color: var(--muted); font-size: 10px; }
.market-availability { background: var(--mist); padding: 23px 25px; border-radius: 8px; }
.market-pill { display: inline-block; font-size: 9px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; color: var(--teal-dark); border-bottom: 1px solid #a9c6bf; padding-bottom: 4px; }
.market-availability h3 { font-size: 20px; margin: 13px 0 9px; letter-spacing: -.03em; }
.market-availability p { font-size: 12px; color: var(--muted); margin: 0; line-height: 1.6; }
.availability-labels { display: flex; gap: 26px; margin-top: 13px; color: var(--muted); font-size: 11px; }
.availability-labels b { margin-left: 8px; }
.market-history { padding: 42px 0; }
.market-download { border: 0; border-bottom: 1px solid var(--teal-dark); padding: 9px 0; background: transparent; color: var(--teal-dark); font-size: 12px !important; font-weight: 750 !important; cursor: pointer; }
.table-help { font-size: 11px; color: var(--muted); margin: -6px 0 15px; }
.market-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; background: white; }
.market-table { width: 100%; border-collapse: collapse; font-size: 12px; white-space: nowrap; }
.market-table caption { text-align: left; padding: 14px 18px; color: var(--muted); font-size: 11px; }
.market-table :is(th,td) { padding: 12px 18px; text-align: right; border-top: 1px solid var(--line); }
.market-table :is(th,td):first-child { text-align: left; }
.market-table thead { background: var(--mist); font-size: 10px; color: var(--muted); }
.market-table tbody tr:first-child { background: #f5f9f7; }
.market-table td small { font-size: 9px; color: var(--muted); display: block; }
.market-methodology { display: grid; grid-template-columns: .85fr 1.15fr; gap: 60px; padding: 28px 0 42px; border-top: 1px solid var(--line); }
.market-methodology p { font-size: 12px; color: var(--muted); line-height: 1.7; }
.market-definitions details { padding: 15px 0; border-bottom: 1px solid var(--line); }
.market-definitions details:first-child { padding-top: 0; }
.market-definitions summary { cursor: pointer; font-size: 13px; font-weight: 700; }
.market-contact { display: flex; justify-content: space-between; gap: 24px; align-items: center; background: var(--teal-dark); color: white; padding: 30px; border-radius: 8px; margin-bottom: 42px; }
.market-contact .eyebrow { color: var(--sand); }
.market-contact h2 { font-size: 26px; }
.market-contact p:not(.eyebrow) { font-size: 12px; margin-bottom: 0; color: #dcece8; }
.market-contact .button { background: var(--sand); color: var(--teal-dark); white-space: nowrap; font-size: 12px; }
.market-page .site-footer { padding: 25px 32px; }
.market-notice { padding: 20px; border: 1px solid var(--line); }
@media (max-width: 1000px) { .market-controls { align-items: start; flex-direction: column; gap: 12px; } .market-metrics { grid-template-columns: repeat(2, 1fr); } .market-methodology { gap: 30px; } }
@media (max-width: 650px) {
 .market-main { width: calc(100% - 32px); } .market-intro { grid-template-columns: 1fr; gap: 24px; padding: 30px 0 25px; } .market-edition { border-left: 0; border-top: 1px solid var(--line); padding: 20px 0 0; } .market-edition strong { font-size: 24px; } .market-edition p { margin-bottom: 10px; }
 .market-segments { width: 100%; } .market-segments button { flex: 1; padding: 8px 7px; font-size: 10px; } .market-section-head { align-items: start; flex-direction: column; gap: 12px; } .market-metrics { gap: 10px; } .metric-card { padding: 18px 13px; } .metric-card:first-child { padding-top: 16px; } .metric-value { font-size: 29px; } .metric-change { font-size: 10px; } .metric-label { font-size: 11px; }
 .market-charts, .market-details, .market-methodology { grid-template-columns: 1fr; } .market-chart-card { padding: 20px 18px 14px; } .market-methodology { gap: 20px; } .market-contact { flex-direction: column; align-items: start; padding: 25px; } .market-table :is(th,td) { padding: 10px 13px; }
}
@media print { .site-header,.market-controls,.market-range,.market-download,.market-contact,.site-footer { display:none; } .market-main { width:100%; } .market-intro { padding:10px 0; } .market-chart-card,.metric-card { break-inside:avoid; } .market-metrics { grid-template-columns:repeat(4,1fr); } }

/* A little island color, with the deeper analysis tucked behind a disclosure. */
.market-page { background: radial-gradient(ellipse at 92% 4%,#f6e8d4 0,transparent 24%),var(--cream,#faf9f5); }
.market-intro .eyebrow span { font-size: 24px; vertical-align: middle; margin-right: 8px; }
.market-jump { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 23px; }
.market-jump a { font-size: 11px; font-weight: 700; color: var(--teal-dark); text-decoration: none; padding: 9px 13px; border: 1px solid #cadbd5; border-radius: 30px; background: #ffffff90; }
.market-jump a:hover { background: var(--mist); }
.market-edition { background: #ffffff82; border: 1px solid #d8e3dc; border-radius: 18px 18px 65px 18px; padding: 30px; box-shadow: 0 10px 30px #1c554509; }
.metric-card { box-shadow: 0 5px 16px #174c4305; border-top: 3px solid #9cbdb5; }
.metric-card:nth-child(2) { border-top-color: #dfab7e; }
.metric-card:nth-child(3) { border-top-color: #8bafc1; }
.metric-card:nth-child(4) { border-top-color: #9ba982; }
.market-readout { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; margin-top: 22px; }
.market-readout article { border-left: 2px solid #d9b28d; padding-left: 16px; }
.market-readout h3 { font-size: 12px; margin: 0 0 8px; color: var(--teal-dark); }
.market-readout p { font-size: 12px; line-height: 1.65; margin: 0 0 8px; }
.market-readout small { display:block; font-size: 10px; color: var(--muted); line-height:1.5; }
.market-supply { padding: 32px; margin-top: 36px; background: linear-gradient(135deg,#edf4ef,#f6f4e9); border: 1px solid #dce7dd; border-radius: 16px; scroll-margin-top: 90px; }
.market-supply .market-section-head { margin-bottom: 10px; }
.section-explainer { font-size: 12px; line-height: 1.7; color: var(--muted); margin: 8px 0 22px; max-width: 85ch; }
.inventory-card { padding: 20px; }
.inventory-card .metric-value { color: var(--teal-dark); }
.inventory-card .metric-sample { margin-top: 12px; line-height: 1.6; }
.supply-readout { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; padding-top: 24px; }
.supply-readout strong { font-size: 17px; color: var(--teal-dark); }
.supply-readout p { font-size: 12px; line-height: 1.7; margin: 9px 0 0; color: var(--muted); }
.supply-chips { display: grid; grid-template-columns:1fr 1fr; gap: 20px; }
.supply-chips span { font-size: 11px; color: var(--teal-dark); }
.supply-chips b { display: block; font-size: 27px; letter-spacing: -.04em; margin-bottom: 4px; }
.supply-chips small { display: block; font-size: 10px; color: var(--muted); margin-top: 6px; line-height: 1.5; }
.deep-trigger { display: inline-block; color: var(--teal-dark); margin-top: 20px; font-size: 12px; font-weight: 700; }
.market-deep-dive { margin-top: 28px; border: 1px solid #d5ded4; border-radius: 12px; background: #fffefa; scroll-margin-top: 90px; }
.market-deep-dive > summary { list-style:none; display: flex; gap: 18px; align-items: center; padding: 24px 28px; cursor:pointer; background: linear-gradient(105deg,#f1e5ce,#f3f5eb); border-radius: 12px; }
.market-deep-dive > summary::-webkit-details-marker { display:none; }
.deep-icon { font-size: 30px; }
.market-deep-dive summary strong { display:block; font-size: 24px; letter-spacing: -.035em; }
.market-deep-dive summary small { display:block; color:var(--muted); font-size:12px; margin-top:5px; }
.deep-plus { margin-left:auto; color:var(--teal-dark); font-size:30px; }
.market-deep-dive[open] .deep-plus { transform:rotate(45deg); }
.deep-content { padding: 30px; }
.deep-content > section + section { margin-top: 35px; padding-top: 30px; border-top: 1px solid var(--line); }
.deep-content h3 { font-size:23px; letter-spacing:-.035em; margin:0; }
.deep-content h4 { font-size:14px; margin:0 0 12px; }
.pricing-analysis { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding:22px; margin-bottom:22px; background:#eef4f1; border-radius:9px; }
.pricing-stat span { display:block; font-size:11px; color:var(--muted); }
.pricing-stat strong { display:block; font-size:30px; color:var(--teal-dark); margin:7px 0; }
.pricing-stat small,.negotiation-distribution small { font-size:10px; color:var(--muted); line-height:1.6; }
.negotiation-distribution { grid-column:1/-1; }
.distribution-bar { display:flex; height:9px; border-radius:8px; overflow:hidden; background:#dae5dd; }
.distribution-bar .coral { background:#c78966; }.distribution-bar .sand { background:#dec183; }.distribution-bar .teal { background:#3d7b7c; }
.negotiation-distribution p { font-size:11px; margin:8px 0; }
.chart-reference { stroke:#96aa9d; stroke-dasharray:5 4; }
#dom-chart { max-width:800px; margin:18px auto 0; }
.legend-dot { display:inline-block; width:7px; height:7px; border-radius:50%; margin:0 3px 0 6px; }.legend-dot.coral { background:#c0784f; }.legend-dot.teal { background:#357f83; }
.inventory-depth { margin-top:22px; }
.age-row { display:grid; grid-template-columns:90px 1fr 28px; align-items:center; gap:10px; font-size:11px; margin:16px 0; }
.age-row strong { text-align:right; }
.age-track { background:#edf2ed; height:11px; border-radius:3px; overflow:hidden; }.age-track i { display:block; height:100%; background:#76a49a; }
.inventory-baseline { display:grid; justify-items:start; gap:10px; padding:15px 0; }.inventory-baseline strong { font-size:28px; color:var(--teal-dark); }.inventory-baseline span:not(.baseline-dot),.inventory-baseline p { font-size:11px; color:var(--muted); line-height:1.7; margin:0; }.baseline-dot { width:12px;height:12px;background:#76a49a;border:5px solid #e9f1ec;border-radius:50%;box-sizing:content-box; }
@media(max-width:900px) { .market-supply { padding:24px; }.market-readout { gap:16px; }.supply-readout { grid-template-columns:1fr; gap:22px; } }
@media(max-width:650px) { .market-edition { padding:22px; }.market-supply { padding:20px 14px; margin-top:26px; }.market-readout { grid-template-columns:1fr; }.market-readout article { padding:3px 0 3px 14px; }.market-deep-dive > summary { padding:20px 16px; gap:12px; }.market-deep-dive summary strong { font-size:22px; }.market-deep-dive summary small { font-size:10px; line-height:1.5; }.deep-content { padding:22px 14px; }.pricing-analysis { padding:16px; grid-template-columns:1fr; gap:14px; }.pricing-stat { display:grid; grid-template-columns:1fr auto; align-items:center; gap:2px 12px; }.pricing-stat small { grid-column:1/-1; }.pricing-stat strong { font-size:27px; margin:0; }.market-supply .metric-value { font-size:28px; }.inventory-card { padding:17px 12px; }.market-jump a { font-size:10px; }.deep-icon { font-size:25px; } }
.market-compare { margin-top:36px; padding:28px; border:1px solid #d5ded4; border-radius:14px; background:#fffefa; scroll-margin-top:90px; }
.compare-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:20px 0 12px; }
.comparison-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr .75fr; gap:18px; align-items:center; }
.comparison-head { padding:14px 12px; background:var(--mist); font-size:12px; color:var(--teal-dark); border-radius:8px 8px 0 0; }
.comparison-row { padding:17px 12px; border-bottom:1px solid var(--line); font-size:18px; }
.comparison-row > strong { font-size:12px; color:var(--muted); }
.comparison-row > div:first-of-type { color:var(--teal-dark); font-weight:700; }
.comparison-row > span { font-size:13px; font-weight:650; }
.comparison-row small { display:block; margin-top:5px; font-size:9px; color:var(--muted); font-weight:400; }
.market-download:disabled { opacity:.45; cursor:default; }
@media(max-width:650px) { .market-compare { padding:22px 14px; }.compare-controls .market-range { width:100%; }.compare-controls .market-range button { flex:1; padding:7px 4px; font-size:10px; }.comparison-grid { grid-template-columns:1fr 1fr .65fr; gap:8px; }.comparison-head { font-size:10px; padding:12px 8px; }.comparison-head > span:first-child { display:none; }.comparison-row { font-size:15px; padding:13px 8px; }.comparison-row > strong { grid-column:1/-1; font-size:11px; }.comparison-row > span { font-size:11px; }.comparison-row small { font-size:8px; }.compare-controls .market-month { width:100%; justify-content:space-between; }.compare-controls select { max-width:210px; } }
