.ptr-market-directory {
  --ptr-market-teal: #185c6b;
  --ptr-market-purple: #96588a;
  --ptr-market-gold: #e9a825;
  --ptr-market-gold-soft: #fff6dc;
  --ptr-market-ink: #263f49;
  --ptr-market-line: #cfe1e5;
  max-width: 1440px;
  margin: 0 auto;
  color: var(--ptr-market-ink);
}

.ptr-market-directory *,
.ptr-market-directory *::before,
.ptr-market-directory *::after { box-sizing: border-box; }

.ptr-market-directory__header { max-width: 820px; margin-bottom: 28px; }
.ptr-market-directory__eyebrow { margin: 0 0 8px; color: var(--ptr-market-purple); font-size: 14px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.ptr-market-directory__header h1 { margin: 0; color: var(--ptr-market-teal); font-size: clamp(36px, 5vw, 58px); font-weight: 900; line-height: 1.03; }
.ptr-market-directory__header > p:last-child { margin: 14px 0 0; color: #52666f; font-size: clamp(17px, 2vw, 20px); font-weight: 650; line-height: 1.45; }

.ptr-market-directory__markets { display: grid; gap: 16px; }
.ptr-market-directory__market { scroll-margin-top: 120px; overflow: hidden; border: 1px solid var(--ptr-market-line); border-radius: 10px; background: #fff; box-shadow: 0 10px 25px rgba(24, 92, 107, .07); }
.ptr-market-directory__market > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 24px; border-left: 6px solid var(--ptr-market-gold); color: var(--ptr-market-teal); cursor: pointer; list-style: none; }
.ptr-market-directory__market > summary::-webkit-details-marker { display: none; }
.ptr-market-directory__market > summary span { font-size: clamp(22px, 3vw, 30px); font-weight: 900; line-height: 1.15; }
.ptr-market-directory__market > summary small { margin-left: auto; color: var(--ptr-market-purple); font-size: 12px; font-weight: 900; letter-spacing: .04em; text-align: right; text-transform: uppercase; }
.ptr-market-directory__market > summary::after { content: "+"; flex: 0 0 auto; color: var(--ptr-market-gold); font-size: 28px; font-weight: 900; }
.ptr-market-directory__market[open] > summary { border-bottom: 1px solid var(--ptr-market-line); background: #f6fafb; }
.ptr-market-directory__market[open] > summary::after { content: "−"; }
.ptr-market-directory__market-body { display: grid; gap: 34px; padding: clamp(20px, 4vw, 36px); }
.ptr-market-directory__market-description { max-width: 820px; margin: 0; color: #52666f; font-size: 17px; font-weight: 600; line-height: 1.5; }

.ptr-market-rollup { overflow: hidden; border: 1px solid var(--ptr-market-line); border-radius: 9px; background: #fff; }
.ptr-market-rollup > summary,
.ptr-market-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; list-style: none; }
.ptr-market-rollup > summary::-webkit-details-marker,
.ptr-market-group > summary::-webkit-details-marker { display: none; }
.ptr-market-rollup > summary { padding: 16px 18px; border-left: 5px solid var(--ptr-market-purple); color: var(--ptr-market-teal); }
.ptr-market-rollup > summary span { font-size: clamp(20px, 2.5vw, 26px); font-weight: 900; line-height: 1.15; }
.ptr-market-rollup > summary small,
.ptr-market-group > summary small { margin-left: auto; color: var(--ptr-market-purple); font-size: 11px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.ptr-market-rollup > summary::after,
.ptr-market-group > summary::after { content: "+"; flex: 0 0 auto; color: var(--ptr-market-gold); font-size: 24px; font-weight: 900; }
.ptr-market-rollup[open] > summary,
.ptr-market-group[open] > summary { border-bottom: 1px solid var(--ptr-market-line); background: #f6fafb; }
.ptr-market-rollup[open] > summary::after,
.ptr-market-group[open] > summary::after { content: "−"; }
.ptr-market-rollup__body { padding: 16px; }
.ptr-market-rollup__groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }

.ptr-market-group { min-width: 0; overflow: hidden; border: 1px solid var(--ptr-market-line); border-top: 3px solid var(--ptr-market-gold); border-radius: 8px; background: #fff; box-shadow: 0 7px 18px rgba(24, 92, 107, .06); }
.ptr-market-group--direct { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 70px; padding: 14px 15px; color: var(--ptr-market-ink); font-size: 17px; font-weight: 900; line-height: 1.2; text-decoration: none; }
.ptr-market-group--direct:hover,
.ptr-market-group--direct:focus-visible { border-color: var(--ptr-market-gold); background: var(--ptr-market-gold-soft); color: var(--ptr-market-teal); }
.ptr-market-group__arrow { flex: 0 0 auto; color: var(--ptr-market-gold); font-size: 28px; font-weight: 900; line-height: 1; }
.ptr-market-group > summary { padding: 14px 15px; color: var(--ptr-market-ink); }
.ptr-market-group > summary > span { font-size: 17px; font-weight: 900; line-height: 1.2; }
.ptr-market-group__body { padding: 12px 15px 15px; }
.ptr-market-directory__archive-link { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 12px; color: var(--ptr-market-teal); font-size: 13px; font-weight: 850; line-height: 1.3; text-decoration: none; }
.ptr-market-directory__archive-link span { color: var(--ptr-market-purple); font-size: 17px; }
.ptr-market-directory__archive-link:hover,
.ptr-market-directory__archive-link:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.ptr-market-group ul { margin: 0; padding: 0; list-style: none; }
.ptr-market-group li { margin: 0; border-top: 1px solid #e5eef0; }
.ptr-market-group li a { display: flex; justify-content: space-between; gap: 10px; padding: 9px 0; color: #415761; font-size: 14px; font-weight: 700; line-height: 1.3; text-decoration: none; }
.ptr-market-group li a span { color: var(--ptr-market-purple); font-size: 17px; }
.ptr-market-group li a:hover,
.ptr-market-group li a:focus-visible { color: var(--ptr-market-teal); }

@media (max-width: 1080px) {
  .ptr-market-rollup__groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .ptr-market-directory__market > summary { align-items: flex-start; padding: 17px 18px; }
  .ptr-market-directory__market > summary small { display: none; }
  .ptr-market-directory__market-body { padding: 18px; }
  .ptr-market-rollup > summary small,
  .ptr-market-group > summary small { display: none; }
  .ptr-market-rollup__groups { grid-template-columns: 1fr; }
}
