.ots-page {
    --ots-carbon: #111419;
    --ots-graphite: #252a31;
    --ots-steel: #5d646d;
    --ots-powder: #e8e8e3;
    --ots-chalk: #f8f8f4;
    --ots-white: #ffffff;
    --ots-orange: #f58334;
    --ots-orange-dark: #cf6320;
    --ots-blue: #4596b8;
    --ots-blue-light: #a5d7e7;
    --ots-red: #b83a3a;
    --ots-line: rgba(17, 20, 25, 0.14);
    --ots-shadow: 0 24px 70px rgba(17, 20, 25, 0.13);
    color: var(--ots-carbon);
    background: var(--ots-chalk);
    font-family: "Lato", Arial, sans-serif;
    font-size: 17px;
    line-height: 1.65;
    overflow: hidden;
}

.ots-page *,
.ots-page *::before,
.ots-page *::after {
    box-sizing: border-box;
}

.ots-page h1,
.ots-page h2,
.ots-page h3,
.ots-page p,
.ots-page dl,
.ots-page dd,
.ots-page figure,
.ots-page ol,
.ots-page ul {
    margin-top: 0;
}

.ots-page h1,
.ots-page h2,
.ots-page h3 {
    color: inherit;
    font-family: "Raleway", Arial, sans-serif;
    letter-spacing: -0.035em;
}

.ots-page h2 {
    max-width: 820px;
    margin-bottom: 24px;
    font-size: clamp(34px, 4vw, 62px);
    font-weight: 700;
    line-height: 1.04;
}

.ots-page h3 {
    line-height: 1.16;
}

.ots-page a {
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.ots-page a:focus-visible,
.ots-page summary:focus-visible {
    outline: 3px solid var(--ots-blue);
    outline-offset: 4px;
}

.ots-shell {
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
}

.ots-section {
    padding: 96px 0;
}

.ots-section--light {
    background: var(--ots-white);
}

.ots-section-label,
.ots-data-label,
.ots-source-tag,
.ots-live-label {
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.15em;
    line-height: 1.4;
    text-transform: uppercase;
}

.ots-section-label {
    margin-bottom: 16px;
    color: var(--ots-orange-dark);
}

.ots-section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.55fr);
    gap: 72px;
    align-items: end;
    margin-bottom: 54px;
}

.ots-section-heading h2 {
    margin-bottom: 0;
}

.ots-section-heading > p {
    margin-bottom: 7px;
    color: var(--ots-steel);
    font-size: 18px;
}

.ots-section-heading--dark > p {
    color: rgba(255, 255, 255, 0.66);
}

.ots-section-heading__title {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.ots-section-heading__title--standalone {
    margin-bottom: 4px;
}

.ots-section-icon {
    position: relative;
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    border: 1px solid rgba(17, 20, 25, 0.2);
    border-top: 3px solid var(--ots-orange);
    background: var(--ots-chalk);
    box-shadow: 5px 6px 0 rgba(17, 20, 25, 0.12);
}

.ots-section-icon img,
.ots-section-icon .performance-icon {
    width: 42px;
    height: 42px;
    object-fit: contain;
    opacity: 0.94;
}

.ots-lead {
    color: var(--ots-graphite);
    font-size: 23px;
    font-weight: 400;
    line-height: 1.45;
}

/* Hero */
.ots-hero {
    position: relative;
    padding: 44px 0 92px;
    background:
        linear-gradient(110deg, rgba(255, 255, 255, 0.92) 0%, rgba(232, 232, 227, 0.96) 55%, rgba(215, 217, 214, 0.92) 100%),
        repeating-linear-gradient(90deg, transparent 0, transparent 59px, rgba(17, 20, 25, 0.035) 60px);
}

.ots-hero::before {
    position: absolute;
    top: 0;
    right: 0;
    width: min(32vw, 460px);
    height: 7px;
    background: linear-gradient(90deg, transparent, var(--ots-orange) 28%, var(--ots-orange));
    content: "";
}

.ots-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 76px;
    color: var(--ots-steel);
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ots-breadcrumbs a {
    color: var(--ots-graphite);
}

.ots-breadcrumbs a:hover {
    color: var(--ots-orange-dark);
}

.ots-hero__layout {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(520px, 1.18fr);
    gap: 66px;
    align-items: center;
}

.ots-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
    color: var(--ots-orange-dark);
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.ots-kicker::before {
    width: 34px;
    height: 2px;
    background: var(--ots-orange);
    content: "";
}

.ots-hero h1 {
    margin-bottom: 30px;
    font-size: clamp(48px, 5.6vw, 82px);
    font-weight: 700;
    line-height: 0.98;
}

.ots-hero h1 span {
    display: block;
    margin-top: 13px;
    color: var(--ots-orange-dark);
}

.ots-hero__lead {
    max-width: 650px;
    margin-bottom: 34px;
    color: var(--ots-graphite);
    font-size: 20px;
    line-height: 1.6;
}

.ots-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    align-items: center;
}

.ots-button {
    display: inline-flex;
    min-height: 52px;
    padding: 14px 20px;
    align-items: center;
    justify-content: center;
    gap: 18px;
    border: 1px solid transparent;
    color: var(--ots-carbon);
    font-family: "Raleway", Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.035em;
    line-height: 1.2;
    text-decoration: none;
}

.ots-button--primary {
    background: var(--ots-orange);
    box-shadow: 5px 5px 0 var(--ots-carbon);
}

.ots-button--primary:hover {
    color: var(--ots-carbon);
    background: #ff9a54;
    transform: translate(-2px, -2px);
}

.ots-button--secondary {
    border-color: rgba(17, 20, 25, 0.38);
    background: rgba(255, 255, 255, 0.28);
}

.ots-button--secondary:hover {
    border-color: var(--ots-carbon);
    color: var(--ots-carbon);
    background: rgba(255, 255, 255, 0.7);
}

.ots-hero__note {
    max-width: 600px;
    margin: 26px 0 0;
    color: var(--ots-steel);
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
    line-height: 1.6;
}

/* Calibration envelope */
.ots-envelope {
    position: relative;
    min-width: 0;
    padding: 20px 20px 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    color: var(--ots-white);
    background: var(--ots-carbon);
    box-shadow: 16px 18px 0 rgba(93, 100, 109, 0.17), var(--ots-shadow);
}

.ots-envelope::before,
.ots-envelope::after {
    position: absolute;
    left: -9px;
    width: 9px;
    height: 34px;
    background: #7b8187;
    content: "";
}

.ots-envelope::before {
    top: 56px;
}

.ots-envelope::after {
    bottom: 56px;
}

