.ticker-tech-page {
    --tech-ink: #0b2036;
    --tech-navy: #073b66;
    --tech-blue: #1776a8;
    --tech-green: #07865c;
    --tech-red: #c13f3f;
    --tech-amber: #b87806;
    --tech-line: #c8d9e6;
    --tech-soft: #f3f7fa;
    --tech-muted: #536d83;
    width: min(100% - 2rem, 1600px);
    margin: 1.2rem auto 3rem;
    color: var(--tech-ink);
}

.ticker-tech-hero,
.ticker-tech-panel,
.ticker-tech-agreement,
.ticker-tech-boundary {
    border: 1px solid var(--tech-line);
    background: #fff;
}

.ticker-tech-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.75fr) minmax(360px, .95fr);
    border-top: 4px solid var(--tech-navy);
    background: linear-gradient(115deg, #fff 0%, #f9fcfd 63%, #edf8f4 100%);
}

.ticker-tech-hero-copy {
    padding: 1.35rem 1.5rem 1.45rem;
}

.ticker-tech-crumbs {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-bottom: .9rem;
    color: var(--tech-muted);
    font-size: .78rem;
    font-weight: 700;
}

.ticker-tech-crumbs a { color: var(--tech-navy); }

.ticker-tech-eyebrow,
.ticker-tech-kpi span,
.ticker-tech-state span,
.ticker-tech-md-annotations span,
.ticker-tech-why span {
    display: block;
    margin: 0 0 .28rem;
    color: var(--tech-muted);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .13em;
    line-height: 1.35;
    text-transform: uppercase;
}

.ticker-tech-hero h1 {
    margin: 0;
    color: var(--tech-ink);
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(2.7rem, 5.2vw, 5.2rem);
    line-height: .94;
    letter-spacing: -.045em;
}

.ticker-tech-company {
    margin: .48rem 0 0;
    color: var(--tech-navy);
    font-size: 1rem;
    font-weight: 800;
}

.ticker-tech-summary {
    max-width: 76rem;
    margin: 1rem 0 0;
    padding: .9rem 1rem;
    border-left: 4px solid var(--tech-navy);
    background: rgba(255, 255, 255, .84);
    font-weight: 700;
    line-height: 1.55;
}

.ticker-tech-actions { margin-top: 1rem; }

.ticker-tech-actions a,
.ticker-tech-compact-tape a {
    display: inline-flex;
    min-height: 2.55rem;
    align-items: center;
    justify-content: center;
    padding: .62rem .95rem;
    border: 1px solid var(--tech-navy);
    color: var(--tech-navy);
    font-size: .82rem;
    font-weight: 800;
    text-decoration: none;
}

.ticker-tech-actions a.is-primary {
    background: var(--tech-navy);
    color: #fff;
}

.ticker-tech-hero-side {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    padding: 1.15rem;
    border-left: 1px solid var(--tech-line);
}

.ticker-tech-state {
    grid-column: 1 / -1;
    padding: 1rem;
    border: 1px solid var(--tech-line);
    border-top: 4px solid var(--tech-navy);
    background: rgba(255, 255, 255, .9);
}

