/* ============================================================
   Kneuralabs — Layout scaffolding
   ============================================================ */

/* Eyebrow / kicker */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink-2);
}
.eyebrow .tick { width: 18px; height: 1px; background: var(--ink); }

/* Section rhythm */
.section {
  padding-top: 96px;
  padding-bottom: 96px;
  border-bottom: 1px solid var(--rule);
}
.section-head {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 48px;
  margin-bottom: 48px;
}
.section-head h2 {
  font-family: var(--serif);
  font-weight: 380;
  font-size: clamp(32px, 4.2vw, 56px);
  letter-spacing: -.02em;
  line-height: 1.05;
  margin-top: 18px;
}
.section-head p {
  font-size: 16px;
  color: var(--ink-2);
  max-width: 58ch;
  line-height: 1.6;
}

/* Sub-page hero (Services / Approach / Insights / general inner pages) */
.svc-hero {
  padding-top: 96px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--rule);
}
.svc-hero h1 {
  font-family: var(--serif);
  font-weight: 380;
  font-size: clamp(40px, 6vw, 84px);
  letter-spacing: -.025em;
  margin: 18px 0 0;
  line-height: 1;
  text-wrap: balance;
}
.svc-hero h1 em { font-style: italic; color: var(--accent); }
.svc-hero .lede {
  max-width: 60ch;
  color: var(--ink-2);
  font-size: 17px;
  line-height: 1.55;
  margin-top: 24px;
}

@media (max-width: 820px) {
  .section { padding-top: 64px; padding-bottom: 64px; }
  .section-head { grid-template-columns: 1fr; gap: 14px; margin-bottom: 36px; }
  .svc-hero { padding-top: 64px; padding-bottom: 40px; }
}
@media (max-width: 600px) {
  .section { padding-top: 52px; padding-bottom: 52px; }
}

/* ── Responsive polish ──────────────────────────────────────
   Tablet, large-desktop, small-phone and landscape refinement
   so every device / orientation reads cleanly.
   ─────────────────────────────────────────────────────────── */

/* Roomier gutters and a wider measure on large desktops */
@media (min-width: 1600px) {
  .frame { max-width: 1560px; padding-left: 56px; padding-right: 56px; }
}

/* Tablet portrait — keep headings from crowding the gutter */
@media (min-width: 821px) and (max-width: 1080px) {
  .section-head { gap: 36px; }
}

/* Small phones — tighter rhythm, no clipped headlines */
@media (max-width: 380px) {
  .frame { padding-left: 20px; padding-right: 20px; }
  .section { padding-top: 44px; padding-bottom: 44px; }
  .svc-hero { padding-top: 52px; padding-bottom: 34px; }
}

/* Directional reveals translate vertically on narrow screens
   so nothing slides in from off-canvas on a phone. */
@media (max-width: 720px) {
  .sr-left, .sr-right { transform: translate3d(0, 20px, 0); }
}

/* Landscape phones / short viewports — reclaim vertical space.
   Also keeps content clear of the Dynamic Island / rounded corners
   on iPhone Pro models, where landscape width exceeds the portrait
   mobile breakpoint and would otherwise lose the safe-area gutters. */
@media (orientation: landscape) and (max-height: 560px) {
  .hero { padding-top: 40px; padding-bottom: 32px; }
  .svc-hero { padding-top: 44px; padding-bottom: 32px; }
  .section { padding-top: 44px; padding-bottom: 44px; }
  .cta-strip { padding-top: 48px; padding-bottom: 48px; }
  .marks { margin-top: 28px; }
  /* Marks: reset right-float on landscape phones so the row wraps cleanly */
  .marks span[style] { margin-left: 0 !important; }
  .mobile-menu { padding-top: 64px; gap: 0; }
  .mobile-menu a { padding: 9px 0; font-size: 19px; }
  .frame {
    padding-left: max(28px, env(safe-area-inset-left, 0px));
    padding-right: max(28px, env(safe-area-inset-right, 0px));
  }
  footer.footer { padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px)); }
}

/* ── Tablet with hamburger nav (821px – 1080px)
   Step section spacing down from the full desktop value (96px) so pages
   breathe on tablets without wasting as much vertical real-estate.       ── */
@media (min-width: 821px) and (max-width: 1080px) {
  .section,
  .approach    { padding-top: 80px; padding-bottom: 80px; }
  .svc-row     { padding-top: 80px; padding-bottom: 80px; }
  .svc-hero    { padding-top: 80px; padding-bottom: 48px; }
  .cta-strip   { padding-top: 80px; padding-bottom: 80px; }
}