.ots-envelope__header {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    justify-content: space-between;
    padding: 2px 4px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.ots-envelope__header > div {
    display: grid;
    gap: 4px;
}

.ots-envelope__header strong {
    font-family: "Raleway", Arial, sans-serif;
    font-size: 17px;
    line-height: 1.25;
}

.ots-data-label {
    color: var(--ots-orange);
}

.ots-live-label {
    display: flex;
    gap: 8px;
    align-items: center;
    color: rgba(255, 255, 255, 0.55);
    white-space: nowrap;
}

.ots-live-label i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ots-blue);
    box-shadow: 0 0 0 4px rgba(69, 150, 184, 0.15);
}

.ots-envelope__chart {
    display: block;
    width: 100%;
    height: auto;
    margin: 2px 0 0;
}

.ots-chart-surface {
    fill: #151a20;
    stroke: rgba(255, 255, 255, 0.08);
}

.ots-chart-grid {
    fill: none;
    vector-effect: non-scaling-stroke;
}

.ots-chart-grid--minor {
    stroke: rgba(255, 255, 255, 0.035);
    stroke-width: 1;
}

.ots-chart-grid--major {
    stroke: rgba(255, 255, 255, 0.07);
    stroke-width: 1;
}

.ots-chart-axis {
    stroke: rgba(255, 255, 255, 0.22);
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
}

.ots-unsafe-zone {
    fill: rgba(184, 58, 58, 0.08);
}

.ots-curve {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

.ots-safety-boundary {
    stroke: var(--ots-red);
    stroke-dasharray: 8 7;
    stroke-width: 2;
}

.ots-band {
    fill: url(#ots-band-fill);
    stroke: var(--ots-orange);
    stroke-width: 1.5;
    vector-effect: non-scaling-stroke;
}

.ots-stock-curve {
    stroke: #838b93;
    stroke-width: 3;
}

.ots-cheap-curve {
    fill: none;
    stroke: #d7bd7a;
    stroke-dasharray: 8 6;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.5;
    vector-effect: non-scaling-stroke;
}

.ots-custom-curve {
    stroke: url(#custom-line);
    stroke-width: 4;
}

.ots-chart-label rect {
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
}

.ots-chart-label text,
.ots-chart-axis-label {
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.07em;
}

.ots-chart-label--boundary rect {
    fill: #2a1a1c;
    stroke: rgba(184, 58, 58, 0.6);
}

.ots-chart-label--boundary text {
    fill: #e88989;
}

.ots-chart-label--custom rect {
    fill: #13242b;
    stroke: rgba(69, 150, 184, 0.6);
}

.ots-chart-label--custom text {
    fill: var(--ots-blue-light);
}

.ots-chart-label--ots rect {
    fill: #2b2119;
    stroke: rgba(245, 131, 52, 0.6);
}

.ots-chart-label--ots text {
    fill: #ffc08f;
}

.ots-chart-label--cheap rect {
    fill: #29261d;
    stroke: rgba(215, 189, 122, 0.65);
}

.ots-chart-label--cheap text {
    fill: #f0dca7;
}

.ots-chart-label--stock rect {
    fill: #20252a;
    stroke: rgba(255, 255, 255, 0.16);
}

.ots-chart-label--stock text,
.ots-chart-axis-label {
    fill: #9ca3aa;
}

.ots-envelope__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding: 13px 4px 2px;
    border-top: 1px solid rgba(255, 255, 255, 0.09);
    color: rgba(255, 255, 255, 0.62);
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.ots-envelope__legend span {
    display: flex;
    gap: 8px;
    align-items: center;
}

.ots-key {
    display: inline-block;
    width: 18px;
    height: 3px;
}

.ots-key--boundary {
    background: var(--ots-red);
}

.ots-key--ots {
    background: var(--ots-orange);
}

.ots-key--cheap {
    background: #d7bd7a;
}

.ots-key--custom {
    background: var(--ots-blue);
}

.ots-motion-ready .ots-envelope:not(.is-visible) .ots-curve {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
}

.ots-motion-ready .ots-envelope.is-visible .ots-curve {
    stroke-dasharray: 1;
    stroke-dashoffset: 0;
    transition: stroke-dashoffset 1150ms cubic-bezier(0.22, 0.7, 0.27, 1);
}

.ots-motion-ready .ots-envelope.is-visible .ots-custom-curve {
    transition-delay: 260ms;
}

.ots-motion-ready .ots-envelope.is-visible .ots-safety-boundary {
    transition-delay: 470ms;
}

/* Verdict */
.ots-verdict {
    padding: 44px 0;
    color: var(--ots-white);
    background: var(--ots-graphite);
}

.ots-verdict__layout {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) minmax(220px, 0.48fr);
    gap: 42px;
    align-items: center;
}

.ots-verdict .ots-section-label {
    margin: 0;
    color: var(--ots-orange);
}

.ots-verdict__statement {
    margin: 0;
    font-family: "Raleway", Arial, sans-serif;
    font-size: clamp(22px, 2.4vw, 34px);
    line-height: 1.26;
}

.ots-verdict__statement strong {
    color: var(--ots-orange);
}

.ots-verdict__detail {
    margin: 0;
    padding-left: 28px;
    border-left: 1px solid rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.66);
    font-size: 15px;
}

/* Pedal response */
.ots-pedal {
    color: var(--ots-white);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background:
        linear-gradient(120deg, rgba(69, 150, 184, 0.055), transparent 42%),
        var(--ots-carbon);
}

.ots-pedal h2,
.ots-pedal h3 {
    color: var(--ots-white);
}

.ots-pedal .ots-section-label,
.ots-pedal .ots-data-label {
    color: var(--ots-orange);
}

.ots-pedal__graphs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.ots-pedal-card {
    min-width: 0;
    margin: 0;
    padding: 28px 28px 22px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    background: #20252b;
    box-shadow: 12px 14px 0 rgba(0, 0, 0, 0.18);
}

.ots-pedal-card--rescaled {
    border-top: 4px solid var(--ots-orange);
}

.ots-pedal-card:not(.ots-pedal-card--rescaled) {
    border-top: 4px solid var(--ots-blue);
}

.ots-pedal-card figcaption {
    min-height: 215px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.ots-pedal-card h3 {
    margin: 12px 0 14px;
    font-size: 28px;
    font-weight: 700;
}

.ots-pedal-card figcaption p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.64);
    font-size: 15px;
    line-height: 1.55;
}

.ots-pedal-chart {
    display: block;
    width: 100%;
    height: auto;
    margin: 12px 0 0;
}

