@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/InterVariable.woff2") format("woff2");}
/* Shared reading sizes across marketplace page themes.
   Prose and data views share a defined type scale. Code retains a monospace family. Important declarations unify the older page themes. */
@media screen {
  body.sd-reading-type {
    --sd-body-size: 1.125rem;
    --sd-lead-size: 1.25rem;
    --sd-note-size: 1rem;
    --sd-label-size: 1rem;
  }

  body.sd-reading-type main p:not(:where(nav *, table *, pre *, code *, svg *, button *, [role=tablist] *)),
  body.sd-reading-type main li:not(:where(nav *, table *, pre *, code *, svg *, button *, [role=tablist] *)) {
    font-size:max(var(--sd-min-text,0px),var(--sd-body-size))!important;
    line-height: 1.7 !important;
  }

  body.sd-reading-type :is(.dd-network-link strong, .bp-workflow-grid h4) {
    font-size:max(var(--sd-min-text,0px),1.125rem)!important;
    line-height: 1.35 !important;
  }

  body.sd-reading-type main p :is(a, b, strong, em):not(:where(table *, pre *, code *, svg *, button *)) {
    font-size: inherit !important;
  }

  body.sd-reading-type :is(
    .sd-home-description, .mp-hero-story p, .mp-lede, .xp-lead, .bp-hero-lead,
    .report-lead, .ac-lead, .dd-section-lead, .hub-intro, .lc-hero-desc
  ),
  body.sd-reading-type .bp-section-head > div > p:last-child:not(.bp-eyebrow) {
    font-size:max(var(--sd-min-text,0px),var(--sd-lead-size))!important;
    line-height: 1.7 !important;
  }

  body.sd-reading-type main :is(
    small, figcaption, figcaption span, caption,
    p[class*="-note"], p[class*="-caption"], p[class*="-meta"],
    p[class*="-privacy"], p[class*="-status"],
    .mp-small, .mp-finding-context, .mp-check-scope, .mp-proof-table > p,
    .mp-check-key p, .sd-home-attribution, .ic-footer p, .cp-domain-proof > p,
    .dd-guide-info p, .dd-price-unit, .dn-heading p, .dx-selection-note p,
    .ac-small, .ac-row-facts, .ac-summary p, .ac-pagination p,
    .rv-list-toolbar p, .ec-types-heading p, .ec-pagination p,
    .contact-privacy, .contact-alternatives p, .dp-reference-links a
  ),
  body.sd-reading-type .rb-footer :is(.sd-footer-description, .sd-attribution) {
    font-size:max(var(--sd-min-text,0px),var(--sd-note-size))!important;
    line-height: 1.7 !important;
  }

  body.sd-reading-type main :is(
    .mp-eyebrow, .xp-kicker, .bp-eyebrow, .report-eyebrow, .ac-eyebrow,
    .dx-kicker, .lc-eyebrow, .eyebrow, .doc-section-label, .cat-label,
    .rv-label, .hub-small-label, .dd-nav-label, .bp-sidebar > p
  ) {
    font-size:max(var(--sd-min-text,0px),var(--sd-label-size))!important;
    line-height: 1.7 !important;
  }

  body.sd-reading-type main :is(input, textarea, select):not(:where(pre *, code *)) {
    font-size:max(var(--sd-min-text,0px),var(--sd-body-size))!important;
  }
}

@media screen and (max-width: 767px) {
  body.sd-reading-type {
    --sd-body-size: 1.125rem;
    --sd-lead-size: 1.125rem;
    --sd-label-size: 1rem;
  }
}

/* Mobile chapters: separate major tasks, while keeping nested cards within their section. */
@media screen and (max-width: 767px) {
  body.sd-reading-type main > :is(.mp-section, .mp-journey-section, .mp-domains-section, .mp-history-section, .mp-final, .xp-section, .dx-workspace-section, .dx-next-section),
  body.sd-reading-type main :is(.xp-section, .bp-section, .report-section),
  body.sd-reading-type .ac-body > :is(.ac-workspace, .ac-stories, .ac-download) {
    border-top: 4px solid #007f83 !important;
    margin-top: 28px;
    padding-top: 28px;
    padding-bottom: 28px;
    scroll-margin-top: 12px;
  }
  body.sd-reading-type main > :is(.mp-section, .mp-journey-section, .mp-domains-section, .mp-history-section, .xp-section, .dx-next-section):nth-of-type(even),
  body.sd-reading-type .report-content > .report-section:nth-of-type(even) {
    border-top-color: #153f5a !important;
  }
  body.sd-reading-type .report-content > .report-section {
    border-radius: 10px;
    box-shadow: 0 3px 12px #0b354b08;
    margin-bottom: 28px;
  }
  body.sd-reading-type :is(.xp-section-head, .mp-section-head, .report-section-head, .ac-section-head, .dx-section-head) {
    margin-bottom: 24px;
  }
  body.sd-reading-type :is(.xp-section, .report-section, .mp-section, .ac-stories, .ac-download, .dx-workspace-section) > :is(h2, header) {
    scroll-margin-top: 12px;
  }
}

