/* Desktop-only enhancements. Original mobile styles, artwork and content stay intact. */
@media screen and (min-width: 1024px) {
  html { scroll-padding-top: 24px; }
  body[data-desktop-page] { width: 100%; max-width: none; margin: 0; padding-bottom: 0; }
  body[data-desktop-page] [id] { scroll-margin-top: 24px; }
  body[data-desktop-page] a:focus-visible,
  body[data-desktop-page] summary:focus-visible {
    outline: 3px solid #2476fd;
    outline-offset: 4px;
  }

  /* Navigation stays in normal document flow, without a screen-covering menu. */
  body[data-desktop-page] .topbar,
  body[data-desktop-page] .site-directory,
  body[data-desktop-page] .directory-nav {
    position: static;
    top: auto;
    z-index: auto;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  body[data-desktop-page] .topbar {
    min-height: 72px;
    padding: 12px 18px;
    border: 1px solid #d5e7fc;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 24px #2476fd0d;
  }
  body[data-desktop-page] .topbar :is(.brand, .page-brand) {
    position: static;
    flex: 1;
    max-width: none;
    transform: none;
    text-align: center;
    font-size: 19px;
  }
  body[data-desktop-page] .desktop-page-navigation {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 12px 0 0;
    padding: 8px;
    border: 1px solid #d5e7fc;
    border-radius: 16px;
    background: #ffffffd9;
  }
  body[data-desktop-page] .desktop-page-navigation a {
    flex: 1 0 auto;
    padding: 11px 14px;
    border-radius: 11px;
    color: #526a83;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
  }
  body[data-desktop-page] .desktop-page-navigation a:hover {
    color: #2476fd;
    background: #eff8ff;
  }
  body[data-desktop-page] .desktop-page-navigation a.active {
    color: #fff;
    background: linear-gradient(135deg, #2ccfed, #2476fd);
  }
  body[data-desktop-page] .bottom-nav {
    position: static;
    inset: auto;
    transform: none;
    width: min(1208px, calc(100% - 72px));
    max-width: none;
    margin: 28px auto;
    min-height: 72px;
    height: auto;
    border-radius: 18px;
    box-shadow: 0 8px 24px #2476fd0d;
  }
  body[data-desktop-page] .bottom-nav a { font-size: 14px; }
  body[data-desktop-page] .page > .bottom-nav { width: 100%; margin-bottom: 0; }

  /* Compact data tables; multi-line cells and rowspans retain natural height. */
  body[data-desktop-page] table { font-size: 1rem; line-height: 1.5; }
  body[data-desktop-page] table :is(th, td) { height: auto; padding: 8px 12px; font-size: 1rem; line-height: 1.5; }
  body[data-desktop-page] table thead th { padding-block: 10px; line-height: 1.4; }
  body[data-desktop-page] table caption { margin-bottom: 8px; line-height: 1.5; }
  body[data-desktop-page] :is(.table-wrap, .table-scroll, .faq-table-wrap) { margin-top: 12px; margin-bottom: 8px; }
  body[data-desktop-page] .card:has(table),
  body[data-desktop-page] .deposit-card:has(table) { padding: 22px 26px; }
  body[data-desktop-page] .card > table,
  body[data-desktop-page] .deposit-table { margin-top: 12px; margin-bottom: 12px; }

  /* Activity directories: retain one horizontal illustrated card per row. */
  body[data-desktop-page] .desktop-extra-link { display: inline-flex !important; }
  body[data-desktop-page="activities"] .page,
  body[data-desktop-page="onboarding"] .page,
  body[data-desktop-page="deposit"] .page {
    width: min(1280px, 100%);
    margin: auto;
    padding: 24px 36px 40px;
  }
  body[data-desktop-page="activities"] .hero { padding: 40px 4px 28px; }
  body[data-desktop-page="activities"] .hero h1 { font-size: 42px; }
  body[data-desktop-page="activities"] .hero p { margin-top: 12px; font-size: 17px; }
  body[data-desktop-page="activities"] .tabs {
    position: static;
    top: auto;
    margin: 0 0 24px;
    padding: 8px;
    gap: 8px;
  }
  body[data-desktop-page="activities"] .tab { min-height: 48px; font-size: 15px; }
  body[data-desktop-page="activities"] .activity-list { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  body[data-desktop-page="activities"] .activity-card {
    grid-template-columns: minmax(0, 1fr) 200px;
    align-items: center;
    gap: 48px;
    min-height: 240px;
    padding: 28px 48px;
  }
  body[data-desktop-page="activities"] .activity-card h2 { font-size: 29px; line-height: 1.4; }
  body[data-desktop-page="activities"] .activity-card p { font-size: 17px; }
  body[data-desktop-page="activities"] .art { justify-self: center; }
  body[data-desktop-page="activities"] .empty-note { padding: 24px; font-size: 15px; }

  /* Activity details keep their original banners and a single reading column. */
  body[data-desktop-page="detail"] > .topbar,
  body[data-desktop-page="detail"] > .desktop-page-navigation {
    width: min(1208px, calc(100% - 72px));
    margin-right: auto;
    margin-left: auto;
  }
  body[data-desktop-page="detail"] > .topbar { margin-top: 24px; }
  body[data-desktop-page="detail"] main {
    width: min(1120px, calc(100% - 72px));
    max-width: none;
    margin: auto;
    padding: 32px 0 4px;
    gap: 24px;
  }
  body[data-desktop-page="detail"] .shell,
  body[data-desktop-page="deposit"] .deposit-content { width: 100%; max-width: 1120px; margin: auto; gap: 24px; }
  body[data-desktop-page="detail"] :is(.heading, .intro) { padding: 12px 4px 16px; }
  body[data-desktop-page="detail"] h1,
  body[data-desktop-page="deposit"] .deposit-heading h1 { font-size: 42px; line-height: 1.3; }
  body[data-desktop-page="detail"] .card,
  body[data-desktop-page="deposit"] .deposit-card { padding: 30px 32px; border-radius: 24px; }
  body[data-desktop-page="detail"] h2,
  body[data-desktop-page="deposit"] .deposit-card h2 { font-size: 27px; }
  body[data-desktop-page="detail"] h3,
  body[data-desktop-page="deposit"] .deposit-card h3 { font-size: 19px; }
  body[data-desktop-page="detail"] :is(p, li),
  body[data-desktop-page="deposit"] .deposit-card :is(p, li) { font-size: 17px; line-height: 1.85; }
  body[data-desktop-page="detail"] .stat { padding: 23px 18px; }
  body[data-desktop-page="detail"] .stat strong { font-size: 28px; }
  body[data-desktop-page="detail"] .stat span { font-size: 15px; }
  body[data-desktop-page="detail"] .periods { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body[data-desktop-page="detail"] .hero-top { grid-template-columns: minmax(0, 1fr) 240px; gap: 32px; }
  body[data-desktop-page="deposit"] .deposit-heading { margin: 36px auto 24px; }

  /* Registration: original nine logos, now in a desktop-width horizontal row. */
  body[data-desktop-page="onboarding"] .topbar { flex-wrap: wrap; gap: 12px; }
  body[data-desktop-page="onboarding"] .topbar .brand { flex-basis: 100%; white-space: normal; }
  body[data-desktop-page="onboarding"] .desktop-directory { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; }
  body[data-desktop-page="onboarding"] .desktop-directory a { padding: 10px 13px; font-size: 14px; }
  body[data-desktop-page="onboarding"] :is(.mobile-home, .mobile-directory) { display: none; }
  body[data-desktop-page="onboarding"] :is(.platform-head, .section-head, .sticky-section-title) {
    position: static;
    top: auto;
    backdrop-filter: none;
    box-shadow: none;
  }
  body[data-desktop-page="onboarding"] .platforms { padding-top: 32px; }
  body[data-desktop-page="onboarding"] .platform-head { padding: 20px; }
  body[data-desktop-page="onboarding"] .platform-head h1 { font-size: 42px; }
  body[data-desktop-page="onboarding"] .platform-head p { font-size: 18px; }
  body[data-desktop-page="onboarding"] .platform-list { width: 100%; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 12px; }
  body[data-desktop-page="onboarding"] .platform-card { padding: 6px; border-radius: 18px; }
  body[data-desktop-page="onboarding"] .brand-logo { padding: 5px; border-radius: 13px; }
  body[data-desktop-page="onboarding"] .unified-register-btn { height: 64px; font-size: 22px; border-radius: 18px; }
  body[data-desktop-page="onboarding"] .hero h1 { font-size: 42px; }
  body[data-desktop-page="onboarding"] .hero p { font-size: 20px; }
  body[data-desktop-page="onboarding"] .content h3 { font-size: 25px; }
  body[data-desktop-page="onboarding"] .content p,
  body[data-desktop-page="onboarding"] .campaign :is(p, li),
  body[data-desktop-page="onboarding"] .campaign-rules-section li { font-size: 17px; line-height: 1.85; }
  body[data-desktop-page="onboarding"] .campaign-table { margin: 12px 0 16px; font-size: 1rem; }
  body[data-desktop-page="onboarding"] .campaign-table caption { font-size: 16px; }
  body[data-desktop-page="onboarding"] .campaign-table td:nth-child(2) { font-size: 1.25rem; line-height: 1.4; }
  body[data-desktop-page="onboarding"] .campaign h2 { font-size: 30px; }

  /* Rules and FAQ: wider reading area and no stacked sticky section headings. */
  body[data-desktop-page="rules"] .site-directory-inner { width: min(1280px, 100%); padding: 16px 36px; }
  body[data-desktop-page="rules"] .desktop-site-links { flex-wrap: wrap; justify-content: flex-end; }
  body[data-desktop-page="rules"] .hero { padding: 46px 36px 32px; }
  body[data-desktop-page="rules"] .hero-inner { width: min(1120px, 100%); }
  body[data-desktop-page="rules"] .hero h1 { max-width: none; font-size: 48px; }
  body[data-desktop-page="rules"] .hero p { max-width: 820px; font-size: 17px; }
  body[data-desktop-page="rules"] .badge { padding: 7px 13px; font-size: 13px; }
  body[data-desktop-page="rules"] main { width: min(1120px, calc(100% - 72px)); padding: 0 0 40px; }
  body[data-desktop-page="rules"] :is(.quick-nav, .rule-group > h2) { position: static; top: auto; backdrop-filter: none; }
  body[data-desktop-page="rules"] .qa-heading { position: relative; top: auto; backdrop-filter: none; }
  body[data-desktop-page="rules"] .quick-nav { margin: 0 0 28px; padding: 10px; gap: 12px; }
  body[data-desktop-page="rules"] .quick-nav a { flex: 1; padding: 12px 16px; font-size: 15px; }
  body[data-desktop-page="rules"] .rule-group { gap: 20px; margin-bottom: 36px; }
  body[data-desktop-page="rules"] .rule-group > h2 { padding: 12px 18px; border-radius: 14px; font-size: 17px; }
  body[data-desktop-page="rules"] .card { padding: 28px 32px; }
  body[data-desktop-page="rules"] .card h3 { font-size: 24px; }
  body[data-desktop-page="rules"] .card h4 { font-size: 18px; }
  body[data-desktop-page="rules"] .card :is(p, li),
  body[data-desktop-page="rules"] .qa-answer :is(p, li) { font-size: 17px; line-height: 1.9; }
  body[data-desktop-page="rules"] .qa-heading { padding: 26px 32px; }
  body[data-desktop-page="rules"] .qa-heading h2 { max-width: none; font-size: 30px; }
  body[data-desktop-page="rules"] .qa-heading p { font-size: 16px; }
  body[data-desktop-page="rules"] .qa-list { gap: 14px; }
  body[data-desktop-page="rules"] .qa-list summary { min-height: 76px; padding: 18px 60px 18px 24px; font-size: 18px; }
  body[data-desktop-page="rules"] .qa-answer { padding: 4px 28px 24px; }

  /* Recruitment: existing content, calculator and original artwork remain. */
  body[data-desktop-page="recruitment"] .directory-nav {
    padding: 14px max(36px, calc((100% - 1208px) / 2)) !important;
  }
  body[data-desktop-page="recruitment"] .desktop-site-links { flex-wrap: wrap; }
  body[data-desktop-page="recruitment"] .directory-scrim { display: none !important; }
  body[data-desktop-page="recruitment"] .hero { min-height: 0; padding: 48px 36px 40px; }
  body[data-desktop-page="recruitment"] .hero-content { max-width: 1120px; }
  body[data-desktop-page="recruitment"] .hero h1 { font-size: 96px; }
  body[data-desktop-page="recruitment"] .intro { max-width: 960px; font-size: 18px; }
  body[data-desktop-page="recruitment"] .page { width: min(1120px, calc(100% - 72px)); margin: 30px auto 0; padding-bottom: 32px; }
  body[data-desktop-page="recruitment"] :is(.data-card, .info-card, .calculator) { margin-bottom: 28px; padding: 30px 32px; }
  body[data-desktop-page="recruitment"] :is(.data-card > h2, .calculator-heading, .faq-heading, .info-card h2) {
    position: static;
    top: auto;
    margin: 0 0 22px;
    transform: none;
    backdrop-filter: none;
  }
  body[data-desktop-page="recruitment"] .data-card > h2 { width: max-content; max-width: 100%; }
  body[data-desktop-page="recruitment"] .data-card { margin-bottom: 20px; padding: 22px 26px; }
  body[data-desktop-page="recruitment"] .data-card > h2 { margin-bottom: 14px; }
  body[data-desktop-page="recruitment"] .data-card > h2 span { border-radius: 14px; padding: 8px 20px; }
  body[data-desktop-page="recruitment"] .recruitment-consult { margin-bottom: 28px; }
}