.ots-pedal-chart .ots-chart-surface {
    fill: #151a20;
}

.ots-pedal-curve {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

.ots-pedal-curve--progressive {
    stroke: var(--ots-blue-light);
    stroke-width: 4;
}

.ots-pedal-curve--reference {
    stroke: #7f8992;
    stroke-dasharray: 8 7;
    stroke-width: 2.5;
}

.ots-pedal-curve--rescaled {
    stroke: var(--ots-orange);
    stroke-width: 4;
}

.ots-pedal-guide {
    stroke-dasharray: 5 6;
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
}

.ots-pedal-guide--blue {
    stroke: rgba(165, 215, 231, 0.52);
}

.ots-pedal-guide--orange {
    stroke: rgba(245, 131, 52, 0.62);
}

.ots-pedal-point {
    stroke-width: 3;
    vector-effect: non-scaling-stroke;
}

.ots-pedal-point--blue {
    fill: #151a20;
    stroke: var(--ots-blue-light);
}

.ots-pedal-point--orange {
    fill: #151a20;
    stroke: var(--ots-orange);
}

.ots-pedal-peak-ring {
    fill: rgba(245, 131, 52, 0.11);
    stroke: var(--ots-orange);
    stroke-width: 1.5;
    vector-effect: non-scaling-stroke;
}

.ots-pedal-peak-point {
    fill: var(--ots-white);
}

.ots-pedal-peak-leader {
    stroke: rgba(255, 255, 255, 0.4);
    stroke-dasharray: 3 4;
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
}

.ots-pedal-annotation,
.ots-pedal-axis-label,
.ots-pedal-tick,
.ots-pedal-card__legend {
    font-family: Consolas, "Courier New", monospace;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.ots-pedal-annotation {
    font-size: 11px;
}

.ots-pedal-annotation--blue {
    fill: var(--ots-blue-light);
}

.ots-pedal-annotation--orange {
    fill: #ffc08f;
}

.ots-pedal-annotation--peak {
    fill: var(--ots-white);
    font-size: 10px;
}

.ots-pedal-axis-label,
.ots-pedal-tick {
    fill: #929aa2;
    font-size: 10px;
}

.ots-pedal-card__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    align-items: center;
    min-height: 48px;
    padding: 14px 2px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.58);
    font-size: 10px;
    text-transform: uppercase;
}

.ots-pedal-card__legend span {
    display: flex;
    gap: 8px;
    align-items: center;
}

.ots-pedal-swatch {
    display: inline-block;
    width: 20px;
    height: 3px;
}

.ots-pedal-swatch--progressive {
    background: var(--ots-blue-light);
}

.ots-pedal-swatch--reference {
    height: 2px;
    background: repeating-linear-gradient(90deg, #7f8992 0, #7f8992 7px, transparent 7px, transparent 12px);
}

.ots-pedal-swatch--rescaled {
    background: var(--ots-orange);
}

.ots-pedal__truth {
    display: grid;
    grid-template-columns: minmax(260px, 0.68fr) minmax(0, 1.32fr);
    gap: 42px;
    align-items: center;
    margin-top: 44px;
    padding: 23px 26px;
    border-left: 4px solid var(--ots-red);
    background: rgba(255, 255, 255, 0.055);
}

.ots-pedal__truth strong {
    font-family: "Raleway", Arial, sans-serif;
    font-size: 18px;
}

.ots-pedal__truth span {
    color: rgba(255, 255, 255, 0.64);
}

/* Smoke and EGT */
.ots-smoke {
    color: var(--ots-carbon);
    border-top: 1px solid rgba(17, 20, 25, 0.12);
    background:
        linear-gradient(128deg, rgba(69, 150, 184, 0.08), transparent 38%),
        var(--ots-powder);
}

.ots-smoke .ots-section-label {
    color: var(--ots-orange-dark);
}

.ots-smoke__graphs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.ots-smoke-card {
    min-width: 0;
    margin: 0;
    padding: 28px 28px 22px;
    color: var(--ots-white);
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: #20252b;
    box-shadow: 12px 14px 0 rgba(17, 20, 25, 0.12);
}

.ots-smoke-card--stock {
    border-top: 5px solid var(--ots-blue);
}

.ots-smoke-card--danger {
    border-top: 5px solid var(--ots-red);
    background:
        linear-gradient(145deg, rgba(184, 58, 58, 0.11), transparent 45%),
        #20252b;
}

.ots-smoke-card figcaption {
    min-height: 230px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.ots-smoke-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--ots-blue-light);
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ots-smoke-status i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--ots-blue);
    box-shadow: 0 0 0 5px rgba(69, 150, 184, 0.12);
}

.ots-smoke-status strong {
    padding: 5px 9px;
    color: var(--ots-white);
    background: var(--ots-red);
    font-size: 10px;
    letter-spacing: 0.12em;
}

.ots-smoke-card h3 {
    margin: 15px 0 14px;
    color: var(--ots-white);
    font-size: 28px;
    font-weight: 700;
}

.ots-smoke-card figcaption p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.66);
    font-size: 15px;
    line-height: 1.55;
}

.ots-smoke-chart {
    display: block;
    width: 100%;
    height: auto;
    margin: 12px 0 0;
}

.ots-smoke-chart .ots-chart-surface {
    fill: #151a20;
}

.ots-smoke-danger-zone {
    fill: rgba(184, 58, 58, 0.06);
}

.ots-smoke-danger-zone--active {
    fill: rgba(184, 58, 58, 0.22);
}

.ots-smoke-threshold {
    stroke: rgba(184, 58, 58, 0.46);
    stroke-dasharray: 6 6;
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
}

.ots-smoke-threshold--active {
    stroke: var(--ots-red);
    stroke-width: 1.5;
}

