/* ==========================================================================
   ServiceIsDown Methodology V1
   Uses the same restrained editorial system as About V5.2.
   ========================================================================== */

.methodology-v1 {
    background:#fff;
    color:var(--sid-ink);
}

.methodology-v1-kicker {
    margin:0 0 12px;
    color:var(--sid-blue);
    font-size:.67rem;
    line-height:1.35;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.methodology-v1-hero {
    padding:78px 0 72px;
    border-bottom:1px solid var(--sid-border);
}

.methodology-v1-hero__grid {
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);
    gap:92px;
    align-items:end;
}

.methodology-v1-hero h1 {
    max-width:720px;
    margin:0;
    font-size:clamp(2.75rem,4.5vw,4rem);
    line-height:1.01;
    font-weight:720;
    letter-spacing:-.055em;
}

.methodology-v1-hero__intro {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px;
    padding-bottom:5px;
}

.methodology-v1-hero__intro p,
.methodology-v1-lead,
.methodology-v1-source-table p,
.methodology-v1-timeline p,
.methodology-v1-rules p,
.methodology-v1-statuses p,
.methodology-v1-note,
.methodology-v1-principles__grid p,
.methodology-v1-closing p {
    margin:0;
    color:#5d6777;
    font-size:.82rem;
    line-height:1.7;
}

.methodology-v1-overview {
    border-bottom:1px solid var(--sid-border);
    background:#fbfcfd;
}

.methodology-v1-overview__grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.methodology-v1-overview__grid > div {
    padding:23px 26px;
    border-left:1px solid var(--sid-border);
}

.methodology-v1-overview__grid > div:first-child {
    border-left:0;
}

.methodology-v1-overview span,
.methodology-v1-side > span,
.methodology-v1-principles__head span {
    display:block;
    margin-bottom:12px;
    color:var(--sid-subtle);
    font-size:.62rem;
    font-weight:700;
}

.methodology-v1-overview strong {
    display:block;
    margin-bottom:6px;
    font-size:.8rem;
}

.methodology-v1-overview p {
    margin:0;
    color:var(--sid-muted);
    font-size:.75rem;
    line-height:1.58;
}

.methodology-v1-section {
    padding:72px 0;
    border-bottom:1px solid var(--sid-border);
}

.methodology-v1-section--soft {
    background:#fafbfc;
}

.methodology-v1-grid {
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    gap:56px;
    align-items:start;
}

.methodology-v1-side {
    padding-top:3px;
}

.methodology-v1-main {
    max-width:950px;
}

.methodology-v1-main h2,
.methodology-v1-principles h2,
.methodology-v1-closing h2 {
    max-width:780px;
    margin:0;
    font-size:clamp(1.75rem,2.5vw,2.25rem);
    line-height:1.09;
    font-weight:700;
    letter-spacing:-.04em;
}

.methodology-v1-lead {
    max-width:700px;
    margin-top:18px;
    font-size:.86rem;
}

.methodology-v1-source-table {
    margin-top:30px;
    border-top:1px solid var(--sid-border-strong);
}

.methodology-v1-source-table__head,
.methodology-v1-source-table > div:not(.methodology-v1-source-table__head) {
    display:grid;
    grid-template-columns:minmax(180px,.75fr) minmax(0,1.5fr) 90px;
    gap:26px;
    align-items:center;
}

