/* ========================================================================== 
   NASHORN shared responsive content foundation
   Content primitives only. Values mirror the approved Homepage responsive
   grammar; the shared shell and Homepage keep their isolated ownership.
   ========================================================================== */

.site-responsive-content {
  --site-eyebrow-gap: 14px;
  --site-eyebrow-mark-width: 1.5px;
  --site-eyebrow-mark-height: 13px;
  --site-reading-copy-width: 62ch;
}

/* Desktop Master semantic tokens. Normal desktop receives variables only. */
@media (min-width: 1200px),
       (min-width: 768px) and (max-width: 1199.98px) and (orientation: landscape) and (min-height: 601px),
       (min-width: 1024px) and (max-width: 1199.98px) and (orientation: portrait) {
  .site-responsive-content {
    --site-content-edge: min(var(--gutter), 40px);
    --site-section-space: var(--space-section);
    --site-section-space-compact: var(--space-section-sm);
    --site-eyebrow-size: var(--fs-eyebrow);
    --site-eyebrow-line-height: 1.4;
    --site-eyebrow-letter-spacing: var(--tracking-eyebrow);
    --site-eyebrow-mark-offset: 0px;
    --site-page-eyebrow-gap: 18px;
    --site-title-size: var(--fs-h1);
    --site-title-line-height: var(--lh-tight);
    --site-title-letter-spacing: var(--display-tracking, -0.034em);
    --site-title-copy-gap: 22px;
    --site-section-title-size: var(--fs-h2);
    --site-section-title-line-height: 1.06;
    --site-section-title-letter-spacing: -0.032em;
    --site-lead-size: var(--fs-lead);
    --site-lead-line-height: 1.6;
    --site-body-size: var(--fs-body);
    --site-body-line-height: 1.52;
    --site-meta-size: 0.6875rem;
    --site-meta-line-height: 1.35;
    --site-meta-letter-spacing: 0.14em;
    --site-action-size: var(--fs-xs);
    --site-action-line-height: 1.2;
    --site-action-letter-spacing: var(--tracking-label);
    --site-action-gap: 14px;
    --site-action-icon-size: 19px;
    --site-button-min-height: 52px;
    --site-card-title-size: clamp(1.02rem, 0.92rem + 0.22vw, 1.15rem);
    --site-card-title-line-height: 1.25;
    --site-card-title-letter-spacing: -0.018em;
    --site-card-title-weight: 600;
    --site-card-feature-title-size: clamp(1.5rem, 1.15rem + 0.85vw, 2rem);
    --site-card-feature-title-line-height: 1.14;
    --site-card-feature-title-letter-spacing: -0.024em;
    --site-card-feature-title-weight: 500;
    --site-card-copy-size: 0.8125rem;
    --site-card-copy-line-height: 1.45;
    --site-card-feature-copy-size: 0.9375rem;
    --site-card-feature-copy-line-height: 1.5;
    --site-card-copy-action-gap: 22px;
    --site-card-padding: 24px 30px 26px;
    --site-card-gap: clamp(14px, 1.05vw, 20px);
    --site-touch-target: 44px;
    --site-reading-line-height: 1.72;
    --site-reading-section-gap: clamp(34px, 4vw, 48px);
    --site-reading-copy-gap: 12px;
  }
}

/* Compact Desktop Master uses the Homepage tablet gutter and Hero scale. */
@media (min-width: 768px) and (max-width: 1199.98px) and (orientation: landscape) and (min-height: 601px),
       (min-width: 1024px) and (max-width: 1199.98px) and (orientation: portrait) {
  .site-responsive-content {
    --site-content-edge: 40px;
    --site-title-size: clamp(3rem, 5.5vw, 4rem);
    --site-title-line-height: 1.05;
    --site-section-title-size: clamp(2.375rem, 1.55rem + 1.55vw, 3.25rem);
  }
}

/* Mobile Master tokens: the approved Homepage Touch Master values. */
@media (max-width: 767.98px),
       (min-width: 768px) and (max-width: 1023.98px) and (orientation: portrait),
       (min-width: 768px) and (max-width: 1199.98px) and (orientation: landscape) and (max-height: 600px) {
  .site-responsive-content {
    --site-content-edge: 22px;
    --site-section-space: 60px;
    --site-section-space-compact: 52px;
    --site-eyebrow-size: 0.76rem;
    --site-eyebrow-line-height: 1.35;
    --site-eyebrow-letter-spacing: 0.13em;
    --site-eyebrow-mark-offset: 3px;
    --site-page-eyebrow-gap: 16px;
    --site-title-size: clamp(2.25rem, 9.7vw, 2.55rem);
    --site-title-line-height: 0.98;
    --site-title-letter-spacing: -0.052em;
    --site-title-copy-gap: 18px;
    --site-section-title-size: clamp(2rem, 8.6vw, 2.55rem);
    --site-section-title-line-height: 1.04;
    --site-section-title-letter-spacing: -0.042em;
    --site-lead-size: 0.94rem;
    --site-lead-line-height: 1.48;
    --site-body-size: 1rem;
    --site-body-line-height: 1.52;
    --site-meta-size: var(--fs-xs);
    --site-meta-line-height: 1.35;
    --site-meta-letter-spacing: 0.13em;
    --site-action-size: var(--fs-xs);
    --site-action-line-height: 1.2;
    --site-action-letter-spacing: var(--tracking-label);
    --site-action-gap: 14px;
    --site-action-icon-size: 19px;
    --site-button-min-height: 52px;
    --site-card-title-size: 1.25rem;
    --site-card-title-line-height: 1.2;
    --site-card-title-letter-spacing: -0.015em;
    --site-card-title-weight: 500;
    --site-card-feature-title-size: 1.25rem;
    --site-card-feature-title-line-height: 1.2;
    --site-card-feature-title-letter-spacing: -0.015em;
    --site-card-feature-title-weight: 500;
    --site-card-copy-size: var(--fs-small);
    --site-card-copy-line-height: 1.58;
    --site-card-feature-copy-size: var(--fs-small);
    --site-card-feature-copy-line-height: 1.58;
    --site-card-copy-action-gap: 22px;
    --site-card-padding: 24px 30px 26px;
    --site-card-compact-padding: 24px 30px 26px;
    --site-card-gap: 16px;
    --site-touch-target: 44px;
    --site-reading-line-height: 1.65;
    --site-reading-section-gap: 36px;
    --site-reading-copy-gap: 12px;
  }
}

