/* HUD catalogue: shared palette, spacing and control geometry. */
.sou-site .hud-market{max-width:1240px;margin:0 auto;padding:2.5rem 0 4rem;min-width:0}
.sou-site .market-intro{display:flex;gap:2rem;align-items:flex-end;justify-content:space-between;margin:0 0 2rem}
.sou-site .market-intro>div{max-width:46rem;min-width:0}
.sou-site .market-intro h1{font-size:clamp(2.25rem,4.8vw,4rem);line-height:1.1;letter-spacing:-.045em;margin:.6rem 0 1rem}
.sou-site .market-intro>.site-button{flex-shrink:0;margin-bottom:.25rem}
.sou-site .market-search{display:grid;grid-template-columns:minmax(0,1fr) minmax(11rem,auto) auto;align-items:end;gap:1rem;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:1.25rem}
.sou-site .market-search label{display:grid;gap:.5rem;font-size:.8125rem;color:var(--secondary);margin:0;min-width:0}
.sou-site .market-search :is(input,select,button){width:100%;min-height:2.75rem;margin:0}
.sou-site .market-results-heading,.sou-site .market-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:2rem 0 1rem}
.sou-site .market-results-heading h2,.sou-site .market-section h2{font-size:1.375rem;line-height:1.4;margin:0}
.sou-site .market-results-heading>span,.sou-site .market-section-heading>span{font-size:.8125rem;color:var(--secondary);flex-shrink:0}
.sou-site .market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:stretch}
.sou-site .market-card{display:flex;flex-direction:column;border:1px solid var(--border-subtle);background:var(--surface);border-radius:var(--radius);overflow:hidden;transition:border-color .18s;min-width:0}
.sou-site .market-card:hover,.sou-site .market-card:focus-within{border-color:var(--accent-ink)}
.sou-site .market-card-visual{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--brand-surface)}
.sou-site .market-card-visual img,.sou-site .market-cover img{width:100%;height:100%;display:block;object-fit:contain}
.sou-site .market-access{position:absolute;bottom:.75rem;left:.75rem;right:.75rem;width:fit-content;max-width:calc(100% - 1.5rem);font-size:.75rem;line-height:1.4;border-radius:var(--radius);padding:.35rem .6rem;background:var(--brand-surface);color:var(--brand-text);border:1px solid var(--brand-secondary)}
.sou-site .market-card-body{display:flex;flex-direction:column;flex:1;padding:1.25rem;min-width:0}
.sou-site .market-creator{font-size:.8125rem;color:var(--secondary);margin:0 0 .5rem;overflow-wrap:anywhere}
.sou-site .market-card h3{font-size:1.25rem;line-height:1.4;margin:0 0 .75rem;overflow-wrap:anywhere}
.sou-site .market-card h3 a{color:var(--text);text-decoration:none}
.sou-site .market-summary{font-size:.875rem;line-height:1.65;color:var(--secondary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;margin:0 0 1.25rem}
.sou-site .market-card-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;border-top:1px solid var(--border-subtle);padding-top:1rem;margin-top:auto;font-size:.8125rem}
.sou-site .market-card-footer>span{color:var(--secondary);overflow-wrap:anywhere}
.sou-site .market-card-footer>a{min-height:2rem;display:inline-flex;align-items:center;gap:.4rem}
.sou-site .market-placeholder{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;background:var(--brand-surface);color:var(--brand-secondary);font-size:.8125rem;padding:1.5rem}
.sou-site .market-placeholder .sou-wordmark{width:120px;height:48px;opacity:.75}
.sou-site .market-empty{text-align:center;border:1px dashed var(--border-subtle);padding:3rem 1.5rem;border-radius:var(--radius);margin:1rem 0}
.sou-site .market-empty h3{margin:0 0 .75rem}
.sou-site .market-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.sou-site .market-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem;font-size:.8125rem;color:var(--secondary);margin:0 0 1.5rem;overflow-wrap:anywhere}
.sou-site .market-detail-heading{display:flex;gap:2rem;align-items:flex-end;justify-content:space-between;margin-bottom:1.75rem}
.sou-site .market-detail-heading>div:first-child{min-width:0;flex:1}
.sou-site .market-detail-heading h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.12;letter-spacing:-.035em;margin:.5rem 0 .75rem;overflow-wrap:anywhere}
.sou-site .market-byline{color:var(--secondary);font-size:.9375rem;margin:0;overflow-wrap:anywhere}
.sou-site .market-byline>span{padding:0 .4rem}
.sou-site .market-detail-tools{display:flex;flex-direction:column;align-items:flex-end;gap:1rem;flex:0 0 19rem;max-width:100%}
.sou-site .market-detail-action{display:grid;gap:.5rem;width:100%}
.sou-site .market-open-app{display:flex;justify-content:center;width:100%;min-height:2.75rem}
.sou-site .market-open-hint{font-size:.75rem;line-height:1.5;margin:0;text-align:right;color:var(--secondary)}
.sou-site .market-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:2rem;align-items:start}
.sou-site .market-detail-main{min-width:0}
.sou-site .market-cover{margin:0;background:var(--brand-surface);border:1px solid var(--border-subtle);border-radius:var(--radius);overflow:hidden;aspect-ratio:16/9}
.sou-site .market-cover>:is(a,button){display:block;height:100%}
.sou-site .market-section{padding:1.75rem 0;border-bottom:1px solid var(--border-subtle)}
.sou-site .market-section h2{margin:0 0 1rem}
.sou-site .market-description{white-space:pre-wrap;line-height:1.75;overflow-wrap:anywhere;color:var(--secondary);margin:0}
.sou-site .market-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.sou-site .market-gallery>:is(a,button){display:flex;flex-direction:column;min-width:0;border:1px solid var(--border-subtle);border-radius:var(--radius);overflow:hidden;background:var(--surface);text-decoration:none}
.sou-site .market-gallery img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:var(--brand-surface)}
.sou-site .market-gallery :is(a,button)>span{padding:.75rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.8125rem;min-height:2.75rem}
.sou-site .market-demo{display:block;width:100%;max-height:620px;background:var(--brand-surface);border-radius:var(--radius)}
.sou-site .market-sidebar{display:grid;gap:1.25rem;min-width:0}
.sou-site .market-info-card{min-width:0;border:1px solid var(--border-subtle);background:var(--surface);padding:1.25rem;border-radius:var(--radius)}
.sou-site .market-info-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}
.sou-site .market-sidebar h2{font-size:1.125rem;line-height:1.4;margin:0 0 1rem}
.sou-site .market-info-heading h2{margin:0}
.sou-site .market-sidebar p{font-size:.875rem;line-height:1.65;color:var(--secondary);margin:0 0 1rem}
.sou-site .market-pill{display:inline-flex;background:var(--accent-subtle);color:var(--accent-ink);border:1px solid var(--border-subtle);padding:.3rem .6rem;font-size:.75rem;line-height:1.4;border-radius:var(--radius)}
.sou-site .market-info-card dl{margin:0}
.sou-site .market-info-card dl>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1rem;padding:.65rem 0;font-size:.8125rem}
.sou-site .market-info-card dt{color:var(--secondary);overflow-wrap:anywhere}
.sou-site .market-info-card dd{margin:0;text-align:right;overflow-wrap:anywhere}
.sou-site .market-links{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;border-top:1px solid var(--border-subtle);margin-top:.75rem;padding-top:.75rem;font-size:.8125rem}
.sou-site .market-links:not(:has(a)){display:none}
.sou-site .market-links a{display:inline-flex;align-items:center;gap:.5rem;min-height:2.25rem}
.sou-site .market-workspace{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;padding:1rem 0;border-top:1px solid var(--border-subtle);font-size:.8125rem;min-width:0}
.sou-site .market-workspace:first-of-type{padding-top:0;border:0}
.sou-site .market-workspace:last-child{padding-bottom:0}
.sou-site .market-workspace strong{overflow-wrap:anywhere;max-width:100%}
.sou-site .market-granted{color:var(--success)}
.sou-site .market-notice{padding:1rem 1.25rem;background:color-mix(in srgb,var(--success) 10%,var(--surface));border:1px solid var(--success);border-radius:var(--radius)}
.sou-site .market-section-heading{margin:0 0 1rem}
.sou-site .market-section-heading h2{margin:0}
@media(max-width:1000px){
    .sou-site .market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .sou-site .market-intro{align-items:flex-start;flex-direction:column;gap:1rem}
    .sou-site .market-detail-layout{grid-template-columns:minmax(0,1fr) 17rem;gap:1.25rem}
    .sou-site .market-detail-tools{flex-basis:17rem}
}
@media(max-width:900px){
    .sou-site .market-detail-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}
    .sou-site .market-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
}
@media(max-width:740px){
    .sou-site .hud-market{padding:1.5rem 0 3rem}
    .sou-site .market-search{grid-template-columns:minmax(0,1fr) auto}
    .sou-site .market-search .market-query{grid-column:1/-1}
    .sou-site .market-detail-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}
    .sou-site .market-detail-heading{align-items:stretch;flex-direction:column;gap:1.25rem}
    .sou-site .market-detail-tools{flex:auto;width:100%;align-items:flex-start}
    .sou-site .market-detail-action{max-width:24rem}
    .sou-site .market-open-hint{text-align:left}
    .sou-site .market-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
}
@media(max-width:520px){
    .sou-site .market-grid,.sou-site .market-gallery,.sou-site .market-sidebar{grid-template-columns:minmax(0,1fr)}
    .sou-site .market-search{padding:1rem;grid-template-columns:minmax(0,1fr)}
    .sou-site .market-search>button{width:100%}
    .sou-site .market-results-heading{align-items:flex-start;flex-direction:column;gap:.5rem}
    .sou-site .market-intro h1{font-size:2rem}
    .sou-site .market-detail-action{max-width:none}
}
@media(forced-colors:active){.sou-site .market-pill{color:CanvasText;border-color:CanvasText}.sou-site .market-granted{color:CanvasText}}
@media(prefers-reduced-motion:reduce){.sou-site .market-card{transition:none}}
.sou-site .market-cover{position:relative}
.sou-site .market-media-source{position:absolute;left:.75rem;bottom:.75rem;max-width:calc(100% - 1.5rem);padding:.35rem .6rem;font-size:.75rem;line-height:1.5;background:var(--surface);color:var(--text);border:1px solid var(--border-subtle);border-radius:.375rem;overflow-wrap:anywhere;pointer-events:none}
.sou-site .market-source-label{font-size:.75rem;line-height:1.5;color:var(--secondary);margin:0 0 .75rem;overflow-wrap:anywhere}
.sou-site .market-section-heading{flex-wrap:wrap}
.sou-site .market-section-heading>.market-source-label{flex:1 1 100%;min-width:0;max-width:100%;margin:0}
.sou-site .market-markdown{color:var(--secondary);line-height:1.75;min-width:0;overflow-wrap:anywhere}
.sou-site .market-markdown>:first-child{margin-top:0}
.sou-site .market-markdown>:last-child{margin-bottom:0}
.sou-site .market-card-source{position:absolute;top:.65rem;left:.65rem;max-width:calc(100% - 1.3rem);background:var(--surface);color:var(--secondary);font-size:.6875rem;padding:.25rem .45rem;line-height:1.4;border:1px solid var(--border-subtle);border-radius:.25rem;overflow-wrap:anywhere}
