/* Shared only by anonymous-facing layouts. Authenticated pages use _LayoutTopNav. */
body.public-editorial {
    --public-ink: #090d13;
    --public-paper: #f1f2f6;
    --public-white: #ffffff;
    --public-blue: #173b7f;
    --public-violet: #7149bd;
    --public-cyan: #54c6e4;
    --public-muted: #606a78;
    --public-line: #d2d6de;
    margin: 0;
    color: var(--public-ink);
    background: var(--public-paper);
    font-family: "Manrope", Arial, sans-serif;
    letter-spacing: 0;
}

body.public-editorial.fuzzy-layout,
body.public-editorial.no-hero-ambient,
body.public-editorial.getting-started-body,
body.public-editorial.legal-body {
    padding-top: 74px;
}

body.public-editorial.fuzzy-layout {
    min-height: 100%;
    color: var(--public-ink);
    background: var(--public-paper);
    background-image: none;
}

body.public-editorial *,
body.public-editorial *::before,
body.public-editorial *::after {
    box-sizing: border-box;
    letter-spacing: 0;
}

body.public-editorial h1,
body.public-editorial h2 {
    font-family: "DM Serif Display", Georgia, serif;
    font-weight: 400;
}

body.public-editorial img {
    max-width: 100%;
}

body.public-editorial .btn,
body.public-editorial button,
body.public-editorial input,
body.public-editorial select,
body.public-editorial textarea {
    font-family: "Manrope", Arial, sans-serif;
}

body.public-editorial .btn {
    border-radius: 4px;
    font-weight: 700;
    box-shadow: none;
}

body.public-editorial .btn-base {
    color: #fff;
    border-color: var(--public-violet);
    background: var(--public-violet);
}

body.public-editorial .btn-base:hover,
body.public-editorial .btn-base:focus {
    color: #fff;
    border-color: #5733a4;
    background: #5733a4;
}

body.public-editorial .btn-outline-light:hover,
body.public-editorial .btn-outline-light:focus {
    color: var(--public-ink);
    background: #fff;
}

body.public-editorial.is-public-reveal-ready [data-public-reveal] {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 680ms ease, transform 680ms ease;
}

body.public-editorial.is-public-reveal-ready [data-public-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Editorial footer shared by every public page. */
body.public-editorial .public-footer {
    padding: 76px 0 34px;
    color: #fff;
    border-top: 0;
    background: #080b10;
    text-align: left;
}

.public-footer__shell {
    display: grid;
    grid-template-columns: 1.25fr 0.62fr 0.62fr 1fr;
    gap: 46px;
    width: min(1180px, calc(100% - 64px));
    margin: 0 auto;
}

.public-footer__brand img {
    width: 142px;
    height: auto;
    margin-bottom: 21px;
}

.public-footer__brand p,
.public-footer__action p {
    margin: 0;
    color: rgba(255, 255, 255, 0.58);
    font-size: 13px;
    line-height: 1.7;
}

.public-footer__nav,
.public-footer__action {
    display: grid;
    align-content: start;
    gap: 12px;
}

.public-footer__nav strong,
.public-footer__action strong {
    margin-bottom: 7px;
    color: #fff;
    font-family: "DM Serif Display", Georgia, serif;
    font-size: 19px;
    font-weight: 400;
}

.public-footer__nav a {
    color: rgba(255, 255, 255, 0.64);
    font-size: 12px;
    text-decoration: none;
}

.public-footer__nav a:hover,
.public-footer__nav a:focus {
    color: #fff;
}

.public-footer__action > a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    margin-top: 8px;
    padding-bottom: 4px;
    color: #a9c7ff;
    border-bottom: 1px solid #a9c7ff;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

body.public-editorial .public-footer__disclaimer {
    grid-column: 1 / -1;
    max-width: none;
    margin: 22px 0 0;
    padding-top: 24px;
    color: rgba(255, 255, 255, 0.38);
    border-top: 1px solid rgba(255, 255, 255, 0.11);
    font-size: 10px;
    line-height: 1.65;
    text-align: left;
}

body.public-editorial .public-footer-copy,
body.public-editorial .public-footer__legal {
    margin: 0;
    color: rgba(255, 255, 255, 0.5);
    font-size: 11px;
    text-align: left;
}

body.public-editorial .public-footer__legal {
    display: flex;
    justify-content: flex-end;
    gap: 18px;
}

body.public-editorial .public-footer__legal a {
    color: rgba(255, 255, 255, 0.58);
}

/* Full-bleed, photographic heroes for public product pages. */
body.public-editorial :is(.tech-hero, .subscriptions-hero, .amp-hero, .sl-hero, .vf-hero, .cs-hero, .ct-hero) {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 620px;
    padding: 120px 0 78px;
    overflow: hidden;
    color: #fff;
    border: 0;
    background-color: #080c12;
    background-position: center;
    background-size: cover;
}

body.public-editorial :is(.subscriptions-hero, .amp-hero, .sl-hero, .vf-hero, .cs-hero, .ct-hero)::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: rgba(5, 9, 15, 0.72);
}

