/* QES — bright classroom grid */
:root,
.dark {
  --background: #f4f9fd;
  --foreground: #17324d;
  --card: #ffffff;
  --card-hover: #f6fbff;
  --muted: #526878;
  --border: #2d6286;
  --primary: #2f78c4;
  --primary-light: #5b98d5;
  --primary-dark: #1e568f;
  --primary-50: #eaf3fb;
  --primary-100: #d7e9f7;
  --accent: #2f9a70;
  --font-sans: Arial, Helvetica, sans-serif;
  --font-serif: Arial, Helvetica, sans-serif;
}
body { background: var(--background); color: var(--foreground); }
.container { max-width: 1280px; }
.site-header,
.department-rail,
.hero {
  width: 100%;
  max-width: 100%;
}
.header-inner,
.department-rail-inner,
.hero-content {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
}
.hero-content { max-width: 1280px; }
.hero-grid,
.hero-left,
.hero-right,
.hero-card,
.hero-card-media {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

@media (min-width: 1024px) and (max-width: 1120px) {
  .header-inner { display: block !important; }
  .masthead-row { width: 100%; justify-content: space-between !important; }
  .desktop-nav { display: none !important; }
  .menu-button { display: inline-flex !important; }
}
.site-header,
.dark .site-header { color: #17324d; background: #fff; border-bottom: 3px solid #2d6286; }
.header-inner { display: grid; grid-template-columns: 250px 1fr; max-width: 1280px; gap: 26px; }
.masthead-row { height: 92px; }
.brand-logo,
.footer-brand .brand-logo { width: 230px; height: 70px; }
.desktop-nav { min-height: 92px; justify-content: flex-end; }
.desktop-nav a { height: auto; padding: 10px 9px; border-radius: 0; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.desktop-nav a:hover,
.desktop-nav a[aria-current="page"] { color: #fff; background: var(--primary); box-shadow: none; }
.department-rail { color: #fff; background: var(--primary); border: 0; }
.department-label { color: #fff; font-weight: 900; }
.department-links a { color: #fff; font-family: Arial, sans-serif; font-weight: 700; }

.hero { color: #17324d; background: #eef6fb; border-bottom: 3px solid #2d6286; }
.hero-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 0; min-height: 610px; }
.hero-left { grid-column: 1; order: 0; align-self: stretch; }
.hero-right { grid-column: 2; order: 0; padding: clamp(42px, 6vw, 90px); border-left: 3px solid #2d6286; align-self: stretch; justify-content: center; }
.hero-card { position: relative; min-height: 610px; height: 100%; border-radius: 0; box-shadow: none; }
.hero-card-media { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; }
.hero-card-media img { filter: saturate(.88) contrast(1.04); }
.hero-eyebrow span { color: var(--primary); }
.hero-editorial-title { color: #17324d; font-family: Arial, sans-serif; font-size: clamp(46px, 5vw, 78px); font-weight: 900; line-height: .9; letter-spacing: -.06em; text-transform: uppercase; }
.hero-excerpt { color: #40596b; max-width: 760px; font-size: 17px; }
.hero-meta { color: #617787; }
.hero-cta { color: #fff; background: var(--primary); border-radius: 0; box-shadow: none; text-transform: uppercase; }
.hero-cta:hover { background: var(--accent); }

.section-pad { padding-top: 84px; padding-bottom: 84px; }
.section-alt,
.dark .section-alt { background: #e3eff6; }
.section-heading { display: grid; grid-template-columns: 180px 1fr; align-items: end; border-bottom: 6px solid #2d6286; padding-bottom: 15px; }
.section-heading .eyebrow { color: var(--primary); font-weight: 900; }
.section-heading h2 { font-family: Arial, sans-serif; font-size: clamp(38px, 5vw, 66px); font-weight: 900; letter-spacing: -.05em; text-transform: uppercase; }
.editors-grid { grid-template-columns: 2fr 1fr; gap: 0; border: 3px solid #2d6286; }
.editors-main { border-right: 3px solid #2d6286; }
.editors-main-card { border: 0; border-radius: 0; }
.editors-main-media { aspect-ratio: 16 / 10; }
.editors-main-body { background: #fff; border-top: 3px solid #2d6286; }
.editors-main-title { font-family: Arial, sans-serif; font-weight: 900; }
.editors-side { gap: 0; }
.mini-card { padding: 18px; border-bottom: 3px solid #2d6286; }
.mini-card:last-child { border-bottom: 0; }
.mini-thumb { border-radius: 0; filter: saturate(.88); }
.card-grid { gap: 0; border-left: 3px solid #2d6286; border-top: 3px solid #2d6286; }
.article-card-inner,
.simple-card { border: 0; border-right: 3px solid #2d6286; border-bottom: 3px solid #2d6286; border-radius: 0; box-shadow: none; background: #fff; }
.card-image-wrap,
.simple-card-media { filter: saturate(.88); }
.article-card:hover .article-card-inner,
.simple-card:hover { color: #fff; background: var(--primary); box-shadow: none; }
.article-card:hover .card-excerpt,
.article-card:hover .card-meta { color: #fff; }
.card-body h3,
.simple-card-body h3 { color: var(--foreground); font-family: Arial, sans-serif; font-weight: 900; line-height: 1.05; }
.article-card:hover .card-body h3,
.article-card:hover .card-excerpt,
.article-card:hover .card-meta,
.article-card:hover .card-meta svg,
.simple-card:hover .simple-card-body h3,
.simple-card:hover .mini-meta,
.simple-card:hover .mini-meta svg {
  color: #ffffff !important;
}

.category-banner { color: #fff; background: var(--primary); border-bottom: 3px solid #2d6286; }
.category-editorial-copy h1 { color: #fff; font-family: Arial, sans-serif; font-weight: 900; text-transform: uppercase; }
.category-editorial-copy > p:last-child,
.category-banner .breadcrumbs { color: #fff; }
.category-edition { border-color: #fff; }
.featured-card { border: 3px solid #2d6286; border-radius: 0; box-shadow: 12px 12px 0 #b8d5e6; }
.featured-media { filter: saturate(.88); }
.featured-body h2 { font-family: Arial, sans-serif; font-weight: 900; }

.article-hero { color: #17324d; background: #eef6fb; border-bottom: 3px solid #2d6286; }
.article-hero-shell { max-width: 1280px; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); gap: 0; border-left: 3px solid #2d6286; border-right: 3px solid #2d6286; }
.article-hero-content { padding: 48px; }
.article-hero-content h1 { color: #17324d; font-family: Arial, sans-serif; font-weight: 900; font-size: clamp(44px, 5.8vw, 76px); line-height: .92; letter-spacing: -.055em; text-transform: uppercase; }
.article-lead { color: #40596b; }
.article-meta,
.article-hero .breadcrumbs { color: #5a7181; }
.article-hero-media { height: 100%; aspect-ratio: auto; border-left: 3px solid #2d6286; border-radius: 0; box-shadow: none; filter: saturate(.88); }
.article-body-wrap { max-width: none; padding: 82px 20px; background: #fff; }
.article-reading { max-width: 760px; margin: 0 auto; color: #17324d; }
.article-opening-rule { color: var(--primary); }
.prose h1, .prose h2, .prose h3, .prose h4, .prose strong { color: #17324d; font-family: Arial, sans-serif; font-weight: 900; }
.prose p,
.prose li { color: #2d4052; font-size: 18px; line-height: 1.82; }
.prose a { color: #1e609d; }
.prose blockquote { color: #29485d; background: #eaf4f8; border-left-color: var(--accent); }
.disclaimer { color: #314a5c; background: #edf5f9; border: 2px solid #2d6286; border-radius: 0; }
.site-footer { color: #fff; background: #17324d; border-top: 10px solid #e2b94e; }
.footer-brand .brand-logo { padding: 6px 12px; background: #fff; }
.footer-title { color: #fff; }

@media (max-width: 1023px) {
  .site-header,
  .department-rail,
  .hero,
  .header-inner,
  .department-rail-inner,
  .hero-content {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .header-inner { padding-right: clamp(16px, 4vw, 24px); padding-left: clamp(16px, 4vw, 24px); }
  .masthead-row { width: 100%; min-width: 0; justify-content: space-between; }
  .desktop-nav { display: none !important; }
  .menu-button { display: inline-flex !important; }
  .hero-grid { width: 100%; min-width: 0; max-width: 100%; grid-template-columns: minmax(0, 1fr) !important; }
  .hero-left,
  .hero-right,
  .hero-card,
  .hero-card-media {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  .hero-left,
  .hero-right { grid-column: 1 !important; }
  .hero-editorial-title,
  .hero-excerpt { max-width: 100%; overflow-wrap: anywhere; }
  .department-links { min-width: 0; max-width: 100%; }
  .header-inner { display: block; }
  .masthead-row { height: 74px; }
  .hero-grid { grid-template-columns: 1fr; min-height: 0; }
  .hero-left, .hero-right { grid-column: 1; }
  .hero-card { min-height: 0; }
  .hero-card { aspect-ratio: 16 / 9; }
  .hero-card-media { aspect-ratio: 16 / 9; }
  .hero-right { border-left: 0; border-top: 3px solid #2d6286; padding: 48px 26px; }
  .editors-grid { grid-template-columns: 1fr; }
  .editors-main { border-right: 0; border-bottom: 3px solid #2d6286; }
  .article-hero-shell { grid-template-columns: 1fr; }
  .article-hero-media { min-height: 360px; border-left: 0; border-top: 3px solid #2d6286; }
}
@media (max-width: 639px) {
  .brand-logo { width: 190px; height: 58px; }
  .department-links { grid-template-columns: 1fr 1fr; }
  .hero-editorial-title { font-size: 40px; }
  .section-heading { display: block; }
  .section-heading h2 { font-size: 36px; }
  .article-hero-shell { border-left: 0; border-right: 0; }
  .article-hero-content { padding: 34px 18px; }
  .article-hero-content h1 { font-size: 38px; overflow-wrap: anywhere; }
  .article-body-wrap { padding: 50px 18px 64px; }
  .prose p, .prose li { color: #294052; font-size: 16.5px; line-height: 1.8; overflow-wrap: anywhere; }
}