.methodology-v1-source-table__head {
    padding:11px 0;
    color:var(--sid-subtle);
    font-size:.61rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.methodology-v1-source-table > div:not(.methodology-v1-source-table__head) {
    padding:19px 0;
    border-top:1px solid var(--sid-border);
}

.methodology-v1-source-table strong {
    font-size:.79rem;
}

.methodology-v1-tag {
    justify-self:start;
    padding:5px 8px;
    border:1px solid var(--sid-border-strong);
    border-radius:999px;
    color:var(--sid-muted);
    background:#fff;
    font-size:.62rem;
    font-weight:700;
}

.methodology-v1-transform {
    display:grid;
    grid-template-columns:minmax(0,1fr) 50px minmax(260px,.75fr);
    gap:22px;
    align-items:center;
    margin-top:32px;
}

.methodology-v1-transform__sources {
    border-top:1px solid var(--sid-border-strong);
}

.methodology-v1-transform__sources > div {
    display:grid;
    grid-template-columns:100px minmax(0,1fr);
    gap:20px;
    padding:16px 0;
    border-bottom:1px solid var(--sid-border);
}

.methodology-v1-transform small,
.methodology-v1-transform__result small,
.methodology-v1-timeline small {
    color:var(--sid-subtle);
    font-size:.59rem;
    font-weight:800;
    letter-spacing:.06em;
}

.methodology-v1-transform__sources strong {
    font-size:.77rem;
    font-weight:650;
}

.methodology-v1-transform__arrow {
    color:#7d8796;
    text-align:center;
    font-weight:700;
}

.methodology-v1-transform__result {
    padding:22px;
    border:1px solid var(--sid-border-strong);
    border-radius:9px;
    background:#fff;
}

.methodology-v1-transform__result > strong {
    display:block;
    margin:12px 0 17px;
    font-size:.88rem;
}

.methodology-v1-transform__result dl {
    margin:0;
}

.methodology-v1-transform__result dl > div {
    display:grid;
    grid-template-columns:1fr auto;
    gap:15px;
    padding:8px 0;
    border-top:1px solid var(--sid-border);
    font-size:.68rem;
}

.methodology-v1-transform__result dt {
    color:var(--sid-muted);
}

.methodology-v1-transform__result dd {
    margin:0;
    font-weight:700;
}

.methodology-v1-timeline {
    position:relative;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    margin-top:34px;
    border-top:1px solid var(--sid-border-strong);
}

.methodology-v1-timeline::before {
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:31px;
    height:1px;
    background:var(--sid-border-strong);
}

.methodology-v1-timeline article {
    position:relative;
    padding:53px 34px 0 0;
}

.methodology-v1-timeline article + article {
    padding-left:30px;
}

.methodology-v1-timeline__dot {
    position:absolute;
    top:27px;
    left:0;
    width:9px;
    height:9px;
    border:2px solid #fff;
    border-radius:50%;
    background:var(--sid-blue);
    box-shadow:0 0 0 1px var(--sid-blue);
    z-index:1;
}

.methodology-v1-timeline article + article .methodology-v1-timeline__dot {
    left:30px;
}

.methodology-v1-timeline strong {
    display:block;
    margin:10px 0 7px;
    font-size:.82rem;
}

.methodology-v1-rules {
    margin-top:30px;
    border-top:1px solid var(--sid-border-strong);
}

.methodology-v1-rules article {
    display:grid;
    grid-template-columns:120px minmax(180px,.65fr) minmax(0,1fr);
    gap:28px;
    padding:18px 0;
    border-bottom:1px solid var(--sid-border);
    align-items:start;
}

.methodology-v1-rules article > span {
    color:var(--sid-blue);
    font-size:.65rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.methodology-v1-rules strong {
    font-size:.8rem;
}

.methodology-v1-statuses {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:31px;
    border-top:1px solid var(--sid-border-strong);
}

.methodology-v1-statuses article {
    display:grid;
    grid-template-columns:16px minmax(0,1fr);
    gap:12px;
    padding:21px 24px 4px 0;
}

.methodology-v1-statuses article + article {
    padding-left:24px;
    border-left:1px solid var(--sid-border);
}

.methodology-v1-statuses strong {
    display:block;
    margin-bottom:6px;
    font-size:.8rem;
}

.methodology-v1-status-dot {
    width:8px;
    height:8px;
    margin-top:4px;
    border-radius:50%;
}

.methodology-v1-status-dot--red { background:var(--sid-red); }
.methodology-v1-status-dot--amber { background:#d99a23; }
.methodology-v1-status-dot--green { background:var(--sid-green); }

.methodology-v1-note {
    max-width:820px;
    margin-top:28px;
    padding:15px 18px;
    border-left:2px solid var(--sid-border-strong);
    background:#fafbfc;
    font-size:.74rem;
}

.methodology-v1-principles {
    padding:72px 0;
    border-bottom:1px solid var(--sid-border);
    background:#fafbfc;
}

.methodology-v1-principles__head {
    max-width:780px;
}

.methodology-v1-principles__grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    margin-top:31px;
    border-top:1px solid var(--sid-border-strong);
}

.methodology-v1-principles__grid article {
    padding:22px 23px 0;
    border-left:1px solid var(--sid-border);
}

.methodology-v1-principles__grid article:first-child {
    padding-left:0;
    border-left:0;
}

.methodology-v1-principles__grid span {
    display:block;
    margin-bottom:17px;
    color:var(--sid-subtle);
    font-size:.62rem;
    font-weight:700;
}

.methodology-v1-principles__grid strong {
    display:block;
    margin-bottom:7px;
    font-size:.81rem;
}

.methodology-v1-closing {
    padding:52px 0;
    background:var(--sid-ink);
    color:#fff;
}

.methodology-v1-closing__grid {
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(300px,.75fr);
    gap:80px;
    align-items:center;
}

.methodology-v1-closing h2 {
    max-width:620px;
    color:#fff;
}

.methodology-v1-closing p {
    color:#c9d1dd;
}

.methodology-v1-button {
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:19px;
    padding:0 16px;
    border:1px solid #fff;
    border-radius:7px;
    background:#fff;
    color:var(--sid-ink);
    text-decoration:none;
    font-size:.78rem;
    font-weight:700;
}

@media (max-width:900px) {
    .methodology-v1-hero__grid {
        grid-template-columns:1fr;
        gap:30px;
    }

    .methodology-v1-grid {
        grid-template-columns:110px minmax(0,1fr);
        gap:34px;
    }

    .methodology-v1-transform {
        grid-template-columns:1fr;
    }

    .methodology-v1-transform__arrow {
        transform:rotate(90deg);
    }

    .methodology-v1-rules article {
        grid-template-columns:100px minmax(0,1fr);
    }

    .methodology-v1-rules p {
        grid-column:2;
    }

    .methodology-v1-principles__grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .methodology-v1-principles__grid article:nth-child(3) {
        padding-left:0;
        border-left:0;
        border-top:1px solid var(--sid-border);
        margin-top:22px;
        padding-top:22px;
    }

    .methodology-v1-principles__grid article:nth-child(4) {
        border-top:1px solid var(--sid-border);
        margin-top:22px;
        padding-top:22px;
    }

    .methodology-v1-closing__grid {
        grid-template-columns:1fr;
        gap:28px;
    }
}

@media (max-width:650px) {
    .methodology-v1-hero {
        padding:58px 0 56px;
    }

    .methodology-v1-hero h1 {
        font-size:clamp(2.4rem,10vw,3.2rem);
    }

    .methodology-v1-hero__intro,
    .methodology-v1-overview__grid,
    .methodology-v1-timeline,
    .methodology-v1-statuses,
    .methodology-v1-principles__grid {
        grid-template-columns:1fr;
    }

    .methodology-v1-overview__grid > div {
        border-left:0;
        border-top:1px solid var(--sid-border);
    }

    .methodology-v1-overview__grid > div:first-child {
        border-top:0;
    }

    .methodology-v1-section,
    .methodology-v1-principles {
        padding:56px 0;
    }

    .methodology-v1-grid {
        grid-template-columns:1fr;
        gap:24px;
    }

    .methodology-v1-source-table__head {
        display:none;
    }

    .methodology-v1-source-table > div:not(.methodology-v1-source-table__head) {
        grid-template-columns:1fr;
        gap:7px;
    }

    .methodology-v1-timeline::before {
        display:none;
    }

    .methodology-v1-timeline article,
    .methodology-v1-timeline article + article {
        padding:20px 0;
        border-bottom:1px solid var(--sid-border);
    }

    .methodology-v1-timeline__dot,
    .methodology-v1-timeline article + article .methodology-v1-timeline__dot {
        display:none;
    }

    .methodology-v1-rules article {
        grid-template-columns:1fr;
        gap:7px;
    }

    .methodology-v1-rules p {
        grid-column:auto;
    }

    .methodology-v1-statuses article,
    .methodology-v1-statuses article + article {
        padding:18px 0;
        border-left:0;
        border-bottom:1px solid var(--sid-border);
    }

    .methodology-v1-statuses article:last-child {
        border-bottom:0;
    }

    .methodology-v1-principles__grid article,
    .methodology-v1-principles__grid article:first-child,
    .methodology-v1-principles__grid article:nth-child(3),
    .methodology-v1-principles__grid article:nth-child(4) {
        margin:0;
        padding:18px 0;
        border-left:0;
        border-top:1px solid var(--sid-border);
    }

    .methodology-v1-principles__grid article:first-child {
        border-top:0;
    }
}


/* ==========================================================================
   Methodology V1.1 — launch polish
   Deliberately limited to readability, rhythm and information hierarchy.
   ========================================================================== */

/* Give long-form explanatory copy a little more presence on desktop. */
.methodology-v1-hero__intro p,
.methodology-v1-lead,
.methodology-v1-source-table p,
.methodology-v1-timeline p,
.methodology-v1-rules p,
.methodology-v1-statuses p,
.methodology-v1-note,
.methodology-v1-principles__grid p,
.methodology-v1-closing p {
    color:#556171;
    font-size:.86rem;
    line-height:1.72;
}

/* Slightly more breathing room between the main methodology chapters. */
.methodology-v1-section {
    padding-top:78px;
    padding-bottom:78px;
}

/* Main chapter headings should carry the page, without approaching hero scale. */
.methodology-v1-main h2 {
    font-size:clamp(1.85rem,2.65vw,2.35rem);
    line-height:1.07;
}

.methodology-v1-lead {
    max-width:730px;
    margin-top:20px;
}

/* Make chronology easier to scan from left to right. */
.methodology-v1-timeline {
    margin-top:38px;
}

.methodology-v1-timeline article {
    padding-top:57px;
}

.methodology-v1-timeline strong {
    margin-top:11px;
    margin-bottom:8px;
    font-size:.85rem;
}

/* Certainty rules are a key trust component: improve separation, not decoration. */
.methodology-v1-rules {
    margin-top:34px;
}

.methodology-v1-rules article {
    padding-top:20px;
    padding-bottom:20px;
}

.methodology-v1-rules strong {
    font-size:.83rem;
}

/* Give status summaries slightly more visual authority. */
.methodology-v1-statuses {
    margin-top:35px;
}

.methodology-v1-statuses article {
    padding-top:24px;
    padding-bottom:8px;
}

.methodology-v1-statuses strong {
    font-size:.84rem;
}

.methodology-v1-status-dot {
    width:9px;
    height:9px;
}

/* Preserve the strong principles composition; only improve readability. */
.methodology-v1-principles {
    padding-top:78px;
    padding-bottom:78px;
}

.methodology-v1-principles__grid strong {
    font-size:.84rem;
}

/* Closing section already works: only a tiny text-readability adjustment. */
.methodology-v1-closing p {
    color:#d0d6df;
}

@media (max-width:900px) {
    .methodology-v1-section,
    .methodology-v1-principles {
        padding-top:68px;
        padding-bottom:68px;
    }
}

@media (max-width:650px) {
    .methodology-v1-hero__intro p,
    .methodology-v1-lead,
    .methodology-v1-source-table p,
    .methodology-v1-timeline p,
    .methodology-v1-rules p,
    .methodology-v1-statuses p,
    .methodology-v1-note,
    .methodology-v1-principles__grid p,
    .methodology-v1-closing p {
        font-size:.84rem;
    }

    .methodology-v1-section,
    .methodology-v1-principles {
        padding-top:58px;
        padding-bottom:58px;
    }
}


/* ==========================================================================
   Methodology V1.2 — final readability polish
   Raises only the smallest explanatory text levels.
   Labels / indices / source markers remain intentionally compact.
   ========================================================================== */

.methodology-v1-overview p {
    font-size:.79rem;
    line-height:1.62;
}

.methodology-v1-source-table p {
    font-size:.89rem;
    line-height:1.68;
}

.methodology-v1-transform__sources strong {
    font-size:.82rem;
    line-height:1.5;
}

.methodology-v1-transform__result dl > div {
    font-size:.72rem;
}

.methodology-v1-timeline p {
    font-size:.89rem;
    line-height:1.68;
}

.methodology-v1-rules p {
    font-size:.89rem;
    line-height:1.68;
}

.methodology-v1-statuses p {
    font-size:.89rem;
    line-height:1.68;
}

.methodology-v1-principles__grid p {
    font-size:.88rem;
    line-height:1.66;
}

.methodology-v1-note {
    font-size:.78rem;
    line-height:1.64;
}

@media (max-width:650px) {
    .methodology-v1-overview p {
        font-size:.8rem;
    }

    .methodology-v1-source-table p,
    .methodology-v1-timeline p,
    .methodology-v1-rules p,
    .methodology-v1-statuses p,
    .methodology-v1-principles__grid p {
        font-size:.86rem;
    }

    .methodology-v1-transform__sources strong {
        font-size:.8rem;
    }
}