body.public-editorial .subscriptions-hero,
body.public-editorial .ct-hero {
    background-image: url('/images/public/home-office-setup.png');
    background-position: center 52%;
}

body.public-editorial .sl-hero {
    background-image: url('/images/public/technology-lab.png');
    background-position: center 54%;
}

body.public-editorial .amp-hero,
body.public-editorial .vf-hero {
    background-image: url('/images/public/secure-custody.png');
    background-position: center 56%;
}

body.public-editorial .cs-hero {
    background-image: url('/images/public/ai-newsroom.png');
    background-position: center 48%;
}

body.public-editorial :is(.subscriptions-hero, .amp-hero, .sl-hero, .vf-hero, .cs-hero, .ct-hero) > .container,
body.public-editorial :is(.subscriptions-hero, .amp-hero, .sl-hero, .vf-hero, .cs-hero, .ct-hero) [class$="-hero-grid"] {
    position: relative;
    z-index: 1;
    width: min(1160px, calc(100% - 64px));
    max-width: none;
    margin: 0 auto;
}

body.public-editorial :is(.amp-hero-grid, .sl-hero-grid, .vf-hero-grid, .cs-hero-grid, .ct-hero-grid) {
    display: block;
}

body.public-editorial :is(.amp-hero-copy, .sl-hero-copy, .vf-hero-copy, .cs-hero-copy, .ct-hero-copy),
body.public-editorial .subscriptions-hero .col-lg-7 {
    max-width: 760px;
}

body.public-editorial :is(.amp-hero-media, .sl-hero-media, .vf-hero-media, .cs-hero-media, .ct-hero-media),
body.public-editorial .subscriptions-hero .col-lg-5 {
    display: none;
}

body.public-editorial :is(.tech-hero-content, .subscriptions-hero, .amp-hero, .sl-hero, .vf-hero, .cs-hero, .ct-hero) h1,
body.public-editorial .subscriptions-hero .display-4 {
    max-width: 820px;
    margin: 15px 0 22px;
    color: #fff;
    font-family: "DM Serif Display", Georgia, serif;
    font-size: 64px;
    font-weight: 400;
    line-height: 1.02;
}

body.public-editorial :is(.tech-hero-content, .subscriptions-hero, .amp-hero, .sl-hero, .vf-hero, .cs-hero, .ct-hero) :is(p, .lead) {
    max-width: 690px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 16px;
    line-height: 1.75;
}

body.public-editorial :is(.tech-kicker, .subscriptions-hero .eyebrow, .amp-eyebrow, .sl-eyebrow, .vf-eyebrow, .cs-eyebrow, .ct-eyebrow) {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    padding: 0;
    color: #9bc0ff;
    border: 0;
    background: transparent;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

body.public-editorial :is(.amp-hero-note, .sl-hero-note, .vf-hero-note, .cs-hero-note, .ct-hero-note) {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 24px;
    padding: 0 0 4px;
    color: rgba(255, 255, 255, 0.72);
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.38);
    border-radius: 0;
    background: transparent;
    font-size: 11px;
}

body.public-editorial .tech-hero {
    min-height: 650px;
    padding: 0;
}

body.public-editorial .tech-hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 58%;
}

