/* Compact editorial layout for Calma's public guides. */
.public-page.guide-reading-page {
    --guide-width: 70rem;
    --guide-rail: 14.375rem;
    --guide-gutter: clamp(1.25rem, 3.4vw, 2.4rem);
    --guide-text: .96875rem;
    --guide-leading: 1.61;
    --guide-h2: clamp(1.22rem, 1.6vw, 1.4rem);
    --guide-h3: 1.09rem;
    --guide-anchor: 7.25rem;
    --public-title-size: clamp(1.66rem, 3vw, 2.3rem);
    --public-intro-size: var(--guide-text);
    --public-reading-size: var(--guide-text);
}

.guide-reading-page main > :is(.crumbs, .guide-shell, .monitorio-hero, .reading-layout, .monitorio-cta) {
    max-inline-size: var(--guide-width);
    margin-inline: auto;
}

.guide-reading-page .reading-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 1rem var(--guide-gutter);
    max-inline-size: none;
}

.guide-reading-page .reading-body {
    min-inline-size: 0;
    color: var(--ink-800);
    overflow-wrap: break-word;
}

.guide-reading-page .reading-body.article,
.guide-reading-page .reading-body.ai-labor-reading {
    padding: clamp(.95rem, 2vw, 1.55rem);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: var(--white);
}

.guide-reading-page .reading-body :is(h2, h3, section)[id],
.guide-reading-page .reading-body [id]:target,
.guide-reading-page .reading-followup[id],
.guide-reading-page .reading-body .reviewed[id] {
    scroll-margin-block-start: var(--guide-anchor);
}

body.public-page.guide-reading-page main .reading-layout .reading-body h2 {
    margin-block: 1.2rem .55rem;
    font-size: var(--guide-h2);
    line-height: 1.24;
    text-wrap: pretty;
}

body.guide-reading-page .reading-body h3 {
    margin-block: .95rem .42rem;
    font-size: var(--guide-h3);
    line-height: 1.3;
}

body.public-page.guide-reading-page main .reading-layout .reading-body > h2:first-child,
body.public-page.guide-reading-page main .reading-layout .reading-body > :first-child > h2:first-child,
body.public-page.guide-reading-page main .reading-layout .reading-body .trust > h2 {
    margin-block-start: 0;
}

body.guide-reading-page .reading-body :is(p, li, summary):not(.fine, .eyebrow, .reviewed, .monitorio-reviewed) {
    font-size: var(--guide-text);
    line-height: var(--guide-leading);
}

.guide-reading-page .reading-body :is(.section-block, .about-section) {
    margin-block: 1.1rem;
    padding-block-start: .05rem;
    border-block-start: 1px solid var(--line);
}

.guide-reading-page .reading-body :is(.section-block, .about-section) > p {
    margin-block: .52rem .76rem;
}

.guide-reading-page .reading-body .key-grid > li {
    margin-block: 0;
}
.guide-reading-page.legal-guide-page .reading-body .key-grid { padding-inline-start: 0; }

.guide-reading-page .reading-body .reading-faq-item {
    margin: 0;
    padding: 0;
    border: 0;
    border-block-start: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
}

.guide-reading-page .reading-body .reading-faq-item > summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem;
    min-block-size: 44px;
    padding: .55rem .25rem;
    border-radius: .25rem;
    cursor: pointer;
    list-style: none;
}

.guide-reading-page .reading-faq-item > summary::-webkit-details-marker { display: none; }

.guide-reading-page .reading-faq-item > summary::after {
    content: "";
    inline-size: .48rem;
    block-size: .48rem;
    margin-inline-end: .18rem;
    border-right: 2px solid var(--ink-700);
    border-bottom: 2px solid var(--ink-700);
    transform: rotate(45deg);
}

.guide-reading-page .reading-faq-item[open] > summary::after { transform: rotate(225deg); }

body.guide-reading-page .reading-faq-item h3 {
    margin: 0;
    color: var(--ink-900);
}

.guide-reading-page .reading-body .reading-faq-item > p {
    margin: 0;
    padding: .05rem .25rem .8rem;
}

.guide-reading-page .reading-index {
    min-inline-size: 0;
    border: 1px solid var(--line);
    border-radius: .9rem;
    background: var(--white);
    color: var(--ink-900);
}

.guide-reading-page .reading-index--rail { display: none; }
.guide-reading-page .reading-index--fold { display: block; }

.guide-reading-page .reading-index :is(strong, summary) {
    padding: .72rem .9rem;
    color: inherit;
    font-size: .96rem;
    font-weight: 750;
}

.guide-reading-page .reading-index strong { display: block; }
.guide-reading-page .reading-index summary { cursor: pointer; min-block-size: 2.75rem; }
.guide-reading-page .reading-index ul { margin: 0; padding: 0 .7rem .55rem; list-style: none; }
.guide-reading-page .reading-index li { border-block-start: 1px solid var(--line); }
.guide-reading-page .reading-index a {
    display: block;
    padding: .45rem .23rem;
    color: var(--ink-700);
    font-size: .865rem;
    line-height: 1.35;
    text-decoration: none;
    overflow-wrap: break-word;
}

.guide-reading-page .reading-index a:hover { color: var(--ink-900); text-decoration: underline; }
.guide-reading-page :is(.reading-index, .reading-body) :is(a, summary):focus-visible {
    outline: 2px solid var(--ink-700);
    outline-offset: 2px;
}

