/* Presentation for approved article HTML rendered by the native news template. */
/* Keep the hero's absolute and animated layers inside its own hit area. */
body.pride-spa-rt-page #cover {
    overflow: hidden;
    isolation: isolate;
}
.pride-article {
    --pride-article-bg: #373f42;
    --pride-article-bg-alt: #2f393b;
    --pride-article-card: #424d4f;
    --pride-article-text: #b9c1c3;
    --pride-article-heading: #f4f5f0;
    --pride-article-accent: #ed9743;
    --pride-article-line: rgba(244, 245, 240, .14);
    --pride-article-width: 1128px;
    --pride-article-rail: 224px;
    width: 100%;
    min-width: 0;
    margin: 0;
    color: var(--pride-article-text);
    background: var(--pride-article-bg);
    font-family: Raleway, Arial, sans-serif;
    font-size: clamp(15px, .95rem + .14vw, 17px);
    line-height: 1.58;
}

.pride-article,
.pride-article *,
.pride-article *::before,
.pride-article *::after { box-sizing: border-box; }
.pride-article [hidden] { display: none !important; }
.pride-article :where(img, video, iframe, embed, object, svg) { max-inline-size: 100%; height: auto; }
.pride-article :where(a, p, li, td, th) { overflow-wrap: anywhere; }
.pride-article a { color: var(--pride-article-accent); text-decoration-color: rgba(237, 151, 67, .55); text-underline-offset: .2em; }
.pride-article a:hover { color: #ffc07b; text-decoration-color: currentColor; }
.pride-article :focus-visible { outline: 2px solid var(--pride-article-accent); outline-offset: 4px; }

.pride-article__shell { position: relative; }
.pride-article__content {
    position: relative;
    z-index: 0;
    width: 100%;
    min-width: 0;
    isolation: isolate;
    counter-reset: pride-article__section var(--pride-article-section-start, 0);
}
.pride-article__lead {
    position: relative;
    width: min(calc(100% - 40px), var(--pride-article-width));
    margin: 0 auto;
    padding: 28px 0 36px 27px;
}
.pride-article__lead::before {
    position: absolute;
    top: 28px;
    bottom: 36px;
    left: 0;
    width: 3px;
    background: var(--pride-article-accent);
    content: "";
}
.pride-article__lead > :last-child { margin-bottom: 0; }

.pride-article__section {
    position: relative;
    width: 100%;
    margin: 0;
    padding: clamp(56px, 5.3vw, 76px) 0 clamp(64px, 5.7vw, 82px);
    background: var(--pride-article-bg);
    box-shadow: 0 0 0 100vmax var(--pride-article-bg);
    clip-path: inset(0 -100vmax);
    counter-increment: pride-article__section;
    scroll-margin-top: 92px;
}
.pride-article__content:not(.pride-article__appendices) > .pride-article__section:first-of-type {
    padding-top: clamp(28px, 2.6vw, 36px);
}
.pride-article__section:nth-of-type(even) {
    background: var(--pride-article-bg-alt);
    box-shadow: 0 0 0 100vmax var(--pride-article-bg-alt);
}
.pride-article__section-title {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 20px;
    width: min(calc(100% - 40px), var(--pride-article-width));
    margin: 0 auto 32px;
    color: var(--pride-article-heading);
    font-size: clamp(30px, 2.45vw, 38px);
    font-weight: 700;
    letter-spacing: -.028em;
    line-height: 1.13;
    text-wrap: balance;
}
.pride-article__section-title::before {
    padding-top: .43em;
    color: var(--pride-article-accent);
    content: counter(pride-article__section, decimal-leading-zero);
    font-size: .35em;
    line-height: 1;
}
.pride-article__section-body {
    width: min(calc(100% - 40px), var(--pride-article-width));
    margin: 0 auto;
}
.pride-article__section-body > :first-child { margin-top: 0; }
.pride-article__section-body > :last-child { margin-bottom: 0; }
.pride-article__section-body :where(p, ul, ol, table, figure, .pride-article__service-grid) { margin-top: 0; margin-bottom: 24px; }
.pride-article__section-body :where(ul, ol) { padding-left: 1.3em; }
.pride-article__section-body li { margin: .5em 0; padding-left: .28em; }
.pride-article__section-body li::marker { color: var(--pride-article-accent); }
.pride-article__section-body h3 {
    margin: 34px 0 15px;
    color: var(--pride-article-heading);
    font-size: clamp(21px, 1.7vw, 28px);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.2;
}
.pride-article__followup {
    width: min(calc(100% - 40px), var(--pride-article-width));
    margin: 0 auto;
    padding: 0 0 clamp(56px, 5.3vw, 76px);
}
.pride-article__followup > :first-child { margin-top: 0; }
.pride-article__followup > :last-child { margin-bottom: 0; }
.pride-article__followup :where(p, ul, ol, table, figure, .pride-article__service-grid) { margin-top: 0; margin-bottom: 24px; }
.pride-article__followup :where(ul, ol) { padding-left: 1.3em; }
.pride-article__followup li { margin: .5em 0; padding-left: .28em; }
.pride-article__followup li::marker { color: var(--pride-article-accent); }
.pride-article__followup h3 {
    margin: 34px 0 15px;
    color: var(--pride-article-heading);
    font-size: clamp(21px, 1.7vw, 28px);
    letter-spacing: -.025em;
    line-height: 1.2;
}
.pride-article__followup hr { height: 1px; margin: 0 0 26px; border: 0; background: var(--pride-article-line); }
.pride-article__section-body hr { height: 1px; margin: 0 0 26px; border: 0; background: var(--pride-article-line); }
.pride-article__section-body .pride-article__table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; border: 1px solid var(--pride-article-line); border-radius: 10px; color: var(--pride-article-text); }
.pride-article__section-body .pride-article__table :is(th, td) { min-width: 160px; padding: 14px 17px; border-right: 1px solid var(--pride-article-line); border-bottom: 1px solid var(--pride-article-line); text-align: left; vertical-align: top; }
.pride-article__section-body .pride-article__table tr:last-child td { border-bottom: 0; }
.pride-article__section-body .pride-article__table :is(th, td):last-child { border-right: 0; }
.pride-article__button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 19px; border: 1px solid var(--pride-article-accent); border-radius: 2px; color: var(--pride-article-heading) !important; font-size: 14px; font-weight: 700; line-height: 1; text-decoration: none !important; }
.pride-article__figure { max-width: 360px; margin-left: 0; }
.pride-article__figure--right { float: right; width: min(31%, 280px); margin: 0 0 20px 40px; }
.pride-article__figure img { display: block; width: 100%; border-radius: 0; }
.pride-article__content :where(.pride-article__lead, .pride-article__section-body, .pride-article__followup) img { border-radius: 0; }