.ticker-tech-state.is-positive { border-top-color: var(--tech-green); background: #eefaf5; }
.ticker-tech-state.is-negative { border-top-color: var(--tech-red); background: #fff2f2; }
.ticker-tech-state.is-caution { border-top-color: var(--tech-amber); background: #fff8e8; }

.ticker-tech-state strong {
    display: block;
    margin: .15rem 0 .25rem;
    color: var(--tech-ink);
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(1.5rem, 2.7vw, 2.2rem);
    line-height: 1.05;
}

.ticker-tech-state small,
.ticker-tech-kpi small {
    display: block;
    color: var(--tech-muted);
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.4;
}

.ticker-tech-kpi {
    min-width: 0;
    padding: .78rem .85rem;
    border: 1px solid var(--tech-line);
    border-top: 3px solid #8ba5ba;
    background: var(--tech-soft);
}

.ticker-tech-kpi.is-positive { border-top-color: var(--tech-green); background: #f1fbf7; }
.ticker-tech-kpi.is-negative { border-top-color: var(--tech-red); background: #fff4f4; }
.ticker-tech-kpi.is-caution { border-top-color: var(--tech-amber); background: #fff9ed; }

.ticker-tech-kpi strong {
    display: block;
    margin: .14rem 0 .25rem;
    color: var(--tech-ink);
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(1.08rem, 1.6vw, 1.42rem);
    line-height: 1.08;
}

.ticker-tech-agreement {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(330px, .75fr);
    gap: 0;
    margin-top: 1rem;
    border-top: 4px solid var(--tech-navy);
}

.ticker-tech-agreement.is-positive { border-top-color: var(--tech-green); }
.ticker-tech-agreement.is-negative { border-top-color: var(--tech-red); }
.ticker-tech-agreement.is-caution { border-top-color: var(--tech-amber); }

.ticker-tech-agreement-read {
    padding: 1rem 1.2rem;
}

.ticker-tech-agreement-read > strong {
    display: inline-flex;
    margin: .15rem 0 .42rem;
    padding: .3rem .55rem;
    border: 1px solid var(--tech-line);
    color: var(--tech-navy);
    background: var(--tech-soft);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.25;
    text-transform: uppercase;
}

.ticker-tech-agreement.is-positive .ticker-tech-agreement-read > strong {
    border-color: #8bcdb2;
    color: var(--tech-green);
    background: #eefaf5;
}

.ticker-tech-agreement.is-negative .ticker-tech-agreement-read > strong {
    border-color: #e3a4a7;
    color: var(--tech-red);
    background: #fff2f2;
}

.ticker-tech-agreement.is-caution .ticker-tech-agreement-read > strong {
    border-color: #dfc17f;
    color: #875800;
    background: #fff8e8;
}

.ticker-tech-agreement-read h2 {
    margin: 0;
    color: var(--tech-ink);
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(1.55rem, 2.6vw, 2.35rem);
    line-height: 1.04;
    letter-spacing: -.025em;
}

.ticker-tech-agreement-read p:last-child {
    margin: .45rem 0 0;
    color: var(--tech-muted);
    font-size: .86rem;
    font-weight: 700;
    line-height: 1.5;
}

.ticker-tech-agreement-take {
    align-self: stretch;
    padding: 1rem 1.2rem;
    border-left: 1px solid var(--tech-line);
    background: var(--tech-soft);
}

.ticker-tech-agreement.is-positive .ticker-tech-agreement-take { background: #eefaf5; }
.ticker-tech-agreement.is-negative .ticker-tech-agreement-take { background: #fff2f2; }
.ticker-tech-agreement.is-caution .ticker-tech-agreement-take { background: #fff8e8; }

.ticker-tech-agreement-take span {
    display: block;
    margin: 0 0 .38rem;
    color: var(--tech-muted);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.ticker-tech-agreement-take p {
    margin: 0;
    color: var(--tech-ink);
    font-size: .88rem;
    font-weight: 800;
    line-height: 1.55;
}

.ticker-tech-panel { margin-top: 1rem; padding: 1.25rem; }
.ticker-tech-market-dynamics { border-top: 4px solid var(--tech-navy); }

.ticker-tech-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.4rem;
    padding-bottom: .9rem;
    border-bottom: 1px solid var(--tech-line);
}

.ticker-tech-section-head > div:first-child { min-width: 0; max-width: 78rem; }

.ticker-tech-section-head h2,
.ticker-tech-card-head h2,
.ticker-tech-compact-tape h2 {
    margin: 0;
    color: var(--tech-ink);
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(1.75rem, 3vw, 2.8rem);
    line-height: 1.02;
    letter-spacing: -.025em;
}

.ticker-tech-section-head p,
.ticker-tech-card-head p,
.ticker-tech-compact-tape p {
    margin: .35rem 0 0;
    color: var(--tech-muted);
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.5;
}

.ticker-tech-aside {
    flex: 0 0 auto;
    color: var(--tech-muted);
    font-size: .74rem;
    font-weight: 800;
    line-height: 1.5;
    text-align: right;
}

.ticker-tech-md-annotations {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .7rem;
    margin-top: 1rem;
}

.ticker-tech-md-annotations article {
    min-width: 0;
    padding: .8rem .9rem;
    border: 1px solid var(--tech-line);
    border-top: 3px solid #8ba5ba;
    background: var(--tech-soft);
}

.ticker-tech-md-annotations article.is-positive { border-top-color: var(--tech-green); background: #f1fbf7; }
.ticker-tech-md-annotations article.is-negative { border-top-color: var(--tech-red); background: #fff4f4; }

.ticker-tech-md-annotations strong {
    display: block;
    color: var(--tech-ink);
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 1.25rem;
    line-height: 1.1;
}

.ticker-tech-md-annotations p {
    margin: .3rem 0 0;
    color: var(--tech-muted);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.45;
}

.ticker-tech-md-chart {
    position: relative;
    min-height: 455px;
    margin-top: 1rem;
    overflow: hidden;
    background: #fff;
}

.ticker-tech-legend,
.ticker-tech-dynamic-legend {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .7rem 1rem;
    padding-top: .72rem;
    color: var(--tech-muted);
    font-size: .72rem;
    font-weight: 800;
}

.ticker-tech-legend span,
.ticker-tech-dynamic-legend span {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
}

.ticker-tech-legend span::before,
.ticker-tech-dynamic-legend span::before {
    width: 1.35rem;
    height: .28rem;
    background: var(--legend);
    content: "";
}

.ticker-tech-legend span.is-line::before { height: 2px; }
.ticker-tech-legend span.is-band::before {
    height: .65rem;
    border: 1px solid #9eafbb;
}
.ticker-tech-legend span.is-dot::before {
    width: .72rem;
    height: .72rem;
    border: 2px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px var(--legend);
}

.ticker-tech-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .65rem;
    margin-top: 1rem;
}

.ticker-tech-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.ticker-tech-grid .ticker-tech-panel { margin: 0; }

.ticker-tech-chart-card {
    display: flex;
    min-width: 0;
    min-height: 510px;
    flex-direction: column;
    border-top: 3px solid var(--tech-navy);
}

.ticker-tech-card-head { min-height: 9rem; }
.ticker-tech-card-head h2 { font-size: clamp(1.45rem, 2vw, 2rem); }

.ticker-tech-why {
    min-height: 5.1rem;
    margin: .75rem 0;
    padding: .72rem .78rem;
    border-left: 3px solid var(--tech-blue);
    background: var(--tech-soft);
}

.ticker-tech-why p {
    margin: 0;
    color: var(--tech-ink);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.45;
}

.ticker-tech-chart {
    position: relative;
    min-height: 285px;
    margin-top: auto;
    overflow: hidden;
}

.ticker-tech-sm-tape { border-top: 4px solid var(--tech-navy); }

.ticker-tech-sm-read {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, .7fr);
    margin-top: 1rem;
    border: 1px solid var(--tech-line);
    border-left: 4px solid #8ba5ba;
    background: var(--tech-soft);
}

.ticker-tech-sm-read.is-positive { border-left-color: var(--tech-green); background: #f1fbf7; }
.ticker-tech-sm-read.is-negative { border-left-color: var(--tech-red); background: #fff4f4; }
.ticker-tech-sm-read.is-caution { border-left-color: var(--tech-amber); background: #fff9ed; }

.ticker-tech-sm-read > div,
.ticker-tech-sm-read aside { padding: .9rem 1rem; }

.ticker-tech-sm-read aside {
    border-left: 1px solid var(--tech-line);
    background: rgba(255, 255, 255, .56);
}

.ticker-tech-sm-read span,
.ticker-tech-sm-cards span {
    display: block;
    margin: 0 0 .28rem;
    color: var(--tech-muted);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .12em;
    line-height: 1.35;
    text-transform: uppercase;
}

.ticker-tech-sm-read strong {
    display: block;
    color: var(--tech-ink);
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.08;
}

.ticker-tech-sm-read p,
.ticker-tech-sm-cards p {
    margin: .35rem 0 0;
    color: var(--tech-muted);
    font-size: .79rem;
    font-weight: 700;
    line-height: 1.48;
}

.ticker-tech-sm-read aside p {
    color: var(--tech-ink);
    font-weight: 800;
}

.ticker-tech-sm-cards {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .65rem;
    margin-top: .8rem;
}

.ticker-tech-sm-cards article {
    min-width: 0;
    padding: .78rem .85rem;
    border: 1px solid var(--tech-line);
    border-top: 3px solid #8ba5ba;
    background: var(--tech-soft);
}

.ticker-tech-sm-cards article.is-positive { border-top-color: var(--tech-green); background: #f1fbf7; }
.ticker-tech-sm-cards article.is-negative { border-top-color: var(--tech-red); background: #fff4f4; }
.ticker-tech-sm-cards article.is-caution { border-top-color: var(--tech-amber); background: #fff9ed; }

.ticker-tech-sm-cards strong {
    display: block;
    color: var(--tech-ink);
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 1.25rem;
    line-height: 1.1;
}

.ticker-tech-sm-main-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.15rem;
    padding-top: 1rem;
    border-top: 1px solid var(--tech-line);
}

.ticker-tech-sm-main-head h3,
.ticker-tech-sm-support-head h3 {
    margin: 0;
    color: var(--tech-ink);
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(1.45rem, 2.35vw, 2.2rem);
    line-height: 1.04;
    letter-spacing: -.02em;
}

.ticker-tech-sm-main-head p:not(.ticker-tech-eyebrow),
.ticker-tech-sm-support-head p:not(.ticker-tech-eyebrow) {
    margin: .32rem 0 0;
    color: var(--tech-muted);
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.5;
}

.ticker-tech-sm-main-chart {
    position: relative;
    min-height: 440px;
    margin-top: .8rem;
    overflow: hidden;
}

.ticker-tech-sm-support {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.15rem;
    padding-top: 1.15rem;
    border-top: 1px solid var(--tech-line);
}

.ticker-tech-sm-support > article {
    display: flex;
    min-width: 0;
    min-height: 470px;
    flex-direction: column;
    padding: 1rem;
    border: 1px solid var(--tech-line);
    border-top: 3px solid var(--tech-navy);
    background: #fff;
}

.ticker-tech-sm-support-head { min-height: 8rem; }

.ticker-tech-sm-now {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: .75rem 0 .35rem;
    border: 1px solid var(--tech-line);
    background: var(--tech-line);
}

.ticker-tech-sm-now span {
    min-width: 0;
    padding: .58rem .65rem;
    background: var(--tech-soft);
    color: var(--tech-muted);
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .09em;
    line-height: 1.35;
    text-transform: uppercase;
}

.ticker-tech-sm-now strong {
    display: block;
    margin-top: .2rem;
    color: var(--tech-ink);
    font-family: "Source Serif 4", Georgia, serif;
    font-size: .92rem;
    letter-spacing: 0;
    line-height: 1.15;
    text-transform: none;
}

.ticker-tech-sm-now em {
    grid-column: 1 / -1;
    padding: .34rem .65rem;
    background: #fff;
    color: var(--tech-muted);
    font-size: .62rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .08em;
    text-align: right;
    text-transform: uppercase;
}

.ticker-tech-sm-support-chart {
    position: relative;
    min-height: 320px;
    margin-top: auto;
    overflow: hidden;
}

.ticker-tech-hover {
    position: fixed;
    z-index: 1400;
    display: none;
    width: min(18rem, calc(100vw - 1rem));
    padding: .62rem;
    border: 1px solid rgba(9, 42, 70, .42);
    border-radius: .2rem;
    background: rgba(7, 27, 46, .97);
    box-shadow: 0 .5rem 1.5rem rgba(7, 27, 46, .24);
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.35;
    pointer-events: none;
}

.ticker-tech-hover-date {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .65rem;
    padding: 0 .08rem .48rem;
    border-bottom: 1px solid rgba(220, 234, 244, .24);
    font-size: .78rem;
    font-variant-numeric: tabular-nums;
}

.ticker-tech-hover-date span {
    color: #9fb5c5;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.ticker-tech-hover-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .38rem;
    padding-top: .45rem;
}

.ticker-tech-hover-row {
    display: grid;
    min-width: 0;
    padding: .36rem .42rem;
    border: 1px solid rgba(220, 234, 244, .12);
    background: rgba(255, 255, 255, .035);
}

.ticker-tech-hover-row.is-wide { grid-column: 1 / -1; }

.ticker-tech-hover-row em {
    color: #9fb5c5;
    font-size: .56rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.ticker-tech-hover-row b {
    margin-top: .08rem;
    color: inherit;
    font-size: .75rem;
    font-variant-numeric: tabular-nums;
}

.ticker-tech-hover-row small {
    margin-top: .08rem;
    color: #c6d5df;
    font-size: .62rem;
    font-weight: 600;
}

.ticker-tech-hover-row.is-series {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .4rem;
}

.ticker-tech-hover-row.is-series i {
    width: .5rem;
    height: .5rem;
}

.ticker-tech-hover-row.is-series b { margin-top: 0; }

.ticker-tech-hover-row.is-ohlc {
    color: #dceaf4;
    font-variant-numeric: tabular-nums;
}
.ticker-tech-hover-row.is-positive { color: #7be0b2; }
.ticker-tech-hover-row.is-negative { color: #ff9b9f; }
.ticker-tech-hover-row.is-caution { color: #ffd07a; }
.ticker-tech-hover-row.is-muted { color: #afc0cd; }

.ticker-tech-compact-tape {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.ticker-tech-boundary {
    margin-top: 1rem;
    padding: .9rem 1rem;
    border-left: 4px solid var(--tech-amber);
    background: #fff8e7;
}

.ticker-tech-boundary strong {
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 1.05rem;
}

.ticker-tech-boundary p {
    margin: .22rem 0 0;
    color: #5e4a1b;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.5;
}

.ticker-tech-page .uplot { font-family: "IBM Plex Sans", system-ui, sans-serif; }

@media (max-width: 1180px) {
    .ticker-tech-hero { grid-template-columns: minmax(0, 1.35fr) minmax(330px, .9fr); }
    .ticker-tech-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ticker-tech-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ticker-tech-md-annotations { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ticker-tech-sm-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .ticker-tech-page { width: calc(100% - .8rem); margin-top: .6rem; }
    .ticker-tech-hero { grid-template-columns: 1fr; }
    .ticker-tech-agreement { grid-template-columns: 1fr; }
    .ticker-tech-agreement-take { border-top: 1px solid var(--tech-line); border-left: 0; }
    .ticker-tech-hero-copy { padding: 1rem; }
    .ticker-tech-hero-side { border-top: 1px solid var(--tech-line); border-left: 0; padding: .75rem; }
    .ticker-tech-hero h1 { font-size: clamp(2.5rem, 14vw, 4.2rem); }
    .ticker-tech-panel { padding: .85rem; }
    .ticker-tech-section-head { display: block; }
    .ticker-tech-aside { margin-top: .5rem; text-align: left; }
    .ticker-tech-grid { grid-template-columns: 1fr; }
    .ticker-tech-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ticker-tech-chart-card { min-height: 475px; }
    .ticker-tech-card-head { min-height: 0; }
    .ticker-tech-why { min-height: 0; }
    .ticker-tech-md-chart { min-height: 390px; }
    .ticker-tech-chart { min-height: 270px; }
    .ticker-tech-sm-read { grid-template-columns: 1fr; }
    .ticker-tech-sm-read aside { border-top: 1px solid var(--tech-line); border-left: 0; }
    .ticker-tech-sm-main-head { display: block; }
    .ticker-tech-sm-main-chart { min-height: 390px; }
    .ticker-tech-sm-support { grid-template-columns: 1fr; }
    .ticker-tech-sm-support > article { min-height: 440px; }
    .ticker-tech-sm-support-head { min-height: 0; }
    .ticker-tech-compact-tape { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 470px) {
    .ticker-tech-hero-side,
    .ticker-tech-md-annotations,
    .ticker-tech-kpi-grid,
    .ticker-tech-sm-cards { grid-template-columns: 1fr; }
    .ticker-tech-state { grid-column: auto; }
    .ticker-tech-md-chart { min-height: 350px; }
    .ticker-tech-chart { min-height: 250px; }
    .ticker-tech-sm-main-chart { min-height: 350px; }
    .ticker-tech-sm-support-chart { min-height: 285px; }
}
