/* Shared corporate shell for the public pages listed in sitemap.xml. */
.public-content-page {
    padding: 0;
    background: var(--page-bg);
}

.public-page-shell {
    display: flex;
    flex: 1;
    flex-direction: column;
    width: min(1460px, calc(100% - 32px));
    min-height: calc(100vh - 48px);
    margin: 16px auto 32px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 28px;
    background: var(--box-bg);
    box-shadow: 0 1px 0 rgba(255,255,255,.8), 0 32px 80px -28px rgba(37,32,26,.26);
}

.public-content-page .public-nav {
    position: sticky;
    top: 0;
    border-color: var(--line);
    background: rgba(255,253,249,.92);
}

.public-content-page .public-nav-inner {
    width: 100%;
    max-width: none;
    padding: 18px 28px;
}

.public-content-page .public-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.public-content-page .public-brand img { height: auto; width: 116px; }

.public-content-page .public-brand span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 3px 10px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.public-content-page .public-nav-inner .hidden.md\:flex { gap: 6px; }

.public-content-page .public-nav-inner .hidden.md\:flex > a:not(.public-nav-cta) {
    min-height: 38px;
    padding: 9px 15px;
    border-radius: 999px;
    color: var(--ink-soft);
}

.public-content-page .public-nav-inner .hidden.md\:flex > a:not(.public-nav-cta):hover {
    background: var(--panel-bg);
    color: var(--ink);
}

.public-nav-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    margin-left: 4px;
    padding: 8px 15px;
    border-radius: 999px;
    background: var(--brand);
    color: white;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 5px 15px -8px rgba(201,91,10,.9);
    transition: background .18s ease, transform .18s ease;
}

.public-nav-cta:hover { background: var(--brand-dark); transform: translateY(-1px); }

.public-page-main { width: 100%; }

.public-content-page #flash-wrap {
    max-width: 1320px;
    padding-right: 28px;
    padding-left: 28px;
}

/* Existing SEO content remains intact, but gains the homepage's generous measure. */
.public-content-page .public-page-main > section {
    width: auto;
    margin: 24px 28px 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 22px;
}

.public-content-page .public-page-main > section:last-of-type { margin-bottom: 28px; }
.public-content-page .public-page-main > section + section { margin-top: 20px; }

.public-content-page .public-page-main > section.bg-white { background-color: var(--box-bg); }
.public-content-page .public-page-main > section.bg-stone-50 { background-color: var(--panel-bg); }

.public-content-page .public-page-main .max-w-6xl { max-width: 1320px; }
.public-content-page .public-page-main .max-w-5xl { max-width: 1240px; }
.public-content-page .public-page-main .max-w-4xl { max-width: 1120px; }

/* Preserve a comfortable reading line on legal pages while making the card substantial. */
.public-content-page .public-page-main > section.py-16 > .max-w-3xl {
    max-width: 960px;
    padding-right: clamp(24px, 5vw, 72px);
    padding-left: clamp(24px, 5vw, 72px);
}

.public-content-page .public-page-main h1 {
    color: var(--ink);
    letter-spacing: -.045em;
}

.public-content-page .public-page-main h1 .text-brand-500,
.public-content-page .public-page-main h1 .text-brand-600 { color: var(--brand); }

.public-content-page .public-page-main .rounded-xl { border-radius: 16px; }
.public-content-page .public-page-main .rounded-2xl { border-radius: 20px; }

/* Long-form comparison pages have nested sections. Scope their panels to this
   page family so normal feature cards and utility colors remain untouched. */
.public-longform-page .public-page-main > article {
    width: auto;
    max-width: none;
    margin: 20px 28px 28px;
    padding: 0;
}

.public-longform-page .public-page-main > article > .prose {
    margin-bottom: 20px;
    padding: clamp(28px, 3.5vw, 48px);
    border: 1px solid var(--line);
    border-radius: 22px;
    background: var(--panel-bg);
}

.public-longform-page .public-page-main > article > section {
    margin-bottom: 20px;
    padding: clamp(28px, 3.5vw, 48px);
    border: 1px solid var(--line);
    border-radius: 22px;
    background: var(--box-bg);
}

.public-longform-page .public-page-main > article > section:nth-of-type(even) {
    background: var(--panel-bg);
}

.public-longform-page .public-page-main > article > section:last-child {
    margin-bottom: 0;
}

.public-content-page .public-footer {
    margin-top: auto;
    border-color: var(--line);
    background: rgba(251,249,245,.72);
}

.public-content-page .public-footer-inner {
    width: 100%;
    max-width: none;
    padding: 30px 28px 34px;
}

.public-content-page .public-footer-layout { align-items: flex-start; gap: 28px; }
.public-content-page .public-footer-layout > div:first-child { max-width: 660px; }
.public-content-page .public-footer-layout > div:first-child img { height: auto; width: 100px; opacity: 1; }
.public-content-page .public-footer-layout p { margin-top: 10px; line-height: 1.65; }
.public-content-page .public-footer-layout a:hover,
.public-content-page .public-footer-layout button:hover { color: var(--brand-ink); }

@media (max-width: 767px) {
    .public-page-shell {
        width: calc(100% - 16px);
        margin: 8px auto 20px;
        border-radius: 20px;
    }

    .public-content-page .public-nav-inner { padding: 14px 16px; }
    .public-content-page .public-brand img { width: 100px; }
    .public-content-page .public-brand span { display: none; }

    .public-content-page #nav-mobile {
        border-color: var(--line);
        background: var(--box-bg);
    }

    .public-content-page .public-page-main > section {
        margin-right: 10px;
        margin-left: 10px;
        border-radius: 16px;
    }

    .public-content-page .public-page-main > section + section { margin-top: 10px; }
    .public-content-page .public-page-main > section:last-of-type { margin-bottom: 10px; }

    .public-longform-page .public-page-main > article {
        margin: 10px;
    }

    .public-longform-page .public-page-main > article > .prose,
    .public-longform-page .public-page-main > article > section {
        margin-bottom: 10px;
        padding: 22px 16px;
        border-radius: 16px;
    }

    .public-content-page .public-footer-inner { padding: 26px 18px 30px; }
}
