/* Editorial landing-page mosaic.
 * Preserve the original top hero and footer behavior, but break the lower
 * launcher out of repeated two-column rows. Desktop uses one asymmetric
 * composition with intentional gaps; tablet/mobile fall back to simple flow.
 */

.landing-bands { border-top: 0; }
.home-band, .home-band + .home-band { border: 0; }
.home-band .tool-card { min-width: 0; min-height: 0; height: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 17px 22px; border: 1px solid var(--line); background: rgba(19, 45, 70, 0.22); }
.home-band .tool-card > div:not(.card-number) { min-width: 0; }
.home-band .card-number { color: var(--maize); }
.home-band .eyebrow { color: var(--blue-muted); }
.home-band .tool-card h2 { margin: 5px 0 7px; color: var(--navy-900); }
.home-band .tool-card p, .home-band .countdown-note { margin: 0; color: #607387; }
.home-band .tool-card > a { align-self: center; justify-self: end; padding-bottom: 3px; border-bottom: 1px solid var(--navy-900); color: var(--navy-900); font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.inline-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 8px; }
.inline-actions a { padding-bottom: 3px; border-bottom: 1px solid var(--navy-900); color: var(--navy-900); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.private-home .countdown { margin: 0 0 4px; }
.private-home .countdown-note { display: block; margin-top: 5px; }

@media (min-width: 1041px) {
  .landing-workspace-page { height: 100vh; min-height: 0; overflow: hidden; }
  .landing-workspace-page .page-shell { height: 100vh; min-height: 0; overflow: hidden; padding-bottom: 38px; }
  .landing-workspace-page .hero { flex: 0 0 auto; padding-top: 22px; padding-bottom: 22px; }
  .landing-workspace-page .hero h1 { margin-top: 10px; margin-bottom: 12px; font-size: 54px; }
  .landing-workspace-page .intro { font-size: 15px; line-height: 1.48; }
  .landing-workspace-page .statements blockquote { margin-bottom: 18px; font-size: 26px; }
  .landing-workspace-page .declaration { padding: 20px 22px; }
  .landing-workspace-page .declaration strong { font-size: 27px; }
  .landing-bands { flex: 0 0 auto; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(8, 38px); column-gap: 8px; row-gap: 7px; padding: 10px 28px 8px 0; }
  .home-band { display: contents; }
  .home-band:nth-child(1) .tool-card:nth-child(1) { grid-column: 1 / 8; grid-row: 1 / 4; }
  .home-band:nth-child(1) .tool-card:nth-child(2) { grid-column: 9 / 13; grid-row: 1 / 3; }
  .home-band:nth-child(2) .tool-card:nth-child(1) { grid-column: 2 / 7; grid-row: 4 / 6; }
  .home-band:nth-child(2) .tool-card:nth-child(2) { grid-column: 7 / 13; grid-row: 3 / 6; }
  .home-band:nth-child(3) .tool-card:nth-child(1) { grid-column: 1 / 9; grid-row: 6 / 9; }
  .home-band:nth-child(3) .tool-card:nth-child(2) { grid-column: 10 / 13; grid-row: 6 / 8; }
  .home-band .card-number { font-size: 40px; }
  .home-band .eyebrow { font-size: 9px; }
  .home-band h2 { font-size: 24px; }
  .home-band p { font-size: 12.5px; line-height: 1.38; }
  .home-band .tool-card > a { font-size: 10px; }
  .home-band .countdown { font-size: 22px; }
  .landing-workspace-page footer { position: fixed; z-index: 4; inset: auto 0 0 278px; width: calc(100vw - 278px); max-width: none; box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; margin: 0; padding: 9px 28px; background: var(--paper); }
  .landing-workspace-page footer span:first-child { justify-self: start; margin: 0; text-align: left; }
  .landing-workspace-page footer span:last-child { justify-self: end; margin: 0; text-align: right; }
}

@media (max-width: 1180px) and (min-width: 1041px) {
  .landing-workspace-page .hero { padding-top: 18px; padding-bottom: 18px; }
  .landing-workspace-page .hero h1 { font-size: 48px; }
  .landing-workspace-page .declaration strong { font-size: 24px; }
  .landing-bands { grid-template-rows: repeat(8, 34px); }
  .home-band .tool-card { padding: 14px 17px; gap: 14px; }
  .home-band .card-number { font-size: 36px; }
  .home-band h2 { font-size: 21px; }
  .home-band p { font-size: 11.5px; }
}

@media (max-width: 1040px) {
  .landing-workspace-page, .landing-workspace-page .page-shell { height: auto; overflow: visible; }
  .landing-bands { display: block; padding: 0; }
  .home-band, .home-band + .home-band { display: grid; grid-template-columns: 1fr 1fr; }
  .home-band .tool-card { height: auto; min-height: 150px; border-top: 1px solid var(--line); border-right: 0; border-bottom: 1px solid var(--line); border-left: 0; }
  .home-band .tool-card + .tool-card { border-left: 1px solid var(--line); }
  .landing-workspace-page footer { position: static; margin-top: auto; }
}

@media (max-width: 720px) {
  .home-band, .home-band + .home-band { grid-template-columns: 1fr; }
  .home-band .tool-card { grid-template-columns: auto 1fr; min-height: 145px; padding: 20px 22px; }
  .home-band .tool-card + .tool-card { border-left: 0; border-top: 0; }
  .home-band .tool-card > a { grid-column: 2; justify-self: start; }
}

/* Public landing prototype: preserve the hero, replace the lower mosaic with
 * contained clickable cards. Row 1 is wide/narrow/narrow; rows 2 and 3 are
 * balanced wide/wide. This is intentionally scoped to public only so the
 * private landing page remains unchanged until this treatment is approved. */
.public-home-page .public-card-field {
  display: grid;
  gap: 14px;
  padding: 16px 20px 54px;
}

.public-home-page .public-card-row {
  display: grid;
  gap: 14px;
}

/* Card 01 now matches the left-column width of cards 04 and 06 exactly.
 * Cards 02 and 03 evenly split the remaining half of the row. */
.public-home-page .public-card-row--top {
  grid-template-columns: 2fr 1fr 1fr;
}

.public-home-page .public-card-row--double {
  grid-template-columns: 1fr 1fr;
}

.public-home-page .public-card {
  min-width: 0;
  min-height: 118px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 18px 20px;
  border: 1px solid rgba(210, 173, 82, 0.2);
  border-radius: 12px;
  background: rgba(19, 45, 70, 0.76);
  color: #fff;
  text-decoration: none;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.public-home-page a.public-card:hover,
.public-home-page a.public-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(210, 173, 82, 0.55);
  background: rgba(19, 45, 70, 0.92);
  outline: none;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.16);
}

/* Card 01 uses the same standard treatment as cards 04, 05 and 06. */
.public-home-page .public-card--feature {
  background: rgba(19, 45, 70, 0.76);
  box-shadow: none;
}

.public-home-page .public-card-number {
  color: var(--maize);
  font-family: var(--serif);
  font-size: 34px;
  font-style: italic;
  line-height: 1;
}

.public-home-page .public-card-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.public-home-page .public-card .eyebrow {
  color: var(--maize-pale);
  opacity: .72;
  font-size: 9px;
}

.public-home-page .public-card h2 {
  margin: 5px 0 6px;
  color: #fff;
  font-size: clamp(20px, 1.45vw, 25px);
  line-height: 1.08;
}

.public-home-page .public-card p {
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 12px;
  line-height: 1.4;
}

.public-home-page .public-card-action {
  margin-top: auto;
  padding-top: 10px;
  color: var(--maize-pale);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.public-home-page .public-card--about {
  grid-template-columns: 1fr;
  background: rgba(11, 32, 51, 0.55);
}

@media (min-width: 1041px) {
  .public-home-page .landing-bands { display: none; }
  .public-home-page .public-card-field { flex: 0 0 auto; }
  .public-home-page .public-card-row--top .public-card { min-height: 128px; }
  .public-home-page .public-card-row--double .public-card { min-height: 112px; }
}

@media (max-width: 1040px) {
  .public-home-page .public-card-row--top,
  .public-home-page .public-card-row--double { grid-template-columns: 1fr 1fr; }
  .public-home-page .public-card-row--top .public-card:first-child { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .public-home-page .public-card-field { padding: 12px 16px 24px; }
  .public-home-page .public-card-row--top,
  .public-home-page .public-card-row--double { grid-template-columns: 1fr; }
  .public-home-page .public-card-row--top .public-card:first-child { grid-column: auto; }
  .public-home-page .public-card { min-height: 0; }
}
