/* The public information pages inherit the approved homepage identity.
   Keep this adapter scoped: school workspaces and the homepage are separate. */
.public-interior {
    --color-primary-50: #edf2fa;
    --color-primary-100: #dfe7f6;
    --color-primary-200: #cdd5e4;
    --color-primary-300: #b2c3e8;
    --color-primary-500: #315bc5;
    --color-primary-600: #244bb5;
    --color-primary-700: #193887;
    --color-primary-900: #172644;
    --color-primary-950: #172644;
}
.public-interior #main-content { overflow-wrap: break-word; }
.public-interior #main-content :is(h2, h3, h4) {
    font-family: Hanken, Arial, sans-serif;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -.015em;
    color: var(--ink);
}
.public-interior #main-content h1 { font-size: clamp(36px, 4vw, 54px); max-width: 920px; }
.public-interior #main-content h2 { font-size: clamp(28px, 2.7vw, 38px); }
.public-interior #main-content h3 { font-size: 23px; }
.public-interior #main-content h4 { font-size: 20px; }
.public-interior #main-content p { line-height: 1.7; }
.public-interior #main-content :is(.text-gray-900, .text-gray-800) { color: var(--ink); }
.public-interior #main-content :is(.text-gray-700, .text-gray-600, .text-gray-500, .text-gray-400) { color: var(--muted); }
.public-interior #main-content .text-green-600 { color: #166534; }
.public-interior #main-content :is(.text-amber-600, .text-orange-600) { color: #92400e; }
.public-interior #main-content .text-sm { font-size: 16px; }
.public-interior #main-content .text-xs { font-size: 14px; }
.public-interior #main-content .uppercase { text-transform: none; letter-spacing: 0; }
.public-interior #main-content :is(.max-w-7xl, .max-w-6xl, .max-w-5xl) {
    width: min(1200px, calc(100% - 80px));
    max-width: 1200px;
    padding-inline: 0;
}
.public-interior #main-content .section-pad { padding-block: 56px; }
.public-interior #main-content :is(.hero-dark, .hero-gradient) {
    background: var(--pale);
    color: var(--ink);
    padding-block: 48px;
    border-bottom: 1px solid var(--line);
}
.public-interior #main-content .hero-dark::before { display: none; }
.public-interior #main-content .page-hero > div {
    width: min(1200px, calc(100% - 80px));
    max-width: 1200px;
    padding-inline: 0;
    text-align: left;
}
.public-interior #main-content .page-hero :is(h1, p) { margin-inline: 0; }
.public-interior #main-content .page-hero h1,
.public-interior #main-content .page-hero .text-gradient-light { color: var(--ink); }
.public-interior #main-content .page-hero > div > p { color: var(--muted); max-width: 70ch; }
.public-interior #main-content .page-hero > div > p:first-child { color: var(--blue); margin-bottom: 16px; }
.public-interior #main-content :is(.text-center.mb-12, .text-center.mb-12.lg\:mb-16) { text-align: left; }
.public-interior #main-content .text-center.mb-12 > :is(h2, p) { margin-inline: 0; max-width: 780px; }
.public-interior #main-content :is(.feature-card, .spotlight-card, .media-card, .testimonial-card, .resource-card) {
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #fff;
    box-shadow: none;
    transform: none;
}
.public-interior #main-content :is(.feature-card, .testimonial-card, .spotlight-card) { padding: 28px; }
.public-interior #main-content :is(.feature-card, .spotlight-card, .media-card, .testimonial-card, .resource-card):hover {
    border-color: #819bcf;
    box-shadow: none;
    transform: none;
}
.public-interior #main-content .spotlight-card::before { background: var(--blue); }
.public-interior #main-content blockquote { font-style: normal; }
.public-interior #main-content :is(.rounded-2xl, .rounded-xl, .rounded-lg) { border-radius: 6px; }
.public-interior #main-content :is(.bg-gray-50, .bg-primary-50) { background-color: #f1f5fb; }
.public-interior #main-content :is(.btn-primary, .btn-primary-light, .btn-outline, .btn-ghost) {
    min-height: 48px;
    padding: 13px 22px;
    border: 1px solid var(--blue);
    border-radius: 4px;
    background: var(--blue);
    color: #fff;
    font: 600 17px/1.4 Hanken, Arial, sans-serif;
    letter-spacing: 0;
    box-shadow: none;
    text-decoration: none;
    transform: none;
}
.public-interior #main-content :is(.btn-outline, .btn-ghost) { background: #fff; color: var(--blue); }
.public-interior #main-content :is(.btn-primary, .btn-primary-light):hover { background: #193887; text-decoration: underline; }
.public-interior #main-content :is(.btn-outline, .btn-ghost):hover { background: var(--pale); text-decoration: underline; }
.public-interior #main-content #cms-section-cta { background: var(--pale); color: var(--ink); }
.public-interior #main-content #cms-section-cta .cta-glow { display: none; }
.public-interior #main-content #cms-section-cta :is(h2, p) { color: var(--ink); }
.public-interior #main-content #cms-section-cta a:not([class*="btn-"]) { color: var(--blue); min-height: 44px; }
.public-interior #main-content #cms-section-cta .border-t { border-color: var(--line); }
.public-interior #main-content .pillar-tabs { background: var(--pale); border-radius: 4px; transform: none; }
.public-interior #main-content .pillar-tab { min-height: 48px; border-radius: 4px; }
.public-interior #main-content .pillar-tab:not(.active) { color: var(--muted); }
/* Long blocks should remain readable without waiting for a reveal animation. */
.public-interior #main-content .reveal { opacity: 1; transform: none; transition: none; }
.public-interior #main-content :is(.article-guide, .news-index, .news-article) { padding-block: 40px 56px; }
.public-interior #main-content .article-guide { max-width: 1000px; }
.public-interior #main-content :is(.article-guide-header, .news-index-header, .news-article-header) {
    padding: 32px;
    background: var(--pale);
    border-radius: 6px;
    margin-bottom: 36px;
}
.public-interior #main-content :is(.article-guide-body, .news-article-body) { color: var(--muted); }
.public-interior #main-content :is(.article-guide-body, .news-article-body) p { max-width: 75ch; }
.public-interior #main-content :is(.article-guide-body, .news-article-body) :is(ul, ol) { padding-left: 24px; }
.public-interior #main-content .article-guide-actions { background: var(--pale); color: var(--ink); }
.public-interior #main-content .article-guide-actions :is(h2, h3, p) { color: var(--ink); }
.public-interior #main-content .article-guide-actions a { background: var(--blue); color: #fff; border-radius: 4px; min-height: 48px; }
.public-interior #main-content .news-index-header { text-align: left; }
.public-interior #main-content .news-index-header p { margin-inline: 0; }
.public-interior #main-content .news-meta { flex-wrap: wrap; }
.public-interior #main-content .news-panel h2 { font-size: 22px; }
.public-interior #main-content .news-panel h3 { font-size: 18px; }
.public-interior #main-content .news-article-body table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.public-interior #main-content .news-article-body :is(th, td) { padding: 12px; border: 1px solid var(--line); text-align: left; }
.public-interior #main-content .news-article-body img { max-width: 100%; height: auto; }
.public-interior #main-content table { font-size: 16px; }
.public-interior #main-content th { color: var(--ink); }
.public-interior #main-content :is(.text-indigo-600, .text-indigo-800, .text-primary-600) { color: var(--blue); }
.public-interior #main-content .bg-indigo-600 { background: var(--blue); color: #fff; }
.public-interior #main-content :is(.from-indigo-100, .bg-indigo-100) { background: var(--pale); background-image: none; }
.public-interior #main-content .news-index article { box-shadow: none; border: 1px solid var(--line); }
.public-interior #main-content .news-index article:hover { box-shadow: none; }
.public-interior .brand { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 900px) {
    .public-interior #main-content .section-pad { padding-block: 40px; }
    .public-interior #main-content .page-hero { padding-block: 36px; }
    .public-interior #main-content :is(.article-guide, .news-index, .news-article) { padding-block: 28px 40px; }
}
@media (max-width: 600px) {
    .public-interior #main-content :is(.max-w-7xl, .max-w-6xl, .max-w-5xl),
    .public-interior #main-content .page-hero > div { width: calc(100% - 36px); }
    .public-interior #main-content .page-hero h1 { margin-bottom: 20px; }
    .public-interior #main-content :is(.article-guide-header, .news-index-header, .news-article-header) { padding: 24px 20px; }
    .public-interior #main-content :is(.feature-card, .testimonial-card, .spotlight-card) { padding: 22px; }
    .public-interior #main-content h3 { font-size: 22px; }
    .public-interior #main-content .pillar-tabs { width: 100%; flex-wrap: wrap; }
    .public-interior #main-content .pillar-tab { flex: 1 1 100%; text-align: left; }
}
