/* =========================================================
   ShareReporter — editorial design system
   Loaded after Tailwind CDN so it always wins.
   ========================================================= */

:root {
    --sr-ink: #212529;
    --sr-ink-2: #343a40;
    --sr-ink-3: #495057;
    --sr-body: #6b7280;
    --sr-muted: #6c757d;
    --sr-line: #dfe1e3;
    --sr-line-strong: #c6c9cc;
    --sr-line-dark: rgba(255, 255, 255, .14);
    --sr-paper: #ffffff;
    --sr-paper-2: #fafafa;
    --sr-paper-3: #f1f2f3;
    --sr-brand: #ff5100;
    --sr-brand-2: #d94500;
    --sr-brand-soft: #f2f2f2;
    --sr-radius: 6px;
    --sr-shell: 1200px;
}

/* ---------- base rhythm ---------- */

body {
    color: var(--sr-body);
    background: var(--sr-paper);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

#main-nav-links .sr-nav-link.is-active {
    border-bottom-color: var(--sr-brand);
    color: var(--sr-ink);
    font-weight: 700;
}

#mobile-menu .sr-mobile-nav-link.is-active {
    border-left-color: var(--sr-brand);
    background: #f8fafc;
    color: var(--sr-ink);
    font-weight: 700;
}

.sr-shell {
    width: 100%;
    max-width: var(--sr-shell);
    margin: 0 auto;
    padding: 0 1.5rem;
}

.sr-shell--narrow { max-width: 860px; }
.sr-shell--mid { max-width: 1020px; }

.sr-section {
    position: relative;
    padding: 6rem 0;
    background: var(--sr-paper);
}

.sr-section--tight { padding: 4rem 0; }
.sr-section--paper { background: var(--sr-paper-2); border-top: 1px solid var(--sr-line); border-bottom: 1px solid var(--sr-line); }
.sr-section--sand { background: var(--sr-paper-2); border-top: 1px solid var(--sr-line); border-bottom: 1px solid var(--sr-line); }
.sr-section--ruled { border-top: 1px solid var(--sr-line); }

.sr-section--ink {
    background: var(--sr-paper);
    border-top: 1px solid var(--sr-line);
    color: var(--sr-body);
}

.sr-section--ink .sr-title,
.sr-section--ink .sr-h3,
.sr-section--ink h2,
.sr-section--ink h3 { color: var(--sr-ink); }

.sr-section--ink .sr-lede { color: var(--sr-body); }

@media (max-width: 767px) {
    .sr-section { padding: 3.75rem 0; }
    .sr-section--tight { padding: 3rem 0; }
}

/* ---------- typography ---------- */

.sr-eyebrow {
    display: block;
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0;
    text-transform: none;
    color: var(--sr-ink);
}

.sr-eyebrow::before { content: none; }
.sr-eyebrow--plain::before { content: none; }
.sr-eyebrow--light { color: var(--sr-ink); }
.sr-eyebrow--muted { color: var(--sr-ink-3); }

.sr-title {
    margin: 1rem 0 0;
    color: var(--sr-ink);
    font-size: clamp(1.9rem, 3.4vw, 2.6rem);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -.022em;
}

.sr-title--xl { font-size: clamp(2.4rem, 5.6vw, 4rem); line-height: 1.03; }
.sr-title--sm { font-size: clamp(1.5rem, 2.4vw, 1.9rem); }
.sr-title--flush { margin-top: 0; }

.sr-h3 {
    margin: 0;
    color: var(--sr-ink);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -.012em;
    line-height: 1.3;
}

.sr-lede {
    margin: 1.25rem 0 0;
    max-width: 62ch;
    color: var(--sr-body);
    font-size: 1.125rem;
    line-height: 1.7;
}

.sr-text {
    margin: 1rem 0 0;
    line-height: 1.75;
    color: var(--sr-body);
}

.sr-text strong { color: var(--sr-ink); font-weight: 600; }
.sr-section--ink .sr-text { color: var(--sr-body); }
.sr-section--ink .sr-text strong { color: var(--sr-ink); }

.sr-accent { color: var(--sr-brand); font-weight: 600; }
.sr-section--ink .sr-accent { color: var(--sr-brand); }

.text-orange,
.sr-text strong.text-orange,
.sr-section--ink .sr-text strong.text-orange,
.sr-text .text-orange,
strong.text-orange,
span.text-orange,
p strong.text-orange {
    color: var(--sr-brand) !important;
}

.sr-head { max-width: 44rem; }
.sr-head--center { margin: 0 auto; text-align: center; }

.sr-rule {
    height: 1px;
    margin: 3.25rem 0;
    background: var(--sr-line);
    border: 0;
}

.sr-grid { display: grid; gap: 1.5rem; }
.sr-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sr-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sr-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sr-grid--gapless { gap: 0; }

.sr-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 4rem;
    align-items: start;
}

.sr-split--center { align-items: center; }
.sr-split--aside { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }

@media (max-width: 1023px) {
    .sr-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sr-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sr-split, .sr-split--aside { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
}

@media (max-width: 639px) {
    .sr-grid--2, .sr-grid--3, .sr-grid--4 { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- flat editorial cards ---------- */

.sr-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 2rem;
    background: var(--sr-paper);
    border: 2px solid var(--sr-brand);
    border-radius: var(--sr-radius);
    transition: box-shadow .2s ease, border-color .2s ease;
}

.sr-card:hover {
    border-color: var(--sr-brand-2);
    box-shadow: 0 6px 18px -10px rgba(33, 37, 41, .35);
}

.sr-card__index {
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0;
    color: var(--sr-brand);
}


.sr-card .sr-h3 { margin-top: .9rem; }
.sr-card .sr-text { margin-top: .7rem; font-size: 1rem; }
.sr-card__note {
    margin: .6rem 0 0;
    font-size: 1rem;
    line-height: 1.65;
    letter-spacing: 0;
    text-transform: none;
    color: var(--sr-body);
}

.sr-card--flat { border-color: var(--sr-line); }
.sr-card--flat:hover { border-color: var(--sr-brand); box-shadow: none; }
.sr-card--paper { background: var(--sr-paper-2); }

.sr-card--dark {
    background: var(--sr-paper);
    border-color: var(--sr-brand);
}

.sr-card--dark:hover { border-color: var(--sr-brand-2); }
.sr-card--dark .sr-h3 { color: var(--sr-ink); }
.sr-card--dark .sr-text { color: var(--sr-body); }
.sr-card--dark .sr-card__index { color: var(--sr-muted); }

.sr-card--brand {
    background: var(--sr-paper);
    border-color: var(--sr-brand);
}

/* ruled list of short items — replaces icon-grid clutter */

.sr-ruled {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--sr-line);
    border-left: 1px solid var(--sr-line);
}

.sr-ruled__item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.65rem 1.5rem;
    border-right: 1px solid var(--sr-line);
    border-bottom: 1px solid var(--sr-line);
    background: var(--sr-paper);
    transition: background .25s ease;
}

.sr-ruled__item:hover { background: var(--sr-paper-2); }

.sr-ruled__num {
    flex: none;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.6;
    color: var(--sr-brand);
}

.sr-ruled__text {
    margin: 0;
    color: var(--sr-ink);
    font-size: .95rem;
    font-weight: 600;
    line-height: 1.55;
}