.ots-smoke-area--stock {
    fill: url(#stock-smoke-fill);
}

.ots-smoke-area--danger {
    fill: url(#danger-smoke-fill);
}

.ots-smoke-line,
.ots-egt-line {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

.ots-smoke-line {
    stroke-width: 4;
}

.ots-smoke-line--stock {
    stroke: var(--ots-blue-light);
}

.ots-smoke-line--danger {
    stroke: #e26464;
}

.ots-egt-line {
    stroke-dasharray: 8 6;
    stroke-width: 3;
}

.ots-egt-line--stock {
    stroke: var(--ots-orange);
}

.ots-egt-line--danger {
    stroke: #ff775f;
}

.ots-smoke-point {
    fill: #151a20;
    stroke-width: 3;
    vector-effect: non-scaling-stroke;
}

.ots-smoke-point--blue {
    stroke: var(--ots-blue-light);
}

.ots-smoke-point--orange {
    stroke: var(--ots-orange);
}

.ots-smoke-point--red {
    stroke: #e26464;
}

.ots-smoke-danger-point {
    fill: var(--ots-red);
    stroke: #ffaaa0;
    stroke-width: 2;
    vector-effect: non-scaling-stroke;
}

.ots-smoke-annotation,
.ots-smoke-threshold-label,
.ots-smoke-axis-label,
.ots-smoke-tick,
.ots-smoke-legend {
    font-family: Consolas, "Courier New", monospace;
    font-weight: 700;
    letter-spacing: 0.055em;
}

.ots-smoke-annotation {
    font-size: 10px;
}

.ots-smoke-annotation--blue {
    fill: var(--ots-blue-light);
}

.ots-smoke-annotation--orange {
    fill: #ffc08f;
}

.ots-smoke-annotation--red {
    fill: #ff9b91;
}

.ots-smoke-annotation--danger {
    fill: #ffd0cb;
    font-size: 9px;
}

.ots-smoke-threshold-label {
    fill: #d17b7b;
    font-size: 9px;
}

.ots-smoke-threshold-label--active {
    fill: #ffc0b9;
}

.ots-smoke-axis-label,
.ots-smoke-tick {
    fill: #929aa2;
    font-size: 10px;
}

.ots-smoke-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    align-items: center;
    min-height: 50px;
    padding: 15px 2px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.62);
    font-size: 10px;
    text-transform: uppercase;
}

.ots-smoke-legend span {
    display: flex;
    gap: 8px;
    align-items: center;
}

.ots-smoke-key {
    display: inline-block;
    width: 20px;
    height: 3px;
}

.ots-smoke-key--blue {
    background: var(--ots-blue-light);
}

.ots-smoke-key--red {
    background: #e26464;
}

.ots-smoke-key--egt,
.ots-smoke-key--egt-danger {
    height: 2px;
}

.ots-smoke-key--egt {
    background: repeating-linear-gradient(90deg, var(--ots-orange) 0, var(--ots-orange) 7px, transparent 7px, transparent 12px);
}

.ots-smoke-key--egt-danger {
    background: repeating-linear-gradient(90deg, #ff775f 0, #ff775f 7px, transparent 7px, transparent 12px);
}

.ots-smoke-key--ceiling {
    height: 8px;
    background: rgba(184, 58, 58, 0.55);
}

.ots-smoke__truth {
    display: grid;
    grid-template-columns: minmax(260px, 0.68fr) minmax(0, 1.32fr);
    gap: 42px;
    align-items: center;
    margin-top: 44px;
    padding: 23px 26px;
    border-left: 4px solid var(--ots-red);
    color: var(--ots-white);
    background: var(--ots-graphite);
}

.ots-smoke__truth strong {
    font-family: "Raleway", Arial, sans-serif;
    font-size: 18px;
}

.ots-smoke__truth span {
    color: rgba(255, 255, 255, 0.68);
}

/* Approaches */
.ots-comparison {
    border-bottom: 1px solid var(--ots-line);
    background:
        linear-gradient(135deg, rgba(245, 131, 52, 0.035), transparent 38%),
        var(--ots-white);
}

.ots-approaches {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ots-approach {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 560px;
    padding: 32px 28px 28px;
    flex-direction: column;
    border: 1px solid var(--ots-line);
    border-top-width: 5px;
    background: var(--ots-chalk);
}

.ots-approach--proven {
    border-top-color: var(--ots-orange);
}

.ots-approach--unknown {
    border-top-color: var(--ots-red);
}

.ots-approach--custom {
    border-top-color: var(--ots-blue);
}

.ots-approach__status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 34px;
    color: var(--ots-steel);
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.ots-approach__status i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--ots-steel);
}

.ots-approach--proven .ots-approach__status i {
    background: var(--ots-orange);
}

.ots-approach--unknown .ots-approach__status i {
    background: var(--ots-red);
}

.ots-approach--custom .ots-approach__status i {
    background: var(--ots-blue);
}

.ots-approach__heading {
    display: grid;
    min-height: 78px;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 17px;
    align-items: center;
    margin: -15px 0 17px;
}

.ots-approach__icon {
    width: 58px;
    height: 58px;
}

.ots-approach__heading h3 {
    min-height: 0;
    margin: 0;
}

.ots-approach h3 {
    min-height: 72px;
    margin-bottom: 17px;
    font-size: 30px;
    font-weight: 700;
}

.ots-approach > p {
    color: var(--ots-steel);
}

.ots-approach > p:not(.ots-approach__bottom) {
    min-height: 150px;
}

.ots-approach dl {
    margin: 20px 0 28px;
    border-top: 1px solid var(--ots-line);
}

.ots-approach dl > div {
    display: grid;
    min-height: 150px;
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 12px;
    padding: 13px 0;
    border-bottom: 1px solid var(--ots-line);
}

.ots-approach dt {
    color: var(--ots-steel);
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ots-approach dd {
    margin: 0;
    color: var(--ots-graphite);
    font-size: 14px;
    line-height: 1.45;
}

.ots-approach .ots-approach__bottom {
    margin: auto 0 0;
    padding-top: 20px;
    color: var(--ots-carbon);
    font-weight: 700;
}

/* Headroom */
.ots-headroom {
    background: var(--ots-powder);
}

.ots-headroom__layout {
    display: grid;
    grid-template-columns: minmax(0, 0.86fr) minmax(480px, 1.14fr);
    gap: 86px;
    align-items: center;
}

.ots-headroom__copy > p:not(.ots-section-label):not(.ots-lead) {
    max-width: 660px;
    color: var(--ots-steel);
}

.ots-headroom__copy .ots-hardware-baseline {
    margin: 24px 0 0;
    padding: 15px 17px;
    border: 1px solid rgba(69, 150, 184, 0.28);
    background: rgba(69, 150, 184, 0.08);
    color: var(--ots-graphite);
    font-size: 14px;
    line-height: 1.55;
}

.ots-hardware-baseline strong {
    color: #205d76;
}

.ots-stage-explainer {
    display: grid;
    gap: 12px;
    margin: 28px 0 20px;
}

.ots-stage-explainer__group {
    border: 1px solid rgba(17, 20, 25, 0.13);
    background: rgba(255, 255, 255, 0.32);
}

.ots-stage-explainer__hardware {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 9px 12px;
    border-bottom: 1px solid rgba(17, 20, 25, 0.12);
    font-family: Consolas, "Courier New", monospace;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.ots-stage-explainer__hardware small {
    color: var(--ots-steel);
    font-size: 9px;
    letter-spacing: 0.04em;
}

.ots-stage-explainer__group--stock .ots-stage-explainer__hardware {
    color: #205d76;
    background: rgba(69, 150, 184, 0.1);
}

.ots-stage-explainer__group--supporting .ots-stage-explainer__hardware {
    color: var(--ots-orange-dark);
    background: rgba(245, 131, 52, 0.1);
}

.ots-stage-explainer__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: rgba(17, 20, 25, 0.1);
}

.ots-stage-explainer article {
    padding: 16px 18px;
    border-left: 4px solid var(--ots-steel);
    background: rgba(255, 255, 255, 0.7);
}

.ots-stage-explainer__stage1 {
    border-left-color: var(--ots-blue) !important;
}

.ots-stage-explainer__stage2 {
    border-left-color: var(--ots-orange) !important;
}

.ots-stage-explainer__stage1plus {
    border-left-color: #6aafc9 !important;
}

.ots-stage-explainer__stage2plus {
    border-left-color: #cf6320 !important;
}

.ots-stage-explainer article > span {
    display: block;
    margin-bottom: 7px;
    color: var(--ots-carbon);
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.ots-stage-explainer__stage1 > span {
    color: #286d8a;
}

.ots-stage-explainer__stage2 > span {
    color: var(--ots-orange-dark);
}

.ots-stage-explainer__stage1plus > span {
    color: #327c9b;
}

.ots-stage-explainer__stage2plus > span {
    color: #a84418;
}

.ots-stage-explainer p {
    margin: 0;
    color: var(--ots-graphite);
    font-size: 14px;
    line-height: 1.55;
}

.ots-headroom__copy .ots-stage-caveat {
    margin: 20px 0 14px;
    padding: 16px 18px;
    border-left: 4px solid var(--ots-red);
    color: var(--ots-graphite);
    background: rgba(184, 58, 58, 0.07);
}

.ots-stage-caveat strong {
    color: var(--ots-carbon);
}

.ots-headroom__copy .ots-stage-label-note {
    margin-bottom: 0;
    font-size: 13px;
    line-height: 1.55;
}

.ots-headroom__instrument {
    padding: 24px;
    border: 1px solid rgba(17, 20, 25, 0.18);
    background: #d9dbd8;
    box-shadow: 12px 14px 0 rgba(17, 20, 25, 0.09);
}

.ots-instrument__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(17, 20, 25, 0.16);
    color: var(--ots-steel);
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
}

.ots-instrument__top .ots-data-label {
    color: var(--ots-carbon);
}

.ots-stage-gauge {
    margin: 22px 0;
    padding: 19px 18px 18px;
    border: 1px solid rgba(17, 20, 25, 0.24);
    background: var(--ots-white);
}

.ots-stage-gauge__scale {
    display: grid;
    grid-template-columns: minmax(0, 55fr) minmax(74px, 20fr) minmax(0, 25fr);
    align-items: end;
    color: var(--ots-steel);
    font-family: Consolas, "Courier New", monospace;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.ots-stage-gauge__scale span:nth-child(2) {
    color: var(--ots-red);
    text-align: center;
}

.ots-stage-gauge__scale span:last-child {
    color: #7d1f27;
    text-align: right;
}

.ots-stage-gauge__track {
    position: relative;
    height: 56px;
    margin: 68px 6px 8px;
    border: 1px solid rgba(17, 20, 25, 0.24);
    background: linear-gradient(90deg, #4596b8 0, #4596b8 48%, #f58334 60%, #f0a066 74.8%, #b83a3a 75%, #741d25 100%);
}

.ots-stage-gauge__track::after {
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.07) 0, rgba(255, 255, 255, 0.07) 8px, transparent 8px, transparent 16px);
    content: "";
}

.ots-stage-gauge__marker {
    position: absolute;
    top: -36px;
    z-index: 2;
    transform: translateX(-50%);
    color: var(--ots-carbon);
    font-family: Consolas, "Courier New", monospace;
    font-size: 10px;
    letter-spacing: 0.08em;
    white-space: nowrap;
}

.ots-stage-gauge__marker::after {
    position: absolute;
    top: 24px;
    left: 50%;
    width: 2px;
    height: 58px;
    transform: translateX(-50%);
    background: currentColor;
    content: "";
}

.ots-stage-gauge__marker--stage1 {
    left: 28%;
    color: #205d76;
}

.ots-stage-gauge__marker--stage1plus {
    top: -58px;
    left: 40%;
    color: #327c9b;
}

.ots-stage-gauge__marker--stage2 {
    left: 64%;
    color: #a94f17;
}

.ots-stage-gauge__marker--stage2plus {
    top: -58px;
    left: 69%;
    color: #a84418;
}

.ots-stage-gauge__marker--stage1plus::after,
.ots-stage-gauge__marker--stage2plus::after {
    height: 80px;
}

.ots-stage-gauge__limit {
    position: absolute;
    top: -8px;
    left: 75%;
    z-index: 3;
    width: 4px;
    height: 72px;
    background: var(--ots-red);
    box-shadow: 0 0 0 4px rgba(184, 58, 58, 0.12);
}

.ots-stage-gauge__danger {
    position: absolute;
    top: 6px;
    left: 87%;
    z-index: 4;
    display: grid;
    width: 112px;
    padding: 5px 7px;
    transform: translateX(-50%);
    border: 1px solid rgba(255, 255, 255, 0.68);
    color: var(--ots-white);
    background: #741d25;
    box-shadow: 0 0 0 4px rgba(184, 58, 58, 0.2), 0 0 20px rgba(184, 58, 58, 0.52);
    font-family: Consolas, "Courier New", monospace;
    font-size: 8px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0.035em;
    line-height: 1.15;
    text-align: center;
    animation: ots-danger-pulse 1.6s ease-in-out infinite;
}

.ots-stage-gauge__hardware {
    display: grid;
    grid-template-columns: minmax(0, 48fr) minmax(0, 27fr) minmax(0, 25fr);
    margin: 0 6px 17px;
    font-family: Consolas, "Courier New", monospace;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-align: center;
}

.ots-stage-gauge__hardware span {
    padding: 6px 4px;
    border: 1px solid rgba(17, 20, 25, 0.12);
}

.ots-stage-gauge__hardware span:first-child {
    color: #205d76;
    background: rgba(69, 150, 184, 0.11);
}

.ots-stage-gauge__hardware span:nth-child(2) {
    color: #a94f17;
    background: rgba(245, 131, 52, 0.12);
}

.ots-stage-gauge__hardware span:last-child {
    color: #7d1f27;
    background: rgba(184, 58, 58, 0.12);
}

.ots-stage-gauge__danger em {
    margin-top: 3px;
    color: #ffd8d8;
    font-size: 9px;
    font-style: normal;
    letter-spacing: 0.16em;
}

@keyframes ots-danger-pulse {
    0%,
    100% {
        background: #741d25;
        box-shadow: 0 0 0 4px rgba(184, 58, 58, 0.18), 0 0 12px rgba(184, 58, 58, 0.34);
    }

    50% {
        background: #b83a3a;
        box-shadow: 0 0 0 7px rgba(184, 58, 58, 0.26), 0 0 26px rgba(184, 58, 58, 0.76);
    }
}

.ots-stage-gauge__key {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding-top: 16px;
    border-top: 1px solid var(--ots-line);
}

.ots-stage-gauge__key span {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr);
    gap: 1px 7px;
    align-items: center;
    color: var(--ots-graphite);
    font-family: Consolas, "Courier New", monospace;
    font-size: 10px;
}

.ots-stage-gauge__key small {
    grid-column: 2;
    color: var(--ots-steel);
    font-size: 9px;
}

.ots-stage-gauge__dot {
    width: 8px;
    height: 8px;
    grid-row: 1 / span 2;
    border-radius: 50%;
}

.ots-stage-gauge__dot--stage1 {
    background: var(--ots-blue);
}

.ots-stage-gauge__dot--stage2 {
    background: var(--ots-orange);
}

.ots-stage-gauge__dot--stage1plus {
    background: #6aafc9;
}

.ots-stage-gauge__dot--stage2plus {
    background: #cf6320;
}

.ots-stage-gauge__dot--limit {
    background: var(--ots-red);
}

.ots-stage-gauge__dot--danger {
    border: 2px solid var(--ots-red);
    background: #741d25;
    box-shadow: 0 0 0 3px rgba(184, 58, 58, 0.12);
}

/* Keep the native chat artwork intact and separate it from the back-to-top control. */
body.ots-page-active #reamaze-widget-container #reamaze-widget {
    right: 96px !important;
}

