
/* LINKA Site Core v0.1 — Grid & Spacing foundation */
:root {
  --core-container-main: 1280px;
  --core-container-wide: 1440px;
  --core-container-text: 800px;
  --core-gutter: clamp(20px, 4vw, 64px);
  --core-section-space: clamp(56px, 7vw, 112px);
  --core-body: clamp(16px, 1.1vw, 18px);
  --core-h3: clamp(22px, 2vw, 30px);
  --core-h2: clamp(32px, 4vw, 52px);
  --core-h1: clamp(44px, 5.5vw, 72px);
  --core-space-1: 8px;
  --core-space-2: 16px;
  --core-space-3: 24px;
  --core-space-4: 32px;
  --core-space-5: 48px;
  --core-space-6: 64px;
  --core-space-7: 80px;
  --core-space-8: 96px;
  --core-space-9: 120px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; overflow-x: hidden; }
img, video, svg { max-width: 100%; }
a { -webkit-tap-highlight-color: transparent; }

.core-container { width: min(var(--core-container-main), calc(100% - (var(--core-gutter) * 2))); margin-inline: auto; }
.core-container--wide { width: min(var(--core-container-wide), calc(100% - (var(--core-gutter) * 2))); margin-inline: auto; }
.core-container--text { width: min(var(--core-container-text), calc(100% - (var(--core-gutter) * 2))); margin-inline: auto; }
.core-section { padding-block: var(--core-section-space); }

/* Normalize LINKA shells to the reusable Site Core grid. */
.lk-site-header__inner,
.lk-site-footer__shell,
.lk-hero-landing__shell,
.lk-problem-section__shell,
.lk-process-section__shell {
  width: min(var(--core-container-wide), calc(100% - (var(--core-gutter) * 2))) !important;
}
.lk-projects-landing__shell,
.lk-projects-archive__shell,
.lk-project-single__shell {
  width: min(var(--core-container-main), calc(100% - (var(--core-gutter) * 2))) !important;
}
.lk-project-single__content { width: min(100%, var(--core-container-text)) !important; }

/* Notebooks with limited vertical space: avoid oversized first screens. */
@media (min-width: 1024px) and (max-height: 800px) {
  .lk-hero-landing { min-height: auto !important; }
  /* Nunca agregamos margen artificial sobre el hero en notebooks bajas. */
  .lk-hero-landing__shell { padding-top: 0 !important; padding-bottom: 0 !important; }
  .lk-hero-landing__body { padding-top: 26px !important; padding-bottom: 36px !important; }
  .lk-problem-section { min-height: auto !important; }
}

@media (max-width: 1023px) {
  :root { --core-gutter: clamp(24px, 4.5vw, 40px); --core-section-space: clamp(56px, 7vw, 80px); }
}
@media (max-width: 767px) {
  :root { --core-gutter: 20px; --core-section-space: clamp(48px, 12vw, 64px); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