.sr-ruled--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sr-ruled--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 1023px) { .sr-ruled, .sr-ruled--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .sr-ruled, .sr-ruled--2, .sr-ruled--4 { grid-template-columns: minmax(0, 1fr); } }

/* ---------- lists ---------- */

.sr-list {
    margin: 1.4rem 0 0;
    padding: 0;
    list-style: none;
}

.sr-list li {
    position: relative;
    padding: .85rem 0 .85rem 1.6rem;
    border-bottom: 1px solid var(--sr-line);
    color: var(--sr-body);
    font-size: 1rem;
    line-height: 1.65;
}

.sr-list li:first-child { border-top: 1px solid var(--sr-line); }

.sr-list li::before {
    content: "";
    position: absolute;
    top: 1.5rem;
    left: 0;
    width: .55rem;
    height: 1px;
    background: var(--sr-brand);
}

.sr-list li strong { color: var(--sr-ink); font-weight: 600; }

.sr-list--plain li,
.sr-list--plain li:first-child { border: 0; padding-top: .45rem; padding-bottom: .45rem; }
.sr-list--plain li::before { top: 1.1rem; }

.sr-section--ink .sr-list li { border-color: var(--sr-line); color: var(--sr-body); }
.sr-section--ink .sr-list li strong { color: var(--sr-ink); }

/* ---------- buttons & links ---------- */

.sr-btn {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .85rem 1.75rem;
    border: 2px solid var(--sr-brand);
    border-radius: var(--sr-radius);
    background: var(--sr-paper);
    color: var(--sr-brand);
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.sr-btn:hover { background: var(--sr-brand); border-color: var(--sr-brand); color: #fff; }

.sr-btn--brand { background: var(--sr-brand); border-color: var(--sr-brand); color: #fff; }
.sr-btn--brand:hover { background: var(--sr-brand-2); border-color: var(--sr-brand-2); color: #fff; }

.sr-btn--ghost { background: var(--sr-paper); color: var(--sr-ink); border-color: var(--sr-line-strong); }
.sr-btn--ghost:hover { background: var(--sr-ink); color: #fff; border-color: var(--sr-ink); }

.sr-btn--light { background: var(--sr-paper); border-color: var(--sr-brand); color: var(--sr-brand); }
.sr-btn--light:hover { background: var(--sr-brand); border-color: var(--sr-brand); color: #fff; }

.sr-btn--outline-light { background: transparent; border-color: var(--sr-line-strong); color: var(--sr-ink); }
.sr-btn--outline-light:hover { background: var(--sr-ink); border-color: var(--sr-ink); color: #fff; }

.sr-btn--block { width: 100%; justify-content: center; }

.sr-linkarrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-top: 1.75rem;
    color: var(--sr-brand);
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    transition: color .2s ease, gap .2s ease;
}

.sr-linkarrow:hover { color: var(--sr-brand-2); gap: .85rem; }
.sr-linkarrow--light { color: var(--sr-brand); }
.sr-linkarrow--light:hover { color: var(--sr-brand-2); }

.sr-backlink {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .95rem;
    font-weight: 600;
    color: var(--sr-brand);
    text-decoration: none;
}

.sr-backlink:hover { color: var(--sr-brand-2); }
.sr-backlink--dark { color: var(--sr-brand); }
.sr-backlink--dark:hover { color: var(--sr-brand-2); }

.sr-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 2.25rem;
}

/* ---------- interior page hero ---------- */

.sr-pagehero {
    position: relative;
    padding: 2.75rem 0 2.25rem;
    background: var(--sr-paper);
    border-bottom: 1px solid var(--sr-line);
    color: var(--sr-body);
}

.sr-pagehero__inner { position: relative; z-index: 1; }
.sr-pagehero .sr-title { color: var(--sr-ink); }
.sr-pagehero .sr-lede { color: var(--sr-body); max-width: 62ch; }
.sr-pagehero--center .sr-pagehero__inner { text-align: center; }
.sr-pagehero--center .sr-lede { margin-left: auto; margin-right: auto; }
.sr-pagehero--center .sr-actions { justify-content: center; }

.sr-pagehero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1.75rem;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--sr-line);
    font-size: 1rem;
    color: var(--sr-ink-3);
}

@media (max-width: 767px) { .sr-pagehero { padding: 2rem 0 1.5rem; } }

/* ---------- stat strip ---------- */

.sr-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--sr-line);
    border-bottom: 1px solid var(--sr-line);
}

.sr-stat { padding: 2.25rem 1.5rem; border-right: 1px solid var(--sr-line); }
.sr-stat:last-child { border-right: 0; }

.sr-stat__value {
    display: block;
    color: var(--sr-ink);
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: -.03em;
    line-height: 1;
}

.sr-stat__label {
    display: block;
    margin-top: .7rem;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--sr-ink-3);
}

@media (max-width: 767px) {
    .sr-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sr-stat:nth-child(2n) { border-right: 0; }
    .sr-stat:nth-child(-n+2) { border-bottom: 1px solid var(--sr-line); }
}

/* ---------- feature panel (two-up copy blocks) ---------- */

.sr-panel {
    padding: 2.25rem;
    background: var(--sr-paper-2);
    border: 1px solid var(--sr-line);
    border-radius: var(--sr-radius);
}

.sr-panel--brand { background: var(--sr-paper); border: 2px solid var(--sr-brand); }
.sr-panel--ink { background: var(--sr-paper); border: 2px solid var(--sr-brand); color: var(--sr-body); }
.sr-panel--ink .sr-h3, .sr-panel--ink .sr-title { color: var(--sr-ink); }
.sr-panel--ink .sr-list li { border-color: var(--sr-line); color: var(--sr-body); }
.sr-panel--ink .sr-list li:first-child { border-top-color: var(--sr-line); }
.sr-panel--ink .sr-list li strong { color: var(--sr-ink); }
.sr-panel--ink .sr-text { color: var(--sr-body); }

/* ---------- product / solution blocks ---------- */

.sr-solution {
    display: flex;
    flex-direction: column;
    padding: 2.5rem;
    background: var(--sr-paper);
    border: 2px solid var(--sr-brand);
    border-radius: var(--sr-radius);
    transition: box-shadow .2s ease, border-color .2s ease;
}

.sr-solution:hover { border-color: var(--sr-brand-2); box-shadow: 0 8px 22px -12px rgba(33, 37, 41, .38); }

.sr-solution__label {
    display: block;
    min-height: 3em;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.5;
    color: var(--sr-ink-3);
}

.sr-solution__title {
    margin: 1rem 0 0;
    color: var(--sr-ink);
    font-size: 1.9rem;
    font-weight: 700;
    letter-spacing: -.025em;
}

.sr-solution__title a { color: inherit; text-decoration: none; }
.sr-solution__title a:hover { color: var(--sr-brand-2); }

.sr-solution--feature { background: var(--sr-paper); }

/* ---------- FAQ ---------- */

.sr-faq { border-top: 1px solid var(--sr-line); }

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

.sr-faq summary {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    padding: 1.6rem 0;
    color: var(--sr-ink);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: -.008em;
    cursor: pointer;
    list-style: none;
    transition: color .2s ease;
}