.ots-variables {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(17, 20, 25, 0.16);
    border-left: 1px solid rgba(17, 20, 25, 0.16);
    list-style: none;
}

.ots-variables li {
    display: flex;
    gap: 12px;
    padding: 13px;
    align-items: center;
    border-right: 1px solid rgba(17, 20, 25, 0.16);
    border-bottom: 1px solid rgba(17, 20, 25, 0.16);
    color: var(--ots-graphite);
    font-size: 13px;
}

.ots-variables span {
    color: var(--ots-orange-dark);
    font-family: Consolas, "Courier New", monospace;
    font-size: 10px;
}

/* Process */
.ots-process {
    color: var(--ots-white);
    background: var(--ots-carbon);
}

.ots-process h2 {
    color: var(--ots-white);
}

.ots-process .ots-section-label {
    color: var(--ots-orange);
}

.ots-process__steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    list-style: none;
}

.ots-process__steps li {
    position: relative;
    min-height: 330px;
    padding: 25px 20px 30px;
    border-right: 1px solid rgba(255, 255, 255, 0.15);
}

.ots-process__steps li:last-child {
    border-right: 0;
}

.ots-process__steps li::after {
    position: absolute;
    top: 49px;
    right: -6px;
    z-index: 2;
    width: 11px;
    height: 11px;
    border: 2px solid var(--ots-carbon);
    border-radius: 50%;
    background: var(--ots-orange);
    content: "";
}