.pride-article__service-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.pride-article__service-card { display: flex; flex-direction: column; overflow: hidden; min-width: 0; border-radius: 0; background: var(--pride-article-card); }
.pride-article__service-card-media a,
.pride-article__service-card-media img { display: block; width: 100%; }
.pride-article__service-card-media img { aspect-ratio: 1 / .76; object-fit: cover; }
.pride-article__service-card-title { padding: 11px 12px 14px; color: var(--pride-article-heading); font-size: 18px; font-weight: 400; line-height: 1.25; }
.pride-article__service-card-title a { color: inherit; text-decoration: none; }
.pride-article .pride-article__service-card-price { margin: auto 0 0; padding: 0 12px 14px; color: var(--pride-article-accent); font-size: 13px; }
.pride-article__appendices--after-odd > .pride-article__section:nth-of-type(odd) {
    background: var(--pride-article-bg-alt);
    box-shadow: 0 0 0 100vmax var(--pride-article-bg-alt);
}
.pride-article__appendices--after-odd > .pride-article__section:nth-of-type(even) {
    background: var(--pride-article-bg);
    box-shadow: 0 0 0 100vmax var(--pride-article-bg);
}
.pride-spa-related__links { display: flex; flex-wrap: wrap; gap: 12px 30px; }
.pride-spa-directory > li { margin-inline-start: calc(var(--spa-depth, 0) * 18px); }