.sr-faq summary::-webkit-details-marker { display: none; }
.sr-faq summary:hover { color: var(--sr-brand-2); }

.sr-faq summary::after {
    content: "+";
    flex: none;
    width: 1rem;
    color: var(--sr-muted);
    font-size: 1.35rem;
    font-weight: 400;
    line-height: 1;
    text-align: center;
}

.sr-faq details[open] summary::after { content: "\2013"; }

.sr-faq__answer {
    margin: 0;
    padding: 0 3rem 1.75rem 0;
    color: var(--sr-body);
    line-height: 1.8;
    animation: sr-faq-in .35s ease;
}

@keyframes sr-faq-in {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: none; }
}

/* ---------- tables ---------- */

.sr-tablewrap {
    overflow-x: auto;
    border: 1px solid var(--sr-line);
    border-radius: var(--sr-radius);
    background: var(--sr-paper);
}

.sr-table {
    width: 100%;
    min-width: 640px;
    border-collapse: collapse;
    font-size: 1rem;
}

.sr-table thead th {
    padding: 1.1rem 1.5rem;
    background: var(--sr-paper-3);
    border-bottom: 1px solid var(--sr-line-strong);
    color: var(--sr-ink);
    font-size: 1rem;
    font-weight: 700;
    text-align: left;
}

.sr-table tbody th,
.sr-table tbody td {
    padding: 1.15rem 1.5rem;
    border-bottom: 1px solid var(--sr-line);
    color: var(--sr-body);
    line-height: 1.65;
    text-align: left;
    vertical-align: top;
}

.sr-table tbody th { color: var(--sr-ink); font-weight: 600; }
.sr-table tbody tr:last-child th,
.sr-table tbody tr:last-child td { border-bottom: 0; }
.sr-table tbody tr:hover { background: var(--sr-paper-2); }

.sr-table--matrix { text-align: center; }
.sr-table--matrix thead th { text-align: center; }
.sr-table--matrix thead th:first-child { text-align: left; }
.sr-table--matrix tbody td { text-align: center; }
.sr-table--matrix tbody th { text-align: left; }
.sr-table__price { display: block; margin-top: .3rem; color: var(--sr-ink-3); font-size: 1rem; font-weight: 400; }
.sr-yes { color: var(--sr-brand); font-weight: 700; }
.sr-no { color: var(--sr-line-strong); }

/* ---------- CTA band ---------- */

.sr-cta {
    position: relative;
    padding: 4.5rem 0;
    background: var(--sr-paper);
    border-top: 1px solid var(--sr-line);
    color: var(--sr-body);
}

.sr-cta__inner { position: relative; z-index: 1; text-align: center; }
.sr-cta .sr-title { color: var(--sr-ink); }
.sr-cta .sr-lede { margin-left: auto; margin-right: auto; color: var(--sr-body); }
.sr-cta .sr-actions { justify-content: center; }

/* ---------- people ---------- */

.sr-person {
    padding: 2rem;
    background: var(--sr-paper);
    border: 2px solid var(--sr-brand);
    border-radius: var(--sr-radius);
}

.sr-person__photo {
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    object-fit: cover;
    filter: grayscale(1);
}

.sr-person:hover .sr-person__photo { filter: grayscale(1); }
.sr-person__name { margin: 1.4rem 0 0; color: var(--sr-ink); font-size: 1.15rem; font-weight: 700; }
.sr-person__role {
    margin: .45rem 0 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--sr-brand);
}
.sr-person__bio { margin: 1.1rem 0 0; color: var(--sr-body); font-size: 1rem; line-height: 1.7; }

/* ---------- contact tiles ---------- */

.sr-contact {
    display: block;
    padding: 1.9rem;
    border: 2px solid var(--sr-brand);
    border-radius: var(--sr-radius);
    background: var(--sr-paper);
    text-decoration: none;
    transition: box-shadow .2s ease, border-color .2s ease;
}

.sr-contact:hover { border-color: var(--sr-brand-2); box-shadow: 0 8px 22px -12px rgba(33, 37, 41, .38); }

.sr-contact__label {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--sr-ink-3);
}

.sr-contact__value {
    margin: 1rem 0 0;
    color: var(--sr-ink);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.55;
    word-break: break-word;
}

.sr-contact__value--sm { font-size: 1rem; font-weight: 500; color: var(--sr-body); }

/* ---------- article / editorial cards (news + knowledge) ---------- */

.sr-post {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 1.9rem;
    background: var(--sr-paper);
    border: 2px solid var(--sr-brand);
    border-radius: var(--sr-radius);
    text-decoration: none;
    transition: box-shadow .2s ease, border-color .2s ease;
}

.sr-post:hover { border-color: var(--sr-brand-2); box-shadow: 0 8px 22px -12px rgba(33, 37, 41, .38); }

.sr-post__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .9rem;
    font-size: .98rem;
    font-weight: 500;
    color: var(--sr-ink-3);
}

.sr-post__title {
    margin: 1.1rem 0 0;
    color: var(--sr-ink);
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -.015em;
}

.sr-post:hover .sr-post__title { color: var(--sr-brand-2); }
.sr-post__excerpt { margin: .9rem 0 0; color: var(--sr-body); font-size: 1rem; line-height: 1.7; }
.sr-post__foot {
    margin-top: auto;
    padding-top: 1.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--sr-brand);
}

.sr-post:hover .sr-post__foot { color: var(--sr-brand-2); }

.sr-post--media { padding: 0; overflow: hidden; }

.sr-post__img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    border-bottom: 2px solid var(--sr-brand);
}

.sr-post__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.9rem;
}

.sr-chip {
    display: inline-flex;
    align-items: center;
    padding: .3rem .75rem;
    border: 1px solid var(--sr-line-strong);
    border-radius: 999px;
    font-size: .92rem;
    font-weight: 500;
    color: var(--sr-ink-3);
}

.sr-empty {
    padding: 4rem 2rem;
    border: 1px dashed var(--sr-line-strong);
    border-radius: var(--sr-radius);
    text-align: center;
    color: var(--sr-muted);
}

/* ---------- article body ---------- */

.sr-article { max-width: 44rem; margin: 0 auto; }

.sr-prose { color: var(--sr-body); font-size: 1.05rem; line-height: 1.85; }
.sr-prose > * + * { margin-top: 1.35rem; }
.sr-prose h2 { margin-top: 2.75rem; color: var(--sr-ink); font-size: 1.55rem; font-weight: 700; letter-spacing: -.02em; }
.sr-prose h3 { margin-top: 2.25rem; color: var(--sr-ink); font-size: 1.2rem; font-weight: 700; }
.sr-prose ul, .sr-prose ol { padding-left: 1.35rem; }
.sr-prose li + li { margin-top: .5rem; }
.sr-prose ul { list-style: disc; }
.sr-prose ol { list-style: decimal; }
.sr-prose a { color: var(--sr-brand-2); text-decoration: underline; text-underline-offset: 3px; }
.sr-prose img { max-width: 100%; height: auto; border-radius: var(--sr-radius); }
.sr-prose blockquote {
    padding-left: 1.5rem;
    border-left: 2px solid var(--sr-brand);
    color: var(--sr-ink);
    font-size: 1.15rem;
    font-style: italic;
}
.sr-prose table { width: 100%; border-collapse: collapse; font-size: .93rem; }
.sr-prose th, .sr-prose td { padding: .75rem 1rem; border: 1px solid var(--sr-line); text-align: left; }

