/* Repeal188 - Gestational Age & Infant Survival */

/* Dedicated-page shell reset (v1.1.1).
 * The Repeal188 theme's generic page template wraps the_content() in .r188-section,
 * which already supplies vertical page padding. This plugin has its own hero and
 * section spacing, so leaving the outer padding in place creates a large blank
 * band between the site navigation and this page's hero. Scope the reset to the
 * dedicated page only so every other page keeps the theme's standard spacing.
 */
body.r188gs-dedicated-page .r188-main > .r188-section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
body.r188gs-dedicated-page .r188-main > .r188-section > .r188-shell.r188-prose {
    max-width: none;
    width: 100%;
}
body.r188gs-dedicated-page .r188-main > .r188-section > .r188-shell.r188-prose > article {
    margin: 0;
    padding: 0;
}

.r188gs-fullbleed {
    position: relative;
    max-width: none !important;
    width: auto !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    clear: both;
}
.r188gs-page {
    --gs-navy:#0b2f55;
    --gs-blue:#155f96;
    --gs-blue-light:#eaf4fb;
    --gs-teal:#137d82;
    --gs-green:#16784a;
    --gs-green-light:#eef9f3;
    --gs-gold:#a16207;
    --gs-gold-light:#fff8e6;
    --gs-red:#ad2c23;
    --gs-red-light:#fff2f0;
    --gs-ink:#172433;
    --gs-muted:#5f6d79;
    --gs-line:#d9e2ea;
    --gs-soft:#f6f9fb;
    --gs-white:#fff;
    width:100%;
    overflow:hidden;
    background:#fff;
    color:var(--gs-ink);
    font-family:inherit;
    line-height:1.65;
}
.r188gs-page *, .r188gs-page *::before, .r188gs-page *::after { box-sizing:border-box; }
.r188gs-shell { width:min(1180px, calc(100% - 36px)); margin:0 auto; }
.r188gs-hero { padding:clamp(44px,6vw,78px) 0; background:linear-gradient(180deg,#eef7fb 0%,#fff 100%); border-bottom:1px solid var(--gs-line); }
.r188gs-hero-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); gap:42px; align-items:center; }
.r188gs-eyebrow,.r188gs-section-kicker,.r188gs-callout-label { display:inline-flex; align-items:center; padding:6px 11px; border-radius:999px; background:var(--gs-blue-light); color:var(--gs-blue); font-size:.76rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.r188gs-page h1,.r188gs-page h2,.r188gs-page h3 { font-family:inherit; }
.r188gs-page h1 { margin:14px 0 0; color:var(--gs-navy); font-size:clamp(2.25rem,5vw,4.5rem); line-height:1.02; letter-spacing:-.035em; }
.r188gs-page h2 { margin:0 0 14px; color:var(--gs-navy); font-size:clamp(1.75rem,3.2vw,2.65rem); line-height:1.12; letter-spacing:-.02em; }
.r188gs-page h3 { color:var(--gs-navy); }
.r188gs-lede { max-width:760px; margin:22px 0 0; color:#405263; font-size:clamp(1.02rem,1.6vw,1.2rem); }
.r188gs-source-strip { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:22px; color:var(--gs-muted); font-size:.87rem; }
.r188gs-source-strip strong { color:var(--gs-ink); }
.r188gs-button { display:inline-flex; margin-top:26px; padding:12px 18px; border-radius:10px; background:var(--gs-navy); color:#fff !important; font-weight:800; text-decoration:none !important; box-shadow:0 8px 22px rgba(11,47,85,.15); }
.r188gs-button:hover { transform:translateY(-1px); }
.r188gs-hero-figure { margin:0; border-radius:20px; overflow:hidden; box-shadow:0 20px 55px rgba(11,47,85,.16); background:#fff; }
.r188gs-hero-figure img { display:block; width:100%; height:auto; }
.r188gs-section { padding:clamp(46px,6vw,76px) 0; }
.r188gs-section + .r188gs-section { border-top:1px solid var(--gs-line); }
.r188gs-soft-section { background:var(--gs-soft); }
.r188gs-term-section { background:#fbfdff; }
.r188gs-intro { max-width:910px; margin:0 0 30px; color:var(--gs-muted); font-size:1.03rem; }
.r188gs-keybox { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:28px 0 34px; }
.r188gs-key { padding:20px; border:1px solid var(--gs-line); border-radius:15px; background:#fff; box-shadow:0 7px 22px rgba(15,45,75,.04); }
.r188gs-key strong { display:block; color:var(--gs-navy); font-size:1.75rem; line-height:1; }
.r188gs-key span { display:block; margin-top:8px; color:var(--gs-muted); font-size:.88rem; }
.r188gs-table-card { overflow:hidden; border:1px solid var(--gs-line); border-radius:17px; background:#fff; box-shadow:0 14px 38px rgba(16,42,67,.07); }
.r188gs-table-wrap { overflow-x:auto; }
.r188gs-table { width:100%; border-collapse:collapse; background:#fff; }
.r188gs-table th { padding:16px 18px; background:var(--gs-navy); color:#fff; text-align:left; font-size:.8rem; letter-spacing:.04em; text-transform:uppercase; }
.r188gs-table td { padding:13px 18px; border-bottom:1px solid #edf1f4; vertical-align:middle; }
.r188gs-table tbody tr:last-child td { border-bottom:0; }
.r188gs-table tbody tr:hover { background:#fbfdff; }
.r188gs-week { width:38%; white-space:nowrap; font-weight:800; color:var(--gs-navy); }
.r188gs-stage { display:inline-block; margin-left:8px; padding:3px 8px; border-radius:999px; background:#eef2f6; color:#52606d; font-size:.7rem; font-weight:700; vertical-align:middle; }
.r188gs-rate-cell { min-width:330px; }
.r188gs-rate-layout { display:grid; grid-template-columns:minmax(130px,1fr) 86px; gap:14px; align-items:center; }
.r188gs-bar { height:12px; overflow:hidden; border-radius:999px; background:#e8eef2; }
.r188gs-bar > span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--gs-blue),var(--gs-teal)); }
.r188gs-rate { text-align:right; color:var(--gs-navy); font-weight:900; font-variant-numeric:tabular-nums; }
.r188gs-exception { max-width:660px; color:var(--gs-muted); font-size:.91rem; }
.r188gs-method { padding:16px 18px; border-top:1px solid var(--gs-line); background:var(--gs-soft); color:var(--gs-muted); font-size:.87rem; }
.r188gs-method strong { color:var(--gs-ink); }
.r188gs-nicu-callout { display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,.8fr); gap:28px; align-items:center; margin-top:34px; padding:26px; border:1px solid #bcdcca; border-radius:17px; background:var(--gs-green-light); }
.r188gs-nicu-callout h3 { margin:10px 0 8px; color:#14532d; font-size:1.35rem; }
.r188gs-nicu-callout p { margin:0; color:#3f5a4b; }
.r188gs-mini-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.r188gs-mini-stat { padding:15px 10px; border:1px solid #cfe5d7; border-radius:12px; background:rgba(255,255,255,.8); text-align:center; }
.r188gs-mini-stat span { display:block; color:#567064; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.r188gs-mini-stat strong { display:block; margin-top:4px; color:#14532d; font-size:1.45rem; }
.r188gs-record-grid { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:46px; align-items:center; }
.r188gs-record-number { width:170px; height:170px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:50%; background:#fff; border:2px solid #efc9c5; color:var(--gs-red); box-shadow:0 12px 28px rgba(173,44,35,.08); font-size:4.5rem; line-height:.85; font-weight:950; }
.r188gs-record-number span { margin-top:12px; font-size:.85rem; letter-spacing:.08em; text-transform:uppercase; }
.r188gs-note { max-width:900px; padding:15px 17px; border-left:4px solid var(--gs-red); background:var(--gs-red-light); color:#684039; font-size:.9rem; }
.r188gs-two-col { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.r188gs-info-card { padding:26px; border:1px solid var(--gs-line); border-radius:16px; background:#fff; box-shadow:0 8px 22px rgba(15,45,75,.035); }
.r188gs-info-card h3 { margin:0 0 9px; font-size:1.22rem; }
.r188gs-info-card p { margin:0; color:var(--gs-muted); }
.r188gs-term-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.r188gs-term { padding:20px; border:1px solid var(--gs-line); border-radius:14px; background:#fff; }
.r188gs-term strong { display:block; color:var(--gs-navy); font-size:1.05rem; }
.r188gs-term span { display:block; margin-top:5px; color:var(--gs-muted); font-size:.89rem; }
.r188gs-chart-section { background:linear-gradient(180deg,#fff 0%,#f7fbfd 100%); }
.r188gs-chart-figure { max-width:1000px; margin:28px auto 0; padding:10px; border:1px solid var(--gs-line); border-radius:18px; background:#fff; box-shadow:0 16px 45px rgba(11,47,85,.09); }
.r188gs-chart-figure img { display:block; width:100%; height:auto; border-radius:12px; }
.r188gs-sources { counter-reset:r188source; display:grid; gap:12px; margin-top:26px; }
.r188gs-source { position:relative; padding:18px 18px 18px 56px; border:1px solid var(--gs-line); border-radius:13px; background:#fff; }
.r188gs-source::before { counter-increment:r188source; content:counter(r188source); position:absolute; left:17px; top:18px; width:26px; height:26px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--gs-navy); color:#fff; font-size:.76rem; font-weight:800; }
.r188gs-source strong { color:var(--gs-navy); }
.r188gs-source p { margin:4px 0 0; color:var(--gs-muted); font-size:.91rem; }
.r188gs-source a { color:var(--gs-blue); font-weight:800; text-decoration:underline; text-underline-offset:2px; }
.r188gs-disclaimer { margin-top:28px; padding:17px 19px; border-left:4px solid var(--gs-gold); background:var(--gs-gold-light); color:#6b5318; font-size:.9rem; }
.r188gs-front-hero-link { display:block; overflow:hidden; border-radius:18px; box-shadow:0 12px 34px rgba(11,47,85,.12); transition:transform .18s ease,box-shadow .18s ease; }
.r188gs-front-hero-link:hover { transform:translateY(-2px); box-shadow:0 16px 40px rgba(11,47,85,.18); }
.r188gs-front-hero-link img { display:block; width:100%; height:auto; }
@media (max-width:980px) {
    .r188gs-hero-grid,.r188gs-nicu-callout { grid-template-columns:1fr; }
    .r188gs-hero-figure { max-width:820px; }
    .r188gs-mini-grid { grid-template-columns:repeat(4,minmax(100px,1fr)); }
}
@media (max-width:760px) {
    .r188gs-keybox,.r188gs-term-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .r188gs-two-col { grid-template-columns:1fr; }
    .r188gs-record-grid { grid-template-columns:1fr; }
    .r188gs-record-number { width:125px; height:125px; font-size:3.3rem; }
    .r188gs-mini-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:540px) {
    .r188gs-shell { width:min(100% - 22px,1180px); }
    .r188gs-hero { padding-top:34px; }
    .r188gs-keybox,.r188gs-term-list { grid-template-columns:1fr; }
    .r188gs-table th,.r188gs-table td { padding:12px 11px; }
    .r188gs-stage { display:block; width:max-content; margin:5px 0 0; }
    .r188gs-rate-cell { min-width:230px; }
    .r188gs-rate-layout { grid-template-columns:minmax(90px,1fr) 72px; gap:9px; }
}