body.guide-reading-page .reading-layout > .reading-followup { position: static; }
.guide-reading-page .reading-followup .cta :is(h2, p, .button) { overflow-wrap: break-word; }
.guide-reading-page.legal-guide-page .reading-followup .cta h2 { font-size: var(--guide-h3); }
.guide-reading-page.legal-guide-page .reading-followup .cta p { font-size: .88rem; }
.guide-reading-page.legal-guide-page .reading-followup .cta .fine { font-size: .82rem; }
.guide-reading-page.legal-guide-page .reading-followup .cta .button { font-size: .87rem; }
.guide-reading-page .monitorio-layout { padding-inline: 0; padding-block-end: 1.8rem; }
.guide-reading-page .monitorio-hero { margin-block-end: 1rem; }
.guide-reading-page .monitorio-cta { margin-block-end: 2rem; }
.guide-reading-page .monitorio-hero__fact strong { font-size: 1.25rem; }

.guide-reading-page .ai-labor-hero {
    margin-block: .5rem 1rem;
    padding: clamp(1.25rem, 2.8vw, 2rem);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: var(--white);
    text-align: center;
}

.guide-reading-page .ai-labor-hero h1 { max-inline-size: 36ch; margin-inline: auto; }
.guide-reading-page.ai-labor-page .crumbs { margin-block: .6rem; }
.guide-reading-page .ai-labor-reading blockquote {
    margin-inline: 0;
    padding: .45rem .9rem;
    border-inline-start: 3px solid var(--accent-blue);
    background: var(--smoke-75);
}
.guide-reading-page .dismissal-funnel-grid { grid-template-columns: minmax(0, 1fr); }
.guide-reading-page .dismissal-funnel-card p + p { margin-block-start: .65rem; }
.guide-reading-page .reading-body > .reading-faq { margin-block: 1rem; }

@media screen and (min-width: 901px) {
    .guide-reading-page .reading-layout {
        grid-template-columns: minmax(12rem, var(--guide-rail)) minmax(0, 1fr);
    }
    .guide-reading-page .reading-index--rail {
        display: block;
        position: sticky;
        inset-block-start: var(--guide-anchor);
        grid-column: 1;
        grid-row: 1 / span 2;
        max-block-size: calc(100dvh - var(--guide-anchor) - 1rem);
        overflow-y: auto;
        scrollbar-width: thin;
    }
    .guide-reading-page .reading-index--fold { display: none; }
    .guide-reading-page .reading-layout > :is(.reading-body, .reading-followup) { grid-column: 2; }
    .guide-reading-page .reading-body :is(.section-block, .about-section) > p:not(.fine),
    .guide-reading-page .reading-faq-item > p,
    .guide-reading-page .monitorio-article > p:not(.monitorio-reviewed) {
        text-align: justify;
        text-align-last: start;
        hyphens: auto;
    }
}

@media screen and (max-width: 600px) {
    .guide-reading-page .reading-index a { padding-block: .59rem; }
    .guide-reading-page .reading-body .key-grid { grid-template-columns: minmax(0, 1fr); }
}

@media print {
    .guide-reading-page .reading-index { display: none; }
}

/* Keep the role CTAs aligned and leave a visible transition to the next heading. */
.guide-reading-page .reading-body .guide-valuation {
    margin-block: 1.35rem;
    padding-block: .1rem .35rem;
}

.guide-reading-page .guide-valuation-roles {
    display: grid;
    gap: .8rem;
    margin-block: .85rem 1.1rem;
}

.guide-reading-page .guide-valuation-role {
    display: flex;
    min-inline-size: 0;
    flex-direction: column;
    align-items: flex-start;
    padding: .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md, .8rem);
    background: var(--white);
}

.guide-reading-page .reading-body .guide-valuation-role h3 {
    margin-block: 0 .45rem;
}

.guide-reading-page .reading-body .guide-valuation-role p {
    flex-grow: 1;
    margin-block: 0 .85rem;
}

.guide-reading-page .guide-valuation-role .button {
    box-sizing: border-box;
    display: inline-flex;
    min-block-size: 44px;
    max-inline-size: 100%;
    align-items: center;
    justify-content: center;
    padding: .5rem .65rem;
    font-size: .82rem;
    line-height: 1.35;
    text-align: center;
    white-space: normal;
}

.guide-reading-page .reading-body .guide-valuation > .guide-valuation-note {
    margin-block: 1.1rem .7rem;
    padding-block-start: .65rem;
    border-block-start: 1px solid var(--line);
    font-weight: 600;
}

.guide-reading-page .guide-valuation-sources {
    padding-inline-start: 1.1rem;
    margin-block: .55rem .2rem;
}

.guide-reading-page .reading-body .guide-valuation + .monitorio-models {
    margin-block-start: 1.15rem;
}

body.public-page.guide-reading-page main .reading-layout .reading-body
    :is(.guide-valuation + .monitorio-models, .dismissal-funnel-card) > h2 {
    margin-block-start: 0;
}

@media (min-width: 690px) {
    .guide-reading-page .guide-valuation-roles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .guide-reading-page .guide-valuation-role .button {
        inline-size: 100%;
        min-block-size: 3.6rem;
    }
}

@media (min-width: 901px) {
    .guide-reading-page .reading-body .guide-valuation-role p {
        text-align: justify;
        text-align-last: start;
        hyphens: auto;
    }
}