/* ---------- article page layout ---------- */

.sr-articlepage {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 17rem;
    gap: 4rem;
    align-items: start;
}

@media (max-width: 900px) {
    .sr-articlepage { grid-template-columns: minmax(0, 1fr); gap: 3rem; }
}

.sr-articlehead { padding-bottom: 2.5rem; border-bottom: 1px solid var(--sr-line); }

.sr-articlehead__title {
    margin: 1.1rem 0 0;
    color: var(--sr-ink);
    font-size: clamp(2rem, 4vw, 2.9rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -.03em;
}

.sr-articlehead__excerpt {
    margin: 1.3rem 0 0;
    color: var(--sr-ink-3);
    font-size: 1.15rem;
    line-height: 1.65;
}

.sr-articlehero {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    margin: 2.5rem 0 0;
    border: 1px solid var(--sr-line);
    border-radius: var(--sr-radius);
    background: var(--sr-paper-2);
}

.sr-aside {
    position: sticky;
    top: 6.5rem;
    padding: 1.75rem;
    border: 1px solid var(--sr-line);
    border-radius: var(--sr-radius);
    background: var(--sr-paper-2);
}

@media (max-width: 900px) {
    .sr-aside { position: static; }
}

.sr-aside__title {
    margin: 0 0 1.25rem;
    color: var(--sr-ink);
    font-size: 1.125rem;
    font-weight: 700;
}

.sr-asidelist { margin: 0; padding: 0; list-style: none; }

.sr-asidelist li {
    padding: 1rem 0;
    border-top: 1px solid var(--sr-line);
}

.sr-asidelist li:first-child { border-top: 0; padding-top: 0; }
.sr-asidelist li:last-child { padding-bottom: 0; }

.sr-asidelist a {
    display: block;
    color: var(--sr-ink);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.45;
    text-decoration: none;
    transition: color .2s ease;
}

.sr-asidelist a:hover { color: var(--sr-brand); }

.sr-asidelist time {
    display: block;
    margin-top: .35rem;
    color: var(--sr-ink-3);
    font-size: .92rem;
}

/* ---------- forms ---------- */

.sr-form {
    padding: 2.5rem;
    background: var(--sr-paper);
    border: 1px solid var(--sr-line);
    border-radius: var(--sr-radius);
}

.sr-field { margin-top: 1.35rem; }
.sr-field:first-child { margin-top: 0; }

.sr-label {
    display: block;
    margin-bottom: .5rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--sr-ink);
}

.sr-input,
.sr-select,
.sr-textarea {
    display: block;
    width: 100%;
    padding: .8rem 1rem;
    background: var(--sr-paper);
    border: 1px solid var(--sr-line-strong);
    border-radius: var(--sr-radius);
    color: var(--sr-ink);
    font-family: inherit;
    font-size: .95rem;
    line-height: 1.5;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.sr-input:focus,
.sr-select:focus,
.sr-textarea:focus {
    outline: none;
    border-color: var(--sr-brand);
    box-shadow: 0 0 0 3px rgba(255, 81, 0, .15);
}

.sr-textarea { min-height: 9rem; resize: vertical; }
.sr-help { margin-top: .45rem; font-size: .92rem; color: var(--sr-ink-3); }
.sr-error { margin-top: .45rem; font-size: .92rem; color: #b42318; }

.sr-input--dark {
    background: var(--sr-paper);
    border-color: var(--sr-line-strong);
    color: var(--sr-ink);
}

.sr-input--dark::placeholder { color: var(--sr-muted); }
.sr-input--dark:focus { border-color: var(--sr-brand); box-shadow: 0 0 0 3px rgba(255, 81, 0, .15); }

.sr-subscribe {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    max-width: 34rem;
    margin: 2rem auto 0;
}

.sr-subscribe .sr-input { flex: 1 1 16rem; width: auto; }

.sr-alert {
    padding: 1rem 1.25rem;
    border: 1px solid var(--sr-line);
    border-left: 2px solid var(--sr-brand);
    border-radius: var(--sr-radius);
    background: var(--sr-paper-2);
    color: var(--sr-ink);
    font-size: 1rem;
    line-height: 1.6;
}

.sr-alert--danger { border-left-color: #b42318; color: #7a271a; background: #fef3f2; border-color: #fee4e2; }
.sr-alert--success { border-left-color: #067647; color: #085d3a; background: #ecfdf3; border-color: #d1fadf; }

.sr-inline { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.sr-checkline { display: flex; align-items: center; gap: .55rem; font-size: 1rem; color: var(--sr-body); }

/* ---------- auth ---------- */

.sr-auth {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 4rem);
    padding: 4rem 1.5rem;
    background: var(--sr-paper-2);
}

.sr-auth__card {
    width: 100%;
    max-width: 27rem;
    padding: 2.75rem;
    background: var(--sr-paper);
    border: 2px solid var(--sr-brand);
    border-radius: var(--sr-radius);
}

.sr-auth__title { margin: 1rem 0 0; color: var(--sr-ink); font-size: 1.65rem; font-weight: 700; letter-spacing: -.02em; }
.sr-auth__sub { margin: .6rem 0 0; color: var(--sr-ink-3); font-size: 1rem; line-height: 1.6; }
.sr-auth__foot { margin-top: 1.75rem; padding-top: 1.5rem; border-top: 1px solid var(--sr-line); font-size: .95rem; color: var(--sr-ink-3); }
.sr-auth__foot a { color: var(--sr-ink); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--sr-brand); }

/* ---------- admin / dashboard ---------- */

.sr-app { padding: 3.5rem 0 5rem; background: var(--sr-paper-2); min-height: 70vh; }

.sr-app__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    padding-bottom: 1.75rem;
    border-bottom: 1px solid var(--sr-line);
    margin-bottom: 2.5rem;
}

.sr-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
@media (max-width: 900px) { .sr-tiles { grid-template-columns: minmax(0, 1fr); } }

.sr-tile {
    display: block;
    padding: 1.9rem;
    background: var(--sr-paper);
    border: 2px solid var(--sr-brand);
    border-radius: var(--sr-radius);
    text-decoration: none;
    transition: box-shadow .2s ease, border-color .2s ease;
}

.sr-tile:hover { border-color: var(--sr-brand-2); transform: none; box-shadow: 0 8px 22px -12px rgba(33, 37, 41, .38); }
.sr-tile__label { font-size: 1rem; font-weight: 600; color: var(--sr-ink-3); }
.sr-tile__title { margin: .9rem 0 0; color: var(--sr-ink); font-size: 1.15rem; font-weight: 700; }
.sr-tile__text { margin: .5rem 0 0; color: var(--sr-body); font-size: 1rem; line-height: 1.6; }

.sr-toolbar { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }

.sr-badge {
    display: inline-flex;
    align-items: center;
    padding: .25rem .7rem;
    border-radius: 999px;
    font-size: .9rem;
    font-weight: 600;
}

.sr-badge--on { background: #ecfdf3; color: #067647; }
.sr-badge--off { background: var(--sr-paper-3); color: var(--sr-ink-3); }

.sr-btn--sm { padding: .5rem 1rem; font-size: .95rem; }
.sr-btn--danger { background: #b42318; border-color: #b42318; color: #fff; }
.sr-btn--danger:hover { background: #912018; border-color: #912018; color: #fff; }

/* ---------- footer ---------- */

.sr-footer {
    background: var(--sr-paper);
    color: var(--sr-body);
    border-top: 1px solid var(--sr-line);
}

.sr-footer__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr));
    gap: 3rem;
    padding: 4.5rem 0 3rem;
}

@media (max-width: 900px) { .sr-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; } }
@media (max-width: 560px) { .sr-footer__grid { grid-template-columns: minmax(0, 1fr); } }

.sr-footer__brand { display: flex; align-items: center; gap: .7rem; color: var(--sr-ink); font-size: 1.05rem; font-weight: 700; letter-spacing: -.01em; }
.sr-footer__brand img { height: 1.6rem; width: auto; }
.sr-footer__about { margin: 1.1rem 0 0; max-width: 30ch; font-size: 1rem; line-height: 1.75; }

.sr-footer__title {
    margin: 0 0 1.25rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--sr-ink);
}

