/* Only the public shell: the profile itself uses the application's shared styles. */
html { color-scheme:light; }
html:has(.public-saas-profile-page) { scroll-padding-block:24px 180px; }
body.public-saas-profile-page { margin:0; color:#172c49; background:#f5f7fb; font:14px/1.5 Barlow,system-ui,sans-serif; }
.public-saas-profile-page *, .public-saas-profile-page *::before, .public-saas-profile-page *::after { box-sizing:border-box; }
.public-saas-profile-page button { cursor:pointer; }
.public-saas-profile-page button, .public-saas-profile-page input { font:inherit; }
.public-saas-profile-page a { text-decoration:none; }
.public-saas-profile-page [hidden] { display:none!important; }
.public-saas-profile-page :focus-visible { outline:2px solid #7188aa; outline-offset:3px; }
.public-app-shell { display:grid; grid-template-columns:216px minmax(0,1fr); min-height:100vh; }
.public-app-shell > nav.flex-container-part1 { position:sticky; top:0; height:100dvh; }
.public-app-content { min-width:0; }
/* Percentage height made the overview fill the whole main, pushing its footer
   outside the grid and leaving an empty screen above it. */
.public-saas-profile-page #saasProfile[data-profile-atlas="1"] { min-height:0; padding-bottom:24px; }
.seo-skip-link { position:fixed; z-index:10000; top:8px; left:8px; padding:10px 16px; transform:translateY(-150%); background:white; color:#172c49; border-radius:8px; }
.seo-skip-link:focus { transform:none; }
.seo-profile-context { width:calc(100% - 88px); max-width:1240px; margin:0 auto 160px; padding:0; color:#64748b; }
.seo-profile-context__head { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; font-size:12px; }
.seo-profile-context__head nav:last-child { display:flex; gap:14px; }
.seo-profile-context a { color:#385d90; }
.seo-profile-context a:hover { text-decoration:underline; }
.seo-profile-context [aria-current="page"] { color:#172c49; font-weight:700; }
.seo-profile-context h2 { margin:0 0 12px; color:#233b5a; font-size:18px; font-weight:600; }
.seo-profile-context p { max-width:850px; margin:8px 0; line-height:1.7; }
.seo-profile-date { font-size:12px; }
.seo-profile-history { margin:20px 0; padding:14px 0; border-block:1px solid #dce4ef; }
.seo-profile-history summary { cursor:pointer; color:#385d90; }
.seo-profile-history table { width:min(100%,600px); margin-top:16px; border-collapse:collapse; text-align:left; }
.seo-profile-history caption { text-align:left; margin-bottom:8px; }
.seo-profile-history th,.seo-profile-history td { padding:6px 10px; border-bottom:1px solid #e5eaf2; }
.seo-profile-history td { font-variant-numeric:tabular-nums; }
.seo-related { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.seo-related a { display:flex; align-items:flex-start; flex-direction:column; gap:7px; padding:14px; background:#fff; border:1px solid #dce4ef; border-radius:12px; }
.seo-related a span:first-child { overflow-wrap:anywhere; }
@media(max-width:800px) {
    .public-app-shell { display:block; }
    .public-app-shell > nav.flex-container-part1 { display:flex; position:fixed; z-index:100; inset:auto 0 0; width:100%; height:calc(68px + env(safe-area-inset-bottom)); padding:6px 8px calc(6px + env(safe-area-inset-bottom)); gap:4px; }
    .public-app-shell > nav.flex-container-part1 > .img-flex-container-part1 { display:flex; flex:1; min-width:0; align-items:center; justify-content:center; flex-direction:column; padding:5px 2px; }
    .public-app-shell > nav.flex-container-part1 .select_mode_img { width:21px; height:21px; }
    .public-saas-profile-page #saasProfile[data-profile-atlas="1"] .saas-profile__tabs { bottom:calc(80px + env(safe-area-inset-bottom)); }
    .seo-profile-context { width:calc(100% - 36px); margin-bottom:180px; padding:0; }
    .seo-related { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.seo-profile-context { --seo-border:#dce4ef; --seo-ink:#233b5a; --seo-muted:#64748b; }
.seo-profile-context__head { padding:8px 2px 20px; }
.seo-profile-heading { margin:0 0 24px; padding:0 2px; }
.seo-profile-heading h2 { font-size:clamp(25px,3vw,32px); line-height:1.2; letter-spacing:-.5px; }
.seo-profile-context p { text-wrap:pretty; }
.seo-profile-heading > p { margin:8px 0; }
.seo-profile-jumps { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:18px; font-size:13px; }
.seo-profile-jumps a { padding-block:5px; border-bottom:1px solid #c7d6ea; }
.seo-profile-section { padding:26px 28px; border:1px solid var(--seo-border); border-radius:18px; background:#fff; margin-bottom:20px; min-width:0; scroll-margin-top:24px; }
.seo-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:20px; }
.seo-profile-grid > .seo-profile-section { margin:0; }
.seo-profile-eyebrow { display:block; margin:0 0 8px; color:#7788a1; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.seo-profile-context .seo-profile-note { color:#708098; font-size:13px; line-height:1.65; }
.seo-source-link { display:inline-flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:10px; font-size:13px; overflow-wrap:anywhere; }
.seo-profile-sources { list-style:none; margin:16px 0 0; padding:0; font-size:13px; }
.seo-profile-sources li + li { margin-top:8px; }
.seo-profile-history { margin-bottom:0; padding-bottom:0; border-bottom:0; font-size:13px; }
.seo-profile-history th { font-weight:500; }
.seo-profile-history th:last-child, .seo-profile-history td { text-align:right; }
.seo-related { margin-top:20px; }
.seo-related a { background:#f8faff; transition:border-color .15s ease; }
.seo-related a:hover { border-color:#8aa9d1; text-decoration:none; }
.seo-related strong { color:var(--seo-ink); font-weight:600; font-size:16px; overflow-wrap:anywhere; }
.seo-related-domain { color:#7a8aa2; font-size:11px; overflow-wrap:anywhere; }
.seo-related-description { color:#64748b; font-size:12px; line-height:1.5; }
.seo-related-action { margin-top:auto; padding-top:8px; font-size:12px; }
.seo-profile-faq { display:grid; grid-template-columns:minmax(180px,.7fr) minmax(0,1.6fr); gap:32px; }
.seo-faq-heading { min-width:0; }
.seo-faq-heading h2 { overflow-wrap:anywhere; }
.seo-faq-list details { border-bottom:1px solid #e3eaf3; }
.seo-faq-list details:first-child { border-top:1px solid #e3eaf3; }
.seo-faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 0; color:var(--seo-ink); font-weight:500; cursor:pointer; list-style:none; }
.seo-faq-list summary::-webkit-details-marker { display:none; }
.seo-faq-list summary > span { flex:none; color:#8294af; font-size:22px; line-height:1; transition:transform .15s ease; }
.seo-faq-list details[open] summary > span { transform:rotate(45deg); }
.seo-faq-list details p { margin:0; padding:0 24px 18px 0; font-size:13px; }
.seo-profile-methodology { padding:10px 2px 0; }
.seo-profile-methodology h2 { font-size:14px; }
.seo-profile-methodology p { font-size:12px; max-width:1000px; }
@media(max-width:1100px) { .seo-related { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) {
    .seo-profile-grid { grid-template-columns:1fr; gap:16px; margin-bottom:16px; }
    .seo-profile-section { padding:20px; margin-bottom:16px; border-radius:16px; }
    .seo-profile-faq { grid-template-columns:1fr; gap:14px; }
    .seo-profile-heading h2 { font-size:25px; }
    .seo-profile-context h2 { overflow-wrap:anywhere; }
    .seo-related { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .seo-related a, .seo-faq-list summary > span { transition:none; } }