.ots-process__steps li:last-child::after {
    display: none;
}

.ots-process__number {
    display: block;
    margin-bottom: 20px;
    color: var(--ots-orange);
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
    letter-spacing: 0.1em;
}

.ots-process__icon {
    width: 58px;
    height: 58px;
    margin-bottom: 30px;
    filter: drop-shadow(0 5px 8px rgba(0, 0, 0, 0.22));
}

.ots-process__steps h3 {
    margin-bottom: 13px;
    color: var(--ots-white);
    font-size: 24px;
}

.ots-process__steps p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.64);
    font-size: 14px;
    line-height: 1.55;
}

.ots-process__truth {
    display: grid;
    grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1fr);
    gap: 45px;
    align-items: center;
    margin-top: 40px;
    padding: 22px 25px;
    border-left: 4px solid var(--ots-red);
    background: rgba(255, 255, 255, 0.055);
}

.ots-process__truth strong {
    font-family: "Raleway", Arial, sans-serif;
    font-size: 18px;
}

.ots-process__truth span {
    color: rgba(255, 255, 255, 0.64);
}

/* Risk */
.ots-risk {
    background: #dfe1df;
}

.ots-risk__layout {
    display: grid;
    grid-template-columns: minmax(300px, 0.65fr) minmax(0, 1.35fr);
    gap: 78px;
}

.ots-risk__intro {
    position: sticky;
    top: 32px;
    align-self: start;
}

.ots-risk__intro p:last-child {
    color: var(--ots-steel);
}

.ots-risk__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(17, 20, 25, 0.18);
    border-left: 1px solid rgba(17, 20, 25, 0.18);
}

.ots-risk__grid article {
    min-height: 235px;
    padding: 28px;
    border-right: 1px solid rgba(17, 20, 25, 0.18);
    border-bottom: 1px solid rgba(17, 20, 25, 0.18);
    background: rgba(255, 255, 255, 0.24);
}

.ots-risk__grid article:nth-child(3n) {
    background: rgba(255, 255, 255, 0.45);
}

.ots-risk__grid span {
    display: inline-flex;
    min-width: 52px;
    height: 28px;
    margin-bottom: 40px;
    padding: 0 8px;
    align-items: center;
    justify-content: center;
    color: var(--ots-red);
    border: 1px solid rgba(184, 58, 58, 0.4);
    font-family: Consolas, "Courier New", monospace;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.09em;
}

.ots-risk__grid h3 {
    margin-bottom: 10px;
    font-size: 21px;
}

.ots-risk__grid p {
    margin-bottom: 0;
    color: var(--ots-steel);
    font-size: 14px;
}

/* Evidence */
.ots-evidence {
    background: var(--ots-white);
}

.ots-evidence-card {
    overflow: hidden;
    border: 1px solid var(--ots-line);
    background: var(--ots-chalk);
}

.ots-evidence-card--wide {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
    margin-bottom: 20px;
}

.ots-evidence-card__media {
    display: flex;
    min-width: 0;
    margin: 0;
    flex-direction: column;
    background: #d8d9d7;
}