/* Small Tablet Portrait scales the Touch Master exactly like Homepage. */
@media (min-width: 768px) and (max-width: 1023.98px) and (orientation: portrait) {
  .site-responsive-content {
    --site-content-edge: clamp(32px, 4vw, 42px);
    --site-section-space: clamp(82px, 10vw, 116px);
    --site-eyebrow-size: clamp(0.94rem, 1.9vw, 1.08rem);
    --site-title-size: clamp(3.2rem, 7vw, 4.3rem);
    --site-section-title-size: clamp(2.35rem, 5.5vw, 3.1rem);
    --site-lead-size: clamp(1.18rem, 2.15vw, 1.32rem);
    --site-lead-line-height: 1.52;
    --site-body-size: clamp(1.18rem, 2.15vw, 1.32rem);
    --site-action-emphasis-size: clamp(1rem, 1.9vw, 1.15rem);
    --site-card-title-size: clamp(1.08rem, 2.1vw, 1.24rem);
    --site-card-compact-padding: 18px 20px 20px;
    --site-card-gap: 18px;
    --site-touch-target: 50px;
    --site-reading-section-gap: 44px;
  }
}

/* Low-height landscape keeps the approved compact Homepage scale. */
@media (max-width: 1199.98px) and (orientation: landscape) and (max-height: 600px) {
  .site-responsive-content {
    --site-content-edge: 22px;
    --site-section-space: 60px;
    --site-section-space-compact: 52px;
    --site-page-eyebrow-gap: 10px;
    --site-title-size: clamp(1.85rem, 4vw, 2.4rem);
    --site-title-line-height: 1;
    --site-title-copy-gap: 12px;
    --site-lead-size: clamp(0.78rem, 1.5vw, 0.92rem);
    --site-lead-line-height: 1.42;
    --site-card-gap: clamp(10px, 1.5vw, 16px);
    --site-button-min-height: 48px;
    --site-reading-section-gap: 28px;
  }
}

/* Shared primitives apply only below normal desktop, preserving locked desktop. */
@media (min-width: 768px) and (max-width: 1199.98px) and (orientation: landscape) and (min-height: 601px),
       (min-width: 1024px) and (max-width: 1199.98px) and (orientation: portrait),
       (max-width: 767.98px),
       (min-width: 768px) and (max-width: 1023.98px) and (orientation: portrait),
       (min-width: 768px) and (max-width: 1199.98px) and (orientation: landscape) and (max-height: 600px) {
  .site-responsive-content .site-responsive-container {
    width: min(var(--container-wide), calc(100% - (2 * var(--site-content-edge))));
    margin-inline: auto;
  }

  .site-responsive-content .site-responsive-eyebrow {
    gap: var(--site-eyebrow-gap);
    margin-bottom: var(--site-page-eyebrow-gap);
    font-size: var(--site-eyebrow-size);
    line-height: var(--site-eyebrow-line-height);
    letter-spacing: var(--site-eyebrow-letter-spacing);
  }

  .site-responsive-content .site-responsive-eyebrow::before {
    width: var(--site-eyebrow-mark-width);
    height: var(--site-eyebrow-mark-height);
    margin-left: var(--site-eyebrow-mark-offset);
  }

  .site-responsive-content .site-responsive-title {
    font-size: var(--site-title-size);
    line-height: var(--site-title-line-height);
    letter-spacing: var(--site-title-letter-spacing);
  }

  .site-responsive-content .site-responsive-copy {
    font-size: var(--site-lead-size);
    line-height: var(--site-lead-line-height);
  }

  .site-responsive-content .site-responsive-reading {
    font-size: var(--site-body-size);
    line-height: var(--site-reading-line-height);
  }

  .site-responsive-content .site-responsive-reading__lead {
    font-size: var(--site-lead-size);
    line-height: var(--site-lead-line-height);
  }

  .site-responsive-content .site-responsive-reading h2 {
    margin: var(--site-reading-section-gap) 0 var(--site-reading-copy-gap);
    font-size: var(--site-card-feature-title-size);
    font-weight: var(--site-card-feature-title-weight);
    line-height: var(--site-card-feature-title-line-height);
    letter-spacing: var(--site-card-feature-title-letter-spacing);
  }

  .site-responsive-content .site-responsive-reading p,
  .site-responsive-content .site-responsive-reading li {
    max-width: var(--site-reading-copy-width);
    font-size: inherit;
    line-height: inherit;
  }

  .site-responsive-content .site-responsive-reading ul,
  .site-responsive-content .site-responsive-reading ol {
    padding-inline-start: 1.25em;
  }

  .site-responsive-content .site-responsive-reading table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}