.sr-footer__list { margin: 0; padding: 0; list-style: none; }
.sr-footer__list li + li { margin-top: .7rem; }
.sr-footer__list a { color: var(--sr-body); font-size: 1rem; text-decoration: none; transition: color .2s ease; }
.sr-footer__list a:hover { color: var(--sr-brand); }

.sr-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.5rem 0 2.25rem;
    border-top: 1px solid var(--sr-line);
    font-size: 1rem;
    color: var(--sr-ink-3);
}

/* ---------- scroll reveal ---------- */

.sr-reveal { opacity: 0; transform: translateY(18px); }

.sr-reveal.is-visible {
    opacity: 1;
    transform: none;
    transition: opacity .7s cubic-bezier(.22, .61, .36, 1), transform .7s cubic-bezier(.22, .61, .36, 1);
}

.sr-reveal:nth-child(2) { transition-delay: .06s; }
.sr-reveal:nth-child(3) { transition-delay: .12s; }
.sr-reveal:nth-child(4) { transition-delay: .18s; }
.sr-reveal:nth-child(5) { transition-delay: .24s; }
.sr-reveal:nth-child(6) { transition-delay: .3s; }

@media (prefers-reduced-motion: reduce) {
    .sr-reveal, .sr-reveal.is-visible { opacity: 1; transform: none; transition: none; }
    .sr-card:hover, .sr-post:hover, .sr-tile:hover, .sr-btn:hover { transform: none; }
}

/* ---------- misc helpers ---------- */

.sr-media { display: block; width: 100%; height: auto; }
.sr-figure { margin: 0; }
.sr-figure__caption {
    margin-top: 1rem;
    font-size: .95rem;
    color: var(--sr-ink-3);
}

.sr-center { text-align: center; }
.sr-mt-lg { margin-top: 3.5rem; }
.sr-mt-md { margin-top: 2.25rem; }

/* =========================================================
   Premium public-site refresh — calm, editorial SaaS
   Keeps the homepage hero, logo cloud and product animations intact.
   ========================================================= */

:root {
    --sr-ink: #111827;
    --sr-ink-2: #1f2937;
    --sr-ink-3: #4b5563;
    --sr-body: #667085;
    --sr-muted: #8a94a3;
    --sr-line: #e7eaf0;
    --sr-line-strong: #d5dae2;
    --sr-line-dark: rgba(255, 255, 255, .13);
    --sr-paper: #ffffff;
    --sr-paper-2: #f7f8fa;
    --sr-paper-3: #eef1f4;
    --sr-brand: #f05a24;
    --sr-brand-2: #d94812;
    --sr-brand-soft: #fff3ed;
    --sr-radius: 10px;
    --sr-shell: 1240px;
}

body.bg-gray-50 {
    color: var(--sr-body);
    background: var(--sr-paper);
}

body .sr-shell {
    padding-inline: clamp(1.25rem, 4vw, 2.5rem);
}

body .sr-section {
    overflow: hidden;
    padding: clamp(5.25rem, 9vw, 8rem) 0;
}

body .sr-section--tight { padding: clamp(4rem, 7vw, 5.5rem) 0; }

body .sr-section--paper,
body .sr-section--sand {
    border-color: var(--sr-line);
    background: #f4f6f8;
}

body .sr-section--ink {
    isolation: isolate;
    border-top: 1px solid #e1e5ea;
    border-bottom: 1px solid #e1e5ea;
    background: #f4f6f8;
    color: var(--sr-body);
}

body .sr-section--ink > .sr-shell { position: relative; z-index: 1; }
body .sr-section--ink .sr-title,
body .sr-section--ink .sr-h3,
body .sr-section--ink h2,
body .sr-section--ink h3 { color: var(--sr-ink); }
body .sr-section--ink .sr-lede,
body .sr-section--ink .sr-text { color: var(--sr-body); }
body .sr-section--ink .sr-text strong { color: var(--sr-ink); }

body .sr-eyebrow {
    display: block;
    color: #6f7a89;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0;
    text-transform: none;
}

body .sr-eyebrow::before { content: none; }