.ots-evidence-card__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center top;
}

.ots-evidence-card--price .ots-evidence-card__media,
.ots-evidence-card--price .ots-evidence-card__media img {
    background: #383a3c;
}

.ots-evidence-card--price .ots-evidence-card__media img {
    aspect-ratio: 16 / 9;
    object-fit: contain;
    object-position: center;
}

.ots-evidence-card--wide .ots-evidence-card__media img {
    height: 100%;
    min-height: 430px;
}

.ots-evidence-card__media figcaption {
    padding: 10px 14px;
    color: var(--ots-steel);
    background: #e1e2df;
    font-family: Consolas, "Courier New", monospace;
    font-size: 10px;
    line-height: 1.45;
}

.ots-evidence-card__copy {
    padding: 38px;
}

.ots-source-tag {
    display: inline-block;
    margin-bottom: 22px;
    color: var(--ots-orange-dark);
}

.ots-evidence-card h3 {
    margin-bottom: 18px;
    font-size: clamp(27px, 3vw, 40px);
}

.ots-evidence-card__copy > p {
    color: var(--ots-steel);
}

.ots-evidence-card__copy .ots-evidence-card__point {
    padding: 15px 0 15px 18px;
    border-left: 3px solid var(--ots-orange);
    color: var(--ots-carbon);
}

.ots-evidence-card__copy > a {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    color: var(--ots-carbon);
    border-bottom: 1px solid var(--ots-carbon);
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-decoration: none;
    text-transform: uppercase;
}

.ots-evidence-card__copy > a:hover {
    color: var(--ots-orange-dark);
    border-bottom-color: var(--ots-orange-dark);
}

.ots-evidence__split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.ots-evidence__split .ots-evidence-card {
    display: flex;
    flex-direction: column;
}

.ots-evidence__split .ots-evidence-card__copy {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.ots-evidence__split .ots-evidence-card__copy > a {
    align-self: flex-start;
    margin-top: auto;
}

.ots-evidence-card--price {
    border-top: 4px solid var(--ots-red);
}

.ots-evidence__disclaimer {
    max-width: 940px;
    margin: 28px 0 0;
    color: var(--ots-steel);
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
    line-height: 1.6;
}

/* Questions */
.ots-questions {
    background: var(--ots-powder);
}

.ots-questions__layout {
    display: grid;
    grid-template-columns: minmax(300px, 0.68fr) minmax(0, 1.32fr);
    gap: 90px;
}

.ots-questions__heading p:last-child {
    max-width: 460px;
    color: var(--ots-steel);
}

.ots-question-list {
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(17, 20, 25, 0.18);
    list-style: none;
}

.ots-question-list li {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 22px;
    padding: 25px 0;
    border-bottom: 1px solid rgba(17, 20, 25, 0.18);
}

.ots-question-list li > span {
    color: var(--ots-orange-dark);
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
    letter-spacing: 0.1em;
}

.ots-question-list strong {
    display: block;
    margin-bottom: 5px;
    font-family: "Raleway", Arial, sans-serif;
    font-size: 19px;
}

.ots-question-list p {
    margin-bottom: 0;
    color: var(--ots-steel);
    font-size: 15px;
}

/* FAQ */
.ots-faq {
    background: var(--ots-white);
}

.ots-faq__layout {
    display: grid;
    grid-template-columns: minmax(300px, 0.68fr) minmax(0, 1.32fr);
    gap: 90px;
}

.ots-faq__items {
    border-top: 1px solid var(--ots-line);
}

.ots-faq details {
    border-bottom: 1px solid var(--ots-line);
}

.ots-faq summary {
    position: relative;
    padding: 25px 56px 25px 0;
    color: var(--ots-carbon);
    cursor: pointer;
    font-family: "Raleway", Arial, sans-serif;
    font-size: 19px;
    font-weight: 700;
    list-style: none;
}

.ots-faq summary::-webkit-details-marker {
    display: none;
}

.ots-faq summary::after {
    position: absolute;
    top: 25px;
    right: 4px;
    width: 26px;
    height: 26px;
    color: var(--ots-orange-dark);
    border: 1px solid rgba(17, 20, 25, 0.25);
    content: "+";
    font-family: Consolas, "Courier New", monospace;
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    text-align: center;
}

.ots-faq details[open] summary::after {
    content: "-";
}

.ots-faq details p {
    max-width: 760px;
    margin-bottom: 25px;
    padding-right: 52px;
    color: var(--ots-steel);
}

/* CTA */
.ots-cta {
    position: relative;
    padding: 94px 0;
    color: var(--ots-white);
    background: var(--ots-graphite);
}

.ots-cta::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 10px;
    background: repeating-linear-gradient(135deg, var(--ots-orange) 0, var(--ots-orange) 14px, #ffb16e 14px, #ffb16e 28px);
    content: "";
}

.ots-cta__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 86px;
    align-items: center;
}

.ots-cta h2 {
    max-width: 760px;
    color: var(--ots-white);
}

.ots-cta p:not(.ots-section-label) {
    max-width: 760px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 18px;
}

.ots-cta .ots-section-label {
    color: var(--ots-orange);
}

.ots-cta__actions {
    display: grid;
    gap: 15px;
}

.ots-cta__actions .ots-button--secondary {
    color: var(--ots-white);
    border-color: rgba(255, 255, 255, 0.32);
    background: transparent;
}

.ots-cta__actions .ots-button--secondary:hover {
    color: var(--ots-carbon);
    background: var(--ots-white);
}

.ots-cta__phone {
    color: var(--ots-white);
    font-family: Consolas, "Courier New", monospace;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.035em;
    text-align: center;
    text-decoration: none;
}

.ots-cta__phone:hover {
    color: var(--ots-orange);
}

@media (max-width: 1199px) {
    .ots-hero__layout {
        grid-template-columns: 1fr;
    }

    .ots-hero__copy {
        max-width: 900px;
    }

    .ots-envelope {
        max-width: 850px;
    }

    .ots-verdict__layout {
        grid-template-columns: 145px minmax(0, 1fr);
    }

    .ots-verdict__detail {
        grid-column: 2;
    }

    .ots-approach {
        min-height: 600px;
    }

    .ots-comparison .ots-approach dl > div {
        min-height: 180px;
    }

    .ots-comparison .ots-approach h3 {
        min-height: 108px;
    }

    .ots-comparison .ots-approach > p:not(.ots-approach__bottom) {
        min-height: 190px;
    }

    .ots-headroom__layout {
        grid-template-columns: 1fr 1fr;
        gap: 48px;
    }

    .ots-process__steps {
        grid-template-columns: repeat(5, 230px);
        overflow-x: auto;
    }
}

