/* The pitch archive inherits the site's paper, type and restrained color palette. */
#panel-pitches .content-view { grid-template-columns:minmax(0,1fr);gap:0;max-width:1560px;margin:auto;padding-top:2.4rem; }
#panel-pitches .content-view > .eyebrow { margin:0 0 1.2rem;font-size:.66rem;letter-spacing:.15em; }
.research-heading { display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.2rem; }
#panel-pitches .research-heading .section-title { font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(2.2rem,3.3vw,3.5rem);line-height:1.08;letter-spacing:-.045em;margin:0; }
.research-heading .section-title span { color:var(--crimson); }
.research-heading > p { margin:0 0 .2rem;font-size:.76rem;line-height:1.65;color:#706a63;flex-shrink:0; }
.pitch-explorer { --pitch-accent:#16566a;--chart-color:#94d2de;--pitch-line:#d9d5cd; }
.pitch-explorer button,.pitch-dialog button { -webkit-tap-highlight-color:transparent; }
.pitch-explorer button:focus-visible,.pitch-explorer a:focus-visible,.pitch-dialog button:focus-visible { outline:2px solid var(--pitch-accent,var(--crimson));outline-offset:4px; }
.pitch-explorer button { cursor:pointer; }
.pitch-explorer button:disabled,.pitch-dialog button:disabled { opacity:.3;cursor:default; }
.micro-label { display:block;font-size:.62rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;line-height:1.6; }
.pitch-nav { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-bottom:2.4rem; }
.pitch-nav > button { min-width:0;position:relative;padding:1rem 1.3rem 1.1rem;border:0;border-right:1px solid var(--pitch-line);background:transparent;color:var(--ink);text-align:left;font:inherit;transition:background .2s,color .2s; }
.pitch-nav > button:last-child { border-right:0; }
.pitch-nav > button:hover { background:#ece8df; }
.pitch-nav > button[aria-pressed=true] { background:var(--company-color);color:white; }
.nav-top,.nav-bottom { display:flex;justify-content:space-between;align-items:center;gap:.8rem; }
.nav-ticker { font-size:1.7rem;letter-spacing:-.06em;line-height:1.2; }
.nav-number { font-family:Georgia,serif;font-size:.76rem;opacity:.5; }
.nav-bottom { margin-top:.7rem; }
.nav-sector { font-size:.61rem;line-height:1.3; }
.nav-sector small { display:block;font-size:.57rem;text-transform:uppercase;letter-spacing:.09em;margin-top:.35rem;opacity:.65; }
.nav-bottom svg { width:clamp(58px,7vw,115px);flex-shrink:0;height:35px; }
.nav-bottom path { fill:none;stroke:currentColor;stroke-width:1.2;opacity:.7; }
.pitch-overview { display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.65fr);gap:clamp(1.5rem,3.5vw,4rem);align-items:stretch; }
.pitch-identity { min-width:0;padding:.1rem 0 .3rem;display:flex;flex-direction:column; }
.pitch-kicker { display:flex;align-items:center;gap:.7rem; }
.pitch-symbol { font-size:.66rem;color:var(--pitch-accent);letter-spacing:.08em;font-weight:500; }
.pitch-direction { border-left:1px solid var(--pitch-line);padding-left:.7rem;font-size:.61rem;text-transform:uppercase;letter-spacing:.08em;color:#736c64; }
.pitch-direction > span { margin-left:.3rem;color:var(--pitch-accent);font-size:1rem; }
.pitch-identity h3 { font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.7rem,3.8vw,4.3rem);font-weight:400;letter-spacing:-.055em;line-height:1.04;margin:1rem 0 .9rem; }
.pitch-event { font-size:.68rem;color:#6e675f;line-height:1.7;margin:0;max-width:25rem; }
.pitch-event time { color:var(--ink);display:block; }
.pitch-event > span { display:block; }
.pitch-target-block { position:relative;margin-top:auto;padding:1.7rem 0 1.4rem;color:var(--pitch-accent); }
.pitch-target-block .micro-label { color:#6e675f;margin-bottom:.45rem; }
.pitch-target-block > strong { display:block;font-family:Georgia,'Times New Roman',serif;font-size:clamp(4.6rem,6.2vw,6.9rem);line-height:.95;letter-spacing:-.055em;font-weight:400; }
.bull-note { display:block;margin-top:.75rem;font-size:.71rem;color:#746b5c; }
.bull-note b { font-weight:400;margin-left:.35rem;color:var(--pitch-accent); }
.pitch-metrics { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--pitch-line);padding:1.15rem 0;gap:.8rem; }
.pitch-metrics strong { display:block;font-size:1.23rem;letter-spacing:-.035em;font-weight:400;line-height:1.3; }
.pitch-metrics span { display:block;font-size:.62rem;color:#6e675f;margin-top:.3rem; }
.pitch-metrics small { display:block;font-size:.57rem;color:#8a8278;margin-top:.18rem; }
.pitch-actions { display:flex;border-top:1px solid var(--pitch-line);padding-top:1rem;gap:.7rem; }
.pitch-actions button { display:flex;align-items:center;justify-content:space-between;flex:1;gap:.8rem;border:1px solid var(--pitch-accent);background:var(--pitch-accent);color:white;padding:.8rem 1rem;font:inherit;font-size:.73rem;transition:filter .2s; }
.pitch-actions button:hover { filter:brightness(1.2); }
.pitch-actions a { display:flex;align-items:center;border:1px solid var(--pitch-line);padding:.8rem 1rem;font-size:.7rem;text-decoration:none;color:var(--ink); }
.pitch-chart-block { min-width:0;background:color-mix(in srgb,var(--pitch-accent) 17%,#171e21);color:#f6f3ed;padding:clamp(1.2rem,2vw,2rem);display:flex;flex-direction:column; }
.pitch-chart-header { display:flex;justify-content:space-between;align-items:start;gap:1rem; }
.pitch-chart-header .micro-label { color:#b1b8b8; }
.pitch-chart-header h4 { font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.7rem,2.5vw,2.7rem);line-height:1.1;letter-spacing:-.04em;font-weight:400;margin:.5rem 0 1.5rem; }
.chart-currency { font-size:.58rem;letter-spacing:.1em;color:var(--chart-color);white-space:nowrap;line-height:1.6;padding-top:.1rem; }
.chart-subhead { display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.55rem; }
.chart-legend { display:flex;flex-wrap:wrap;gap:.8rem;font-size:.56rem;line-height:1.8;color:#cad0ce; }
.chart-legend i { display:inline-block;width:.75rem;border-top:2px solid var(--chart-color);margin-right:.3rem;vertical-align:middle; }
.chart-legend .target-key { border-color:#e1ba76;border-top-style:dashed; }
.chart-legend .bull-key { border-color:#b6be9a;border-top-style:dotted; }
.chart-range { display:flex;flex-shrink:0;padding:3px;border:1px solid #ffffff20; }
.chart-range button { border:0;background:transparent;color:#b9c4c4;padding:.36rem .65rem;font:inherit;font-size:.56rem;white-space:nowrap; }
.chart-range button[aria-pressed=true] { background:#ffffff16;color:white; }
.pitch-chart-block button:focus-visible,.pitch-chart-block a:focus-visible { outline-color:var(--chart-color); }
#pitch-price-plot { min-width:0;flex:1;display:flex;align-items:center; }
.pitch-chart { display:block;width:100%;height:auto;touch-action:pan-y;overflow:visible; }
.pitch-chart text { font-family:inherit;fill:#9baead;font-size:11.5px;font-variant-numeric:tabular-nums; }
.pitch-chart .grid { stroke:white;stroke-width:.6;opacity:.12; }
.pitch-chart .price-line { fill:none;stroke:var(--chart-color);stroke-width:2;stroke-linejoin:round; }
.pitch-chart .target-line { stroke:#e1ba76;stroke-width:1.3;stroke-dasharray:5 5;opacity:.9; }
.pitch-chart .bull-line { stroke:#b6be9a;stroke-width:1.1;stroke-dasharray:2 5; }
.pitch-chart .target-fill { fill:#e1ba76;opacity:.09; }
.pitch-chart .target-tag { fill:#e1ba76; }
.pitch-chart .target-text { fill:#252a26;font-size:11px;font-weight:500; }
.pitch-chart .bull-text { fill:#c5ceab;font-size:10px; }
.pitch-date-marker { stroke:#b8c7c4;stroke-dasharray:2 5;stroke-width:.7;opacity:.4; }
.pitch-chart .pitch-date-label { fill:#b8c7c4;font-size:9px; }
.pitch-chart .target-horizon-label { fill:#e1ba76;font-size:11px; }
.pitch-chart .target-hit { fill:#1c2628;stroke:#e1ba76;stroke-width:1.7; }
.pitch-chart .target-hit-label { fill:#eee5d4;font-size:11px;paint-order:stroke;stroke:#1c2628;stroke-width:3px;stroke-linejoin:round; }
.pitch-chart .latest-change { fill:var(--chart-color);font-size:12px; }
.pitch-chart .horizon-track { stroke:#ffffff25;stroke-width:2; }
.pitch-chart .horizon-elapsed { stroke:var(--chart-color);stroke-width:2; }
.pitch-chart .horizon-window { fill:#e1ba7633; }
.pitch-chart .horizon-now { fill:var(--chart-color); }
.pitch-chart .horizon-caption { fill:#b8c7c4;font-size:11px; }
.pitch-chart .horizon-end { fill:#e1ba76;font-size:11px; }
.pitch-chart [data-cursor] { stroke:#bdd1ce;stroke-dasharray:2 4;opacity:.4; }
.pitch-chart [data-halo] { fill:var(--chart-color);opacity:.15; }
.pitch-chart [data-dot] { fill:var(--chart-color);stroke:#1c2628;stroke-width:1; }
.chart-inspect { border-top:1px solid #ffffff18;padding-top:.8rem;display:flex;align-items:center;gap:.8rem;margin-top:.4rem;font-size:.58rem;color:#b9c4c4; }
.chart-inspect label { white-space:nowrap; }
.chart-inspect label span { margin-left:.15rem; }
.chart-inspect input { min-width:0;flex:1;accent-color:var(--chart-color);height:2px;cursor:ew-resize; }
.chart-inspect output { display:flex;align-items:center;gap:.65rem;font-variant-numeric:tabular-nums;white-space:nowrap; }
.chart-inspect output strong { font-size:1rem;font-weight:400;color:white; }
.pitch-data-note { font-size:.59rem;color:#817970;line-height:1.65;margin:1rem 0 0; }
.pitch-data-note a { color:inherit;text-underline-offset:3px; }
.pitch-chart-block .pitch-data-note { color:#96a6a5;margin-top:1rem;font-size:.53rem; }
.pitch-editorial { display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem);padding:2.5rem 0;margin:2.5rem 0 3rem;border-top:1px solid var(--pitch-line);border-bottom:1px solid var(--pitch-line); }
.pitch-editorial .micro-label { color:var(--pitch-accent);margin:0 0 1.2rem; }
.pitch-editorial h4 { font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.55rem,2vw,2.1rem);font-weight:400;letter-spacing:-.04em;line-height:1.2;margin:0 0 1rem; }
.pitch-editorial p:not(.micro-label) { font-size:.76rem;line-height:1.8;color:#68625c;margin:0; }
.pitch-driver-copy,.pitch-risk-copy { border-left:1px solid var(--pitch-line);padding-left:clamp(1.5rem,3vw,3rem); }
.pitch-gallery { scroll-margin-top:1.5rem; }
.deck-heading { display:flex;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.5rem; }
.deck-heading .micro-label { color:var(--pitch-accent);margin:0 0 .65rem; }
.deck-heading h4 { font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.5rem,4vw,4rem);line-height:1;letter-spacing:-.055em;font-weight:400;margin:0; }
.deck-heading h4 span { color:var(--pitch-accent); }
.pitch-docs { display:flex;flex-wrap:wrap;gap:1.5rem; }
.pitch-docs a { color:var(--pitch-accent);font-size:.7rem;border-bottom:1px solid #bfb9ae;padding-bottom:.3rem;text-decoration:none; }
.deck-workspace { display:grid;grid-template-columns:minmax(0,1fr) 172px;gap:1.2rem;align-items:start; }
.deck-main { min-width:0;background:#e8e4db; }
.deck-player { min-width:0;background:#e8e4db; }
.deck-toolbar { display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.2rem;color:#69655e; }
.deck-slide-title { font-size:.68rem;line-height:1.4; }
.deck-navigation { display:flex;align-items:center;gap:.35rem;flex-shrink:0; }
.deck-count { font-size:.59rem;letter-spacing:.08em;font-variant-numeric:tabular-nums;margin-right:.8rem; }
.deck-navigation button { border:0;background:transparent;color:var(--ink);font:inherit;font-size:.85rem;min-height:2rem;min-width:2rem; }
.deck-navigation button[data-deck-expand] { padding-left:.8rem;border-left:1px solid #c9c5bc;margin-left:.35rem;font-size:.64rem; }
.deck-stage { display:block;width:calc(100% - 2.4rem);padding:0;margin:0 1.2rem 1.2rem;border:0;background:white;box-shadow:0 5px 15px #262a2510;cursor:zoom-in !important; }
.deck-stage img { width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;display:block; }
.deck-progress { height:2px;background:#d3cfc5; }
.deck-progress span { display:block;height:100%;background:var(--pitch-accent);transition:width .18s; }
.deck-chapters { display:flex;align-items:center;gap:1.4rem;padding:.9rem 1.2rem; }
.deck-chapters button { background:none;border:0;padding:0;color:#5f625b;font:inherit;font-size:.61rem;display:flex;align-items:center;gap:.4rem; }
.deck-chapters button[aria-pressed=true] { color:var(--pitch-accent); }
.deck-chapters button span:first-child { color:#918d82;font-size:.57rem; }
.deck-keyboard-hint { font-size:.58rem;color:#928d83;margin-left:auto;white-space:nowrap; }
.deck-index { min-width:0; }
.deck-index > .micro-label { color:#7c766c;margin:0 0 .7rem; }
.deck-thumbnails { position:relative;display:flex;flex-direction:column;gap:1rem;max-height:clamp(350px,38vw,610px);overflow:auto;padding:0 .5rem .5rem 0;scrollbar-width:thin;scrollbar-color:#c6c0b5 transparent; }
.deck-thumbnails button { flex:0 0 auto;width:100%;border:0;border-bottom:2px solid transparent;padding:0 0 .5rem;background:transparent;text-align:left;font:inherit;color:#726b63;opacity:.65;transition:opacity .2s; }
.deck-thumbnails button:hover,.deck-thumbnails button[aria-pressed=true] { opacity:1;color:var(--pitch-accent); }
.deck-thumbnails button[aria-pressed=true] { border-bottom-color:var(--pitch-accent); }
.deck-thumbnails img { width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:white;border:1px solid #d9d5ce;display:block; }
.deck-thumbnails button[aria-pressed=true] img { border-color:var(--pitch-accent); }
.deck-thumbnails span { display:flex;gap:.4rem;font-size:.57rem;line-height:1.5;margin-top:.4rem; }
.deck-thumbnails b { font-weight:400;opacity:.65;font-variant-numeric:tabular-nums; }
.pitch-method-note { margin-top:1.2rem; }
.pitch-dialog { max-width:min(96vw,1600px);width:95vw;padding:1.2rem;border:1px solid #3e4847;background:#1b2425;color:#edeae3; }
.pitch-dialog::backdrop { background:#0c1317ed;backdrop-filter:blur(5px); }
.pitch-dialog img { display:block;max-width:100%;max-height:80vh;object-fit:contain;margin:auto; }
.pitch-dialog header { display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;font-size:.75rem; }
.dialog-navigation { display:flex;gap:.4rem;flex-shrink:0; }
.pitch-dialog button { font:inherit;font-size:.7rem;border:1px solid #53605e;background:transparent;color:#edeae3;padding:.6rem .9rem;cursor:pointer; }
.pitch-dialog button:hover { background:#ffffff12; }
@media(min-width:901px) { .pitch-overview { animation:pitch-arrive .35s ease both; } }
@keyframes pitch-arrive { from { opacity:.3;transform:translateY(5px); } to { opacity:1;transform:none; } }
@media(max-width:1100px) {
 .pitch-overview { grid-template-columns:minmax(250px,.8fr) minmax(0,1.4fr);gap:1.8rem; }
 .chart-subhead { flex-wrap:wrap; }
 .pitch-nav > button { padding:1rem; }
 .nav-bottom svg { width:65px; }
 .research-heading > p { display:none; }
 .deck-keyboard-hint { display:none; }
}
@media(max-width:800px) {
 #panel-pitches .content-view { padding-top:1.8rem; }
 .research-heading { margin-bottom:1.7rem; }
 .pitch-overview { grid-template-columns:minmax(0,1fr);gap:1.8rem; }
 .pitch-identity { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:1.5rem; }
 .pitch-kicker,.pitch-identity h3,.pitch-event { grid-column:1; }
 .pitch-identity h3 { font-size:2.7rem;margin:.8rem 0; }
 .pitch-target-block { grid-column:2;grid-row:1 / 4;margin:auto 0;padding:.2rem 0;text-align:right; }
 .pitch-target-block > strong { font-size:clamp(3.3rem,8.5vw,5.5rem); }
 .pitch-metrics { grid-column:1;margin-top:1.5rem; }
 .pitch-actions { grid-column:2;align-self:end;margin-top:1.5rem; }
 .pitch-editorial { grid-template-columns:1fr 1fr;gap:1.6rem;margin:1.8rem 0 2.5rem;padding:1.8rem 0; }
 .pitch-thesis-copy { grid-column:1 / -1; }
 .pitch-driver-copy { border:0;padding:0; }
 .pitch-risk-copy { padding-left:1.6rem; }
 .deck-workspace { grid-template-columns:minmax(0,1fr);gap:1rem; }
 .deck-index > .micro-label { display:none; }
 .deck-thumbnails { flex-direction:row;max-height:none;gap:1rem;padding:0 0 .8rem; }
 .deck-thumbnails button { flex:0 0 130px; }
}
@media(max-width:520px) {
 #panel-pitches .research-heading .section-title { font-size:2.2rem;line-height:1.08; }
 .pitch-nav { grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1.8rem; }
 .pitch-nav > button { padding:.8rem .9rem; }
 .pitch-nav > button:nth-child(2) { border-right:0; }
 .pitch-nav > button:nth-child(-n+2) { border-bottom:1px solid var(--pitch-line); }
 .nav-ticker { font-size:1.35rem; }
 .nav-bottom { gap:.3rem;margin-top:.45rem; }
 .nav-bottom svg { width:50px;height:27px; }
 .nav-sector { font-size:.53rem; }
 .nav-sector small { font-size:.48rem; }
 .pitch-identity { display:flex; }
 .pitch-identity h3 { font-size:2.9rem;margin:.9rem 0; }
 .pitch-target-block { margin:1.4rem 0 .2rem;text-align:left;padding:0; }
 .pitch-target-block > strong { font-size:4.9rem; }
 .pitch-metrics { margin-top:1.3rem; }
 .pitch-actions { margin-top:0;align-self:stretch; }
 .pitch-chart-block { padding:1.1rem .85rem; }
 .pitch-chart-header h4 { font-size:1.9rem;margin-bottom:1.1rem; }
 .pitch-chart-header .micro-label { font-size:.55rem; }
 .chart-currency { font-size:.5rem; }
 .chart-subhead { gap:.6rem; }
 .chart-range { margin-left:auto; }
 .chart-legend { font-size:.52rem;gap:.65rem; }
 .chart-inspect { gap:.6rem; }
 .chart-inspect label { font-size:.52rem; }
 .chart-inspect output { gap:.5rem;font-size:.5rem; }
 .chart-inspect output strong { font-size:.87rem; }
 .pitch-editorial { grid-template-columns:1fr;gap:1.5rem; }
 .pitch-thesis-copy { grid-column:auto; }
 .pitch-risk-copy { border:0;border-top:1px solid var(--pitch-line);padding:1.5rem 0 0; }
 .pitch-editorial .micro-label { margin-bottom:.7rem;font-size:.6rem; }
 .pitch-editorial p:not(.micro-label) { font-size:.77rem; }
 .deck-heading { align-items:start;flex-direction:column;gap:1.2rem; }
 .deck-heading h4 { font-size:2.6rem; }
 .deck-toolbar { flex-direction:column;align-items:stretch;gap:.6rem;padding:.85rem; }
 .deck-slide-title { font-size:.68rem; }
 .deck-navigation { width:100%;justify-content:flex-end; }
 .deck-count { margin-right:auto; }
 .deck-stage { width:calc(100% - 1.2rem);margin:0 .6rem .7rem; }
 .deck-chapters { gap:1.1rem;padding:.9rem .8rem;flex-wrap:wrap; }
 .deck-chapters button { font-size:.58rem; }
 .deck-thumbnails button { flex-basis:115px; }
 .pitch-dialog { padding:.8rem; }
 .pitch-dialog header { flex-direction:column;align-items:stretch;gap:.75rem; }
 .dialog-navigation { justify-content:flex-end; }
}
@media(prefers-reduced-motion:reduce) { .pitch-overview,.deck-progress span,.pitch-nav > button,.deck-thumbnails button { animation:none;transition:none; } }