body.public-editorial .tech-hero-overlay {
    background: rgba(5, 9, 15, 0.72);
}

body.public-editorial .tech-hero-content {
    bottom: 0;
    width: min(1160px, calc(100% - 64px));
    max-width: none;
    padding: 0 0 78px;
}

body.public-editorial .tech-tags span {
    border-color: rgba(255, 255, 255, 0.28);
    border-radius: 4px;
    background: rgba(4, 8, 14, 0.34);
}

/* Remove the old one-note gradient/card treatment from public information pages. */
body.public-editorial :is(.subscriptions-page, .amp-info, .sl-info, .vf-info, .cs-info, .ct-info, .tech-page, .getting-started) {
    color: var(--public-ink);
    background: var(--public-paper);
    background-image: none;
}

body.public-editorial :is(.amp-section, .sl-section, .vf-section, .cs-section, .ct-section, .tech-section, .gs-steps, .subscriptions-bubbles) {
    padding: 92px 0;
    color: var(--public-ink);
    background: var(--public-white);
}

body.public-editorial :is(.amp-alt, .sl-alt, .vf-alt, .cs-alt, .ct-alt, .tech-section-alt, .subscriptions-bubbles, .gs-steps) {
    color: var(--public-ink);
    background: var(--public-paper);
}

body.public-editorial :is(.amp-section-header, .sl-section-header, .vf-section-header, .cs-section-header, .ct-section-header, .tech-section-head) {
    max-width: 780px;
    margin-bottom: 48px;
    text-align: left;
}

body.public-editorial :is(.amp-section-header, .sl-section-header, .vf-section-header, .cs-section-header, .ct-section-header, .tech-section-head) h2 {
    margin-bottom: 17px;
    color: var(--public-ink);
    font-size: 43px;
    line-height: 1.08;
}

body.public-editorial :is(.amp-section-header, .sl-section-header, .vf-section-header, .cs-section-header, .ct-section-header, .tech-section-head) p {
    color: var(--public-muted);
    font-size: 15px;
    line-height: 1.75;
}

body.public-editorial :is(.amp-card, .sl-card, .vf-card, .cs-card, .ct-card, .tech-card, .tech-component, .vf-panel) {
    color: var(--public-ink);
    border: 1px solid var(--public-line);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: none;
}

body.public-editorial :is(.amp-card, .sl-card, .vf-card, .cs-card, .ct-card, .tech-card, .tech-component, .vf-panel) h3 {
    color: var(--public-ink);
    font-family: "DM Serif Display", Georgia, serif;
    font-weight: 400;
}

body.public-editorial :is(.tech-card-title, .tech-compare-title, .tech-component h3, .tech-step h3, .tech-callout h3, .tech-patent h3) {
    color: var(--public-ink);
}

body.public-editorial :is(.tech-step, .tech-callout, .tech-patent) h3 {
    color: #f4f7fc;
}

body.public-editorial :is(.tech-card-title, .tech-component h3) .fa {
    flex: 0 0 auto;
    width: 20px;
    color: var(--public-violet);
    text-align: center;
}

body.public-editorial .tech-section-head-tight {
    margin-top: 56px;
}

body.public-editorial .tech-section-head h2 {
    display: flex;
    align-items: center;
    gap: 18px;
}

body.public-editorial .tech-section-head h2 .fa {
    flex: 0 0 auto;
    width: 32px;
    margin-right: 0;
    color: var(--public-violet);
    text-align: center;
}

body.public-editorial .tech-editorial-media {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 42px;
}

body.public-editorial .tech-editorial-media--wide {
    grid-template-columns: 1fr;
}

body.public-editorial .tech-editorial-media figure {
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--public-line);
    border-radius: 6px;
    background: #10151e;
}

body.public-editorial .tech-editorial-media img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

body.public-editorial .tech-editorial-media figcaption {
    padding: 15px 17px;
    color: #d7dce5;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    background: #10151e;
    font-size: 12px;
    line-height: 1.6;
}

body.public-editorial :is(.amp-card, .sl-card, .vf-card, .cs-card, .ct-card, .tech-card, .tech-component, .vf-panel) :is(p, li) {
    color: var(--public-muted);
}