body .sr-eyebrow--plain::before { content: none; }
body .sr-eyebrow--light { color: #667085; }
body .sr-section--ink .sr-eyebrow,
body .sr-section--ink .sr-eyebrow--light { color: #6f7a89; }

body .sr-title {
    max-width: 20ch;
    margin-top: 1.15rem;
    color: var(--sr-ink);
    font-size: clamp(2.25rem, 4.6vw, 3.75rem);
    font-weight: 750;
    line-height: 1.04;
    letter-spacing: -.045em;
}

body .sr-title--xl {
    max-width: 16ch;
    font-size: clamp(3rem, 7vw, 5.25rem);
    line-height: .98;
    letter-spacing: -.055em;
}

body .sr-title--sm { font-size: clamp(1.65rem, 3vw, 2.25rem); line-height: 1.08; }
body .sr-title--flush { margin-top: 0; }

body .sr-h3 {
    color: var(--sr-ink);
    font-size: 1.12rem;
    font-weight: 700;
    line-height: 1.35;
}

body .sr-lede {
    max-width: 59ch;
    margin-top: 1.5rem;
    color: var(--sr-body);
    font-size: 1.08rem;
    line-height: 1.8;
}

body .sr-lede--lg { font-size: clamp(1.13rem, 2vw, 1.35rem); line-height: 1.75; }
body .sr-text { color: var(--sr-body); line-height: 1.8; }
body .sr-head { max-width: 49rem; }
body .sr-head--center .sr-title { margin-inline: auto; }

body .sr-question {
    max-width: 28ch;
    margin-bottom: 2rem;
    padding: 0;
    color: #6f7a89;
    font-size: 1rem;
    line-height: 1.65;
}

body .sr-question::before { content: none; }

body .sr-grid { gap: clamp(1.1rem, 2.2vw, 1.75rem); }
body .sr-split { gap: clamp(3rem, 8vw, 7rem); }

body .sr-btn {
    min-height: 3rem;
    justify-content: center;
    padding: .82rem 1.35rem;
    border-width: 1px;
    border-radius: 12px;
    font-size: 1rem;
    box-shadow: 0 1px 2px rgba(17, 24, 39, .06);
}

body .sr-btn--ghost,
body .sr-btn--outline-light {
    border-color: var(--sr-line-strong);
    background: rgba(255, 255, 255, .76);
    color: var(--sr-ink);
}

body .sr-linkarrow {
    color: var(--sr-ink);
    font-size: 1rem;
}

body .sr-linkarrow span { color: var(--sr-brand); }
body .sr-linkarrow:hover { color: var(--sr-brand-2); }

body .sr-backlink {
    color: #5f6b7a;
    font-size: 1rem;
}

body .sr-pagehero {
    isolation: isolate;
    overflow: hidden;
    padding: clamp(2.25rem, 3.75vw, 3rem) 0 clamp(1.75rem, 2.75vw, 2.25rem);
    border-bottom: 1px solid var(--sr-line);
    background: #f8fafc;
}

body .sr-pagehero::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    width: .35rem;
    height: 100%;
    border: 0;
    border-radius: 0;
    background: var(--sr-brand);
    box-shadow: none;
}

body .sr-pagehero .sr-title {
    margin-top: 0.5rem;
    color: var(--sr-ink);
}

body .sr-pagehero .sr-lede {
    margin-top: 0.85rem;
    color: #667085;
}

body .sr-pagehero--center .sr-title { margin-inline: auto; }
body .sr-pagehero--center .sr-lede { margin-inline: auto; }

body .sr-pagehero .sr-backlink {
    display: inline-flex;
    margin-bottom: 0.5rem;
}

body .sr-pagehero .sr-actions {
    margin-top: 1.25rem;
}

/* Connect hero to the following primary section smoothly */
body.sr-page--inner .sr-pagehero + .sr-section,
body.sr-page--inner .sr-pagehero + .sr-coverage-section,
.sr-pagehero + .sr-section,
.sr-pagehero + .sr-coverage-section {
    padding-top: clamp(2rem, 3.5vw, 3rem);
}

body .sr-panel {
    padding: clamp(2rem, 4vw, 3rem);
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    background: #f8f9fb;
    box-shadow: 0 1px 2px rgba(17, 24, 39, .03);
}

body .sr-panel--brand {
    border-color: rgba(240, 90, 36, .68);
    background: #fff3ed;
}

body .sr-panel--advisor-partner {
    border-color: #d9dee5;
    background: #f8fafc;
    box-shadow: 0 18px 45px -40px rgba(17, 24, 39, .48);
}

body .sr-panel--advisor-partner .sr-ruled__item {
    border-color: #dfe3e8;
    background: #fff;
}

body .sr-panel--advisor-partner .sr-ruled__item:hover {
    border-color: #f2b197;
    background: #fff;
}

body.sr-page--inner .sr-panel--brand {
    border: 1px solid #d9dee5;
    border-left: 4px solid var(--sr-brand);
    background: #fff;
    box-shadow: 0 18px 45px -40px rgba(17, 24, 39, .48);
}

body.sr-page--inner .sr-panel--advisor-partner {
    border-left-color: #d9dee5;
    background: #f8fafc;
}

body.sr-page--inner .sr-card--brand {
    border: 1px solid #d9dee5;
    border-top: 3px solid var(--sr-brand);
    background: #fff;
}

body .sr-panel--ink {
    border: 1px solid #dce2e9;
    background: #eef1f4;
    color: var(--sr-body);
    box-shadow: 0 18px 45px -38px rgba(17, 24, 39, .55);
}

body .sr-panel--ink .sr-title,
body .sr-panel--ink .sr-h3 { color: var(--sr-ink); }
body .sr-panel--ink .sr-text,
body .sr-panel--ink .sr-list li { color: var(--sr-body); }
body .sr-panel--ink .sr-list li strong { color: var(--sr-ink); }

body .sr-card {
    padding: clamp(1.75rem, 3vw, 2.35rem);
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 14px 35px -30px rgba(17, 24, 39, .55);
}

body .sr-card:hover {
    border-color: #cfd5de;
    box-shadow: 0 22px 45px -32px rgba(17, 24, 39, .6);
}

body .sr-card__index {
    color: var(--sr-brand);
    font-size: 1rem;
    font-variant-numeric: tabular-nums;
    letter-spacing: .08em;
}

body .sr-card--flat { border-color: var(--sr-line); background: #fff; }

body .sr-card--brand {
    border-color: rgba(240, 90, 36, .68);
    background: #fff3ed;
}

body .sr-section--ink .sr-card--dark {
    border-color: var(--sr-line);
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 14px 35px -30px rgba(17, 24, 39, .5);
}

body .sr-section--ink .sr-card--dark:hover { border-color: #cfd5de; }
body .sr-section--ink .sr-card--dark .sr-h3 { color: var(--sr-ink); }
body .sr-section--ink .sr-card--dark .sr-text { color: var(--sr-body); }
body .sr-section--ink .sr-card--dark .sr-card__index { color: var(--sr-brand); }

body .sr-ruled,
body .sr-ruled--2,
body .sr-ruled--4 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1.15rem;
    border: 0;
}

body .sr-ruled:not(.sr-ruled--2):not(.sr-ruled--4) .sr-ruled__item:nth-child(6n + 1) { grid-column: span 5; }
body .sr-ruled:not(.sr-ruled--2):not(.sr-ruled--4) .sr-ruled__item:nth-child(6n + 2) { grid-column: span 3; }
body .sr-ruled:not(.sr-ruled--2):not(.sr-ruled--4) .sr-ruled__item:nth-child(6n + 3) { grid-column: span 4; }
body .sr-ruled:not(.sr-ruled--2):not(.sr-ruled--4) .sr-ruled__item:nth-child(6n + 4) { grid-column: span 4; }
body .sr-ruled:not(.sr-ruled--2):not(.sr-ruled--4) .sr-ruled__item:nth-child(6n + 5) { grid-column: span 5; }
body .sr-ruled:not(.sr-ruled--2):not(.sr-ruled--4) .sr-ruled__item:nth-child(6n) { grid-column: span 3; }
body .sr-ruled:not(.sr-ruled--2):not(.sr-ruled--4) .sr-ruled__item:nth-child(5):last-child { grid-column: span 8; }

body .sr-ruled--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body .sr-ruled--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

body .sr-ruled__item {
    min-height: 8.25rem;
    gap: 1.15rem;
    padding: 1.55rem;
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    background: #f2f4f7;
}

body .sr-ruled__item:hover { background-color: #fff; }
body .sr-ruled__num {
    min-width: 2rem;
    padding-top: .1rem;
    color: var(--sr-brand);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .08em;
}
body .sr-ruled__text { color: var(--sr-ink); font-size: 1rem; font-weight: 650; line-height: 1.55; }

body .sr-panel--ink .sr-ruled__item { border-color: #d9e0e7; background: #fff; }
body .sr-panel--ink .sr-ruled__text { color: var(--sr-ink); }
body .sr-panel--ink .sr-ruled__num { color: var(--sr-brand); }

body .sr-list li {
    padding: .9rem 0 .9rem 1.45rem;
    border-color: var(--sr-line);
    color: var(--sr-body);
}

body .sr-list li::before {
    top: 1.5rem;
    width: .38rem;
    height: .38rem;
    border-radius: 50%;
    background: #f6a17b;
}

body .sr-solution {
    padding: clamp(2rem, 4vw, 3.15rem);
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 22px 55px -42px rgba(17, 24, 39, .65);
}

body .sr-solution--feature {
    border-color: rgba(240, 90, 36, .68);
    background: #fff3ed;
}

body.sr-page--inner .sr-solution--feature {
    border: 1px solid #d9dee5;
    border-top: 3px solid var(--sr-brand);
    background: #fff;
}

body .sr-solution:hover { border-color: #cfd5de; box-shadow: 0 28px 60px -42px rgba(17, 24, 39, .75); }
body .sr-solution__label { min-height: 3.1em; color: #697586; font-size: 1rem; line-height: 1.55; }
body .sr-solution .sr-linkarrow { margin-top: auto; padding-top: 1.75rem; }
body .sr-solution__title { margin-top: 1.3rem; font-size: clamp(1.85rem, 3vw, 2.45rem); }

body .sr-stats {
    overflow: hidden;
    gap: 0;
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    background: #f8f9fb;
}

body .sr-stat { padding: 2.5rem 2rem; border-color: var(--sr-line); }
body .sr-stat__value { color: var(--sr-ink); font-size: clamp(2rem, 4vw, 3rem); }

body .sr-tablewrap {
    border-color: var(--sr-line);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 22px 55px -42px rgba(17, 24, 39, .55);
}

body .sr-table thead th {
    padding: 1.25rem 1.4rem;
    border-color: var(--sr-line);
    background: #f4f6f8;
    color: var(--sr-ink);
    font-size: 1rem;
}

body .sr-table tbody th,
body .sr-table tbody td {
    padding: 1.2rem 1.4rem;
    border-color: var(--sr-line);
    font-size: 1rem;
    line-height: 1.65;
}

body .sr-table tbody tr:hover { background: #fafbfc; }

body .sr-faq { border-top-color: var(--sr-line-strong); }
body .sr-faq summary { padding: 1.8rem 0; font-size: 1.05rem; }
body .sr-faq summary::after {
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f3f5f7;
    color: #5c6674;
    font-size: 1rem;
}

body .sr-cta {
    isolation: isolate;
    overflow: hidden;
    padding: clamp(5.5rem, 9vw, 7.5rem) 0;
    border: 0;
    background: var(--sr-brand);
    color: #ffe9df;
}

body .sr-cta .sr-title { margin-inline: auto; color: #fff; }
body .sr-cta .sr-lede { color: #ffe9df; }
body .sr-cta .sr-eyebrow { color: #fff; }
body .sr-cta .sr-btn--light {
    border-color: #fff;
    background: #fff;
    color: var(--sr-ink);
}
body .sr-cta .sr-btn--light:hover { border-color: #fff; background: #f4f6f8; color: var(--sr-ink); }

body .sr-person,
body .sr-contact,
body .sr-post {
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 16px 40px -34px rgba(17, 24, 39, .55);
}

body .sr-person { padding: 2.15rem; }
body .sr-person__photo { width: 5.75rem; height: 5.75rem; }
body .sr-person__role { color: #697586; font-size: 1rem; }
body .sr-section--ink .sr-person__name { color: var(--sr-ink); }
body .sr-section--ink .sr-person__bio { color: var(--sr-body); }

body .sr-contact { padding: 2rem; }
body .sr-contact:hover,
body .sr-post:hover { border-color: #cfd5de; box-shadow: 0 22px 46px -34px rgba(17, 24, 39, .62); }
body .sr-contact__label { color: #7a8594; font-size: 1rem; }

body .sr-post { padding: 0; overflow: hidden; }
body .sr-post:not(.sr-post--media) { padding: 2rem; }
body .sr-post__img { height: auto; border-bottom: 1px solid var(--sr-line); }
body .sr-post__body { padding: 2rem; }
body .sr-post__meta { color: #7c8796; font-size: 1rem; }
body .sr-post__title { font-size: 1.28rem; line-height: 1.3; }
body .sr-post__foot { color: var(--sr-ink); }

body .sr-articlepage { gap: clamp(3rem, 7vw, 6.5rem); }
body .sr-articlehead { padding-bottom: 2.75rem; }
body .sr-articlehead__title { max-width: 18ch; font-size: clamp(2.5rem, 6vw, 4.75rem); line-height: 1; }
body .sr-articlehead__excerpt { max-width: 58ch; font-size: 1.2rem; line-height: 1.75; }
body .sr-articlehero { height: auto; max-height: none; border-radius: 10px; }
body .sr-aside { padding: 1.75rem; border: 1px solid var(--sr-line); border-radius: 10px; background: #f4f6f8; }
body .custom-article-content p { color: var(--sr-body); }

body .sr-input,
body .sr-select,
body .sr-textarea {
    min-height: 3.15rem;
    padding: .85rem 1rem;
    border-color: var(--sr-line-strong);
    border-radius: 12px;
    background: #fff;
}

body .sr-footer {
    border-top: 1px solid var(--sr-line);
    background: #eef1f4;
    color: var(--sr-body);
}

body .sr-footer__grid { padding-top: 5rem; }
body .sr-footer__brand,
body .sr-footer__title { color: var(--sr-ink); }
body .sr-footer__list a { color: var(--sr-body); }
body .sr-footer__list a:hover { color: var(--sr-brand-2); }
body .sr-footer__bottom { border-top-color: var(--sr-line); color: #7a8594; }

@media (max-width: 1023px) {
    body .sr-title { max-width: 24ch; }
    body .sr-pagehero::after { right: 0; width: .35rem; }
    body .sr-ruled,
    body .sr-ruled--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body .sr-ruled .sr-ruled__item { grid-column: auto !important; }
}

@media (max-width: 767px) {
    body .sr-section { padding: 4.5rem 0; }
    body .sr-title { font-size: clamp(2.05rem, 10vw, 3rem); }
    body .sr-pagehero { padding: 1.85rem 0 1.5rem; }
    body .sr-pagehero::after { width: .35rem; height: 100%; right: 0; }
    body .sr-grid--4,
    body .sr-grid--3 { grid-template-columns: minmax(0, 1fr); }
    body .sr-ruled,
    body .sr-ruled--2,
    body .sr-ruled--4 { grid-template-columns: minmax(0, 1fr); }
    body .sr-panel,
    body .sr-solution { padding: 1.75rem; border-radius: 10px; }
    body .sr-solution__label { min-height: 0; }
    body .sr-stats { grid-template-columns: minmax(0, 1fr); }
    body .sr-stat { border-right: 0; border-bottom: 1px solid var(--sr-line); }
    body .sr-stat:last-child { border-bottom: 0; }
    body .sr-articlehead__title { font-size: clamp(2.35rem, 12vw, 3.5rem); }
}

/* ---------- Share | Updates editorial overview ---------- */

.sr-news-overview {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
    gap: clamp(3rem, 7vw, 7rem);
    align-items: start;
}

.sr-news-overview__heading .sr-title {
    max-width: 11ch;
    margin-top: 1rem;
    font-size: clamp(2.35rem, 4.5vw, 4rem);
    line-height: 1.02;
}

.sr-news-topics {
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--sr-line-strong);
    list-style: none;
}

.sr-news-topic {
    display: grid;
    grid-template-columns: 4.75rem minmax(0, 1fr);
    align-items: center;
    min-height: 5.75rem;
    padding: 1.35rem 0;
    border-bottom: 1px solid var(--sr-line);
}

.sr-news-topic__num {
    color: var(--sr-brand);
    font-size: 1rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: .08em;
}

.sr-news-topic__text {
    color: var(--sr-ink);
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -.015em;
}

.sr-news-subscribe {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2rem;
    align-items: center;
    margin-top: 3.25rem;
    padding: 2.25rem 0;
    border-top: 1px solid var(--sr-line-strong);
    border-bottom: 1px solid var(--sr-line-strong);
}

.sr-news-subscribe__title {
    margin: 0;
    color: var(--sr-ink);
    font-size: clamp(1.45rem, 2.4vw, 2rem);
    font-weight: 750;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.sr-news-subscribe__text {
    max-width: 38rem;
    margin: .65rem 0 0;
    color: var(--sr-body);
    font-size: 1.05rem;
    line-height: 1.65;
}

@media (max-width: 900px) {
    .sr-news-overview {
        grid-template-columns: minmax(0, 1fr);
        gap: 2.75rem;
    }

    .sr-news-overview__heading .sr-title { max-width: 16ch; }
}

@media (max-width: 639px) {
    .sr-news-topic {
        grid-template-columns: 3.25rem minmax(0, 1fr);
        min-height: 5rem;
        padding: 1.15rem 0;
    }

    .sr-news-subscribe {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.5rem;
        margin-top: 2.5rem;
        padding: 2rem 0;
    }

    .sr-news-subscribe .sr-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ---------- price display ---------- */

.sr-price-display {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.65rem;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
    flex-wrap: wrap;
}

.sr-price-amount {
    font-size: clamp(2.75rem, 5.5vw, 4rem);
    font-weight: 800;
    line-height: 1;
    color: var(--sr-ink);
    letter-spacing: -0.025em;
}

.sr-price-period {
    font-size: clamp(1.1rem, 2vw, 1.3rem);
    font-weight: 500;
    color: var(--sr-body);
    letter-spacing: 0.02em;
    word-spacing: 0.08em;
    white-space: nowrap;
}

/* ---------- newsletter modal ---------- */

body.sr-modal-open { overflow: hidden; }

.sr-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
}

.sr-modal[hidden] { display: none; }

.sr-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(33, 37, 41, .6);
}

.sr-modal__panel {
    position: relative;
    width: 100%;
    max-width: 38rem;
    max-height: calc(100vh - 3rem);
    overflow-y: auto;
    padding: clamp(1.25rem, 4vw, 2.25rem);
    background: var(--sr-paper);
    border: 1px solid var(--sr-line);
    border-radius: var(--sr-radius);
    box-shadow: 0 24px 60px rgba(33, 37, 41, .28);
}

.sr-modal__close {
    position: absolute;
    top: .9rem;
    right: .9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--sr-ink-3);
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
}

.sr-modal__close:hover {
    background: var(--sr-paper-3);
    color: var(--sr-ink);
}

.sr-modal__panel > .sr-title {
    padding-right: 1.5rem;
    font-size: clamp(1.5rem, 4vw, 2rem);
    line-height: 1.2;
}

.sr-modal__intro { margin-top: .75rem; }

.sr-newsletter-form {
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
}

.sr-newsletter-form .sr-input {
    font-size: 1rem;
}

.sr-newsletter-form .sr-input::placeholder {
    color: var(--sr-muted);
    opacity: 1;
}

.sr-newsletter-form .sr-input[aria-invalid="true"] { border-color: #b42318; }

.sr-newsletter-form .sr-btn:focus-visible {
    outline: 2px solid var(--sr-ink);
    outline-offset: 3px;
}

.sr-newsletter-form__captcha {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: .25rem 0;
}

/* ---------- CMS-inspired cookie consent ---------- */

.sr-cookie-consent[hidden] {
    display: none !important;
}

.sr-cookie-consent {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    z-index: 1000;
    color: #253337;
}

.sr-cookie-consent__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.75rem;
    align-items: center;
    max-width: 1280px;
    margin: 0 auto;
    padding: 1.25rem 1.4rem;
    background: #f7f7f4;
    border: 1px solid #c8d0cf;
    border-radius: 9px;
    box-shadow: 0 14px 38px rgba(14, 45, 50, .2);
}

.sr-cookie-consent__copy {
    max-width: 58rem;
}

.sr-cookie-consent__title,
.sr-cookie-consent__text {
    margin: 0;
}

.sr-cookie-consent__title {
    color: #173f44;
    font-size: 1rem;
    font-weight: 750;
    letter-spacing: -.01em;
}

.sr-cookie-consent__text {
    margin-top: .35rem;
    color: #3f4b4e;
    font-size: .94rem;
    line-height: 1.5;
}

.sr-cookie-consent__text a,
.sr-cookie-policy-table a {
    color: #164f56;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: .15em;
}

.sr-cookie-consent__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    align-items: center;
    justify-content: flex-end;
}

.sr-cookie-consent__button {
    min-height: 2.5rem;
    padding: .55rem 1rem;
    border: 1px solid #91a0a1;
    border-radius: 999px;
    background: #fff;
    color: #173f44;
    font: inherit;
    font-size: .78rem;
    font-weight: 750;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.sr-cookie-consent__button:hover {
    border-color: #173f44;
    background: #e9efed;
    transform: translateY(-1px);
}

.sr-cookie-consent__button:focus-visible {
    outline: 3px solid rgba(255, 81, 0, .35);
    outline-offset: 3px;
}

.sr-cookie-consent__button--primary {
    border-color: #173f44;
    background: #173f44;
    color: #fff;
}

.sr-cookie-consent__button--primary:hover {
    border-color: #0d3034;
    background: #0d3034;
    color: #fff;
}

.sr-cookie-policy-table-wrap {
    overflow-x: auto;
    margin: 1.5rem 0 2.25rem;
}

.sr-cookie-policy-table {
    width: 100%;
    min-width: 40rem;
    border-collapse: collapse;
    color: var(--sr-body);
    font-size: .95rem;
    line-height: 1.5;
}

.sr-cookie-policy-table th,
.sr-cookie-policy-table td {
    padding: .9rem 1rem;
    border: 1px solid var(--sr-line);
    text-align: left;
    vertical-align: top;
}

.sr-cookie-policy-table th {
    color: var(--sr-ink);
    background: var(--sr-paper-2);
    font-weight: 750;
}

.sr-cookie-policy-table td:first-child {
    color: var(--sr-ink);
    font-weight: 700;
}

@media (max-width: 820px) {
    .sr-cookie-consent__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
    }

    .sr-cookie-consent__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    .sr-cookie-consent {
        right: .5rem;
        bottom: .5rem;
        left: .5rem;
    }

    .sr-cookie-consent__inner {
        padding: 1rem;
    }

    .sr-cookie-consent__actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .sr-cookie-consent__button {
        width: 100%;
    }
}