.pride-article__direction-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.pride-article__direction-card { min-width: 0; padding: 22px; border-radius: 12px; background: var(--pride-article-card); }
.pride-article__direction-card h3 { margin: 0 0 15px; color: var(--pride-article-heading); font-size: 23px; line-height: 1.15; }
.pride-article__direction-card video { display: block; width: 100%; margin-top: 18px; border-radius: 0; }

.pride-article__toc-rail { width: min(calc(100% - 40px), var(--pride-article-width)); margin: 0 auto; padding: 24px 0; }
.pride-article__toc { padding: 14px; border: 1px solid var(--pride-article-line); border-radius: 10px; background: rgba(47, 57, 59, .94); }
.pride-article__toc-title { margin: 0 0 8px; color: var(--pride-article-heading); font-size: 13px; font-weight: 700; }
.pride-article__toc-links { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.pride-article .pride-article__toc-links a { color: var(--pride-article-text); font-size: 13px; text-decoration: none; }
.pride-article .pride-article__toc-links a:hover,
.pride-article .pride-article__toc-links a.is-active { color: var(--pride-article-accent); text-decoration: none; }

@media (min-width: 1024px) {
    .pride-article__shell {
        width: min(calc(100% - 40px), calc(var(--pride-article-width) + var(--pride-article-rail) + 32px));
        margin: 0 auto;
    }
    .pride-article__content { width: calc(100% - var(--pride-article-rail) - 32px); }
    .pride-article__toc-rail { position: absolute; z-index: 2; top: 0; right: 0; bottom: 0; width: var(--pride-article-rail); margin: 0; padding: 0; }
    .pride-article__toc.is-floating {
        position: fixed;
        z-index: 20;
        top: 96px;
        right: max(20px, calc((100vw - (var(--pride-article-width) + var(--pride-article-rail) + 32px)) / 2));
        width: var(--pride-article-rail);
    }
    .pride-article__toc-links { display: grid; gap: 0; }
    .pride-article__toc-links a { padding: 9px 6px; border-bottom: 1px solid var(--pride-article-line); }
    .pride-article__toc-links a:last-child { border-bottom: 0; }

    .pride-article__lead,
    .pride-article__section-title,
    .pride-article__section-body,
    .pride-article__followup { width: min(calc(100% - 40px), var(--pride-article-width)); }
}

@media (max-width: 980px) { .pride-article__service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) {
    .pride-article__section { padding-top: 52px; padding-bottom: 60px; }
    .pride-article__section-title { grid-template-columns: 24px minmax(0, 1fr); gap: 13px; }
    .pride-article__figure--right { float: none; width: min(100%, 360px); margin: 0 0 20px; }
    .pride-article__direction-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .pride-article__lead,
    .pride-article__section-title,
    .pride-article__section-body,
    .pride-article__followup,
    .pride-article__toc-rail { width: min(calc(100% - 32px), var(--pride-article-width)); }
    .pride-article__lead { padding-left: 20px; }
    .pride-article__section-title { font-size: 29px; }
    .pride-article__service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .pride-article__service-card-title { font-size: 18px; }
}

/* Keep the existing footer badges within their mobile grid column. */
@media (max-width: 600px) {
    .pride-spa-rt-page .footer__apps { grid-template-columns: minmax(0, 1fr); }
    .pride-spa-rt-page .footer__apps_item { max-width: 100%; }
    .pride-spa-rt-page .footer__apps_item img { max-width: 100%; height: auto; }
}
