/* Shared Astro design system: editorial surfaces around data, neutral data components. */
:root{--ec-header:58px;--ec-breadcrumb:#66736e;--ec-soft:#f5f8f6;--ec-soft-blue:#edf4f8;--ec-soft-teal:#edf7f5;--ec-soft-violet:#f4eff7;--ec-rule:#dce4e0;--ec-ink:#17242b;--ec-navy:#1f5578;--ec-teal:#378a92;--ec-green:#4f8063;--ec-amber:#d0a338}
html{scroll-padding-top:calc(var(--ec-header) + 20px)}
body{font-size:17px!important;line-height:1.58;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body .wrap{max-width:1180px}
.skip-link{position:fixed;left:12px;top:-60px;z-index:1000;background:#fff;color:#17242b;padding:10px 14px;border:2px solid #17242b}.skip-link:focus{top:10px}
.breadcrumbs{padding-top:17px;padding-bottom:3px;font-size:13px;color:var(--ec-breadcrumb)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:5px 9px;list-style:none;padding:0;margin:0}.breadcrumbs li{display:flex;align-items:center;gap:9px}.breadcrumbs li:not(:last-child)::after{content:'›';color:#a1aaa6}.breadcrumbs a{color:#5d6b66;text-decoration:none}.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:3px}.breadcrumbs span[aria-current=page]{color:#34423d}
.site-head,.top{min-height:var(--ec-header)}
.current-context{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Global legibility. Keep graphs compact, but never make body/table copy microscopic. */
p,li{font-size:inherit}.datatable,.centres-table,.matrix-table{font-size:14px!important}.heat-table{font-size:13px!important}
.datatable th,.centres-table th,.matrix-table th,.heat-table th,.provider-directory-table th{font-size:11.5px!important;line-height:1.25}.datatable td,.centres-table td,.matrix-table td{font-size:14px!important}.section-note,.source-line,.method-mini p{font-size:14px!important}
/* Home: centres are an alternate axis, not a fourth waiting-list family. */
.family-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.centres-explore-band{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:18px;padding:25px 28px;border:1px solid #cddbd6;border-radius:20px;background:linear-gradient(115deg,#f7faf8,#edf5f4);color:var(--ec-ink);text-decoration:none;box-shadow:0 12px 30px rgba(24,65,74,.055)}
.centres-explore-band:hover{border-color:#91aaa2;transform:translateY(-1px)}.centres-band-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:850;color:var(--ec-teal)}.centres-explore-band h3{font-family:"Iowan Old Style",Georgia,serif;font-size:29px;font-weight:500;margin:4px 0 3px}.centres-explore-band p{font-size:14px;color:#53615c;margin:0}.centres-band-arrow{font-size:13px;font-weight:800;color:var(--ec-navy);white-space:nowrap}
/* Category hero information: one defining metric plus two supporting facts. */
.summary-row--hierarchy{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr) minmax(170px,.55fr)!important;gap:0!important;border:1px solid var(--ec-rule);border-radius:20px!important;overflow:hidden;background:#fff!important;box-shadow:0 12px 32px rgba(24,61,71,.045)}
.summary-row--hierarchy>div{border:0!important;border-left:1px solid var(--ec-rule)!important;background:transparent!important;padding:20px 22px!important}.summary-row--hierarchy>div:first-child{border-left:0!important;background:linear-gradient(135deg,#f8fbfa,#eef6f4)!important}.summary-row--hierarchy .summary-primary strong{font-size:43px!important}.summary-row--hierarchy .summary-primary span{font-size:14px!important;font-weight:750}.summary-row--hierarchy .summary-secondary strong{font-size:27px!important}.summary-row--hierarchy .summary-secondary span{font-size:12.5px!important;color:#65716c}
/* Full-width concept hero with a subtle identity by page family. */
.page-type-concept .hero--full{position:relative;width:100vw;margin-left:calc(50% - 50vw);padding:64px max(28px,calc((100vw - 1180px)/2 + 28px)) 48px!important;border-top:1px solid var(--ec-rule);border-bottom:1px solid var(--ec-rule);background:linear-gradient(135deg,#f7fbfa,#eef4f8)}
.page-type-concept.family-intervencions-quirurgiques .hero--full{background:linear-gradient(135deg,#fbf9f5,#f5eee7)}
.page-type-concept.family-primeres-visites .hero--full{background:linear-gradient(135deg,#f8fbf8,#edf5ef)}
.page-type-concept .hero-stat{border:0!important;border-radius:23px;padding:25px 26px!important;background:#e6f0f4;box-shadow:0 16px 38px rgba(31,85,120,.08)}
.page-type-concept.family-intervencions-quirurgiques .hero-stat{background:#f2e7dd}.page-type-concept.family-primeres-visites .hero-stat{background:#e5f0e8}
.page-type-concept .data-period-note{grid-column:1/-1;margin-top:0}
.related-grid{max-width:980px}
/* Seven official levels: vertical sequence, horizontal composition. */
.level-list{border-top:1px solid #aebbb6}.level-row{display:grid;grid-template-columns:70px minmax(0,1.55fr) minmax(250px,.8fr);gap:25px;align-items:start;padding:24px 6px;border-bottom:1px solid var(--c-rule,var(--ec-rule));position:relative}.level-row::before{content:'';position:absolute;left:0;top:24px;width:4px;height:42px;border-radius:4px;background:var(--tone,var(--ec-navy))}.level-index{font-family:"Iowan Old Style",Georgia,serif;font-size:35px;line-height:1;color:var(--tone,var(--ec-navy));padding-left:14px}.level-copy h3{font-family:"Iowan Old Style",Georgia,serif;font-size:25px;font-weight:500;line-height:1.15;margin:0 0 7px}.level-copy p{font-size:14px;color:#526168;margin:0}.level-meta{padding-top:2px}.level-meta strong{display:block;font-size:13px;color:var(--tone,var(--ec-navy));margin-bottom:5px}.level-meta span{display:block;font-size:12.5px;line-height:1.45;color:#65716c}.other-units-text{padding:27px 6px 0;max-width:920px}.other-units-text h3{font-family:"Iowan Old Style",Georgia,serif;font-size:24px;font-weight:500;margin:0 0 8px}.other-units-text p{font-size:14px;color:#526168;margin:0 0 8px}.other-units-examples{font-size:13px!important}
.provider-explainer{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:18px}.provider-explainer>div{border-top:2px solid #9eb4ad;padding-top:13px}.provider-explainer strong{font-size:14px}.provider-explainer p{font-size:13.5px!important;margin:6px 0 0;color:#596761}
/* Directory labels should scan like text, not dense pills. */
.centres-table .provider-pill,.centres-table .level-pill,.centres-table .area-pill{display:inline!important;border:0!important;border-radius:0!important;padding:0!important;background:none!important;color:inherit!important;font-size:13px!important;line-height:inherit!important}.centres-table .provider-pill::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;margin:0 7px 1px 0;background:#83958e}.centres-table .provider-public::before{background:#507b96}.centres-table .provider-nonprofit::before{background:#658d70}.centres-table .provider-commercial::before{background:#8d687b}
/* Sticky headers: no overflow ancestor may clip the vertical sticky context. */
.directory-shell{overflow:visible!important}.directory-shell .table-scroll,.matrix-wrap,.data-card>.table-scroll{overflow-x:auto!important;overflow-y:visible!important}.centres-table th{top:var(--header-h,58px)!important}.centre-page .matrix-table th,.centre-page .heat-table th{top:calc(var(--header-h,58px) + var(--explorebar-h,82px))!important}.centres-table thead,.matrix-table thead,.heat-table thead{position:relative;z-index:8}
/* Centre explorer and service links. */
.explorebar{grid-template-columns:minmax(250px,1.35fr) repeat(3,minmax(145px,.52fr))!important}.explorebar label,.directory-tools label{font-size:11px!important}.explorebar input,.explorebar select,.directory-tools input,.directory-tools select{font-size:14px!important}
.matrix-table tbody tr{cursor:default!important}.service-actions{display:flex;align-items:baseline;gap:9px;min-width:260px}.service-page-link{font-weight:780;color:var(--c-ink,var(--ec-ink))!important;text-decoration:none}.service-page-link:hover{text-decoration:underline;text-underline-offset:3px}.median-link{border:0;background:none;padding:0;color:var(--c-navy,var(--ec-navy));font:inherit;font-size:11.5px;font-weight:750;cursor:pointer;white-space:nowrap}.median-link:hover{text-decoration:underline;text-underline-offset:3px}.matrix-table tr.is-selected td,.heat-table tr.is-selected td{background:#f1f6f5}.heat-table td:first-child{min-width:310px}.heat-table .selected-year{background:#f2f6f4}.heat-cell{border-radius:7px!important}.heat-more{font-size:13.5px!important}
/* Two-column service detail: explanation left, shared-scale comparisons right. */
.detail-card--two-col{display:grid;grid-template-columns:minmax(270px,.78fr) minmax(470px,1.22fr);gap:38px;align-items:start}.detail-card--two-col .detail-head{display:block}.detail-card--two-col .detail-main-value{text-align:left;margin-top:23px;padding-top:20px;border-top:1px solid rgba(31,85,120,.16)}.detail-card--two-col .detail-main-value b{font-size:62px}.detail-card--two-col .compare-stack{margin-top:0;display:grid;gap:12px}.median-row{display:grid;grid-template-columns:minmax(170px,.56fr) minmax(270px,1fr);gap:19px;align-items:center;background:rgba(255,255,255,.6);border:1px solid rgba(31,85,120,.1);border-radius:15px;padding:16px 18px}.median-row.primary{background:#fff;border-color:#9fbfc8;padding:20px 18px;box-shadow:0 13px 30px rgba(31,85,120,.07)}.median-row h4{font-size:14px;margin:0}.median-row p{font-size:11.5px;color:#67746f;margin:2px 0 0}.median-row-title strong{display:block;font-size:12px;margin-top:7px;color:#294e62}.shared-scale{position:relative;height:56px;border-bottom:1px solid #cbd5d1}.shared-scale::before{content:'';position:absolute;left:0;right:0;top:27px;height:7px;border-radius:999px;background:#dde5e2}.centre-bar{position:absolute;left:0;top:27px;height:7px;border-radius:999px;background:#4f8063}.centre-value{position:absolute;top:7px;transform:translateX(-50%);font-size:11px;font-weight:850;color:#355a43;white-space:nowrap}.median-marker{position:absolute;top:12px;width:2px;height:31px;background:#1f5578;transform:translateX(-50%)}.median-value{position:absolute;top:-5px;transform:translateX(-50%);font-size:11px;font-weight:850;color:#1f5578;white-space:nowrap}.median-label{position:absolute;top:42px;transform:translateX(-50%);font-size:10px;color:#6d7873}.median-row:not(.primary) .median-marker{background:#859b94}.median-row:not(.primary) .median-value{color:#5f716b}.compare-empty{padding:0!important}
/* Tooltip usable by mouse, keyboard and touch. */
.astro-tooltip{position:fixed;z-index:9999;display:none;max-width:min(390px,calc(100vw - 28px));padding:10px 12px;border-radius:10px;background:#17242b;color:#fff;font-size:12.5px;line-height:1.45;box-shadow:0 12px 30px rgba(0,0,0,.2);pointer-events:none}.astro-tooltip.open{display:block}
@media(max-width:980px){.summary-row--hierarchy{grid-template-columns:1fr 1fr!important}.summary-row--hierarchy .summary-primary{grid-column:1/-1}.summary-row--hierarchy>div:nth-child(2){border-left:0!important;border-top:1px solid var(--ec-rule)!important}.summary-row--hierarchy>div:nth-child(3){border-top:1px solid var(--ec-rule)!important}.level-row{grid-template-columns:58px 1fr}.level-meta{grid-column:2}.provider-explainer{grid-template-columns:1fr}.detail-card--two-col{grid-template-columns:1fr}.family-grid{grid-template-columns:1fr!important}.centre-page .matrix-table th,.centre-page .heat-table th{position:sticky!important;top:var(--header-h,58px)!important}}
@media(max-width:700px){body{font-size:16.5px!important}.breadcrumbs{font-size:12px;padding-top:12px}.centres-explore-band{display:block;padding:21px}.centres-band-arrow{display:block;margin-top:13px}.summary-row--hierarchy{grid-template-columns:1fr!important}.summary-row--hierarchy .summary-primary{grid-column:auto}.summary-row--hierarchy>div{border-left:0!important;border-top:1px solid var(--ec-rule)!important}.summary-row--hierarchy>div:first-child{border-top:0!important}.page-type-concept .hero--full{padding:42px 20px 38px!important}.level-row{grid-template-columns:46px 1fr;gap:15px}.level-index{font-size:29px;padding-left:9px}.level-meta{grid-column:1/-1;padding-left:61px}.explorebar{grid-template-columns:1fr!important}.detail-card--two-col{padding:22px!important}.median-row{grid-template-columns:1fr}.service-actions{min-width:230px}.datatable,.centres-table,.matrix-table{font-size:13.5px!important}}
/* Viewport-sticky table headings on layouts wide enough to display the full table.
   Horizontal scrolling and sticky-to-viewport cannot reliably share the same overflow ancestor,
   so narrow layouts use a normal header inside a horizontally scrollable table. */
@media (min-width:981px){
  .directory-shell,.data-card.matrix-wrap,#heatmap>.data-card{overflow:visible!important}
  .directory-shell .table-scroll,.matrix-wrap,.data-card>.table-scroll{overflow:visible!important}
  .centres-table th,.centre-page .matrix-table th,.centre-page .heat-table th{position:sticky!important}
}
@media (max-width:980px){
  .directory-shell,.data-card{overflow:hidden!important}
  .directory-shell .table-scroll,.matrix-wrap,.data-card>.table-scroll{overflow-x:auto!important;overflow-y:hidden!important}
  .centres-table th,.centre-page .matrix-table th,.centre-page .heat-table th{position:static!important}
}
/* Safari/WebKit parity for translucent sticky surfaces. */
.top,.explorebar-wrap{-webkit-backdrop-filter:blur(9px)}
.explorebar-wrap{-webkit-backdrop-filter:blur(10px)}