@media (max-width: 991px) {
    .ots-section {
        padding: 88px 0;
    }

    .ots-section-heading,
    .ots-questions__layout,
    .ots-faq__layout,
    .ots-cta__layout {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .ots-approaches {
        grid-template-columns: 1fr;
    }

    .ots-pedal__graphs,
    .ots-smoke__graphs {
        grid-template-columns: 1fr;
    }

    .ots-approach {
        min-height: 0;
    }

    .ots-approach h3,
    .ots-approach > p:not(.ots-approach__bottom),
    .ots-comparison .ots-approach h3,
    .ots-comparison .ots-approach > p:not(.ots-approach__bottom) {
        min-height: 0;
    }

    .ots-comparison .ots-approach dl > div {
        min-height: 0;
    }

    .ots-headroom__layout,
    .ots-risk__layout {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .ots-risk__intro {
        position: static;
    }

    .ots-process__truth {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .ots-evidence-card--wide {
        grid-template-columns: 1fr;
    }

    .ots-evidence-card--wide .ots-evidence-card__media img {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .ots-evidence__split {
        grid-template-columns: 1fr;
    }

    .ots-cta__actions {
        max-width: 430px;
    }
}

@media (max-width: 767px) {
    .ots-page {
        font-size: 16px;
    }

    .ots-shell {
        width: min(100% - 32px, 1240px);
    }

    .ots-section {
        padding: 70px 0;
    }

    .ots-hero {
        padding: 28px 0 62px;
    }

    .ots-breadcrumbs {
        margin-bottom: 48px;
    }

    .ots-hero__layout {
        gap: 48px;
    }

    .ots-hero h1 {
        font-size: clamp(42px, 13vw, 62px);
    }

    .ots-hero__lead {
        font-size: 18px;
    }

    .ots-actions,
    .ots-actions .ots-button {
        width: 100%;
    }

    .ots-envelope {
        margin-right: 8px;
        padding: 14px 12px 12px;
        box-shadow: 8px 10px 0 rgba(93, 100, 109, 0.17), 0 18px 48px rgba(17, 20, 25, 0.15);
    }

    .ots-envelope::before,
    .ots-envelope::after {
        display: none;
    }

    .ots-envelope__header {
        display: grid;
        gap: 12px;
    }

    .ots-live-label {
        white-space: normal;
    }

    .ots-envelope__legend {
        gap: 12px;
    }

    .ots-chart-label text,
    .ots-chart-axis-label {
        font-size: 13px;
    }

    .ots-verdict__layout {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .ots-verdict__detail {
        grid-column: auto;
        padding: 18px 0 0;
        border-top: 1px solid rgba(255, 255, 255, 0.16);
        border-left: 0;
    }

    .ots-section-heading {
        margin-bottom: 40px;
    }

    .ots-pedal-card {
        padding: 23px 16px 18px;
        box-shadow: 8px 10px 0 rgba(0, 0, 0, 0.18);
    }

    .ots-pedal-card figcaption {
        min-height: 0;
    }

    .ots-pedal-chart {
        width: 112%;
        max-width: none;
        margin-left: -6%;
    }

    .ots-pedal__truth {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .ots-smoke-card {
        padding: 23px 16px 18px;
        box-shadow: 8px 10px 0 rgba(17, 20, 25, 0.12);
    }

    .ots-smoke-card figcaption {
        min-height: 0;
    }

    .ots-smoke-chart {
        width: 110%;
        max-width: none;
        margin-left: -5%;
    }

    .ots-smoke__truth {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .ots-approach {
        padding: 27px 22px 24px;
    }

    .ots-headroom__instrument {
        padding: 16px;
    }

    .ots-instrument__top {
        display: grid;
        gap: 6px;
    }

    .ots-stage-gauge__key {
        grid-template-columns: 1fr;
    }

    .ots-stage-explainer__cards {
        grid-template-columns: 1fr;
    }

    .ots-variables {
        grid-template-columns: 1fr;
    }

    .ots-risk__grid {
        grid-template-columns: 1fr;
    }

    .ots-risk__grid article {
        min-height: 0;
    }

    .ots-evidence-card__copy {
        padding: 27px 22px 30px;
    }

    .ots-evidence-card__media img,
    .ots-evidence-card--wide .ots-evidence-card__media img {
        min-height: 250px;
        aspect-ratio: auto;
        object-position: top center;
    }

    .ots-question-list li {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 12px;
    }

    .ots-faq summary {
        font-size: 17px;
    }

    .ots-faq details p {
        padding-right: 0;
    }

    .ots-cta {
        padding: 72px 0 72px 10px;
    }

    .ots-cta__actions,
    .ots-cta__actions .ots-button {
        width: 100%;
        max-width: none;
    }
}

@media (max-width: 420px) {
    .ots-shell {
        width: min(100% - 24px, 1240px);
    }

    .ots-hero h1 {
        font-size: 40px;
    }

    .ots-page h2 {
        font-size: 34px;
    }

    .ots-envelope__chart {
        width: 118%;
        max-width: none;
        margin-left: -9%;
    }

    .ots-envelope__legend {
        font-size: 9px;
    }

    .ots-smoke-annotation,
    .ots-smoke-axis-label,
    .ots-smoke-tick,
    .ots-smoke-legend {
        font-size: 9px;
    }

    .ots-smoke-card h3 {
        font-size: 25px;
    }

    .ots-approach dl > div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .ots-stage-explainer article {
        padding: 14px;
    }

    .ots-stage-gauge {
        padding-right: 12px;
        padding-left: 12px;
    }

    .ots-stage-gauge__marker {
        font-size: 9px;
    }

    .ots-stage-gauge__scale {
        font-size: 8px;
    }

    .ots-section-heading__title {
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 14px;
    }

    .ots-section-icon {
        width: 46px;
        height: 46px;
        box-shadow: 4px 5px 0 rgba(17, 20, 25, 0.11);
    }

    .ots-section-icon img,
    .ots-section-icon .performance-icon {
        width: 34px;
        height: 34px;
    }

    .ots-stage-gauge__danger {
        right: 0;
        left: auto;
        width: 72px;
        transform: none;
        font-size: 7px;
    }

    .ots-stage-gauge__danger em {
        font-size: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ots-page *,
    .ots-page *::before,
    .ots-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }

    .ots-motion-ready .ots-envelope .ots-curve {
        stroke-dasharray: 1;
        stroke-dashoffset: 0;
    }

    .ots-stage-gauge__danger {
        animation: none !important;
    }
}