body.public-editorial :is(.amp-card-icon, .sl-card-icon, .vf-card-icon, .cs-card-icon, .ct-card-icon) {
    color: var(--public-violet);
    border: 0;
    border-radius: 0;
    background: transparent;
}

body.public-editorial :is(.amp-pill, .sl-pill, .vf-pill, .cs-pill, .ct-pill) {
    color: #243044;
    border-color: var(--public-line);
    border-radius: 4px;
    background: #fff;
    box-shadow: none;
}

body.public-editorial :is(.amp-cta, .sl-cta, .vf-cta, .cs-cta, .ct-cta) {
    padding: 88px 0;
    background: var(--public-blue);
}

body.public-editorial :is(.amp-cta-card, .sl-cta-card, .vf-cta-card, .cs-cta-card, .ct-cta-card) {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.public-editorial :is(.amp-cta-card, .sl-cta-card, .vf-cta-card, .cs-cta-card, .ct-cta-card) h2 {
    color: #fff;
    font-size: 42px;
}

/* Getting started becomes a calm, photographic instruction page. */
body.public-editorial.getting-started-body {
    color: var(--public-ink);
    background: var(--public-paper);
    background-image: none;
}

body.public-editorial .getting-started {
    font-family: "Manrope", Arial, sans-serif;
}

body.public-editorial .getting-started :is(h1, h2, h3) {
    font-family: "DM Serif Display", Georgia, serif;
    font-weight: 400;
}

body.public-editorial .gs-hero {
    min-height: 590px;
    padding: 0;
    background: #0a0e14;
}

body.public-editorial .gs-hero::before {
    inset: 0;
    width: auto;
    height: auto;
    z-index: 1;
    background: rgba(5, 9, 15, 0.68);
}

body.public-editorial .gs-hero-grid {
    display: block;
    width: 100%;
    max-width: none;
    min-height: 590px;
    padding: 120px max(32px, calc((100vw - 1160px) / 2)) 74px;
}

body.public-editorial .gs-hero-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.public-editorial .gs-hero-media img {
    width: 100%;
    height: 100%;
    border-radius: 0;
    object-fit: cover;
    object-position: center;
}

body.public-editorial .gs-hero-copy {
    position: relative;
    z-index: 2;
    max-width: 650px;
}

body.public-editorial .gs-eyebrow {
    margin-bottom: 16px;
    color: #9bc0ff;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

body.public-editorial .gs-hero-copy h1 {
    margin-bottom: 20px;
    color: #fff;
    font-size: 64px;
    line-height: 1.02;
}

body.public-editorial .gs-hero-copy p,
body.public-editorial .gs-hero-callout {
    color: rgba(255, 255, 255, 0.77);
}

body.public-editorial .gs-hero-callout {
    max-width: 570px;
    padding: 16px 0 0;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 0;
    background: transparent;
}

body.public-editorial .gs-step {
    padding: 58px 0;
    border-bottom: 1px solid var(--public-line);
}

body.public-editorial .gs-step-number {
    color: var(--public-violet);
    border-color: var(--public-line);
    border-radius: 4px;
    background: #fff;
}

body.public-editorial .gs-step-title,
body.public-editorial .gs-finish h3 {
    color: var(--public-ink);
}

body.public-editorial .gs-step p,
body.public-editorial .gs-step-list,
body.public-editorial .gs-diagram figcaption,
body.public-editorial .gs-finish p {
    color: var(--public-muted);
}

body.public-editorial .gs-diagram,
body.public-editorial .gs-finish-card {
    border-color: var(--public-line);
    border-radius: 6px;
    background: #fff;
    box-shadow: none;
}

body.public-editorial :is(.gs-finish, .gs-next) {
    background: #fff;
}

/* Subscription/access page: editorial bands instead of decorative bubbles. */
body.public-editorial .subscriptions-page {
    padding-bottom: 0;
}

body.public-editorial .subscriptions-highlight {
    padding: 94px 0;
    color: var(--public-ink);
    background: #fff;
}

body.public-editorial .subscriptions-highlight-wrap {
    gap: 72px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.public-editorial .subscriptions-highlight-media {
    aspect-ratio: 16 / 10;
    border-radius: 0;
}

body.public-editorial .subscriptions-highlight-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.public-editorial .subscriptions-highlight-copy h2,
body.public-editorial .subscriptions-levels-head h2 {
    color: var(--public-ink);
    font-size: 43px;
    font-weight: 400;
}

body.public-editorial .subscriptions-highlight-copy p,
body.public-editorial .subscriptions-levels-head p {
    color: var(--public-muted);
}

body.public-editorial .plan-bubble {
    border: 1px solid var(--public-line);
    border-radius: 6px;
    color: var(--public-ink);
    background: #fff;
    box-shadow: none;
}

body.public-editorial .plan-bubble :is(.plan-name, .plan-price, .plan-recommended) {
    color: var(--public-ink);
}

body.public-editorial .plan-bubble :is(.plan-summary, .plan-highlights, .plan-price-note) {
    color: var(--public-muted);
}

body.public-editorial .plan-link-pill {
    color: #f1f6ff;
    border-color: rgba(89, 139, 226, 0.78);
    background: #121b29;
}

body.public-editorial .plan-link-pill:hover,
body.public-editorial .plan-link-pill:focus {
    color: #fff;
    border-color: #8db9ff;
    background: #1a2940;
}

body.public-editorial .plan-actions .btn-outline-light {
    color: #173b7f;
    border-color: #173b7f;
    background: transparent;
}

body.public-editorial .plan-actions .btn-outline-light:hover,
body.public-editorial .plan-actions .btn-outline-light:focus {
    color: #fff;
    border-color: #173b7f;
    background: #173b7f;
}

body.public-editorial .support-callout {
    color: #fff;
    background: var(--public-blue);
}

/* Prediction-model pages can render publicly or inside the authenticated app.
   These overrides are deliberately rooted at the public layout so the app view is unchanged. */
body.public-editorial .pm-page {
    --pm-bg: var(--public-paper);
    --pm-panel: #fff;
    --pm-panel-alt: #f7f8fa;
    --pm-border: var(--public-line);
    --pm-text: var(--public-ink);
    --pm-dim: var(--public-muted);
    --pm-accent: #91b9ff;
    --pm-accent-2: #c4a8f4;
    padding-bottom: 0;
    color: var(--public-ink);
    background: var(--public-paper);
}

body.public-editorial .pm-hero {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 620px;
    padding: 116px 0 72px;
    overflow: hidden;
    color: #fff;
    border: 0;
    background: #080c12 url('/images/public/ai-newsroom.png') center 48% / cover no-repeat;
}

body.public-editorial .pm-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(5, 9, 15, 0.74);
}

body.public-editorial .pm-hero .pm-container {
    position: relative;
    z-index: 1;
    width: min(1160px, calc(100% - 64px));
    max-width: none;
    padding: 0;
}

body.public-editorial .pm-hero-grid {
    display: block;
}

body.public-editorial .pm-hero-grid > :first-child {
    max-width: 790px;
}

body.public-editorial .pm-hero-media {
    display: none;
}

body.public-editorial .pm-public-actions {
    display: none;
}

body.public-editorial .pm-eyebrow {
    color: #9bc0ff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0;
}

body.public-editorial .pm-title {
    margin: 14px 0 20px;
    color: #fff;
    font-size: 62px;
    font-weight: 400;
    line-height: 1.03;
}

body.public-editorial .pm-lead {
    max-width: 720px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 16px;
    line-height: 1.75;
}

body.public-editorial .pm-tag {
    color: rgba(255, 255, 255, 0.82);
    border-color: rgba(255, 255, 255, 0.28);
    border-radius: 4px;
    background: rgba(5, 9, 15, 0.34);
}

body.public-editorial .pm-container {
    width: min(1120px, calc(100% - 64px));
    max-width: none;
    padding: 0;
}

body.public-editorial .pm-section {
    padding: 88px 0;
    color: var(--public-ink);
    background: #fff;
}

body.public-editorial .pm-section.pm-alt,
body.public-editorial .pm-related {
    color: var(--public-ink);
    border-color: var(--public-line);
    background: var(--public-paper);
}

body.public-editorial .pm-section-title {
    color: var(--public-ink);
    font-size: 42px;
    font-weight: 400;
    line-height: 1.1;
}

body.public-editorial .pm-subtitle,
body.public-editorial .pm-note,
body.public-editorial .pm-list,
body.public-editorial .pm-step p,
body.public-editorial .pm-equation-note {
    color: var(--public-muted);
}

body.public-editorial :is(.pm-card, .pm-step, .pm-equation, .pm-related-card, .pm-signal-node) {
    color: var(--public-ink);
    border: 1px solid var(--public-line);
    border-radius: 6px;
    background: #fff;
    box-shadow: none;
}

body.public-editorial :is(.pm-card-title, .pm-step h3, .pm-equation-title, .pm-equation-body) {
    color: var(--public-ink);
}

body.public-editorial .pm-related-title {
    color: var(--public-ink);
}

body.public-editorial .pm-related-text {
    color: var(--public-muted);
}

body.public-editorial .pm-related-logo {
    border: 1px solid var(--public-line);
    background: #fff;
}

/* Public FAQ uses its own full-width editorial hero and open-answer reading layout. */
body.public-editorial .section-header {
    color: var(--public-ink);
    background: #fff;
}

body.public-editorial .faq-page {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    color: var(--public-ink);
    background: #f4f5f7;
}

body.public-editorial .faq-hero {
    color: #fff;
    border: 0;
    border-radius: 0;
    background: #10151c;
    box-shadow: none;
}

body.public-editorial .faq-hero :is(h1, p) {
    color: #fff;
}

body.public-editorial .faq-section,
body.public-editorial .faq-item {
    color: var(--public-ink);
    border-color: var(--public-line);
    background: transparent;
    box-shadow: none;
}

body.public-editorial .faq-section {
    border-radius: 0;
}

body.public-editorial .faq-question,
body.public-editorial .faq-answer {
    color: var(--public-ink);
}

body.public-editorial .faq-answer {
    color: var(--public-muted);
}

/* Legal documents use a generous long-form reading measure. */
body.public-editorial .legal-page {
    padding: 96px 0 112px;
    color: var(--public-ink);
    background: var(--public-paper);
}

body.public-editorial .legal-scroll,
body.public-editorial .legal-doc {
    color: var(--public-ink);
    background: #fff;
}

body.public-editorial .legal-scroll {
    padding: clamp(34px, 6vw, 76px);
    border: 1px solid var(--public-line);
    border-radius: 6px;
}

body.public-editorial .legal-doc h1,
body.public-editorial .legal-doc h2,
body.public-editorial .legal-doc h3 {
    color: var(--public-ink);
}

/* Origin story keeps its long-form content but adopts the same editorial language. */
body.public-editorial.public-editorial-story {
    padding-top: 74px;
    color: var(--public-ink);
    background: var(--public-paper);
}

body.public-editorial .beginnings {
    --bg: var(--public-paper);
    --panel: #fff;
    --panel2: #fff;
    --text: var(--public-ink);
    --muted: var(--public-muted);
    --muted2: var(--public-muted);
    --line: var(--public-line);
    --purple: var(--public-violet);
    --purple2: var(--public-blue);
    --gold: var(--public-cyan);
    max-width: none;
    padding: 0 0 100px;
    color: var(--public-ink);
    background: var(--public-paper);
}

body.public-editorial .beginnings > :not(.hero):not(.lb) {
    width: min(1120px, calc(100% - 64px));
    margin-right: auto;
    margin-left: auto;
}

body.public-editorial .beginnings .hero {
    min-height: 680px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.public-editorial .beginnings .hero .img {
    height: 680px;
}

body.public-editorial .beginnings :is(.card, figure, .person, .quote, .cta) {
    border-radius: 6px;
    box-shadow: none;
}

body.public-editorial .beginnings :is(.card, .person) {
    color: var(--public-ink);
    border-color: var(--public-line);
    background: #fff;
}

body.public-editorial .beginnings :is(.lede, .person p, figcaption, .team-note) {
    color: var(--public-muted);
}

body.public-editorial .beginnings .cta {
    color: #fff;
    border: 0;
    background: var(--public-blue);
}

body.public-editorial .beginnings .cta :is(h2, p, strong) {
    color: #fff;
}

@media (max-width: 900px) {
    .public-footer__shell {
        grid-template-columns: 1fr 1fr;
    }

    .public-footer__brand,
    .public-footer__action,
    body.public-editorial .public-footer__disclaimer {
        grid-column: 1 / -1;
    }

    body.public-editorial :is(.tech-hero-content, .subscriptions-hero, .amp-hero, .sl-hero, .vf-hero, .cs-hero, .ct-hero) h1,
    body.public-editorial .subscriptions-hero .display-4,
    body.public-editorial .gs-hero-copy h1 {
        font-size: 52px;
    }

    body.public-editorial .subscriptions-highlight-wrap {
        grid-template-columns: 1fr;
    }

    body.public-editorial .pm-title {
        font-size: 50px;
    }
}

@media (max-width: 680px) {
    body.public-editorial.fuzzy-layout,
    body.public-editorial.no-hero-ambient,
    body.public-editorial.getting-started-body,
    body.public-editorial.legal-body,
    body.public-editorial.public-editorial-story {
        padding-top: 64px;
    }

    .public-footer__shell,
    body.public-editorial :is(.subscriptions-hero, .amp-hero, .sl-hero, .vf-hero, .cs-hero, .ct-hero) > .container,
    body.public-editorial :is(.subscriptions-hero, .amp-hero, .sl-hero, .vf-hero, .cs-hero, .ct-hero) [class$="-hero-grid"],
    body.public-editorial .tech-hero-content,
    body.public-editorial .beginnings > :not(.hero):not(.lb) {
        width: calc(100% - 28px);
    }

    .public-footer__shell {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .public-footer__brand,
    .public-footer__action,
    body.public-editorial .public-footer__disclaimer {
        grid-column: 1;
    }

    body.public-editorial .public-footer__legal {
        justify-content: flex-start;
    }

    body.public-editorial :is(.tech-hero, .subscriptions-hero, .amp-hero, .sl-hero, .vf-hero, .cs-hero, .ct-hero) {
        min-height: 570px;
        padding: 100px 0 56px;
    }

    body.public-editorial :is(.tech-hero-content, .subscriptions-hero, .amp-hero, .sl-hero, .vf-hero, .cs-hero, .ct-hero) h1,
    body.public-editorial .subscriptions-hero .display-4,
    body.public-editorial .gs-hero-copy h1 {
        font-size: 42px;
        line-height: 1.05;
    }

    body.public-editorial .tech-hero-content {
        padding-bottom: 56px;
    }

    body.public-editorial :is(.amp-section, .sl-section, .vf-section, .cs-section, .ct-section, .tech-section, .gs-steps, .subscriptions-bubbles) {
        padding: 68px 0;
    }

    body.public-editorial :is(.amp-section-header, .sl-section-header, .vf-section-header, .cs-section-header, .ct-section-header, .tech-section-head) h2,
    body.public-editorial .subscriptions-highlight-copy h2,
    body.public-editorial .subscriptions-levels-head h2 {
        font-size: 34px;
    }

    body.public-editorial .gs-hero-grid {
        min-height: 560px;
        padding: 96px 14px 56px;
    }

    body.public-editorial .beginnings .hero,
    body.public-editorial .beginnings .hero .img {
        min-height: 590px;
        height: 590px;
    }

    body.public-editorial .tech-editorial-media {
        grid-template-columns: 1fr;
    }

    body.public-editorial .pm-hero {
        min-height: 570px;
        padding: 96px 0 56px;
    }

    body.public-editorial .pm-hero .pm-container,
    body.public-editorial .pm-container,
    body.public-editorial .faq-page {
        width: calc(100% - 28px);
    }

    body.public-editorial .pm-title {
        font-size: 41px;
    }

    body.public-editorial .pm-section {
        padding: 66px 0;
    }

    body.public-editorial .pm-section-title {
        font-size: 34px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.public-editorial *,
    body.public-editorial *::before,
    body.public-editorial *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