@media screen and (max-width:767px){html:has(>body.sd-reading-type:not(.view-citizen-lifecycle):not(.data-explorer-page)){scroll-padding-top:78px}}

/* Editorial reading rhythm: a consistent scale, quiet surfaces and clear chapters. */
@media screen {
  body.sd-reading-type main :is(.mp-section-heading, .xp-section-head, .bp-section-head, .report-section-head) {
    margin-bottom: 36px;
  }
  body.sd-reading-type main :is(.mp-section-heading, .xp-section-head, .bp-section-head, .report-section-head) h2 {
    font-size:max(var(--sd-min-text,0px),clamp(1.875rem, 2.8vw, 2.5rem));
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.025em;
    text-wrap: balance;
  }
  body.sd-reading-type main :is(.mp-section-copy, .mp-hero-story, .xp-lead, .bp-hero-lead, .report-lead, .dd-section-lead) {
    max-width: 66ch;
  }
  body.sd-reading-type main :is(.bp-section, .report-section, .dd-section, .dg-content) > p {
    max-width: 72ch;
  }
  body.sd-reading-type main :is(.report-section, .bp-section, .mp-city-card, .xp-card, .mp-journey, .mp-usecase-preview) {
    box-shadow: none;
  }
  body.sd-reading-type main :is(.report-section, .bp-section) {
    border-color: #dbe5e9;
    border-radius: 6px;
  }
  body.sd-reading-type :is(.mp-section, .mp-journey-section, .mp-domains-section, .mp-history-section) {
    padding-block: 76px;
  }
  body.sd-reading-type .mp-hero-grid {
    padding-block: 76px;
    gap: 64px;
  }
  body.sd-reading-type .mp-hero h1 {
    font-size:max(var(--sd-min-text,0px),clamp(2.75rem, 4.6vw, 4rem));
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.04em;
  }
  body.sd-reading-type .sd-home-description {
    max-width: 42ch;
    margin-block: 26px 20px;
  }
  body.sd-reading-type .mp-hero-story p {
    font-size:max(var(--sd-min-text,0px),var(--sd-body-size))!important;
    line-height: 1.7 !important;
    max-width: 58ch;
  }
  body.sd-reading-type .mp-map {
    border: 0;
    background: transparent;
    box-shadow: none;
    padding: 24px 0;
  }
  body.sd-reading-type .mp-map-label {
    font-size:max(var(--sd-min-text,0px),1rem);
    padding-bottom: 14px;
    border-bottom: 1px solid #ffffff26;
  }
  body.sd-reading-type .mp-map-stage {
    max-height: 350px;
  }
  body.sd-reading-type .mp-map-city {
    box-shadow: none;
  }
  body.sd-reading-type .cp-promo {
    width: min(92%, 1280px);
    max-width: 1280px;
    margin: 0 auto;
    padding: 36px 0;
    border: 0;
    border-bottom: 1px solid #dbe5e9;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    gap: 36px;
  }
  body.sd-reading-type .cp-promo p { max-width: 66ch; }
  body.sd-reading-type .cp-promo-actions a,
  body.sd-reading-type .mp-area-links a,
  body.sd-reading-type .rb-footer a { font-size:max(var(--sd-min-text,0px),1rem); }
  body.sd-reading-type .mp-city-grid { gap: 36px; }
  body.sd-reading-type .mp-city-card {
    border: 0;
    border-bottom: 1px solid #dbe5e9;
    border-radius: 0;
  }
  body.sd-reading-type .mp-city-photo { border-radius: 6px; }
  body.sd-reading-type .mp-city-body { padding: 28px 0 0; }
  body.sd-reading-type .mp-scale { padding-block: 36px; }
  body.sd-reading-type .mp-scale span,
  body.sd-reading-type .mp-city-stats dt { font-size:max(var(--sd-min-text,0px),1rem); }
  body.sd-reading-type .rb-footer :is(.sd-footer-description, .sd-attribution) {
    font-size:max(var(--sd-min-text,0px),1rem)!important;
    line-height: 1.65 !important;
  }
  body.sd-reading-type main :is(.dd-field-label, .lc-record-field-label, .rv-label) {
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  body.sd-reading-type main :is(.mp-section-heading, .xp-section-head, .bp-section-head, .report-section-head) {
    margin-bottom: 24px;
  }
  body.sd-reading-type .mp-hero-grid { padding-block: 44px; gap: 28px; }
  body.sd-reading-type .mp-hero h1 {
    font-size:max(var(--sd-min-text,0px),clamp(2.25rem, 9.5vw, 3rem));
    line-height: 1.12;
  }
  body.sd-reading-type .mp-map { padding-block: 8px; }
  body.sd-reading-type .mp-map-stage { max-height: 260px; }
  body.sd-reading-type .cp-promo { padding-block: 28px; gap: 20px; }
  body.sd-reading-type :is(.mp-section, .mp-journey-section, .mp-domains-section, .mp-history-section) {
    padding-block: 40px;
  }
  body.sd-reading-type .mp-city-grid { gap: 36px; }
  body.sd-reading-type .mp-city-body { padding-top: 22px; }
  body.sd-reading-type .mp-scale { padding-block: 28px; }
  body.sd-reading-type main > :is(.mp-section, .mp-journey-section, .mp-domains-section, .mp-history-section, .mp-final, .xp-section, .dx-workspace-section, .dx-next-section),
  body.sd-reading-type main :is(.xp-section, .bp-section, .report-section) {
    border-top-width: 3px !important;
  }
}

/* Shared interface typography, including dense data views. */
@media screen {
 body.sd-reading-type{--sd-min-text:1rem;--sd-font-ui:"Inter",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;--fcte-font:var(--sd-font-ui);--rb-font:var(--sd-font-ui);--font-display:var(--sd-font-ui);--sans:var(--sd-font-ui);--sd-data-size:1.0625rem;--sd-detail-size:1rem;--sd-text:#203b4d;--sd-secondary:#455b6b;font-family:var(--sd-font-ui)!important;font-weight:400}
 body.sd-reading-type :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea,table){font-family:var(--sd-font-ui)!important}
 body.sd-reading-type main p,body.sd-reading-type main li{font-weight:400}
 body.sd-reading-type main :is(label,figcaption,caption,small){font-size:max(var(--sd-min-text,0px),var(--sd-detail-size))!important;line-height:1.5}
 body.sd-reading-type :is(.dx-label,.dx-checkbox,.dx-pagination,.dx-field-pagination,.dx-source-bar,.dx-row-controls>span,.dx-dataset-meta,.dx-field>span,.dx-field-completeness,.dx-column-distribution span,.lc-field dt,.lc-pagination,.lc-meta,.rv-list-toolbar,.ec-pagination){font-size:max(var(--sd-min-text,0px),var(--sd-detail-size))!important;line-height:1.5;color:var(--sd-secondary)}
 body.sd-reading-type :is(.dx-view-tabs button,.lc-tab,.dx-domain-option,.dx-pagination .btn,.lc-button,.rv-pagination button,.ec-pagination button){font-size:max(var(--sd-min-text,0px),1rem)!important;line-height:1.4;min-height:44px}
 body.sd-reading-type main :is(table,[role=table]){font-size:max(var(--sd-min-text,0px),var(--sd-data-size))!important;line-height:1.55;font-variant-numeric:tabular-nums}
 body.sd-reading-type main :is(th,td,[role=cell],[role=columnheader]){font-size:max(var(--sd-min-text,0px),var(--sd-data-size))!important;line-height:1.55!important;letter-spacing:normal;padding-block:14px;vertical-align:top}
 body.sd-reading-type main td,body.sd-reading-type main [role=cell]{font-weight:400;color:var(--sd-text)}
 body.sd-reading-type main th,body.sd-reading-type main [role=columnheader]{font-weight:600;color:#123e59}
 body.sd-reading-type main :is(th,td) :is(span,a,button,p,div,strong,b,em,small):not(:where(svg *)){font-size:inherit!important;line-height:inherit!important}
 body.sd-reading-type main :is(th,td) :is(a,button){font-family:var(--sd-font-ui)!important}
 body.sd-reading-type main :is(th,td) :is(code,pre){font-size:max(var(--sd-min-text,0px),.9375rem)!important}
 body.sd-reading-type .dx-table-scroll th:first-child,body.sd-reading-type .dx-table-scroll td:first-child{color:var(--sd-secondary);min-width:64px}
 body.sd-reading-type .dx-table-scroll :is(th,td){padding:16px;max-width:none}
 body.sd-reading-type .dx-column-name{color:#123e59;font-weight:600}
 body.sd-reading-type .dx-column-distribution{color:var(--sd-secondary);opacity:1}
 body.sd-reading-type .dx-column-distribution span{font-size:max(var(--sd-min-text,0px),.9375rem)!important}
 body.sd-reading-type :is(.dx-null,.dx-missing,.lc-null,.not-provided){color:var(--sd-secondary)!important;font-style:normal;opacity:1}
 body.sd-reading-type .dx-table-scroll tbody tr:nth-child(even){background:#f1f6f9}
 body.sd-reading-type .dx-table-scroll tbody tr:hover{background:#e6f3f5}
 body.sd-reading-type .dx-field strong,body.sd-reading-type .lc-field dd{font-size:max(var(--sd-min-text,0px),1rem)!important;line-height:1.55;color:var(--sd-text)}
 body.sd-reading-type :is(.lc-event small,.lc-day h3,.lc-connection-card span,.lc-branch-heading p,.lc-inspector-top,.lc-graph-footer){font-size:max(var(--sd-min-text,0px),var(--sd-detail-size))!important;color:var(--sd-secondary);line-height:1.5}
 body.sd-reading-type .lc-event{font-size:max(var(--sd-min-text,0px),1rem);line-height:1.55}
 body.sd-reading-type :is(.mp-result-fail th,.mp-result-fail td){color:#963044}
 body.sd-reading-type :is(.mp-result-warn th,.mp-result-warn td){color:#79520a}
 body.sd-reading-type .lc-event small.lc-event-review{color:#79520a}
 body.sd-reading-type .lc-inspector.in-modal .lc-inspector-top{color:#fff}
 body.sd-reading-type .lc-resident-hero .lc-meta{color:#e0edf2}
 body.sd-reading-type main :is(.btn,.text-link){font-weight:600}
}
/* A short route through the homepage; secondary explorations remain available. */
.mp-start-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-block:28px;border-bottom:1px solid #c8d8e1}
.mp-start-path a{display:flex;align-items:center;gap:12px;text-decoration:none;color:#123e59;font-size:max(var(--sd-min-text,0px),1rem);font-weight:600;min-height:48px}
.mp-start-path a>span{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:#e6f3f5;color:#00646b;font-variant-numeric:tabular-nums}
.mp-deep-dives{padding-block:36px 60px}
.mp-deep-dives>h2{font-size:max(var(--sd-min-text,0px),1.75rem);margin-bottom:24px}
.mp-deep-dive{border-top:1px solid #bed1dc;background:#fff}
.mp-deep-dive:last-child{border-bottom:1px solid #bed1dc}
.mp-deep-dive>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:20px 4px;cursor:pointer;font-size:max(var(--sd-min-text,0px),1.125rem);font-weight:600;color:#123e59;list-style:none}
.mp-deep-dive>summary::-webkit-details-marker{display:none}
.mp-deep-dive>summary::after{content:'+';font-size:max(var(--sd-min-text,0px),1.5rem);color:#00646b}
.mp-deep-dive[open]>summary::after{content:'−'}
body.sd-reading-type .mp-deep-dive>section{padding-block:24px 40px;margin:0;border:0;width:100%}
.mp-deep-dive>section>.mp-shell{width:100%}
body.sd-reading-type .mp-deep-dive .cp-promo{width:100%;padding:16px 0 28px}
.mp-deep-dive .mp-section-heading{display:none}
@media(max-width:767px){.mp-start-path{grid-template-columns:1fr;gap:4px;padding-block:18px}.mp-start-path a{min-height:44px}.mp-deep-dives{padding-block:28px 40px}.mp-deep-dive>summary{font-size:max(var(--sd-min-text,0px),1.0625rem);min-height:68px}}

@media screen{body.sd-reading-type.view-citizen-lifecycle :is(.lc-view-help,.lc-result-summary){font-size:max(var(--sd-min-text,0px),.9375rem)!important;line-height:1.55!important;color:var(--sd-secondary)}body.sd-reading-type main :is(.mp-eyebrow,.lc-eyebrow,.dx-kicker,.report-eyebrow){font-weight:600}}
.lc-timeline-controls:not(:has(label:not([hidden]))){display:none}

@media screen{body.sd-reading-type.ds-page main :is(.ds-eyebrow,.ds-purchase p,.ds-results-heading p,.ds-preview-help){font-size:max(var(--sd-min-text,0px),var(--sd-detail-size))!important;line-height:1.6!important}body.sd-reading-type.ds-page main .ds-eyebrow{font-weight:600}body.sd-reading-type.ds-page main :is(input,select){font-size:max(var(--sd-min-text,0px),1rem)!important}body.sd-reading-type.ds-page main .ds-result>div>p:not(.ds-result-meta){font-size:max(var(--sd-min-text,0px),1.0625rem)!important}}

@media screen {
 body.sd-reading-type :is(.sd-brand-wordmark,h1,h2,h3,h4,h5,h6){font-family:var(--sd-font-ui)!important}
 body.sd-reading-type :is(button,input,select,textarea,.btn,.xp-button){font-size:1.0625rem!important;line-height:1.45}
 body.sd-reading-type :is(.rb-primary>a,.rb-primary>details>summary){font-size:1rem!important}
 body.sd-reading-type main :is(.chart-caption,.chart-sub,.chart-fact .k,.di-connections-caption,.di-node-target small,.dd-hero-text,.pd-data-tag){font-size:1rem!important;font-weight:400;color:#3e5767;opacity:1;line-height:1.5}
 body.sd-reading-type :is(.rb-header,.rb-footer) :is(a,p,span,small){line-height:1.5}
 body.sd-reading-type .rb-header .sd-brand-wordmark{font-size:20px;line-height:1.15;letter-spacing:.035em}
 body.sd-reading-type .rb-header .sd-brand-tagline{font-size:16px;line-height:1.35;margin-top:5px;letter-spacing:0;color:#425969}
 body.sd-reading-type .di-node-map{grid-template-columns:minmax(90px,1fr) minmax(0,1.45fr);gap:18px;min-height:180px}
 body.sd-reading-type .di-node-targets{gap:8px;min-height:180px}
 body.sd-reading-type .di-node-target{padding:9px 8px;min-height:56px;line-height:1.4;overflow-wrap:normal}
 body.sd-reading-type .di-node-current{font-size:16px;line-height:1.4}
 body.sd-reading-type .di-connections-caption{margin-top:14px}
 body.sd-reading-type .di-connections{padding:18px 14px}
 body.sd-reading-type .di-node-arrow{display:none}
 body.sd-reading-type .rb-footer h3{font-size:16px!important;letter-spacing:.055em}
}
@media screen and (max-width:1240px){
 body.sd-reading-type .rb-header>.rb-shell{min-height:80px;position:relative;gap:16px}
 body.sd-reading-type .rb-menu{display:block}
 body.sd-reading-type .rb-primary{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;background:white;border:1px solid #bdcfd9;box-shadow:0 12px 24px #0a3a6614;padding:12px 20px;max-height:calc(100dvh - 100px);overflow:auto}
 body.sd-reading-type .rb-primary[data-open=true]{display:grid;gap:0}
 body.sd-reading-type .rb-primary>a{min-height:48px}
}
@media screen and (max-width:480px){
 body.sd-reading-type .rb-header>.rb-shell{width:calc(100% - 28px)!important;gap:8px}
 body.sd-reading-type .rb-header .sd-brand-wordmark{font-size:17px;letter-spacing:.025em}
 body.sd-reading-type .rb-header .sd-brand-mark{width:28px;flex-basis:28px;height:36px}
 body.sd-reading-type .rb-header .rb-brand.sd-brand{gap:7px;min-width:0;flex-shrink:1}
 body.sd-reading-type .rb-menu{font-size:16px!important;padding-inline:9px}
 body.sd-reading-type .di-node-map{grid-template-columns:minmax(85px,1fr) minmax(0,1.65fr);gap:14px}
}

@media screen{body.sd-reading-type .xp-hero .dd-hero-text{color:#ddf7f2!important;font-weight:500}body.sd-reading-type .dx-table-scroll th:not(:first-child){min-width:210px}body.sd-reading-type .dx-column-name{line-height:1.4!important}}

@media screen{body.sd-reading-type .di-group-pager{flex-wrap:wrap;row-gap:12px}body.sd-reading-type .di-page-buttons{flex-shrink:0}body.sd-reading-type .di-page-buttons .xp-button{white-space:nowrap;min-height:44px}}

@media screen{body.sd-reading-type .log-detail>div:has(>.pfd-cat-sibling),body.sd-reading-type .pfd-group-head>span{font-size:1rem!important;line-height:1.5}}
